From 062bc721176a3b21b7b8e6564e9a5706adc9879c Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 17 Dec 2019 09:12:07 +0100 Subject: [PATCH] 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. --- gnu/packages/commencement.scm | 49 ++++++++++++++--------------------- 1 file changed, 20 insertions(+), 29 deletions(-) diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 7d2d00ee51..07d78ad51d 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -1497,8 +1497,13 @@ (define glibc-mesboot0 (native-inputs `(("boot-patch" ,(search-patch "glibc-boot-2.2.5.patch")) ("system-patch" ,(search-patch "glibc-bootstrap-system-2.2.5.patch")) ("headers" ,mesboot-headers) - ,@(%boot-mesboot-core-inputs) - ("gash" ,gash-boot))) + ;; 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 + ("bash" ,gash-boot) + ,@(%boot-mesboot-core-inputs))) (outputs '("out")) (arguments `(#:implicit-inputs? #f @@ -1556,33 +1561,19 @@ (define glibc-mesboot0 (format (current-error-port) "running ./configure ~a\n" (string-join configure-flags)) (apply invoke "./configure" configure-flags))) - (add-after 'configure 'fixup-configure - (lambda _ - (let* ((out (assoc-ref %outputs "out")) - (bash (assoc-ref %build-inputs "bash")) - (shell (string-append bash "/bin/bash")) - (gash (assoc-ref %build-inputs "gash")) - (gash (string-append gash "/bin/gash"))) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) - (substitute* "config.make" - (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") - (("BASH = ") (string-append - "SHELL = " shell " -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))))))) + (add-after 'configure 'fixup-configure + (lambda _ + (let* ((out (assoc-ref %outputs "out")) + (bash (assoc-ref %build-inputs "bash")) + (shell (string-append bash "/bin/bash"))) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/")) + (substitute* "config.make" + (("INSTALL = scripts/") "INSTALL = $(..)./scripts/") + (("BASH = ") (string-append + "SHELL = " shell " + BASH = "))) + #t)))))))) (define gcc-mesboot0 (package