Rust
The FreeBSD Rust team takes care of Rust Programming Language and Rust FreeBSD Ports and Packages.
lang/rust tracks Rust Stable and is updated every 6 weeks. It uses lang/rust-bootstrap to bootstrap.
lang/rust-nightly tracks Rust Nightly and is updated weekly. It uses prebuilt bootstraps provided by upstream, which are currently limited to amd64 and i386 architectures.
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 12.1+ additionally for: armv7, aarch64 (arm64) 1, powerpc64 ELFv1 2
FreeBSD 13.0+ additionally for: powerpc64 Big Endian ELFv2, powerpc64 Little Endian ELFv2, riscv64 3
Rust in the FreeBSD Kernel
Johannes Lundberg4 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).
Anatol Ulrich5 wrote a Hello world FreeBSD kernel module in Rust. (github.com, 2021)
In August 2022, David Young6 of NCCGroup posted a Writing FreeBSD Kernel Modules in Rust research article and accompanying BSD-Licensed code repository, based on Johannes Lundberg's original work, updated to target Rust 2021.
Rust Team
Contact
Email: <rust AT FreeBSD DOT org>
Bug Reports & Feature Requests via Bugzilla. Open Rust issues
Patches & Pull Requests via Phabricator (add #rust as reviewer).