From 5bde4503eeaa1d772744abcf87afc29eb0e9329d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 31 Oct 2016 15:41:14 +0100 Subject: gnu: ld-wrapper-boot0: Work around strict evaluation of (%current-system). Reported by Mark H Weaver Partly fixes . 'ld-wrapper-boot0' was evaluating strictly instead of lazily, leading to invalid system types. * gnu/packages/base.scm (make-ld-wrapper): Turn #:target into a one-argument procedure. Honor it. * gnu/packages/commencement.scm (ld-wrapper-boot0): Fix 'name' argument to 'make-ld-wrapper'. Make #:target argument a procedure. * gnu/packages/cross-base.scm (cross-gcc): Adjust #:target argument. --- gnu/packages/commencement.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'gnu/packages/commencement.scm') diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 53ba7189b4..2431babcad 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -424,8 +424,14 @@ the bootstrap environment." (define ld-wrapper-boot0 ;; We need this so binaries on Hurd will have libmachuser and libhurduser ;; in their RUNPATH, otherwise validate-runpath will fail. - (make-ld-wrapper (string-append "ld-wrapper-" (boot-triplet)) - #:target (boot-triplet) + ;; + ;; XXX: Work around by fixing the name and + ;; triplet on GNU/Linux. For GNU/Hurd, use the right triplet. + (make-ld-wrapper (string-append "ld-wrapper-" "x86_64-guix-linux-gnu") + #:target (lambda (system) + (if (string-suffix? "-linux" system) + "x86_64-guix-linux-gnu" + (boot-triplet system))) #:binutils binutils-boot0 #:guile %bootstrap-guile #:bash (car (assoc-ref %boot0-inputs "bash")))) -- cgit v1.2.3