[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
45/63: bootstrap: binutils-mesboot: Scheme-only bootstrap.
From: |
guix-commits |
Subject: |
45/63: bootstrap: binutils-mesboot: Scheme-only bootstrap. |
Date: |
Sun, 24 Nov 2019 06:06:47 -0500 (EST) |
janneke pushed a commit to branch wip-bootstrap
in repository guix.
commit ee0d24f47f6fb863e1d762728e9ea5a9183c1b76
Author: Jan Nieuwenhuizen <address@hidden>
Date: Fri Nov 22 22:00:58 2019 +0100
bootstrap: binutils-mesboot: Scheme-only bootstrap.
* gnu/packages/commencement.scm (binutils-mesboot): Scheme-only bootstrap.
---
gnu/packages/commencement.scm | 102 +++++++++++++++++++++++++++++++++---------
1 file changed, 82 insertions(+), 20 deletions(-)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 3613c2e..c025d8b 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -2165,27 +2165,89 @@ 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)
+ (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 `(("bash" ,bash-mesboot)
+ ("binutils" ,binutils-mesboot0)
+ ("bzip2" ,bzip2-mesboot0)
+ ("coreutils" ,coreutils-mesboot0)
+ ("gawk" ,gawk-mesboot)
+ ("gcc" ,gcc-mesboot1)
+ ("grep" ,grep-mesboot)
+ ("gzip" ,gzip-mesboot0)
+ ("libc" ,glibc-mesboot0)
+ ("make" ,make-mesboot)
+ ("patch" ,patch-mesboot0)
+ ("sed" ,sed-mesboot)
+ ("tar" ,tar-mesboot)
+ ("xz" ,xz-mesboot)
- ("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=/"))))))
+ ("kernel-headers" ,%bootstrap-linux-libre-headers)))
+ (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
- 35/63: bootstrap: Add binutils-mesboot1., (continued)
- 35/63: bootstrap: Add binutils-mesboot1., guix-commits, 2019/11/24
- 36/63: bootstrap: Add coreutils-mesboot0., guix-commits, 2019/11/24
- 37/63: bootstrap: Add make-mesboot., guix-commits, 2019/11/24
- 38/63: bootstrap: Add gawk-mesboot., guix-commits, 2019/11/24
- 39/63: bootstrap: Add sed-mesboot., guix-commits, 2019/11/24
- 40/63: bootstrap: Add gcc-core-mesboot1., guix-commits, 2019/11/24
- 41/63: bootstrap: Add bash-mesboot., guix-commits, 2019/11/24
- 42/63: bootstrap: Add gcc-mesboot1: Scheme-only bootstrap., guix-commits, 2019/11/24
- 43/63: bootstrap: Add xz-mesboot., guix-commits, 2019/11/24
- 44/63: bootstrap: Add hello-mesboot., guix-commits, 2019/11/24
- 45/63: bootstrap: binutils-mesboot: Scheme-only bootstrap.,
guix-commits <=
- 46/63: bootstrap: glibc-headers-mesboot: Scheme-only bootstrap., guix-commits, 2019/11/24
- 47/63: bootstrap: glibc-mesboot: Scheme-only bootstrap., guix-commits, 2019/11/24
- 48/63: bootstrap: gcc-mesboot1-wrapper: Scheme-only bootstrap., guix-commits, 2019/11/24
- 49/63: bootstrap: gcc-mesboot: Scheme-only bootstrap., guix-commits, 2019/11/24
- 50/63: bootstrap: gcc-mesboot-wrapper: Scheme-only bootstrap., guix-commits, 2019/11/24
- 52/63: bootstrap: Remove m4-bootstrap., guix-commits, 2019/11/24
- 51/63: bootstrap: Add coreutils-mesboot., guix-commits, 2019/11/24
- 53/63: bootstrap: %bootstrap-inputs+toolchain: Scheme-only bootstrap., guix-commits, 2019/11/24
- 54/63: bootstrap: Add sed-boot0., guix-commits, 2019/11/24
- 55/63: bootstrap: Remove %bootstrap-coreutils&co, %bootstrap-bash., guix-commits, 2019/11/24