GNU bug report logs - #33038
bootstrap: Regeneration of Mes bootstrap seeds.

Previous Next

Package: guix-patches;

Reported by: Jan Nieuwenhuizen <janneke <at> gnu.org>

Date: Sun, 14 Oct 2018 08:51:01 UTC

Severity: normal

Done: Jan Nieuwenhuizen <janneke <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 33038 in the body.
You can then email your comments to 33038 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 08:51:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jan Nieuwenhuizen <janneke <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Sun, 14 Oct 2018 08:51:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: guix-patches <at> gnu.org
Subject: bootstrap: Regeneration of Mes bootstrap seeds.
Date: Sun, 14 Oct 2018 10:50:25 +0200
Hi!

In order to take care of these TODOs

TODO:
  * regenerate Mes bootstrap seeds, put them on ftp.gnu.org
  * slow tests: "gnu-build-system", "union-build"
  * doc: make "Reduced Binary Seed Bootstrap" subsection in Bootstrapping
  * doc: update “Preparing to Use the Bootstrap Binaries”
  * doc: update “Reducing the Set of Bootstrap Binaries”

I replaced the opaque, manually created %mes-seed and %tinycc-seed by
new pacckages: mes-stripped, mes-stripped-tarball, and %bootstrap-mes.

That allowed me to modify the remaining documentation sections too.
Sending a patch series, also available from

    https://gitlab.com/janneke/guix @core-updates-next
    
WDYT?

Greetings,
janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:02 GMT) Full text and rfc822 format available.

Message #8 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
Date: Sun, 14 Oct 2018 10:58:53 +0200
* gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
* gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.
---
 gnu/packages/commencement.scm |  8 +++++++-
 gnu/packages/mes.scm          | 24 +++++++++++++++---------
 2 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 6fc39f768..61349337e 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -102,7 +102,13 @@
                     (sha256
                      (base32
                       "1whbzahv16bwhavr2azqli0dcbk29p9rsqfbjl69la135z8vgdhx")))
-                  (package-source mes)))
+                  (origin
+                    (method url-fetch)
+                    (uri (string-append "mirror://gnu/mes/"
+                                        "mes-" version ".tar.gz"))
+                    (sha256
+                     (base32
+                      "1dsaaqyanzsq9m5wrcd2bjhb3qd6928c9q97rg5r730pyqjwxyxf")))))
       (native-inputs '())
       (propagated-inputs '()))))
 
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 6dc6dfb4c..4f98cd24f 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -60,17 +60,22 @@ extensive examples, including parsers for the Javascript and C99 languages.")
     (license (list gpl3+ lgpl3+))))
 
 (define-public mes
-  (let ((triplet "i686-unknown-linux-gnu"))
+  (let ((triplet "i686-unknown-linux-gnu")
+        (version "0.18")
+        (revision "0")
+        (commit "08f04f559670d9e8f57eb03bb9b13f4d0b81cedf"))
     (package
       (name "mes")
-      (version "0.18")
+      (version (string-append version "-" revision "." (string-take commit 7)))
       (source (origin
                 (method url-fetch)
-                (uri (string-append "mirror://gnu/mes/"
-                                    "mes-" version ".tar.gz"))
+                (uri (string-append
+                      "https://git.savannah.gnu.org/cgit/mes.git/snapshot/"
+                      name "-" commit
+                      ".tar.gz"))
                 (sha256
                  (base32
-                  "1dsaaqyanzsq9m5wrcd2bjhb3qd6928c9q97rg5r730pyqjwxyxf"))))
+                  "1b7wz9k38pfrz707pd4p8s54q903jr167q73ya7qkna89sxj3wna"))))
       (build-system gnu-build-system)
       (supported-systems '("i686-linux" "x86_64-linux"))
       (propagated-inputs
@@ -93,10 +98,11 @@ extensive examples, including parsers for the Javascript and C99 languages.")
        `(#:strip-binaries? #f))  ; binutil's strip b0rkes MesCC/M1/hex2 binaries
       (synopsis "Scheme interpreter and C compiler for full source bootstrapping")
       (description
-       "GNU Mes [Maxwell Equations of Software] aims to create full source
-bootstrapping for GuixSD.  It consists of a mutual self-hosting [close to
-Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
-[Guile] Scheme.")
+       "GNU Mes--Maxwell Equations of Software--brings the Reduced
+Binary Seed bootstrap to GuixSD and aims to help create full source
+bootstrapping for GNU/Linux distributions.  It consists of a mutual
+self-hosting Scheme interpreter in C and a Nyacc-based C compiler in
+Scheme and is compatible with Guile.")
       (home-page "https://gnu.org/software/mes")
       (license gpl3+))))
 
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:03 GMT) Full text and rfc822 format available.

Message #11 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into
 `Bootstrapping'.
Date: Sun, 14 Oct 2018 10:58:52 +0200
* doc/guix.texi (Reduced Binary Seed Bootstrap):
---
 doc/guix.texi | 141 ++++++++++++++++++++++++++------------------------
 1 file changed, 72 insertions(+), 69 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index a213a0324..48f01e989 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -210,7 +210,6 @@ GNU Distribution
 * Package Modules::             Packages from the programmer's viewpoint.
 * Packaging Guidelines::        Growing the distribution.
 * Bootstrapping::               GNU/Linux built from scratch.
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
 * Porting::                     Targeting another platform or kernel.
 
 System Installation
@@ -8695,7 +8694,6 @@ For information on porting to other architectures or kernels,
 * Package Modules::             Packages from the programmer's viewpoint.
 * Packaging Guidelines::        Growing the distribution.
 * Bootstrapping::               GNU/Linux built from scratch.
-* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
 * Porting::                     Targeting another platform or kernel.
 @end menu
 
@@ -23557,7 +23555,78 @@ re-create them if needed (more on that later).
 For @code{i686-linux} and @code{x86_64-linux} the Guix bootstrap process is
 more elaborate, @pxref{Reduced Binary Seed Bootstrap}.
 
-@unnumberedsubsec Preparing to Use the Bootstrap Binaries
+@menu
+* Reduced Binary Seed Bootstrap::  A Bootstrap worthy of GNU.
+* Preparing to Use the Bootstrap Binaries:: Building that what matters most.
+@end menu
+
+@node Reduced Binary Seed Bootstrap
+@subsection The Reduced Binary Seed Bootstrap
+
+Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
+a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
+Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
+GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap binaries are
+``taken for granted.''
+
+Taking these binaries for granted means that we consider them to be a correct
+and trustworthy `seed' for building the complete system.  Therein lies a
+problem: the current combined size of these bootstrap binaries is about 250MB
+(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}).  Auditing or
+even inspecting these is next to impossible.
+
+For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced
+Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source
+Bootstrap'' and while we are working towards that goal it would be hyperbole
+to use that term for what we do now.}.
+
+The Reduced Binary Seed bootstrap removes the most critical tools---from a
+trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
+Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
+@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
+and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
+binary seeds and a new set of
+@c
+packages <at> footnote{@c
+mescc-tools-boot,
+nyacc-boot,
+mes-boot,
+tcc-boot0,
+tcc-boot,
+make-mesboot0,
+diffutils-mesboot,
+binutils-mesboot0,
+gcc-core-mesboot,
+mesboot-headers,
+glibc-mesboot0,
+gcc-mesboot0,
+binutils-mesboot,
+make-mesboot,
+gcc-mesboot1,
+gcc-mesboot1-wrapper,
+glibc-headers-mesboot,
+glibc-mesboot,
+gcc-mesboot,
+and
+gcc-mesboot-wrapper.
+}
+@c
+the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
+From here on the more traditional bootstrap process resumes.  This approach
+has reduced the bootstrap binaries in size to about 130MB.  Work is ongoing to
+reduce this further.  If you are interested, join us on @code{#bootstrappable}
+on the Freenode IRC network.
+
+@c ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
+@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
+
+Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
+compiler used to build the rest of GuixSD.
+
+@image{images/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
+
+@node Preparing to Use the Bootstrap Binaries
+@subsection Preparing to Use the Bootstrap Binaries
 
 @c As of Emacs 24.3, Info-mode displays the image, but since it's a
 @c large image, it's hard to scroll.  Oh well.
@@ -23710,72 +23779,6 @@ bootstrap GCC with a sequence of assemblers, interpreters, and compilers
 of increasing complexity, which could be built from source starting from
 a simple and auditable assembler.  Your help is welcome!
 
-@node Reduced Binary Seed Bootstrap
-@section The Reduced Binary Seed Bootstrap
-
-Guix---like other GNU/Linux distributions---is traditionally bootstrapped from
-a set of bootstrap binaries: Bourne shell, command-line tools provided by GNU
-Coreutils, Awk, Findutils, `sed', and `grep' and Guile, GCC, Binutils, and the
-GNU C Library (@pxref{Bootstrapping}).  Usually, these bootstrap binaries are
-``taken for granted.''
-
-Taking these binaries for granted means that we consider them to be a correct
-and trustworthy `seed' for building the complete system.  Therein lies a
-problem: the current combined size of these bootstrap binaries is about 250MB
-(@pxref{Bootstrappable Builds,,, mes, Mes Reference Manual}).  Auditing or
-even inspecting these is next to impossible.
-
-For @code{i686-linux} and @code{x86_64-linux}, Guix now features a ``Reduced
-Binary Seed'' bootstrap @footnote{We would like to say: ``Full Source
-Bootstrap'' and while we are working towards that goal it would be hyperbole
-to use that term for what we do now.}.
-
-The Reduced Binary Seed bootstrap removes the most critical tools---from a
-trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
-Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
-@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
-and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
-binary seeds and a new set of
-@c
-packages <at> footnote{@c
-mescc-tools-boot,
-nyacc-boot,
-mes-boot,
-tcc-boot0,
-tcc-boot,
-make-mesboot0,
-diffutils-mesboot,
-binutils-mesboot0,
-gcc-core-mesboot,
-mesboot-headers,
-glibc-mesboot0,
-gcc-mesboot0,
-binutils-mesboot,
-make-mesboot,
-gcc-mesboot1,
-gcc-mesboot1-wrapper,
-glibc-headers-mesboot,
-glibc-mesboot,
-gcc-mesboot,
-and
-gcc-mesboot-wrapper.
-}
-@c
-the ``missing'' Binutils, GCC, and the GNU C Library are built from source.
-From here on the more traditional bootstrap process resumes.  This approach
-has reduced the bootstrap binaries in size to about 130MB.  Work is ongoing to
-reduce this further.  If you are interested, join us on @code{#bootstrappable}
-on the Freenode IRC network.
-
-@c ./pre-inst-env guix graph --type=bag -e '(begin (use-modules (guix packages)) (%current-system "i686-linux") (@@ (gnu packages commencement) gcc-mesboot))' > doc/images/gcc-mesboot-bag-graph.dot
-@c dot -T png doc/images/gcc-mesboot-bag-graph.dot > doc/images/gcc-mesboot-bag-graph.png
-
-Below is the generated dependency graph for @code{gcc-mesboot}, the bootstrap
-compiler used to build the rest of GuixSD.
-
-@image{images/gcc-mesboot-bag-graph,6in,,Dependency graph of the gcc-mesboot}
-
-
 @node Porting
 @section Porting to a New Platform
 
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:03 GMT) Full text and rfc822 format available.

Message #14 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 14 Oct 2018 10:58:54 +0200
* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
(%mes-bootstrap-tarball): New variable.
* gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.
---
 gnu/packages/bootstrap.scm      | 59 +++++++++++++++++++++++++++++++++
 gnu/packages/make-bootstrap.scm | 35 +++++++++++++++++++
 gnu/packages/mes.scm            |  1 -
 3 files changed, 94 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 82d229569..f33fc061e 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -49,6 +49,7 @@
             %bootstrap-gcc
             %bootstrap-glibc
             %bootstrap-inputs
+            %bootstrap-mes
             %mescc-tools-seed
             %mes-seed
             %srfi-43
@@ -610,6 +611,64 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
     (home-page #f)
     (license gpl3+)))
 
+(define %bootstrap-mes
+  ;; The initial Mes.  Uses binaries from a tarball typically built by
+  ;; %MES-BOOTSTRAP-TARBALL.
+  (package
+    (name "bootstrap-mes")
+    (version "0")
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     `(#:guile ,%bootstrap-guile
+       #:modules ((guix build utils))
+       #:builder
+       (let ((out     (assoc-ref %outputs "out"))
+             (tar     (assoc-ref %build-inputs "tar"))
+             (xz      (assoc-ref %build-inputs "xz"))
+             (tarball (assoc-ref %build-inputs "tarball")))
+         (use-modules (guix build utils)
+                      (ice-9 popen))
+
+         (mkdir out)
+         (copy-file tarball "binaries.tar.xz")
+         (invoke xz "-d" "binaries.tar.xz")
+         (let ((builddir (getcwd))
+               (bindir   (string-append out "/bin")))
+           (with-directory-excursion out
+             (invoke tar "xvf"
+                     (string-append builddir "/binaries.tar")))))))
+    (inputs
+     `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
+       ("xz"  ,(search-bootstrap-binary "xz" (%current-system)))
+       ("tarball" ,(bootstrap-origin
+                    (origin
+                      (method url-fetch)
+                      (uri (string-append
+                            "http://lilypond.org/janneke/mes/"
+                            (match (%current-system)
+                              ("x86_64-linux" "mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz")
+                              ("i686-linux" "mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz"))))
+                      (sha256
+                       (match (%current-system)
+                         ("x86_64-linux"
+                          (base32
+                           "14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh"))
+                         ("i686-linux"
+                          (base32
+                           "1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy")))))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "C_INCLUDE_PATH")
+            (files '("share/mes/include")))
+           (search-path-specification
+            (variable "LIBRARY_PATH")
+            (files '("share/mes/lib")))))
+    (synopsis "Bootstrap binaries of Mes")
+    (description synopsis)
+    (home-page #f)
+    (license gpl3+)))
+
 (define %mescc-tools-seed ; todo: add tarballs to alpha.gnu.org/pub/mes/bootstrap/
   (let ((commit "dc4e20e74924a5c80a2b7a77b4d7b927234fa71c"))
     (origin
diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 3553737f1..7bfba3c14 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages libunistring)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages mes)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -47,6 +48,7 @@
             %glibc-bootstrap-tarball
             %gcc-bootstrap-tarball
             %guile-bootstrap-tarball
+            %mes-bootstrap-tarball
             %bootstrap-tarballs
 
             %guile-static-stripped))
@@ -533,6 +535,35 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            #t))))
     (inputs `(("gcc" ,%gcc-static)))))
 
