GNU bug report logs -
#39146
[PATCH] gnu: icecat: Remove compiler paths from about:buildconfig
Previous Next
Reported by: Jakub Kądziołka <kuba <at> kadziolka.net>
Date: Wed, 15 Jan 2020 22:22:01 UTC
Severity: normal
Tags: patch
Done: Jakub Kądziołka <kuba <at> kadziolka.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39146 in the body.
You can then email your comments to 39146 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 15 Jan 2020 22:22:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jakub Kądziołka <kuba <at> kadziolka.net>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Wed, 15 Jan 2020 22:22:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnuzilla.scm
(icecat)[arguments](dont-store-compiler-paths): New phase.
---
gnu/packages/gnuzilla.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index c619cd5d55..ae155e51ba 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -890,6 +890,16 @@ from forcing GEXP-PROMISE."
(substitute* '("browser/confvars.sh")
(("MOZ_SERVICES_SYNC=0") "MOZ_SERVICES_SYNC=1"))
#t))
+ (add-after 'unpack 'dont-store-compiler-paths
+ (lambda _
+ ;; Remove references to the compilers used from the output. Reduces
+ ;; `guix size icecat' by 1 GiB on x86-64.
+ (let ((zap "Store reference removed"))
+ (substitute* "toolkit/content/buildconfig.html"
+ (("@CC@") zap)
+ (("@CXX@") zap)
+ (("@RUSTC@") zap)
+ (("@MOZ_CONFIGURE_OPTIONS@") zap)))))
(add-after 'unpack 'apply-guix-specific-patches
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((patch (string-append (assoc-ref (or native-inputs inputs)
--
2.24.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Tue, 21 Jan 2020 17:38:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 39146 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnuzilla.scm
(icecat)[arguments](dont-store-compiler-paths): New phase.
---
gnu/packages/gnuzilla.scm | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ae0c58eedb..d32333ca96 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -906,6 +907,16 @@ from forcing GEXP-PROMISE."
"-p1" "--input" file))))
(or native-inputs inputs)))
#t))
+ (add-after 'unpack 'dont-store-compiler-paths
+ (lambda _
+ ;; Remove references to the compilers used from the output. Reduces
+ ;; `guix size icecat' by 1 GiB on x86-64.
+ (let ((zap "Store reference removed"))
+ (substitute* "toolkit/content/buildconfig.html"
+ (("@CC@") zap)
+ (("@CXX@") zap)
+ (("@RUSTC@") zap)
+ (("@MOZ_CONFIGURE_OPTIONS@") zap)))))
(add-after 'apply-guix-specific-patches 'remove-bundled-libraries
(lambda _
;; Remove bundled libraries that we don't use, since they may
--
2.25.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Tue, 21 Jan 2020 17:53:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 39146 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Mark,
since we have to touch Rust anyway, the icecat patch from Jakub below could also
go to guix staging.
Is the patch OK? Should we do it?
[Message part 2 (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Tue, 21 Jan 2020 18:07:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 39146 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Jakub,
Jakub Kądziołka 写道:
> + (add-after 'unpack 'dont-store-compiler-paths
> + (lambda _
> + ;; Remove references to the compilers used from
> the output. Reduces
> + ;; `guix size icecat' by 1 GiB on x86-64.
> + (let ((zap "Store reference removed"))
> + (substitute* "toolkit/content/buildconfig.html"
> + (("@CC@") zap)
> + (("@CXX@") zap)
> + (("@RUSTC@") zap)
> + (("@MOZ_CONFIGURE_OPTIONS@") zap)))))
Thanks! This is a fine fix, but I wonder if you know where/how
this file is processed by the build system? I think scanning for
and neutralising any store reference in the final HTML would be
less error-prone.
Thoughts?
Kind regards,
T G-R
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 01:35:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 39146 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnuzilla.scm (icecat)[arguments]:
New ‘neutralise-store-references’ phase.
Reported-by: Jakub Kądziołka <kuba <at> kadziolka.net>
---
Jakub, IceCats,
What do you think of this attempt at robustness? Any drawbacks I've missed?
Kind regards,
T G-R
gnu/packages/gnuzilla.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ae0c58eedb..d4a793971c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -11,6 +11,7 @@
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1067,6 +1068,15 @@ from forcing GEXP-PROMISE."
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
+ (add-after 'build 'neutralise-store-references
+ (lambda _
+ ;; Mangle the store references to compilers & other build tools in
+ ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
+ (substitute*
+ "dist/bin/chrome/toolkit/content/global/buildconfig.html"
+ (("(/gnu/store/)([0-9a-z]{32})" all store hash)
+ (string-append store (string-take hash 8) "…")))
+ #t))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
--
2.23.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 14:40:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 39146 <at> debbugs.gnu.org (full text, mbox):
On Wed, Jan 22, 2020 at 03:19:06PM +0100, Tobias Geerinckx-Rice wrote:
> Jakub,
>
> Did you mean to send this off-list? Either's fine by me.
Whoops, not at all. I need to configure mutt to default to
reply-to-all... adding the list back into CC.
> Jakub Kądziołka 写道:
> > Firstly, note that /gnu/store/ is not guaranteed to be the store path,
> > since this parameter can be changed by passing --with-store-dir to
> > ./configure.
>
> Er, whoops, of course. I was going to replace that after testing. By the
> time they'd finished I'd forgot.
>
> > I assume you tested this patch? When I tried to do my substitutions
> > after the expansion is done, but before the files are packaged into
> > a zip-like file, I couldn't find a good place to hook in the build.
>
> Indeed. The result is stored in lib/icecat/omni.ja, which is an
> uncompressed (so GC works) zip file.
>
> > Also, there's already some code to help with removing references in
> > guix/build/utils.scm (remove-store-references), but the result you get
> > with what you're proposing seems much more user-friendly.
>
> Heh, thank you! That's intentional. :-)
>
> Remove-store-references' length-preservation is great in some cases
> (compiled executables, binary data, weird code, …) but this wasn't a good
> fit.
>
> Thanks for taking a look; I'll test & send a (%store-directory) fix. Thanks
> for your enthousiastic contributions to Guix in general.
A short while after switching to Guix, I read this on Reddit:
| If you're looking to just use one of these distros without actively
| contributing back, I'd go with NixOS right now. If you're an enthusiast
| that wants to contribute to one of these two projects, GuixSD needs more
| help to reach critical mass.
( -- https://www.reddit.com/r/NixOS/comments/9zwiee/nixos_vs_guixsd/eb6zqcu/)
This, together with the fact that Guix is quite easy to hack on, has
inspired me to contribute.
> > Looks like you haven't updated your git in a while ;)
>
> Nope, just other people's.
>
> My Guix sqlite DB was corrupted beyond repair in December, I've been limping
> along using ‘guix pack’s from my build farm ever since, because it was never
> the ‘right time’ to reinstall…
>
> I blame Guix for making that even possible and relatively painless.
>
> Kind regards,
>
> T G-R
>
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 20:14:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 39146 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnuzilla.scm (icecat)[arguments]:
New ‘neutralise-store-references’ phase.
Reported-by: Jakub Kądziołka <kuba <at> kadziolka.net>
---
So,
Here's a version that correctly calls %store-directory. Tested again, output looks the same.
Jakub: I accidentally kept your copyright line in v1, but didn't actually use your code (although part of your comment survives :-). Is the Reported-by above acceptable?
Kind regards,
T G-R
gnu/packages/gnuzilla.scm | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ae0c58eedb..96c3c78e98 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
;;; Copyright © 2017 ng0 <ng0 <at> n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
@@ -1067,6 +1067,15 @@ from forcing GEXP-PROMISE."
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
+ (add-after 'build 'neutralise-store-references
+ (lambda _
+ ;; Mangle the store references to compilers & other build tools in
+ ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
+ (substitute*
+ "dist/bin/chrome/toolkit/content/global/buildconfig.html"
+ (((format #f "(~a/)([0-9a-z]{32})" (%store-directory)) _ store hash)
+ (string-append store (string-take hash 8) "…")))
+ #t))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
--
2.23.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 20:29:02 GMT)
Full text and
rfc822 format available.
Message #26 received at 39146 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Tobias Geerinckx-Rice via Guix-patches via <guix-patches <at> gnu.org>
writes:
> * gnu/packages/gnuzilla.scm (icecat)[arguments]:
> New ‘neutralise-store-references’ phase.
[...]
> + (add-after 'build 'neutralise-store-references
> + (lambda _
> + ;; Mangle the store references to compilers & other build tools in
> + ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
> + (substitute*
> + "dist/bin/chrome/toolkit/content/global/buildconfig.html"
> + (((format #f "(~a/)([0-9a-z]{32})" (%store-directory)) _ store hash)
> + (string-append store (string-take hash 8) "…")))
> + #t))
Is it possible to use 'remove-store-references' here?
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 20:51:01 GMT)
Full text and
rfc822 format available.
Message #29 received at 39146 <at> debbugs.gnu.org (full text, mbox):
On Wed, Jan 22, 2020 at 09:13:13PM +0100, Tobias Geerinckx-Rice wrote:
> Jakub: I accidentally kept your copyright line in v1, but didn't actually use your code (although part of your comment survives :-). Is the Reported-by above acceptable?
I feel like Co-authored-by might fit better, but either is fine by me.
> + ;; Mangle the store references to compilers & other build tools in
> + ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
Minor² nit: I feel like this wording suggests this only matters on x64.
How about: reducing IceCat's closure by 1 GiB (measured on x86-64).
> + (substitute*
> + "dist/bin/chrome/toolkit/content/global/buildconfig.html"
> + (((format #f "(~a/)([0-9a-z]{32})" (%store-directory)) _ store hash)
> + (string-append store (string-take hash 8) "…")))
> + #t))
I don't know whether this is a supported use case, but... what if
(%store-directory) contains regex metacharacters?
Marius Bakke wrote:
> Is it possible to use 'remove-store-references' here?
For later reference, resolved on IRC:
http://logs.guix.gnu.org/guix/2020-01-22.log#213448
Regards,
Jakub Kądziołka
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 22 Jan 2020 21:26:01 GMT)
Full text and
rfc822 format available.
Message #32 received at 39146 <at> debbugs.gnu.org (full text, mbox):
Hi Danny,
Thanks for checking in with me on this.
> since we have to touch Rust anyway, the icecat patch from Jakub below could also
> go to guix staging.
>
> Is the patch OK? Should we do it?
Instead of removing the build configuration information entirely, how
about transforming the store paths in some way that makes them invisible
to the reference scanner without losing information? For example,
inserting a period (.) somewhere within the store hash would be
sufficient and fairly obvious.
What do you think?
Also, the new phase should end with #t.
Thanks,
Mark
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Thu, 23 Jan 2020 08:38:02 GMT)
Full text and
rfc822 format available.
Message #35 received at 39146 <at> debbugs.gnu.org (full text, mbox):
On Wed, Jan 22, 2020 at 04:23:31PM -0500, Mark H Weaver wrote:
> Hi Danny,
>
> Thanks for checking in with me on this.
>
> > since we have to touch Rust anyway, the icecat patch from Jakub below could also
> > go to guix staging.
> >
> > Is the patch OK? Should we do it?
>
> Instead of removing the build configuration information entirely, how
> about transforming the store paths in some way that makes them invisible
> to the reference scanner without losing information? For example,
> inserting a period (.) somewhere within the store hash would be
> sufficient and fairly obvious.
>
> What do you think?
It wasn't clear to me how to transform the paths after they get
substituted, but nckx has suggested a better approach:
https://debbugs.gnu.org/39146
Regards,
Jakub Kądziołka
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Fri, 24 Jan 2020 02:56:01 GMT)
Full text and
rfc822 format available.
Message #38 received at 39146 <at> debbugs.gnu.org (full text, mbox):
I like the approach of Tobias' proposed patch, but to avoid losing
information (most of the hash), how about changing:
(string-append store (string-take hash 8) "…")
to something like:
(string-append store (string-take hash 2) "." (string-drop hash 2))
What do you think? Anyway, I don't feel strongly about it, and I
acknowledge that neither approach is perfect.
Regards,
Mark
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Mon, 10 Feb 2020 18:39:01 GMT)
Full text and
rfc822 format available.
Message #41 received at 39146 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Thu, Jan 23, 2020 at 09:53:48PM -0500, Mark H Weaver wrote:
> I like the approach of Tobias' proposed patch, but to avoid losing
> information (most of the hash), how about changing:
>
> (string-append store (string-take hash 8) "…")
>
> to something like:
>
> (string-append store (string-take hash 2) "." (string-drop hash 2))
>
> What do you think? Anyway, I don't feel strongly about it, and I
> acknowledge that neither approach is perfect.
I feel like the unicode character "…" makes it much more clear that the
path has been modified, but it's a moot point considering that if
someone might get confused by this, they probably won't be able to make
use of the hash.
However, now that I come back to this after some time, I realize that
there is another solution:
(string-append store (string-take hash 8) "<span></span>"
(string-drop hash 8))
This would neuter the reference without having any user-visible impact on
about:buildconfig. What do you think?
Kind regards,
Jakub Kądziołka
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Mon, 10 Feb 2020 20:26:02 GMT)
Full text and
rfc822 format available.
Message #44 received at 39146 <at> debbugs.gnu.org (full text, mbox):
Hi Jakub,
Jakub Kądziołka <kuba <at> kadziolka.net> wrote:
> However, now that I come back to this after some time, I realize that
> there is another solution:
>
> (string-append store (string-take hash 8) "<span></span>"
> (string-drop hash 8))
>
> This would neuter the reference without having any user-visible impact on
> about:buildconfig. What do you think?
Great idea, I think this is the right approach. Would you like to
propose a patch and test it?
Thank you!
Mark
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Mon, 10 Feb 2020 21:50:02 GMT)
Full text and
rfc822 format available.
Message #47 received at 39146 <at> debbugs.gnu.org (full text, mbox):
Jakub, all,
On Mon, Feb 10, 2020 at 7:38 PM, Jakub =?UTF-8?b?S8SFZHppb8WCa2E=?=
<kuba <at> kadziolka.net> wrote:
> On Thu, Jan 23, 2020 at 09:53:48PM -0500, Mark H Weaver wrote:
>> I like the approach of Tobias' proposed patch, but to avoid losing
>> information (most of the hash), how about changing:
>>
>> (string-append store (string-take hash 8) "…")
>>
>> to something like:
>>
>> (string-append store (string-take hash 2) "." (string-drop hash
>> 2))
>>
>> What do you think? Anyway, I don't feel strongly about it, and I
>> acknowledge that neither approach is perfect.
> I feel like the unicode character "…" makes it much more clear that
> the
> path has been modified, but it's a moot point considering that if
> someone might get confused by this, they probably won't be able to
> make
> use of the hash.
>
> However, now that I come back to this after some time, I realize that
> there is another solution:
>
> (string-append store (string-take hash 8) "<span></span>"
> (string-drop hash 8))
>
> This would neuter the reference without having any user-visible
> impact on
> about:buildconfig. What do you think?
The truncation of these very long paths was fully intended as a
feature, but if people do think they're actually useful I think this is
a clever hack worthy of Guix :-)
Have you tested whether copying & pasting still works fine with this?
Kind regards,
T G-R, adrift without mu4e
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 12 Feb 2020 19:45:02 GMT)
Full text and
rfc822 format available.
Message #50 received at 39146 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
* gnu/packages/gnuzilla.scm (icecat)[arguments]:
New ‘neutralise-store-references’ phase.
Co-authored-by: Tobias Geerinckx-Rice <me <at> tobias.gr>
---
On Mon, Feb 10, 2020 at 10:49:31PM +0100, Tobias Geerinckx-Rice wrote:
> The truncation of these very long paths was fully intended as a feature, but
> if people do think they're actually useful I think this is a clever hack
> worthy of Guix :-)
>
> Have you tested whether copying & pasting still works fine with this?
At the time it was just a rough idea, but here's a patch. After waiting
a while for IceCat to compile, I tested this and it's working
flawlessly. Selection and copy-paste are unhindered.
In the end, I decided to use a comment instead of an empty span, since
it'll be less mysterious should someone stumble upon it. It's also more
greppable.
(to be clear, I only tested the comment version, so perhaps the <span>
one wouldn't have even worked. Not that it matters...)
BTW, do you happen to know a good way to send a patch as a reply? I
ended up using `neomutt -H' and then specifying all the CC's manually...
gnu/packages/gnuzilla.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ae0c58eedb..114e5e636c 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -7,10 +7,11 @@
;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
;;; Copyright © 2017 ng0 <ng0 <at> n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1067,6 +1068,17 @@ from forcing GEXP-PROMISE."
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
+ (add-after 'build 'neutralise-store-references
+ (lambda _
+ ;; Mangle the store references to compilers & other build tools in
+ ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
+ (substitute*
+ "dist/bin/chrome/toolkit/content/global/buildconfig.html"
+ (((format #f "(~a/)([0-9a-z]{32})" (%store-directory)) _ store hash)
+ (string-append store (string-take hash 8)
+ "<!-- Guix: not a runtime dependency -->"
+ (string-drop hash 8))))
+ #t))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
--
2.25.0
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Wed, 12 Feb 2020 20:10:02 GMT)
Full text and
rfc822 format available.
Message #53 received at 39146 <at> debbugs.gnu.org (full text, mbox):
Jakub Kądziołka <kuba <at> kadziolka.net> writes:
> BTW, do you happen to know a good way to send a patch as a reply? I
> ended up using `neomutt -H' and then specifying all the CC's manually...
One option is to reply to the message as you normally would and then
insert the patch under scissors. Here's an example using your patch.
I've kept the "From:" line, but that's not necessary if the sender of
the email matches the patch author.
On the other end, that can be applied with `git am --scissors'.
-- >8 --
From: =?UTF-8?q?Jakub=20K=C4=85dzio=C5=82ka?= <kuba <at> kadziolka.net>
Subject: [PATCH v3] gnu: icecat: Remove about:buildconfig store references.
* gnu/packages/gnuzilla.scm (icecat)[arguments]:
New ‘neutralise-store-references’ phase.
Co-authored-by: Tobias Geerinckx-Rice <me <at> tobias.gr>
---
gnu/packages/gnuzilla.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 863edb3b4e..7d5020f7c2 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -7,10 +7,11 @@
;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
;;; Copyright © 2017 ng0 <ng0 <at> n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1067,6 +1068,17 @@ (define-public icecat
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
+ (add-after 'build 'neutralise-store-references
+ (lambda _
+ ;; Mangle the store references to compilers & other build tools in
+ ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
+ (substitute*
+ "dist/bin/chrome/toolkit/content/global/buildconfig.html"
+ (((format #f "(~a/)([0-9a-z]{32})" (%store-directory)) _ store hash)
+ (string-append store (string-take hash 8)
+ "<!-- Guix: not a runtime dependency -->"
+ (string-drop hash 8))))
+ #t))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
--
2.25.0
Information forwarded
to
guix-patches <at> gnu.org
:
bug#39146
; Package
guix-patches
.
(Thu, 13 Feb 2020 22:03:02 GMT)
Full text and
rfc822 format available.
Message #56 received at 39146 <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/gnuzilla.scm (icecat)[arguments]:
New ‘neutralise-store-references’ phase.
Co-authored-by: Tobias Geerinckx-Rice <me <at> tobias.gr>
---
Changes from the previous version:
- use regexp-quote around %store-directory, since today's IRC discussion
has made me aware that this exists as a built-in
- reflow some lines
gnu/packages/gnuzilla.scm | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index ae0c58eedb..fe6664e909 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -7,10 +7,11 @@
;;; Copyright © 2016 Alex Griffin <a <at> ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement <at> lassieur.org>
;;; Copyright © 2017 ng0 <ng0 <at> n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me <at> tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
;;; Copyright © 2019 Ivan Petkov <ivanppetkov <at> gmail.com>
;;; Copyright © 2020 Oleg Pykhalov <go.wigust <at> gmail.com>
+;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -882,6 +883,7 @@ from forcing GEXP-PROMISE."
#:modules ((ice-9 ftw)
(ice-9 rdelim)
+ (ice-9 regex)
(ice-9 match)
(srfi srfi-34)
(srfi srfi-35)
@@ -1067,6 +1069,20 @@ from forcing GEXP-PROMISE."
(force-output)
(retry (- remaining-attempts 1))))
(apply build args)))))))
+ (add-after 'build 'neutralise-store-references
+ (lambda _
+ ;; Mangle the store references to compilers & other build tools in
+ ;; about:buildconfig, reducing IceCat's closure by 1 GiB on x86-64.
+ (substitute*
+ "dist/bin/chrome/toolkit/content/global/buildconfig.html"
+ (((format #f "(~a/)([0-9a-df-np-sv-z]{32})"
+ (regexp-quote (%store-directory)))
+ _ store hash)
+ (string-append store
+ (string-take hash 8)
+ "<!-- Guix: not a runtime dependency -->"
+ (string-drop hash 8))))
+ #t))
(add-before 'configure 'install-desktop-entry
(lambda* (#:key outputs #:allow-other-keys)
;; Install the '.desktop' file.
--
2.25.0
Reply sent
to
Jakub Kądziołka <kuba <at> kadziolka.net>
:
You have taken responsibility.
(Wed, 26 Feb 2020 21:34:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Jakub Kądziołka <kuba <at> kadziolka.net>
:
bug acknowledged by developer.
(Wed, 26 Feb 2020 21:34:02 GMT)
Full text and
rfc822 format available.
Message #61 received at 39146-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Pushed as 37db2370db884ceac3bc97123aaaed84377398eb, closing.
Regards,
Jakub Kądziołka
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Thu, 26 Mar 2020 11:24:06 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 278 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.