cargo: new package
authorEric Le Bihan <eric.le.bihan.dev@free.fr>
Sun, 4 Feb 2018 18:07:47 +0000 (19:07 +0100)
committerPeter Korsgaard <peter@korsgaard.com>
Mon, 5 Feb 2018 13:57:48 +0000 (14:57 +0100)
commit990a7d14cfcd4773c0826f12770afa3a2b7f4275
tree963221ae95de1f6bb413d00c88a5227530779dfd
parent736e0fc5d6103300fb5d6b0cde5e22ce978b8a80
cargo: new package

This new package provides Cargo, the Rust official package manager.
Cargo is written in Rust and uses Cargo as its build system. It also
depends on other Rust packages.

Normally, a previously installed version of Cargo would be used to:

 1. Fetch the dependencies.
 2. Build the new version of Cargo, using the available Rust compiler.

But the fetching step prevents offline builds. So instead two features
of Cargo are leveraged: vendoring [1] and local registry.

First, a tarball of the build dependencies generated using `cargo
vendor` is fetched along with Cargo source code.

Then, the build process is as follows:

 1. The tarball of the build dependencies is uncompressed in a local
    registry.
 2. A snapshot of Cargo, provided by cargo-bin, builds the final
    version of Cargo.
 3. A configuration file telling Cargo how to cross-compile programs for
    the target is generated and installed.

Currently, only the host variant is provided.

[1] https://github.com/alexcrichton/cargo-vendor

[Peter: use src.fedoraproject.org, fix comment]
Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
DEVELOPERS
package/Config.in.host
package/cargo/Config.in.host [new file with mode: 0644]
package/cargo/cargo.hash [new file with mode: 0644]
package/cargo/cargo.mk [new file with mode: 0644]
package/cargo/config.in [new file with mode: 0644]