* gnu/packages/gnuzilla.scm (icecat)[arguments]: New ‘neutralise-store-references’ phase. Co-authored-by: Tobias Geerinckx-Rice --- 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 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 ;;; Copyright © 2017 Clément Lassieur ;;; Copyright © 2017 ng0 -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Ivan Petkov ;;; Copyright © 2020 Oleg Pykhalov +;;; Copyright © 2020 Jakub Kądziołka ;;; ;;; 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) + "" + (string-drop hash 8)))) + #t)) (add-before 'configure 'install-desktop-entry (lambda* (#:key outputs #:allow-other-keys) ;; Install the '.desktop' file. -- 2.25.0