commit: e04826591046b92f5a3fcd2f1d0f31c42f78b2d2 Author: blackteahamburger <blackteahamburger <AT> outlook <DOT> com> AuthorDate: Sun Mar 30 07:51:13 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Sun Apr 20 08:00:21 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0482659
dev-lang/rust: allow building with mold Closes: https://bugs.gentoo.org/952925 Signed-off-by: blackteahamburger <blackteahamburger <AT> outlook.com> Closes: https://github.com/gentoo/gentoo/pull/41387 Signed-off-by: Sam James <sam <AT> gentoo.org> dev-lang/rust/rust-1.84.0-r1.ebuild | 11 ++++++++--- dev-lang/rust/rust-1.84.1-r1.ebuild | 11 ++++++++--- dev-lang/rust/rust-1.85.0-r1.ebuild | 11 ++++++++--- dev-lang/rust/rust-1.85.0.ebuild | 11 ++++++++--- dev-lang/rust/rust-1.85.1.ebuild | 11 ++++++++--- dev-lang/rust/rust-1.86.0-r1.ebuild | 11 ++++++++--- dev-lang/rust/rust-9999.ebuild | 11 ++++++++--- 7 files changed, 56 insertions(+), 21 deletions(-) diff --git a/dev-lang/rust/rust-1.84.0-r1.ebuild b/dev-lang/rust/rust-1.84.0-r1.ebuild index 2afcbad6227d..2f7c5664f3e4 100644 --- a/dev-lang/rust/rust-1.84.0-r1.ebuild +++ b/dev-lang/rust/rust-1.84.0-r1.ebuild @@ -68,7 +68,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -235,7 +240,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -391,7 +396,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-1.84.1-r1.ebuild b/dev-lang/rust/rust-1.84.1-r1.ebuild index c98855304342..42a9b6dd7222 100644 --- a/dev-lang/rust/rust-1.84.1-r1.ebuild +++ b/dev-lang/rust/rust-1.84.1-r1.ebuild @@ -68,7 +68,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -235,7 +240,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -391,7 +396,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-1.85.0-r1.ebuild b/dev-lang/rust/rust-1.85.0-r1.ebuild index 87c6951a5371..5106720d515c 100644 --- a/dev-lang/rust/rust-1.85.0-r1.ebuild +++ b/dev-lang/rust/rust-1.85.0-r1.ebuild @@ -94,7 +94,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -307,7 +312,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -478,7 +483,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-1.85.0.ebuild b/dev-lang/rust/rust-1.85.0.ebuild index cdcb5e650413..11784aed91a5 100644 --- a/dev-lang/rust/rust-1.85.0.ebuild +++ b/dev-lang/rust/rust-1.85.0.ebuild @@ -94,7 +94,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -306,7 +311,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -477,7 +482,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-1.85.1.ebuild b/dev-lang/rust/rust-1.85.1.ebuild index 9b72f12ce71a..5b1296ec9547 100644 --- a/dev-lang/rust/rust-1.85.1.ebuild +++ b/dev-lang/rust/rust-1.85.1.ebuild @@ -94,7 +94,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -307,7 +312,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -478,7 +483,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-1.86.0-r1.ebuild b/dev-lang/rust/rust-1.86.0-r1.ebuild index a5a82e00ca6a..d949d33bb194 100644 --- a/dev-lang/rust/rust-1.86.0-r1.ebuild +++ b/dev-lang/rust/rust-1.86.0-r1.ebuild @@ -94,7 +94,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -307,7 +312,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -478,7 +483,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it diff --git a/dev-lang/rust/rust-9999.ebuild b/dev-lang/rust/rust-9999.ebuild index 39292c5cb886..bdaabbaded52 100644 --- a/dev-lang/rust/rust-9999.ebuild +++ b/dev-lang/rust/rust-9999.ebuild @@ -94,7 +94,12 @@ BDEPEND="${PYTHON_DEPS} >=sys-devel/gcc-4.7[cxx] >=llvm-core/clang-3.5 ) - lto? ( system-llvm? ( $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') ) ) + lto? ( system-llvm? ( + || ( + $(llvm_gen_dep 'llvm-core/lld:${LLVM_SLOT}') + sys-devel/mold + ) + ) ) !system-llvm? ( >=dev-build/cmake-3.13.4 app-alternatives/ninja @@ -307,7 +312,7 @@ src_prepare() { fi fi - if use lto && tc-is-clang && ! tc-ld-is-lld; then + if use lto && tc-is-clang && ! tc-ld-is-lld && ! tc-ld-is-mold; then export RUSTFLAGS+=" -C link-arg=-fuse-ld=lld" fi @@ -479,7 +484,7 @@ src_configure() { dist-src = false remap-debuginfo = true lld = $(usex system-llvm false $(toml_usex wasm)) - $(if use lto && tc-is-clang ; then + $(if use lto && tc-is-clang && ! tc-ld-is-mold; then echo "use-lld = true" fi) # only deny warnings if doc+wasm are NOT requested, documenting stage0 wasm std fails without it