guix-commits
[Top][All Lists]
Advanced

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

47/70: bootstrap: binutils-mesboot: Use Gash instead of coreutils&co.


From: guix-commits
Subject: 47/70: bootstrap: binutils-mesboot: Use Gash instead of coreutils&co.
Date: Sun, 15 Dec 2019 08:36:47 -0500 (EST)

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

commit 0b7f4eb78e5713ffa1669222234afaa47951b84b
Author: Jan Nieuwenhuizen <address@hidden>
Date:   Fri Nov 22 22:00:58 2019 +0100

    bootstrap: binutils-mesboot: Use Gash instead of coreutils&co.
    
    * gnu/packages/commencement.scm (binutils-mesboot): Use Gash instead of
    coreutils&co.
    * gnu/packages/commencement.scm (%boot-mesboot3-inputs): New variable.
---
 gnu/packages/commencement.scm | 95 +++++++++++++++++++++++++++++++++----------
 1 file changed, 74 insertions(+), 21 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 2a6efb2..516d0d1 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2322,27 +2322,75 @@ ac_cv_c_float_format='IEEE (little-endian)'
              (invoke "./hello"))))))))
 
 (define binutils-mesboot
-  (package
-    (inherit binutils-mesboot0)
-    (name "binutils-mesboot")
-    (native-inputs `(("binutils" ,binutils-mesboot0)
-                     ("libc" ,glibc-mesboot0)
-                     ("gcc" ,gcc-mesboot0)
-
-                     ("bash" ,%bootstrap-coreutils&co)
-                     ("coreutils" ,%bootstrap-coreutils&co)
-                     ("diffutils" ,diffutils-mesboot)
-                     ("kernel-headers" ,%bootstrap-linux-libre-headers)
-                     ("make" ,make-mesboot0)))
-    (arguments
-     (substitute-keyword-arguments (package-arguments binutils-mesboot0)
-       ((#:configure-flags configure-flags)
-        '(list "--disable-nls"
-               "--disable-shared"
-               "--disable-werror"
-               "--build=i686-unknown-linux-gnu"
-               "--host=i686-unknown-linux-gnu"
-               "--with-sysroot=/"))))))
+  (package-with-bootstrap-guile
+   (package
+     (inherit binutils)
+     (name "binutils-mesboot")
+     (version "2.20.1a")
+     (source (bootstrap-origin
+              (origin
+                (method url-fetch)
+                (uri (string-append "mirror://gnu/binutils/binutils-"
+                                    version ".tar.bz2"))
+                (patches (search-patches "binutils-boot-2.20.1a.patch"))
+                (sha256
+                 (base32
+                  "0r7dr0brfpchh5ic0z9r4yxqn4ybzmlh25sbp30cacqk8nb7rlvi")))))
+     (inputs '())
+     (propagated-inputs '())
+     (native-inputs `(("xz" ,xz-mesboot)
+                      ,@(%boot-mesboot2-inputs)))
+     (supported-systems '("i686-linux" "x86_64-linux"))
+     (arguments
+      `(#:implicit-inputs? #f
+        #:guile ,%bootstrap-guile
+        #:tests? #f                     ; runtest: command not found
+        #:parallel-build? #f
+        #:strip-binaries? #f            ; no strip yet
+        #:configure-flags
+        `("CC=gcc"
+          "CXX=false"
+          "RANLIB=true"
+          "--disable-doc"
+          "--disable-nls"
+          "--disable-shared"
+          "--disable-werror"
+          "--build=i686-unknown-linux-gnu"
+          "--host=i686-unknown-linux-gnu"
+          "--with-sysroot=/"
+          ;; checking for grep that handles long lines and -e
+          "ac_cv_path_GREP=grep")
+        ;; FIXME: ac_cv_path_GREP=grep doesn't seem to be forwarded to
+        ;; cascading configure's?
+        #:make-flags '("ac_cv_path_GREP=grep")
+        #:phases
+        (modify-phases %standard-phases
+          (add-after 'unpack 'scripted-patch
+            (lambda _
+              ;; sed-mesboot0 cannot build these
+              (copy-file "binutils/Makefile.in" "binutils/Makefile.in.orig")
+              (substitute* "binutils/Makefile.in"
+                ;; binutils/binutils uses an amazingly complex install
+                ;; command, using FOR, SED, READ, IF, ECHO, SED, SED, AWK,
+                ;; READ, and then LIBTOOL (to do something like
+                ;; `mkdir $DESTDIR$bindir; cp readline $DESTDIR$bindir ...')
+
+                ;; Some tool [debugme!] cannot handle two escaped newlines
+                ;; (bash?), and the install stops after $(am__EXEEXT_11)
+                ;; ("objcopy"), so $(am__EXEEXT_13) ("readelf") and others do
+                ;; not get installed.  Remove the stray newline:
+                (("^\t@BUILD_NLMCONV@ @BUILD_SRCONV@ @BUILD_DLLTOOL@ 
@BUILD_WINDRES@ .*") ""))
+              (substitute* "opcodes/Makefile.in"
+                (("^SUBDIRS = [.] po") "SUBDIRS = ."))
+              (substitute* "binutils/Makefile.in"
+                (("^SUBDIRS = doc po") "SUBDIRS ="))
+              (substitute* "gas/Makefile.in"
+                (("^SUBDIRS = doc po") "SUBDIRS ="))
+              (substitute* "gprof/Makefile.in"
+                (("^SUBDIRS = po") "SUBDIRS ="))
+              (substitute* "ld/Makefile.in"
+                (("^SUBDIRS = po") "SUBDIRS ="))
+              #t))))))))
 
 (define gcc-mesboot1-wrapper
   ;; We need this so gcc-mesboot1 can be used to create shared binaries that
@@ -2401,6 +2449,11 @@ exec " gcc "/bin/" program
                     (program (string-append bin "/gcc")))
                (invoke program "--help")))))))))
 
+(define (%boot-mesboot3-inputs)
+  `(("binutils" ,binutils-mesboot)
+    ("xz" ,xz-mesboot)
+    ,@(alist-delete "binutils" (%boot-mesboot2-inputs))))
+
 (define glibc-headers-mesboot
   (package
     (inherit glibc-mesboot0)



reply via email to

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