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.
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 -- 2.47.0