guix-commits
[Top][All Lists]
Advanced

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

31/35: bootstrap: binutils-mesboot0: Scheme-only bootstrap.


From: guix-commits
Subject: 31/35: bootstrap: binutils-mesboot0: Scheme-only bootstrap.
Date: Wed, 20 Nov 2019 15:16:19 -0500 (EST)

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

commit 1fcc9390ff5c35b37167dce0f19dce6616a81e33
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Sun Oct 6 15:22:01 2019 +0200

    bootstrap: binutils-mesboot0: Scheme-only bootstrap.
    
    * gnu/packages/commencement.scm (binutils-mesboot0): Update for Scheme-only
    bootstrap; downgrade to 2.14.0.
---
 gnu/packages/commencement.scm | 70 +++++++++++++++++++++++++++++--------------
 1 file changed, 48 insertions(+), 22 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index d0e59da..4599371 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -910,27 +910,32 @@
                 #t)))))))))
 
 (define binutils-mesboot0
+  ;; The initial Binutils
   (package-with-bootstrap-guile
    (package
      (inherit binutils)
      (name "binutils-mesboot0")
-     (version "2.20.1a")
+     (version "2.14")
      (source (origin
                (method url-fetch)
                (uri (string-append "mirror://gnu/binutils/binutils-"
-                                   version ".tar.bz2"))
-               (patches (search-patches "binutils-boot-2.20.1a.patch"))
+                                   version ".tar.gz"))
+               ;; `patches' needs XZ
+               ;; (patches (search-patches "binutils-boot-2.20.1a.patch"))
                (sha256
                 (base32
-                 "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi"))))
+                 "1w8xp7k44bkijr974x9918i4p1sw4g2fcd5mxvspkjpg38m214ds"))))
      (inputs '())
      (propagated-inputs '())
-     (native-inputs `(("tcc" ,tcc-boot)
+     (native-inputs `(("bash" ,bash-mesboot0)
+                      ("gzip" ,gzip-mesboot0)
+                      ("make" ,make-mesboot0)
+                      ("patch" ,patch-mesboot0)
+                      ("sed" ,sed-mesboot0)
+                      ("tcc" ,tcc-boot)
 
-                      ("bash" ,%bootstrap-coreutils&co)
-                      ("coreutils" ,%bootstrap-coreutils&co)
-                      ("diffutils" ,diffutils-mesboot)
-                      ("make" ,make-mesboot0)))
+                      ("gash" ,%bootstrap-gash)
+                      ("guile" ,%bootstrap-guile)))
      (supported-systems '("i686-linux" "x86_64-linux"))
      (arguments
       `(#:implicit-inputs? #f
@@ -939,21 +944,42 @@
         #:parallel-build? #f
         #:strip-binaries? #f            ; no strip yet
         #:configure-flags
-        (let ((cppflags (string-append " -D __GLIBC_MINOR__=6"
-                                       " -D MES_BOOTSTRAP=1"))
-              (bash (assoc-ref %build-inputs "bash")))
-          `(,(string-append "CONFIG_SHELL=" bash "/bin/sh")
-            ,(string-append "CPPFLAGS=" cppflags)
-            "AR=tcc -ar"
-            "CXX=false"
-            "RANLIB=true"
-            ,(string-append "CC=tcc" cppflags)
-            "--disable-nls"
+        (let ((out (assoc-ref %outputs "out")))
+          `("--disable-nls"
             "--disable-shared"
             "--disable-werror"
-            "--build=i686-unknown-linux-gnu"
-            "--host=i686-unknown-linux-gnu"
-            "--with-sysroot=/")))))))
+            "--build=i386-unknown-linux"
+            "--host=i386-unknown-linux"
+            "--target=i386-unknown-linux"
+            "--with-sysroot=/"
+            ,(string-append "--prefix=" out)))
+        #:phases
+        (modify-phases %standard-phases
+          (add-before 'configure 'setenv
+            (lambda _
+              (let* ((out (assoc-ref %outputs "out"))
+                     (bash (assoc-ref %build-inputs "bash"))
+                     (shell (string-append bash "/bin/bash")))
+                (setenv "CONFIG_SHELL" shell)
+                (setenv "SHELL" shell)
+                (setenv "AR" "tcc -ar")
+                (setenv "RANLIB" "true")
+                (setenv "CC" "tcc -D __GLIBC_MINOR__=6")
+                #t)))
+          (add-after 'unpack 'scripted-patch
+            (lambda* (#:key inputs #:allow-other-keys)
+              (substitute* "bfd/configure"
+                (("^sed -e '/SRC-POTFILES.*" all)
+                 "echo -e 'all:\\n\\ttrue\\n\\ninstall:\\n\\ttrue\\n' > 
po/Makefile\n"))
+              #t))
+          (replace 'configure          ; needs classic invocation of configure
+            (lambda* (#:key configure-flags #:allow-other-keys)
+              (format (current-error-port)
+                      "running ./configure ~a\n" (string-join configure-flags))
+              (apply system* "./configure" configure-flags)
+              (substitute* "config.status"
+                (("[.]//dev/null") "/dev/null"))
+              (invoke "sh" "./config.status")))))))))
 
 (define gcc-core-mesboot
   ;; Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C



reply via email to

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