guix-devel
[Top][All Lists]
Advanced

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

Preparing the reduced bootstrap tarballs, take 3


From: Jan Nieuwenhuizen
Subject: Preparing the reduced bootstrap tarballs, take 3
Date: Sat, 24 Nov 2018 08:36:19 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Jan Nieuwenhuizen writes:

Hello again!

The last problem left for me before we can verify the new bootstrap
tarballs and move them to ftp.gnu.org:guix was for

   ./pre-inst-env guix bootstrap-tarballs

to succeed.  We needed to force #:system "i686-linux" for
mescc-tools-static and mes-minimal.  This triggered a build of
gcc-cross-sans-libc-i686-unknown-linux-gnu, that did not succeed.

I found that the mes-minimal recipe used #:system "i686-linux" and on
x86_64-linux still depended on a i686-linux cross compiler.  With that
removed, I now have for you the tarballs as I produced them.

I have updated core-updates-next with this fix, a documentation update
and to also include Marius' mes bootstrap cleanups from his wip-gcc7
branch.

So, finally for core-updates-next 4ae7dc7b9af64794081b1913740b97acd89c91bc
here are my lucky numbers

--8<---------------cut here---------------start------------->8---
08:21:04 address@hidden:~/src/guix-boot 
$ for i in $(./pre-inst-env guix build --system=i686-linux 
bootstrap-tarballs)/*; do echo $i;guix hash $i; done
/gnu/store/i8rrdivr5ab56kqwbasigp41wqpj1pyp-bootstrap-tarballs-0/guile-static-stripped-2.2.4-i686-linux.tar.xz
17p28xv0y1q729idvf2k1dpcfd469akxm8lnf7gd5a7hmnrb28l5
/gnu/store/i8rrdivr5ab56kqwbasigp41wqpj1pyp-bootstrap-tarballs-0/linux-libre-headers-stripped-4.14.67-i686-linux.tar.xz
0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s
/gnu/store/i8rrdivr5ab56kqwbasigp41wqpj1pyp-bootstrap-tarballs-0/mescc-tools-static-0.5.2-0.bb062b0-i686-linux.tar.xz
11lniw0vg61kmyhvnwkmcnkci9ym6hbmiksiqggd0hkipbq7hvlz
/gnu/store/i8rrdivr5ab56kqwbasigp41wqpj1pyp-bootstrap-tarballs-0/mes-minimal-stripped-0.18-0.08f04f5-i686-linux.tar.xz
0qwpby91hp6afmg5ibdrrk3fw85zxdazfk7rhrdsihsfzqwmfhfx
/gnu/store/i8rrdivr5ab56kqwbasigp41wqpj1pyp-bootstrap-tarballs-0/static-binaries-0-i686-linux.tar.xz
1rs8qh0n6zxmhs0h1b02sydi4vn09qngf3spfpfynkm2n0bxs368
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
08:21:10 address@hidden:~/src/guix-boot 
$ for i in $(./pre-inst-env guix build bootstrap-tarballs)/*; do echo $i;guix 
hash $i; done
/gnu/store/n8lrszv7qf0rwqhibm57d8jykj253bw2-bootstrap-tarballs-0/guile-static-stripped-2.2.4-x86_64-linux.tar.xz
1285hlbfahp414hy3jjdghxjfgi94aj7y3fw0pz7z27421b7z2f9
/gnu/store/n8lrszv7qf0rwqhibm57d8jykj253bw2-bootstrap-tarballs-0/linux-libre-headers-stripped-4.14.67-x86_64-linux.tar.xz
0sm2z9x4wk45bh6qfs94p0w1d6hsy6dqx9sw38qsqbvxwa1qzk8s
/gnu/store/n8lrszv7qf0rwqhibm57d8jykj253bw2-bootstrap-tarballs-0/mescc-tools-static-0.5.2-0.bb062b0-x86_64-linux.tar.xz
11lniw0vg61kmyhvnwkmcnkci9ym6hbmiksiqggd0hkipbq7hvlz
/gnu/store/n8lrszv7qf0rwqhibm57d8jykj253bw2-bootstrap-tarballs-0/mes-minimal-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
0qwpby91hp6afmg5ibdrrk3fw85zxdazfk7rhrdsihsfzqwmfhfx
/gnu/store/n8lrszv7qf0rwqhibm57d8jykj253bw2-bootstrap-tarballs-0/static-binaries-0-x86_64-linux.tar.xz
0bqyjdbas67wgfwv4rcmr5a5b31l8kk8z6gsidxay7liih5rp5hn
--8<---------------cut here---------------end--------------->8---

We may want to change the bootstrap downloads for x86_64 in
bootstrap.scm, mescc-tools-static and mes-minimal-stripped and
linux-libre-headers-stripped to use the x86_64-linux variants (currently
we use the i686-linux tarballs); but as you can see their content is
identical.

Happy verifying ;-)

janneke

>From da91723cc5bba433f59ac40ee669d97e4cbc0e45 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
Date: Tue, 20 Nov 2018 08:12:09 +0100
Subject: [PATCH] bootstrap: Force i686-linux for bootstrap-tarballs.

* gnu/packages/make-bootstrap.scm (%mescc-tools-static): Force i686-linux for
bootstrap-tarballs.
(%mes-minimal): Likewise.  Remove i686-linux cross-compiler dependency.
* gnu/packages/commencement.scm (mes-boot): Support strict i686-linux build on
x86_64.
---
 gnu/packages/commencement.scm   |  2 ++
 gnu/packages/make-bootstrap.scm | 19 +++++++------------
 2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index ed8a429c23..3d3f8e6650 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -174,6 +174,8 @@
                 (symlink (string-append "../nyacc-source/module") "nyacc")
                 (setenv "GUILE_LOAD_PATH" "nyacc")
                 (setenv "GUILE_TOOLS" "true") ; no tools in bootstrap-guile
+                (substitute* "configure.sh"
+                  (("^arch=.*") "arch=i686\n"))
                 (invoke "bash" "configure.sh"
                         (string-append "--prefix=" out))
                 (setenv "MES" "src/mes")
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index fa3914cde7..761420af67 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -542,9 +542,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
     (inherit mescc-tools)
     (name "mescc-tools-static")
     (arguments
-     (substitute-keyword-arguments (package-arguments mescc-tools)
-       ((#:make-flags flags)
-        `(cons "CC=gcc -static" ,flags))))))
+     `(#:system "i686-linux"
+       ,@(substitute-keyword-arguments (package-arguments mescc-tools)
+           ((#:make-flags flags)
+            `(cons "CC=gcc -static" ,flags)))))))
 
 (define %mes-minimal
   ;; A minimal Mes without documentation dependencies, for bootstrap.
@@ -553,16 +554,10 @@ for `sh' in $PATH, and without nscd, and with static NSS 
modules."
       (inherit mes)
       (name "mes-minimal")
       (native-inputs
-       `(("guile" ,guile-2.2)
-         ,@(if (not (string-prefix? "i686-linux" (or (%current-target-system)
-                                                     (%current-system))))
-               ;; Use cross-compiler rather than #:system "i686-linux" to get
-               ;; MesCC 64 bit .go files installed ready for use with Guile.
-               `(("i686-linux-binutils" ,(cross-binutils triplet))
-                 ("i686-linux-gcc" ,(cross-gcc triplet)))
-               '())))
+       `(("guile" ,guile-2.2)))
       (arguments
-       `(#:strip-binaries? #f
+       `(#:system "i686-linux"
+         #:strip-binaries? #f
          #:phases
          (modify-phases %standard-phases
            (add-before 'configure 'optional-dot
-- 
2.19.1

-- 
Jan Nieuwenhuizen <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

reply via email to

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