unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#33038] bootstrap: Regeneration of Mes bootstrap seeds.
@ 2018-10-14  8:50 Jan Nieuwenhuizen
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:50 UTC (permalink / raw)
  To: 33038

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping'.
  2018-10-14  8:50 [bug#33038] bootstrap: Regeneration of Mes bootstrap seeds Jan Nieuwenhuizen
@ 2018-10-14  8:58 ` Jan Nieuwenhuizen
  2018-10-14  8:58   ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
                     ` (5 more replies)
  0 siblings, 6 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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@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@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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
@ 2018-10-14  8:58   ` Jan Nieuwenhuizen
  2018-10-19 21:23     ` Ludovic Courtès
  2018-10-14  8:58   ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Jan Nieuwenhuizen
                     ` (4 subsequent siblings)
  5 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
  2018-10-14  8:58   ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
@ 2018-10-14  8:58   ` Jan Nieuwenhuizen
  2018-10-19 21:31     ` Ludovic Courtès
  2018-10-14  8:58   ` [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d Jan Nieuwenhuizen
                     ` (3 subsequent siblings)
  5 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
  2018-10-14  8:58   ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
  2018-10-14  8:58   ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Jan Nieuwenhuizen
@ 2018-10-14  8:58   ` Jan Nieuwenhuizen
  2018-10-19 21:32     ` Ludovic Courtès
  2018-10-14  8:58   ` [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes Jan Nieuwenhuizen
                     ` (2 subsequent siblings)
  5 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
                     ` (2 preceding siblings ...)
  2018-10-14  8:58   ` [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d Jan Nieuwenhuizen
@ 2018-10-14  8:58   ` Jan Nieuwenhuizen
  2018-10-19 21:34     ` Ludovic Courtès
  2018-10-14  8:58   ` [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries Jan Nieuwenhuizen
  2018-10-19 21:22   ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Ludovic Courtès
  5 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
                     ` (3 preceding siblings ...)
  2018-10-14  8:58   ` [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes Jan Nieuwenhuizen
@ 2018-10-14  8:58   ` Jan Nieuwenhuizen
  2018-10-19 21:37     ` Ludovic Courtès
  2018-10-19 21:22   ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Ludovic Courtès
  5 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-14  8:58 UTC (permalink / raw)
  To: 33038

* 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@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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping'.
  2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
                     ` (4 preceding siblings ...)
  2018-10-14  8:58   ` [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries Jan Nieuwenhuizen
@ 2018-10-19 21:22   ` Ludovic Courtès
  5 siblings, 0 replies; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:22 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Hello!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

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

LGTM, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
  2018-10-14  8:58   ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
@ 2018-10-19 21:23     ` Ludovic Courtès
  2018-10-20  6:41       ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:23 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Jan Nieuwenhuizen <janneke@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-14  8:58   ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Jan Nieuwenhuizen
@ 2018-10-19 21:31     ` Ludovic Courtès
  2018-10-20  7:35       ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:31 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Jan Nieuwenhuizen <janneke@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
  2018-10-14  8:58   ` [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d Jan Nieuwenhuizen
@ 2018-10-19 21:32     ` Ludovic Courtès
  2018-10-20  7:41       ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:32 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Jan Nieuwenhuizen <janneke@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!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes.
  2018-10-14  8:58   ` [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes Jan Nieuwenhuizen
@ 2018-10-19 21:34     ` Ludovic Courtès
  0 siblings, 0 replies; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:34 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Jan Nieuwenhuizen <janneke@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries.
  2018-10-14  8:58   ` [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries Jan Nieuwenhuizen
@ 2018-10-19 21:37     ` Ludovic Courtès
  2018-10-20  8:23       ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-19 21:37 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Jan Nieuwenhuizen <janneke@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55.
  2018-10-19 21:23     ` Ludovic Courtès
@ 2018-10-20  6:41       ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-20  6:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-19 21:31     ` Ludovic Courtès
@ 2018-10-20  7:35       ` Jan Nieuwenhuizen
  2018-10-20 18:31         ` Jan Nieuwenhuizen
                           ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-20  7:35 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

[-- Attachment #1: Type: text/plain, Size: 26213 bytes --]

Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke@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...


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-bootstrap-Add-mes-stripped-mes-bootstrap-tarball.patch --]
[-- Type: text/x-patch, Size: 3566 bytes --]

From 47ff097d274d1f6eb1c386adb727106d76692c5a Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #3: 0002-bootstrap-FTBFS-hack-for-icu4c-python-more-itertools.patch --]
[-- Type: text/x-patch, Size: 2227 bytes --]

From dea5dfa033624203cc8292466246745340f7787b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@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


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #4: 0003-bootstrap-Add-bootstrap-mes.patch --]
[-- Type: text/x-patch, Size: 3885 bytes --]

From 04c237218d10756582e6dce5763eaca9704d13cf Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@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


[-- Attachment #5: Type: text/plain, Size: 806 bytes --]


> 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

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d.
  2018-10-19 21:32     ` Ludovic Courtès
@ 2018-10-20  7:41       ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-20  7:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries.
  2018-10-19 21:37     ` Ludovic Courtès
@ 2018-10-20  8:23       ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-20  8:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

Ludovic Courtès writes:

> Jan Nieuwenhuizen <janneke@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-20  7:35       ` Jan Nieuwenhuizen
@ 2018-10-20 18:31         ` Jan Nieuwenhuizen
  2018-10-21 20:37         ` Marius Bakke
  2018-10-21 21:09         ` Ludovic Courtès
  2 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-20 18:31 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-20  7:35       ` Jan Nieuwenhuizen
  2018-10-20 18:31         ` Jan Nieuwenhuizen
@ 2018-10-21 20:37         ` Marius Bakke
  2018-10-21 21:04           ` Ludovic Courtès
  2018-10-21 21:09         ` Ludovic Courtès
  2 siblings, 1 reply; 26+ messages in thread
From: Marius Bakke @ 2018-10-21 20:37 UTC (permalink / raw)
  To: Jan Nieuwenhuizen, Ludovic Courtès; +Cc: 33038

[-- Attachment #1: Type: text/plain, Size: 675 bytes --]

Jan Nieuwenhuizen <janneke@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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-21 20:37         ` Marius Bakke
@ 2018-10-21 21:04           ` Ludovic Courtès
  2018-10-21 21:28             ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-21 21:04 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 33038

Marius Bakke <mbakke@fastmail.com> skribis:

> Jan Nieuwenhuizen <janneke@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-20  7:35       ` Jan Nieuwenhuizen
  2018-10-20 18:31         ` Jan Nieuwenhuizen
  2018-10-21 20:37         ` Marius Bakke
@ 2018-10-21 21:09         ` Ludovic Courtès
  2018-10-21 21:32           ` Jan Nieuwenhuizen
  2 siblings, 1 reply; 26+ messages in thread
From: Ludovic Courtès @ 2018-10-21 21:09 UTC (permalink / raw)
  To: Jan Nieuwenhuizen; +Cc: 33038

Hi!

Jan Nieuwenhuizen <janneke@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@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’.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-21 21:04           ` Ludovic Courtès
@ 2018-10-21 21:28             ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-21 21:28 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

Ludovic Courtès writes:

> Marius Bakke <mbakke@fastmail.com> skribis:
>
>> Jan Nieuwenhuizen <janneke@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-21 21:09         ` Ludovic Courtès
@ 2018-10-21 21:32           ` Jan Nieuwenhuizen
  2018-10-23 21:00             ` bug#33038: " Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-21 21:32 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038

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@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* bug#33038: [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-21 21:32           ` Jan Nieuwenhuizen
@ 2018-10-23 21:00             ` Jan Nieuwenhuizen
  2018-10-24 16:18               ` [bug#33038] " Marius Bakke
  0 siblings, 1 reply; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-23 21:00 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 33038-done

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-23 21:00             ` bug#33038: " Jan Nieuwenhuizen
@ 2018-10-24 16:18               ` Marius Bakke
  2018-10-24 16:58                 ` Jan Nieuwenhuizen
  0 siblings, 1 reply; 26+ messages in thread
From: Marius Bakke @ 2018-10-24 16:18 UTC (permalink / raw)
  To: Jan Nieuwenhuizen, Ludovic Courtès; +Cc: 33038-done

[-- Attachment #1: Type: text/plain, Size: 2451 bytes --]

Hello!

Jan Nieuwenhuizen <janneke@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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes.
  2018-10-24 16:18               ` [bug#33038] " Marius Bakke
@ 2018-10-24 16:58                 ` Jan Nieuwenhuizen
  0 siblings, 0 replies; 26+ messages in thread
From: Jan Nieuwenhuizen @ 2018-10-24 16:58 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 33038-done

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@dundal:~/src/guix-wip 
$ git checkout -B wip-seed 668ffe1e4
Reset branch 'wip-seed'
18:46:53 janneke@dundal:~/src/guix-wip 
$ make
....
18:46:58 janneke@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@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@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@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

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2018-10-24 17:00 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-10-14  8:50 [bug#33038] bootstrap: Regeneration of Mes bootstrap seeds Jan Nieuwenhuizen
2018-10-14  8:58 ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Jan Nieuwenhuizen
2018-10-14  8:58   ` [bug#33038] [PATCH 2/6] gnu: mes: Update to 0.18.0-08f04f55 Jan Nieuwenhuizen
2018-10-19 21:23     ` Ludovic Courtès
2018-10-20  6:41       ` Jan Nieuwenhuizen
2018-10-14  8:58   ` [bug#33038] [PATCH 3/6] bootstrap: Add %bootstrap-mes Jan Nieuwenhuizen
2018-10-19 21:31     ` Ludovic Courtès
2018-10-20  7:35       ` Jan Nieuwenhuizen
2018-10-20 18:31         ` Jan Nieuwenhuizen
2018-10-21 20:37         ` Marius Bakke
2018-10-21 21:04           ` Ludovic Courtès
2018-10-21 21:28             ` Jan Nieuwenhuizen
2018-10-21 21:09         ` Ludovic Courtès
2018-10-21 21:32           ` Jan Nieuwenhuizen
2018-10-23 21:00             ` bug#33038: " Jan Nieuwenhuizen
2018-10-24 16:18               ` [bug#33038] " Marius Bakke
2018-10-24 16:58                 ` Jan Nieuwenhuizen
2018-10-14  8:58   ` [bug#33038] [PATCH 4/6] gnu: mescc-tools: Update to 0.5.2-0.bb062b0d Jan Nieuwenhuizen
2018-10-19 21:32     ` Ludovic Courtès
2018-10-20  7:41       ` Jan Nieuwenhuizen
2018-10-14  8:58   ` [bug#33038] [PATCH 5/6] bootstrap: Build with %bootstrap-mes Jan Nieuwenhuizen
2018-10-19 21:34     ` Ludovic Courtès
2018-10-14  8:58   ` [bug#33038] [PATCH 6/6] doc: Update Preparing to Use the Bootstrap Binaries Jan Nieuwenhuizen
2018-10-19 21:37     ` Ludovic Courtès
2018-10-20  8:23       ` Jan Nieuwenhuizen
2018-10-19 21:22   ` [bug#33038] [PATCH 1/6] doc: Move `Reduced Binary Seed Bootstrap' into `Bootstrapping' Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).