From 9d1d434cd07d8a0372b113c2c0efacd2eb6e258a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 13 Dec 2012 23:38:32 +0100 Subject: build-system/gnu: Avoid using /bin/sh. * guix/build/gnu-build-system.scm (configure): Add `inputs' keyword parameter. Take Bash from there, falling back to /bin/sh. Set `CONFIG_SHELL' and `SHELL' to that Bash. Run "bash ./configure" instead of just "./configure". * distro/packages/bootstrap.scm (%bootstrap-inputs): Add "bash". * distro/packages/base.scm (gcc-boot0-wrapped): Use "bash" from %BOOT1-INPUTS instead of /bin/sh. --- distro/packages/base.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'distro/packages/base.scm') diff --git a/distro/packages/base.scm b/distro/packages/base.scm index ea6297107f..30bd804b56 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -774,6 +774,7 @@ identifier SYSTEM." (let* ((binutils (assoc-ref %build-inputs "binutils")) (gcc (assoc-ref %build-inputs "gcc")) (libc (assoc-ref %build-inputs "libc")) + (bash (assoc-ref %build-inputs "bash")) (out (assoc-ref %outputs "out")) (bindir (string-append out "/bin")) (triplet ,(boot-triplet system))) @@ -790,8 +791,9 @@ identifier SYSTEM." ;; the dynamic linker. (call-with-output-file "gcc" (lambda (p) - (format p "#!/bin/sh + (format p "#!~a/bin/bash exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" + bash gcc triplet libc libc ,(glibc-dynamic-linker system)))) @@ -800,7 +802,8 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (native-inputs `(("binutils" ,binutils-boot0) ("gcc" ,gcc-boot0) - ("libc" ,glibc-final))) + ("libc" ,glibc-final) + ("bash" ,(assoc-ref %boot1-inputs "bash")))) (inputs '()))) (define %boot2-inputs -- cgit v1.2.3