[Buildroot] [Patch v4 3/3] rust: new package

Eric Le Bihan eric.le.bihan.dev at free.fr
Thu Apr 13 16:49:18 UTC 2017


Le 2017-04-13 06:05, Jörg Krause a écrit :
> Hi,
> 
> On Mon, 2017-04-10 at 23:43 +0200, Arnout Vandecappelle wrote:
>> 
>> On 10-04-17 21:02, Jörg Krause wrote:
[snip]
>> > For now, we could use the host rustc package to fetch the latest stable
>> > binary for the host architecture. Additionally, we could add the option
>> > to build the Rust compiler within Buildroot. In my opinion, this option
>> > only makes sense if the compiler can be configured meaningfully.
>> 
>>  I agree.
> 
> Cool.
> 
> @Eric: Do you mind to do that? By default fetch the latest stable
> release, and alternatively offer an option to build a "Custom Rust
> package". I think it would also be helpful to have at least one Rust
> package to add as a proof of concept.

Currently this patch series provides:

- rust-bootstrap, which fetches the binary version N-1 of rust.
- cargo-bootstrap, which fetches a nightly binary version of cargo.
- rust, which uses the two previous packages to build version N of rust.

I also have another patch series which adds a new package for cargo, 
which
uses cargo-bootstrap and rust to build Cargo from source.

IMHO, modifying the current version of the rust package to download the
latest version and providing an option to build from source would make
the Makefile of the package more complicated.

Would it not be better to use host virtual packages? Something like:

- rust-rustc: host virtual package, with two providers:
   * rustc-bin: fetches binary version N of rustc and libstd (host and
     target).
   * rustc: builds version N of rustc and libstd (host and target).
     Depends on rust-bootstrap (version N-1) and cargo-bootstrap.
- rust-cargo: host virtual package with two providers:
   * cargo-bin: fetches binary version N of Cargo.
   * cargo: builds version N of Cargo using rust and cargo-bootstrap.

And instead of littering the package directory with rust-* and cargo-*,
how about putting all these packages in a parent directory named
package/rust?

The file package/Config.in.host should also be modified to include
package/rust/Config.in.host, which would present the options to select
the providers for rust-rustc and rust-cargo.




More information about the buildroot mailing list