Byl vydán nástroj GNU Mes 0.26, který zajišťuje proces bootstrapu pro GCC a umožňuje dosáhnout uzavřeného cyklu přebudování z počátečních textů. Nástroj řeší úkol ověřeného počátečního sestavení kompilátoru v distribucích, čímž přerušuje řetězec cyklického přebudování (pro sestavení kompilátoru jsou potřeba spustitelné soubory již sestaveného kompilátoru, přičemž binární sestavení kompilátoru mohou být potenciálním zdrojem skrytých zadních vrátek, což neumožňuje plně zaručit integritu sestavení z referenčních počátečních textů).
GNU Mes nabízí samostatný (self-hosting) interpretér pro jazyk Scheme, napsaný v jazyce C, a jednoduchý kompilátor pro jazyk C (MesCC), napsaný v jazyce Scheme. Oba komponenty jsou vzájemně kompilovatelné. Interpretér jazyka Scheme umožňuje kompilaci C-kompilátoru MesCC, který pak umožňuje kompilaci zjednodušené verze kompilátoru TinyCC (tcc), jehož možnosti jsou již dostatečné pro sestavení GCC.
Interpretér jazyka Scheme je velmi kompaktní, obsahuje přibližně 5000 řádků kódu na jednoduchém podmnožinu jazyka C a může být převeden na spustitelný soubor pomocí univerzálního překladače M2-Planet nebo jednoduchého C-kompilátoru, zkompilovaného pomocí samokompilovatelného assembleru hex0, který nevyžaduje externí závislosti. Interpretér navíc obsahuje plnohodnotný sběrač odpadu a poskytuje knihovnu načítatelných modulů. Projekt rovněž rozvíjí knihovnu C Mes, která je dostačující k tomu, aby zkompilovala glibc 2.2.5, binutils 2.20.1 a gcc 2.95.3, které jsou nezbytné pro nasazení distribuce Guix na platformách i686-linux, x86_64-linux, armhf-linux a aarch64-linux, s využitím pouze původních textů (Full Source Bootstrap).
V novém vydání byla přidána podpora modulů plně kompatibilních s Guile a byla poskytnuta možnost spuštění Gash a Gash-Utils. Došlo k přechodu z assert na používání výjimek. Přidána podpora regulárních výrazů. Realizováno devět nových modulů (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 a srfi-37). Přidáno 46 nových funkcí, mezi které patří chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname a utimes. V následujících vydáních se očekává podpora bootstrapu NixOS pouze z počátečních textů, možnost bootstrapu GCC 4.6.4, a také podpora úplného sestavení celého systému z počátečních textů v Linuxových prostředích založených na architekturách armhf a riscv64.
Zdroj: opennet.ru
