guix-commits
[Top][All Lists]
Advanced

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

06/06: REMOVEME gnu: commencement: static-bash-for-glibc: Avoid rebuild.


From: guix-commits
Subject: 06/06: REMOVEME gnu: commencement: static-bash-for-glibc: Avoid rebuild.
Date: Tue, 3 Dec 2024 14:43:09 -0500 (EST)

janneke pushed a commit to branch core-packages-team
in repository guix.

commit c56f419c3a4b40c8862d504d168120a971609cfe
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Tue Dec 3 20:34:16 2024 +0100

    REMOVEME gnu: commencement: static-bash-for-glibc: Avoid rebuild.
    
    XXX This avoids a glibc-final, gcc-final rebuild at this time.  The change 
to
    bash-minimal should be enough for `static-bash-for-glibc' to build if we
    remove this patch.
    
    IWBN if we could program commencement in a way that it's more robust wrt 
base
    package changes (or more flexible to counter such changes?).
    
    * gnu/packages/commencement.scm (REMOVEME-undo-bash-minimal-CFLAGS-change,
    REMOVEME-clean-bash-configure-flags): New procedures, factored-out from...
    (bash-mesboot): ...here.
    * gnu/packages/commencement.scm (static-bash-for-glibc)[arguments]: Use them
    to avoid a glibc-intermediate, glibc-final, gcc-final at this time.
    
    Change-Id: I2517e7fd9e2fa3579279b2c85c4f2121ceee1a76
---
 gnu/packages/commencement.scm | 54 +++++++++++++++++++++++++------------------
 1 file changed, 31 insertions(+), 23 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index c5af5b6109..db5f49d4ba 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1848,25 +1848,29 @@ exec " gcc "/bin/" program
                                  #:guile ,%bootstrap-guile
                                  #:tests? #f)))))
 
+;; XXX Helper to avoid a boot0-world rebuild for now by removing this
+;; unnecessary gcc-14 fix.
+(define (REMOVEME-clean-bash-configure-flags flags)
+  `(cons*
+    "--disable-shared" "LDFLAGS=-static"
+    (list
+     ,@(fold delete
+             (primitive-eval (gexp->approximate-sexp flags))
+             '("CFLAGS=-g -O2 -Wno-implicit-function-declaration"
+               "--disable-shared" "LDFLAGS=-static")))))
+(define (REMOVEME-undo-bash-minimal-CFLAGS-change bash)
+  (package
+    (inherit bash)
+    (arguments
+     (substitute-keyword-arguments (package-arguments bash)
+       ((#:configure-flags flags)
+        (REMOVEME-clean-bash-configure-flags flags))))))
+
 ;; These packages are needed to complete the rest of the bootstrap.
 ;; In the future, Gash et al. could handle it directly, but it's not
 ;; ready yet.
-(define bash-mesboot
-  (let ((bash (mesboot-package "bash-mesboot" static-bash)))
-    (package
-      (inherit bash)
-      (arguments
-       (substitute-keyword-arguments (package-arguments bash)
-         ;; XXX REMOVEME Avoid a boot0-world rebuild for now by removing this
-         ;; unnecessary gcc-14 fix.
-         ((#:configure-flags flags)
-          `(cons*
-            "--disable-shared" "LDFLAGS=-static"
-            (list
-             ,@(fold delete
-                     (primitive-eval (gexp->approximate-sexp flags))
-                     '("CFLAGS=-g -O2 -Wno-implicit-function-declaration"
-                       "--disable-shared" "LDFLAGS=-static"))))))))))
+(define bash-mesboot (REMOVEME-undo-bash-minimal-CFLAGS-change
+                      (mesboot-package "bash-mesboot" static-bash)))
 (define sed-mesboot (mesboot-package "sed-mesboot" sed))
 
 ;; "sed" from Gash-Utils lacks the 'w' command as of 0.2.0.
@@ -3079,13 +3083,17 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker 
-Wl,~a/~a \"$@\"~%"
 
        ,@(substitute-keyword-arguments (package-arguments static-bash)
            ((#: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")))))))))
+            #~(append
+               #$(REMOVEME-clean-bash-configure-flags flags)
+               #$(if (and (target-x86-64?) (target-linux?))
+                     #~'("CFLAGS=-g -O2 -Wno-implicit-function-declaration")
+                     #~'())
+               ;; Add a '-L' flag so that the pseudo-cross-ld of
+               ;; BINUTILS-BOOT0 can find libc.a.
+               (list (string-append "LDFLAGS=-static -L"
+                                    (assoc-ref %build-inputs
+                                               "libc:static")
+                                    "/lib")))))))))
 
 (define gettext-boot0
   ;; A minimal gettext used during bootstrap.



reply via email to

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