commit:     f59546d6e2ad8c0a8f3148efc06a641d860e7df6
Author:     Michal Rostecki <vadorovsky <AT> protonmail <DOT> com>
AuthorDate: Wed Jan 29 17:46:56 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Feb 27 06:03:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f59546d6

dev-lang/rust-bin: Allow to use llvm-libgcc instead of GCC

We recently added llvm-runtimes/libgcc ebuild, which provides a full
replacement of libgcc_s for systems without GCC.

To leverage that ebuild in Rust binary packages, make them depend either
on llvm-runtimes/libgcc or sys-devel/gcc.

Bug: https://bugs.gentoo.org/946486
Signed-off-by: Michal Rostecki <vadorovsky <AT> protonmail.com>
Closes: https://github.com/gentoo/gentoo/pull/40737
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...t-bin-9999.ebuild => rust-bin-1.85.0-r1.ebuild} | 35 ++++++++++++----------
 ...uild => rust-bin-1.86.0_beta20250218-r1.ebuild} |  7 +++--
 dev-lang/rust-bin/rust-bin-9999.ebuild             |  5 +++-
 3 files changed, 29 insertions(+), 18 deletions(-)

diff --git a/dev-lang/rust-bin/rust-bin-9999.ebuild 
b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
similarity index 90%
copy from dev-lang/rust-bin/rust-bin-9999.ebuild
copy to dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
index 2e2e6314f879..e37377ab23b7 100644
--- a/dev-lang/rust-bin/rust-bin-9999.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.85.0-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-LLVM_COMPAT=( 20 )
+LLVM_COMPAT=( 19 )
 LLVM_OPTIONAL="yes"
 
 inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig 
multilib-minimal optfeature
@@ -21,36 +21,38 @@ elif [[ ${PV} == *beta* ]]; then
        "
 else
        # curl -Ls static.rust-lang.org/dist/channel-rust-${PV}.toml | grep 
"xz_url.*rust-src"
-       SRC_URI="$(rust_all_arch_uris "${PV}")
-               rust-src? ( 
${RUST_TOOLCHAIN_BASEURL%/}/2025-01-30/rust-src-${PV}.tar.xz )
+       SRC_URI="$(rust_all_arch_uris "rust-${PV}")
+               rust-src? ( 
${RUST_TOOLCHAIN_BASEURL%/}/2025-02-20/rust-src-${PV}.tar.xz )
+               ppc64? ( elibc_musl? ( !big-endian? (
+                       $(rust_arch_uri powerpc64le-unknown-linux-musl 
rust-${PV})
+               ) ) )
        "
        KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 
~sparc ~x86"
 fi
 
-GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PVR}";
 # omit trailing slash
-
 DESCRIPTION="Systems programming language from Mozilla"
 HOMEPAGE="https://www.rust-lang.org/";
 
 if [[ ${PV} != *9999* && ${PV} != *beta* ]] ; then
+       
GENTOO_BIN_BASEURI="https://github.com/projg2/rust-bootstrap/releases/download/${PV}";
 # omit trailing slash
+       MY_P=rust-${PV}
        # Keep this separate to allow easy commenting out if not yet built
-       SRC_URI+=" sparc? ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-sparc64-unknown-linux-gnu.tar.xz ) "
+       SRC_URI+=" sparc? ( 
${GENTOO_BIN_BASEURI}/${MY_P}-sparc64-unknown-linux-gnu.tar.xz ) "
        SRC_URI+=" mips? (
                abi_mips_o32? (
-                       big-endian?  ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips-unknown-linux-gnu.tar.xz )
-                       !big-endian? ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-mipsel-unknown-linux-gnu.tar.xz )
+                       big-endian?  ( 
${GENTOO_BIN_BASEURI}/${MY_P}-mips-unknown-linux-gnu.tar.xz )
+                       !big-endian? ( 
${GENTOO_BIN_BASEURI}/${MY_P}-mipsel-unknown-linux-gnu.tar.xz )
                )
                abi_mips_n64? (
-                       big-endian?  ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64-unknown-linux-gnuabi64.tar.xz )
-                       !big-endian? ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-mips64el-unknown-linux-gnuabi64.tar.xz )
+                       big-endian?  ( 
${GENTOO_BIN_BASEURI}/${MY_P}-mips64-unknown-linux-gnuabi64.tar.xz )
+                       !big-endian? ( 
${GENTOO_BIN_BASEURI}/${MY_P}-mips64el-unknown-linux-gnuabi64.tar.xz )
                )
        )"
        SRC_URI+=" riscv? (
-               elibc_musl? ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-riscv64gc-unknown-linux-musl.tar.xz )
+               elibc_musl? ( 
${GENTOO_BIN_BASEURI}/${MY_P}-riscv64gc-unknown-linux-musl.tar.xz )
        )"
-       SRC_URI+=" ppc64? ( elibc_musl? (
-               big-endian?  ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64-unknown-linux-musl.tar.xz )
-               !big-endian? ( 
${GENTOO_BIN_BASEURI}/rust-${PVR}-powerpc64le-unknown-linux-musl.tar.xz )
+       SRC_URI+=" ppc64? ( big-endian? (
+               elibc_musl? ( 
${GENTOO_BIN_BASEURI}/${MY_P}-powerpc64-unknown-linux-musl.tar.xz )
        ) )"
 fi
 
@@ -62,7 +64,10 @@ RDEPEND="
        >=app-eselect/eselect-rust-20190311
        dev-libs/openssl
        sys-apps/lsb-release
-       sys-devel/gcc:*
+       || (
+               llvm-runtimes/libgcc
+               sys-devel/gcc:*
+       )
        !dev-lang/rust:stable
        !dev-lang/rust-bin:stable
 "

diff --git a/dev-lang/rust-bin/rust-bin-9999.ebuild 
b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild
similarity index 99%
copy from dev-lang/rust-bin/rust-bin-9999.ebuild
copy to dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild
index 2e2e6314f879..ab225d2c1246 100644
--- a/dev-lang/rust-bin/rust-bin-9999.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.86.0_beta20250218-r1.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-LLVM_COMPAT=( 20 )
+LLVM_COMPAT=( 19 )
 LLVM_OPTIONAL="yes"
 
 inherit edo llvm-r1 multilib prefix rust-toolchain toolchain-funcs verify-sig 
multilib-minimal optfeature
@@ -62,7 +62,10 @@ RDEPEND="
        >=app-eselect/eselect-rust-20190311
        dev-libs/openssl
        sys-apps/lsb-release
-       sys-devel/gcc:*
+       || (
+               llvm-runtimes/libgcc
+               sys-devel/gcc:*
+       )
        !dev-lang/rust:stable
        !dev-lang/rust-bin:stable
 "

diff --git a/dev-lang/rust-bin/rust-bin-9999.ebuild 
b/dev-lang/rust-bin/rust-bin-9999.ebuild
index 2e2e6314f879..6338d2da2419 100644
--- a/dev-lang/rust-bin/rust-bin-9999.ebuild
+++ b/dev-lang/rust-bin/rust-bin-9999.ebuild
@@ -62,7 +62,10 @@ RDEPEND="
        >=app-eselect/eselect-rust-20190311
        dev-libs/openssl
        sys-apps/lsb-release
-       sys-devel/gcc:*
+       || (
+               llvm-runtimes/libgcc
+               sys-devel/gcc:*
+       )
        !dev-lang/rust:stable
        !dev-lang/rust-bin:stable
 "

Reply via email to