[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: commencement: Use our Binutils as soon as possible.
From: |
Mark H. Weaver |
Subject: |
01/01: gnu: commencement: Use our Binutils as soon as possible. |
Date: |
Mon, 08 Jun 2015 20:14:27 +0000 |
mhw pushed a commit to branch core-updates
in repository guix.
commit f8badf151b4d2d966a1ebeba0345dfc9e4564d01
Author: Mark H Weaver <address@hidden>
Date: Mon Jun 8 15:19:28 2015 -0400
gnu: commencement: Use our Binutils as soon as possible.
* gnu/packages/commencement.scm (binutils-boot0)[arguments]: Add
'add-symlinks' phase.
---
gnu/packages/commencement.scm | 27 +++++++++++++++++++++++----
1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ab16660..6cf56ba 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -139,6 +139,28 @@
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
+
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (ice-9 ftw)) ; for 'scandir'
+ #:phases (alist-cons-after
+ 'install 'add-symlinks
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; The cross-gcc invokes 'as', 'ld', etc, without the
+ ;; triplet prefix, so add symlinks.
+ (let ((out (assoc-ref outputs "out"))
+ (triplet-prefix (string-append ,(boot-triplet) "-")))
+ (define (has-triplet-prefix? name)
+ (string-prefix? triplet-prefix name))
+ (define (remove-triplet-prefix name)
+ (substring name (string-length triplet-prefix)))
+ (with-directory-excursion (string-append out "/bin")
+ (for-each (lambda (name)
+ (symlink name (remove-triplet-prefix
name)))
+ (scandir "." has-triplet-prefix?)))
+ #t))
+ %standard-phases)
+
,@(substitute-keyword-arguments (package-arguments binutils)
((#:configure-flags cf)
`(cons ,(string-append "--target=" (boot-triplet))
@@ -274,10 +296,7 @@
;; 2nd stage inputs.
`(("gcc" ,gcc-boot0)
("binutils-cross" ,binutils-boot0)
-
- ;; Keep "binutils" here because the cross-gcc invokes `as', not the
- ;; cross-`as'.
- ,@%boot0-inputs))
+ ,@(alist-delete "binutils" %boot0-inputs)))
(define glibc-final-with-bootstrap-bash
;; The final libc, "cross-built". If everything went well, the resulting