Для FreeBSD развивают опциональную поддержку компонентов базовой системы на Rust

Проект HardenedBSD, занимающийся улучшением механизмов защиты FreeBSD и выпускающий защищённые сборки FreeBSD, представил первые результаты работы по предоставлению возможности использования компонентов пространства пользователя FreeBSD, написанных на языке Rust. Разработка ведётся в отдельной ветке hardened/current/rust-in-base.

Для использования Rust был написан новый сборочный файл share/mk/bsd.rust.mk, позволяющий собирать приложения на языке Rust во время сборки окружения базовой системы (make buildworld). Компоненты пространства пользователя на языке Rust являются опциональными и размещены в дереве исходного кода FreeBSD в отдельном рабочем пространстве. При сборке Rust-приложений и зависимостей задействован пакетный менеджер Cargo. Все зависимости, необходимые для сборки Rust-компонентов базовой системы, размещаются в отдельном подкаталоге src/vendor/rust.

На момент написания отчёта заявлена поддержка только сборки и установки Rust-приложений, работающих в пространстве пользователя.
Поддержка библиотечных crate-пакетов запланирована в будущем. Использование Rust в ядре пока не поддерживается, так подобная возможность требует большого объёма работы и выходит за рамки начального прототипа.

Изменения для поддержки Rust планируют предложить для включения в основной состав FreeBSD после проверки развиваемого набора патчей и реализации отмеченных в плане базовых возможностей. Среди начальных планов: поддержка crate-пакетов с библиотеками на языке Rust, возможность сборки нескольким Rust-приложений при помощи одного Makefile, создание руководств по импорту crate-пакетов и поддержка установки сопутствующих файлов и man-страниц.

Release. Ссылка here.