kan...@gentoo.org writes:

> From: Matt Jolly <kan...@gentoo.org>
>
> This patchset slots Rust, adds `rust.eclass`, a helper eclass for slotted 
> Rust,
> and updates `cargo.eclass` to take advantage of the new slotted Rust, 
> requiring a
> revbump of dependent packages.

Thanks for doing this.

As we've already discussed privately extensively as well as in
#gentoo-rust and in part on the PR, I think it's fine to go in once I've
done a few more passes to satisfy any nits, and all my comments have
been addressed.

I agree that the big-bang move is sort of necessary here (as regrettable
as that may be) and we just need to be prepared to be on-call to handle
any issues in the period after merging.

>
> The intent is to immediately deprecate and shortly remove legacy Rust slots
> and the virtual package which do nothing but inflict pain on developers and 
> users.
>
> There are several example ebuilds using the new eclass attached.
>
> These patches, along with a mega-commit containing required revbumps for
> every cargo.eclass ebuild (a vast majority of the rust ecosystem) are
> also available for comment as a PR. The intent is to merge the PR when
> all cargo eclass packages have been revbumped and tested and the eclass
> has been reviewed.
>
> https://github.com/gentoo/gentoo/pull/39218
>
> I'm about 100 cargo eclass ebuilds deep at this point. Please do not
> merge anything that uses the Cargo eclass (or any new Rust packages,
> really) until this is (hopefully) merged in a few days.
>
> Some example ebuilds have been included to demonstrate usage of 
> the eclass for anything more complex than just `inherit rust`.
>
> Please let me know if you have any concerns or feedback and I'll address
> them promptly.
>
> Cheers,
>
> Matt
>
> Matt Jolly (10):
>   rust.eclass: Introduce new eclass for slotted Rust
>   cargo: update for rust eclass
>   dev-lang/rust: port to llvm-r1 and slot (-r100)
>   profiles/arch/mips: use.mask system-llvm on rust-1.71.1-r100
>   dev-lang/rust-bin: llvm-r1 and slot (-r100)
>   dev-lang/rust{,-bin}: -r100: Drop the `profiler` USE.
>   www-client/chromium: example chromium with slotted rust
>   www-client/firefox: add 132.0-r1 - rust and llvm-r1 eclasses
>   gnome-base/librsvg: rust eclass
>   net-libs/rustls-ffi: rust slot
>
>  dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild |  233 +++
>  dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild |  243 +++
>  dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild |  243 +++
>  dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild |  245 +++
>  dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild |  248 +++
>  dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild |  252 +++
>  dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild |  249 +++
>  dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild |  250 +++
>  dev-lang/rust-common/Manifest                 |    4 +
>  .../rust-common/rust-common-1.81.0.ebuild     |   42 +
>  .../rust-common/rust-common-1.82.0.ebuild     |   42 +
>  dev-lang/rust/rust-1.71.1-r100.ebuild         |  726 +++++++++
>  dev-lang/rust/rust-1.74.1-r100.ebuild         |  762 +++++++++
>  dev-lang/rust/rust-1.75.0-r100.ebuild         |  765 +++++++++
>  dev-lang/rust/rust-1.77.1-r100.ebuild         |  764 +++++++++
>  dev-lang/rust/rust-1.79.0-r100.ebuild         |  767 +++++++++
>  dev-lang/rust/rust-1.80.1-r100.ebuild         |  765 +++++++++
>  dev-lang/rust/rust-1.81.0-r100.ebuild         |  766 +++++++++
>  dev-lang/rust/rust-1.82.0-r100.ebuild         |  773 +++++++++
>  eclass/cargo.eclass                           |   46 +-
>  eclass/rust.eclass                            |  480 ++++++
>  gnome-base/librsvg/librsvg-2.58.2-r1.ebuild   |  421 +++++
>  .../rustls-ffi/rustls-ffi-0.13.0-r1.ebuild    |  107 ++
>  profiles/arch/mips/package.use.mask           |    4 +
>  .../chromium/chromium-130.0.6723.91-r1.ebuild | 1387 +++++++++++++++++
>  www-client/firefox/firefox-132.0-r1.ebuild    | 1341 ++++++++++++++++
>  26 files changed, 11912 insertions(+), 13 deletions(-)
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild
>  create mode 100644 dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild
>  create mode 100644 dev-lang/rust-common/Manifest
>  create mode 100644 dev-lang/rust-common/rust-common-1.81.0.ebuild
>  create mode 100644 dev-lang/rust-common/rust-common-1.82.0.ebuild
>  create mode 100644 dev-lang/rust/rust-1.71.1-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.74.1-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.75.0-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.77.1-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.79.0-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.80.1-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.81.0-r100.ebuild
>  create mode 100644 dev-lang/rust/rust-1.82.0-r100.ebuild
>  create mode 100644 eclass/rust.eclass
>  create mode 100644 gnome-base/librsvg/librsvg-2.58.2-r1.ebuild
>  create mode 100644 net-libs/rustls-ffi/rustls-ffi-0.13.0-r1.ebuild
>  create mode 100644 www-client/chromium/chromium-130.0.6723.91-r1.ebuild
>  create mode 100644 www-client/firefox/firefox-132.0-r1.ebuild

Reply via email to