Выпуск GNU Mes 0.22, инструментария для самодостаточной сборки дистрибутивов

Presented lëshimi i mjetit GNU Mes 0.22, обеспечивающего процесс бутстрэппинга (bootstrap) для GCC и позволяющего добиться замкнутого цикла пересборки из исходных текстов.
Инструментарий решает задачу верифицированной начальной сборки компилятора в дистрибутивах, разрывая цепочку цикличной пересборки (для сборки компилятора требуются исполняемые файлы уже собранного компилятора, а бинарные сборки компилятора являются потенциальным источником скрытых закладок, что не позволяет полностью гарантировать целостность сборок из эталонных исходных текстов).

Në GNU Mes ofrohet një interpretuese vetë-mjaftueshme për gjuhën Scheme, e shkruar në gjuhën C, dhe një kompilator të thjeshtë për gjuhën C (MesCC), e shkruar në gjuhën Scheme. Të dy komponentët janë të ndërtueshëm ndërshtetërosh. TinyCC (tcc), mundësitë e të cilit tashmë janë të mjaftueshme për ndërtimin e GCC.

Интерпретатор языка Scheme достаточно компактный, занимает около 5000 строк кода на простейшем подмножестве языка Си и может быть преобразован в исполняемый файл с использованием универсального транслятора M2-Planet или простейшего Си-компилятора, собранного с использованием самособираемого ассемблера hex0, не требующего внешних зависимостей. При этом интерпретатор включает полноценный сборщик мусора и предоставляет библиотеку загружаемых модулей.

В новом выпуске обеспечена поддержка повторяемых сборок с использованием связок mes+mescc или guile+mescc в дистрибутивах GNU Guix, Debian GNU/Linux и NixOS. Добавлена возможность запуска Scheme-интерпретатора Mes в GNU Hurd, но Си-компилятор mescc ещё не работает из-за отсутствия поддержки необходимых системных вызовов (например, fork/exec). Добавлена начальная поддержка создания исполняемых файлов FreeBSD. Улучшена поддержка бутстрэппинга дистрибутива Guix с использованием только компонентов на языке Scheme (командная оболочка Gash (Guile as Shell) вместо bash и Gash Core Utils вместо coreutils, grep, sed, gzip, make, awk и tar).

В следующих выпусках ожидается появление поддержки бутстрэппинга для NixOS, включение бутстрэппинга только с использованием компонентов на языке Scheme в ветке wip-bootstrap, поддержка архитектуры ARM, возможность компиляции Mes.c с использованием M2-Planet, полная поддержка модулей Guile, обеспечение работы mescc с ядром Hurd.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster