gnu: commencement: glibc-mesboot: Use gash only, instead of bash/gash mix.

While this works and is much cleaner, it is also much slower.

* gnu/packages/commencement.scm (glibc-mesboot0): Use gash only, instead of
bash/gash mix.
This commit is contained in:
Jan Nieuwenhuizen 2019-12-17 09:12:07 +01:00
parent a75a6aa1b8
commit 062bc72117
No known key found for this signature in database
GPG key ID: F3C1A0D9C1D65273

View file

@ -1497,8 +1497,13 @@ (define glibc-mesboot0
(native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch")) (native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch"))
("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch")) ("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch"))
("headers" ,mesboot-headers) ("headers" ,mesboot-headers)
,@(%boot-mesboot-core-inputs) ;; XXX: make-syscalls.sh does not run correctly with
("gash" ,gash-boot))) ;; bash-mesboot0, producing a wrong sysd-syscalls.
;; This leads to posix/uname.c getting compiled where it
;; shouldn't:
;; ../sysdeps/generic/uname.c:25: config-name.h: error 02
("bash" ,gash-boot)
,@(%boot-mesboot-core-inputs)))
(outputs '("out")) (outputs '("out"))
(arguments (arguments
`(#:implicit-inputs? #f `(#:implicit-inputs? #f
@ -1556,33 +1561,19 @@ (define glibc-mesboot0
(format (current-error-port) (format (current-error-port)
"running ./configure ~a\n" (string-join configure-flags)) "running ./configure ~a\n" (string-join configure-flags))
(apply invoke "./configure" configure-flags))) (apply invoke "./configure" configure-flags)))
(add-after 'configure 'fixup-configure (add-after 'configure 'fixup-configure
(lambda _ (lambda _
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(bash (assoc-ref %build-inputs "bash")) (bash (assoc-ref %build-inputs "bash"))
(shell (string-append bash "/bin/bash")) (shell (string-append bash "/bin/bash")))
(gash (assoc-ref %build-inputs "gash")) (substitute* "config.make"
(gash (string-append gash "/bin/gash"))) (("INSTALL = scripts/") "INSTALL = $(..)./scripts/"))
(substitute* "config.make" (substitute* "config.make"
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")
(substitute* "config.make" (("BASH = ") (string-append
(("INSTALL = scripts/") "INSTALL = $(..)./scripts/") "SHELL = " shell "
(("BASH = ") (string-append BASH = ")))
"SHELL = " shell " #t))))))))
BASH = ")))
;; XXX: make-syscalls.sh does not run correctly with
;; bash-mesboot0, producing a wrong sysd-syscalls.
;; This leads to posix/uname.c getting compiled where it
;; shouldn't:
;; ../sysdeps/generic/uname.c:25: config-name.h: error 02
(substitute* "sysdeps/unix/make-syscalls.sh"
(("#!/gnu/store.*/bin/bash") (string-append "#! " gash)))
(substitute* "sysdeps/unix/Makefile"
((" [{] [$][(]SHELL[)]") (string-append " { " gash))))
#t)))))))
(define gcc-mesboot0 (define gcc-mesboot0
(package (package