guix-commits
[Top][All Lists]
Advanced

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

55/58: gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd.


From: guix-commits
Subject: 55/58: gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd.
Date: Sun, 24 Nov 2024 02:50:42 -0500 (EST)

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

commit d737fb54e21f03833485c35e5dc2a3f96359d4aa
Author: Janneke Nieuwenhuizen <janneke@gnu.org>
AuthorDate: Tue Nov 19 20:20:50 2024 +0100

    gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd.
    
    * gnu/packages/bootstrap.scm (%bootstrap-gcc)[arguments] When building for
    thee 64bit Hurd have the #:builder also wrap g++.
    
    Co-authored-by: Efraim Flashner <efraim@flashner.co.il>
    
    Change-Id: I2cdbc6837e1c451f108b309f2608240a7f57b82c
---
 gnu/packages/bootstrap.scm | 35 +++++++++++++++++++++--------------
 1 file changed, 21 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index a6cdda2122..48c7b42cc9 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -866,29 +866,36 @@ $out/bin/guile --version~%"
                (tarball (assoc-ref %build-inputs "tarball")))
 
            (mkdir out)
-           (copy-file tarball "binaries.tar.xz")
+           (copy-file tarball "binaries.tar.xz") ;avoid: more than one hard 
link
            (invoke xz "-d" "binaries.tar.xz")
            (let ((builddir (getcwd))
                  (bindir   (string-append out "/bin")))
+
+             (define (wrap-program program)
+               (let ((wrapped (format #f ".~a-wrapped" program)))
+                 (rename-file program wrapped)
+                 (call-with-output-file program
+                   (lambda (p)
+                     (format p "#!~a
+exec ~a/bin/~a -B~a/lib \
+     -Wl,-rpath -Wl,~a/lib \
+     -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
+                             bash
+                             out wrapped
+                             libc libc libc
+                             ,(glibc-dynamic-linker)))))
+               (chmod program #o555))
+
              (with-directory-excursion out
                (invoke tar "xvf"
                        (string-append builddir "/binaries.tar")))
 
              (with-directory-excursion bindir
                (chmod "." #o755)
-               (rename-file "gcc" ".gcc-wrapped")
-               (call-with-output-file "gcc"
-                 (lambda (p)
-                   (format p "#!~a
-exec ~a/bin/.gcc-wrapped -B~a/lib \
-     -Wl,-rpath -Wl,~a/lib \
-     -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
-                           bash
-                           out libc libc libc
-                           ,(glibc-dynamic-linker))))
-
-               (chmod "gcc" #o555)
-               #t))))))
+               (for-each wrap-program
+                         ,(if (target-hurd64?)
+                              ''("gcc" "g++")
+                              ''("gcc")))))))))
     (inputs
      `(("tar" ,(bootstrap-executable "tar" (%current-system)))
        ("xz"  ,(bootstrap-executable "xz" (%current-system)))



reply via email to

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