From 006679d1e6ca7acea0629b4f019c8cf89cde08be Mon Sep 17 00:00:00 2001 From: Zheng Junjie Date: Wed, 4 Dec 2024 23:51:44 +0800 Subject: [PATCH] Partial revert "gnu: bootstrap: %bootstrap-gcc: Also wrap g++ for the 64bit Hurd." This partially reverts commit 877b925df16740f9419d165d39cb7f191a86d5d1. This part accidentally triggered a world rebuild for non-x86 architectures. Change-Id: Iabc5422bb0e2bb37816ad437994af94d04830cb0 --- gnu/packages/bootstrap.scm | 59 +++++++++++++++++++++++--------------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index dcf385b03e..f2620f844c 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -775,14 +775,14 @@ (define %bootstrap-glibc (chmod "lib" #o755) ;; Patch linker scripts so they refer to the right file-names. - ,(if (target-hurd64?) - '(substitute* '("lib/libc.so" "lib/libm.so") - (("/[^ ]+/lib/(libc|libm|libh|ld)" _ prefix) - (string-append out "/lib/" prefix))) - '(substitute* "lib/libc.so" - (("/[^ ]+/lib/(libc|ld)" _ prefix) - (string-append out "/lib/" prefix)))) - #t)))))) + ,@(if (target-hurd64?) + '((substitute* '("lib/libc.so" "lib/libm.so") + (("/[^ ]+/lib/(libc|libm|libh|ld)" _ prefix) + (string-append out "/lib/" prefix)))) + '((substitute* "lib/libc.so" + (("/[^ ]+/lib/(libc|ld)" _ prefix) + (string-append out "/lib/" prefix))) + #t)))))))) (inputs `(("tar" ,(bootstrap-executable "tar" (%current-system))) ("xz" ,(bootstrap-executable "xz" (%current-system))) @@ -874,20 +874,22 @@ (define %bootstrap-gcc (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 + ,@(if (target-hurd64?) + `((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)) + bash + out wrapped + libc libc libc + ,(glibc-dynamic-linker))))) + (chmod program #o555))) + '()) (with-directory-excursion out (invoke tar "xvf" @@ -895,10 +897,21 @@ (define (wrap-program program) (with-directory-excursion bindir (chmod "." #o755) - (for-each wrap-program - ,(if (target-hurd64?) - ''("gcc" "g++") - ''("gcc"))))))))) + ,@(if (target-hurd64?) + `((for-each wrap-program '("gcc" "g++"))) + `((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)))))))) (inputs `(("tar" ,(bootstrap-executable "tar" (%current-system))) ("xz" ,(bootstrap-executable "xz" (%current-system)))