[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GNU Mes 0.26.1 released
From: |
Tobias Alexandra Platen |
Subject: |
Re: GNU Mes 0.26.1 released |
Date: |
Wed, 12 Jun 2024 18:26:54 +0200 |
User-agent: |
Evolution 3.46.4-2 |
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@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@gnu.org and #bootstrappable on irc.libera.chat for
> discussions.
>
> Enjoy!
>
> Janneke
> [on behalf of the mes maintainers]
>