This is an old revision of the document!
Overview
The rust team takes care of Rust Programming Language and Rust-related ports and packages.
- lang/rust tracks Rust Stable and is updated every 6 weeks. It uses
lang/rust-bootstrapto bootstrap.
- lang/rust-nightly tracks Rust Nightly and is updated weekly. It uses prebuilt bootstraps provided by upstream, which are currently limited to
amd64andi386architectures. - lang/rust-bootstrap creates cross-compiled bootstraps for all supported architectures which are later used to build
lang/rust. - Cargo integration is available in the ports framework via
USES=cargo(Mk/Uses/cargo.mk)
Support
We currently maintain lang/rust for the following architecture and release combinations:
- FreeBSD 11.4+ for i386, amd64, armv6
- FreeBSD 13.0+ additionally for: powerpc64 Big Endian ELFv2, powerpc64 Little Endian ELFv2, riscv64 3)
Rust in the FreeBSD Kernel
JohannesLundberg created a RustKPI FreeBSD Kernel Module) and e1000 Rust FreeBSD Network Driver example and Hello World Example as part of his Masters Thesis on Safe Kernel Programming with Rust (2018, PDF).
AnatolUlrich 4) wrote a Hello world FreeBSD kernel module in Rust (github.com, 2021)
In August 2022, DavidYoung of NCCGroup posted a Writing FreeBSD Kernel Modules in Rust research article and accompanying BSD-Licensed code repository, based on JohannesLundberg's original work, updated to target Rust 2021
Rust Team
Contact
- Email: rust@FreeBSD.org
- Bug Reports & Feature Requests via Bugzilla. Open Rust issues
- Patches & Pull Requests via Phabricator (add
#rustas reviewer).