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