* [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).