guix-commits
[Top][All Lists]
Advanced

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

164/192: gnu: Add gcc-mesboot-wrapper 4.7.4.


From: Jan Nieuwenhuizen
Subject: 164/192: gnu: Add gcc-mesboot-wrapper 4.7.4.
Date: Mon, 3 Sep 2018 16:25:20 -0400 (EDT)

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

commit 307dc4377a22c218d4be18b1edf0a1aa0cbf4adf
Author: Jan Nieuwenhuizen <address@hidden>
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"
+" \"address@hidden"
+"))))
+                (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))
 



reply via email to

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