From 63e48300d19b848dfe75880581338c2c73b7b0df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 28 Feb 2018 16:43:59 +0100 Subject: gnu: guile-static-stripped: Remove dependency on bash-minimal. Previously guile-static-stripped, which is embedded in the initrd, would depend on 'bash-minimal' and 'glibc'; the closure size was 77 MiB. Now the closure size is down to 45.7 MiB. Reported by Danny Milosavljevic in . * gnu/packages/make-bootstrap.scm (%guile-static): Remove the 'pre-configure' phase. (%guile-static-stripped)[arguments]: Add #:allowed-references. --- gnu/packages/make-bootstrap.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index f1c4bf7bc5..779b7ef5aa 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -532,6 +532,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ''("LDFLAGS=-ldl")) ((#:phases phases '%standard-phases) `(modify-phases ,phases + + ;; Do not record the absolute file name of 'sh' in + ;; (ice-9 popen). This makes 'open-pipe' unusable in + ;; a build chroot ('open-pipe*' is fine) but avoids + ;; keeping a reference to Bash. + (delete 'pre-configure) + (add-before 'configure 'static-guile (lambda _ (substitute* "libguile/Makefile.in" @@ -557,7 +564,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (name "guile-static-stripped") (build-system trivial-build-system) (arguments - `(#:modules ((guix build utils)) + ;; The end result should depend on nothing but itself. + `(#:allowed-references ("out") + #:modules ((guix build utils)) #:builder (let () (use-modules (guix build utils)) -- cgit v1.2.3