diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-12-19 23:49:31 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-12-20 01:38:54 +0100 |
commit | dfb53ee2324689f5f7843b87c7dfd6cdd4eb49bc (patch) | |
tree | b8e3d265271208799379fb60241470ec25575631 | |
parent | ea8fbbf2f2d8beccad1c7a98077c0a31fb40e578 (diff) | |
download | guix-dfb53ee2324689f5f7843b87c7dfd6cdd4eb49bc.tar guix-dfb53ee2324689f5f7843b87c7dfd6cdd4eb49bc.tar.gz |
distro: ld-wrapper: Use the current Bash instead of /bin/sh.
* distro/packages/ld-wrapper.scm: Use @BASH@ in shebang. Change module
name to (gnu build-support ld-wrapper).
* distro/packages/base.scm (ld-wrapper-boot3): Substitute @BASH@.
(ld-wrapper): Use BASH-FINAL.
-rw-r--r-- | distro/packages/base.scm | 14 | ||||
-rw-r--r-- | distro/packages/ld-wrapper.scm | 6 |
2 files changed, 13 insertions, 7 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm index 4bd8070827..5e7380581d 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -872,9 +872,10 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (source #f) (build-system trivial-build-system) (inputs `(("binutils" ,binutils-final) - ("guile" ,%bootstrap-guile) - ("wrapper" ,(search-path %load-path - "distro/packages/ld-wrapper.scm")))) + ("guile" ,%bootstrap-guile) + ("bash" ,@(assoc-ref %boot2-inputs "bash")) + ("wrapper" ,(search-path %load-path + "distro/packages/ld-wrapper.scm")))) (arguments `(#:guile ,%bootstrap-guile #:modules ((guix build utils)) @@ -898,6 +899,9 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" (("@GUILE@") (string-append (assoc-ref %build-inputs "guile") "/bin/guile")) + (("@BASH@") + (string-append (assoc-ref %build-inputs "bash") + "/bin/bash")) (("@LD@") (string-append (assoc-ref %build-inputs "binutils") "/bin/ld"))) @@ -946,7 +950,9 @@ store.") (package (inherit ld-wrapper-boot3) (name "ld-wrapper") (inputs `(("guile" ,guile-final) - ,@(alist-delete "guile" (package-inputs ld-wrapper-boot3)))))) + ("bash" ,bash-final) + ,@(fold alist-delete (package-inputs ld-wrapper-boot3) + '("guile" "bash")))))) (define-public %final-inputs ;; Final derivations used as implicit inputs by `gnu-build-system'. diff --git a/distro/packages/ld-wrapper.scm b/distro/packages/ld-wrapper.scm index 9b8a09f067..5c98375814 100644 --- a/distro/packages/ld-wrapper.scm +++ b/distro/packages/ld-wrapper.scm @@ -1,4 +1,4 @@ -#!/bin/sh +#!@BASH@ # -*- mode: scheme; coding: utf-8; -*- # XXX: We have to go through Bash because there's no command-line switch to @@ -7,7 +7,7 @@ # Use `load-compiled' because `load' (and `-l') doesn't otherwise load our # .go file (see <http://bugs.gnu.org/12519>). -main="(@ (distro packages ld-wrapper) ld-wrapper)" +main="(@ (gnu build-support ld-wrapper) ld-wrapper)" exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@" !# ;;; Guix --- Nix package management from Guile. -*- coding: utf-8 -*- @@ -28,7 +28,7 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" " ;;; You should have received a copy of the GNU General Public License ;;; along with Guix. If not, see <http://www.gnu.org/licenses/>. -(define-module (distro packages ld-wrapper) +(define-module (gnu build-support ld-wrapper) #:use-module (srfi srfi-1) #:export (ld-wrapper)) |