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