Good news, I'd be interested in doing a port of Mes to the PowerPC architecture. Unfortunately in the last few month I did not have many time to work with Mes and Guix. I am also thinking of doing a FOSDEM talk next year, as I did this year for the first time.
Tobias Alexandra On Sat, 2024-06-08 at 08:48 +0200, Janneke Nieuwenhuizen wrote: > We are happy to announce the release of GNU Mes 0.26.1. > > This release represents 57 commits by five people in 26 weeks. It > brings full Gash support and many fixes for the riscv64-linux > bootstrap. > See the NEWS below for a brief summary. > > We are excited that the NLnet Foundation is sponsoring this work! > > What's next? > > Support newer versions of Nyacc. Resurrect support for the Hurd. > Remove indirect Guile dependencies (via Gash and Gash-Utils) from the > Mes bootstrap in Guix. Support for bootstrapping gcc-4.6.4 without > depending on gcc-2.95.3, and a Full Source Bootstrap for armhf-linux, > and riscv64-linux. Bringing the Full Source Bootstrap to NixOS. > > ABOUT > > GNU Mes is a Scheme interpreter and C compiler for bootstrapping the > GNU System. It has helped to decimate the number and size of binary > seeds that were used in the bootstrap of GNU Guix 1.0. Recently, > version 0.24.2 has realized the first Full Source Bootstrap for Guix > < > https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building- > from-source-all-the-way-down/>. > The final goal is to help create a full source bootstrap as part of > the bootstrappable builds effort <https://bootstrappable.org> for any > UNIX-like operating system. > > Mes + MesCC + Mes C Library can build a bootstrappable TinyCC > <https://gitlab.com/janneke/tinycc> that is self-hosting. Using this > bootstrappable-tcc and the Mes C library we can build an ancient > version of the GNU tools triplet: glibc-2.2.5, binutils-2.20.1, > gcc-2.95.3. This is enough to bootstrap Guix for i686-linux, > x86_64-linux, armhf-linux and aarch64-linux. > > Mes was inspired by The Maxwell Equations of Software: LISP-1.5 -- > John McCarthy page 13, Guix's source/binary packaging transparency > and > Jeremiah Orians's Stage0 <https://github.com/oriansj/stage0>, a > ~500-byte self-hosting hex assembler. > > ================================================================== > > DOWNLOAD > > git clone git://git.savannah.gnu.org/mes.git > > Here is the GNU mes home page: > https://gnu.org/s/mes/ > > For a summary of changes and contributors, see: > https://git.sv.gnu.org/gitweb/?p=mes.git;a=shortlog;h=v0.26.1 > or run this command from a git-cloned mes directory: > git shortlog v0.26..v0.26.1 > > Here are the compressed sources and a GPG detached signature: > https://ftp.gnu.org/gnu/mes/mes-0.26.1.tar.gz > https://ftp.gnu.org/gnu/mes/mes-0.26.1.tar.gz.sig > > Use a mirror for higher download bandwidth: > https://ftpmirror.gnu.org/mes/mes-0.26.1.tar.gz > https://ftpmirror.gnu.org/mes/mes-0.26.1.tar.gz.sig > > Here are the SHA1 and SHA256 checksums: > > f228703f3e6c1104d825ade5183b74ef47d6cde4 mes-0.26.1.tar.gz > e1370d528cbfcbb477ca35e59ae2f6fb71f611f9c856330e6dcb5f2459c2fcf4 > mes-0.26.1.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.26.1.tar.gz.sig > > The signature should match the fingerprint of the following key: > > pub rsa4096 2018-04-08 [SC] > 1A85 8392 E331 EAFD B8C2 7FFB F3C1 A0D9 C1D6 5273 > uid Jan (janneke) Nieuwenhuizen <jann...@gnu.org> > > If that command fails because you don't have the required public key, > or that public key has expired, try the following commands to > retrieve > or refresh it, and then rerun the 'gpg --verify' command. > > gpg --recv-keys 1A858392E331EAFDB8C27FFBF3C1A0D9C1D65273 > > As a last resort to find the key, you can try the official GNU > keyring: > > wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg > gpg --keyring gnu-keyring.gpg --verify mes-0.26.1.tar.gz.sig > > Alternatively, Mes can be installed using GNU Guix: > > guix pull > guix install mes > > NEWS > > * Changes in 0.26.1 since 0.26 > ** Mes > *** Running Gash is now fully supported. > *** The REPL's ,use command now loads Guile-style modures. > ** MesCC > *** The comma operator is now better supported. > *** New type: ucontext_t. > **** 1 new function > pathconf. > **** 2 new stubs > putenv, realpath. > ** Noteworthy bug fixes > *** A workaround was added to run Gash-Utils in the kaem bootstrap. > *** A Guile-style module bug was fixed where MesCC would run twice. > *** ./configure.sh can be run without using `--host' during > bootstrap. > *** srfi-43 vector-fold has been resurrected. > *** The armhf build has been resurrected. > *** On x86_64-linux, getdents64 is being used instead of getdents. > *** MesCC now produces position-independent binaries for x86_64. > *** Several RISCV-64 MesCC (signed) integer problems were fixed. > *** Setjmp/longjmp for RISCV-64 on TinyCC has been fixed. > *** CHAR_MAX is now depends on the signedness of char. > *** intmax_t and uintmax_t were fixed for 64bit archtectures. > *** A buffer-overflow for very large integers in ntoab was fixed. > > Thanks to everyone who contributed to this release: > > Andrius Štikonas (7) > Ekaitz Zarraga (15) > Janneke Nieuwenhuizen (29) > Michael Forney (4) > Timothy Sample (2) > > See also <https://bootstrappable.org>. > Join bug-...@gnu.org and #bootstrappable on irc.libera.chat for > discussions. > > Enjoy! > > Janneke > [on behalf of the mes maintainers] >