From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57538 invoked by alias); 26 Nov 2019 05:55:49 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 57523 invoked by uid 89); 26 Nov 2019 05:55:49 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,HTML_MESSAGE,KAM_LOTSOFHASH,KAM_SHORT,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.1 spammy=Fantastic, H*i:sk:87a78j5, Brett, HX-HELO:sk:mail-yb X-HELO: mail-yb1-f195.google.com Received: from mail-yb1-f195.google.com (HELO mail-yb1-f195.google.com) (209.85.219.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 26 Nov 2019 05:55:46 +0000 Received: by mail-yb1-f195.google.com with SMTP id v15so7006502ybp.13 for ; Mon, 25 Nov 2019 21:55:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=6/kt8es9OBMEfLoWKI5GwwYCrmZiTTpHW645YLrdRuI=; b=u1yxppLct8QCVFHfJyC3j/6EC2mEOF2uGIIY0HXf/W2plwQkFUsBd6Y06Rh/yCEz03 9V1fkiEJAHWqOrlr17eLvx4BaIcoml+VoRJ9vJkrfWM943Bx06jc8g+flBAJj20zfDuE BthQjUH7n6/nJ0SziiCTLemjueB8wC/XqEHdcc4QcEWzE5N3x+6EByUtVlkudisiql/4 i09fxNqyOhhYa1z9ZbeVbq+ST/nl9/2FtBo+gvahSj6QjWBgZkI9R161NRRaJgINgoTf KdAYgYGxV5k6tNBqbVcqSOMqyJKIE0+Fx05Z6CdBP8WkCuDHaqHsav++XBPcHM6JcN9T fh/Q== MIME-Version: 1.0 References: <87y2w37r67.fsf@gnu.org> <87a78j5oix.fsf@posteo.net> In-Reply-To: <87a78j5oix.fsf@posteo.net> From: Nala Ginrut Date: Tue, 26 Nov 2019 05:55:00 -0000 Message-ID: Subject: Re: GNU Mes 0.21 released To: Brett Gilio Cc: Jan Nieuwenhuizen , gcc@gcc.gnu.org, info-gnu@gnu.org, bootstrappable@freelists.org, rb-general@lists.reproducible-builds.org, guix-devel@gnu.org, guile-user@gnu.org Content-Type: text/plain; charset="UTF-8" X-SW-Source: 2019-11/txt/msg00219.txt.bz2 Congrats! On Tue, Nov 26, 2019, 11:11 Brett Gilio wrote: > Jan Nieuwenhuizen writes: > > > 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. 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. > > > > 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 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 > > Fantastic work to everybody involved! > > Brett Gilio > >