janneke pushed a commit to branch wip-bootstrap in repository guix. commit fe74bd11ab0671967a96a79b745c7a5b8a91ebde Author: Jan Nieuwenhuizen <jann...@gnu.org> 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)