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

commit 1682a62969977b13ad72358b5306491b7e36b6b1
Author: Nicolas Graves <[email protected]>
AuthorDate: Thu Feb 19 20:34:46 2026 +0100

    gnu: make-libstdc++-boot0: Improve style.
    
    * gnu/packages/commencement.scm (make-libstdc++-boot0)
    [arguments]<#:phases>: Replace phase 'unpack-gmp&co with
    unpack-and-symlink-other-tarballs phase.
    <#:modules>: Adapt accoringly.
    [inputs]: Drop input labels.
    * gnu/packages/gcc.scm (make-libstdc++)[arguments]<#:phases>: Adjust
    hide-gcc-headers phase.
    
    Change-Id: I89e633c15dc77c64e6a38db5438af1a3bc1bcf3e
    Signed-off-by: Ludovic Courtès <[email protected]>
---
 gnu/packages/commencement.scm | 33 ++++++++-------------------------
 gnu/packages/gcc.scm          | 15 +++++++++++----
 2 files changed, 19 insertions(+), 29 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6e7dffe336c..75f703f4c7f 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2391,33 +2391,16 @@ exec " gcc-bin "/" program
                            "--disable-libstdcxx-pch"
                            #$flags)
                   flags))
+             ((#:modules modules)
+              (append '((ice-9 ftw) (ice-9 match)) modules))
              ((#:phases phases)
               #~(modify-phases #$phases
-                  (add-after 'unpack 'unpack-gmp&co
-                    (lambda* (#:key inputs #:allow-other-keys)
-                      (let ((gmp  (assoc-ref %build-inputs "gmp-source"))
-                            (mpfr (assoc-ref %build-inputs "mpfr-source"))
-                            (mpc  (assoc-ref %build-inputs "mpc-source")))
-
-                        ;; To reduce the set of pre-built bootstrap inputs, 
build
-                        ;; GMP & co. from GCC.
-                        (for-each (lambda (source)
-                                    (invoke "tar" "xvf" source))
-                                  (list gmp mpfr mpc))
-
-                        ;; Create symlinks like `gmp' -> `gmp-x.y.z'.
-                        #$@(map (lambda (lib)
-                                  ;; Drop trailing letters, as gmp-6.0.0a 
unpacks
-                                  ;; into gmp-6.0.0.
-                                  #~(symlink #$(string-trim-right
-                                                (package-full-name lib "-")
-                                                char-set:letter)
-                                             #$(package-name lib)))
-                                (list gmp-6.0 mpfr mpc))))))))))
-      (inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp-6.0)))
-                ("mpfr-source" ,(bootstrap-origin (package-source mpfr)))
-                ("mpc-source" ,(bootstrap-origin (package-source mpc)))
-                ,@(%boot0-inputs)))
+                  (add-after 'unpack 'unpack-other-tarballs
+                    #$unpack-and-symlink-other-tarballs-phase))))))
+      (inputs (cons* (bootstrap-origin (package-source gmp-6.0))
+                     (bootstrap-origin (package-source mpfr))
+                     (bootstrap-origin (package-source mpc))
+                     (map cadr (%boot0-inputs))))
       (native-inputs '()))))
 
 (define gcc-boot0
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 3625dcb722d..9065a9073ae 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -1251,10 +1251,17 @@ using compilers other than GCC."
           #$@(if (version>=? (package-version gcc) "11")
                  #~((add-after 'unpack 'hide-gcc-headers
                       (lambda* (#:key native-inputs inputs #:allow-other-keys)
-                        (let ((gcc (assoc-ref (or native-inputs inputs)
-                                              #$(if (%current-target-system)
-                                                    "cross-gcc"
-                                                    "gcc"))))
+                        ;; Depending on the actual gcc input, two locations
+                        ;; candidates to check to get gcc from the file tree.
+                        (let* ((gcc-nested (false-if-exception
+                                            (search-input-directory
+                                             (or native-inputs inputs)
+                                             "libexec/gcc")))
+                               (gcc-nested (or gcc-nested
+                                               (search-input-file
+                                                (or native-inputs inputs)
+                                                "bin/gcc")))
+                               (gcc (dirname (dirname gcc-nested))))
                           ;; Fix a regression in GCC 11 where the GCC headers
                           ;; shadows glibc headers when building libstdc++.  An
                           ;; upstream fix was added in GCC 11.3.0, but it only

Reply via email to