bootstrap: Replace GNU toolchain seeds with Mes for i686-linux.
* gnu/packages/bootstrap.scm (%bootstrap-inputs)[i686-linux]: Replace %bootstrap-gcc, %bootstrap-binutils, %bootstrap-glibc with %mescc-tools-seed, %mes-seed, %srfi-43 and %tinycc-seed. * gnu/packages/make-bootstrap.scm (%bootstrap-tarballs)[i686-linux]: Replace gcc-tarball, binutils-tarball, glibc-tarball with %mescc-tools-seed, %mes-seed, %srfi-43 and %tinycc-seed. * gnu/packages/commencement.scm (%bootstrap-inputs+toolchain)[i686-linux]: Add glibc-mesboot, binutils-mesboot, gcc-wrapper, gcc-mesboot. (file-boot0)[i686-linux]: Disable strip-binaries?, validate-runpath?. (libstdc++-boot0)[i686-linux]: Add libtool install workarourd: copy libstdc++.so.0.0.20 from gcc-mesboot. (gcc-boot0)[i686-linux]: Add libtool install workaround: touch libcc1.so.0.0.0, libcc1plugin.so.0.0.0. (perl-boot0): Disable validate-runpath?. (bison-boot0)[i686-linux]: Do not use ranlib -D.master
parent
cffe966dd5
commit
d536c39e54
|
@ -655,9 +655,16 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
|
||||||
(define (%bootstrap-inputs)
|
(define (%bootstrap-inputs)
|
||||||
;; The initial, pre-built inputs. From now on, we can start building our
|
;; The initial, pre-built inputs. From now on, we can start building our
|
||||||
;; own packages.
|
;; own packages.
|
||||||
`(("libc" ,%bootstrap-glibc)
|
`(,@(match (%current-system)
|
||||||
|
("i686-linux" `(("linux-libre-headers" ,%bootstrap-linux-libre-headers)
|
||||||
|
("mescc-tools-seed" ,%mescc-tools-seed)
|
||||||
|
("mes-seed" ,%mes-seed)
|
||||||
|
("srfi-43" ,%srfi-43 )
|
||||||
|
("tinycc-seed" ,%tinycc-seed)))
|
||||||
|
|
||||||
|
(_ `(("libc" ,%bootstrap-glibc)
|
||||||
("gcc" ,%bootstrap-gcc)
|
("gcc" ,%bootstrap-gcc)
|
||||||
("binutils" ,%bootstrap-binutils)
|
("binutils" ,%bootstrap-binutils))))
|
||||||
("coreutils&co" ,%bootstrap-coreutils&co)
|
("coreutils&co" ,%bootstrap-coreutils&co)
|
||||||
|
|
||||||
;; In gnu-build-system.scm, we rely on the availability of Bash.
|
;; In gnu-build-system.scm, we rely on the availability of Bash.
|
||||||
|
|
|
@ -1571,7 +1571,13 @@ exec " gcc "/bin/" program
|
||||||
(define (%bootstrap-inputs+toolchain)
|
(define (%bootstrap-inputs+toolchain)
|
||||||
;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed
|
;; The traditional bootstrap-inputs. For the i686-linux Reduced Binary Seed
|
||||||
;; the actual reduced set with bootstrapped toolchain.
|
;; the actual reduced set with bootstrapped toolchain.
|
||||||
(%bootstrap-inputs))
|
(append (match (%current-system)
|
||||||
|
("i686-linux" `(("libc" ,glibc-mesboot)
|
||||||
|
("binutils" ,binutils-mesboot)
|
||||||
|
("gcc-wrapper" ,gcc-mesboot-wrapper)
|
||||||
|
("gcc" ,gcc-mesboot)))
|
||||||
|
(_ '()))
|
||||||
|
(%bootstrap-inputs)))
|
||||||
|
|
||||||
(define gnu-make-boot0
|
(define gnu-make-boot0
|
||||||
(package-with-bootstrap-guile
|
(package-with-bootstrap-guile
|
||||||
|
@ -1716,7 +1722,23 @@ exec " gcc "/bin/" program
|
||||||
;; XXX: libstdc++.so NEEDs ld.so for some reason.
|
;; XXX: libstdc++.so NEEDs ld.so for some reason.
|
||||||
#:validate-runpath? #f
|
#:validate-runpath? #f
|
||||||
|
|
||||||
,@(package-arguments lib)))
|
,@(match (%current-system)
|
||||||
|
("i686-linux"
|
||||||
|
(substitute-keyword-arguments (package-arguments lib)
|
||||||
|
((#:phases phases)
|
||||||
|
`(modify-phases ,phases
|
||||||
|
;; FIXME: why doesn't this package build libstdc++.so.6.0.20,
|
||||||
|
;; when gcc-mesboot builds it fine?
|
||||||
|
;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libstdc++.so.6.0.20 /gnu/store/np5pmdlwfin3vmqk88chh0fgs0ncki79-libstdc++-boot0-4.8.5/lib/libstdc++.so.6.0.20
|
||||||
|
;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libstdc++.so.6.0.20': No such file or directory
|
||||||
|
(add-after 'build 'copy-libstdc++-
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((gcc (assoc-ref %build-inputs "gcc"))
|
||||||
|
(out (assoc-ref outputs "out")))
|
||||||
|
(copy-file (string-append gcc "/lib/libstdc++.so.6.0.20")
|
||||||
|
(string-append "src/.libs/libstdc++.so.6.0.20"))
|
||||||
|
#t)))))))
|
||||||
|
(_ (package-arguments lib)))))
|
||||||
(inputs (%boot0-inputs))
|
(inputs (%boot0-inputs))
|
||||||
(native-inputs '()))))
|
(native-inputs '()))))
|
||||||
|
|
||||||
|
@ -1786,6 +1808,16 @@ exec " gcc "/bin/" program
|
||||||
,(package-name lib)))
|
,(package-name lib)))
|
||||||
(list gmp-6.0 mpfr mpc))
|
(list gmp-6.0 mpfr mpc))
|
||||||
#t)))
|
#t)))
|
||||||
|
,(match (%current-system)
|
||||||
|
("i686-linux"
|
||||||
|
'(add-after 'build 'libtool-workaround
|
||||||
|
(lambda _
|
||||||
|
;; libtool: install: /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install -c .libs/libcc1.so.0.0.0 /gnu/store/8qf47i99nxz9jvrmq5va0g3q1yvs3x74-gcc-cross-boot0-5.5.0-lib/lib/./libcc1.so.0.0.0
|
||||||
|
;; /gnu/store/7swwdnq02lqk4xkd8740fxdj1h4va38l-bootstrap-binaries-0/bin/install: cannot stat '.libs/libcc1.so.0.0.0': No such file or directory
|
||||||
|
(system* "touch"
|
||||||
|
"libcc1/.libs/libcc1.so.0.0.0"
|
||||||
|
"libcc1/.libs/libcc1plugin.so.0.0.0"))))
|
||||||
|
(_ 'identity))
|
||||||
(add-after 'install 'symlink-libgcc_eh
|
(add-after 'install 'symlink-libgcc_eh
|
||||||
(lambda* (#:key outputs #:allow-other-keys)
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(let ((out (assoc-ref outputs "lib")))
|
(let ((out (assoc-ref outputs "lib")))
|
||||||
|
|
|
@ -728,9 +728,14 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||||
%build-inputs)
|
%build-inputs)
|
||||||
#t)))
|
#t)))
|
||||||
(inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
|
(inputs `(("guile-tarball" ,%guile-bootstrap-tarball)
|
||||||
("gcc-tarball" ,%gcc-bootstrap-tarball)
|
,@(match (%current-system)
|
||||||
|
("i686-linux" `(("mescc-tools-seed" ,(@ (gnu packages bootstrap) %mescc-tools-seed))
|
||||||
|
("mes-seed" ,(@ (gnu packages bootstrap) %mes-seed))
|
||||||
|
("srfi-43" ,(@ (gnu packages bootstrap) %srfi-43))
|
||||||
|
("tinycc-seed" ,(@ (gnu packages bootstrap) %tinycc-seed))))
|
||||||
|
(_ `(("gcc-tarball" ,%gcc-bootstrap-tarball)
|
||||||
("binutils-tarball" ,%binutils-bootstrap-tarball)
|
("binutils-tarball" ,%binutils-bootstrap-tarball)
|
||||||
("glibc-tarball" ,(%glibc-bootstrap-tarball))
|
("glibc-tarball" ,(%glibc-bootstrap-tarball)))))
|
||||||
("coreutils&co-tarball" ,%bootstrap-binaries-tarball)))
|
("coreutils&co-tarball" ,%bootstrap-binaries-tarball)))
|
||||||
(synopsis "Tarballs containing all the bootstrap binaries")
|
(synopsis "Tarballs containing all the bootstrap binaries")
|
||||||
(description synopsis)
|
(description synopsis)
|
||||||
|
|
Reference in New Issue