[Buildroot] [PATCH 0/6] Cargo virtual and Rust 1.38.0
Eric Le Bihan
eric.le.bihan.dev at free.fr
Sat Oct 5 16:06:31 UTC 2019
Hi!
On 2019-09-29 21:22, Arnout Vandecappelle wrote:
>
>
> On 29/09/2019 19:16, Eric Le Bihan wrote:
> > Cargo source code is not provided anymore as a separate tarball but is now
> > built along with the Rust compiler.
> >
> > This patch series converts cargo to a virtual package and declare cargo-bin
> > and rust are providers. Versions for each package are also bumped to latest
> > ones.
>
> Why do we need the virtual package? I would think that cargo just becomes a
> sub-option of rust. Or, given how cargo and rust really go hand in hand, we
> could just remove the cargo package entirely and always build cargo as part of
> rust. For host packages, we don't care about size (too much), the only possible
> issue is build time. But I expect building rust with cargo isn't going to be
> that much longer.
Rust needs a Rust compiler and Cargo to build. So there are some
packages providing the pre-built binaries (rust-bin and cargo-bin). When
Cargo was available as a standalone package, the user could choose to
either:
a) select rust-bin and build cargo (using cargo-bin).
b) select to build rust and cargo, using rust-bin and cargo-bin.
Now that Cargo is provided and built along with the Rust compiler,
option a) is not possible anymore, unless cargo-bin is updated to be
also installable and not only used as an intermediate tool. In that case
we have two packages providing the same program (rust and cargo-bin),
hence the idea of introducing the virtual package for Cargo.
But it sure may be overkill and having just a sub-option might do the
trick. Would adding a sub-option to Rust which behaves as follows be
suitable?
- if rust-bin is selected, then install Cargo from cargo-bin
- if rust is selected, build Cargo along with the compiler using
rust-bin and cargo-bin and install it.
> > Eric Le Bihan (6):
> > package/cargo: convert to virtual package
> > package/cargo-bin: declare as cargo provider
> > package/rust: declare as cargo provider
>
> You can't do this until the version has been bumped, because in the current
> version (AFAIU) rust doesn't have the cargo sources yet.
>
> In other words, it has to go in the same patch that bumps rust.
Duly noted.
Thanks for the review.
Regards,
--
ELB
More information about the buildroot
mailing list