+(define %mes-stripped
+  ;; The subset of Mes files needed for bootstrap.
+  (package
+    (inherit mes)
+    (name "mes-stripped")
+    (build-system trivial-build-system)
+    (source #f)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (srfi srfi-1)
+                      (srfi srfi-26)
+                      (guix build utils))
+
+         (setvbuf (current-output-port) _IOLBF)
+         (let* ((out        (assoc-ref %outputs "out"))
+                (libdir     (string-append out "/lib"))
+                (mes        (assoc-ref %build-inputs "mes")))
+
+           (copy-recursively (string-append mes "/lib") libdir)
+           (copy-recursively (string-append mes "/share/mes/lib") libdir)
+           (for-each remove-store-references
+                     (remove (lambda (file) (or (string-suffix? ".h" file)
+                                                (string-suffix? ".c" file)))
+                             (find-files out ".*")))
+           #t))))
+    (inputs `(("mes" ,mes)))))
+
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
   ;; .scm and .go files relative to its installation directory, rather
@@ -700,6 +731,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
   ;; A tarball with the statically-linked, relocatable Guile.
   (tarball-package %guile-static-stripped))
 
+(define %mes-bootstrap-tarball
+  ;; A tarball with Mes ASCII Seed and binary Mes C Library.
+  (tarball-package %mes-stripped))
+
 (define %bootstrap-tarballs
   ;; A single derivation containing all the bootstrap tarballs, for
   ;; convenience.
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 4f98cd24f..c4cb118e3 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -21,7 +21,6 @@
 (define-module (gnu packages mes)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
-  #:use-module (gnu packages commencement)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages graphviz)
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:04 GMT) Full text and rfc822 format available.

Message #17 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
Date: Sun, 14 Oct 2018 10:58:55 +0200
* gnu/packages/mes.scm (mescc-tools): Update to 0.5.2-0.bb062b0d.
mescc
* gnu/packages/commencement.scm (mescc-tools-boot): Stay at 0.5.2
---
 gnu/packages/commencement.scm | 13 +++++++--
 gnu/packages/mes.scm          | 50 ++++++++++++++++++-----------------
 2 files changed, 37 insertions(+), 26 deletions(-)

diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 61349337e..258655fba 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -117,9 +117,18 @@
    (package
      (inherit mescc-tools)
      (name "mescc-tools-boot")
+     (version "0.5.2")
      (source (origin
-               (inherit (package-source mescc-tools))
-               (patches (search-patches "mescc-tools-boot.patch"))))
+               (method url-fetch)
+               (uri (string-append
+                     "http://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/"
+                     name "-Release_" version
+                     ".tar.gz"))
+               (patches (search-patches "mescc-tools-boot.patch"))
+               (file-name (string-append "mescc-tools" "-" version ".tar.gz"))
+               (sha256
+                (base32
+                 "01x7bhmgwyf6mc2g1hcvibhps98nllacqm4f0j5l51b1mbi18pc2"))))
      (inputs '())
      (propagated-inputs '())
      (native-inputs
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index c4cb118e3..7f7caa7a6 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -106,31 +106,33 @@ Scheme and is compatible with Guile.")
       (license gpl3+))))
 
 (define-public mescc-tools
-  (package
-    (name "mescc-tools")
-    (version "0.5.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append
-                    "http://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/"
-                    name "-Release_" version
-                    ".tar.gz"))
-              (file-name (string-append name "-" version ".tar.gz"))
-              (sha256
-               (base32
-                "01x7bhmgwyf6mc2g1hcvibhps98nllacqm4f0j5l51b1mbi18pc2"))))
-    (build-system gnu-build-system)
-    (supported-systems '("i686-linux" "x86_64-linux"))
-    (arguments
-     `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
-       #:test-target "test"
-       #:phases (modify-phases %standard-phases
-                  (delete 'configure))))
-    (synopsis "Tools for the full source bootstrapping process")
-    (description
-     "Mescc-tools is a collection of tools for use in a full source
+  (let ((commit "bb062b0da7bf2724ca40f9002b121579898d4ef7")
+        (revision "0")
+        (version "0.5.2"))
+    (package
+      (name "mescc-tools")
+      (version (string-append version "-" revision "." (string-take commit 7)))
+      (source (origin
+                (method url-fetch)
+                (uri (string-append
+                      "https://git.savannah.nongnu.org/cgit/mescc-tools.git/snapshot/"
+                      name "-" commit
+                      ".tar.gz"))
+                (sha256
+                 (base32
+                  "1h6j57wyf91i42b26f8msbv6451cw3nm4nmpl1fckp9c7vi8mwkh"))))
+      (build-system gnu-build-system)
+      (supported-systems '("i686-linux" "x86_64-linux"))
+      (arguments
+       `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+         #:test-target "test"
+         #:phases (modify-phases %standard-phases
+                    (delete 'configure))))
+      (synopsis "Tools for the full source bootstrapping process")
+      (description
+       "Mescc-tools is a collection of tools for use in a full source
 bootstrapping process.  It consists of the M1 macro assembler, the hex2
 linker, the blood-elf symbol table generator, the kaem shell, exec_enable and
 get_machine.")
     (home-page "https://savannah.nongnu.org/projects/mescc-tools")
-    (license gpl3+)))
+    (license gpl3+))))
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:05 GMT) Full text and rfc822 format available.

Message #20 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 5/6] bootstrap: Build with %bootstrap-mes.
Date: Sun, 14 Oct 2018 10:58:56 +0200
* gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
(%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
* gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
with %bootstrap-mes instead of %mes-seed and %tinycc-seed.
---
 gnu/packages/bootstrap.scm    | 31 ++-----------------
 gnu/packages/commencement.scm | 57 +++++++++++++----------------------
 2 files changed, 24 insertions(+), 64 deletions(-)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index f33fc061e..6f65550c3 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -51,9 +51,7 @@
             %bootstrap-inputs
             %bootstrap-mes
             %mescc-tools-seed
-            %mes-seed
-            %srfi-43
-            %tinycc-seed))
+            %srfi-43))
 
 ;;; Commentary:
 ;;;
@@ -680,28 +678,6 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
        (base32
         "1lj7df73vxanmffmiwkhcn83r7yd9n8568nkki06bqq5zg526nyz")))))
 
-(define %mes-seed
-  (let ((commit "057fd36735b5605fe582d6b3625f793a62922206"))
-    (origin
-      (method url-fetch)
-      (uri (string-append "https://gitlab.com/janneke/mes-seed"
-                          "/-/archive/" commit
-                          "/mes-seed-" commit ".tar.gz"))
-      (sha256
-       (base32
-        "0vdb4kc05a1kdpmsi8dg425d5f33kp28sgl2fi3s320pc0v4dv13")))))
-
-(define %tinycc-seed
-  (let ((commit "843d47ca682617f21333b50c67851797b8c3fd04"))
-    (origin
-      (method url-fetch)
-      (uri (string-append "https://gitlab.com/janneke/tinycc-seed"
-                          "/-/archive/" commit
-                          "/tinycc-seed-" commit ".tar.gz"))
-      (sha256
-       (base32
-        "0599wwv30js03l1rpmvzfclq3jadzvq04pi29j45nf6fyfg5hhqb")))))
-
 (define %srfi-43
   (origin
     (method url-fetch)
@@ -718,9 +694,8 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
         ((or "i686-linux" "x86_64-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)))
+           ("mes" ,%bootstrap-mes)
+           ("srfi-43" ,%srfi-43 )))
         (_
          `(("libc" ,%bootstrap-glibc)
            ("gcc" ,%bootstrap-gcc)
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 258655fba..4def178a8 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -102,13 +102,7 @@
                     (sha256
                      (base32
                       "1whbzahv16bwhavr2azqli0dcbk29p9rsqfbjl69la135z8vgdhx")))
-                  (origin
-                    (method url-fetch)
-                    (uri (string-append "mirror://gnu/mes/"
-                                        "mes-" version ".tar.gz"))
-                    (sha256
-                     (base32
-                      "1dsaaqyanzsq9m5wrcd2bjhb3qd6928c9q97rg5r730pyqjwxyxf")))))
+                  (package-source mes)))
       (native-inputs '())
       (propagated-inputs '()))))
 
@@ -135,8 +129,8 @@
       `(("mescc-tools-seed" ,%mescc-tools-seed)
         ("mes-source" ,(package-source mes-boot0))
 
-        ("coreutils" ,%bootstrap-coreutils&co)
-        ("mes-seed" ,%mes-seed)))
+        ("bootstrap-mes" ,%bootstrap-mes)
+        ("coreutils" ,%bootstrap-coreutils&co)))
      (build-system gnu-build-system)
      (arguments
       `(#:implicit-inputs? #f
@@ -148,7 +142,6 @@
             (lambda* (#:key outputs #:allow-other-keys)
               (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
                      (mescc-tools-seed (assoc-ref %build-inputs "mescc-tools-seed"))
-                     (mes-seed (assoc-ref %build-inputs "mes-seed"))
                      (mes-source (assoc-ref %build-inputs "mes-source"))
                      (out (assoc-ref %outputs "out")))
                 (with-directory-excursion ".."
@@ -159,12 +152,11 @@
                    (mkdir-p "mes-source")
                    (invoke "tar" "--strip=1" "-C" "mes-source"
                            "-xvf" mes-source)
-                   (mkdir-p "mes-seed")
-                   (invoke "tar" "--strip=1" "-C" "mes-seed"
-                           "-xvf" mes-seed))))))
+                  #t)))))
           (replace 'configure
             (lambda* (#:key outputs #:allow-other-keys)
               (let ((coreutils (assoc-ref %build-inputs "coreutils"))
+                    (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes"))
                     (out (assoc-ref %outputs "out")))
                 (setenv "PATH" (string-append coreutils "/bin"
                                               ":" "../mescc-tools-seed"))
@@ -172,7 +164,7 @@
                 (setenv "PREFIX" out)
                 (setenv "MES_PREFIX" "../mes-source")
                 (setenv "MESCC_TOOLS_SEED" "../mescc-tools-seed")
-                (setenv "MES_SEED" "../mes-seed")
+                (setenv "MES_SEED" (string-append bootstrap-mes "/lib"))
                 #t)))
           (replace 'build
             (lambda _
@@ -223,7 +215,7 @@
         ("nyacc-source" ,(package-source nyacc-boot))
 
         ("coreutils" , %bootstrap-coreutils&co)
-        ("mes-seed" ,%mes-seed)
+        ("bootstrap-mes" ,%bootstrap-mes)
         ,@(if %fake-bootstrap?  ; cheat: fast non-bootstrap testing with Guile
               `(("guile" ,%bootstrap-guile)
                 ("srfi-43" ,%srfi-43)) ; guile-2.0.9 lacks srfi-43; cherry-pick
@@ -239,13 +231,12 @@
               (let ((coreutils (assoc-ref %build-inputs "coreutils"))
                     (srfi-43 (assoc-ref %build-inputs "srfi-43"))
                     (nyacc-source (assoc-ref %build-inputs "nyacc-source"))
-                    (mes-seed (assoc-ref %build-inputs "mes-seed")))
+                    (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes")))
                 (with-directory-excursion ".."
                   (and
                    (mkdir-p "nyacc-source")
                    (invoke "tar" "--strip=1" "-C" "nyacc-source" "-xvf" nyacc-source)
-                   (mkdir-p "mes-seed")
-                   (invoke "tar" "--strip=1" "-C" "mes-seed" "-xvf" mes-seed)
+                   (symlink (string-append bootstrap-mes "/lib") "mes-seed")
                    (or (not srfi-43)
                        (and (mkdir-p "srfi")
                             (copy-file srfi-43 "srfi/srfi-43.scm")
@@ -256,7 +247,7 @@
                 (symlink (string-append "../nyacc-source/module") "nyacc")
                 (setenv "GUILE_LOAD_PATH" "nyacc")
                 (setenv "GUILE_TOOLS" "true") ; no tools in bootstrap-guile
-                (invoke "bash" "-x" "configure.sh"
+                (invoke "bash" "configure.sh"
                         (string-append "--prefix=" out))
                 (setenv "MES" "src/mes")
                 (setenv "MESCC" "scripts/mescc")
@@ -286,15 +277,16 @@
           (replace 'check
             (lambda _
               (when ,%fake-bootstrap?
-                ;; breaks with guile-2.0
+                ;; break with guile-2.0
                 (delete-file "scaffold/boot/50-primitive-load.scm")
                 (delete-file "scaffold/boot/51-module.scm"))
               (and
                (setenv "MES_ARENA" "100000000")
                (setenv "DIFF" "sh scripts/diff.scm")
-               (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t")
-               (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell")
-               (invoke "sh" "-x" "check.sh"))))
+               ;; fail fast tests
+               ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/t")
+               ;; (invoke "sh" "-x" "build-aux/test.sh" "scaffold/tests/63-struct-cell")
+               (invoke "sh" "check.sh"))))
           (replace 'install
             (lambda _
               (invoke "sh" "install.sh"))))))
@@ -319,8 +311,8 @@
   ;; ported to 0.9.27, alas the resulting tcc is buggy.  Once MesCC is more
   ;; mature, this package should use the 0.9.27 sources (or later).
   (let ((version "0.9.26")
-        (revision "4")
-        (commit "46ee3f18477575b189ac224eac853e96afd571e1"))
+        (revision "5")
+        (commit "c7b3f59d1a71e71b470f859b20f0cfe840f3954d"))
     (package-with-bootstrap-guile
      (package
        (inherit tcc)
@@ -333,19 +325,18 @@
                                      "/tinycc-" commit ".tar.gz"))
                  (sha256
                   (base32
-                   "0kq2si81piszpdcnp78w1lp5jd291srbx1f71fir08ybidiriw35"))))
+                   "1agz5w5q6dm51n63hsxii33hxdghmdiacbb5zzxzac3aarfxjb2m"))))
        (build-system gnu-build-system)
        (supported-systems '("i686-linux" "x86_64-linux"))
        (inputs '())
        (propagated-inputs '())
        (native-inputs
         `(("mes" ,mes-boot)
-          ("mes-seed" ,%mes-seed)
           ("mescc-tools" ,mescc-tools-boot)
           ("nyacc-source" ,(package-source nyacc-boot))
 
           ("coreutils" , %bootstrap-coreutils&co)
-          ("tinycc-seed" ,%tinycc-seed)
+          ("bootstrap-mes" ,%bootstrap-mes)
           ,@(if %fake-bootstrap? ; cheat: fast non-bootstrap testing with Guile
                 `(("guile" ,%bootstrap-guile)
                   ("srfi-43" ,%srfi-43)) ; guile-2.0.9 lacks srfi-43; cherry-pick
@@ -361,8 +352,7 @@
                 (let* ((coreutils (assoc-ref %build-inputs "coreutils"))
                        (srfi-43 (assoc-ref %build-inputs "srfi-43"))
                        (nyacc-source (assoc-ref %build-inputs "nyacc-source"))
-                       (mes-seed (assoc-ref %build-inputs "mes-seed"))
-                       (tinycc-seed (assoc-ref %build-inputs "tinycc-seed")))
+                       (bootstrap-mes (assoc-ref %build-inputs "bootstrap-mes")))
                   (setenv "PATH" (string-append
                                   coreutils "/bin"))
                   (format (current-error-port) "PATH=~s\n" (getenv "PATH"))
@@ -371,12 +361,7 @@
                      (mkdir-p "nyacc-source")
                      (invoke "tar" "--strip=1" "-C" "nyacc-source"
                              "-xvf" nyacc-source)
-                     (mkdir-p "mes-seed")
-                     (invoke "tar" "--strip=1" "-C" "mes-seed"
-                             "-xvf" mes-seed)
-                     (mkdir-p "tinycc-seed")
-                     (invoke "tar" "--strip=1" "-C" "tinycc-seed"
-                             "-xvf" tinycc-seed)
+                     (symlink (string-append bootstrap-mes "/lib") "mes-seed")
                      (or (not srfi-43)
                          (and (mkdir-p "srfi")
                               (copy-file srfi-43 "srfi/srfi-43.scm")
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 14 Oct 2018 09:00:05 GMT) Full text and rfc822 format available.

Message #23 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: 33038 <at> debbugs.gnu.org
Subject: [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries.
Date: Sun, 14 Oct 2018 10:58:57 +0200
* doc/guix.texi (Preparing to Use the Bootstrap Binaries): Mention
bootstrap-mes alongside bootstrap-gcc.
(Reducing the Set of Bootstrap Binaries): Mention the Reduced Binary Seed
bootstrap, MesCC-Tools and Mes.
---
 doc/guix.texi | 51 ++++++++++++++++++++++++++++++++++++---------------
 1 file changed, 36 insertions(+), 15 deletions(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 48f01e989..0d7cabaa1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -23583,8 +23583,8 @@ to use that term for what we do now.}.
 The Reduced Binary Seed bootstrap removes the most critical tools---from a
 trust perspective---from the bootstrap binaries: GCC, Binutils and the GNU C
 Library are replaced by: @code{mescc-tools-seed} (a tiny assembler and linker)
-@code{mes-seed} (a small Scheme Interpreter and a C compiler writen in Scheme)
-and @code{tinycc-seed} (the Mes C Library, built for TinyCC).  Using these new
+@code{bootstrap-mes} (a small Scheme Interpreter and a C compiler writen in
+Scheme and the Mes C Library, built for TinyCC and for GCC).  Using these new
 binary seeds and a new set of
 @c
 packages <at> footnote{@c
@@ -23640,7 +23640,15 @@ packages bootstrap)} module.  A similar figure can be generated with
 @example
 guix graph -t derivation \
   -e '(@@@@ (gnu packages bootstrap) %bootstrap-gcc)' \
-  | dot -Tps > t.ps
+  | dot -Tps > gcc.ps
+@end example
+
+or, for the Reduced Binary Seed bootstrap
+
+@example
+guix graph -t derivation \
+  -e '(@@@@ (gnu packages bootstrap) %bootstrap-mes)' \
+  | dot -Tps > mes.ps
 @end example
 
 At this level of detail, things are
@@ -23672,10 +23680,10 @@ write them in an output directory with the right layout.  This
 corresponds to the @code{#:modules} argument of
 @code{build-expression->derivation} (@pxref{Derivations}).
 
-Finally, the various tarballs are unpacked by the
-derivations @code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv},
-etc., at which point we have a working C tool chain.
-
+Finally, the various tarballs are unpacked by the derivations
+@code{gcc-bootstrap-0.drv}, @code{glibc-bootstrap-0.drv}, or
+@code{bootstrap-mes-0.drv} and @code{mescc-tools-boot-0.drv}, at which point
+we have a working C tool chain.
 
 @unnumberedsubsec Building the Build Tools
 
@@ -23741,7 +23749,9 @@ automated way to produce them, should an update occur, and this is what
 the @code{(gnu packages make-bootstrap)} module provides.
 
 The following command builds the tarballs containing the bootstrap
-binaries (Guile, Binutils, GCC, libc, and a tarball containing a mixture
+binaries (Binutils, GCC, glibc, for the traditional bootstrap and
+linux-libre-headers, mescc-tools-seed, bootstrap-mes for the Reduced
+Binary Seed bootstrap, and Guile, and a tarball containing a mixture
 of Coreutils and other basic command-line tools):
 
 @example
@@ -23760,12 +23770,12 @@ know.
 
 @unnumberedsubsec Reducing the Set of Bootstrap Binaries
 
-Our bootstrap binaries currently include GCC, Guile, etc.  That's a lot
-of binary code!  Why is that a problem?  It's a problem because these
-big chunks of binary code are practically non-auditable, which makes it
-hard to establish what source code produced them.  Every unauditable
-binary also leaves us vulnerable to compiler backdoors as described by
-Ken Thompson in the 1984 paper @emph{Reflections on Trusting Trust}.
+Our traditional bootstrap includes GCC, GNU Libc, Guile, etc.  That's a lot of
+binary code!  Why is that a problem?  It's a problem because these big chunks
+of binary code are practically non-auditable, which makes it hard to establish
+what source code produced them.  Every unauditable binary also leaves us
+vulnerable to compiler backdoors as described by Ken Thompson in the 1984
+paper @emph{Reflections on Trusting Trust}.
 
 This is mitigated by the fact that our bootstrap binaries were generated
 from an earlier Guix revision.  Nevertheless it lacks the level of
@@ -23777,7 +23787,18 @@ The @uref{http://bootstrappable.org, Bootstrappable.org web site} lists
 on-going projects to do that.  One of these is about replacing the
 bootstrap GCC with a sequence of assemblers, interpreters, and compilers
 of increasing complexity, which could be built from source starting from
-a simple and auditable assembler.  Your help is welcome!
+a simple and auditable assembler.
+
+Our first major achievement is the replacement of of GCC, the GNU C Library
+and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes
+(a Scheme interpreter and a C99 compiler in Scheme).  Neither MesCC-Tools nor
+Mes can be fully bootstrapped yet and thus we inject them as binary seeds.  We
+call this the Reduced Binary Seed bootstrap, as it has halved the size of our
+bootstrap binaries!  Also, it has eliminated the C compiler binary; i686-linux
+and x86_64-linux GuixSD are now bootstrapped without any binary C compiler.
+
+Work is ongoing to make MesCC-Tools and Mes fully bootstrappable and we are
+also looking at any other bootstrap binaries.  Your help is welcome!
 
 @node Porting
 @section Porting to a New Platform
-- 
2.18.0





Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:23:02 GMT) Full text and rfc822 format available.

Message #26 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap'
 into `Bootstrapping'.
Date: Fri, 19 Oct 2018 23:22:46 +0200
Hello!

Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * doc/guix.texi (Reduced Binary Seed Bootstrap):

LGTM, thanks!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:25:02 GMT) Full text and rfc822 format available.

Message #29 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
Date: Fri, 19 Oct 2018 23:23:53 +0200
Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
> * gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.

Perhaps put a comment as to why we take this particular commit.
Otherwise LGTM!

Thanks,
Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:32:01 GMT) Full text and rfc822 format available.

Message #32 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Fri, 19 Oct 2018 23:31:34 +0200
Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
> (%mes-bootstrap-tarball): New variable.
> * gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.

[...]

> +(define %bootstrap-mes
> +  ;; The initial Mes.  Uses binaries from a tarball typically built by
> +  ;; %MES-BOOTSTRAP-TARBALL.
> +  (package
> +    (name "bootstrap-mes")
> +    (version "0")
> +    (source #f)
> +    (build-system trivial-build-system)
> +    (arguments
> +     `(#:guile ,%bootstrap-guile
> +       #:modules ((guix build utils))
> +       #:builder
> +       (let ((out     (assoc-ref %outputs "out"))
> +             (tar     (assoc-ref %build-inputs "tar"))
> +             (xz      (assoc-ref %build-inputs "xz"))
> +             (tarball (assoc-ref %build-inputs "tarball")))
> +         (use-modules (guix build utils)
> +                      (ice-9 popen))

Please move the ‘use-modules’ form to the top level (non-top-level
‘use-modules’ works pretty much by chance).

> +    (inputs
> +     `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
> +       ("xz"  ,(search-bootstrap-binary "xz" (%current-system)))
> +       ("tarball" ,(bootstrap-origin
> +                    (origin
> +                      (method url-fetch)
> +                      (uri (string-append
> +                            "http://lilypond.org/janneke/mes/"
> +                            (match (%current-system)
> +                              ("x86_64-linux" "mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz")
> +                              ("i686-linux" "mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz"))))
> +                      (sha256
> +                       (match (%current-system)
> +                         ("x86_64-linux"
> +                          (base32
> +                           "14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh"))
> +                         ("i686-linux"
> +                          (base32
> +                           "1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy")))))))))

So these two tarballs were made from this commit, minus the
bootstrap.scm changes?

It would be nice to maybe make this a separate commit (following the
make-bootstrap.scm changes) so that you can state in the commit log
which commit was used to build this binary.

Besides we can consider hosting these binaries on ftp.gnu.org, under
/mes or /guix.

> --- a/gnu/packages/mes.scm
> +++ b/gnu/packages/mes.scm
> @@ -21,7 +21,6 @@
>  (define-module (gnu packages mes)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages base)
> -  #:use-module (gnu packages commencement)

Indeed ‘commencement’ should never be used by other package modules, for
reasons having to do with circularity.

Otherwise LGTM!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:33:02 GMT) Full text and rfc822 format available.

Message #35 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to
 0.5.2-0.bb062b0d.
Date: Fri, 19 Oct 2018 23:32:43 +0200
Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * gnu/packages/mes.scm (mescc-tools): Update to 0.5.2-0.bb062b0d.
> mescc
> * gnu/packages/commencement.scm (mescc-tools-boot): Stay at 0.5.2

I guess the choice of commit relates to that of Mes?  Anyway, LGTM!




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:35:02 GMT) Full text and rfc822 format available.

Message #38 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes.
Date: Fri, 19 Oct 2018 23:34:05 +0200
Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * gnu/packages/bootstrap.scm (%tinycc-seed): Remove.
> (%bootstrap-inputs): Use %bootstrap-mes instead of %mes-seed and %tinycc-seed.
> * gnu/packages/commencement.scm (mescc-tools-boot, mes-boot, tcc-boot0): Build
> with %bootstrap-mes instead of %mes-seed and %tinycc-seed.

LGTM!

BTW, this is all for ‘core-updates-next’, right?

Thank you for all this!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Fri, 19 Oct 2018 21:38:02 GMT) Full text and rfc822 format available.

Message #41 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the
 Bootstrap Binaries.
Date: Fri, 19 Oct 2018 23:37:27 +0200
Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> * doc/guix.texi (Preparing to Use the Bootstrap Binaries): Mention
> bootstrap-mes alongside bootstrap-gcc.
> (Reducing the Set of Bootstrap Binaries): Mention the Reduced Binary Seed
> bootstrap, MesCC-Tools and Mes.

LGTM!

> +Our first major achievement is the replacement of of GCC, the GNU C Library
> +and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes
> +(a Scheme interpreter and a C99 compiler in Scheme).  Neither MesCC-Tools nor
> +Mes can be fully bootstrapped yet and thus we inject them as binary seeds.  We
> +call this the Reduced Binary Seed bootstrap, as it has halved the size of our
> +bootstrap binaries!  Also, it has eliminated the C compiler binary; i686-linux
> +and x86_64-linux GuixSD are now bootstrapped without any binary C compiler.

s/GuixSD/Guix packages/
Perhaps add an @pxref for Mes?

> +Work is ongoing to make MesCC-Tools and Mes fully bootstrappable and we are
> +also looking at any other bootstrap binaries.  Your help is welcome!

I still can’t believe this is a reality, awesome!!  :-)

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sat, 20 Oct 2018 06:43:01 GMT) Full text and rfc822 format available.

Message #44 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
Date: Sat, 20 Oct 2018 08:41:52 +0200
Ludovic Courtès writes:

>> * gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
>> * gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.
>
> Perhaps put a comment as to why we take this particular commit.
> Otherwise LGTM!

Ah, sure; changed the commit message to

    gnu: mes: Update to 0.18.0-08f04f55.
    
    This update is a preparation for the %bootstrap-mes package; due to some small
    problems it fails to build with plain mes-0.18.  mes-boot0 stays at 0.18 only
    to avoid another rebuild world.
    
    %bootstrap-mes brings the building and packaging the Mes bootstrap seeds from
    manual operation into Guix.  We will bump mes and mes-boot0 to a future 0.18.1
    or 0.19 and regenerate %bootstrap-mes in a nex iteration.
    
        08f04f55 build: Oops, remove stray lib/linux/x86_64-mes/crt1.
        33f37f27 build: x86_64 bootstrap build fixes and workaround.
        4ae2a111 doc: Release update.
        5277669b mescc: Oops, delete wrong line of assembly.
        44cc97a8 admin: Release update.
    
    * gnu/packages/mes.scm (mes): Update to 0.18.0-08f04f55.
    * gnu/packages/commencement.scm (mes-boot0): Stay at 0.18.0.

Thanks!

janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sat, 20 Oct 2018 07:37:01 GMT) Full text and rfc822 format available.

Message #47 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sat, 20 Oct 2018 09:35:44 +0200
[Message part 1 (text/plain, inline)]
Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:
>
>> * gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
>> (%mes-bootstrap-tarball): New variable.
>> * gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.
>
> [...]
>
>> +       #:builder
>> +       (let ((out     (assoc-ref %outputs "out"))
>> +             (tar     (assoc-ref %build-inputs "tar"))
>> +             (xz      (assoc-ref %build-inputs "xz"))
>> +             (tarball (assoc-ref %build-inputs "tarball")))
>> +         (use-modules (guix build utils)
>> +                      (ice-9 popen))
>
> Please move the ‘use-modules’ form to the top level (non-top-level
> ‘use-modules’ works pretty much by chance).

Sure, do you mean like this?

--8<---------------cut here---------------start------------->8---
$ git diff -w
diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index f33fc061e..f43e405f8 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -623,12 +623,13 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
      `(#:guile ,%bootstrap-guile
        #:modules ((guix build utils))
        #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 popen))
          (let ((out     (assoc-ref %outputs "out"))
                (tar     (assoc-ref %build-inputs "tar"))
                (xz      (assoc-ref %build-inputs "xz"))
                (tarball (assoc-ref %build-inputs "tarball")))
-         (use-modules (guix build utils)
-                      (ice-9 popen))
 
            (mkdir out)
            (copy-file tarball "binaries.tar.xz")
--8<---------------cut here---------------end--------------->8---

I copied this from %bootstrap-gcc, do we want to to change this in all
bootstrap packages too?

>> +    (inputs
>> +     `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
>> +       ("xz"  ,(search-bootstrap-binary "xz" (%current-system)))
>> +       ("tarball" ,(bootstrap-origin
>> +                    (origin
>> +                      (method url-fetch)
>> +                      (uri (string-append
>> +                            "http://lilypond.org/janneke/mes/"
>> +                            (match (%current-system)
>> +                              ("x86_64-linux" "mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz")
>> +                              ("i686-linux" "mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz"))))
>> +                      (sha256
>> +                       (match (%current-system)
>> +                         ("x86_64-linux"
>> +                          (base32
>> +                           "14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh"))
>> +                         ("i686-linux"
>> +                          (base32
>> +                           "1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy")))))))))

> So these two tarballs were made from this commit, minus the
> bootstrap.scm changes?

Yes.

> It would be nice to maybe make this a separate commit (following the
> make-bootstrap.scm changes) so that you can state in the commit log
> which commit was used to build this binary.

Ah yes, that's nice.  Hmm, there's a slight complication because for the
i686-linux version I cheated; icu4c, python-more-itertools and swig fail
to build on core-updates-next.  I added a hack and reverted that...
which is probably less than great.  So I cleaned it up a bit and just
added it.

So, now we three commits instead of this single one

--8<---------------cut here---------------start------------->8---
0001-bootstrap-Add-mes-stripped-mes-bootstrap-tarball.patch
0002-bootstrap-FTBFS-hack-for-icu4c-python-more-itertools.patch
0003-bootstrap-Add-bootstrap-mes.patch
--8<---------------cut here---------------end--------------->8---

(attached, and also on my gitlab core-updates-next.  Now for a
rebuild...

--8<---------------cut here---------------start------------->8---
The following derivations will be built:
   /gnu/store/bphs45cqip5xh574azfkqn4lb0g53zqa-mes-0.18-0.08f04f5.drv
   /gnu/store/v8d7ygp7pa7ry2cf1yxjhca8inyjy8b6-libffi-3.2.1.drv
   /gnu/store/xbiq4rwjlbq42ycnk3g69fya8xvnl9ch-gzip-1.9.drv
   /gnu/store/pxval06kh8v5k3xyzdyxzrpp21kd7sg0-zlib-1.2.11.drv
   /gnu/store/rav9k4aq3ixrrvw5034vzrdnv5dbjcpv-libstdc++-5.5.0.drv
   /gnu/store/8capphw0wg0jlnixqq8fcgzn10s3wki2-nyacc-0.86.0.tar.xz.drv
   /gnu/store/dbpx4lm42wby5mnwvv03nb2qps4a2zkh-glibc-2.28.drv
   /gnu/store/bk8gwgz8xjzz8zppcnfllvh12f1vf82j-gcc-cross-boot0-wrapped-5.5.0.drv
   /gnu/store/gs7iqdpxcn620q4i19wpqd7gh2bbhlhm-perl-5.28.0.tar.xz.drv
   /gnu/store/7icagga75a82170wa5hv53bx34hl45ws-binutils-2.31.1.tar.xz.drv
   /gnu/store/f2yb5n8sb41r6p26y588yxga8pkbgxlm-guile-2.2.4.tar.xz.drv
   /gnu/store/w6hhc8n4rwx167jablmhm44467vvgcfr-libsigsegv-2.12.drv
   /gnu/store/mhhmqliz3g38il5v6r8pnx4lc091rsl8-m4-1.4.18.drv
   /gnu/store/c6mmp48fmrkd86zhz12672h4q6l8ziz7-expat-2.2.6.drv
   /gnu/store/gzddzbxz1a1is1vflzy8a4mc4y0zqvns-gettext-minimal-0.19.8.1.drv
   /gnu/store/m893488210iawlsd6zp1p55kxm0g4vqg-attr-2.4.47.drv
   /gnu/store/40ag55xgskv7a7bhcb949inva7313amv-perl-5.28.0.drv
   /gnu/store/41nkq7lqsgkl9jzdr0lircl6zgg0wgnl-acl-2.2.52.drv
   /gnu/store/9bz4lny29nn93cn9vinp59ax4kb0xn87-libcap-2.25.drv
   /gnu/store/sj8b0zbvcz1ch2221kcc4da9lzq5hh27-gmp-6.1.2.drv
   /gnu/store/b483f3jksis89nf3g5hdq5yb7ndagv99-texinfo-6.5.tar.xz.drv
   /gnu/store/1jzbjrmdgw0iw2m4dz85hz7k5p54aw7x-module-import.drv
   /gnu/store/3ddfngr5wl63l75va8pvs65qj0563df6-isl-0.18.drv
   /gnu/store/dqyw57nxkb3xyclpkhnrafyshbv14a1a-mpfr-4.0.1.drv
   /gnu/store/jpxlwyrzli83gssfcavn37lhlw9dc0kj-gcc-5.5.0.tar.xz.drv
   /gnu/store/pws8zvs7r92d64ar3i98j9g7ac6y7hfr-libelf-0.8.13.drv
   /gnu/store/rb0d5cn0my5sz3zmsfr0kscr94vs058l-mpc-1.1.0.drv
   /gnu/store/yn922ni0rwxkq882zls0xxf2qayb8r8b-module-import-compiled.drv
   /gnu/store/zb9k79g6y7nscnvznf4spsk0qwfks30f-ld-wrapper-i686-unknown-linux-gnu-0.drv
   /gnu/store/g7lf0knb6nmh9277s5h4mgv1y5ydl8ky-m4-1.4.18.drv
   /gnu/store/8n65d7fs4apfgkzshw6wsv9ysrxnajwh-pkg-config-0.29.2.drv
   /gnu/store/bypa7gcsnmsnkw3vcxgjd41m5w24dswc-libatomic-ops-7.6.6.drv
   /gnu/store/1pp9r25slvggwp9sy40nykvmh6v6n2jv-libgc-7.6.6.drv
   /gnu/store/2q9mh9cfd3dwsw0fws0carsfmqvi2znf-libltdl-2.4.6.drv
   /gnu/store/353wfgj275zjlknfx1hyy7gjvfwdk43v-gmp-6.1.2.drv
   /gnu/store/gsx7h76lyzk4cqsk3fabnjamxc0rj83q-pkg-config-0.29.2.drv
   /gnu/store/y6yji4863382524yl5hfqw3as1i05li9-libunistring-0.9.10.drv
   /gnu/store/06g1zy5r33lv2zasnvsi5k95kpzq6hrb-glibc-intermediate-2.28.drv
   /gnu/store/2k79fghny3glx0ncyx2khx22z5rczbca-gcc-cross-boot0-wrapped-5.5.0.drv
   /gnu/store/gky91kz0kwfyvqdb7ngkr3c80pyzfbk4-libstdc++-boot0-4.9.4.drv
   /gnu/store/1h2fxp63iyjz2i5ammgbs1cfhn93cl5s-gettext-boot0-0.19.8.1.drv
   /gnu/store/66va6gpq32s6ddm2g3mbf6fa32rqbkgq-gcc-cross-boot0-5.5.0.drv
   /gnu/store/6zvd37ilivsiwy0fxj4qxv153gf02cqf-bison-3.0.5.drv
   /gnu/store/8bzgazlsl987z86dl5ic05zg945z0g5w-texinfo-6.5.drv
   /gnu/store/8gv9b9plyd1ypw3kvw0h4jzf15m6b8f6-bash-static-4.4.23.drv
   /gnu/store/f2zrs1fyl1dsgr704i7nfi31lzxizf76-m4-1.4.18.drv
   /gnu/store/ki01mfihxr6wxr4razb7k4f0nghl3q0a-tar-1.30.tar.xz.drv
   /gnu/store/3qbp6f4gwv473p57nrd91m026x4ip48w-tar-1.30.drv
   /gnu/store/brikdb0a1pp4sbaqnvpl5cz52awwqkvh-util-linux-2.32.1.tar.xz.drv
   /gnu/store/ri9zx9xmv9igclc9wq1m3zhsh6iwnhs0-net-base-5.3.drv
   /gnu/store/r0hr89rxiak9n0amp7qqz3my189i9l6r-pixman-0.34.0.tar.xz.drv
   /gnu/store/36xv1ylrn3p5jvvdnvvdh7lrq26d9v8j-python2-pyflakes-2.0.0.drv
   /gnu/store/b2400k8xi6pyz67lbhzgqrl1dh88my7r-python2-flake8-3.5.0.drv
   /gnu/store/ccc9wy6wfn2f5ss70y7cnhamfg29xxfg-python2-pycodestyle-2.4.0.drv
   /gnu/store/h29ii7953mzfpysjxhkr34vhn2xhyipb-python2-mccabe-0.6.1.drv
   /gnu/store/l8gnxji4rlcb87yl2qlaxmkbflvazqk8-python2-configparser-3.5.0.drv
   /gnu/store/8njy2x8hv5j13mcijndicrgfl2jqwlrb-unittest2-1.1.0.tar.xz.drv
   /gnu/store/1xjjyryz3nrpaa1vz0zhvypr501mpn4j-python2-traceback2-1.4.0.drv
   /gnu/store/v7lva1ap0m3fpxcpa2097f0gsih92il1-python2-linecache2-1.0.0.drv
   /gnu/store/w78r0mywxjqqj4zqzgra1q4p02v05c9x-python2-unittest2-1.1.0.drv
   /gnu/store/0zp9i8ksj0cg4lyv45kb0j2w4kysx0f2-python2-enum34-1.1.6.drv
   /gnu/store/d9h12q3x70ayyli4qr7hhq3zdrvr5w8k-python2-mock-2.0.0.drv
   /gnu/store/ddlfnzg8gh33algzg8prmkr06fc0qppa-python2-hypothesis-3.70.3.drv
   /gnu/store/i7rs3pbnpf3s5rd9w89nqm80xxyn505g-python2-coverage-4.4.1.drv
   /gnu/store/jly0spzsm7kxnsqfmwkqs5r5dx34b4lf-python2-functools32-3.2.3-2.drv
   /gnu/store/mvzagypypvn8hv644ddkw5hz1sh0kzv2-python2-pbr-minimal-3.0.1.drv
   /gnu/store/r1zlg9djch87cwlghdnx7wwa53f1yh68-python2-nose-1.3.7.drv
   /gnu/store/41q0l1hylzanwa4w2hrnr4bc21b22ywi-python2-pathlib2-bootstrap-2.3.2.drv
   /gnu/store/7r1xcdny7x3vy7mi804bgyl72a2i4nmz-python2-pytest-bootstrap-3.8.0.drv
   /gnu/store/bc6blr82kmzzhimipbn9j3sxcr6icfps-python2-funcsigs-bootstrap-1.0.2.drv
   /gnu/store/zsqxy0awzd7zddimgng77dix6icwac5l-python2-setuptools-scm-3.1.0.drv
   /gnu/store/28k5m2zz01jz19z5apanaypgyjkc1cp4-python2-pathlib2-2.3.2.drv
   /gnu/store/4d3xsc3x15qrgx68pkw42gv6aycsrryd-python2-pluggy-0.7.1.drv
   /gnu/store/50a0xl3h44282vb3qbvh85kfgwbzq3ys-python2-six-1.11.0.drv
   /gnu/store/6jx4jp6gbkni2ydqkdgla3rzbnwa1w0h-python2-six-bootstrap-1.11.0.drv
   /gnu/store/a9zi7l3z73cnigfxa1p462y9zwcmas8g-python2-pytest-runner-4.2.drv
   /gnu/store/bjws6pmv5r231jgmkbnxy4x86jh0rgpb-python2-atomicwrites-1.1.5.drv
   /gnu/store/dxpx5z0rq7akwqmwy9wprj4y9m7jh4pv-python2-more-itertools-4.3.0.drv
   /gnu/store/jbj3gpv4i1yrf93gwml8dsgx7ihjqd69-module-import-compiled.drv
   /gnu/store/jxp75ljabgj8kkpwhx0cliibkmn495wc-python2-py-1.5.4.drv
   /gnu/store/m388wnhx3gf66walgb2npx98vjgdcg9b-module-import.drv
   /gnu/store/nyn26kdrbfzh36g62rsp30h4cfs1mmah-python2-scandir-1.9.0.drv
   /gnu/store/rbz98wzwqbswp5fz9f5lpc802jp4p82d-python2-pytest-3.8.0.drv
   /gnu/store/w1inmhdd3nlkz2c3phiknjbg20an361n-python2-funcsigs-1.0.2.drv
   /gnu/store/xxca9rzi04k3m3cqyj3pbrmf3shs21av-python2-attrs-bootstrap-17.4.0.drv
   /gnu/store/b9dvzb5vz1d2s8lfb6xb6zvpv986ygw4-python2-fonttools-3.28.0.drv
   /gnu/store/x6kpijcjq31cnfjiahddmj52jyy93dpf-tcsh-6.20.00.tar.xz.drv
   /gnu/store/9dxhs1xgqvnip051qbk3fp5snn3lhwb8-boost_1_68_0.tar.xz.drv
   /gnu/store/bql3ni5g2ra6qic0wmncw9wjdqp7f1x2-tcsh-6.20.00.drv
   /gnu/store/4w00spnh6cg37p0jdz7dc9a4pb2l05hk-pcre-8.42.drv
   /gnu/store/gihrzdyf1k5nmlry7dxwm4j602h4s6jn-boost-1.68.0.drv
   /gnu/store/g6wcv1y0bqj5yimw2gj97gfwd2b5k7f1-libarchive-3.3.2.tar.xz.drv
   /gnu/store/vz1i6gmnnn22749my69n5v50f855xybn-lzo-2.10.drv
   /gnu/store/ah5j33bi3ymygxsrcr8r3pv0fs23m4la-Linux-PAM-1.2.1.tar.xz.drv
   /gnu/store/4mm2s9yxzjzr818sb0iw3ssflj71bspy-shishi-1.0.2.tar.xz.drv
   /gnu/store/nv116sgn1nahqnbfklbk9l9lsdnyg0ap-linux-pam-1.2.1.drv
   /gnu/store/nzaqj29k09c70lkc8zx0mpzfbkvsjla1-shishi-1.0.2.drv
   /gnu/store/g4rd9429i7cfax4vhrahcqqwgg9z6nll-unzip60.tar.xz.drv
   /gnu/store/9dgah55cs5r8a5wckaw0pmfgldr1d46i-unzip-6.0.drv
   /gnu/store/ibn47hr8qh0wy76jq2p0s1mm81k181wn-net-tools-1.60-0.479bb4a.drv
   /gnu/store/jwaznmglj03a8sn6kd4xpybmr95w6043-gnutls-3.5.18.tar.xz.drv
   /gnu/store/4cmc9d7c8x1l33mv6vvs91jhy5cn5wxm-cunit-2.1-3.drv
   /gnu/store/55kldr5f8ywqmcmrj2ax1h9r5k0k5vbd-jansson-2.11.drv
   /gnu/store/cjni13phddsqjyhl4v77m85s8khax236-libev-4.24.drv
   /gnu/store/nz2s23jmlxvzg5kw3hzbyklf3vzlnl8f-jemalloc-5.1.0.drv
   /gnu/store/wf369yzkapk66cxy5jrbsw9kmrd3b3vy-c-ares-1.14.0.drv
   /gnu/store/d073rmnynlhrvkhvhqygnwxlkyv1zc9a-libssh2-1.8.0.tar.xz.drv
   /gnu/store/wkkbv1kcbk0p7ryl90393cf93mjnh0cn-lzip-1.20.drv
   /gnu/store/1gr026h9g01iiyb828hgqhbh4vif3i6i-mit-krb5-1.16.1.drv
   /gnu/store/cq1ks7d18xc8nxxndr15wi0gavxqbgws-cyrus-sasl-2.1.26.tar.xz.drv
   /gnu/store/f8py4zn4gy566016kx0dv3ppj83p9cnn-automake-1.16.1.tar.xz.drv
   /gnu/store/ymi7crm2yjlhkis84aprf14dyh9fg6j5-autoconf-2.69.drv
   /gnu/store/32pa4sr2s8qqafwz5666kfd520cm9zrb-libtool-2.4.6.tar.xz.drv
   /gnu/store/69vljdh03kfx17xxfgsm2sjf9rnc1rm6-autoconf-wrapper-2.69.drv
   /gnu/store/vfcb2z2wxl4h8bdg3iyng9nm7lk8rlml-automake-1.16.1.drv
   /gnu/store/4sgqikml6f6nvxvd93ii2xnzn02jqmjj-libtool-2.4.6.drv
   /gnu/store/9skg19shbsal0l0bajnv1vnrj75b87g9-bdb-5.3.28.drv
   /gnu/store/z10bjm91jpxvjh3921xdzrgyib802ns0-cyrus-sasl-2.1.26.drv
   /gnu/store/18ixgx50lpqrm7c4lgzh6wc60j2d82jf-psutils-17.drv
   /gnu/store/rq9w87gk5jsmj9cf4gwzjj4zil18bava-groff-1.22.3.tar.xz.drv
   /gnu/store/2jgvb56kvvhkb52yc4z8vm6s4hz8n7fl-groff-1.22.3.drv
   /gnu/store/70bcxynv21wm624784zbqr4wz8wakp1r-openldap-2.4.46.drv
   /gnu/store/7iyhhax8m9wqisha355q1rf03lk9s624-libidn2-2.0.5.drv
   /gnu/store/87hzb4qzyk8vl1fqf1k6k8r151mknhkz-libtasn1-4.13.drv
   /gnu/store/dyhysj4djvb891wpn6hnbpf1jb85cdmr-libssh2-1.8.0.drv
   /gnu/store/mwvz987pnc2h1hxfvh6iy0202h0fg5dk-nghttp2-1.32.0.drv
   /gnu/store/vd09cmlqsaw4fixh7xqwdkpdac38hrbh-gnutls-3.5.18.drv
   /gnu/store/w5ayiv3jrmb6d7d614w9ahwjg6m67jyv-libidn-1.35.drv
   /gnu/store/y651q2i1fvpr2d35zimi6xbiycj6srpz-gss-1.0.3.drv
   /gnu/store/zmwvhkiv5cgq8anb0lnc3gy8y9j4kzrx-nettle-3.4.drv
   /gnu/store/330v3vg07kv3wg10kfsrxq1sx6gah7pr-file-5.33.drv
   /gnu/store/hc4vx0rkbpmxhvvz95s8bm68s76gzq2x-curl-7.61.1.drv
   /gnu/store/j83gwihrcjw2hd11jsx4cyw3b1jzjlj6-libuv-1.23.0.drv
   /gnu/store/kpb356kq71xq7xda03hsj2v3mqqfxdy8-rhash-1.3.6.drv
   /gnu/store/vk3pgqysvyib66n3hdcx8v47mvhdbg85-libarchive-3.3.2.drv
   /gnu/store/w4iwzmvb7v1mk2344gd2rhrizyc3sfvz-cmake-3.12.2.tar.xz.drv
   /gnu/store/scbk06qnkcbphydgrzhghb420rv9n5vh-nasm-2.13.03.drv
   /gnu/store/1vfzg7vpidawkrq62ywa687fymk7pav2-lcms-2.9.drv
   /gnu/store/68h8ifir3c6qxhbfq38y1hyfydbbcdzs-libjpeg-turbo-2.0.0.drv
   /gnu/store/9701719rvn9sx3v4536fp5b5y2slc0pl-cmake-3.12.2.drv
   /gnu/store/fxcnkg1l44xaqynlvlbzvqgci61q66g5-module-import.drv
   /gnu/store/imyhz1cpfr0hr4hhw69wiryd2mf7z03x-module-import-compiled.drv
   /gnu/store/qr5nvlalj2j6kb6xwlrzbh5h4jgwrm0a-openjpeg-2.3.0.drv
   /gnu/store/rspbfm5s6jysh8aq3jlf3c1jlli9jqzh-cairo-1.14.12.drv
   /gnu/store/jgpbn052xkh2yx1spkaxfv3vdc0qwzx4-tiff-4.0.9.tar.xz.drv
   /gnu/store/la89w2rv7906nibn64kjpk86qqprh0jm-jbig2dec-0.15.tar.xz.drv
   /gnu/store/391s09gr41lhvhkm87s1glvi2vbhg2sa-ghostscript-9.24.tar.xz.drv
   /gnu/store/79hscx83qkpkgqb7vc14a4nc3l2njg92-jbig2dec-0.15.drv
   /gnu/store/k5d2h2d3qwkkq6hamrfv2xqh98lh4hnc-libpaper-1.1.24.drv
   /gnu/store/qcxma3038ygysypp6rgasfxkp797bidq-libtiff-4.0.9.drv
   /gnu/store/0ip03rh8qhvxcps01s14nmf5rl9jz8na-cairo-1.14.12.tar.xz.drv
   /gnu/store/cl0mb707i2iv3jvhyk9b26vvdywjihxp-ghostscript-9.24.drv
   /gnu/store/j8nc5yl63755g52g0wbvfxidv9a61dcs-poppler-0.68.0.drv
   /gnu/store/qb14zigyffcap09a3vxav7px6xqd479r-libspectre-0.2.8.drv
   /gnu/store/pacgkri88pd2f306c8fisb3dcljwxw09-libXt-1.1.5.tar.xz.drv
   /gnu/store/3qi523qqs4g80rgvb7ppf2l512mf3w4a-gs-fonts-8.11.drv
   /gnu/store/m6f6nxxx9x6m6ficq1kjal88hn13jzqf-gperf-3.1.drv
   /gnu/store/g57x458v8jd7jhmg2zr32pz51hi5pia8-tk8.6.8-src.tar.xz.drv
   /gnu/store/z1hj0p9yy6j9a9nsibn31c70hp0jq2r6-libxft-2.3.2.drv
   /gnu/store/21fvmbh6ij78jsqv8p7fbc3qmc4afb8d-tk-8.6.8.drv
   /gnu/store/9pjz9w044dqabprilwv8n6i38vszkknb-tcl-8.6.8.drv
   /gnu/store/mrnjfnw7hkwv90d5ylqph31d2f4qkm70-Python-2.7.15.tar.xz.drv
   /gnu/store/mvx66dbxpm12dpfzaz8j5zn3fp7vyjbm-gdbm-1.18.drv
   /gnu/store/rb29w2nn59kxqryfq48n55s305s9mshc-sqlite-3.24.0.drv
   /gnu/store/j39yf4wg9jyj2h49nvq1hzf4l1nsy5vg-dbus-1.12.10.tar.xz.drv
   /gnu/store/ablr2vf5j12x19fqv6dsk86swz8yifx7-gettext-0.19.8.1.tar.xz.drv
   /gnu/store/9psnljb4mjjf5djhjmpnsg99rljk966h-acl-2.2.52.src.tar.xz.drv
   /gnu/store/8v6jzgpnadcm4blmq10zryy912x435c5-attr-2.4.47.drv
   /gnu/store/2kvfxildblic3rpmbrhqfvplhhgrmard-libcap-2.25.drv
   /gnu/store/nknfyjpq6yz91s0i5833cjyyfkdrgivy-acl-2.2.52.drv
   /gnu/store/1a2ygp0sigrv9j1fqws6ccfsi1b7gx0j-coreutils-8.30.drv
   /gnu/store/bflw2px8ddzicxdhk8kh6f2psci9ks4p-tzdata-2018d.drv
   /gnu/store/ihy3vp554vmf2ybjpjg3kdiwb22xhpz9-gettext-minimal-0.19.8.1.drv
   /gnu/store/kwfg3699z50f7gp7jnhj25ms73g1blgj-glib-2.56.2.tar.xz.drv
   /gnu/store/m64v0dzll9zvb8ibbsn1fl67i0x39rww-dbus-1.12.10.drv
   /gnu/store/cnjn7zsxcrhsl14rhyqhga5i1kfwv313-indent-2.2.10.drv
   /gnu/store/ybq3whhjgychhljk8015l3di0qc73r9v-bison-3.0.5.drv
   /gnu/store/8654yb7828ljfrq2z2pswjz8szlc61w3-flex-2.6.4.drv
   /gnu/store/d23lk2vlvsdsyy165iqlz5awvjcg3ims-gobject-introspection-1.56.1.tar.xz.drv
   /gnu/store/jdpgzjm8kzx14pfmh99apfwkmwyjs6sm-glib-2.56.2.drv
   /gnu/store/wqvjkpp60785qv61xfwmb18jlc7si1m9-python2-2.7.15.drv
   /gnu/store/br1hk2h8y8h56p1va8hw4swy8cjx90wq-gobject-introspection-1.56.1.drv
   /gnu/store/j7ks2pabi1bwcclvi23giqw6rfzshrl9-python-3.7.0.drv
   /gnu/store/jl5ml0ykc205qzd9qiiqgnw1n112mkky-python-wrapper-3.7.0.drv
   /gnu/store/sjabrfd8ld87qcxq4fj6v8zsiz79kqxm-which-2.21.drv
   /gnu/store/hf9296iw3fx6i7id6c75243xr7gs3xbb-libgd-2.2.5.tar.xz.drv
   /gnu/store/nv21wg2dmza1fxjy8ryqp948mwa5xnfh-bzip2-1.0.6.drv
   /gnu/store/f4rywr441c85kx6xad1cylj6zdnc5l7g-openssl-1.0.2p.tar.xz.drv
   /gnu/store/0405s3msq7597fdigwap5dz7cvq0r6xv-Python-3.7.0.tar.xz.drv
   /gnu/store/834jh1i2pa9ji0y19cqqjcj0cd1hhji3-openssl-1.0.2p.drv
   /gnu/store/yk7n9qhphsia9m08gjk0svafbxzy465j-readline-7.0.tar.xz.drv
   /gnu/store/a0l2plf8zfypdhh8mnpwl2ryaw04ykqs-readline-7.0.5.drv
   /gnu/store/c6gy9hjipca5gkvimxafj5z7lkizr4wc-ncurses-6.1.drv
   /gnu/store/5x29i5bpwsy1acn2gxh7789vjzkvg975-module-import-compiled.drv
   /gnu/store/sl0aqj5f72z45w6svp3aypc8f1jxysx7-bash-4.4.23.drv
   /gnu/store/v2f59p5g404m2nk6pwff4fw5fl62xkpz-module-import.drv
   /gnu/store/9r0qw0i0f99kfngpdpn989g4jw15fvln-libgcrypt-1.8.3.tar.xz.drv
   /gnu/store/49xngblbl91y2w7gz5qka6fr21aw0d2f-xz-5.2.4.drv
   /gnu/store/50rg4jiiwdqdg9xg0x19mrs21djjwpa1-libxml2-2.9.8.drv
   /gnu/store/gpfljxgx93nncinc51plvjblbm54fbb0-libgcrypt-1.8.3.drv
   /gnu/store/h31qc5jlvv09faq392a82mwfk4wq840z-libxslt-1.1.32.tar.xz.drv
   /gnu/store/jk5dsb80hfqhbcj8sywbw688vy0gq04h-libgpg-error-1.32.drv
   /gnu/store/005sww4vpb05nbqsdyms61xhsygq8wg9-xcb-proto-1.13.drv
   /gnu/store/6ch1r1nfs261b3200csan57dkzvcyivd-libxslt-1.1.32.drv
   /gnu/store/h1mblxgbywpbvlpbkd4vh5z7nig523rf-python-minimal-wrapper-3.7.0.drv
   /gnu/store/xl9pbww96cyrg2pd5alkq7linz5hr0r4-python-minimal-3.7.0.drv
   /gnu/store/giihhfcvzbprl3j4jv08yzl2vl6fcjwh-libbsd-0.9.1.drv
   /gnu/store/zg8ndpy71gb0rj36w8s4kb50qfnqcmwn-xtrans-1.3.5.drv
   /gnu/store/083w8h3d719pwv1cv2al2r6c83cvaqmw-libffi-3.2.1.tar.xz.drv
   /gnu/store/9m2qa2n7laivi3fbjahg4a63a4sv6as6-bash-4.4.tar.xz.drv
   /gnu/store/gcylp6j6dkxnm35i8qx6v6smfdfbqvrh-bash-minimal-4.4.23.drv
   /gnu/store/hwgmvhc51wx6n2nk71clhfqdj0vvfchd-libffi-3.2.1.drv
   /gnu/store/070vnahp6iy5yhgrq6ny083isv0d2g4g-guile-2.0.14.drv
   /gnu/store/08nz5l13l3xcjb2m9ynjmn313rfmq0rw-libxext-1.3.3.drv
   /gnu/store/0bia2h4zx0m3ydkdpqv0qpr062n05681-libxau-1.0.8.drv
   /gnu/store/0pgw9pr3wqyam9x83wzq75ab1xv13lfn-libpng-1.6.34.drv
   /gnu/store/1w6hppji0jag8hrdsxrhzls998d4dvm8-libice-1.0.9.drv
   /gnu/store/1zgflgy2x48mg84aisfzprman2kyzymg-libxcb-1.13.drv
   /gnu/store/24zw4azrlv55d2kmg4qk47z6q9mlx19q-libjpeg-9c.drv
   /gnu/store/4h0dwn6b6m4nl6368m1n5v6pjy8vrwpj-libpthread-stubs-0.4.drv
   /gnu/store/6c1p7dv8rjlvnj1l7p7fdw8zcdm67273-icu4c-62.1.drv
   /gnu/store/6i5d4x9ncccsawr11snv4hwnbnavj6k9-libxrender-0.9.10.drv
   /gnu/store/6rv6smrqf5d7hkn503ksvdwq7p7gk2cv-libxaw-1.0.13.drv
   /gnu/store/6ywzsnnl4wvm0x5w5j0f6dmrai8np385-gts-0.7.6.drv
   /gnu/store/6zwxx9l9mr8vmnkmp8dnp13nmals2h37-libxmu-1.1.2.drv
   /gnu/store/84y441mlgcwmm0iqxhvmkzbasvbimdvl-libsm-1.2.2.drv
   /gnu/store/8hshwki238vgwmh016s13m8l8z8a9aj4-gd-2.2.5.drv
   /gnu/store/8icygsr1ymgb7dsmiai06p83d91imq6c-libx11-1.6.6.drv
   /gnu/store/8jcad438imknc1ajz9zvz4jr4wibg19i-harfbuzz-1.8.8.drv
   /gnu/store/ar6gq40s08mb1flr2i613hyxdcsmng4g-pango-1.42.4.drv
   /gnu/store/br42l5f811k3yxmjb5p0g2lpfa8bpalf-fontconfig-2.13.1.drv
   /gnu/store/dv3b809qi1610w26l8263dwr0am7q105-libxt-1.1.5.drv
   /gnu/store/gg87iia8pxh549bfffvmdi4i4sck9z78-cairo-1.14.12.drv
   /gnu/store/ginq25h0xfiv5dmw5hdv898nsd443bkz-xorgproto-2018.4.drv
   /gnu/store/ixhzivppsarpx8ysgqpfqhaci3yrqdfj-swig-3.0.12.drv
   /gnu/store/j9wmgny74q5v7gs5bwq4d4wziz4c1byi-graphite2-1.3.12.drv
   /gnu/store/jgmscbf0rcq38dvm0avg1nm8v921cxpa-pixman-0.34.0.drv
   /gnu/store/kf0jq8dswkccyn7d58rpjddffq4q0wcz-expat-2.2.6.drv
   /gnu/store/l5c7hcj1pfjjm5cyqj7amh2hccc26k88-libxdmcp-1.1.2.drv
   /gnu/store/la9wxnhpwhgi2qqgzqy3bq6kaxczvz41-bison-3.0.5.drv
   /gnu/store/mfm1q9i1n7gz78ip5nsd1i8gqhk2sin8-util-linux-2.32.1.drv
   /gnu/store/p5sc6acsqplj1lj6lxqn7gbksynplj24-zlib-1.2.11.drv
   /gnu/store/qki9nf7a4nch40g72j2mlr0if2c7kaqh-freetype-2.9.1.drv
   /gnu/store/v24xs418zrqcjymk1409fykmykw9l9x6-fribidi-1.0.5.drv
   /gnu/store/zr7viwain7f5vax41bbkb9jqywaf65ma-util-macros-1.19.2.drv
   /gnu/store/zvalbg4gi2qlv6djmg632mg12a6whxn2-libxpm-3.5.12.drv
   /gnu/store/958c1r55qawp8zzk7isrmj2gc453aayk-pkg-config-0.29.2.drv
   /gnu/store/i1956icy2ygfms3f4nfr3gv73fzchlv7-libatomic-ops-7.6.6.drv
   /gnu/store/4wdpldc01lwqdqp1hk5gv0qasmczv1ks-perl-boot0-5.28.0.drv
   /gnu/store/4hm2li1by1c5v0mlmh21xy54pglij2z6-lzip-1.20.drv
   /gnu/store/cfnlg9kwmzs4cf22lp6015s3z83szcyi-ed-1.14.2.drv
   /gnu/store/fnykjyw0h9yiqp756yyz3g7pjfpyqwv2-module-import-compiled.drv
   /gnu/store/jkjiryh0v8i4zrc4mavlh8cikmmwf4sh-m4-1.4.18.tar.xz.drv
   /gnu/store/hss34q6152bincdvpmnfavpsg0pq17iv-m4-1.4.18.drv
   /gnu/store/i0a8ki7377q9c9zg4v065b2y8996qy91-gmp-6.1.2.tar.xz.drv
   /gnu/store/c7xki19y7dgv16klicyfxfc4fa9wc33g-glibc-headers-mesboot-2.16.0.drv
   /gnu/store/lavsjb6dhrgpw9irb2gf23pa7qnsz65c-mesboot-headers-0.18-0.08f04f5.drv
   /gnu/store/r9dhvhhhg8y17ymifrd0wn4ji4p0608z-gcc-core-mesboot-2.95.3.drv
   /gnu/store/b8sq9jrfdg6zi31m4m1qzs5rvz0jhyas-tcc-boot0-0.9.26-4.46ee3f1.drv
   /gnu/store/iz3qnd398va3qhprnb60vxdb9ai45h08-mes-boot-0.18-0.08f04f5.drv
   /gnu/store/mzgarfi6pyg6ybfnwj6vmn8wym0czmir-tcc-boot-0.9.27.drv
   /gnu/store/864c8w439yw51xxfpzqklm8giamqzrvl-binutils-mesboot0-2.20.1a.drv
   /gnu/store/jm7dpc4hmlgizzvch86sjl9dggsjx4zk-make-mesboot0-3.80.drv
   /gnu/store/s94wgv4v9am10i7x94cpdxnv6yr7qy92-gcc-mesboot0-2.95.3.drv
   /gnu/store/yaq4a6am5lm36q0kj2icb5qv08zzck18-glibc-mesboot0-2.2.5.drv
   /gnu/store/014av6h60db5ixavrbbk51qpdl7f19jw-make-mesboot-3.82.drv
   /gnu/store/96wl9w1kg9mq3cv8wdfzhkmapyyp31ch-gcc-mesboot1-wrapper-4.7.4.drv
   /gnu/store/qrv7qb8w4yyb88wbs9399l4vki85kfsl-diffutils-mesboot-2.7.drv
   /gnu/store/zrcd2ilg4bja9vrzvas48g0c9ah2hf7k-gcc-mesboot1-4.7.4.drv
   /gnu/store/g19myai8znkydp4wyzmadzxid8p4620c-gcc-mesboot-4.9.4.drv
   /gnu/store/hv2wnd46a5zq9c9yqx61pvi9246qkwsv-binutils-mesboot-2.20.1a.drv
   /gnu/store/waqjqg1b733zj2q7ii22yqfqzlwhjldc-glibc-mesboot-2.16.0.drv
   /gnu/store/261mb7wwa7qs9ldaz6jknviy0p3ll9l5-ld-wrapper-boot3-0.drv
   /gnu/store/3ad9mfnn4y9xnm85w4bvfbfc9h8jlkx4-ld-wrapper-boot0-0.drv
   /gnu/store/3ls6lc1qf345fm470n6a1ida5xzjakgq-findutils-boot0-4.6.0.drv
   /gnu/store/461mg5i4q0pd0q0wvrbn8n6d87i48nim-diffutils-boot0-3.6.drv
   /gnu/store/p9ang26iqfl2fpdgqciygd683kqam3pg-gcc-mesboot-wrapper-4.7.4.drv
   /gnu/store/sv4im4qld0gy2fb4ad0nnwhjwydvxx2d-file-boot0-5.33.drv
   /gnu/store/yngx3kvncs98mkq3mka0ibd1svkc7fnp-make-boot0-4.2.1.drv
   /gnu/store/yyzgslk3878k4ncc2j0lglphmkp6sidz-binutils-cross-boot0-2.31.1.drv
   /gnu/store/161ynzclzh5q0xf6pqbawhx9rr9fgbbb-xz-5.2.4.drv
   /gnu/store/1fchmwdj9v9hz89hdfzz20dpblwmq3cq-gmp-6.1.2.drv
   /gnu/store/1jwkxq2g1jndfy9qf84l35knzshbyjap-tar-1.30.drv
   /gnu/store/2nggvgy1gx3zh2gny8f40drnmn1ql0sq-patch-2.7.6.drv
   /gnu/store/3b83v0xmnnb1hiiz5m8bph8jv83lza39-module-import-compiled.drv
   /gnu/store/3rkwbp6ygjv7llknmnyvg27rl0zan201-linux-libre-headers-4.14.67.drv
   /gnu/store/51wh1j7z8x7k8wnivmh5wizyhfhf5c4j-bash-minimal-4.4.23.drv
   /gnu/store/5ablb8j0nz3ld180iqngxw90h8wrq5qg-libltdl-2.4.6.drv
   /gnu/store/5sn4p7cz4y6x08gw44lbsqwvpl4l3g2v-help2man-1.47.6.drv
   /gnu/store/8jli3rbikb4bk6sx3bkwx051v0sy5jzx-diffutils-3.6.drv
   /gnu/store/8xp1wrpllnij44a9gs5g09j612c0h0nk-libgc-7.6.6.drv
   /gnu/store/8zpynp6skz6w6wkjsq04ylaijsdzsy5j-graphviz-2.40.1.drv
   /gnu/store/as7naflfvd0fh3s31llv9ff4sm3krmbf-gzip-1.9.drv
   /gnu/store/f12932877gzp7dja2n4xawa4xc6mij2m-make-4.2.1.drv
   /gnu/store/g3kz7b5ipp5075anfzvldqj21k93l7x1-findutils-4.6.0.drv
   /gnu/store/gwrqz84fml3hbnrldh5fmrswai4h01y4-mescc-tools-0.5.2.drv
   /gnu/store/hlal0q9xajp78llp4hd8y36nwlk0g99m-sed-4.5.drv
   /gnu/store/ijs6qvdv82kd0wx78fzxgj8z4503ps67-gcc-cross-sans-libc-i686-unknown-linux-gnu-5.5.0.drv
   /gnu/store/j5mbx938506x1hvz7cz0m28ld033y6da-texinfo-6.5.drv
   /gnu/store/j93g2kba6v2fx2mxznva643rysxj6g1s-coreutils-8.30.drv
   /gnu/store/jsxpryfsad91fgsq12413k83g5amdiha-module-import.drv
   /gnu/store/kv4jyl04wpni464wqdpb1zbkxvxy9qfp-bzip2-1.0.6.drv
   /gnu/store/kvvyidgf4maqgrw849fjpd1d6fc4raya-ld-wrapper-0.drv
   /gnu/store/lgdpfzh8xpx4al7qpjijmz8gqvvp6hc7-gawk-4.2.1.drv
   /gnu/store/liazh7rgnbrwjafr9n96vhqshsc349wf-guile-2.2.4.drv
   /gnu/store/mbsz1vdqphi39irmf3cjkxwhl1rqqvlp-binutils-cross-i686-unknown-linux-gnu-2.31.1.drv
   /gnu/store/mc4cf91hx15br69xirgmxf91wr370s69-perl-5.28.0.drv
   /gnu/store/mvkapqsai9fmz8ap97vh9f918lwh201w-binutils-2.31.1.drv
   /gnu/store/n5255d3wvs6fmpkf729ng4hm3wd2pgq3-libunistring-0.9.10.drv
   /gnu/store/pc1sva58l7v0ba5bcyygbbyc8yn554xq-nyacc-0.86.0.drv
   /gnu/store/qgipdiy5xdbgf6fmbkcx2iqxivymiv4p-gcc-5.5.0.drv
   /gnu/store/sy64hwy2npm6fbpc8sya5j6wb4l6iyws-file-5.33.drv
   /gnu/store/w91h9hskim0ah2s6i5rhsap8ypbpw1hr-glibc-utf8-locales-2.28.drv
   /gnu/store/wmvasmfhjgxa34fsqh8j8lj3glz2bwcd-grep-3.1.drv
   /gnu/store/xicdrjg067w985vr6b334fafsbdi6ayg-guile-2.2.4.drv
Building /gnu/store/iz3qnd398va3qhprnb60vxdb9ai45h08-mes-boot-0.18-0.08f04f5.drv - x86_64-linux
--8<---------------cut here---------------end--------------->8---

so the sha hashes may not hold up.  I'll add another comment after this
and its i686-linux counterpart have finished...

[0001-bootstrap-Add-mes-stripped-mes-bootstrap-tarball.patch (text/x-patch, inline)]
From 47ff097d274d1f6eb1c386adb727106d76692c5a Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sat, 20 Oct 2018 08:59:19 +0200
Subject: [PATCH 1/3] bootstrap: Add %mes-stripped, %mes-bootstrap-tarball.

* gnu/packages/make-bootstrap.scm (%mes-stripped): New variable.
(%mes-bootstrap-tarball): New variable.
* gnu/packages/mes.scm: Oops, remove stray (gnu packages commencement) module
include.
---
 gnu/packages/make-bootstrap.scm | 35 +++++++++++++++++++++++++++++++++
 gnu/packages/mes.scm            |  1 -
 2 files changed, 35 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm
index 3553737f1..7bfba3c14 100644
--- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -38,6 +38,7 @@
   #:use-module (gnu packages libunistring)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages hurd)
+  #:use-module (gnu packages mes)
   #:use-module (gnu packages multiprecision)
   #:use-module (ice-9 match)
   #:use-module (srfi srfi-1)
@@ -47,6 +48,7 @@
             %glibc-bootstrap-tarball
             %gcc-bootstrap-tarball
             %guile-bootstrap-tarball
+            %mes-bootstrap-tarball
             %bootstrap-tarballs
 
             %guile-static-stripped))
@@ -533,6 +535,35 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
            #t))))
     (inputs `(("gcc" ,%gcc-static)))))
 
+(define %mes-stripped
+  ;; The subset of Mes files needed for bootstrap.
+  (package
+    (inherit mes)
+    (name "mes-stripped")
+    (build-system trivial-build-system)
+    (source #f)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (srfi srfi-1)
+                      (srfi srfi-26)
+                      (guix build utils))
+
+         (setvbuf (current-output-port) _IOLBF)
+         (let* ((out        (assoc-ref %outputs "out"))
+                (libdir     (string-append out "/lib"))
+                (mes        (assoc-ref %build-inputs "mes")))
+
+           (copy-recursively (string-append mes "/lib") libdir)
+           (copy-recursively (string-append mes "/share/mes/lib") libdir)
+           (for-each remove-store-references
+                     (remove (lambda (file) (or (string-suffix? ".h" file)
+                                                (string-suffix? ".c" file)))
+                             (find-files out ".*")))
+           #t))))
+    (inputs `(("mes" ,mes)))))
+
 (define %guile-static
   ;; A statically-linked Guile that is relocatable--i.e., it can search
   ;; .scm and .go files relative to its installation directory, rather
@@ -700,6 +731,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
   ;; A tarball with the statically-linked, relocatable Guile.
   (tarball-package %guile-static-stripped))
 
+(define %mes-bootstrap-tarball
+  ;; A tarball with Mes ASCII Seed and binary Mes C Library.
+  (tarball-package %mes-stripped))
+
 (define %bootstrap-tarballs
   ;; A single derivation containing all the bootstrap tarballs, for
   ;; convenience.
diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm
index 4f98cd24f..c4cb118e3 100644
--- a/gnu/packages/mes.scm
+++ b/gnu/packages/mes.scm
@@ -21,7 +21,6 @@
 (define-module (gnu packages mes)
   #:use-module (gnu packages)
   #:use-module (gnu packages base)
-  #:use-module (gnu packages commencement)
   #:use-module (gnu packages cross-base)
   #:use-module (gnu packages gcc)
   #:use-module (gnu packages graphviz)
-- 
2.18.0

[0002-bootstrap-FTBFS-hack-for-icu4c-python-more-itertools.patch (text/x-patch, inline)]
From dea5dfa033624203cc8292466246745340f7787b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sat, 20 Oct 2018 09:09:22 +0200
Subject: [PATCH 2/3] bootstrap: FTBFS hack for icu4c, python-more-itertools,
 swig.

* gnu/packages/icu4c.scm (icu4c)[i686-linux]: Disable tests.
* gnu/packages/python.scm (python-more-itertools)[i686-linux]: Likewise.
* gnu/packages/swig.scm (swig)[i686-linux]: Likewise.
---
 gnu/packages/icu4c.scm  | 3 ++-
 gnu/packages/python.scm | 2 ++
 gnu/packages/swig.scm   | 3 ++-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/icu4c.scm b/gnu/packages/icu4c.scm
index cbba9aa42..ed243a510 100644
--- a/gnu/packages/icu4c.scm
+++ b/gnu/packages/icu4c.scm
@@ -47,7 +47,8 @@
    (inputs
     `(("perl" ,perl)))
    (arguments
-    `(#:configure-flags
+    `(#:tests? ,(not (equal? (%current-system) "i686-linux")) ; %bootstrap-mes FTBFS hack
+      #:configure-flags
       '("--enable-rpath"
         ,@(if (let ((s (or (%current-target-system)
                            (%current-system))))
diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index e4926ce30..6135e6e92 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -13517,6 +13517,8 @@ file system events on Linux.")
         (base32
          "17h3na0rdh8xq30w4b9pizgkdxmm51896bxw600x84jflg9vaxn4"))))
     (build-system python-build-system)
+    (arguments
+     `(#:tests? ,(not (equal? (%current-system) "i686-linux")))) ; %bootstrap-mes FTBFS hack
     (propagated-inputs
      `(("python-six" ,python-six-bootstrap)))
     (home-page "https://github.com/erikrose/more-itertools")
diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm
index b931db412..2eb3cdb54 100644
--- a/gnu/packages/swig.scm
+++ b/gnu/packages/swig.scm
@@ -42,7 +42,8 @@
                "0kf99ygrjs5616gsqhz1l7bib3a12izmxi7g48bwblbymr3z9ybw"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
+     `(#:tests? ,(not (equal? (%current-system) "i686-linux")) ; %bootstrap-mes FTBFS hack
+       #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-env
            ;; Required since Perl 5.26.0's removal of the current
-- 
2.18.0

[0003-bootstrap-Add-bootstrap-mes.patch (text/x-patch, inline)]
From 04c237218d10756582e6dce5763eaca9704d13cf Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke <at> gnu.org>
Date: Sat, 20 Oct 2018 09:02:39 +0200
Subject: [PATCH 3/3] bootstrap: Add %bootstrap-mes.

This include bootstrap seeds

    mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
    14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh

    mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz
    1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy

built with the previous commit

    dea5dfa03 bootstrap: FTBFS hack for icu4c, python-more-itertools, swig.

Todo: host these on ftp.gnu.org/pub/guix/...

* gnu/packages/bootstrap.scm (%bootstrap-mes): New variable.
---
 gnu/packages/bootstrap.scm | 60 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
index 82d229569..f43e405f8 100644
--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -49,6 +49,7 @@
             %bootstrap-gcc
             %bootstrap-glibc
             %bootstrap-inputs
+            %bootstrap-mes
             %mescc-tools-seed
             %mes-seed
             %srfi-43
@@ -610,6 +611,65 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
     (home-page #f)
     (license gpl3+)))
 
+(define %bootstrap-mes
+  ;; The initial Mes.  Uses binaries from a tarball typically built by
+  ;; %MES-BOOTSTRAP-TARBALL.
+  (package
+    (name "bootstrap-mes")
+    (version "0")
+    (source #f)
+    (build-system trivial-build-system)
+    (arguments
+     `(#:guile ,%bootstrap-guile
+       #:modules ((guix build utils))
+       #:builder
+       (begin
+         (use-modules (guix build utils)
+                      (ice-9 popen))
+         (let ((out     (assoc-ref %outputs "out"))
+               (tar     (assoc-ref %build-inputs "tar"))
+               (xz      (assoc-ref %build-inputs "xz"))
+               (tarball (assoc-ref %build-inputs "tarball")))
+
+           (mkdir out)
+           (copy-file tarball "binaries.tar.xz")
+           (invoke xz "-d" "binaries.tar.xz")
+           (let ((builddir (getcwd))
+                 (bindir   (string-append out "/bin")))
+             (with-directory-excursion out
+               (invoke tar "xvf"
+                       (string-append builddir "/binaries.tar"))))))))
+    (inputs
+     `(("tar" ,(search-bootstrap-binary "tar" (%current-system)))
+       ("xz"  ,(search-bootstrap-binary "xz" (%current-system)))
+       ("tarball" ,(bootstrap-origin
+                    (origin
+                      (method url-fetch)
+                      (uri (string-append
+                            "http://lilypond.org/janneke/mes/"
+                            (match (%current-system)
+                              ("x86_64-linux" "mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz")
+                              ("i686-linux" "mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz"))))
+                      (sha256
+                       (match (%current-system)
+                         ("x86_64-linux"
+                          (base32
+                           "14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh"))
+                         ("i686-linux"
+                          (base32
+                           "1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy")))))))))
+    (native-search-paths
+     (list (search-path-specification
+            (variable "C_INCLUDE_PATH")
+            (files '("share/mes/include")))
+           (search-path-specification
+            (variable "LIBRARY_PATH")
+            (files '("share/mes/lib")))))
+    (synopsis "Bootstrap binaries of Mes")
+    (description synopsis)
+    (home-page #f)
+    (license gpl3+)))
+
 (define %mescc-tools-seed ; todo: add tarballs to alpha.gnu.org/pub/mes/bootstrap/
   (let ((commit "dc4e20e74924a5c80a2b7a77b4d7b927234fa71c"))
     (origin
-- 
2.18.0

[Message part 5 (text/plain, inline)]
> Besides we can consider hosting these binaries on ftp.gnu.org, under
> /mes or /guix.

Yes, this series was a prepeparation for that.  I didn't want to store
the previous, manually generated seeds there.

it would be nice to store them under /guix and I would prefer that I
didn't build them -- or at least that you (someone) reproduced them.

>> --- a/gnu/packages/mes.scm
>> +++ b/gnu/packages/mes.scm
>> @@ -21,7 +21,6 @@
>>  (define-module (gnu packages mes)
>>    #:use-module (gnu packages)
>>    #:use-module (gnu packages base)
>> -  #:use-module (gnu packages commencement)
>
> Indeed ‘commencement’ should never be used by other package modules, for
> reasons having to do with circularity.
>
> Otherwise LGTM!

Yay!  Thanks for your review.

Greetings,
janneke

Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sat, 20 Oct 2018 07:42:02 GMT) Full text and rfc822 format available.

Message #50 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to
 0.5.2-0.bb062b0d.
Date: Sat, 20 Oct 2018 09:41:25 +0200
Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:
>
>> * gnu/packages/mes.scm (mescc-tools): Update to 0.5.2-0.bb062b0d.
>> mescc
>> * gnu/packages/commencement.scm (mescc-tools-boot): Stay at 0.5.2
>
> I guess the choice of commit relates to that of Mes?

Yes, also build adaptations for using the new %bootstrap-mes.
mescc-tools-boot will probably through a number of build updates.

The first bootstrap build of mescc-tools-boot used %mes-seed, now
replaced by %bootstrap-mes.  We are working to bootstrap it using
M2-Planet, but currently it still needs manually built
%mescc-tools-seeds and also that hasn't been packaged yet.

>   Anyway, LGTM!

Thanks!  I'll update core-updates-next with all these together when
we're ready to close #33038.

janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sat, 20 Oct 2018 08:24:02 GMT) Full text and rfc822 format available.

Message #53 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the
 Bootstrap Binaries.
Date: Sat, 20 Oct 2018 10:23:21 +0200
Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:
>
>> * doc/guix.texi (Preparing to Use the Bootstrap Binaries): Mention
>> bootstrap-mes alongside bootstrap-gcc.
>> (Reducing the Set of Bootstrap Binaries): Mention the Reduced Binary Seed
>> bootstrap, MesCC-Tools and Mes.
>
> LGTM!
>
>> +Our first major achievement is the replacement of of GCC, the GNU C Library
>> +and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes
>> +(a Scheme interpreter and a C99 compiler in Scheme).  Neither MesCC-Tools nor
>> +Mes can be fully bootstrapped yet and thus we inject them as binary seeds.  We
>> +call this the Reduced Binary Seed bootstrap, as it has halved the size of our
>> +bootstrap binaries!  Also, it has eliminated the C compiler binary; i686-linux
>> +and x86_64-linux GuixSD are now bootstrapped without any binary C compiler.
>
> s/GuixSD/Guix packages/
> Perhaps add an @pxref for Mes?

Ah, sure.  Changed to

+Our first major achievement is the replacement of of GCC, the GNU C Library
+and Binutils by MesCC-Tools (a simple hex linker and macro assembler) and Mes
+(@pxref{Top, GNU Mes Reference Manual,, mes, GNU Mes}, a Scheme interpreter
+and C compiler in Scheme).  Neither MesCC-Tools nor Mes can be fully
+bootstrapped yet and thus we inject them as binary seeds.  We call this the
+Reduced Binary Seed bootstrap, as it has halved the size of our bootstrap
+binaries!  Also, it has eliminated the C compiler binary; i686-linux and
+x86_64-linux Guix packages are now bootstrapped without any binary C compiler.

Updated on gitlab/core-updates-next, "waiting" for the builds to say OK :-)

>> +Work is ongoing to make MesCC-Tools and Mes fully bootstrappable and we are
>> +also looking at any other bootstrap binaries.  Your help is welcome!
>
> I still can’t believe this is a reality, awesome!!  :-)

Thank you, yes -- what a long road from the initial Mes announcement!  Thanks
to  all the help from #bootstrappable and from yourself.

And this is only the beginning... :-)

janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sat, 20 Oct 2018 18:33:01 GMT) Full text and rfc822 format available.

Message #56 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sat, 20 Oct 2018 20:31:59 +0200
Jan Nieuwenhuizen writes:

> (attached, and also on my gitlab core-updates-next.  Now for a
> rebuild...
>
> The following derivations will be built:
>    /gnu/store/bphs45cqip5xh574azfkqn4lb0g53zqa-mes-0.18-0.08f04f5.drv
>    /gnu/store/v8d7ygp7pa7ry2cf1yxjhca8inyjy8b6-libffi-3.2.1.drv
>    /gnu/store/xbiq4rwjlbq42ycnk3g69fya8xvnl9ch-gzip-1.9.drv
[...]

> so the sha hashes may not hold up.  I'll add another comment after this
> and its i686-linux counterpart have finished...

the i686-linux hash is identical, the x86_64-linux hash changed, I now
have

    mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
    1lq4w6s5nqfxsffk0smg7cyrqnjls70kwwllbv8gzsjqjx4q3f2b

    mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz
    1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy

I have updated the x86_64 tarball on lilypond.org and my
gitlab core-updates-next branch.

I was mis-remembering earlier: Gábor and you managed to reproduce
`hello', you both never re-built any bootstrap binaries...  So we
may have a reproducibility issue here, don't really know...

janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 21 Oct 2018 20:38:01 GMT) Full text and rfc822 format available.

Message #59 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Jan Nieuwenhuizen <janneke <at> gnu.org>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 21 Oct 2018 22:37:43 +0200
[Message part 1 (text/plain, inline)]
Jan Nieuwenhuizen <janneke <at> gnu.org> writes:

>> It would be nice to maybe make this a separate commit (following the
>> make-bootstrap.scm changes) so that you can state in the commit log
>> which commit was used to build this binary.
>
> Ah yes, that's nice.  Hmm, there's a slight complication because for the
> i686-linux version I cheated; icu4c, python-more-itertools and swig fail
> to build on core-updates-next.  I added a hack and reverted that...
> which is probably less than great.  So I cleaned it up a bit and just
> added it.

FYI the issues mentioned here have been fixed in the 'core-updates'
branch.  I suppose you can still rebase on it, or just merge it.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 21 Oct 2018 21:05:02 GMT) Full text and rfc822 format available.

Message #62 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: 33038 <at> debbugs.gnu.org, Jan Nieuwenhuizen <janneke <at> gnu.org>
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 21 Oct 2018 23:04:02 +0200
Marius Bakke <mbakke <at> fastmail.com> skribis:

> Jan Nieuwenhuizen <janneke <at> gnu.org> writes:
>
>>> It would be nice to maybe make this a separate commit (following the
>>> make-bootstrap.scm changes) so that you can state in the commit log
>>> which commit was used to build this binary.
>>
>> Ah yes, that's nice.  Hmm, there's a slight complication because for the
>> i686-linux version I cheated; icu4c, python-more-itertools and swig fail
>> to build on core-updates-next.  I added a hack and reverted that...
>> which is probably less than great.  So I cleaned it up a bit and just
>> added it.
>
> FYI the issues mentioned here have been fixed in the 'core-updates'
> branch.  I suppose you can still rebase on it, or just merge it.

Merging core-updates into core-updates-next sounds like a good idea.

Thanks for letting us know, Marius!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 21 Oct 2018 21:10:02 GMT) Full text and rfc822 format available.

Message #65 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Jan Nieuwenhuizen <janneke <at> gnu.org>
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 21 Oct 2018 23:09:16 +0200
Hi!

Jan Nieuwenhuizen <janneke <at> gnu.org> skribis:

> Ludovic Courtès writes:

[...]

>> Please move the ‘use-modules’ form to the top level (non-top-level
>> ‘use-modules’ works pretty much by chance).
>
> Sure, do you mean like this?
>
> $ git diff -w
> diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm
> index f33fc061e..f43e405f8 100644
> --- a/gnu/packages/bootstrap.scm
> +++ b/gnu/packages/bootstrap.scm
> @@ -623,12 +623,13 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
>       `(#:guile ,%bootstrap-guile
>         #:modules ((guix build utils))
>         #:builder
> +       (begin
> +         (use-modules (guix build utils)
> +                      (ice-9 popen))
>           (let ((out     (assoc-ref %outputs "out"))
>                 (tar     (assoc-ref %build-inputs "tar"))
>                 (xz      (assoc-ref %build-inputs "xz"))
>                 (tarball (assoc-ref %build-inputs "tarball")))
> -         (use-modules (guix build utils)
> -                      (ice-9 popen))
>  
>             (mkdir out)
>             (copy-file tarball "binaries.tar.xz")

Exactly.

> I copied this from %bootstrap-gcc, do we want to to change this in all
> bootstrap packages too?

Yes, we should do that while we’re at it.

> Ah yes, that's nice.  Hmm, there's a slight complication because for the
> i686-linux version I cheated; icu4c, python-more-itertools and swig fail
> to build on core-updates-next.  I added a hack and reverted that...
> which is probably less than great.  So I cleaned it up a bit and just
> added it.
>
> So, now we three commits instead of this single one
>
> 0001-bootstrap-Add-mes-stripped-mes-bootstrap-tarball.patch
> 0002-bootstrap-FTBFS-hack-for-icu4c-python-more-itertools.patch
> 0003-bootstrap-Add-bootstrap-mes.patch
>
>
> (attached, and also on my gitlab core-updates-next.  Now for a
> rebuild...

Heh.  :-)

Well there’s the option of merging core-updates as Marius suggested,
though that will mean yet another (partial) rebuild, so you’d have to be
patient.  WDYT?

> From 04c237218d10756582e6dce5763eaca9704d13cf Mon Sep 17 00:00:00 2001
> From: Jan Nieuwenhuizen <janneke <at> gnu.org>
> Date: Sat, 20 Oct 2018 09:02:39 +0200
> Subject: [PATCH 3/3] bootstrap: Add %bootstrap-mes.
> 
> This include bootstrap seeds
> 
>     mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
>     14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh
> 
>     mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz
>     1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy

I think this info is not necessary here since those hashes appear in the
file.

> built with the previous commit
> 
>     dea5dfa03 bootstrap: FTBFS hack for icu4c, python-more-itertools, swig.

In the final commit please write the full rather than the abbreviated
commit hash.

Anyway LGTM modulo maybe one rebuild and commit log tweak.

Thank you!

Ludo’.




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 21 Oct 2018 21:29:01 GMT) Full text and rfc822 format available.

Message #68 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: Marius Bakke <mbakke <at> fastmail.com>, 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 21 Oct 2018 23:28:40 +0200
Ludovic Courtès writes:

> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Jan Nieuwenhuizen <janneke <at> gnu.org> writes:
>>
>>>> It would be nice to maybe make this a separate commit (following the
>>>> make-bootstrap.scm changes) so that you can state in the commit log
>>>> which commit was used to build this binary.
>>>
>>> Ah yes, that's nice.  Hmm, there's a slight complication because for the
>>> i686-linux version I cheated; icu4c, python-more-itertools and swig fail
>>> to build on core-updates-next.  I added a hack and reverted that...
>>> which is probably less than great.  So I cleaned it up a bit and just
>>> added it.
>>
>> FYI the issues mentioned here have been fixed in the 'core-updates'
>> branch.  I suppose you can still rebase on it, or just merge it.
>
> Merging core-updates into core-updates-next sounds like a good idea.
>
> Thanks for letting us know, Marius!

Great, merged and rebased core-updates-next on my gitlab.  More admin
work todo, but that's alright.

janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Sun, 21 Oct 2018 21:33:00 GMT) Full text and rfc822 format available.

Message #71 received at 33038 <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038 <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Sun, 21 Oct 2018 23:32:41 +0200
Ludovic Courtès writes:

>> +       (begin
>> +         (use-modules (guix build utils)
>> +                      (ice-9 popen))
>
> Exactly.

Ok, good!

>> I copied this from %bootstrap-gcc, do we want to to change this in all
>> bootstrap packages too?
>
> Yes, we should do that while we’re at it.

I'll add a commit for all other packages, need to do a rebuild anyway :-)

>> (attached, and also on my gitlab core-updates-next.  Now for a
>> rebuild...
>
> Heh.  :-)
>
> Well there’s the option of merging core-updates as Marius suggested,
> though that will mean yet another (partial) rebuild, so you’d have to be
> patient.  WDYT?

Yes, just did that -- happy with Marius' info and suggestion.

>> From 04c237218d10756582e6dce5763eaca9704d13cf Mon Sep 17 00:00:00 2001
>> From: Jan Nieuwenhuizen <janneke <at> gnu.org>
>> Date: Sat, 20 Oct 2018 09:02:39 +0200
>> Subject: [PATCH 3/3] bootstrap: Add %bootstrap-mes.
>> 
>> This include bootstrap seeds
>> 
>>     mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
>>     14sbcm79ml4rgygxvx1135827g3ggfx1c1vchk77z26yibbdw9nh
>> 
>>     mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz
>>     1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy
>
> I think this info is not necessary here since those hashes appear in the
> file.

Ok.

>> built with the previous commit
>> 
>>     dea5dfa03 bootstrap: FTBFS hack for icu4c, python-more-itertools, swig.
>
> In the final commit please write the full rather than the abbreviated
> commit hash.

Ok.

> Anyway LGTM modulo maybe one rebuild and commit log tweak.

Great, once everything builds I'll update core-updates-next on savannah,
ping this bug and close it.  Otherwise...oh well.

Thanks!

janneke




Reply sent to Jan Nieuwenhuizen <janneke <at> gnu.org>:
You have taken responsibility. (Tue, 23 Oct 2018 21:02:02 GMT) Full text and rfc822 format available.

Notification sent to Jan Nieuwenhuizen <janneke <at> gnu.org>:
bug acknowledged by developer. (Tue, 23 Oct 2018 21:02:02 GMT) Full text and rfc822 format available.

Message #76 received at 33038-done <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 33038-done <at> debbugs.gnu.org
Subject: Re: [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Tue, 23 Oct 2018 23:00:44 +0200
Jan Nieuwenhuizen writes:

>> Anyway LGTM modulo maybe one rebuild and commit log tweak.
>
> Great, once everything builds I'll update core-updates-next on savannah,
> ping this bug and close it.  Otherwise...oh well.

Did those, pushed to core-updates-next as

    d0bb7ed61ed9e356c53de1a8e9bd6c2ec030ffb6
    doc: Update Preparing to Use the Bootstrap Binaries.

Marius has a couple of patches on his wip-gcc7 branch that we may
already want to include in core-updates-next too, but I'll leave that to
him.

--8<---------------cut here---------------start------------->8---
bc05a8a9d gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
c697fdfc1 gnu: gcc-boot0: Improve gcc-wrapper workarounds.
7c1ddb3a4 gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
60111ea82 gnu: Remove gcc-for-libstdc++.
--8<---------------cut here---------------end--------------->8---

I think that I'm "done" here, there's the `put new bootstrap binaries on
ftp.gnu.org/pub/guix/...', are you taking care of that?

Thanks!
janneke




Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Wed, 24 Oct 2018 16:19:02 GMT) Full text and rfc822 format available.

Message #79 received at 33038-done <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <mbakke <at> fastmail.com>
To: Jan Nieuwenhuizen <janneke <at> gnu.org>, Ludovic Courtès
 <ludo <at> gnu.org>
Cc: 33038-done <at> debbugs.gnu.org
Subject: Re: bug#33038: [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Wed, 24 Oct 2018 18:18:30 +0200
[Message part 1 (text/plain, inline)]
Hello!

Jan Nieuwenhuizen <janneke <at> gnu.org> writes:

> Jan Nieuwenhuizen writes:
>
>>> Anyway LGTM modulo maybe one rebuild and commit log tweak.
>>
>> Great, once everything builds I'll update core-updates-next on savannah,
>> ping this bug and close it.  Otherwise...oh well.
>
> Did those, pushed to core-updates-next as
>
>     d0bb7ed61ed9e356c53de1a8e9bd6c2ec030ffb6
>     doc: Update Preparing to Use the Bootstrap Binaries.
>
> Marius has a couple of patches on his wip-gcc7 branch that we may
> already want to include in core-updates-next too, but I'll leave that to
> him.
>
> --8<---------------cut here---------------start------------->8---
> bc05a8a9d gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
> c697fdfc1 gnu: gcc-boot0: Improve gcc-wrapper workarounds.
> 7c1ddb3a4 gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
> 60111ea82 gnu: Remove gcc-for-libstdc++.
> --8<---------------cut here---------------end--------------->8---

These fixes are purely cosmetic, but feel free to include them.  I hope
to merge the full branch before core-updates-next is started in a month
or two, so they'll get there eventually.

> I think that I'm "done" here, there's the `put new bootstrap binaries on
> ftp.gnu.org/pub/guix/...', are you taking care of that?

Is it possible to generate these somehow?  The mirror at lilypond.org is
serving me the wrong tarball:

building /gnu/store/r9589sgf0d3hxcxg7vi3i5apnx3wcx76-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz.drv...
Starting download of /gnu/store/z1yrpzja9sivpi138xyjwxax575d7x4j-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
From http://lilypond.org/janneke/mes/mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz...
downloading from http://lilypond.org/janneke/mes/mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz...
 mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz  550KiB 739KiB/s 00:01 [##################] 100.0%
sha256 hash mismatch for /gnu/store/z1yrpzja9sivpi138xyjwxax575d7x4j-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz:
  expected hash: 1yhxqf1sm67gwjbkkc26m4lcscvpjfmi71bzy8rhysal4lcj1vc8
  actual hash:   1lq4w6s5nqfxsffk0smg7cyrqnjls70kwwllbv8gzsjqjx4q3f2b
hash mismatch for store item '/gnu/store/z1yrpzja9sivpi138xyjwxax575d7x4j-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz'
build of /gnu/store/r9589sgf0d3hxcxg7vi3i5apnx3wcx76-mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz.drv failed
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#33038; Package guix-patches. (Wed, 24 Oct 2018 17:00:02 GMT) Full text and rfc822 format available.

Message #82 received at 33038-done <at> debbugs.gnu.org (full text, mbox):

From: Jan Nieuwenhuizen <janneke <at> gnu.org>
To: Marius Bakke <mbakke <at> fastmail.com>
Cc: Ludovic Courtès <ludo <at> gnu.org>, 33038-done <at> debbugs.gnu.org
Subject: Re: bug#33038: [PATCH 3/6] bootstrap: Add %bootstrap-mes.
Date: Wed, 24 Oct 2018 18:58:44 +0200
Marius Bakke writes:

Hi!

>> Marius has a couple of patches on his wip-gcc7 branch that we may
>> already want to include in core-updates-next too, but I'll leave that to
>> him.
>>
>> --8<---------------cut here---------------start------------->8---
>> bc05a8a9d gnu: Remove duplicate linux-libre-headers package from bootstrap inputs.
>> c697fdfc1 gnu: gcc-boot0: Improve gcc-wrapper workarounds.
>> 7c1ddb3a4 gnu: libstdc++-boot0: Improve gcc-wrapper workaround.
>> 60111ea82 gnu: Remove gcc-for-libstdc++.
>> --8<---------------cut here---------------end--------------->8---
>
> These fixes are purely cosmetic, but feel free to include them.  I hope
> to merge the full branch before core-updates-next is started in a month
> or two, so they'll get there eventually.

Ok.  Then I'd suggest we take them in whenever it's opportune to do so.
Possibly with a new seed generation, putting binaries on gnu.org.

>> I think that I'm "done" here, there's the `put new bootstrap binaries on
>> ftp.gnu.org/pub/guix/...', are you taking care of that?
>
> Is it possible to generate these somehow?  The mirror at lilypond.org is
> serving me the wrong tarball:

Ouch; yes.  I get the same, wrong hash on the lilypond.org download.
Luckily the hashes that I committed are correct.  I used `guix download'
of the build and didn't always update lilypond.org (I failed to do so
this last time...oops).

--8<---------------cut here---------------start------------->8---
18:46:50 janneke <at> dundal:~/src/guix-wip 
$ git checkout -B wip-seed 668ffe1e4
Reset branch 'wip-seed'
18:46:53 janneke <at> dundal:~/src/guix-wip 
$ make
....
18:46:58 janneke <at> dundal:~/src/guix-wip 
$ ./pre-inst-env guix build mes-stripped-tarball
/gnu/store/nyajrfqv40w3xr21pwpdr6plz2l0xzz6-mes-stripped-tarball-0.18-0.08f04f5
18:47:05 janneke <at> dundal:~/src/guix-wip 
$ guix  hash /gnu/store/nyajrfqv40w3xr21pwpdr6plz2l0xzz6-mes-stripped-tarball-0.18-0.08f04f5/mes-stripped-0.18-0.08f04f5-x86_64-linux.tar.xz
1yhxqf1sm67gwjbkkc26m4lcscvpjfmi71bzy8rhysal4lcj1vc8
$ guix hash /gnu/store/nyajrfqv40w3xr21pwpdr6plz2l0xzz6-mes-stripped-tarball-0.18-0.08f04f5
18:49:08 janneke <at> dundal:~/src/guix-wip 
$ ./pre-inst-env guix build --system=i686-linux mes-stripped-tarball --substitute-urls="http://192.168.32.125:8181 http://192.168.32.123:8181 http://192.168.32.121:8181 http://192.168.32.122:8181 https://berlin.guixsd.org"
/gnu/store/s0dsrq9mjan4qkyl8nfmbdha0p9mscyc-mes-stripped-tarball-0.18-0.08f04f5
18:49:21 janneke <at> dundal:~/src/guix-wip 
$ guix hash /gnu/store/s0dsrq9mjan4qkyl8nfmbdha0p9mscyc-mes-stripped-tarball-0.18-0.08f04f5/mes-stripped-0.18-0.08f04f5-i686-linux.tar.xz 
1p116ya9n52852bryh34n7db4mhvi98qifmmwygl7nbyc4dz92jy
--8<---------------cut here---------------end--------------->8---

I have updated the lilypond.org dowload...sorry, and thanks for your
report!

janneke




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 22 Nov 2018 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 5 years and 156 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.