GNU Mes 0.26.1 released

Tobias Alexandra Platen guix at platen-software.de
Wed Jun 12 16:26:54 UTC 2024


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 <janneke at 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-mes at gnu.org and #bootstrappable on irc.libera.chat for
> discussions.
> 
> Enjoy!
> 
> Janneke
>  [on behalf of the mes maintainers]
> 



More information about the rb-general mailing list