From Fedora Project Wiki
(start the basic change details)
 
 
(8 intermediate revisions by 2 users not shown)
Line 55: Line 55:
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
-->
* Tracker bug: <will be assigned by the Wrangler>
* Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1359763 #1359763]


== Detailed Description ==
== Detailed Description ==


<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
<!-- Expand on the summary, if appropriate.  A couple sentences suffices to explain the goal, but the more details you can provide the better. -->
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 [https://bugzilla.redhat.com/show_bug.cgi?id=915043 #915043]
* Work in progress [https://github.com/cuviper/rust-spec rust-spec] for the latest release 1.10
* COPR [https://copr.fedorainfracloud.org/coprs/jistone/rust/ jistone/rust] demonstrating the bootstrap from a binary then pure source


== Benefit to Fedora ==
== 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 [https://stackoverflow.com/research/developer-survey-2016#technology-most-loved-dreaded-and-wanted Most Loved] languages.
 
Packagers can begin adding programs written in Rust to Fedora.  For instance, Mozilla is starting to [https://hacks.mozilla.org/2016/07/shipping-rust-in-firefox/ use Rust in Firefox], and now Fedora's Firefox maintainers could enable those components.
    
    
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
<!-- What is the benefit to the platform?  If this is a major capability update, what has changed?  If this is a new functionality, what capabilities does it bring? Why will Fedora become a better distribution or project because of this proposal?-->
Line 80: Line 91:
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->
<!-- Please check the list of Fedora release deliverables and list all the differences the feature brings -->


* Policies and guidelines: N/A (not a System Wide Change) <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Policies and guidelines:<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
** 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.
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->
<!-- Do the packaging guidelines or other documents need to be updated for this feature?  If so, does it need to happen before or after the implementation is done?  If a FPC ticket exists, add a link here. -->


Line 146: Line 159:
-->
-->


[[Category:ChangePageIncomplete]]
[[Category:ChangeAcceptedF25]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->

Latest revision as of 12:26, 25 July 2016


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

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)
  • 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)

Release Notes