mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-14 15:25:23 +01:00
Add mes and mescc-tools-extra
mescc-tools-extra contains two important tools: - cp - chmod mes first builds itself from a mes 0.21 seed as used by guix, and then builds a mes 0.22 and then mes 0.22 using that created mes 0.22. It does /not/ use bootstrap.sh as we don't have a proper shell at this point, it has been manually adapted for kaem.
This commit is contained in:
parent
2706e07556
commit
649d7b68dc
1029 changed files with 120985 additions and 18 deletions
45
sysa/mes-0.22/doc/announce/ANNOUNCE
Normal file
45
sysa/mes-0.22/doc/announce/ANNOUNCE
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
Subject: on bootstrapping: introducing Mes
|
||||
Date: Sun, 19 Jun 2016 13:08:02 +0200
|
||||
|
||||
Hi,
|
||||
|
||||
I have a minimal LISP-1.5-resembling interpreter in C that now can
|
||||
also interpret itself
|
||||
|
||||
https://gitlab.com/janneke/mes
|
||||
|
||||
It was inspired by the seemingly often ignored bootstrapping question
|
||||
made so painfully visible by GuixSD and by OriansJ with their self
|
||||
hosting hex assembler project.
|
||||
|
||||
As a next step after a hex assembler I was thinking of getting Scheme up
|
||||
and running and use that to create a tiny C compiler, probably using
|
||||
PEG. For that I think we need define-syntax, which I had a peek at and
|
||||
still scares the all-sorts-of-things out of me :-)
|
||||
|
||||
I searched for minimal Lisp/Scheme to get that going and found an
|
||||
article called the Maxwell Equations of Software 1) with a pointer to
|
||||
the 1962 LISP 1.5 paper by John McCarthy 2).
|
||||
|
||||
First I `implemented' Mes/LISP-1.5: the bottom half of page 13 and the
|
||||
necessary helper procedures defined on pages 8-12 using Guile, removing
|
||||
all but the primitives needed to run LISP-1.5/Mes (I think): car, cdr,
|
||||
cond, cons, define, eq?, '()/nil, null?, pair? and quote. I cheated
|
||||
with read, and with display and newline for debugging.
|
||||
|
||||
Then I translated the program into C and got rid of read by using
|
||||
getchar/ungetchar.
|
||||
|
||||
It's been great fun and now I'm kind of stuck a bit at the point of
|
||||
implementing macros. I have a simplistic version in C but want to
|
||||
remove that again --I like the idea of having the absolute minimal LISP
|
||||
interpreter in C-- and only introduce macros after having bootstrapped
|
||||
into the LISP/Mes domain.
|
||||
|
||||
Greetings,
|
||||
Jan
|
||||
|
||||
1) http://www.michaelnielsen.org/ddi/lisp-as-the-maxwells-equations-of-software/
|
||||
2)
|
||||
http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
|
||||
96
sysa/mes-0.22/doc/announce/ANNOUNCE-0.10
Normal file
96
sysa/mes-0.22/doc/announce/ANNOUNCE-0.10
Normal file
|
|
@ -0,0 +1,96 @@
|
|||
Subject: Mes 0.10 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.10, representing 82
|
||||
commits over 6 weeks. Mescc now compiles a bootstrappable-modified
|
||||
TinyCC into a mes-tcc that in turn can successfully compile a trivial
|
||||
C program.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to create full source bootstrapping for GuixSD[1] as
|
||||
part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme. This C prototype will be rewritten in stage0[3]
|
||||
M1 assembly (or possibly stage2 slow-LISP, or ...).
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], Pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes).
|
||||
|
||||
The simple C compiler can compile a modified TinyCC[8] that is
|
||||
starting to work! A gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0 ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.10 -O mes-0.10.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.10 since 0.9
|
||||
** Core
|
||||
*** 2 new functions
|
||||
logand, lognot.
|
||||
** Mescc
|
||||
*** Mes now includes M1 sources for full source bootstrapping up to tcc.
|
||||
*** Mescc now depends on Nyacc 0.81.0.
|
||||
*** Mescc now compiles a mes-tcc that compiles a trivial C to a running a.out.
|
||||
*** Mescc now supports several (as used my tinycc) struct by value assignments.
|
||||
*** Mescc now has _start in a separate crt1.c.
|
||||
*** Mescc now supports initializer arithmetic.
|
||||
*** Mescc now supports arrays of struct of arbitrary size.
|
||||
*** Mescc now supports pointer arithmetic.
|
||||
*** Mescc now defines __i386__, __linux__.
|
||||
*** Mescc now supports --*p, ++*p.
|
||||
*** Mescc now supports int foo[bar] = {baz,...}.
|
||||
*** Mescc now supports \x00 in strings in M1.
|
||||
*** Mescc now supports complex enum expressions. Thanks, rain1!
|
||||
*** Mescc now supports short.
|
||||
*** Mescc now supports foo.bar = foo.baz = bla.
|
||||
*** Mescc now supports foo = bar < baz and comparison permutations.
|
||||
*** Mescc now supports (anonymous) structs in unions.
|
||||
*** Mescc now writes M1 strings if possible.
|
||||
**** 2 improved mlibc functions
|
||||
malloc, realloc.
|
||||
**** 13 new mlibc functions
|
||||
fclose, fgetc, fprintf, fwrite, memcpy, memmove, memset, snprintf, strcat,
|
||||
strchr, strrchr, strtoull, vnsprintf.
|
||||
**** 15 new tinycc-support tests
|
||||
76-pointer-arithmetic.c, 77-pointer-assign.c, 78-union-struct.c,
|
||||
79-int-array.c, 7a-struct-char-array.c, 7b-struct-int-array.c,
|
||||
7c-dynarray.c, 7d-cast-char.c, 7e-struct-array-access.c,
|
||||
7f-struct-pointer-arithmetic.c, 7g-struct-byte-word-field.c,
|
||||
7h-struct-assign.c, 7i-struct-struct.c, 7j-strtoull.c,
|
||||
7k-for-each-elem.c.
|
||||
** Noteworthy bug fixes
|
||||
*** Mescc has many fixes for foo.bar[baz], foo[bar].baz with ./-> permutations.
|
||||
*** Many bugs and limitations in mescc have been fixed and removed.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/stage0
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
70
sysa/mes-0.22/doc/announce/ANNOUNCE-0.11
Normal file
70
sysa/mes-0.22/doc/announce/ANNOUNCE-0.11
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
Subject: Mes 0.11 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.11, representing 16
|
||||
commits over 10 weeks. MesCC now compiles a less heavily patched
|
||||
TinyCC into a mes-tcc that in turn passes 41/69 of mescc's C tests.
|
||||
|
||||
When mes-tcc passes all 69 tests, this almost-full-source-bootstrapped
|
||||
version of TinyCC should be able to compile itself. An unpatched, GNU
|
||||
Gcc-compiled tcc is known to compile GNU Gcc.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to create full source bootstrapping for GuixSD[1] as
|
||||
part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme. This C prototype will be rewritten in stage0[3]
|
||||
M1 assembly (or compiled by M2-Planet or stage2 slow-LISP, or ...).
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], Pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
MesCC (mescc.mes).
|
||||
|
||||
MesCC can compile a modified TinyCC[8] that is close to being
|
||||
self-hosting. A GNU Gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0 ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.11 -O mes-0.11.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.11 since 0.10
|
||||
** MesCC
|
||||
*** MesCC now compiles a mes-tcc that passes 41/69 of mescc's C tests.
|
||||
*** MesCC's libc can now be compiled with tcc (syscall support: write).
|
||||
*** MesCC now compiles a less-patched tcc: -214/+458 lines [WAS: -333/+747].
|
||||
*** MesCC now supports empty for.
|
||||
*** MesCC has been greatly refactored, 500/3000 lines have been removed.
|
||||
*** MesCC now supports complex [struct] by value assign foo.bar, foo->bar, foo[bar].
|
||||
*** MesCC now depends on Nyacc 0.82.4.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/stage0
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
97
sysa/mes-0.22/doc/announce/ANNOUNCE-0.12
Normal file
97
sysa/mes-0.22/doc/announce/ANNOUNCE-0.12
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
Subject: Mes 0.12 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.12, representing 120
|
||||
commits over 20 weeks. MesCC is prototyped running on Guile and can
|
||||
now run on Mes. Performance of Mes running MesCC has been improved by
|
||||
a factor of 100; mes.c (~3000 LOC) now compiles in ~4min. Many fixes
|
||||
and enhancements make that now also TinyCC parses (~1.5h) and compiles
|
||||
(~20min) with Mes+MesCC (Guile+MesCC takes ~2min).
|
||||
|
||||
Special thanks go to Ricardo Wurmus for sharing the recursive macro
|
||||
expand perspective and starting work on that, to Han-Wen Nienhuys for
|
||||
his sharp `Ah, so you skipped SICP chapter 3' remark and to rain1 for
|
||||
their continuous help on #bootstrapping and their `let's only expand
|
||||
global variables' insight.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to create full source bootstrapping for GuixSD[1] as
|
||||
part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme. This C prototype will be simplified to be
|
||||
transpiled by M2-Planet[3].
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
MesCC (mescc.mes).
|
||||
|
||||
MesCC can compile a modified TinyCC[8] that is close to being
|
||||
self-hosting. A GNU Gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[11] ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.12 -O mes-0.12.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.12 since 0.11
|
||||
** Core
|
||||
*** Mes can now run Nyacc (0.80.42) to compile itself in ~4min (~3000 LOC).
|
||||
*** Mes now recursively expands global variables per top level statement.
|
||||
*** Mes now recursively expands macros per top level statement.
|
||||
*** Mes now boots from MES_BOOT (default: module/mes/boot-0.scm).
|
||||
*** Mes now has a full Scheme reader in C again.
|
||||
This gives a 10x-20x performance improvement and increases the
|
||||
bootstrap footprint by 160 LOC.
|
||||
*** Mes reader now supports older abbreviated character forms
|
||||
#\bel, #\bs, #\ht and #\vt.
|
||||
*** 3 new functions
|
||||
equal2?, memq, core:write.
|
||||
** Language
|
||||
*** Mes now has an incremental Scheme semantics test suite with 71 small tests.
|
||||
*** Variable names can now have ticks.
|
||||
*** Mes now evaluates expresions of COND only once.
|
||||
*** srfi-9 records have been reimplemented.
|
||||
*** #\page is now whitespace.
|
||||
*** #<eof> is no longer a character.
|
||||
*** 2 new macros
|
||||
define-macro*, with-fluids.
|
||||
*** 9 new functions
|
||||
dirname, last, reverse-list->string, setenv, string-drop-right,
|
||||
string-fold, string-fold-right, string-null?, write.
|
||||
** MesCC
|
||||
**** 9 new functions
|
||||
chmod, getopt_long, ferror, itoab, longjmp, qsort, setenv, setjmp, strtol.
|
||||
**** 2 new header files
|
||||
endian.h, sys/signal.h.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/m2-planet
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
81
sysa/mes-0.22/doc/announce/ANNOUNCE-0.13
Normal file
81
sysa/mes-0.22/doc/announce/ANNOUNCE-0.13
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
Subject: Mes 0.13 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.13, representing 45
|
||||
commits over 3 weeks. MesCC can now compile a functional tcc when
|
||||
running on Mes (in ~1h45') or on Guile (in ~3min).
|
||||
|
||||
This means that we are getting very close to a full source bootstrap
|
||||
of tcc: it is now built without gcc, glibc or guile; using only
|
||||
MesCC-tools and Mes sources and corresponding ascii/binary seeds.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to help create full source bootstrapping for GuixSD[1]
|
||||
as part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting Scheme interpreter
|
||||
prototype in C and a Nyacc-based C compiler in Scheme. This C
|
||||
prototype is being simplified to be transpiled by M2-Planet[3].
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
MesCC.
|
||||
|
||||
Mes+MesCC can compile a modified TinyCC[8] that is close to being
|
||||
self-hosting. A GNU Gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[11] ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/-/archive/v0.13/mes-0.13.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.13 since 0.12
|
||||
** Core
|
||||
*** Bootstrapped Mes+MesCC can now compile a patched tcc in ~2h30' (~25,000 LOC).
|
||||
*** MesCC scripts for Mes and Guile are now merged; executable is: `mescc'.
|
||||
*** Mes now uses only one arena for stop-and-copy; doubles available size.
|
||||
*** Mes now has a Guile-like command-line interface (mes.repl has been removed).
|
||||
*** Mes now boots into a full Scheme by default.
|
||||
*** Mes can now be compiled (MES_MINI=1) to boot into a minimal Scheme (~2000 cells).
|
||||
*** Mes now creates less garbage in the reader and in
|
||||
append2, append_reverse, reverse, reverse!, vector-for-each, vector-to-list, vector-map.
|
||||
*** 5 new functions
|
||||
append-reverse, chmod, ioctl, isatty, isspace, last_pair, reverse!.
|
||||
** Language
|
||||
*** 3 new functions
|
||||
char-whitespace?, chmod, isatty?
|
||||
** Noteworthy bug fixes
|
||||
*** Two bugs in the jam scraper/garbage collector have been fixed.
|
||||
*** equal2_p now uses tail call elimination.
|
||||
*** Escaped characters in strings are now read and write'd correctly.
|
||||
*** The repl now expands macros again.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/m2-planet
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
101
sysa/mes-0.22/doc/announce/ANNOUNCE-0.14
Normal file
101
sysa/mes-0.22/doc/announce/ANNOUNCE-0.14
Normal file
|
|
@ -0,0 +1,101 @@
|
|||
Subject: Mes 0.14 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.14, representing 98
|
||||
commits over 4 weeks. Mes+MesCC now compiles a self-hosting TinyCC
|
||||
that has only been slightly patched.
|
||||
|
||||
This means that we can now build a tcc that depends only on a 1MB
|
||||
ASCII M1 seed. GuixSD currently uses a ~250MB binary seed to build
|
||||
gcc.
|
||||
|
||||
Next targets are: build gcc using this almost full-source bootstrapped
|
||||
tcc, and reduce the 1MB ASCII M1 seed to ~100KB of M2 source, which is
|
||||
a restricted subset of C.
|
||||
|
||||
Packages are available from Guix's wip-bootstrap branch.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to help create full source bootstrapping for GuixSD[1]
|
||||
as part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting Scheme interpreter
|
||||
prototype in C and a Nyacc-based C compiler in Scheme. This C
|
||||
prototype is being simplified to be transpiled by M2-Planet[3].
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
MesCC.
|
||||
|
||||
Mes+MesCC can compile an only slightly patched TinyCC[8] that is
|
||||
self-hosting. A GNU Gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[11] ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/-/archive/v0.14/mes-0.14.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.14 since 0.13
|
||||
** Core
|
||||
*** Bootstrapped Mes+MesCC now compiles a tcc that is self-hosting and only slightly patched.
|
||||
*** The reader now supports binary numbers (previously: read as decimal).
|
||||
*** String port support has been moved to C.
|
||||
*** The build has been simplified, the Make-in-Scheme experiment has been removed.
|
||||
*** 2 new functions
|
||||
chmod, logxor.
|
||||
** Language
|
||||
*** Mes now supports define-immutable-record-type and single set-field from srfi-9 gnu.
|
||||
*** 12 new functions
|
||||
basename, chmod, const, delete-duplicates, logxor, string-contains,
|
||||
string-map, string-replace, string-trim, string-trim-both,
|
||||
string-trim-right, unfold.
|
||||
** MesCC
|
||||
*** MesCC now supports standalone usage of nestedly defined enums, structs and unions.
|
||||
*** MesCC now supports comparison of unsigned and promotion of signed/unsigned -> unsigned.
|
||||
*** MesCC now supports sign extension for char, short.
|
||||
*** MesCC now has stubbing for floats; compiling works, data is fu.
|
||||
*** MesCC now has full suport for switch case, e.g. with default as first clause.
|
||||
*** MesCC now supports destruction of casted expressions: ((struct foo*)p)->bar.
|
||||
*** MesCC now has full support for pre/post, e.g.: (foo--)->bar and permutations.
|
||||
*** MesCC now supports sizeof any expression or type.
|
||||
*** MesCC now supports initialization of anonymous unions.
|
||||
*** MesCC now supports bit fields.
|
||||
*** MesCC now supports valued functions in expressions: destruction and dereferencing.
|
||||
*** MesCC now supports function-static variables.
|
||||
*** MesCC now supports initializer lists in structs and unions.
|
||||
*** MesCC now has full support for heterogeneous variable declarations, e.g.: char p, *x = "foo", buf[3];
|
||||
**** 4 new functions
|
||||
__lshrdi3, __ashldi3, __ashrdi3, strncpy.
|
||||
**** 9 new mlibc stubs
|
||||
__fixdfdi, __fixsfdi, __fixunsxfdi, __fixxfdi, __floatundixf, ldexp,
|
||||
strtod, strtof, strtold.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/m2-planet
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
106
sysa/mes-0.22/doc/announce/ANNOUNCE-0.15
Normal file
106
sysa/mes-0.22/doc/announce/ANNOUNCE-0.15
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
Subject: Mes 0.15 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.15, representing 45
|
||||
commits over 3 weeks. The GNU toolchain is getting bootstrapped!
|
||||
|
||||
As of 0.14, Mes+MesCC compiles a self-hosting TinyCC. Using the 0.15
|
||||
Mes C library, this TinyCC can build the GNU tools triplet:
|
||||
binutils-2.14, gcc-2.95.3, glibc-2.2.5.
|
||||
|
||||
This means that we can build a GNU toolchain that depends only on a
|
||||
critical 1MB ASCII M1 seed. GuixSD currently uses a ~250MB binary
|
||||
seed to build gcc.
|
||||
|
||||
Next targets are: upstream the Mes bootstrap to GuixSD, build a
|
||||
Gcc-4.7 and Glibc-2.23, bootstrap utilities like bison, flex, grep,
|
||||
sed..., replace GuixSD's bootstrap for x86 and reduce the 1MB ASCII M1
|
||||
seed to ~5000 LOC/~100KB of M2 source, which is a restricted subset of
|
||||
C.
|
||||
|
||||
Packages are available from Guix's wip-bootstrap branch.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to help create full source bootstrapping for GuixSD[1]
|
||||
as part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting Scheme interpreter
|
||||
prototype in C and a Nyacc-based C compiler in Scheme. This C
|
||||
prototype is being simplified to be transpiled by M2-Planet[3].
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
MesCC.
|
||||
|
||||
Mes+MesCC can compile an only slightly patched TinyCC[8] that is
|
||||
self-hosting. Using the Mes C library, this tcc can now build the
|
||||
GNU tools triplet: binutils-2.14, gcc-2.95.3, glibc-2.2.5.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[9]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[10] ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/-/archive/v0.15/mes-0.15.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.15 since 0.14
|
||||
** Core
|
||||
*** Support fork, exec, waitpid.
|
||||
*** Boot-0 loading has been refactored.
|
||||
*** MesCC now has out of the box Geiser support.
|
||||
** Language
|
||||
*** 2 new functions
|
||||
drop, drop-right.
|
||||
** MesCC
|
||||
*** MesCC and Mes Lib C can now build binutils-2.30, gcc-2.95.3 and glibc-2.2.5.
|
||||
*** MesCC now provides dummy crti.o, crtn.o so that tcc needs not be patched for those.
|
||||
*** Mes Lib C now supports compiling glibc-2.2.25.
|
||||
*** Mes Lib C now supports compiling gcc-2.95.3
|
||||
*** Mes Lib C now supports compiling binutils-2.30.
|
||||
*** Mes Lib C now supports compiling m4-1.4.
|
||||
*** Mes Lib C has been split into archs: gcc, x86-mes-gcc and x86-mes.
|
||||
*** MesCC now has a posixy command line interface.
|
||||
**** 70 new functions
|
||||
abs, access, alarm, alloca, atexit, atol, bcmp, bcopy, brk, bzero,
|
||||
chmod, clearerr, close, dup, dup2, execve, fabs, fcntl, fdgets, feof,
|
||||
fgets, fileno, fork, freopen, fscanf, fstat, fsync, getcwd, getgid,
|
||||
getpid, getrusage, getuid, index, ioctl, isalnum, isalpha, isascii,
|
||||
iscntrl, isprint, ispunct, kill, link, lseek, lstat, mkdir, mktemp,
|
||||
nanosleep, open, perror, pipe, raise, read, rename, rindex, rmdir,
|
||||
sbrk, sbrk, setitimer, signal, sleep, stat, strcspn, strdup, strerror,
|
||||
strncat, strpbrk, strspn, unlink, unsetenv, waitpid.
|
||||
**** 23 new stubs
|
||||
abort, atof, bsearch, bsearch, chown, ctime, fpurge, freadahead,
|
||||
frexp, getpwnam, gmtime, mbstowcs, pclose, popen, rewind, setbuf,
|
||||
sigsetmask, strftime, sys_siglist, system, times, umask, utime.
|
||||
**** 10 new C tests
|
||||
51-strcmp.c, 70-printf.c, 87-sscanf.c, 90-strpbrk.c, 91-fseek.c,
|
||||
92-stat.c, 93-fread-fwrite.c, 94-unsetenv.c, 95-signal.c, 96-strto.c.
|
||||
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/m2-planet
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[10] https://github.com/oriansj/stage0
|
||||
100
sysa/mes-0.22/doc/announce/ANNOUNCE-0.16
Normal file
100
sysa/mes-0.22/doc/announce/ANNOUNCE-0.16
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
Subject: Mes 0.16 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.16, representing 27
|
||||
commits over 2 weeks.
|
||||
|
||||
A most annoying ELF header bug was fixed that suddenly had all Mes
|
||||
binaries segfault before entering `_start' on Linux 4.17 and later.
|
||||
|
||||
We now have binutils-2.20.1 and gcc-4.1.0, both compiled with
|
||||
gcc-2.95.3 and glibc-2.2.5.
|
||||
|
||||
This reduced-binary-seed bootstrap still depends on these bootstrap
|
||||
binaries: BOOTSTRAP-GUILE, flex, bash, bzip2, coreutils, diffutils,
|
||||
gawk, grep, gzip, make, sed, tar, on the small binary seeds:
|
||||
tinycc-seed, mescc-seed and on the mes.M1 ASCII seed.
|
||||
|
||||
Next targets:
|
||||
|
||||
- build a Gcc 4.7 and Glibc 2.23
|
||||
- upstream the x86 Mes bootstrap to GuixSD
|
||||
- reduce the 1MB ASCII M1 seed to ~5000 LOC/~100KB of M2 source
|
||||
- revive Gash: a posix shell for Guile to reduce the bootstrap binary
|
||||
dependencies
|
||||
- and/or otherwise reduce the bootstrap binary dependencies
|
||||
|
||||
Packages are available from Guix's wip-bootstrap branch.
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to help create full source bootstrapping for GuixSD[1] as
|
||||
part of the bootstrappable builds[2] effort.
|
||||
|
||||
It currently consists of a mutual self-hosting Scheme interpreter
|
||||
prototype written in C and a Nyacc-based C compiler written in Scheme.
|
||||
This C prototype is being simplified[3] to be transpiled by M2-Planet[4].
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector, a
|
||||
library of loadable Scheme modules-- notably Dominique Boucher's LALR[5],
|
||||
Pre-R6RS portable syntax-case[6] with R7RS ellipsis, Matt Wette's Nyacc[7],
|
||||
Guile's PEG[8] --and test suite just barely enough to support a simple
|
||||
REPL and simple C-compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lighty patched TinyCC[9] 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.2.5,
|
||||
binutils-2.20.1, gcc-4.1.0.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10] --
|
||||
John McCarthy page 13, GNU Guix's source/binary packaging transparency
|
||||
and Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/-/archive/v0.16/mes-0.16.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.16 since 0.15
|
||||
** Core
|
||||
*** Support building with tcc, including Mes Lib C in-line assembly.
|
||||
*** core:execl now supports 1000 arguments.
|
||||
** MesCC
|
||||
*** Mes Lib C now bootstraps glibc-2.2.5, binutils-2.20.1, gcc-4.1.0.
|
||||
*** MesCC binaries now run on Linux 4.17 too, i.e. survive Linus' new `sane mmap limits.'
|
||||
*** MesCC now runs with mescc-tools 0.5 (no = in long options).
|
||||
**** 3 new C test
|
||||
88-strrchrc, 97-fopen.c, 98-fopen.c.
|
||||
** Noteworthy bug fixes
|
||||
*** strrchr now stops when it reaches start of string.
|
||||
*** fopen now return 0 upon failure. Supports binutils' hack: fd=-2 means `cached'.
|
||||
*** vfprintf, vsprintf now support precision and width on integers strings better.
|
||||
*** fread now produces ungetc'd chars too.
|
||||
*** memcmp now supports comparing 0 bytes, supporting binutils.
|
||||
|
||||
*** The unused ELF header data section, identical to the text section, has been removed.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/mes-m2
|
||||
[4] https://github.com/oriansj/m2-planet
|
||||
[5] https://github.com/schemeway/lalr-scm
|
||||
[6] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[7] https://www.nongnu.org/nyacc
|
||||
[8] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
113
sysa/mes-0.22/doc/announce/ANNOUNCE-0.17
Normal file
113
sysa/mes-0.22/doc/announce/ANNOUNCE-0.17
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
Subject: GNU Mes 0.17 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
We are delighted to announce the release of GNU Mes 0.17, representing
|
||||
64 commits over 6 weeks.
|
||||
|
||||
Mes is now an official GNU package and we have bootstrapped gcc-4.7.4
|
||||
for x86-linux with a reduced binary seed (i.e., without regular toolchain).
|
||||
|
||||
Next targets:
|
||||
|
||||
- upstream the x86 Mes bootstrap to GuixSD
|
||||
- create a x86_64 Mes C Lib, see if that is is enough to bootstrap x86_64
|
||||
- reduce the 1MB ASCII M1 seed to ~5000 LOC/~100KB of M2 source
|
||||
- create a plan for Geesh and Gash and use them to reduce the
|
||||
bootstrap binary dependencies
|
||||
- and/or otherwise reduce the bootstrap binary dependencies
|
||||
|
||||
Packages are available from Guix's wip-bootstrap branch.
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] aims to help create full source bootstrapping for GNU/Linux
|
||||
distributions such as GuixSD[1] as part of the bootstrappable builds[2]
|
||||
effort.
|
||||
|
||||
It consists of a mutual self-hosting Scheme interpreter written in
|
||||
~5,000 LOC of simple C and a Nyacc-based C compiler written in Scheme.
|
||||
This mes.c is being simplified[3] to be transpiled by M2-Planet[4].
|
||||
|
||||
The Scheme interpreter (mes.c) has a Garbage Collector, a library of
|
||||
loadable Scheme modules-- notably Dominique Boucher's LALR[5],
|
||||
Pre-R6RS portable syntax-case[6] with R7RS ellipsis, Matt Wette's
|
||||
Nyacc[7] --and test suite just barely enough to support a simple REPL
|
||||
and simple C-compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[8] 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.2.5,
|
||||
binutils-2.20.1, gcc-4.7.4.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[9] --
|
||||
John McCarthy page 13, GNU Guix's source/binary packaging transparency
|
||||
and Jeremiah Orians's stage0[10] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.17.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.17.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://www.gnu.org/order/ftp.html
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
93ca82612e203fd667dfbdfb83c06549 mes-0.17.tar.gz
|
||||
d38ec93ab6dc2c92a5c5e96fef7f9295972772c2 mes-0.17.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.17.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] from a git checkout by running
|
||||
|
||||
guix package -f .guix.scm
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.17 since 0.16.1
|
||||
** Core
|
||||
*** GNU Mes is now an official GNU package.
|
||||
*** MesCC is now installed as a regular Guile package.
|
||||
*** Support --srcdir build.
|
||||
*** Support all standard GNU make targets.
|
||||
** MesCC
|
||||
*** Mes C Lib now bootstraps glibc-2.2.5, binutils-2.20.1, gcc-4.7.4.
|
||||
* Changes in 0.16.1 since 0.16
|
||||
** Core
|
||||
*** Mes now builds out of the box on Debian buster/testing.
|
||||
*** Mes now comes with a generic build recipe: build-aux/setup-mes.sh.
|
||||
*** Mes now comes with INFO documentation.
|
||||
** MesCC
|
||||
*** MesCC now exits if spawning BLOOD_ELF, M1, or HEX2 fails.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/mes-m2
|
||||
[4] https://github.com/oriansj/m2-planet
|
||||
[5] https://github.com/schemeway/lalr-scm
|
||||
[6] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[7] https://www.nongnu.org/nyacc
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[10] https://github.com/oriansj/stage0
|
||||
133
sysa/mes-0.22/doc/announce/ANNOUNCE-0.18
Normal file
133
sysa/mes-0.22/doc/announce/ANNOUNCE-0.18
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
|
||||
Subject: GNU Mes 0.18 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
We are pleased to announce the release of GNU Mes 0.18, representing
|
||||
83 commits over 8 weeks.
|
||||
|
||||
Mes is now bringing a Reduced Binary Seed bootstrap to GuixSD; the
|
||||
size of bootstrap binaries has been halved and no regular toolchain
|
||||
binaries are used as binary seeds (i686-linux and x86_64-linux only).
|
||||
|
||||
MesCC has been refactored to use an abstracted assembly language and
|
||||
can now (cross-)build x86_64 binaries.
|
||||
|
||||
Next targets:
|
||||
|
||||
- reduce the 1MB ASCII M1 seed to ~5000 LOC/~100KB of M2 source
|
||||
- revive Gash/Geesh and use it to decimate the remaining bootstrap
|
||||
binary seeds
|
||||
- and/or otherwise reduce the bootstrap binaries
|
||||
- ARM, the Hurd?
|
||||
|
||||
Packages are available from Guix's core-updates-next branch.
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] brings a Reduced Binary Seed bootstrap[1] to GuixSD[2] and
|
||||
potentially to any other interested GNU/Linux distribution, and aims
|
||||
to help create a full source bootstrap as part of the
|
||||
bootstrappable builds[3] effort.
|
||||
|
||||
It consists of a mutual self-hosting Scheme interpreter written in
|
||||
~5,000 LOC of simple C and a Nyacc-based C compiler written in Scheme.
|
||||
This mes.c is being simplified[4] to be transpiled by M2-Planet[5].
|
||||
|
||||
The Scheme interpreter (mes.c) has a Garbage Collector, a library of
|
||||
loadable Scheme modules-- notably Dominique Boucher's LALR[6], Pre-R6RS
|
||||
[portable syntax-case[7] with R7RS ellipsis, Matt Wette's Nyacc[8] --and test
|
||||
suite just barely enough to support a simple REPL and simple
|
||||
C-compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[9] 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.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: LISP-1.5[10] -- John
|
||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||
Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.18.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.18.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://ftpmirror.gnu.org/mes/mes-0.18.tar.gz
|
||||
https://ftpmirror.gnu.org/mes/mes-0.18.tar.gz.sig
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
f9f901f175fbc8a5a3d90c9c551ccc8c mes-0.18.tar.gz
|
||||
4f7612731a745ebb806548186453d55e0d0bf217 mes-0.18.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.18.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] from a git checkout by running
|
||||
|
||||
guix package -f .guix.scm
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* 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 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.
|
||||
*** Mes C Library now supports x86_64.
|
||||
**** 7 new functions
|
||||
chdir, clock_gettime, closedir, execl, opendir, readdir, time.
|
||||
**** 5 new stubs
|
||||
getlogin, setlocale, setvbuf, sigaddset, sigblock.
|
||||
** Noteworthy bug fixes
|
||||
*** qsort can now handle lists with duplicate entries.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] http://joyofsource.com/reduced-binary-seed-bootstrap.html
|
||||
[2] https://www.gnu.org/software/guix
|
||||
[3] https://bootstrappable.org
|
||||
[4] https://github.com/oriansj/mes-m2
|
||||
[5] https://github.com/oriansj/m2-planet
|
||||
[6] https://github.com/schemeway/lalr-scm
|
||||
[7] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[8] https://www.nongnu.org/nyacc
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
155
sysa/mes-0.22/doc/announce/ANNOUNCE-0.19
Normal file
155
sysa/mes-0.22/doc/announce/ANNOUNCE-0.19
Normal file
|
|
@ -0,0 +1,155 @@
|
|||
|
||||
Subject: GNU Mes 0.19 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
We are pleased to announce the release of GNU Mes 0.19, representing
|
||||
100 commits over 10 weeks.
|
||||
|
||||
Mes has now brought the Reduced Binary Seed bootstrap to Guix (bootstrap
|
||||
a GNU/Linux system without binary GNU toolchain or equivalent) and work
|
||||
is ongoing to audit and verify this bootstrap path in NixOS.
|
||||
|
||||
This release introduces strings as byte-array, hash-tables and native
|
||||
structs. While that does increase the footprint somewhat, it fixes
|
||||
our performance issue; tinycc is now compiled in ~8min (WAS: ~1h30).
|
||||
|
||||
Next targets:
|
||||
|
||||
- translate mes.c into unsnarfed mes.M2
|
||||
- use Gash to remove bash, coreutils&co, grep, sed, tar from the Guix
|
||||
bootstrap binaries
|
||||
- replace the NixOS bootstrap
|
||||
- use dietlibc, uClibc, ... for bootstrapping GNU (bash, binutils,
|
||||
gcc, tar) and remove Mes C lib+gnu?
|
||||
- bootstrap gcc-3.x or 4.x directly, drop initial gcc-2.95.3 target?
|
||||
- have M1+hex2 create gcc/tcc-usable object files? archives?
|
||||
- Debian?
|
||||
- ARM, the Hurd?
|
||||
|
||||
Packages are available from Guix's core-updates branch.
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] brings a Reduced Binary Seed bootstrap[1] to Guix[2] and
|
||||
potentially to any other interested GNU/Linux distribution, and aims
|
||||
to help create a full source bootstrap as part of the
|
||||
bootstrappable builds[3] effort.
|
||||
|
||||
It consists of a mutual self-hosting Scheme interpreter written in
|
||||
~5,000 LOC of simple C and a Nyacc-based C compiler written in Scheme.
|
||||
This mes.c is being simplified[4] to be transpiled by M2-Planet[5].
|
||||
|
||||
The Scheme interpreter (mes.c) has a Garbage Collector, a library of
|
||||
loadable Scheme modules-- notably Dominique Boucher's LALR[6], Pre-R6RS
|
||||
[portable syntax-case[7] with R7RS ellipsis, Matt Wette's Nyacc[8] --and test
|
||||
suite just barely enough to support a simple REPL and simple
|
||||
C-compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[9] 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.2.5,
|
||||
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for
|
||||
i686-linux and x86_64-linux.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10] -- John
|
||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||
Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.19.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.19.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://ftpmirror.gnu.org/mes/mes-0.19.tar.gz
|
||||
https://ftpmirror.gnu.org/mes/mes-0.19.tar.gz.sig
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
99e134df87adc5fc5fd2c04941929c23 mes-0.19.tar.gz
|
||||
c9781b3b6a814acc985c2ac68caa111a56583bca mes-0.19.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.19.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix from a git checkout by running
|
||||
|
||||
guix package -f .guix.scm
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
See https://bootstrappable.org
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.19 since 0.18
|
||||
** Core
|
||||
*** The build system has been simplified.
|
||||
*** Mes now prints a backtrace upon error.
|
||||
*** Performance has been improved 2-8 times, making Mes 2-10 times slower than Guile.
|
||||
*** Mes now supports a module type and uses a `boot-module'.
|
||||
*** Mes now supports a hash_table type.
|
||||
*** Mes now supports a struct type.
|
||||
*** Mes now supports building a %bootstrap-mes seed from Guix.
|
||||
** Language
|
||||
*** Records are now implemented using struct (WAS: vector).
|
||||
*** 44 new functions
|
||||
ceil, char-downcase, char-set-adjoin, char-set-complement,
|
||||
char-upcase, current-time, delete-file, dup, dup2, file-exists?,
|
||||
floor, frame-printer, get-internal-run-time, getcwd, gettimeofday,
|
||||
hash, hash-ref, hash-set!, hash-table-printer, hashq,
|
||||
hashq-get-handle, hashq-ref, hashq-set, inexact->exact,
|
||||
make-hash-table, make-stack, make-struct, module-define!,
|
||||
module-printer, module-ref, module-variable, read-line, round,
|
||||
stack-length, stack-ref, string-downcase, string-tokenize,
|
||||
string-upcase, struct-length, struct-ref, struct-set! struct-vtable,
|
||||
struct-vtable, with-error-to-file.
|
||||
** MesCC
|
||||
*** Assembly defines have been cleaned-up: duplicates deleted, missing added, wrong fixed.
|
||||
*** MesCC now supports compiling GNU Bash and GNU Tar.
|
||||
**** 6 New functions
|
||||
getegid, geteuid, getppid, setgid, setuid, sigdelset, sigprocmask.
|
||||
**** 22 New macros
|
||||
EACCES, ENOSPC, ESPIPE, INT16_MAX, INT16_MIN, INT32_MAX, INT32_MIN,
|
||||
INT64_MAX, INT64_MIN, INT8_MAX, INT8_MIN, LLONG_MAX, LLONG_MIN,
|
||||
SIZE_MAX SYS_getegid, SYS_geteuid, SYS_setgid SYS_setuid, S_IRGRP,
|
||||
S_IROTH, S_IRWXG, S_IRWXO S_ISGID, S_ISUID, S_IWGRP, S_IWOTH, S_IXGRP,
|
||||
S_IXOTH, UINT16_MAX, UINT32_MAX, UINT64_MAX, UINT8_MAX,
|
||||
_POSIX_VERSION.
|
||||
** Noteworthy bug fixes
|
||||
*** Mes now supports characters #\xNN.
|
||||
*** Mes now supports assq-ref and assoc-ref with alist == #f.
|
||||
*** Mes now supports \xNN in strings. This allows using Nyacc-0.86.0.
|
||||
*** MesCC now supports the unary plus operator.
|
||||
*** MesCC now supports the `U' integer suffix.
|
||||
*** MesCC now comes with INTnn_MIN/MAX, UINTnn defines in stdint.h.
|
||||
*** MesCC now always exits non-zero when assembler or linker fail.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] http://joyofsource.com/reduced-binary-seed-bootstrap.html
|
||||
[2] https://www.gnu.org/software/guix
|
||||
[3] https://bootstrappable.org
|
||||
[4] https://github.com/oriansj/mes-m2
|
||||
[5] https://github.com/oriansj/m2-planet
|
||||
[6] https://github.com/schemeway/lalr-scm
|
||||
[7] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[8] https://www.nongnu.org/nyacc
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://github.com/oriansj/stage0
|
||||
133
sysa/mes-0.22/doc/announce/ANNOUNCE-0.20
Normal file
133
sysa/mes-0.22/doc/announce/ANNOUNCE-0.20
Normal file
|
|
@ -0,0 +1,133 @@
|
|||
|
||||
Subject: GNU Mes 0.20 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
|
||||
We are pleased to announce the release of GNU Mes 0.20, representing
|
||||
147 commits over 38 weeks.
|
||||
|
||||
Mes has now brought the Reduced Binary Seed bootstrap to Guix (bootstrap
|
||||
a GNU/Linux system without binary GNU toolchain or equivalent). It
|
||||
should land in Guix master any day now: a big thank you to everyone who
|
||||
helped, notably Ludovic and Mark.
|
||||
|
||||
This release is a step towards the upcoming Scheme-only bootstrap and
|
||||
bringing Mes into NixOS and Debian. This effort is now sponsored by
|
||||
NLnet[12].
|
||||
|
||||
Next targets:
|
||||
|
||||
- ARM support
|
||||
- Reduced Binary Seed bootstrap for ARM
|
||||
- Scheme-only bootstrap: use Guile and Gash to remove bash,
|
||||
coreutils&co, grep, sed, etc. from the Guix bootstrap binaries
|
||||
- mes-m2: port Mes.c to M2-Planet
|
||||
- Introduce Reduced Binaries Seed bootstrap to NixOS
|
||||
- Debian?
|
||||
- Hurd
|
||||
|
||||
Packages are available in Guix master.
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] brings a Reduced Binary Seed bootstrap[1] to GNU Guix[2]
|
||||
and potentially to any other interested GNU/Linux distribution, and
|
||||
aims to help create a full source bootstrap as part of the
|
||||
bootstrappable builds[3] effort.
|
||||
|
||||
It consists of a mutual self-hosting Scheme interpreter written in
|
||||
~5,000 LOC of simple C and a Nyacc-based C compiler written in Scheme.
|
||||
This mes.c is being simplified[4] to be transpiled by M2-Planet[5].
|
||||
|
||||
The Scheme interpreter (mes.c) has a Garbage Collector, a library of
|
||||
loadable Scheme modules-- notably Dominique Boucher's LALR[6], Pre-R6RS
|
||||
[portable syntax-case[7] with R7RS ellipsis, Matt Wette's Nyacc[8] --and test
|
||||
suite just barely enough to support a simple REPL and simple
|
||||
C-compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[9] 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.2.5,
|
||||
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for
|
||||
i686-linux and x86_64-linux.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10] -- John
|
||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||
Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.20.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.20.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://ftpmirror.gnu.org/mes/mes-0.20.tar.gz
|
||||
https://ftpmirror.gnu.org/mes/mes-0.20.tar.gz.sig
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
df839a83e4a2ad6c2a4accc5bf17b1a7 mes-0.20.tar.gz
|
||||
38d4cb3fa28fa1f5fc57fea9e046d4d8052bbb8c mes-0.20.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.20.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
See https://bootstrappable.org
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.20 since 0.19
|
||||
** Core
|
||||
*** The build system has been simplified, again.
|
||||
Mes now builds ootb on Debian.
|
||||
*** Mes now supports -c EXPR.
|
||||
** Divide by zero is now flagged.
|
||||
** Language
|
||||
*** 1 new function:
|
||||
take-while.
|
||||
** MesCC
|
||||
*** The C libraries have been exploded into one function per file.
|
||||
*** MesCC now has enhanced POSIX/gcc comand line support, e.g. -DFOO=1,
|
||||
-nodefaultlibs, -nostartfiles, -nostdlib.
|
||||
*** The archiver is now called `mesar'.
|
||||
*** MesCC now supports Nyacc-0.99.
|
||||
*** MesCC now depends on MesCC-Tools 0.6.0.
|
||||
*** 1 new function
|
||||
__mesabi_uldiv.
|
||||
** Noteworthy bug fixes
|
||||
*** interger division has been fixed.
|
||||
*** isatty now looks at terminfo.
|
||||
*** signal now uses sigaction correctly for non-x86.
|
||||
*** string->number now support #x hex-prefix.
|
||||
*** ungetc now has a buffer per file handle.
|
||||
|
||||
Greetings,
|
||||
janneke and Danny.
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] http://joyofsource.com/reduced-binary-seed-bootstrap.html
|
||||
[2] https://www.gnu.org/software/guix
|
||||
[3] https://bootstrappable.org
|
||||
[4] https://github.com/oriansj/mes-m2
|
||||
[5] https://github.com/oriansj/m2-planet
|
||||
[6] https://github.com/schemeway/lalr-scm
|
||||
[7] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[8] https://www.nongnu.org/nyacc
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://savannah.nongnu.org/projects/stage0
|
||||
[12] https://nlnet.nl/project/GNUMes
|
||||
132
sysa/mes-0.22/doc/announce/ANNOUNCE-0.21
Normal file
132
sysa/mes-0.22/doc/announce/ANNOUNCE-0.21
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
|
||||
Subject: GNU Mes 0.21 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
|
||||
We are pleased to announce the release of GNU Mes 0.21, representing
|
||||
54 commits over 10 weeks.
|
||||
|
||||
Mes has now brought the Reduced Binary Seed bootstrap to Guix (bootstrap
|
||||
a GNU/Linux system without binary GNU toolchain or equivalent). See
|
||||
https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/
|
||||
|
||||
This release supports a Scheme-only bootstrap: Mes can now be built with
|
||||
Gash and the experimental Gash Core Utils instead of using GNU Awk, GNU
|
||||
Bash, the GNU Core Utilities, GNU Grep, GNU Gzip, GNU Make, GNU SED, and
|
||||
GNU Tar. Also, the Mes C Library now supports bootstrapping those.
|
||||
Finally, this release brings Mes as a package to Debian GNU/Linux.
|
||||
|
||||
We are excited that the Nlnet Foundation[12] is now sponsoring this
|
||||
work!
|
||||
|
||||
Next targets:
|
||||
|
||||
- Introduce the Reduced Binaries Seed bootstrap to NixOS (Debian,
|
||||
Gentoo, ...?)
|
||||
- Scheme-only bootstrap: use Guile, Gash and Gash Core Utils to remove
|
||||
awk, bash, core utilities, grep, gzip, make, sed, tar, etc. from the
|
||||
Guix bootstrap binaries
|
||||
- ARM support
|
||||
- Full Source Bootstrap: compile Mes.c using M2-Planet
|
||||
- Reduced Binary Seed bootstrap for ARM
|
||||
- the Hurd
|
||||
|
||||
Packages are available in Guix master.
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] brings a Reduced Binary Seed bootstrap[1] to GNU Guix[2].
|
||||
This bootstrap has halved the size of opaque, uninspectable binaries
|
||||
that were needed to bootstrap Guix 1.0. The final goal is to help
|
||||
create a full source bootstrap as part of the bootstrappable builds[3]
|
||||
effort for any interested UNIX-like operating system.
|
||||
|
||||
Mes consists of a mutual self-hosting Scheme interpreter written in
|
||||
~5,000 LOC of simple C, and a C compiler written in Scheme. This
|
||||
mes.c is being simplified[4] to be transpiled by M2-Planet[5].
|
||||
|
||||
The Scheme interpreter has a Garbage Collector, a library of loadable
|
||||
Scheme modules-- notably Dominique Boucher's LALR[6], Pre-R6RS
|
||||
[portable syntax-case[7] with R7RS ellipsis, Matt Wette's Nyacc[8]
|
||||
--and test suite, just enough to support a REPL and a C99 compiler:
|
||||
MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[9] 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.2.5,
|
||||
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for
|
||||
i686-linux and x86_64-linux.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10] -- John
|
||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||
Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.21.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.21.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://ftpmirror.gnu.org/mes/mes-0.21.tar.gz
|
||||
https://ftpmirror.gnu.org/mes/mes-0.21.tar.gz.sig
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
dea43529d2d84fb4b9d81bdd9efcc715 mes-0.21.tar.gz
|
||||
35721a81feeab6e0d5913b8bf78f18951edbb964 mes-0.21.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.21.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
See https://bootstrappable.org
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.21 since 0.20
|
||||
** Core
|
||||
*** Mes can now be bootstrapped with Gash and Gash Core Utils.
|
||||
*** Mes now supports a Scheme-only bootstrap.
|
||||
*** Mes now supports -c EXPR.
|
||||
** MesCC
|
||||
*** Mes C Library now supports bootstrapping GNU Awk, GNU Bash, GNU SED, and GNU Tar.
|
||||
*** Mes C Library now has limited float support in vfprintf, vsnprintf, vsscanf.
|
||||
**** 7 new functions
|
||||
abtod, atof, creat, dtoab, execlp, isgraph, mknod, readlink, strtod,
|
||||
symlink.
|
||||
**** 5 new stubs
|
||||
getgrgid, getgrnam, getpgid, getpgrp, mktime, setgrent.
|
||||
** Noteworthy bug fixes
|
||||
*** A bug with `mes -c EXPR' has been fixed.
|
||||
*** The REPL now works again on x86_64.
|
||||
*** --with-system-libc now works again.
|
||||
|
||||
Greetings,
|
||||
janneke and Danny.
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/
|
||||
[2] https://www.gnu.org/software/guix
|
||||
[3] https://bootstrappable.org
|
||||
[4] https://github.com/oriansj/mes-m2
|
||||
[5] https://github.com/oriansj/m2-planet
|
||||
[6] https://github.com/schemeway/lalr-scm
|
||||
[7] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[8] https://www.nongnu.org/nyacc
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://savannah.nongnu.org/projects/stage0
|
||||
[12] https://nlnet.nl/project/GNUMes
|
||||
162
sysa/mes-0.22/doc/announce/ANNOUNCE-0.22
Normal file
162
sysa/mes-0.22/doc/announce/ANNOUNCE-0.22
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
|
||||
Subject: GNU Mes 0.22 released
|
||||
|
||||
<#secure method=pgpmime mode=sign>
|
||||
|
||||
We are pleased to announce the release of GNU Mes 0.22, representing
|
||||
57 commits over 8 weeks.
|
||||
|
||||
Mes can now be built reproducibly by mes+mescc or guile+mescc accross
|
||||
distributions such as GNU Guix, Debian GNU/Linux and NixOS. Also, many
|
||||
build issues were fixed. A big thank you to reproducible-builds.org,
|
||||
Vagrant Cascadian, Jelle van der Waa, Hannes Mehnert and David Terry!
|
||||
|
||||
Mes now runs on the Hurd--mescc does not run yet, many system calls are
|
||||
missing, especially fork/exec--and initial scaffolding support for
|
||||
creating FreeBSD binaries was added.
|
||||
|
||||
This release better supports bringing the Scheme-only bootstrap to Guix:
|
||||
it no longer requires an update to the Guix bootstrap seed.
|
||||
|
||||
The Scheme-only bootstrap means that Mes can now be built with Gash and
|
||||
the experimental Gash Core Utils instead of using GNU Awk, GNU Bash, the
|
||||
GNU Core Utilities, GNU Grep, GNU Gzip, GNU Make, GNU Sed, and GNU Tar.
|
||||
Also, the Mes C Library now supports bootstrapping those.
|
||||
|
||||
We are excited that the Nlnet Foundation[12] is now sponsoring this
|
||||
work!
|
||||
|
||||
Next targets:
|
||||
|
||||
- Introduce the Reduced Binaries Seed bootstrap to NixOS (Debian,
|
||||
Arch, Gentoo, ...?)
|
||||
- Merge the Scheme-only bootstrap, the wip-bootstrap branch (using
|
||||
Guile, Gash and Gash Core Utils to remove awk, bash, core utilities,
|
||||
grep, gzip, make, sed, tar, etc. from the Guix bootstrap binaries)
|
||||
into Guix core-updates.
|
||||
- ARM support
|
||||
- Full Source Bootstrap: compile Mes.c using M2-Planet
|
||||
- Add full Guile module support
|
||||
- Reduced Binary Seed bootstrap for ARM
|
||||
- Support mescc on the Hurd (fork/exec, ...)
|
||||
|
||||
Packages are available in Guix master; the cross-distro reproducible
|
||||
is built using
|
||||
|
||||
guix build --system=i686-linux mes-rb5
|
||||
|
||||
* About
|
||||
|
||||
GNU Mes[0] is a Scheme interpreter and C compiler for bootstrapping the GNU
|
||||
System. Since version 0.22 it has again helped to halve the size of
|
||||
opaque, uninspectable binary seeds that are currently being used in the
|
||||
Reduced Binary Seed bootstrap[1] of GNU Guix[2]. The final goal is to help
|
||||
create a full source bootstrap as part of the bootstrappable builds[3]
|
||||
effort for UNIX-like operating systems.
|
||||
|
||||
The Scheme interpreter is written in ~5,000 LOC of simple C, and the C
|
||||
compiler written in Scheme and these are mutual self-hosting. This
|
||||
mes.c is being simplified[4] to be transpiled by M2-Planet[5].
|
||||
|
||||
Mes has a Garbage Collector, a library of loadable Scheme modules--
|
||||
notably Dominique Boucher's LALR[6], Pre-R6RS [portable syntax-case[7]
|
||||
with R7RS ellipsis, Matt Wette's Nyacc[8] --and test suite just enough
|
||||
to support a REPL and a C99 compiler: MesCC.
|
||||
|
||||
Mes+MesCC can compile an only lightly patched TinyCC[9] 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.2.5,
|
||||
binutils-2.20.1, gcc-2.95.3. This is enough to bootstrap Guix for
|
||||
i686-linux and x86_64-linux.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10] -- John
|
||||
McCarthy page 13, GNU Guix's source/binary packaging transparency and
|
||||
Jeremiah Orians's stage0[11] ~500 byte self-hosting hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone git://git.savannah.gnu.org/mes.git
|
||||
|
||||
Here are the compressed sources and a GPG detached signature[*]:
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.22.tar.gz
|
||||
https://ftp.gnu.org/gnu/mes/mes-0.22.tar.gz.sig
|
||||
|
||||
Use a mirror for higher download bandwidth:
|
||||
https://ftpmirror.gnu.org/mes/mes-0.22.tar.gz
|
||||
https://ftpmirror.gnu.org/mes/mes-0.22.tar.gz.sig
|
||||
|
||||
Here are the MD5 and SHA1 checksums:
|
||||
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mes-0.22.tar.gz
|
||||
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx mes-0.22.tar.gz
|
||||
|
||||
[*] Use a .sig file to verify that the corresponding file (without the
|
||||
.sig suffix) is intact. First, be sure to download both the .sig file
|
||||
and the corresponding tarball. Then, run a command like this:
|
||||
|
||||
gpg --verify mes-0.22.tar.gz.sig
|
||||
|
||||
If that command fails because you don't have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
gpg --keyserver keys.gnupg.net --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273
|
||||
|
||||
and rerun the 'gpg --verify' command.
|
||||
|
||||
* Get informed, get involved
|
||||
|
||||
See https://bootstrappable.org
|
||||
Join #bootstrappable on irc.freenode.net.
|
||||
|
||||
* Changes in 0.22 since 0.21
|
||||
** Core
|
||||
*** Mes now builds reproducibly with MesCC, cross distribution
|
||||
Using --with-bootstrap on x86, a bin/mes-mescc is compiled with
|
||||
mes+mescc, that shall have sha256sum
|
||||
|
||||
9e0bcb1633c58e7bc415f6ea27cee7951d6b0658e13cdc147e992b31a14625fb bin/mes-mescc
|
||||
|
||||
This has been verified on GNU Guix, Debian GNU/Linux and NixOS.
|
||||
*** Mes now builds reproducibly with Guile+MesCC vs Mes+MesCC.
|
||||
*** Mes now builds reproducibly with Tiny CC-built MesCC.
|
||||
*** configure now respects the user's CFLAGS, CPPFLAGS and LDFLAGS.
|
||||
*** Mes now supports mescc-tools 0.5.2 next to 0.6.1.
|
||||
This allows introducing the Scheme-only bootstrap without updating or
|
||||
adding new bootstrap binary seeds into GNU Guix.
|
||||
*** Mes now runs when configured --with-courage on the Hurd:
|
||||
GNU debian 0.9 GNU-Mach 1.8+git20170609-486/Hurd-0.9 i686-AT386 GNU
|
||||
Note that mescc does not run; fork and exec are not yet implemented.
|
||||
*** Mes now configures --with-courage on x86-FreeBSD 12.1
|
||||
The initial ELF scaffold tests: exit-42.S, 0exit-42.hex2,
|
||||
body-exit-42.hex2, hello-mes.S, 0hello-mes.hex2, body-hello-mes.hex2
|
||||
pass.
|
||||
*** configure now has a --with-bootstrap option.
|
||||
This adds the reproducible bootstrap build of bin/mes-mescc, using
|
||||
mes+mescc.
|
||||
*** configure prefers $CC over gcc; tcc over gcc, gcc over cc.
|
||||
*** Mes now prints an error when attempting to read a file that does not exist.
|
||||
*** Mes no longer depends on GIT.
|
||||
** Noteworthy bug fixes
|
||||
*** Several annoying build problems were fixed, for non-Guix systems.
|
||||
*** A bug with buffered-read was fixed.
|
||||
This means that bash-2.05 can now build glibc-2.2.5; notably it now
|
||||
successfully executes make-syscall.sh.
|
||||
*** A bug with execlp, execvp for file names containing a slash was fixed.
|
||||
This should allow make-3.80 running scripts that have "#! ./move-if-change".
|
||||
|
||||
Greetings,
|
||||
janneke and Danny.
|
||||
|
||||
[0] https://www.gnu.org/software/mes
|
||||
[1] https://guix.gnu.org/blog/2019/guix-reduces-bootstrap-seed-by-50/
|
||||
[2] https://www.gnu.org/software/guix
|
||||
[3] https://bootstrappable.org
|
||||
[4] https://github.com/oriansj/mes-m2
|
||||
[5] https://github.com/oriansj/m2-planet
|
||||
[6] https://github.com/schemeway/lalr-scm
|
||||
[7] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[8] https://www.nongnu.org/nyacc
|
||||
[9] https://gitlab.com/janneke/tinycc
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[11] https://savannah.nongnu.org/projects/stage0
|
||||
[12] https://nlnet.nl/project/GNUMes
|
||||
99
sysa/mes-0.22/doc/announce/ANNOUNCE-0.3
Normal file
99
sysa/mes-0.22/doc/announce/ANNOUNCE-0.3
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
Subject: on bootstrapping: first Mes 0.3 released
|
||||
|
||||
I am pleased to announce the first release of Mes: 0.3, representing
|
||||
152 commits over 3 months since the second status report[1].
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create an entirely source-based bootstrapping path. The
|
||||
target is to [have GuixSD] boostrap from a minimal, easily inspectable
|
||||
binary --that should be readable as source-- into something close to
|
||||
R6RS Scheme.
|
||||
|
||||
As bootstrapping is presumably easiest and probably most fun with
|
||||
Scheme, the next step for Mes is mescc: a C compiler/linker to
|
||||
boostrap into GNU Gcc and GNU Guile, possibly via Tiny-CC.
|
||||
|
||||
It currently has an interpreter written in C (mes) with Garbage
|
||||
Collector (Jam Scraper), a library of loadable Scheme modules with
|
||||
test suite just barely enough to support a simple REPL (repl.mes)
|
||||
and a proof-of-concept c-compiler (mescc.mes) that produces an elf
|
||||
from the simplest of C files.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[2]
|
||||
-- John McCarthy page 13
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.3 -O mes-0.3.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
|
||||
* Changes in 0.3 since 0.2
|
||||
** Core
|
||||
*** Number-based rather than pointer-based cells.
|
||||
*** Garbage collector aka Jam scraper.
|
||||
A variant on SICP's stop and copy Garbage Collector (Jam Scraper?)
|
||||
algorithm has been implemented.
|
||||
*** The reader has been moved to Scheme.
|
||||
** Language
|
||||
*** Simple loadable modules.
|
||||
*** Srfi-9 and match use handwritten syntax-rules (mes-use-module (mes syntax)).
|
||||
*** Optional syntax-case using psyntax (mes-use-module (mes psyntax)).
|
||||
** Noteworthy bug fixes
|
||||
*** Srfi-0 has been fixed.
|
||||
|
||||
* Changes in 0.2 since 0.1
|
||||
** Core
|
||||
*** Names of symbols and strings are list of characters [WAS: c-string].
|
||||
*** Sc-expand from pre-R6RS's psyntax has been integrated.
|
||||
*** Undefined variable error now shows the name of the undefined variable.
|
||||
*** There is now only one SCM type for builtin functions.
|
||||
*** Macro expansion has been cleaned-up.
|
||||
** Language
|
||||
*** Mes now provides a subset of R6RS.
|
||||
*** Mes now provides syntax-case.
|
||||
*** Mes now provides `load'.
|
||||
** Noteworthy bug fixes
|
||||
*** Using values as second parameter of builtin function yields first value.
|
||||
*** Quoted internals (e.g. 'if 'lambda) are now symbols.
|
||||
*** Syntax error now exits.
|
||||
*** Make+Bash voodoo has been replaced by build-aux/mes-snarf.scm.
|
||||
*** Apply now accepts multiple list arguments.
|
||||
*** Apply of character, inernal, number, string is an error.
|
||||
*** Quasisyntax reading
|
||||
|
||||
* Changes in 0.1 (since progress report #2)
|
||||
** Core
|
||||
*** expand_macro is now a separate function.
|
||||
*** A smaller core can now compiled using BOOT=1.
|
||||
The smaller core does not provide define, define-macro, or quasiquote;
|
||||
these are provided from a Scheme version of implemented eval/apply.
|
||||
** Language
|
||||
*** Mes now provides a subset of R5RS.
|
||||
*** Mes now provides let-syntax.
|
||||
*** Mes now provides match.
|
||||
*** Mes now provides quasisyntax, unsyntax and unsyntax-splicing.
|
||||
** User interface
|
||||
*** Mes now provides a REPL, run:
|
||||
scripts/repl.mes
|
||||
*** Mes compiler can be run as a script:
|
||||
scripts/mescc.mes doc/examples/main.c
|
||||
*** Macro expansion can be inspected in the REPL, e.g.:
|
||||
,expand (and 0 1)
|
||||
** Noteworthy bug fixes
|
||||
*** Performance: scripts/mescc.mes now takes 2s to compile main.c (was 1'20").
|
||||
*** Symbols are now truly unique.
|
||||
* '(), #t, #f are no longer symbols.
|
||||
|
||||
Greetings,
|
||||
Jan
|
||||
|
||||
[1] https://lists.nongnu.org/archive/html/guile-user/2016-09/msg00061.html
|
||||
[2] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
103
sysa/mes-0.22/doc/announce/ANNOUNCE-0.4
Normal file
103
sysa/mes-0.22/doc/announce/ANNOUNCE-0.4
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
Subject: Mes 0.4 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.4, representing 115
|
||||
commits over barely two weeks. It now runs Nyacc and PEG and has much
|
||||
reduced core.
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create an entirely source-based bootstrapping path. The
|
||||
target is to [have GuixSD] boostrap from a minimal, easily inspectable
|
||||
binary --that should be readable as source-- into something close to
|
||||
R6RS Scheme.
|
||||
|
||||
As bootstrapping is presumably easiest and probably most fun with
|
||||
Scheme, the next step for Mes is mescc: a C compiler/linker to
|
||||
boostrap into GNU Gcc and GNU Guile, possibly via Tiny-CC.
|
||||
|
||||
It currently has an interpreter written in C (mes) with Garbage
|
||||
Collector (Jam Scraper), a library of loadable Scheme modules--
|
||||
notably Dominique Boucher's LALR[1], Pre-R6RS portable
|
||||
syntax-case[2] with R7RS ellipsis, Nyacc[3] and Guile's PEG[4]
|
||||
--and test suite just barely enough to support a simple REPL
|
||||
(repl.mes) and a proof-of-concept C-compiler (mescc.mes) that
|
||||
produces an elf from the simplest of C files.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[5]
|
||||
-- John McCarthy page 13
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.4 -O mes-0.4.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.4 since 0.3
|
||||
** Core
|
||||
*** Improved performance.
|
||||
Macros are now memoized; after expansion and before eval'ing the
|
||||
expanded form, their input s-expression is replaced by the expansion.
|
||||
This yields a nice performance improvement which finally allowed
|
||||
moving all non-essential bits from the C-core into Scheme...including
|
||||
the reader. The Scheme reader is much, much slower than the previous
|
||||
C version, making Mes--again-- feel slow. Think of that as a feature.
|
||||
*** Bootstrap with minimal reader in C.
|
||||
The C-reader needs only support reading of words and lists
|
||||
(s-expressions), line-comments to read the initial Scheme reader which
|
||||
then takes over and handles reading of quoting, characters, strings,
|
||||
block-comments.
|
||||
*** Reduced size.
|
||||
Total C size: ~1500LOC. The main Mes evaluator is now ~1000LOC
|
||||
including cell creation and garbage collector. This code is able to
|
||||
execute a Scheme program that has been loaded into memory. Another
|
||||
~500LOC is spent to load a minimal Scheme program and to dump it, to
|
||||
provide a small posix interface, math functions and do some error
|
||||
reporting.
|
||||
*** Programs can be dumped and loaded using --dump and --load.
|
||||
** Language
|
||||
*** Minimal syntactic exception support for Nyacc.
|
||||
*** Minimal syntactic fluids support for Nyacc.
|
||||
*** Keywords are now supported.
|
||||
*** Cond now supports =>.
|
||||
*** Guile's optargs: lambda* and define* are now supported.
|
||||
*** #;-comments are now supported.
|
||||
*** Non-nested #| |#-comments are now supported.
|
||||
*** Quasisyntax is now supported.
|
||||
*** R7RS syntax-rules with custom ellipsis, with-ellipsis are now supported.
|
||||
*** 9 new [partial] modules
|
||||
(mes fluids), (mes nyacc), (mes optargs), (mes pmatch), (mes peg),
|
||||
(srfi srfi-13), (srfi srfi-9-psyntax), (srfi srfi-26), (srfi srfi-43),
|
||||
(rnrs arithmetic bitwise), (sxml xpath)
|
||||
*** 36 new functions
|
||||
1+, 1-, abs, and=>, append-reverse, ash, char<=?, char<?, char>=?,
|
||||
char>?, even?, filter, delete, delq, vector-copy, fold, fold-right,
|
||||
getenv, iota, keyword->symbol list-head, list-tail, negative?, odd?,
|
||||
positive?, remove!, remove, string->number, string-copy,
|
||||
string-prefix?, string=, string=?, symbol->keyword symbol-append,
|
||||
symbol-prefix?, unless, write, zero?.
|
||||
** Noteworthy bug fixes
|
||||
*** Macros are now memoized.
|
||||
*** An error is reported when using a wrong number of arguments with a call.
|
||||
*** Cond now evaluates its test clauses only once.
|
||||
*** Append can also handle one argument.
|
||||
*** For-each now supports 2 list arguments.
|
||||
*** Map now supports 3 list arguments.
|
||||
*** Backslash in string is supported.
|
||||
*** Closure is not a pair.
|
||||
*** All standard characters are supported.
|
||||
*** Mescc now also runs in Guile.
|
||||
|
||||
|
||||
Greetings,
|
||||
Jan
|
||||
|
||||
[1] https://github.com/schemeway/lalr-scm
|
||||
[2] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[3] https://www.nongnu.org/nyacc/
|
||||
[4] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[5] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
79
sysa/mes-0.22/doc/announce/ANNOUNCE-0.5
Normal file
79
sysa/mes-0.22/doc/announce/ANNOUNCE-0.5
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
Subject: Mes 0.5 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.5, representing 250
|
||||
commits over 4 months. Mes is now self-hosting, or rather it features
|
||||
a mutual self-hosting Scheme interpreter and C compiler: mes.c and
|
||||
mescc; a Nyacc-based C compiler backend that also works separately
|
||||
with Guile.
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create full source bootstrapping for GuixSD: an
|
||||
entirely source-based bootstrap path. The target is to [have
|
||||
GuixSD] boostrap from a minimal, easily inspectable binary --that
|
||||
should be readable as source-- into something close to R6RS
|
||||
Scheme.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme.
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[1], Pre-R6RS portable syntax-case[2] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[3] Guile's PEG[4] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes) that can produce the second initial ELF binary from
|
||||
binary from mes.c, in only about 2h30'.
|
||||
|
||||
Mes was inspired by The Maxwell Equations of Software: LISP-1.5[5]
|
||||
-- John McCarthy page 13, GNU Guix's[6] source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[7] bootstrap project.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.5 -O mes-0.5.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.5 since 0.4
|
||||
** Core
|
||||
*** Support compilation with Mescc.
|
||||
*** Support compilation with -nostdinc, -nostdlib using mlibc.
|
||||
*** Support call-with-current-continuation.
|
||||
*** Support exception handling, catch/throw.
|
||||
*** Give sensible error message when a macro is missing.
|
||||
** Language
|
||||
*** Map now supports 4 lists.
|
||||
*** The reader supports negative hex numbers.
|
||||
*** 24 new functions
|
||||
access?, assoc-set! c????r, compose, list->char-set,
|
||||
open-input-string, read-string, string-delete, with-throw-handler.
|
||||
** Mescc
|
||||
*** Mescc can be used separately as a Nyacc-based C compiler backend for Guile.
|
||||
*** Switch to Nyacc frontend, update Nyacc to 0.76.5.
|
||||
*** Mescc now has a test suite, scaffold/t.c.
|
||||
*** Mescc now includes a minimal C library: libc/mlib.c libc/mstart.c.
|
||||
*** Mescc can now compile mes.c.
|
||||
** Noteworthy bug fixes
|
||||
*** The build system (configure, make) has been refactored.
|
||||
*** Support map-4.
|
||||
*** Evaluate arguments of OR only once.
|
||||
*** Fix assq-set!
|
||||
*** Fix ,expand in the REPL.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[1] https://github.com/schemeway/lalr-scm
|
||||
[2] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[3] https://www.nongnu.org/nyacc/
|
||||
[4] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[5] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[6] https://www.gnu.org/software/guix/
|
||||
[7] https://github.com/oriansj/stage0
|
||||
82
sysa/mes-0.22/doc/announce/ANNOUNCE-0.6
Normal file
82
sysa/mes-0.22/doc/announce/ANNOUNCE-0.6
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
Subject: Mes 0.6 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.6, representing 32
|
||||
commits over 24 days. Mescc now works with vanilla Nyacc 0.78.3
|
||||
(thanks Matt!), Nyacc has been unbundled and Mescc compiles 33/55
|
||||
of tinycc test2 tests.
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create full source bootstrapping for GuixSD: an
|
||||
entirely source-based bootstrap path. The target is to [have
|
||||
GuixSD] boostrap from a minimal, easily inspectable binary --that
|
||||
should be readable as source-- into something close to R6RS
|
||||
Scheme.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme.
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[1], Pre-R6RS portable syntax-case[2] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[3] Guile's PEG[4] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes) that can produce the second initial ELF binary from
|
||||
binary from mes.c, in only about 2h30'.
|
||||
|
||||
Mes was inspired by The Maxwell Equations of Software: LISP-1.5[5]
|
||||
-- John McCarthy page 13, GNU Guix's[6] source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[7] bootstrap project.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.6 -O mes-0.6.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.6 since 0.5
|
||||
** Core
|
||||
*** configure, build now supports x86 and development for arm with-courage.
|
||||
** Language
|
||||
*** Nyacc has been unbundled and is now a dependency.
|
||||
*** Mes now supports case-lambda.
|
||||
*** Mes reader now supports abbreviated form for return character #\cr.
|
||||
*** 1 new function
|
||||
string-index.
|
||||
** Mescc
|
||||
*** Mescc can be used on regular C sources, like tinycc's tests/test2 suite.
|
||||
*** make check passes 33/55 of tinycc's test suite etest/test2 tests.
|
||||
*** Mescc now recognizes `short' as a type.
|
||||
*** Mescc now supports sizeof (<identifier>), sizeof(<expression>).
|
||||
*** Mescc now respects enum field initializers and supports enum variables.
|
||||
*** Mescc now supports binary constants .
|
||||
*** Mescc now supports assignments from ==, != boolean expressions .
|
||||
*** Mescc now supports &, ^.
|
||||
*** Mescc now supports struct pointers.
|
||||
*** Mescc now supports struct definition with immediatete variable declaration.
|
||||
*** Mescc now supports calling (returning correctly from) void functions.
|
||||
*** Mescc now handles case statements breaks without compound correctly.
|
||||
*** Mescc now has better [int/pointer] array support.
|
||||
*** Mescc now has better support for simple (non-array-)structs.
|
||||
*** Mescc now supports multiple declarations in one statement like: int a,b;
|
||||
**** 2 new mlibc functions
|
||||
printf, strcpy.
|
||||
** Noteworthy bug fixes
|
||||
*** Installed mes and mes.repl now also run outside of source tree again.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[1] https://github.com/schemeway/lalr-scm
|
||||
[2] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[3] https://www.nongnu.org/nyacc/
|
||||
[4] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[5] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[6] https://www.gnu.org/software/guix/
|
||||
[7] https://github.com/oriansj/stage0
|
||||
83
sysa/mes-0.22/doc/announce/ANNOUNCE-0.7
Normal file
83
sysa/mes-0.22/doc/announce/ANNOUNCE-0.7
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
Subject: Mes 0.7 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.7, representing 32
|
||||
commits over 4 weeks. Mescc now behaves more like a regular C
|
||||
compiler: supporting -E, -c, -o options and with a more complete set
|
||||
of header files [stubs]; enough to work on compiling tinycc's tcc.c
|
||||
albeit a somewhat modified version[8].
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create full source bootstrapping for GuixSD: an
|
||||
entirely source-based bootstrap path. The target is to [have
|
||||
GuixSD] boostrap from a minimal, easily inspectable binary --that
|
||||
should be readable as source-- into something close to R6RS
|
||||
Scheme.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme.
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[1], Pre-R6RS portable syntax-case[2] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[3] Guile's PEG[4] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes) that can produce the second initial ELF binary from
|
||||
binary from mes.c, in only about 2h30'.
|
||||
|
||||
Mes was inspired by The Maxwell Equations of Software: LISP-1.5[5]
|
||||
-- John McCarthy page 13, GNU Guix's[6] source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[7] bootstrap project.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.7 -O mes-0.7.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.7 since 0.6
|
||||
** Core
|
||||
*** The minimal C reader is now always included; dependencies
|
||||
on i686-unknown-linux-gnu-gcc and binary read-0-32.mo have been
|
||||
dropped, these are now optional.
|
||||
** Language
|
||||
*** Mes reader now supports octal numbers #oXXX.
|
||||
*** 10 new functions
|
||||
current-output-port, getopt-long, negate, open-output-file,
|
||||
option-ref, set-current-output-port, string-rindex, string-suffix?,
|
||||
with-ouwith-output-to-file, with-output-to-port.
|
||||
** Mescc
|
||||
*** Mescc can now be installed and used alongside a gcc installation.
|
||||
*** Mescc can now handle const anywhere.
|
||||
*** Mescc now supports array fields in structs.
|
||||
*** Mescc now supports forward declarations and typedef.
|
||||
*** Mescc can now handle comments anywhere.
|
||||
*** Mescc now supports addition and substraction for enum field values.
|
||||
*** Mescc now supports anonymous enums.
|
||||
*** Mescc now supports all C99 header files needed to compile tcc.c.
|
||||
*** build: C sources are now preprocessed separately, then compiled and linked.
|
||||
*** build: mlibc and C sources are now compiled separately and then linked.
|
||||
*** mlibc has been moved from Scheme snippets into C.
|
||||
*** Mescc now supports -c, -D, -E, -I and -o options.
|
||||
**** open now supports optional third mode parameter.
|
||||
** Noteworthy bug fixes
|
||||
*** string-index now supports function predicate.
|
||||
*** number->string for radix > 10 now produces `a' instead of `:'.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[1] https://github.com/schemeway/lalr-scm
|
||||
[2] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[3] https://www.nongnu.org/nyacc/
|
||||
[4] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[5] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[6] https://www.gnu.org/software/guix/
|
||||
[7] https://github.com/oriansj/stage0
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
70
sysa/mes-0.22/doc/announce/ANNOUNCE-0.8
Normal file
70
sysa/mes-0.22/doc/announce/ANNOUNCE-0.8
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
Subject: Mes 0.8 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.8, representing 34
|
||||
commits over 3 weeks. Mescc now produces object files in the hex2
|
||||
ascii output format compatible with the stage0 linker.
|
||||
|
||||
Special thanks to Jeremiah Orians for support with MESCC_Tools and
|
||||
hex2, more goodness to follow soon!
|
||||
|
||||
* About
|
||||
|
||||
Mes aims to create full source bootstrapping for GuixSD: an
|
||||
entirely source-based bootstrap path. The target is to [have
|
||||
GuixSD] boostrap from a minimal, easily inspectable binary --that
|
||||
should be readable as source-- into something close to R6RS
|
||||
Scheme.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme.
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[1], Pre-R6RS portable syntax-case[2] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[3] Guile's PEG[4] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes) that can produce the second initial ELF binary from
|
||||
binary from mes.c, in only about 2h30'.
|
||||
|
||||
Mes was inspired by The Maxwell Equations of Software: LISP-1.5[5]
|
||||
-- John McCarthy page 13, GNU Guix's[6] source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0[7] bootstrap project.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.8 -O mes-0.8.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.8 since 0.7
|
||||
** Mescc
|
||||
*** Mescc now depends on the hex2 linker from MESCC_Tools[9].
|
||||
Direct ELF output support has been removed.
|
||||
ELF symbol and string table creation has been removed.
|
||||
*** Mescc now has experimental annotation support for hex2.
|
||||
*** Mescc has experimental annotation support for hex2.
|
||||
*** Mescc has been simplified by leveraging use labels in hex2 output.
|
||||
*** Mescc now supports continue in loops.
|
||||
*** Mescc now compiles to hex2 object files.
|
||||
** Language
|
||||
*** 1 new function
|
||||
list-index.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[1] https://github.com/schemeway/lalr-scm
|
||||
[2] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[3] https://www.nongnu.org/nyacc/
|
||||
[4] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[5] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
[6] https://www.gnu.org/software/guix/
|
||||
[7] https://github.com/oriansj/stage0
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://github.com/oriansj/MESCC_Tools
|
||||
93
sysa/mes-0.22/doc/announce/ANNOUNCE-0.9
Normal file
93
sysa/mes-0.22/doc/announce/ANNOUNCE-0.9
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
Subject: Mes 0.9 released
|
||||
|
||||
I am pleased to announce the release of Mes 0.9, representing 107
|
||||
commits over 5 weeks. Mescc now compiles to a surprisingly readable
|
||||
stage0 M1 macro assembler output format. Mescc now compiles a
|
||||
modified TinyCC into a running [mostly segfaulting] executable. This
|
||||
is a major milestone as tcc can compile GCC.
|
||||
|
||||
|
||||
* About
|
||||
|
||||
Mes[0] aims to create full source bootstrapping for GuixSD[1] as
|
||||
part of the bootstrappable builds[2] project.
|
||||
|
||||
It currently consists of a mutual self-hosting [close to Guile-]
|
||||
Scheme interpreter prototype in C and a Nyacc-based C compiler in
|
||||
[Guile] Scheme. This C prototype will be rewritten in stage0[3]
|
||||
M1 assembly (or possibly stage2 slow-LISP, or ...).
|
||||
|
||||
The Scheme interpreter prototype (mes.c) has a Garbage Collector,
|
||||
a library of loadable Scheme modules-- notably Dominique Boucher's
|
||||
LALR[4], Pre-R6RS portable syntax-case[5] with R7RS ellipsis, Matt
|
||||
Wette's Nyacc[6], Guile's PEG[7] --and test suite just barely
|
||||
enough to support a simple REPL (repl.mes) and simple C-compiler
|
||||
(mescc.mes).
|
||||
|
||||
The simple C compiler can compile a modified TinyCC[8]. This
|
||||
needs more work. A gcc-compiled tcc is known[9] to compile GCC.
|
||||
|
||||
Mes is inspired by The Maxwell Equations of Software: LISP-1.5[10]
|
||||
-- John McCarthy page 13, GNU Guix's source/binary packaging
|
||||
transparency and Jeremiah Orians's stage0 ~300 byte self-hosting
|
||||
hex assembler.
|
||||
|
||||
* Download
|
||||
|
||||
git clone https://gitlab.com/janneke/mes
|
||||
|
||||
wget https://gitlab.com/janneke/mes/repository/archive.tar.gz?ref=v0.9 -O mes-0.9.tar.gz
|
||||
|
||||
Mes runs from the source tree and can also be built, packaged and
|
||||
installed in Guix[SD] by the usual
|
||||
|
||||
guix package -f guix.scm
|
||||
|
||||
* Changes in 0.9 since 0.8
|
||||
** Core
|
||||
*** Mes now builds better in non-Guix[SD] legacy distros/environments. Thanks, rain1!
|
||||
** Mescc
|
||||
*** Mescc now compiles a modified tinycc into a running [mostly segfaulting] tcc.mes.
|
||||
https://gitlab.com/janneke/tinycc branch wip-mescc.
|
||||
*** Mescc now supports locals stack frame larger than 1 byte offset.
|
||||
*** Mescc now supports incomplete struct initializers {0}.
|
||||
*** Mescc now supports >>=, <<=, ^=, ~.
|
||||
*** Mescc now supports the comma operator.
|
||||
*** Mescc now supports mullti-line string initializers.
|
||||
*** Mescc now supports unions.
|
||||
*** Mescc now supports arrays in structs.
|
||||
*** Mescc now supports structs in structs.
|
||||
*** Mescc has been refactored to use records.
|
||||
*** Mescc now builds and runs with Guile-2.0 (legacy distro support, not recommended).
|
||||
*** Mescc now bundles tinycc's test2 test suite, passes one more test [34/55 pass].
|
||||
*** Mescc now has an incremental test suite consisting of 56 tests.
|
||||
*** Mescc now supports stdarg variable argument lists.
|
||||
*** Mescc now has __GNUC__ unset, #f (WAS: 0).
|
||||
*** Mescc now depends on Nyacc 0.80.3.
|
||||
*** Mescc now depends on M1 from MESCC_Tools v0.2.
|
||||
*** Mescc now compiles to M1 object files.
|
||||
**** 7 new mlibc functions
|
||||
calloc, close, getcwd, lseek, sprintf, unlink, vprintf.
|
||||
**** 31 new mlibc stubs
|
||||
execvp, fclose, fdopen, fflush, fopen, fprintf, fread, free, fseek,
|
||||
ftell, fwrite, localtime, longjmp, memcpy, memmove, memmove, memset,
|
||||
qsort, remove, setjump, snprintf, sscanf, strchr, strrchr, strstr,
|
||||
strtol, strtoll, strtoul, strtoull, time, vnsprintf.
|
||||
**** 10 new header files
|
||||
alloca.h, float.h, libgen.h, locale.h, stdbool.h, stddef.h, stdint.h,
|
||||
stdnoreturn.h, sys/select.h, sys/wait.h.
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] https://gitlab.com/janneke/mes
|
||||
[1] https://www.gnu.org/software/guix
|
||||
[2] http://bootstrappable.org
|
||||
[3] https://github.com/oriansj/stage0
|
||||
[4] https://github.com/schemeway/lalr-scm
|
||||
[5] https://www.cs.indiana.edu/chezscheme/syntax-case/old-psyntax.html
|
||||
[6] https://www.nongnu.org/nyacc/
|
||||
[7] https://www.gnu.org/software/guile/docs/master/guile.html/PEG-Parsing.html
|
||||
[8] https://gitlab.com/janneke/tinycc
|
||||
[9] https://lists.gnu.org/archive/html/tinycc-devel/2017-05/msg00103.html
|
||||
[10] http://www.softwarepreservation.org/projects/LISP/book/LISP%201.5%20Programmers%20Manual.pdf
|
||||
87
sysa/mes-0.22/doc/announce/ANNOUNCE-2
Normal file
87
sysa/mes-0.22/doc/announce/ANNOUNCE-2
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
Subject: on bootstrapping: 2nd status report on Mes
|
||||
Date: Sun, 25 Sep 2016 13:52:11 +0200
|
||||
|
||||
Hi!
|
||||
|
||||
In June I announced[0] Mes as a project that seeks to reduce the size of/
|
||||
dependency on bootstrap binaries, esp. for a system like GuixSD
|
||||
|
||||
The strategy was to create a minimal trusted binary (prototyped in C but
|
||||
eventually to be hand-crafted in assembly/hex) that interpets a minimal
|
||||
LISP. Then using this minimal but already convenient LISP, extend it
|
||||
into Scheme and write a tiny C compiler/linker.
|
||||
|
||||
Last time I had a minimal LISP-1.5-resembling interpreter in 900 lines
|
||||
of C that could interpret itself and an extension layer written in LISP
|
||||
providing a minimal Scheme environment. I was stuck on adding macros in
|
||||
LISP and had a broken macro implentation in C that I wanted to remove.
|
||||
Also I hoped to greatly reduce the size of the C part.
|
||||
|
||||
New status[1]
|
||||
|
||||
* Provide Scheme primitives directly in 1400 lines of C
|
||||
* Remove LISP-1.5 staging
|
||||
* closures clue-bat, fixing bugs in begin, lambda, lexical
|
||||
scoping etc. ... learned a lot!
|
||||
* quasiquote, unquote, unquote-splicing (in C, too slow in Scheme)
|
||||
* define-macro (in C)
|
||||
* define-syntax, syntax-rules (in Scheme, using define-macro)
|
||||
* all primitives needed to run LALR (strings, vectors, records,
|
||||
some srfi bits; mostly in Scheme)
|
||||
* test suite with 97 tests that run with Mes and also with Guile
|
||||
* minimal and partial ANSI C parser for hello world
|
||||
* minimal and simplistic 32 bit elf c-ast->elf generator
|
||||
|
||||
Mes can now create a running 32-bit elf binary from this hello
|
||||
world C source with a simplistic for loop
|
||||
|
||||
int main ()
|
||||
{
|
||||
int i;
|
||||
puts ("Hi Mes!\n");
|
||||
for (i = 0; i < 4; ++i)
|
||||
puts (" Hello, world!\n");
|
||||
return 1;
|
||||
}
|
||||
|
||||
It takes Mes 1'20" to compile this program, Guile takes 0.5 seconds.
|
||||
|
||||
* cannot get psyntax.pp hooked-up or running
|
||||
* do not understand syntax stuff [well enough] to implement in C
|
||||
-> no let-syntax, no MATCH
|
||||
-> no syntax-case, no PEG parser
|
||||
|
||||
In theory the bootstrapping problem I set out to solve seems to be
|
||||
cracked. The remaining problem is reduced to `just work':
|
||||
implementing a minimal C compiler in Scheme. Questions here: I'm not
|
||||
convinced yet that this is a meaningful project...aaand I really not
|
||||
want to tackle this without having MATCH, which Mes does not have yet.
|
||||
|
||||
Of the possible directions that I see
|
||||
|
||||
0 write the C compiler in Scheme without match
|
||||
1 rewrite match without let-syntax
|
||||
2 grok+write let-syntax/syntax-case using define-macro, some bits in C
|
||||
3 run and hook-up psyntax.pp...BUT that would probably require:
|
||||
4 address performance problem, possibly by
|
||||
5 rewrite Mes into a VM-based solution
|
||||
|
||||
none I find really attractive. Option 5, a VM is proven to work but
|
||||
that's quite a change of direction. Looking at other VM-based projects
|
||||
(e.g. GNU Epsilon[2]) I fear that this must result in a much larger code
|
||||
base in C, throwing out the minimal trusted binary idea. The other
|
||||
puzzles and work 0, 2 or 3 still need to be done.
|
||||
|
||||
However, diving into syntax-macro or eval work (2 or 3) most probably
|
||||
needs the performance issue addressed. And if it turns out that a big
|
||||
VM solution is needed, that may still invalidate this project after
|
||||
having done even more work.
|
||||
|
||||
Help! :-) Ideas?
|
||||
|
||||
Greetings,
|
||||
Jan
|
||||
|
||||
[0] https://lists.gnu.org/archive/html/guile-user/2016-06/msg00061.html
|
||||
[1] https://gitlab.com/janneke/mes
|
||||
[2] http://git.savannah.gnu.org/cgit/epsilon.git
|
||||
11
sysa/mes-0.22/doc/announce/README
Normal file
11
sysa/mes-0.22/doc/announce/README
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
-*- org -*-
|
||||
#+TITLE: GNU Mes Announcements
|
||||
|
||||
Copyright © 2016, 2017, 2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
Files are emails sent to public mailing lists. The notice above
|
||||
applies to these files too.
|
||||
87
sysa/mes-0.22/doc/announce/UPDATE-0.13
Normal file
87
sysa/mes-0.22/doc/announce/UPDATE-0.13
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
Subject: wip-bootstrap updated
|
||||
|
||||
I've updated the wip-bootstrap branch[0] for Mes[1] 0.13. It has new
|
||||
mes-boot and tcc-boot packages. mes-boot is a bootstrap version of
|
||||
Mes; it only depends on mescc-tools and a previously compiled mes.M1
|
||||
seed. Likewise, tcc-boot depends on a precompiled tcc-seed. Also,
|
||||
tcc-boot uses a heavily patched version of the tcc sources.
|
||||
|
||||
Mes 0.13 is the first release that can bootstrap a fairly functional
|
||||
tcc-boot. This bootstrapped tcc passes 67/68 C tests that were created
|
||||
for MesCC. It can compile a version if itself where float, long long
|
||||
and bitfield are patched out...but linking fails. This amazing
|
||||
compiler can now be played with by doing something like
|
||||
|
||||
--8<---------------cut here---------------start------------->8---
|
||||
git checkout wip-bootstrap
|
||||
make
|
||||
./pre-inst-env guix build tcc-boot # may take ~2h
|
||||
./pre-inst-env guix environment --ad-hoc tcc-boot
|
||||
mes-tcc --help #duck and run
|
||||
--8<---------------cut here---------------end--------------->8---
|
||||
|
||||
The next big effort will be to make this mes-tcc fully functional and
|
||||
integrate this with GuixSD. To give you a taste of that,
|
||||
here's latest bug I'm currently looking at (pretty printed comments
|
||||
are only added when Guile runs MesCC, the problem is in LEA)
|
||||
|
||||
--8<---------------cut here---------------start------------->8---
|
||||
$ diff -u ../mes-seed/mes.M1 src/mes.M1
|
||||
--- ../mes-seed/mes.M1 2018-05-01 18:49:37.312162270 +0200
|
||||
+++ src/mes.M1 2018-05-01 19:49:40.774770406 +0200
|
||||
@@ -35805,12 +33091,11 @@
|
||||
call32 %strcpy
|
||||
add____$i8,%esp !0x8
|
||||
test___%eax,%eax
|
||||
- # strcpy(buf + strlen(buf), "/mes/");
|
||||
- push___$i32 &_string_reader_read_list_266
|
||||
+ push___$i32 &_string_reader_read_list_265
|
||||
mov____%ebp,%eax
|
||||
- add____$i32,%eax %0x-200
|
||||
+ add____$i32,%eax %0x-800
|
||||
push___%eax
|
||||
- lea____0x32(%ebp),%eax %0x-200
|
||||
+ lea____0x32(%ebp),%eax %0x-800
|
||||
push___%eax
|
||||
call32 %strlen
|
||||
add____$i8,%esp !0x4
|
||||
--8<---------------cut here---------------end--------------->8---
|
||||
|
||||
We also need to remove some shortcuts that we took, most notably:
|
||||
mes-seed[3]. This seed consists of 1MB of M1 code. mes.M1 is
|
||||
produced by compiling mes.c using MesCC, the C compiler written in
|
||||
(Guile) Scheme that comes with Mes. Although that's really terrible,
|
||||
it's probably a big step forward: currently GuixSD uses ~250MB of
|
||||
binary seed: the bootstrap binaries.
|
||||
|
||||
The plan is to replace the mes.M1 seed with mes.M2 and compile this
|
||||
new mes.M2 seed using the brand new M2-Planet[2]. M2 is basically
|
||||
simple C with structs, without preprocessor. This will reduce the
|
||||
seed size by a factor of 10 while making it much more readable.
|
||||
|
||||
An excerpt of the TODO I keep in Mes' BOOTSTRAP document
|
||||
|
||||
--8<---------------cut here---------------start------------->8---
|
||||
* TODO
|
||||
** have tcc-boot's mes-tcc compile a fully functional tcc
|
||||
*** mescc: fix unknown bug.
|
||||
*** mescc: support function-static.
|
||||
*** mescc: support/grok global static.
|
||||
*** mescc: support unsigned comparison, arithmetic.
|
||||
*** mescc: support long long (do we need long long to get long long in tcc)?
|
||||
*** mescc: support bitfield (do we need bitfield to get bitfield in tcc)?
|
||||
*** mescc: support float (do we need float to get float in tcc)?
|
||||
** have bootstrapped tcc compile gcc-4.7
|
||||
** remove or upstream patches from tcc-boot
|
||||
** prepare src/mes.c for M2-Planet[2] transpiler
|
||||
** integrate with GuixSD
|
||||
** x86_64, arm, the Hurd
|
||||
--8<---------------cut here---------------end--------------->8---
|
||||
|
||||
Greetings,
|
||||
janneke
|
||||
|
||||
[0] http://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-bootstrap
|
||||
[1] https://gitlab.com/janneke/mes
|
||||
[2] https://github.com/oriansj/m2-planet
|
||||
[3] https://gitlab.com/janneke/mes-seed
|
||||
505
sysa/mes-0.22/doc/fdl-1.3.texi
Normal file
505
sysa/mes-0.22/doc/fdl-1.3.texi
Normal file
|
|
@ -0,0 +1,505 @@
|
|||
@c The GNU Free Documentation License.
|
||||
@center Version 1.3, 3 November 2008
|
||||
|
||||
@c This file is intended to be included within another document,
|
||||
@c hence no sectioning command or @node.
|
||||
|
||||
@display
|
||||
Copyright @copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
||||
@uref{http://fsf.org/}
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
@end display
|
||||
|
||||
@enumerate 0
|
||||
@item
|
||||
PREAMBLE
|
||||
|
||||
The purpose of this License is to make a manual, textbook, or other
|
||||
functional and useful document @dfn{free} in the sense of freedom: to
|
||||
assure everyone the effective freedom to copy and redistribute it,
|
||||
with or without modifying it, either commercially or noncommercially.
|
||||
Secondarily, this License preserves for the author and publisher a way
|
||||
to get credit for their work, while not being considered responsible
|
||||
for modifications made by others.
|
||||
|
||||
This License is a kind of ``copyleft'', which means that derivative
|
||||
works of the document must themselves be free in the same sense. It
|
||||
complements the GNU General Public License, which is a copyleft
|
||||
license designed for free software.
|
||||
|
||||
We have designed this License in order to use it for manuals for free
|
||||
software, because free software needs free documentation: a free
|
||||
program should come with manuals providing the same freedoms that the
|
||||
software does. But this License is not limited to software manuals;
|
||||
it can be used for any textual work, regardless of subject matter or
|
||||
whether it is published as a printed book. We recommend this License
|
||||
principally for works whose purpose is instruction or reference.
|
||||
|
||||
@item
|
||||
APPLICABILITY AND DEFINITIONS
|
||||
|
||||
This License applies to any manual or other work, in any medium, that
|
||||
contains a notice placed by the copyright holder saying it can be
|
||||
distributed under the terms of this License. Such a notice grants a
|
||||
world-wide, royalty-free license, unlimited in duration, to use that
|
||||
work under the conditions stated herein. The ``Document'', below,
|
||||
refers to any such manual or work. Any member of the public is a
|
||||
licensee, and is addressed as ``you''. You accept the license if you
|
||||
copy, modify or distribute the work in a way requiring permission
|
||||
under copyright law.
|
||||
|
||||
A ``Modified Version'' of the Document means any work containing the
|
||||
Document or a portion of it, either copied verbatim, or with
|
||||
modifications and/or translated into another language.
|
||||
|
||||
A ``Secondary Section'' is a named appendix or a front-matter section
|
||||
of the Document that deals exclusively with the relationship of the
|
||||
publishers or authors of the Document to the Document's overall
|
||||
subject (or to related matters) and contains nothing that could fall
|
||||
directly within that overall subject. (Thus, if the Document is in
|
||||
part a textbook of mathematics, a Secondary Section may not explain
|
||||
any mathematics.) The relationship could be a matter of historical
|
||||
connection with the subject or with related matters, or of legal,
|
||||
commercial, philosophical, ethical or political position regarding
|
||||
them.
|
||||
|
||||
The ``Invariant Sections'' are certain Secondary Sections whose titles
|
||||
are designated, as being those of Invariant Sections, in the notice
|
||||
that says that the Document is released under this License. If a
|
||||
section does not fit the above definition of Secondary then it is not
|
||||
allowed to be designated as Invariant. The Document may contain zero
|
||||
Invariant Sections. If the Document does not identify any Invariant
|
||||
Sections then there are none.
|
||||
|
||||
The ``Cover Texts'' are certain short passages of text that are listed,
|
||||
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
||||
the Document is released under this License. A Front-Cover Text may
|
||||
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
||||
|
||||
A ``Transparent'' copy of the Document means a machine-readable copy,
|
||||
represented in a format whose specification is available to the
|
||||
general public, that is suitable for revising the document
|
||||
straightforwardly with generic text editors or (for images composed of
|
||||
pixels) generic paint programs or (for drawings) some widely available
|
||||
drawing editor, and that is suitable for input to text formatters or
|
||||
for automatic translation to a variety of formats suitable for input
|
||||
to text formatters. A copy made in an otherwise Transparent file
|
||||
format whose markup, or absence of markup, has been arranged to thwart
|
||||
or discourage subsequent modification by readers is not Transparent.
|
||||
An image format is not Transparent if used for any substantial amount
|
||||
of text. A copy that is not ``Transparent'' is called ``Opaque''.
|
||||
|
||||
Examples of suitable formats for Transparent copies include plain
|
||||
ASCII without markup, Texinfo input format, La@TeX{} input
|
||||
format, SGML or XML using a publicly available
|
||||
DTD, and standard-conforming simple HTML,
|
||||
PostScript or PDF designed for human modification. Examples
|
||||
of transparent image formats include PNG, XCF and
|
||||
JPG. Opaque formats include proprietary formats that can be
|
||||
read and edited only by proprietary word processors, SGML or
|
||||
XML for which the DTD and/or processing tools are
|
||||
not generally available, and the machine-generated HTML,
|
||||
PostScript or PDF produced by some word processors for
|
||||
output purposes only.
|
||||
|
||||
The ``Title Page'' means, for a printed book, the title page itself,
|
||||
plus such following pages as are needed to hold, legibly, the material
|
||||
this License requires to appear in the title page. For works in
|
||||
formats which do not have any title page as such, ``Title Page'' means
|
||||
the text near the most prominent appearance of the work's title,
|
||||
preceding the beginning of the body of the text.
|
||||
|
||||
The ``publisher'' means any person or entity that distributes copies
|
||||
of the Document to the public.
|
||||
|
||||
A section ``Entitled XYZ'' means a named subunit of the Document whose
|
||||
title either is precisely XYZ or contains XYZ in parentheses following
|
||||
text that translates XYZ in another language. (Here XYZ stands for a
|
||||
specific section name mentioned below, such as ``Acknowledgements'',
|
||||
``Dedications'', ``Endorsements'', or ``History''.) To ``Preserve the Title''
|
||||
of such a section when you modify the Document means that it remains a
|
||||
section ``Entitled XYZ'' according to this definition.
|
||||
|
||||
The Document may include Warranty Disclaimers next to the notice which
|
||||
states that this License applies to the Document. These Warranty
|
||||
Disclaimers are considered to be included by reference in this
|
||||
License, but only as regards disclaiming warranties: any other
|
||||
implication that these Warranty Disclaimers may have is void and has
|
||||
no effect on the meaning of this License.
|
||||
|
||||
@item
|
||||
VERBATIM COPYING
|
||||
|
||||
You may copy and distribute the Document in any medium, either
|
||||
commercially or noncommercially, provided that this License, the
|
||||
copyright notices, and the license notice saying this License applies
|
||||
to the Document are reproduced in all copies, and that you add no other
|
||||
conditions whatsoever to those of this License. You may not use
|
||||
technical measures to obstruct or control the reading or further
|
||||
copying of the copies you make or distribute. However, you may accept
|
||||
compensation in exchange for copies. If you distribute a large enough
|
||||
number of copies you must also follow the conditions in section 3.
|
||||
|
||||
You may also lend copies, under the same conditions stated above, and
|
||||
you may publicly display copies.
|
||||
|
||||
@item
|
||||
COPYING IN QUANTITY
|
||||
|
||||
If you publish printed copies (or copies in media that commonly have
|
||||
printed covers) of the Document, numbering more than 100, and the
|
||||
Document's license notice requires Cover Texts, you must enclose the
|
||||
copies in covers that carry, clearly and legibly, all these Cover
|
||||
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
||||
the back cover. Both covers must also clearly and legibly identify
|
||||
you as the publisher of these copies. The front cover must present
|
||||
the full title with all words of the title equally prominent and
|
||||
visible. You may add other material on the covers in addition.
|
||||
Copying with changes limited to the covers, as long as they preserve
|
||||
the title of the Document and satisfy these conditions, can be treated
|
||||
as verbatim copying in other respects.
|
||||
|
||||
If the required texts for either cover are too voluminous to fit
|
||||
legibly, you should put the first ones listed (as many as fit
|
||||
reasonably) on the actual cover, and continue the rest onto adjacent
|
||||
pages.
|
||||
|
||||
If you publish or distribute Opaque copies of the Document numbering
|
||||
more than 100, you must either include a machine-readable Transparent
|
||||
copy along with each Opaque copy, or state in or with each Opaque copy
|
||||
a computer-network location from which the general network-using
|
||||
public has access to download using public-standard network protocols
|
||||
a complete Transparent copy of the Document, free of added material.
|
||||
If you use the latter option, you must take reasonably prudent steps,
|
||||
when you begin distribution of Opaque copies in quantity, to ensure
|
||||
that this Transparent copy will remain thus accessible at the stated
|
||||
location until at least one year after the last time you distribute an
|
||||
Opaque copy (directly or through your agents or retailers) of that
|
||||
edition to the public.
|
||||
|
||||
It is requested, but not required, that you contact the authors of the
|
||||
Document well before redistributing any large number of copies, to give
|
||||
them a chance to provide you with an updated version of the Document.
|
||||
|
||||
@item
|
||||
MODIFICATIONS
|
||||
|
||||
You may copy and distribute a Modified Version of the Document under
|
||||
the conditions of sections 2 and 3 above, provided that you release
|
||||
the Modified Version under precisely this License, with the Modified
|
||||
Version filling the role of the Document, thus licensing distribution
|
||||
and modification of the Modified Version to whoever possesses a copy
|
||||
of it. In addition, you must do these things in the Modified Version:
|
||||
|
||||
@enumerate A
|
||||
@item
|
||||
Use in the Title Page (and on the covers, if any) a title distinct
|
||||
from that of the Document, and from those of previous versions
|
||||
(which should, if there were any, be listed in the History section
|
||||
of the Document). You may use the same title as a previous version
|
||||
if the original publisher of that version gives permission.
|
||||
|
||||
@item
|
||||
List on the Title Page, as authors, one or more persons or entities
|
||||
responsible for authorship of the modifications in the Modified
|
||||
Version, together with at least five of the principal authors of the
|
||||
Document (all of its principal authors, if it has fewer than five),
|
||||
unless they release you from this requirement.
|
||||
|
||||
@item
|
||||
State on the Title page the name of the publisher of the
|
||||
Modified Version, as the publisher.
|
||||
|
||||
@item
|
||||
Preserve all the copyright notices of the Document.
|
||||
|
||||
@item
|
||||
Add an appropriate copyright notice for your modifications
|
||||
adjacent to the other copyright notices.
|
||||
|
||||
@item
|
||||
Include, immediately after the copyright notices, a license notice
|
||||
giving the public permission to use the Modified Version under the
|
||||
terms of this License, in the form shown in the Addendum below.
|
||||
|
||||
@item
|
||||
Preserve in that license notice the full lists of Invariant Sections
|
||||
and required Cover Texts given in the Document's license notice.
|
||||
|
||||
@item
|
||||
Include an unaltered copy of this License.
|
||||
|
||||
@item
|
||||
Preserve the section Entitled ``History'', Preserve its Title, and add
|
||||
to it an item stating at least the title, year, new authors, and
|
||||
publisher of the Modified Version as given on the Title Page. If
|
||||
there is no section Entitled ``History'' in the Document, create one
|
||||
stating the title, year, authors, and publisher of the Document as
|
||||
given on its Title Page, then add an item describing the Modified
|
||||
Version as stated in the previous sentence.
|
||||
|
||||
@item
|
||||
Preserve the network location, if any, given in the Document for
|
||||
public access to a Transparent copy of the Document, and likewise
|
||||
the network locations given in the Document for previous versions
|
||||
it was based on. These may be placed in the ``History'' section.
|
||||
You may omit a network location for a work that was published at
|
||||
least four years before the Document itself, or if the original
|
||||
publisher of the version it refers to gives permission.
|
||||
|
||||
@item
|
||||
For any section Entitled ``Acknowledgements'' or ``Dedications'', Preserve
|
||||
the Title of the section, and preserve in the section all the
|
||||
substance and tone of each of the contributor acknowledgements and/or
|
||||
dedications given therein.
|
||||
|
||||
@item
|
||||
Preserve all the Invariant Sections of the Document,
|
||||
unaltered in their text and in their titles. Section numbers
|
||||
or the equivalent are not considered part of the section titles.
|
||||
|
||||
@item
|
||||
Delete any section Entitled ``Endorsements''. Such a section
|
||||
may not be included in the Modified Version.
|
||||
|
||||
@item
|
||||
Do not retitle any existing section to be Entitled ``Endorsements'' or
|
||||
to conflict in title with any Invariant Section.
|
||||
|
||||
@item
|
||||
Preserve any Warranty Disclaimers.
|
||||
@end enumerate
|
||||
|
||||
If the Modified Version includes new front-matter sections or
|
||||
appendices that qualify as Secondary Sections and contain no material
|
||||
copied from the Document, you may at your option designate some or all
|
||||
of these sections as invariant. To do this, add their titles to the
|
||||
list of Invariant Sections in the Modified Version's license notice.
|
||||
These titles must be distinct from any other section titles.
|
||||
|
||||
You may add a section Entitled ``Endorsements'', provided it contains
|
||||
nothing but endorsements of your Modified Version by various
|
||||
parties---for example, statements of peer review or that the text has
|
||||
been approved by an organization as the authoritative definition of a
|
||||
standard.
|
||||
|
||||
You may add a passage of up to five words as a Front-Cover Text, and a
|
||||
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
||||
of Cover Texts in the Modified Version. Only one passage of
|
||||
Front-Cover Text and one of Back-Cover Text may be added by (or
|
||||
through arrangements made by) any one entity. If the Document already
|
||||
includes a cover text for the same cover, previously added by you or
|
||||
by arrangement made by the same entity you are acting on behalf of,
|
||||
you may not add another; but you may replace the old one, on explicit
|
||||
permission from the previous publisher that added the old one.
|
||||
|
||||
The author(s) and publisher(s) of the Document do not by this License
|
||||
give permission to use their names for publicity for or to assert or
|
||||
imply endorsement of any Modified Version.
|
||||
|
||||
@item
|
||||
COMBINING DOCUMENTS
|
||||
|
||||
You may combine the Document with other documents released under this
|
||||
License, under the terms defined in section 4 above for modified
|
||||
versions, provided that you include in the combination all of the
|
||||
Invariant Sections of all of the original documents, unmodified, and
|
||||
list them all as Invariant Sections of your combined work in its
|
||||
license notice, and that you preserve all their Warranty Disclaimers.
|
||||
|
||||
The combined work need only contain one copy of this License, and
|
||||
multiple identical Invariant Sections may be replaced with a single
|
||||
copy. If there are multiple Invariant Sections with the same name but
|
||||
different contents, make the title of each such section unique by
|
||||
adding at the end of it, in parentheses, the name of the original
|
||||
author or publisher of that section if known, or else a unique number.
|
||||
Make the same adjustment to the section titles in the list of
|
||||
Invariant Sections in the license notice of the combined work.
|
||||
|
||||
In the combination, you must combine any sections Entitled ``History''
|
||||
in the various original documents, forming one section Entitled
|
||||
``History''; likewise combine any sections Entitled ``Acknowledgements'',
|
||||
and any sections Entitled ``Dedications''. You must delete all
|
||||
sections Entitled ``Endorsements.''
|
||||
|
||||
@item
|
||||
COLLECTIONS OF DOCUMENTS
|
||||
|
||||
You may make a collection consisting of the Document and other documents
|
||||
released under this License, and replace the individual copies of this
|
||||
License in the various documents with a single copy that is included in
|
||||
the collection, provided that you follow the rules of this License for
|
||||
verbatim copying of each of the documents in all other respects.
|
||||
|
||||
You may extract a single document from such a collection, and distribute
|
||||
it individually under this License, provided you insert a copy of this
|
||||
License into the extracted document, and follow this License in all
|
||||
other respects regarding verbatim copying of that document.
|
||||
|
||||
@item
|
||||
AGGREGATION WITH INDEPENDENT WORKS
|
||||
|
||||
A compilation of the Document or its derivatives with other separate
|
||||
and independent documents or works, in or on a volume of a storage or
|
||||
distribution medium, is called an ``aggregate'' if the copyright
|
||||
resulting from the compilation is not used to limit the legal rights
|
||||
of the compilation's users beyond what the individual works permit.
|
||||
When the Document is included in an aggregate, this License does not
|
||||
apply to the other works in the aggregate which are not themselves
|
||||
derivative works of the Document.
|
||||
|
||||
If the Cover Text requirement of section 3 is applicable to these
|
||||
copies of the Document, then if the Document is less than one half of
|
||||
the entire aggregate, the Document's Cover Texts may be placed on
|
||||
covers that bracket the Document within the aggregate, or the
|
||||
electronic equivalent of covers if the Document is in electronic form.
|
||||
Otherwise they must appear on printed covers that bracket the whole
|
||||
aggregate.
|
||||
|
||||
@item
|
||||
TRANSLATION
|
||||
|
||||
Translation is considered a kind of modification, so you may
|
||||
distribute translations of the Document under the terms of section 4.
|
||||
Replacing Invariant Sections with translations requires special
|
||||
permission from their copyright holders, but you may include
|
||||
translations of some or all Invariant Sections in addition to the
|
||||
original versions of these Invariant Sections. You may include a
|
||||
translation of this License, and all the license notices in the
|
||||
Document, and any Warranty Disclaimers, provided that you also include
|
||||
the original English version of this License and the original versions
|
||||
of those notices and disclaimers. In case of a disagreement between
|
||||
the translation and the original version of this License or a notice
|
||||
or disclaimer, the original version will prevail.
|
||||
|
||||
If a section in the Document is Entitled ``Acknowledgements'',
|
||||
``Dedications'', or ``History'', the requirement (section 4) to Preserve
|
||||
its Title (section 1) will typically require changing the actual
|
||||
title.
|
||||
|
||||
@item
|
||||
TERMINATION
|
||||
|
||||
You may not copy, modify, sublicense, or distribute the Document
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense, or distribute it is void, and
|
||||
will automatically terminate your rights under this License.
|
||||
|
||||
However, if you cease all violation of this License, then your license
|
||||
from a particular copyright holder is reinstated (a) provisionally,
|
||||
unless and until the copyright holder explicitly and finally
|
||||
terminates your license, and (b) permanently, if the copyright holder
|
||||
fails to notify you of the violation by some reasonable means prior to
|
||||
60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, receipt of a copy of some or all of the same material does
|
||||
not give you any rights to use it.
|
||||
|
||||
@item
|
||||
FUTURE REVISIONS OF THIS LICENSE
|
||||
|
||||
The Free Software Foundation may publish new, revised versions
|
||||
of the GNU Free Documentation License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns. See
|
||||
@uref{http://www.gnu.org/copyleft/}.
|
||||
|
||||
Each version of the License is given a distinguishing version number.
|
||||
If the Document specifies that a particular numbered version of this
|
||||
License ``or any later version'' applies to it, you have the option of
|
||||
following the terms and conditions either of that specified version or
|
||||
of any later version that has been published (not as a draft) by the
|
||||
Free Software Foundation. If the Document does not specify a version
|
||||
number of this License, you may choose any version ever published (not
|
||||
as a draft) by the Free Software Foundation. If the Document
|
||||
specifies that a proxy can decide which future versions of this
|
||||
License can be used, that proxy's public statement of acceptance of a
|
||||
version permanently authorizes you to choose that version for the
|
||||
Document.
|
||||
|
||||
@item
|
||||
RELICENSING
|
||||
|
||||
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
||||
World Wide Web server that publishes copyrightable works and also
|
||||
provides prominent facilities for anybody to edit those works. A
|
||||
public wiki that anybody can edit is an example of such a server. A
|
||||
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
||||
site means any set of copyrightable works thus published on the MMC
|
||||
site.
|
||||
|
||||
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
||||
license published by Creative Commons Corporation, a not-for-profit
|
||||
corporation with a principal place of business in San Francisco,
|
||||
California, as well as future copyleft versions of that license
|
||||
published by that same organization.
|
||||
|
||||
``Incorporate'' means to publish or republish a Document, in whole or
|
||||
in part, as part of another Document.
|
||||
|
||||
An MMC is ``eligible for relicensing'' if it is licensed under this
|
||||
License, and if all works that were first published under this License
|
||||
somewhere other than this MMC, and subsequently incorporated in whole
|
||||
or in part into the MMC, (1) had no cover texts or invariant sections,
|
||||
and (2) were thus incorporated prior to November 1, 2008.
|
||||
|
||||
The operator of an MMC Site may republish an MMC contained in the site
|
||||
under CC-BY-SA on the same site at any time before August 1, 2009,
|
||||
provided the MMC is eligible for relicensing.
|
||||
|
||||
@end enumerate
|
||||
|
||||
@page
|
||||
@heading ADDENDUM: How to use this License for your documents
|
||||
|
||||
To use this License in a document you have written, include a copy of
|
||||
the License in the document and put the following copyright and
|
||||
license notices just after the title page:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
Copyright (C) @var{year} @var{your name}.
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled ``GNU
|
||||
Free Documentation License''.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
||||
replace the ``with@dots{}Texts.''@: line with this:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
with the Invariant Sections being @var{list their titles}, with
|
||||
the Front-Cover Texts being @var{list}, and with the Back-Cover Texts
|
||||
being @var{list}.
|
||||
@end group
|
||||
@end smallexample
|
||||
|
||||
If you have Invariant Sections without Cover Texts, or some other
|
||||
combination of the three, merge those two alternatives to suit the
|
||||
situation.
|
||||
|
||||
If your document contains nontrivial examples of program code, we
|
||||
recommend releasing these examples in parallel under your choice of
|
||||
free software license, such as the GNU General Public License,
|
||||
to permit their use in free software.
|
||||
|
||||
@c Local Variables:
|
||||
@c ispell-local-pdict: "ispell-dict"
|
||||
@c End:
|
||||
91
sysa/mes-0.22/doc/gendocs_template
Normal file
91
sysa/mes-0.22/doc/gendocs_template
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
<!--#include virtual="/server/header.html" -->
|
||||
<!-- Parent-Version: 1.77 -->
|
||||
<title>%%TITLE%% - GNU Project - Free Software Foundation</title>
|
||||
<!--#include virtual="/server/banner.html" -->
|
||||
<h2>%%TITLE%%</h2>
|
||||
|
||||
<address>Free Software Foundation</address>
|
||||
<address>last updated %%DATE%%</address>
|
||||
|
||||
<p>This manual (%%PACKAGE%%) is available in the following formats:</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="%%PACKAGE%%.html">HTML
|
||||
(%%HTML_MONO_SIZE%%K bytes)</a> - entirely on one web page.</li>
|
||||
<li><a href="html_node/index.html">HTML</a> - with one web page per
|
||||
node.</li>
|
||||
%%IF HTML_SECTION%%
|
||||
<li><a href="html_section/index.html">HTML</a> - with one web page per
|
||||
section.</li>
|
||||
%%ENDIF HTML_SECTION%%
|
||||
%%IF HTML_CHAPTER%%
|
||||
<li><a href="html_chapter/index.html">HTML</a> - with one web page per
|
||||
chapter.</li>
|
||||
%%ENDIF HTML_CHAPTER%%
|
||||
<li><a href="%%PACKAGE%%.html.gz">HTML compressed
|
||||
(%%HTML_MONO_GZ_SIZE%%K gzipped characters)</a> - entirely on
|
||||
one web page.</li>
|
||||
<li><a href="%%PACKAGE%%.html_node.tar.gz">HTML compressed
|
||||
(%%HTML_NODE_TGZ_SIZE%%K gzipped tar file)</a> -
|
||||
with one web page per node.</li>
|
||||
%%IF HTML_SECTION%%
|
||||
<li><a href="%%PACKAGE%%.html_section.tar.gz">HTML compressed
|
||||
(%%HTML_SECTION_TGZ_SIZE%%K gzipped tar file)</a> -
|
||||
with one web page per section.</li>
|
||||
%%ENDIF HTML_SECTION%%
|
||||
%%IF HTML_CHAPTER%%
|
||||
<li><a href="%%PACKAGE%%.html_chapter.tar.gz">HTML compressed
|
||||
(%%HTML_CHAPTER_TGZ_SIZE%%K gzipped tar file)</a> -
|
||||
with one web page per chapter.</li>
|
||||
%%ENDIF HTML_CHAPTER%%
|
||||
<li><a href="%%PACKAGE%%.info.tar.gz">Info document
|
||||
(%%INFO_TGZ_SIZE%%K bytes gzipped tar file)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.txt">ASCII text
|
||||
(%%ASCII_SIZE%%K bytes)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.txt.gz">ASCII text compressed
|
||||
(%%ASCII_GZ_SIZE%%K bytes gzipped)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.dvi.gz">TeX dvi file
|
||||
(%%DVI_GZ_SIZE%%K bytes gzipped)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.pdf">PDF file
|
||||
(%%PDF_SIZE%%K bytes)</a>.</li>
|
||||
<li><a href="%%PACKAGE%%.texi.tar.gz">Texinfo source
|
||||
(%%TEXI_TGZ_SIZE%%K bytes gzipped tar file).</a></li>
|
||||
</ul>
|
||||
|
||||
<p>You can <a href="https://shop.fsf.org/">buy printed copies of
|
||||
some manuals</a> (among other items) from the Free Software Foundation;
|
||||
this helps support FSF activities.</p>
|
||||
|
||||
<p>(This page generated by the <a href="%%SCRIPTURL%%">%%SCRIPTNAME%%
|
||||
script</a>.)</p>
|
||||
|
||||
<!-- If needed, change the copyright block at the bottom. In general,
|
||||
all pages on the GNU web server should have the section about
|
||||
verbatim copying. Please do NOT remove this without talking
|
||||
with the webmasters first.
|
||||
Please make sure the copyright date is consistent with the document
|
||||
and that it is like this: "2001, 2002", not this: "2001-2002". -->
|
||||
</div><!-- for id="content", starts in the include above -->
|
||||
<!--#include virtual="/server/footer.html" -->
|
||||
<div id="footer">
|
||||
<div class="unprintable">
|
||||
|
||||
<p>Please send general FSF & GNU inquiries to
|
||||
<a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>.
|
||||
There are also <a href="/contact/">other ways to contact</a>
|
||||
the FSF. Broken links and other corrections or suggestions can be sent
|
||||
to <a href="mailto:%%EMAIL%%"><%%EMAIL%%></a>.</p>
|
||||
</div>
|
||||
|
||||
<p>Copyright © 2018 Free Software Foundation, Inc.</p>
|
||||
|
||||
<p>This page is licensed under a <a rel="license"
|
||||
href="https://creativecommons.org/licenses/by-nd/3.0/us/">Creative
|
||||
Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
|
||||
|
||||
<!--#include virtual="/server/bottom-notes.html" -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
13
sysa/mes-0.22/doc/images/README
Normal file
13
sysa/mes-0.22/doc/images/README
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
-*- org -*-
|
||||
#+TITLE: GNU Mes images
|
||||
|
||||
Copyright © 2018,2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
|
||||
Copying and distribution of this file, with or without modification,
|
||||
are permitted in any medium without royalty provided the copyright
|
||||
notice and this notice are preserved.
|
||||
|
||||
gcc-mesboot-graph.dot
|
||||
This graph is generated from Guix wip-bootstrap, doing:
|
||||
~/src/guix/core-updates/pre-inst-env guix graph --type=bag -e '(@@ (gnu packages commencement) gcc-mesboot)' > doc/images/gcc-mesboot-graph.dot
|
||||
dot -T png doc/images/gcc-mesboot-graph.dot > doc/images/gcc-mesboot-graph.png
|
||||
123
sysa/mes-0.22/doc/images/gcc-mesboot-graph.dot
Normal file
123
sysa/mes-0.22/doc/images/gcc-mesboot-graph.dot
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
digraph "Guix bag" {
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" [label = "gcc-mesboot@4.9.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7v6fpp5msmjbhmprikrfcj047016gd54-gcc-mesboot1-wrapper-4.7.4.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = magenta];
|
||||
"/gnu/store/q8f5yjxp0kcdn2mwqf83bvhal71cnr71-gcc-mesboot-4.9.4.drv" -> "/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" [label = "binutils-mesboot@2.20.1a", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = magenta];
|
||||
"/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = magenta];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [label = "binutils-mesboot0@2.20.1a", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" [color = red];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = red];
|
||||
"/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = red];
|
||||
"/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" [label = "tcc-boot@0.9.27", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" -> "/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" [color = dimgrey];
|
||||
"/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" -> "/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" [color = dimgrey];
|
||||
"/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" [label = "mes-boot@0.19", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" -> "/gnu/store/msykyiih9lwrd86x00vs00i8s5ipjks4-bootstrap-mescc-tools-0.5.2.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" -> "/gnu/store/cfw60j3987wrvb26f2bpbw5l5q6q53fj-bootstrap-mes-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/msykyiih9lwrd86x00vs00i8s5ipjks4-bootstrap-mescc-tools-0.5.2.drv" [label = "bootstrap-mescc-tools@0.5.2", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [label = "bootstrap-binaries@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/cfw60j3987wrvb26f2bpbw5l5q6q53fj-bootstrap-mes-0.drv" [label = "bootstrap-mes@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" [label = "tcc-boot0@0.9.26-6.c004e9a", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" [color = magenta];
|
||||
"/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/msykyiih9lwrd86x00vs00i8s5ipjks4-bootstrap-mescc-tools-0.5.2.drv" [color = magenta];
|
||||
"/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/nvhjn6b5hi4mj7wnjxrmj0dmdigq9m2z-tcc-boot0-0.9.26-6.c004e9a.drv" -> "/gnu/store/cfw60j3987wrvb26f2bpbw5l5q6q53fj-bootstrap-mes-0.drv" [color = magenta];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [label = "diffutils-mesboot@2.7", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" -> "/gnu/store/mw6swkryp89aml4jzac5lm8kmcv5k6gy-mes-boot-0.19.drv" [color = peachpuff4];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" -> "/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" [color = peachpuff4];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = peachpuff4];
|
||||
"/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = peachpuff4];
|
||||
"/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [label = "make-mesboot0@3.80", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" -> "/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" [color = dimgrey];
|
||||
"/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [label = "glibc-mesboot0@2.2.5", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/hnxdqmhjdvh1ra9ar4lxl25xf6a7bhzz-mesboot-headers-0.19.drv" [color = red];
|
||||
"/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = red];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" [label = "gcc-core-mesboot@2.95.3", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/fglx0fz62bygkdxxg878j7x9pfl37zhh-tcc-boot-0.9.27.drv" [color = dimgrey];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = dimgrey];
|
||||
"/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = dimgrey];
|
||||
"/gnu/store/hnxdqmhjdvh1ra9ar4lxl25xf6a7bhzz-mesboot-headers-0.19.drv" [label = "mesboot-headers@0.19", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/hnxdqmhjdvh1ra9ar4lxl25xf6a7bhzz-mesboot-headers-0.19.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = blue];
|
||||
"/gnu/store/hnxdqmhjdvh1ra9ar4lxl25xf6a7bhzz-mesboot-headers-0.19.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = blue];
|
||||
"/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [label = "linux-libre-headers-bootstrap@0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" [label = "gcc-mesboot0@2.95.3", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/kcyh6k46ijm9nsq1as26rr0aq7rkx4f7-gcc-core-mesboot-2.95.3.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = darkseagreen];
|
||||
"/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = darkseagreen];
|
||||
"/gnu/store/7v6fpp5msmjbhmprikrfcj047016gd54-gcc-mesboot1-wrapper-4.7.4.drv" [label = "gcc-mesboot1-wrapper@4.7.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/7v6fpp5msmjbhmprikrfcj047016gd54-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = red];
|
||||
"/gnu/store/7v6fpp5msmjbhmprikrfcj047016gd54-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" [color = red];
|
||||
"/gnu/store/7v6fpp5msmjbhmprikrfcj047016gd54-gcc-mesboot1-wrapper-4.7.4.drv" -> "/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" [color = red];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" [label = "glibc-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = magenta];
|
||||
"/gnu/store/lp6fycqqd8adndlfylh4mlihm0qakxzw-glibc-mesboot-2.16.0.drv" -> "/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" [color = magenta];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" [label = "glibc-headers-mesboot@2.16.0", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/hnxdqmhjdvh1ra9ar4lxl25xf6a7bhzz-mesboot-headers-0.19.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/p9sl13frcs2wdcddkh20hc51l7lpavza-glibc-headers-mesboot-2.16.0.drv" -> "/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" [color = darkgoldenrod];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" [label = "gcc-mesboot1@4.7.4", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/2lpg626q4x8v7hgqajywpq1rc8y72hzx-binutils-mesboot-2.20.1a.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r50fj43103526ga6pi2f9jkk4gvaav7m-diffutils-mesboot-2.7.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = cyan3];
|
||||
"/gnu/store/7pllq0crksfkr7856y1pawcy4scc7l4q-gcc-mesboot1-4.7.4.drv" -> "/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" [color = cyan3];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" [label = "make-mesboot@3.82", shape = box, fontname = Helvetica];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/x9shp86cz9f4rb5xvhs37zzxg1ngi4dr-binutils-mesboot0-2.20.1a.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/2633565gzh4jqh7c5zf6i0iy9yxqigcv-glibc-mesboot0-2.2.5.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/slnyk8gbnvfwy1m1was8myivpss58idd-gcc-mesboot0-2.95.3.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/57da9mdiqhyn72m8wv00pdvzqi2ng4xb-make-mesboot0-3.80.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/7wqw4023spvggi15vcxyxvivxa4rmmv8-bootstrap-binaries-0.drv" [color = dimgrey];
|
||||
"/gnu/store/5ad88jy4a1gpbslzdiksk7zjyh28wzkr-make-mesboot-3.82.drv" -> "/gnu/store/r0z9bix88pz0wf6sgcn9185iwcsdracs-linux-libre-headers-bootstrap-0.drv" [color = dimgrey];
|
||||
|
||||
}
|
||||
1252
sysa/mes-0.22/doc/mes.texi
Normal file
1252
sysa/mes-0.22/doc/mes.texi
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue