Objavljen je izdanak alata GNU Mes 0.26, koji osigurava postupak bootstrappinga za GCC i omogućava zatvoren ciklus ponovne izgradnje iz izvornog koda. Alat rješava problem verifikovane inicijalne izgradnje kompajlera u distribucijama, prekidajući lanac ciklične ponovne izgradnje (za izgradnju kompajlera potrebni su izvršni datoteke već sastavljenog kompajlera, a binarne verzije kompajlera predstavljaju potencijalni izvor skrivenih zaklada, što ne omogućava potpuno jamstvo integriteta izgradnji iz referentnog izvornog koda).
V GNU Mes je na voljo samooskrbni interpreter za jezik Scheme, napisan v jeziku C, ter najpreprostejši prevajalnik za jezik C (MesCC), napisan v jeziku Scheme. Obe komponenti sta medsebojno zgradljivi. Interpreter Scheme omogoča gradnjo C-prevajalnika MesCC, ki nato omogoča gradnjo skrajšane različice prevajalnika TinyCC (tcc), katere zmožnosti so že zadostne za gradnjo GCC.
Interpreter programskog jezika Scheme je vrlo kompaktan, zauzima oko 5000 redova koda na najjednostavnijem podskupu jezika C i može biti konvertovan u izvršni fajl korišćenjem univerzalnog prevodioca M2-Planet ili najjednostavnijeg C-kompilatora, sastavljenog korišćenjem samosakupljajućeg asemblera hex0, koji ne zahteva spoljne zavisnosti. Pored toga, interpreter uključuje potpuno funkcionalni sakupljač smeća i pruža biblioteku za učitavanje modula. Projekat takođe razvija C biblioteku Mes C, koja je dovoljna za izgradnju glibc 2.2.5, binutils 2.20.1 i gcc 2.95.3, potrebnih za implementaciju distribucije Guix za platforme i686-linux, x86_64-linux, armhf-linux i aarch64-linux, koristeći samo izvorne kodove (Full Source Bootstrap).
U novom izdanju dodana je podrška za module koji su potpuno kompatibilni s Guile, te su pružene mogućnosti pokretanja Gash i Gash-Utils. Uspostavljen je prijelaz s assert na korištenje iznimki. Dodana je podrška za regularne izraze. Implementirano je devet novih modula (ftw, i18n, receive, regex, io ports, bytevectors, srfi-2, srfi-11 i srfi-37). Dodano je 46 novih funkcija, među kojima su chdir, clone-port, closedir, concatenate, drop, environ, execle, mkdir, opendir, partition, pipe, readdir, reduce, rmdir, seek, span, sleep, umask, uname i utimes. U sljedećim izdanjima očekuje se podrška za bootstrapping NixOS isključivo iz izvornog koda, mogućnost bootstrappinga gcc 4.6.4, kao i podrška za potpunu izgradnju cijelog sustava iz izvornog koda u Linux okruženjima temeljenim na arhitekturama armhf i riscv64.
Izvor: opennet.ru
