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.
This commit is contained in:
Ludovic Courtès 2012-12-19 12:34:53 +01:00
parent c3ee7448c9
commit ea8fbbf2f2

View file

@ -289,8 +289,18 @@ (define-public gnu-make
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch")))) `(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch"))))
(arguments `(#:patches (list (assoc-ref %build-inputs (arguments
"patch/impure-dirs")))) '(#: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 (synopsis "GNU Make, a program controlling the generation of non-source
files from sources") files from sources")
(description (description
@ -534,21 +544,23 @@ (define gnu-make-boot0
(package (inherit gnu-make) (package (inherit gnu-make)
(name "make-boot0") (name "make-boot0")
(location (source-properties->location (current-source-location))) (location (source-properties->location (current-source-location)))
(arguments `(#:guile ,%bootstrap-guile (arguments
#:implicit-inputs? #f `(#:guile ,%bootstrap-guile
#:tests? #f ; cannot run "make check" #:implicit-inputs? #f
#:phases #:tests? #f ; cannot run "make check"
(alist-replace ,@(substitute-keyword-arguments (package-arguments gnu-make)
'build (lambda _ ((#:phases phases)
(zero? (system* "./build.sh"))) `(alist-replace
(alist-replace 'build (lambda _
'install (lambda* (#:key outputs #:allow-other-keys) (zero? (system* "./build.sh")))
(let* ((out (assoc-ref outputs "out")) (alist-replace
(bin (string-append out "/bin"))) 'install (lambda* (#:key outputs #:allow-other-keys)
(mkdir-p bin) (let* ((out (assoc-ref outputs "out"))
(copy-file "make" (bin (string-append out "/bin")))
(string-append bin "/make")))) (mkdir-p bin)
%standard-phases)))) (copy-file "make"
(string-append bin "/make"))))
,phases))))))
(inputs %bootstrap-inputs)))) (inputs %bootstrap-inputs))))
(define diffutils-boot0 (define diffutils-boot0