Rust Compiler
Summary
Introduce packages for the Rust compiler and its Cargo build system.
Owner
- Name: Josh Stone
- Email: jistone at redhat dot com
- Release notes owner:
Current status
- Targeted release: Fedora 25
- Last updated: 2016-07-20
- Tracker bug: <will be assigned by the Wrangler>
Detailed Description
In the project's own words, "Rust is a systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety." Cargo is Rust's primary package manager and build system. This change is to bring both into Fedora.
Rust 1.10.0 was released on July 7 along with Cargo 0.11.0. These will be the initial targets to package. Rust's next release is scheduled for August 18 on a 6-week cycle. Backwards compatibility is taken very seriously, so it should be possible to keep upgrading throughout a Fedora release's lifetime. It might be debatable whether Fedora users want those upgrades or not.
More information:
- Bug request to package rust #915043
- Work in progress rust-spec for the latest release 1.10
- COPR jistone/rust demonstrating the bootstrap from a binary then pure source
Benefit to Fedora
Developers can begin using the Rust language in their projects. In the Stack Overflow Developer Survey 2016, Rust topped the list of Most Loved languages.
Packagers can begin adding programs written in Rust to Fedora. For instance, Mozilla is starting to use Rust in Firefox, and now Fedora's Firefox maintainers could enable those components.
Scope
- Proposal owners: Get rust and cargo into Fedora, and maintain them in the future.
- Other developers: N/A (not a System Wide Change)
- Release engineering: N/A (not a System Wide Change)
- List of deliverables: N/A (not a System Wide Change)
- Policies and guidelines:
- Possibly add new guidelines for packages written in Rust. This can be done after.
- Considerations are pretty similar to PackagingDrafts/Go, especially static linking and the idea of source-based -devel libraries.
- Trademark approval: N/A (not needed for this Change)
Upgrade/compatibility impact
N/A (not a System Wide Change)
How To Test
N/A (not a System Wide Change)
User Experience
N/A (not a System Wide Change)
Dependencies
N/A (not a System Wide Change)
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Cargo may be a stretch, then just delay that until later.
- If Rust fails too, just don't ship anything now.
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), No
- Blocks product? None
Documentation
N/A (not a System Wide Change)