Mes
Maxwells Equations of Software.[edit]
This is a program by Jan Nieuwenhuizen to reduce the bootstrap binaries of GuixSD to nothing!
- Bourne shell compiler frontend (related to guix and bootstrapping)
Architecture[edit]
mes implements a lisp interpreter written in C, that is able to run mescc which by using nyacc for parsing and mescc-tools for linking functions as a C compiler.
mescc includes its own libc, written in C and is able to compile mes thus providing a full loop bootstrap.
Breakthrough (Sept 2018)[edit]
Headline! they've managed to bootstrap gcc/glibc/binutils and all of gnu/linux from just: mescc, mes, bash + gnu coreutils and tinycc running on top of linux
- https://gitlab.com/janneke/guix/blob/affb2e11859b3bb03fdfe0e223e51d97cdc630b3/gnu/packages/commencement.scm
- https://lists.gnu.org/archive/html/guix-devel/2018-09/msg00048.html
Here is a diagram showing the mes based bootstrap packages for GuixSD.
currently the path for bootstrapping MesCC is to build mes-m2 [1] which is a minor fork of mes.c designed to be built by M2-Planet (and unfortunately is not build-able by any other C compiler)
As of Mes 0.24, upstream mes can be built by M2-Planet.