guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

05/15: bootstrap: static-bash-for-glibc: Consider %current-system at run


From: Jan Nieuwenhuizen
Subject: 05/15: bootstrap: static-bash-for-glibc: Consider %current-system at run time.
Date: Thu, 20 Sep 2018 10:06:00 -0400 (EDT)

janneke pushed a commit to branch wip-bootstrap
in repository guix.

commit 1998bd66c7b917d677ab2deaddc7874fb4907425
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Tue Sep 18 22:25:27 2018 +0200

    bootstrap: static-bash-for-glibc: Consider %current-system at run time.
    
    * gnu/packages/commencement.scm (static-bash-for-glibc): Rewrite so
    that (%boot1-inputs) is evaluated run time, rather than at load time.
---
 gnu/packages/commencement.scm | 54 ++++++++++++++++++++++---------------------
 1 file changed, 28 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ea30694..84d834f 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -630,33 +630,35 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a 
\"address@hidden"~%"
 
 (define static-bash-for-glibc
   ;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co.
-  (let* ((gcc  (cross-gcc-wrapper gcc-boot0 binutils-boot0
-                                  glibc-final-with-bootstrap-bash
-                                  (car (assoc-ref (%boot1-inputs) "bash"))))
-         (bash (package
-                 (inherit static-bash)
-                 (arguments
-                  (substitute-keyword-arguments
-                      (package-arguments static-bash)
-                    ((#:guile _ #f)
-                     '%bootstrap-guile)
-                    ((#:configure-flags flags '())
-                     ;; Add a '-L' flag so that the pseudo-cross-ld of
-                     ;; BINUTILS-BOOT0 can find libc.a.
-                     `(append ,flags
-                              (list (string-append "LDFLAGS=-static -L"
-                                                   (assoc-ref %build-inputs
-                                                              "libc:static")
-                                                   "/lib"))))))))
-         (inputs `(("gcc" ,gcc)
-                   ("libc" ,glibc-final-with-bootstrap-bash)
-                   ("libc:static" ,glibc-final-with-bootstrap-bash "static")
-                   ,@(fold alist-delete (%boot1-inputs)
-                           '("gcc" "libc")))))
+  (let ((bash (package
+                (inherit static-bash)
+                (arguments
+                 (substitute-keyword-arguments
+                     (package-arguments static-bash)
+                   ((#:guile _ #f)
+                    '%bootstrap-guile)
+                   ((#:configure-flags flags '())
+                    ;; Add a '-L' flag so that the pseudo-cross-ld of
+                    ;; BINUTILS-BOOT0 can find libc.a.
+                    `(append ,flags
+                             (list (string-append "LDFLAGS=-static -L"
+                                                  (assoc-ref %build-inputs
+                                                             "libc:static")
+                                                  "/lib")))))))))
     (package-with-bootstrap-guile
-     (package-with-explicit-inputs bash (lambda _ inputs)
-                                   (current-source-location)
-                                   #:guile %bootstrap-guile))))
+     (package-with-explicit-inputs
+      bash
+      (lambda _
+        (let ((gcc  (cross-gcc-wrapper gcc-boot0 binutils-boot0
+                                       glibc-final-with-bootstrap-bash
+                                       (car (assoc-ref (%boot1-inputs) 
"bash")))))
+          `(("gcc" ,gcc)
+            ("libc" ,glibc-final-with-bootstrap-bash)
+            ("libc:static" ,glibc-final-with-bootstrap-bash "static")
+            ,@(fold alist-delete (%boot1-inputs)
+                    '("gcc" "libc")))))
+      (current-source-location)
+      #:guile %bootstrap-guile))))
 
 (define gettext-boot0
   ;; A minimal gettext used during bootstrap.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]