guix-commits
[Top][All Lists]
Advanced

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

98/192: gnu: binutils-boot0: Inject AR, LD from bootstrap-binaries.


From: Jan Nieuwenhuizen
Subject: 98/192: gnu: binutils-boot0: Inject AR, LD from bootstrap-binaries.
Date: Mon, 3 Sep 2018 16:25:00 -0400 (EDT)

janneke pushed a commit to branch wip-bootstrap
in repository guix.

commit fe74bd11ab0671967a96a79b745c7a5b8a91ebde
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Sat Jun 23 14:28:55 2018 +0200

    gnu: binutils-boot0: Inject AR,LD from bootstrap-binaries.
    
    * gnu/packages/mes.scm (binutils-boot0): Inject AR,LD from bootstrap 
binaries.
---
 gnu/packages/mes.scm | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 9405d29..50b29d1 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -44,7 +44,6 @@
   #:use-module (guix gexp))
 
 (define %fake-bootstrap? #f)  ; cheat using Guile instead of Mes for speed-up?
-(define %cheat-binutils? #t)  ; cheat using binutils-boot0 compiled with 
current tool-chain
 
 (define %mescc-tools-seed
   (let ((commit"29aae8c72e195cbb2f965f05a997b984a4f158fb"))
@@ -634,11 +633,10 @@ standard.")
                 (system* "./configure"
                          (string-append "--prefix=" out)))))))))))
 
-(define-public binutils-boot0-real
+(define-public binutils-boot0
   (package
     (inherit binutils)
-    (name (if %cheat-binutils? "binutils-boot0-real"
-              "binutils-boot0"))
+    (name "binutils-boot0")
       (version "2.20.1a")
       (source (origin
               (method url-fetch)
@@ -709,15 +707,20 @@ standard.")
                           "--disable-werror"
                           "--host=i386-unknown-linux"
                           "--target=i386-unknown-linux"
-                          (string-append "--prefix=" out))))))))))))
+                          (string-append "--prefix=" out)))))))
+         (add-after 'build 'cheat:inject-AR,LD
+           (lambda* _
+             (let ((binutils (assoc-ref %build-inputs "binutils")))
+               ;; cheat: AR and LD are buggy in bootstrap build
+               (copy-file (string-append binutils "/bin/ar") "binutils/ar")
+               (copy-file (string-append binutils "/bin/ld") 
"ld/ld-new")))))))))
 
 (define-public binutils-boot0-cheat
   (let* ((triplet "i686-unknown-linux-gnu")
          (tool-prefix (string-append triplet "-")))
     (package
       (inherit binutils-boot0-real)
-      (name (if %cheat-binutils? "binutils-boot0"
-                "binutils-boot0-cheat"))
+      (name "binutils-boot0-cheat")
       (supported-systems '("i686-linux"))
       (native-inputs `(("flex" ,flex)   ; cheat
                        ("binutils" ,(cross-binutils triplet))
@@ -793,13 +796,9 @@ standard.")
                                       "--target=i386-unknown-linux"
                                       (string-append "--prefix=" 
out)))))))))))))
 
-(define-public binutils-boot0
-  (if %cheat-binutils? binutils-boot0-cheat
-      binutils-boot0-real))
-
 (define-public binutils-boot
   (package
-    (inherit binutils-boot0-real)
+    (inherit binutils-boot0)
     (name "binutils-boot")
     (native-inputs `(("flex" ,flex)     ; cheat
                      ("glibc" ,glibc-boot)



reply via email to

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