Upstream ship Rust with the profiler, and the rust-bin package (seemingly) _always_ includes it (https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cecf4748804bd1a878c94eb448540c29f2418c1a). The dev-lang/rust build defaults do not include the profiler, and this is causing headaches in (e.g.) Chromium where its build system (doing silly Google things, admittedly) assumes the standard set of Rust libraries and fails during its setup/configure phase. While testing a check for this in the Chromium ebuild I built rust a few times both with and without the profiler; I have not noticed a significant difference in compile time or image size. Given that we're the ones deviating from the norm here, and that it does not pull in additional dependencies, request that the `profiler` USE be dropped and enabled everywhere unless there is some compelling reason to keep it (please document said reason). Additionally, if there are other USE flags that do not pull in additional dependencies or cause huge increases in build time these should be assessed too.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a73b0b02a99e85e7aa87f9133b4f898b658c30a7 commit a73b0b02a99e85e7aa87f9133b4f898b658c30a7 Author: Matt Jolly <kangie@gentoo.org> AuthorDate: 2024-11-03 01:36:26 +0000 Commit: Matt Jolly <kangie@gentoo.org> CommitDate: 2024-11-09 06:25:33 +0000 dev-lang/rust{,-bin}: port to llvm-r1 and slot (-r100) Port to llvm-r1 to gain the fancy new `llvm_slot_{x}` USE flags which we use in the rust eclass to force a closer dependency on specific LLVM slots. Since Rust in Gentoo is only ever built against the one LLVM slot we are able to simplify the LLVM logic in the Rust ebuilds and use our knowledge of the LLVM -> Rust version mapping to enable slots for dev-lang/rust in a usable manner. Since Rust is now slotted and not managed entirely by eselect-rust each slot needs to be added to LDPATH. We also drop the `profiler` USE as it's inconsistent with what upstream ship by default and casues issues where other package's build systems assume that it exists. This commit also introduces dev-lang/rust-common which handles bash completions for slotted Rust. dev-lang/rust-bin: `LLVM_OPTIONAL` is used as we don't need to consume LLVM, we really just want the free IUSE. Closes: https://bugs.gentoo.org/941146 Signed-off-by: Matt Jolly <kangie@gentoo.org> dev-lang/rust-bin/rust-bin-1.71.1-r100.ebuild | 232 ++++++++ dev-lang/rust-bin/rust-bin-1.74.1-r100.ebuild | 242 ++++++++ dev-lang/rust-bin/rust-bin-1.75.0-r100.ebuild | 242 ++++++++ dev-lang/rust-bin/rust-bin-1.77.1-r100.ebuild | 244 ++++++++ dev-lang/rust-bin/rust-bin-1.79.0-r100.ebuild | 247 ++++++++ dev-lang/rust-bin/rust-bin-1.80.1-r100.ebuild | 251 ++++++++ dev-lang/rust-bin/rust-bin-1.81.0-r100.ebuild | 249 ++++++++ dev-lang/rust-bin/rust-bin-1.82.0-r100.ebuild | 251 ++++++++ dev-lang/rust-common/Manifest | 4 + dev-lang/rust-common/metadata.xml | 11 + dev-lang/rust-common/rust-common-1.81.0.ebuild | 53 ++ dev-lang/rust-common/rust-common-1.82.0.ebuild | 54 ++ dev-lang/rust/rust-1.71.1-r100.ebuild | 734 +++++++++++++++++++++++ dev-lang/rust/rust-1.74.1-r100.ebuild | 770 ++++++++++++++++++++++++ dev-lang/rust/rust-1.75.0-r100.ebuild | 773 ++++++++++++++++++++++++ dev-lang/rust/rust-1.77.1-r100.ebuild | 771 ++++++++++++++++++++++++ dev-lang/rust/rust-1.79.0-r100.ebuild | 774 ++++++++++++++++++++++++ dev-lang/rust/rust-1.80.1-r100.ebuild | 773 ++++++++++++++++++++++++ dev-lang/rust/rust-1.81.0-r100.ebuild | 774 ++++++++++++++++++++++++ dev-lang/rust/rust-1.82.0-r100.ebuild | 781 +++++++++++++++++++++++++ 20 files changed, 8230 insertions(+)