doc: Release update.
authorJan Nieuwenhuizen <janneke@gnu.org>
Wed, 5 Sep 2018 05:05:08 +0000 (07:05 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Wed, 5 Sep 2018 05:05:08 +0000 (07:05 +0200)
* BOOTSTRAP: Update.
* HACKING: Update.
* NEWS: Update.
* README: Update.
* doc/mes.texi (Submitting Patches): Fix misquoting, misattribution.

BOOTSTRAP
HACKING
INSTALL
NEWS
README
configure
doc/images/gcc-mesboot-graph.dot
doc/mes.texi

index 1d564ed1db53cc0c0d1e8338ca4b363ee768a5c7..82e3c422318d1227a5e345fc85fbdae6c1c9d013 100644 (file)
--- a/BOOTSTRAP
+++ b/BOOTSTRAP
@@ -99,16 +99,15 @@ be source.
     https://gitlab.com/janneke/tinycc
 
 * TODO
-** upstream mes-boot to GuixSD.
-** replace GuixSD bootstrap for x86.
 ** remove or upstream patches from tcc-boot
 ** prepare src/mes.c for M2-Planet transpiler.
+** arm, the Hurd
 ** fix bootstrap-loops: (Nyacc?, mes.M2, psyntax.pp?)
 ** make GNU gcc (8.0?) bootstrappable again, remove [need for] tcc stage
-** integrate with GuixSD
-** x86_64, arm, the Hurd
-
 * DONE
+** upstream mes-boot to GuixSD.
+** replace GuixSD bootstrap for x86_64.
+** replace GuixSD bootstrap for x86.
 ** add full source gcc-4.7 package build.
 ** bootstrap gcc+glibc-built binutils-20.1, gcc-4.1.0.
 ** have tcc-boot compile gnutools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
diff --git a/HACKING b/HACKING
index 533c8953efdda39aae76e77196a4099576b39272..a6b18d9f7569fbba8bc3395a49c536563629ae6d 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -28,6 +28,7 @@ To help development we assume ./configure sets these variables for make
 
    CC     -- gcc
    CC32   -- i686-unknown-linux-gnu-gcc (or on x86, also gcc)
+   CC64   -- gcc for use with Mes C Library: -nostdinc, -nostdlib
    GUILE  -- guile
    HEX2   -- hex2
    MES    -- unset
@@ -41,8 +42,12 @@ during development.
 Gcc is used to verify the sanity of our C sources.
 
 i686-unknown-linux-gnu-gcc is used to compare hex/assembly, to test
-the gcc variant of Mes-libc: lib/libc-gcc.c and steal ideas.  Target
-prefix: mlibc-gcc.
+the gcc variant of Mes C Libirary.
+Target prefix: mes-gcc.
+
+gcc (CC64) -nostdinc,-nostdlib is used to compare hex/assembly, to test
+the 64bit variant of Mes C Library.
+Target prefix: x86_64-mes-gcc.
 
 Guile is used to develop MesCC, the C compiler in Scheme that during
 bootstrapping will be executed by Mes.
@@ -66,40 +71,31 @@ mes.c.
 * ROADMAP
 ** TODO
 *** release 0.x, unsorted
-  - upstream mes-boot to GuixSD.
-  - replace bootstrap utils (with gash?): flex, bash, bzip2,
-    coreutils, gawk, grep, gzip, sed, tar.
+  - replace bootstrap utils with Gash: bash, coreutils, grep, gzip,
+    sed, tar.
   - tcc: remove or upstream patches from tcc-boot.
-  - tcc: build 0.9.27 directly instead of via 0.9.26,
-    see tinycc wip-bootstrappable@0.9.27 branch
+  - tcc: build 0.9.27 directly instead of via 0.9.26, see tinycc
+    wip-bootstrappable@0.9.27 branch
+  - mes: performance!
   - mes: prepare src/mes.c for M2-Planet transpiler,
     Jeremiah branched-out from mes; see https://github.com/oriansj/mes-m2.
   - mes: real module support, bonus for supporting Guile's define-module/define-public syntax.
-  - mes: we're a full Scheme now, drop .MES suffix, use .SCM.
-    + find a way to fix foo.mes/foo.scm trickery (full Guile-like module support?)
-    + how about setting `guile' or even `guile-2' cond-expand features
-      for external libraries (Nyacc) we look like Guile/Guile-2
-      internally, we could make sure to start every cond-expand with (mes)
-  - mes: use more efficient scheme continuation stack (wip-array?)
-  - mes: drop SCM stack in C / implement call/cc a la guile-1.8 setjmp?
-  - mes/mescc: bootstrap a minimal-Guile
+  - mes/mescc: bootstrap a minimal-Guile?
     + libguile/{eval,init,list,strings,values,..}.c
     + ice-9/eval.scm
   - mescc: have mes-tcc pass all scaffold/tests, scaffold/tinycc tests.
-  - mescc: support long long.
+  - mescc: support long long?
   - mescc: full support for floats?
-  - mescc: some success with 8cc,pcc,guile/libguile/eval.c.
+  - mescc: some success with 8cc,pcc,guile/libguile/eval.c?
   - build: guile/guix/make.scm: add file-types, intermediate, hash all dependencies
-  - build: make.scm: imperative->declaritive
   - get full source syntax-case up (Andre van Tonder?) OR drop it.
     https://srfi.schemers.org/srfi-72/srfi-72.html
     psyntax/syntax-case and rewrite Nyacc without syntax-case+R7RS Ellipsis.
   - mescc: split-off MesCC as as standalone Guile C compiler project.
 *** release 1.0
-  - replace GuixSD's bootstrap binaries for x86.
-  - add x86_64, replace GuixSD's bootstrap binaries for x86_64.
   - more architectures (does GuixSD require this, i.e. before 1.0?).
 ** DONE
+*** 0.18 GNU mes now supports GuixSD bootstrap (x86,x86_64) and has native x86_64 support.
 *** 0.17.1 GNU Mes now allows removing glibc, binutils and gcc from the GuixSD bootstrap.
 *** 0.17 GNU Mes is now an official GNU project and bootstraps gcc-4.7.4.
 *** 0.16.1 Mes now has info docs and installs ootb on Debian buster/testing.
@@ -261,3 +257,7 @@ https://miyuki.github.io/2017/10/04/gcc-archaeology-1.html
 ** rain1's Bootstrapping Wiki: https://bootstrapping.miraheze.org/wiki/Main_Page
 ** rain1's hex86
 https://notabug.org/rain1/hex86/src/master/tests/hex0b3.hex86
+** <pdewacht> janneke, have you ever tried testing mescc with csmith?  [10:55]
+** <pdewacht> e.g. as described here
+           https://jamey.thesharps.us/2016/07/15/testing-strategies-for-corrode/
+           ("Randomized testing with Csmith and C-Reduce")  [10:58]
diff --git a/INSTALL b/INSTALL
index 493525a2f6e267a9bd3b8cbeb2cce283908740d9..45c28381b649b0a4b5f38e12d836da53cd3e8287 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -24,7 +24,7 @@ similar way.
 
 *** Other GNU/Linux
   - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
-  - [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
+  - [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.86.0 is known to work.
   - GNU Gcc, 4.9.3 is known to work.
   - GNU Guile, version 2.0.12 or is know to work.
   - SH, /bin/sh, GNU Bash 4.3 is known to work.
@@ -53,7 +53,7 @@ http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mes.scm?h=wip-bootst
 
 ** Prerequisites
   - [[https://github.com/oriansj/mescc-tools][mescc-tools]], 0.5 is known to work.
-  - [[https://savannah.gnu.org/projects/nyacc][Nyacc]], [[https://gitlab.com/janneke/nyacc][patched Nyacc]] 0.80.42 is known to work.
+  - [[https://savannah.gnu.org/projects/nyacc][Nyacc]], 0.86.0 is known to work.
   - [[https://gitlab.com/janneke/mes-seed][mes-seed]], 0.17.1 is known to work.
 
 ** Build it
diff --git a/NEWS b/NEWS
index 6c514e7e7ed39deaec3d47b565b7dc88dca6e182..8735c97edcb48ab935a7e74d2021fbad499cb4f5 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,10 +10,23 @@ Copyright © 2016,2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
 
 Please send Mes bug reports to bug-mes@gnu.org.
 
-* Changes in 0.17.1 since 0.17
+* Changes in 0.18 since 0.17.1
 ** Core
+*** Mes/MesCC now supports x86_64.
+*** Mes/MesCC now brings a Reduced Binary Seed bootstrap to GuixSD.
+** Language
+*** fold-right now supports 3 lists.
+** MesCC
+*** MesCC now supports x86_64 (also as cross build), using -m 64.
+*** Mes C Library now has better support for bootstrapping gcc-3.0.
+*** Mes C test suite now has 178 tests; 74 tests were added.
+*** MesCC has been refactored to support use an abstracted assembly language.
+*** MesCC now uses Nyacc 0.86.0.
+** Noteworthy bug fixes
+*** scaffold/tests/7s-struct-short.c has been fixed.
+* Changes in 0.17.1 since 0.17
 ** MesCC
-*** Mes C Library has now been exploded into a separate C f per function.
+*** Mes C Library has now been exploded into a separate C file per function.
 *** Mes C Library now bootstraps glibc-2.16.0, binutils-2.20.1, gcc-4.7.4.
 *** Mes C Library now supports compiling make-3.82.
 *** Mes C Library now supports compiling diffutils-2.7.
diff --git a/README b/README
index f5780f69b8cf62fa866923e9f852031312b1a068..97733debfbb8b71b1e0e35b30351fe6bcebcdc3f 100644 (file)
--- a/README
+++ b/README
@@ -1,11 +1,11 @@
-#+COMMENT:                                                            -*- org -*-
+g#+COMMENT:                                                            -*- org -*-
 #+TITLE: About GNU Mes
 
 #+SUBTITLE: Maxwell Equations of Software
 
-[[https://www.gnu.org/software/mes][GNU Mes]] aims to help create full
-source bootstrapping for GNU/Linux distributions such as
-[[https://www.gnu.org/software/guix][GuixSD]] as part of the
+[[https://www.gnu.org/software/mes][GNU Mes]] brings a [[http://joyofsource.com/reduced-binary-seed-bootstrap.html][Reduced Binary Seed bootstrap]] to [[https://www.gnu.org/software/guix][GuixSD]] and
+potentially to any other interested GNU/Linux distribution, and aims
+to help create a full source bootstrap as part of the
 [[http://bootstrappable.org][bootstrappable builds]] effort.
 
 It consists of a mutual self-hosting Scheme interpreter written in
@@ -20,9 +20,9 @@ C-compiler: MesCC.
 
 Mes+MesCC can compile an only [[http://gitlab.com/janneke/tinycc][lightly patched TinyCC]] that is
 self-hosting.  Using this tcc and the Mes C library we now have a
-reduced-binary-seed bootstrap for the gnutools triplet: glibc-2.16.0,
-binutils-2.20.1, gcc-4.7.4.  This is enough to replace the GuixSD
-boostrap for i686-linux.
+Reduced Binary Seed bootstrap for the gnutools triplet: glibc-2.2.5,
+binutils-2.20.1, gcc-2.95.3.  This is enough to bootstrap GuixSD for
+i686-linux and x86_64-linux.
 
 Mes is inspired by The Maxwell Equations of Software: [[http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf][LISP-1.5]] -- John
 McCarthy page 13, GNU Guix's source/binary packaging transparency and
@@ -48,15 +48,17 @@ General Public Licence version 3 or later.  See the file [[file:COPYING][COPYING
 * REPL it
 
    #+BEGIN_SRC bash
-   src/mes.gcc        # default (64 bit) gcc-compiled
-   src/mes.mlibc-gcc  # 32 bit, gcc -nostdlib
-   src/mes            # 32 bit, bootstrapped, mes.M1+MesCC-compiled
+   src/mes.gcc-out            # default (64 bit) gcc-compiled
+   src/mes.mes-gcc-out        # 32 bit, gcc -nostdlib, Mes C Lib
+   src/mes.mes-out            # 32 bit, bootstrapped, mes.M1+MesCC-compiled
+   src/mes.x86_64-mes-gcc-out # 64 bit, gcc -nostdlib, Mes C Lib
+   src/mes.x86_64-mes-out     # 64 bit, bootstrapped, mes.M1+MesCC-compiled
    #+END_SRC
 
 * MesCC compiler
 
    #+BEGIN_SRC bash
-   scripts/mescc -c scaffold/main.c
+   ./pre-inst env mescc -c scaffold/main.c
    #+END_SRC
 
 * Bugs
index 13d6eb3abab748bf1636359d03666403c8b722b9..506d8f8d9dcf737fbc2c44b056935abbec9b76bf 100755 (executable)
--- a/configure
+++ b/configure
@@ -378,7 +378,7 @@ Some influential environment variables:
                              (make-dep "help2man" '(1 47) #:optional? #t)
                              (make-dep "perl" '(5) #:optional? #t)
                              (make-dep "git" '(2) #:optional? #t))))
-           (deps (cons (check-program-version (make-dep "nyacc" '(0 80 41) #:commands (list (string-append (file-name "guile" deps) " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t))
+           (deps (cons (check-program-version (make-dep "nyacc" '(0 86 0) #:commands (list (string-append (file-name "guile" deps) " -c '(use-modules (nyacc lalr)) (display *nyacc-version*)'")) #:file-name #t))
                        deps))
            (deps (if (file-name "cc" deps)
                      (cons* (check-header-c (make-dep "stdio.h"))
index 4083c8b2902e02ff961f18b807462d79a31db693..bc4333fbf36a94bf15f4cbeabd345476b301510d 100644 (file)
 digraph "Guix bag" {
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" [label = "gcc-mesboot@4.7.4", shape = box, fontname = Helvetica];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
-  "/gnu/store/7301q9aw9b444rw60r7sipm3iyfqzwnh-gcc-mesboot-4.7.4.drv" -> "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = peachpuff4];
-  "/gnu/store/bcgn4pbq8ypwr64lqwpj6i5wmqasgisc-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = peachpuff4];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = magenta];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
-  "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
-  "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
-  "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = cyan3];
-  "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" [color = cyan3];
-  "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = cyan3];
-  "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [label = "mes-boot@0.17", shape = box, fontname = Helvetica];
-  "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = peachpuff4];
-  "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = peachpuff4];
-  "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = peachpuff4];
-  "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [label = "mescc-tools-boot@0.4-1.f02b8f4", shape = box, fontname = Helvetica];
-  "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
-  "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
-  "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
-  "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" [label = "tcc-boot0@0.9.26-2.b7aa906", shape = box, fontname = Helvetica];
-  "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = dimgrey];
-  "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/sg0wyd627wnjgbz3h81wpw40mvycd9a4-mescc-tools-boot-0.4-1.f02b8f4.drv" [color = dimgrey];
-  "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = dimgrey];
-  "/gnu/store/0fn8gpb337qkwwyil1n454arihyks016-tcc-boot0-0.9.26-2.b7aa906.drv" -> "/gnu/store/1dz9ddx84s4lgpcayy71kd01w493ab8f-guile-bootstrap-2.0.drv" [color = dimgrey];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/vsmyymmby9k68rk272z9pjz7r2nzakqd-mes-boot-0.17.drv" [color = darkgoldenrod];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkgoldenrod];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkgoldenrod];
-  "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = darkgoldenrod];
-  "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
-  "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = blue];
-  "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
-  "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" [color = magenta];
-  "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/hx26z6mcprq63wpv7qxvkzfyb7m7y21f-tcc-boot-0.9.27.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = magenta];
-  "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = magenta];
-  "/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" [label = "mesboot-headers@0.17", shape = box, fontname = Helvetica];
-  "/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = red];
-  "/gnu/store/w2iap5yh3bnnw2idxbglnxggbhv7qqmy-mesboot-headers-0.17.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = red];
-  "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/1lpd2hq50fmk6kfqn1aahrac6apvs6fb-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/f6im9aa6dih27mzbcn0nzhpimx1x3fbz-diffutils-mesboot-2.7.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
-  "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = darkseagreen];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/56ykhaizzgaf05854bdmd9dll0s81zvr-binutils-mesboot0-2.20.1a.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jiv0ii6rybn7f3vmny68yfzlw21zndm1-glibc-mesboot0-2.2.5.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/8075vsabf755bgm8i3f4x1b1pfp8liqc-gcc-mesboot0-2.95.3.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jk9r6i5y06jx00pbs36djkl07qvaq37b-make-mesboot0-3.80.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/jjv0nyliqz0sl6hpqn5nv88z1g20a29a-bootstrap-binaries-0.drv" [color = blue];
-  "/gnu/store/s6g5nfjabl97s0kk4alvgxfs6n8f1k9c-make-mesboot-3.82.drv" -> "/gnu/store/drs84w7k2bjl91virvqgd2vll0c321wp-linux-libre-headers-bootstrap-0.drv" [color = blue];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
+  "/gnu/store/k9iiipnm44yl1j7lq1b4llh9fmjb482i-gcc-mesboot-4.9.4.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkgoldenrod];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
+  "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkviolet];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = red];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = red];
+  "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = red];
+  "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
+  "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = darkgoldenrod];
+  "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" [color = darkgoldenrod];
+  "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [label = "mes-boot@0.18", shape = box, fontname = Helvetica];
+  "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [color = cyan3];
+  "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = cyan3];
+  "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = cyan3];
+  "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [label = "mescc-tools-boot@0.5.2", shape = box, fontname = Helvetica];
+  "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
+  "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [label = "guile-bootstrap@2.0", shape = box, fontname = Helvetica];
+  "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" [label = "tcc-boot0@0.9.26-4.46ee3f1", shape = box, fontname = Helvetica];
+  "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = darkseagreen];
+  "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/q6bf80szhn5cfyhyl7m2aakj4f7hlyrh-mescc-tools-boot-0.5.2.drv" [color = darkseagreen];
+  "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/4lbzsyzndxc3pp0rqd7qkd2fr278xnrb-tcc-boot0-0.9.26-4.46ee3f1.drv" -> "/gnu/store/gz3agxnnlgkafw2c8jnvk2hqmlh85pkc-guile-bootstrap-2.0.drv" [color = darkseagreen];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/gvh2cb2arylz028y5ak3c9s4gxngfj50-mes-boot-0.18.drv" [color = red];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = red];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = red];
+  "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = red];
+  "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
+  "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = blue];
+  "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
+  "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [color = dimgrey];
+  "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = dimgrey];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/15srbzj4y43vwfv79fxf1v1ajjw5kjwa-tcc-boot-0.9.27.drv" [color = darkgoldenrod];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
+  "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkgoldenrod];
+  "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [label = "mesboot-headers@0.18", shape = box, fontname = Helvetica];
+  "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
+  "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/3hqzkw9ag2f3p1skzynr0wq3499ghmsf-gcc-core-mesboot-2.95.3.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkviolet];
+  "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkviolet];
+  "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
+  "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = blue];
+  "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [color = blue];
+  "/gnu/store/7nv5rwsxx4v2g5fgbilj0c96gx34897q-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = blue];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
+  "/gnu/store/1aqmzzsa18kmckm6jw9slr4i0xkrw9g0-glibc-mesboot-2.16.0.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/sivwa9pmj19nfad8zavgqjll11hahcyb-mesboot-headers-0.18.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
+  "/gnu/store/hcyw9rs7n3w9kj3xf230509fhjqfxcvj-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/rpz0s3f2cfhsvj6734ss2j4jqisly67x-binutils-mesboot-2.20.1a.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/jrqric1r8zyiw50rzb6q2mrfhf3yi0nc-diffutils-mesboot-2.7.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
+  "/gnu/store/9bi0anc7vq3m6zm845wyaq9mfdasyqkg-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [color = darkseagreen];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/6112c8hrb47fd1svdjyaiy79x3r1ryv3-binutils-mesboot0-2.20.1a.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/yc8llxzasyyq94h71knnd3p0fqkbhd37-glibc-mesboot0-2.2.5.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/20r0xxzq1nah1rx23sv5d22sjlinj820-gcc-mesboot0-2.95.3.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/qkrrqygyc11bq450xq4jxkaj4aqf8xlv-make-mesboot0-3.80.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/ksmskl74pjjanjvak62pnyxpkphylrnf-bootstrap-binaries-0.drv" [color = darkgoldenrod];
+  "/gnu/store/b84wdn9yjagp0z7dklqaac3nhabllcxp-make-mesboot-3.82.drv" -> "/gnu/store/72kjcwwjxbkhblx6wrfd7kn2y0lmfyy0-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
 
 }
index 8797318c2de67f0dca822a6986faec47bb7ef52f..2f4feb1ca8a35debc88e18c4d6a7545c6176151a 100644 (file)
@@ -115,13 +115,19 @@ These were “Maxwell’s Equations of Software!”
 @author Alan Kay
 @end quotation
 
-GNU Mes@footnote{``Mes'' is an acronym for the Maxwell Equations of
-Software.} consists of a mutual self-hosting Scheme interpreter written
-in C and a Nyacc-based (see @pxref{NYACC User's Guide,,, nyacc-ug, NYACC
-User's Guide}) C compiler written in Scheme.
+The purpose of GNU Mes@footnote{``Mes'' is an acronym for the Maxwell
+Equations of Software.} is to help create a computer operating system
+that we can trust.
 
-The Scheme interpreter @file{mes.c} is about 5000LOC of restricted C and
-intended to be bootstrappable using a very simple C compiler.
+Mes consists of a mutual self-hosting Scheme interpreter written in C
+and a Nyacc-based (see @pxref{NYACC User's Guide,,, nyacc-ug, NYACC
+User's Guide}) C compiler written in Scheme.  The Scheme interpreter
+@file{mes.c} is about 5000LOC of restricted C and intended to be
+bootstrappable using a very simple C compiler.
+
+If we want to trust our computers to do what we instructed them to do
+then we need to be able to inspect all instructions---all
+softwares---that we have given it to run.
 
 @section Software Freedom
 @cindex purpose
@@ -154,11 +160,25 @@ essential freedoms:
 @end enumerate
 @end quotation
 
-So we have access to the software, we have studied it, possibly modified
-it, we built it and we installed it on a computer or some device.  How
-can we trust that when we run the program we are indeed running the
-untainted product of the source code that we studied?  Unless we are
-certain of this we cannot really enjoy freedom 1.
+A computer operating system that respects the user's freedom is one
+essential ingredient for building a reliable, trustable computing
+system.  There are about a dozen general purpose operating systems that
+can be trusted in this way, see
+@url{https://www.gnu.org/distros/free-distros.html, Free Distributions}.
+For all softwares on such a system we have the full source code and
+build recipes available.
+
+@c The Free System Distribution Guidelines (GNU FSDG)@footnote{Examples of
+@c free operating systems are GNU GuixSD, GNU Parabola and Trisquel, see
+@c https://www.gnu.org/distros/free-system-distribution-guidelines.html}
+@c can serve as help to create such a system
+
+So we have access to all the software, we have studied it, possibly
+modified it, then we built it and we installed it on a computer or some
+device or appliance.  How can we trust that when we run the program we
+are indeed running the untainted product of the source code that we
+studied?  Unless we are certain of this we cannot really enjoy
+Freedom 1.
 
 @menu
 * Reproducible Builds::         Reproducibility and free software.
@@ -170,8 +190,10 @@ certain of this we cannot really enjoy freedom 1.
 @section Reproducible Builds
 
 The current Reproducible Builds effort incubated in the Debian
-project@footnote{@url{http://debian.org, The Debian Project}} and was organized by Lunar.  Quoting
-the Reproducible Builds website@footnote{@url{https://reproducible-builds.org/,Reproducible Builds}}
+project@footnote{@url{http://debian.org, The Debian Project}} and was
+organized by Lunar.  Quoting the Reproducible Builds
+website@footnote{@url{https://reproducible-builds.org/,Reproducible
+Builds}}
 
 @quotation
 A build is reproducible if given the same source code, build environment
@@ -183,11 +205,11 @@ copies of all specified artifacts.
 
 Now consider the opposite, that a second build of a piece of source code
 produces a different binary program.  Upon further investigation we
-might find that the only difference is a timestamp that was embedded in
-the binary, or perhaps the name of the directory it was built in.  Such
-investigations can be nontrivial and are highly unpractical.  And what
-if the binary difference is not so trivial, cannot be easily accounted
-for?
+might find that the only difference is probably harmless: a timestamp
+that was embedded in the binary, or perhaps the name of the user that
+built it or directory it was built in.  Such investigations can be
+nontrivial and are highly unpractical.  And what if the binary
+difference is not so trivial, cannot be easily accounted for?
 
 A piece of software that cannot be built bit-by-bit reproducible is
 probably not a good community member in the world of software freedom.
@@ -233,8 +255,8 @@ seeds that are used to start building the distribution.
 
 The GNU GuixSD operating system has a relatively small closure of
 bootstrap binaries: GNU binutils, GNU gcc, GNU Libc, GNU Guile, and
-``Static binaries'' (think: bash, coreutils, diffutils, findutils,
-gawk, grep, gzip, make, sed, tar)
+``Static binaries'' (think: bash, bzip2, coreutils, gawk, grep, gzip,
+patch, sed, tar, xz).
 
 @example
 $ du -schx $(readlink $(guix build bootstrap-tarballs)/*)
@@ -267,16 +289,113 @@ $ du -schx *
 There is an obvious solution: we cannot allow any binary seeds in our
 software stack.  Not even in the bootstrap binaries.  Maybe that is a
 bit too strong: we want to have the absolute minimum of binary seeds and
-all binary seeds need to be inspectable and must be reviewed.
+all binary seeds need to be inspectable and must be reviewed.  How big
+would the absolute minimal set be?
 
 @subsection The Magical Self-Hosting Hex Assembler
 
 June 2016 I learnt about
 @url{https://github.com/oriansj/stage0/,Stage0}.  Jeremiah Orians
-created `hex0' a ~500 byte self-hosting hex assembler.  The source code
-is well documented and the binary is the exact mirror of the source
-code.  I was inspired: what if we could bootstrap a whole GNU
-distribution from source, using only an initial 500 byte binary seed?
+created @file{hex0} a ~500 byte self-hosting hex assembler.  The source
+code is well documented and the binary is the exact mirror of the source
+code.  I was inspired.
+
+Here is an example of what the @file{hex0} program looks like; the start
+of the @var{hex} function
+
+@example
+00000060: 4883 f830 7c6f 4883 f83a 7c5a 4883 f841  H..0|oH..:|ZH..A
+@dots{}
+000000d0: 48c7 c0ff ffff ffc3 0000 0000 0000 0000  H...............
+000000e0: 4883 e830 c300 0000 0000 0000 0000 0000  H..0............
+@end example
+
+All computer programs look like this: an opaque list of computer codes.
+The initial programs that we take for granted---the bootstrap
+binaries---are about 250MB of such numbers: think 250,000 pages full of
+numbers.
+
+Most computers work pretty well so apparently there is not a pressing
+need to inspect and study all of these codes.  At the same time it is
+tricky to fully trust@footnote{ Ken Thompson's 1984 Turing award
+acceptance speech
+@url{http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf,
+Reflections on Trusting Tust}.} a computer that was bootstrapped in this
+way.
+
+Here is what the source code of the @file{hex0} assembler looks like
+
+@example
+## function: hex
+48 83 f8 30                # cmp $0x30,%rax
+7c 6f                      # jl 6000f3 <ascii_other>
+48 83 f8 3a                # cmp $0x3a,%rax
+7c 5a                      # jl 6000e4 <ascii_num>
+48 83 f8 41                # cmp $0x41,%rax
+@dots{}
+## function: ascii_other
+48 c7 c0 ff ff ff ff       # mov $0xffffffffffffffff,%rax
+c3                         # ret
+@dots{}
+## function: ascii_num
+48 83 e8 30                # sub $0x30,%rax
+c3                         # ret
+@end example
+
+While it may be hard to understand what this piece of the program does,
+it should be possible for anyone to verify that the computer codes above
+correspond to the source code with comments.
+
+One step beyond these annotated codes is Assembly language.  To write a
+program in Assembly, you only need to provide the instructions; the
+codes are computed by the @file{assembler} program.
+
+@example
+hex:
+       # deal all ascii less than 0
+       cmp $48, %rax
+       jl ascii_other
+       # deal with 0-9
+       cmp $58, %rax
+       jl ascii_num
+@dots{}
+ascii_other:
+       mov $-1, %rax
+       ret
+ascii_num:
+       sub $48, %rax
+       ret
+@end example
+
+More readable still, a similar program text in the C programming language.
+
+@example
+int
+hex (int c)
+@{
+  if (c >= '0' && c <= '9')
+    return c - 48;
+@dots{}
+@}
+@end example
+
+What if we could bootstrap our entire system from only this one
+@file{hex0} assembler binary seed?  We would only ever need to inspect
+these 500 bytes of computer codes.  Every@footnote{Some program
+languages have become very hard or practically impossible to bootstrap.
+Instead of depending on a simple language such as C, they depend on a
+recent version of itself, or on other binary or ASCII seeds, on other
+recent programs written in that language, or even on manual
+intervention.  Programs written in a language that cannot be
+bootstrapped can still run on our systems, but cannot enjoy any of the
+trust we intend to create.} later program is written in a more friendly
+programming language: Assembly, C, @dots{}  Scheme.
+
+Inspecting all these programs is a lot of work, but it can certainly be
+done.  We might be able to create a fully inspectable path from almost
+nothing to all of the programs that our computer runs.  Something that
+seemed to be an impossible dream is suddenly starting to look like
+``just a couple years of work''.
 
 @subsection LISP as Maxwell's Equations of Software
 
@@ -298,8 +417,8 @@ over.
 
 Our starting point is @file{hex0}, a 500 byte hex assembler and we need
 to somehow close the gap to building the bootstrap binaries, esp. GNU
-Gcc and GNU Libc.  What better way to do that than by leveraging the
-powers of LISP?
+Gcc and the GNU C Library.  What better way to do that than by
+leveraging the powers of LISP?
 
 GNU Mes is a Scheme@footnote{Scheme is a modern LISP} interpreter that
 will be indirectly bootstrapped from @file{hex0} and that wields the
@@ -337,9 +456,7 @@ GNU Mes depends on the following packages:
 @item @url{http://gnu.org/software/guile/, GNU Guile}, version 2.0.13 or
 later, including 2.2.x;
 @item @url{http://www.gnu.org/software/make/, GNU Make}.
-@item @url{https://savannah.gnu.org/projects/nyacc/, NYACC}, currently only the patched
-  version 0.80.42 from @url{http://gitlab.com/janneke/nyacc/, patched
-  NYACC} is known to work.
+@item @url{https://savannah.gnu.org/projects/nyacc/, NYACC},  0.86.0 is known to work.
 @item @url{http://gcc.gnu.org, GCC's gcc}, version 2.95.3 or later.
 @end itemize
 
@@ -409,8 +526,8 @@ MES_BOOT=scaffold/boot/00-zero.scm src/mes
 Run a single Mes Scheme test
 
 @example
-tests/boot.test
-tests/boot.test-guile
+./pre-inst-env tests/boot.test
+MES=guile ./pre-inst-env tests/boot.test
 @end example
 
 Run MesCC tests only
@@ -474,9 +591,9 @@ responsibility.
 @section The Mes Bootstrap Process
 
 The Mes full source bootstrap process@footnote{TBH, the current state of
-affairs demands to label this a `reduced binary seed bootstrap'} is
+affairs demands to label this a `Reduced Binary Seed bootstrap'} is
 currently being developed in GuixSD@footnote{See
-@file{gnu/packages/mes.scm} in the @var{wip-bootstrap} branch in Guix
+@file{gnu/packages/commencement.scm} in the @var{core-updates-next} branch in Guix
 git
 @url{http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/mes.scm?h=wip-bootstrap}}.
 In it's intiial form it is only available for x86-linux.
@@ -505,7 +622,7 @@ glibc-source + binutils + gcc + glibc0 => glibc
 
 @c This graph is generated from wip-bootstrap, doing:
 
-@c ~/src/guix-bootstrap/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-graph.dot
+@c ~/src/guix-boot/pre-inst-env guix graph --type=bag -e '(@@ (gnu packages commencement) gcc-mesboot)' doc/images/gcc-mesboot-graph.dot
 @c dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png
 
 Here's a generated dependency diagram to for the final bootstrap gcc
@@ -519,8 +636,8 @@ injected by our own doing as temporary shortcut
 mescc-tools-seed, mes-seed, tinycc-seed
 @end example
 
-These additional non-bootstrapped dependencies (i.e., binary seeds) are
-taken for granted
+For now, these additional non-bootstrapped dependencies (i.e., binary
+seeds) are taken for granted
 
 @example
 BOOTSTRAP-GUILE, bash, bzip2, coreutils, gawk, grep, gzip, patch, sed,
@@ -889,24 +1006,25 @@ without any effort.
 
 However, please don't let our preference stop you from reporting a bug.
 There's one thing @emph{much} worse for us than getting a bug report
-without a patch: Reading a complaint or rant online about your pain and
-how our work sucks, without having heard directly what you experienced.
+without a patch: Reading a complaint or rant online about your
+frustrations and how our work sucks, without having heard directly what
+you experienced.
 
 So if you report a problem, will it be fixed?  And @strong{when}?  The
 most honest answer is: It depends.  Let's curry that informationless
-honesty with a more helpful and more blunt reminder of a mantra of Free
-Software:
+honesty with a more helpful and more blunt reminder of a mantra of free
+software:
 
 @quotation
 @table @strong
 @item Q:
-When@dots{}?
+When will it be finished?
 
 @item A:
-@dots{}sooner if you help.
+It will be ready sooner if you help.
 @end table
 
-@author Eric Raymond
+@author Richard Stallman
 @end quotation
 
 @cindex contact, irc, mailing list
@@ -922,7 +1040,7 @@ Please send bug reports with full details to @email{bug-mes@@gnu.org}.
 
 We would like to thank the following people for their help: Jeremiah
 Orians, pdewacht, rain1, Ricardo Wurmus, Rutger van Beusekom.
-w
+
 We also thank Ludovic Courtès for creating GuixSD and making the
 bootstrap problem so painfully visible, John McCarthy for creating
 LISP-1.5 and Alan Kay for their inspiring comment on