aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/make-bootstrap.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/make-bootstrap.scm')
-rw-r--r--gnu/packages/make-bootstrap.scm35
1 files changed, 23 insertions, 12 deletions
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index e56ac937cb..e779376df9 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -198,6 +198,18 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(("/bin/sh") "sh")
(("execv ") "execvp "))
#t)))))))
+ ;; We don't want to retain a reference to /gnu/store in the bootstrap
+ ;; versions of egrep/fgrep, so we remove the custom phase added since
+ ;; grep@2.25. The effect is 'egrep' and 'fgrep' look for 'grep' in
+ ;; $PATH.
+ (grep (package
+ (inherit grep)
+ (inputs '()) ;remove PCRE, which is optional
+ (arguments
+ (substitute-keyword-arguments (package-arguments grep)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (delete 'fix-egrep-and-fgrep)))))))
(finalize (compose static-package
package-with-relocatable-glibc)))
`(,@(map (match-lambda
@@ -210,17 +222,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
("patch" ,patch)
("coreutils" ,coreutils)
("sed" ,sed)
- ;; We don't want to retain a reference to /gnu/store in the
- ;; bootstrap versions of egrep/fgrep, so we remove the custom
- ;; phase added since grep@2.25. The effect is 'egrep' and
- ;; 'fgrep' look for 'grep' in $PATH.
- ("grep" ,(package
- (inherit grep)
- (arguments
- (substitute-keyword-arguments (package-arguments grep)
- ((#:phases phases)
- `(modify-phases ,phases
- (delete 'fix-egrep-and-fgrep)))))))
+ ("grep" ,grep)
("gawk" ,gawk)))
("bash" ,static-bash))))
@@ -531,6 +533,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"
@@ -556,7 +565,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))