Project:Rust

The goal of this project is to provide proper packaging of Rust and Cargo for use within the Gentoo ecosystem. The project also maintains an eclass called cargo which can be utilized https://github.com/cardoe/cargo-ebuild to generate ebuilds for Cargo based projects to be built by a Gentoo package manager.

Network-less builds
It is important to ensure that users of network-less builds or network sandboxing are able to build Rust and Cargo so you should test your ebuilds with the following:

Ensure the binary is up to date
When bumping please ensure that  is kept at the same release. This avoids issues with people mixing versions that Portage can't reason around (note: add the bug #).

Cargo based projects
This includes Cargo itself (and soon Rust itself). You should always use https://github.com/cardoe/cargo-ebuild to gather the proper dependencies that need to appear in your ebuild. More than likely this utility will generate a proper ebuild for you. If the package in question contains a Cargo.lock file you MUST not change the dependencies that cargo ebuild generates because you will break offline installs.

overlay
The  overlay is a prototype experiment for building crates as individual crate units.

This overlay handles each crate similarly to how non-binary programming languages like Perl, Python and Ruby work, by installing (possibly augmented) copies of the extracted crate archives, constructing a local directory registry source as described in source replacement in the cargo book, while deferring actual binary compilation to the relevant target leaves, leveraging slot-operator deps for automatic rebuilds.

But its currently a very complicated mountain of work and not quite ready for prime-time.


 * main repo: https://github.com/gyakovlev/rust-dev-overlay
 * kentnl's work-in-progress: https://github.com/kentfredric/rust-dev-overlay

More details