From ea8fbbf2f2d8beccad1c7a98077c0a31fb40e578 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 19 Dec 2012 12:34:53 +0100 Subject: 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. --- distro/packages/base.scm | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'distro') 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 @@ (define-public gnu-make (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 @@ (define gnu-make-boot0 (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 -- cgit v1.2.3