aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/bootstrap.scm
diff options
context:
space:
mode:
authorZheng Junjie <zhengjunjie@iscas.ac.cn>2024-12-04 23:51:44 +0800
committerZheng Junjie <zhengjunjie@iscas.ac.cn>2024-12-05 01:13:02 +0800
commit006679d1e6ca7acea0629b4f019c8cf89cde08be (patch)
tree9c6c082200d1d6b8bcb5fcfeb58e76821631c4ad /gnu/packages/bootstrap.scm
parent126a2e8cb45b797579876834a566cec51f4a16a8 (diff)
downloadguix-006679d1e6ca7acea0629b4f019c8cf89cde08be.tar.gz
guix-006679d1e6ca7acea0629b4f019c8cf89cde08be.zip
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
Diffstat (limited to 'gnu/packages/bootstrap.scm')
-rw-r--r--gnu/packages/bootstrap.scm59
1 files 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 @@ $out/bin/guile --version~%"
(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 @@ $out/bin/guile --version~%"
(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 @@ exec ~a/bin/~a -B~a/lib \
(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)))