diff options
author | Ludovic Courtès <ludo@gnu.org> | 2012-12-19 12:34:53 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2012-12-19 12:34:53 +0100 |
commit | ea8fbbf2f2d8beccad1c7a98077c0a31fb40e578 (patch) | |
tree | 0fc94e09da1c32762648c533d3a6665d7dc16c57 | |
parent | c3ee7448c9c10d0fdcc52fd1d57031cf6677aafc (diff) | |
download | guix-ea8fbbf2f2d8beccad1c7a98077c0a31fb40e578.tar guix-ea8fbbf2f2d8beccad1c7a98077c0a31fb40e578.tar.gz |
distro: make: Change default shell from /bin/sh to the actual shell.
* distro/packages/base.scm (gnu-make): Add `set-default-shell' phase.
(gnu-make-boot0): Adjust phases accordingly.
-rw-r--r-- | distro/packages/base.scm | 46 |
1 files changed, 29 insertions, 17 deletions
diff --git a/distro/packages/base.scm b/distro/packages/base.scm index f0dd150e12..4bd8070827 100644 --- a/distro/packages/base.scm +++ b/distro/packages/base.scm @@ -289,8 +289,18 @@ are expected to exist on every operating system.") (build-system gnu-build-system) (native-inputs `(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs - "patch/impure-dirs")))) + (arguments + '(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs")) + #:phases (alist-cons-before + 'build 'set-default-shell + (lambda* (#:key inputs #:allow-other-keys) + ;; Change the default shell from /bin/sh. + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "job.c" + (("default_shell\\[\\] =.*$") + (format #f "default_shell[] = \"~a/bin/bash\";\n" + bash))))) + %standard-phases))) (synopsis "GNU Make, a program controlling the generation of non-source files from sources") (description @@ -534,21 +544,23 @@ with the Linux kernel.") (package (inherit gnu-make) (name "make-boot0") (location (source-properties->location (current-source-location))) - (arguments `(#:guile ,%bootstrap-guile - #:implicit-inputs? #f - #:tests? #f ; cannot run "make check" - #:phases - (alist-replace - 'build (lambda _ - (zero? (system* "./build.sh"))) - (alist-replace - 'install (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin"))) - (mkdir-p bin) - (copy-file "make" - (string-append bin "/make")))) - %standard-phases)))) + (arguments + `(#:guile ,%bootstrap-guile + #:implicit-inputs? #f + #:tests? #f ; cannot run "make check" + ,@(substitute-keyword-arguments (package-arguments gnu-make) + ((#:phases phases) + `(alist-replace + 'build (lambda _ + (zero? (system* "./build.sh"))) + (alist-replace + 'install (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (copy-file "make" + (string-append bin "/make")))) + ,phases)))))) (inputs %bootstrap-inputs)))) (define diffutils-boot0 |