janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit 307dc4377a22c218d4be18b1edf0a1aa0cbf4adf
Author: Jan Nieuwenhuizen <[email protected]>
Date: Fri Aug 31 13:54:28 2018 +0200
gnu: Add gcc-mesboot-wrapper 4.7.4.
* gnu/packages/commencement.scm (gcc-mesboot-wrapper): New variable.
(%bootstrap-inputs+toolchain): Use it to replace gcc-mesboot. WIP
---
gnu/packages/commencement.scm | 49 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6cdd2c5..20d6639 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -1350,6 +1350,52 @@ ac_cv_c_float_format='IEEE (little-endian)'
(zero?
(apply system* "../configure" configure-flags))))))))))
+(define-public gcc-mesboot-wrapper
+ (package-with-bootstrap-guile
+ (package
+ (inherit gcc-mesboot)
+ (name "gcc-mesboot-wrapper")
+ (source #f)
+ (inputs '())
+ (native-inputs `(("bash" ,%bootstrap-coreutils&co)
+ ("libc" ,%bootstrap-glibc)
+ ("gcc" ,gcc-mesboot)))
+ (arguments
+ `(#:implicit-inputs? #f
+ #:guile ,%bootstrap-guile
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'unpack)
+ (delete 'configure)
+ (delete 'install)
+ (replace 'build
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bash (assoc-ref %build-inputs "bash"))
+ (libc (assoc-ref %build-inputs "libc"))
+ (gcc (assoc-ref %build-inputs "gcc"))
+ (bin (string-append out "/bin"))
+ (program (string-append bin "/gcc")))
+ (mkdir-p bin)
+ (with-output-to-file program
+ (lambda _
+ (display (string-append "#! " bash "/bin/bash
+exec " gcc "/bin/gcc"
+" -Wl,--dynamic-linker"
+" -Wl," libc ,(glibc-dynamic-linker)
+" -Wl,--rpath"
+" -Wl," libc "/lib"
+" \"$@\"
+"))))
+ (chmod program #o555)
+ #t)))
+ (replace 'check
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (program (string-append bin "/gcc")))
+ (invoke program "--help"))))))))))
+
(define-public glibc-headers-mesboot
(package-with-bootstrap-guile
(package
@@ -1642,7 +1688,8 @@ ac_cv_c_float_format='IEEE (little-endian)'
("i686-linux" `(;;("libc" ,glibc-mesboot) ; FIXME: make usable for
unpatched gnu-make-boot0, *-boot0
("libc" ,%bootstrap-glibc)
("binutils" ,binutils-mesboot)
- ("gcc" ,gcc-mesboot)))
+ ;; ("gcc" ,gcc-mesboot) ; FIXME: allow gcc to
use glibc
+ ("gcc" ,gcc-mesboot-wrapper)))
(_ '()))
%bootstrap-inputs))