eclass/rust-toolchain: Sync with Gentoo

It's from Gentoo commit 2b197ab19755a400e431a3f0976f8093bac5c1b6.
This commit is contained in:
Flatcar Buildbot 2025-02-25 12:34:28 +01:00 committed by Krzesimir Nowak
parent e506454480
commit 26a8f5a800

View File

@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors # Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
# @ECLASS: rust-toolchain.eclass # @ECLASS: rust-toolchain.eclass
@ -73,6 +73,7 @@ rust_abi() {
rust_arch_uri() { rust_arch_uri() {
if [ -n "$3" ]; then if [ -n "$3" ]; then
echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz" echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz -> ${3}-${1}.tar.xz"
echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc -> ${3}-${1}.tar.xz.asc )"
else else
echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz" echo "${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz"
echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc )" echo "verify-sig? ( ${RUST_TOOLCHAIN_BASEURL}${2}-${1}.tar.xz.asc )"
@ -80,7 +81,7 @@ rust_arch_uri() {
} }
# @FUNCTION: rust_all_arch_uris # @FUNCTION: rust_all_arch_uris
# @USAGE: <base-uri> [alt-distfile-basename] # @USAGE: [alt-distfile-basename] [rust_arch_uri-rename-param]
# @DESCRIPTION: # @DESCRIPTION:
# Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI # Outputs the URIs for SRC_URI to help fetch dependencies, using a base URI
# provided as an argument. Optionally allows for distfile renaming via a specified # provided as an argument. Optionally allows for distfile renaming via a specified
@ -91,51 +92,31 @@ rust_arch_uri() {
# #
rust_all_arch_uris() rust_all_arch_uris()
{ {
local alt_basename="$1"
local rename_param="$2"
echo " echo "
abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "$@") ) ) abi_x86_32? ( elibc_glibc? ( $(rust_arch_uri i686-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
abi_x86_64? ( abi_x86_64? (
elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "$@") ) elibc_glibc? ( $(rust_arch_uri x86_64-unknown-linux-gnu "${alt_basename}" "${rename_param}") )
elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "$@") ) elibc_musl? ( $(rust_arch_uri x86_64-unknown-linux-musl "${alt_basename}" "${rename_param}") )
) )
arm? ( elibc_glibc? ( arm? ( elibc_glibc? (
$(rust_arch_uri arm-unknown-linux-gnueabi "$@") $(rust_arch_uri arm-unknown-linux-gnueabi "${alt_basename}" "${rename_param}")
$(rust_arch_uri arm-unknown-linux-gnueabihf "$@") $(rust_arch_uri arm-unknown-linux-gnueabihf "${alt_basename}" "${rename_param}")
$(rust_arch_uri armv7-unknown-linux-gnueabihf "$@") $(rust_arch_uri armv7-unknown-linux-gnueabihf "${alt_basename}" "${rename_param}")
) ) ) )
arm64? ( arm64? (
elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "$@") ) elibc_glibc? ( $(rust_arch_uri aarch64-unknown-linux-gnu "${alt_basename}" "${rename_param}") )
elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "$@") ) elibc_musl? ( $(rust_arch_uri aarch64-unknown-linux-musl "${alt_basename}" "${rename_param}") )
) )
ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "$@") ) ) ppc? ( elibc_glibc? ( $(rust_arch_uri powerpc-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
ppc64? ( ppc64? (
big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "$@") ) ) big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
!big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "$@") ) ) !big-endian? ( elibc_glibc? ( $(rust_arch_uri powerpc64le-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
) )
riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "$@") ) ) riscv? ( elibc_glibc? ( $(rust_arch_uri riscv64gc-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "$@") ) ) s390? ( elibc_glibc? ( $(rust_arch_uri s390x-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "${alt_basename}" "${rename_param}") ) )
" "
# Upstream did not gain support for loong until v1.71.0.
# NOTE: Merge this into the block above after every <1.71.0 version is
# gone from tree.
local arg_version="${1##*-}"
arg_version="${arg_version:-$PV}"
if ver_test "${arg_version}" -ge 1.71.0; then
echo "loong? ( elibc_glibc? ( $(rust_arch_uri loongarch64-unknown-linux-gnu "$@") ) )"
fi
# until https://github.com/rust-lang/rust/pull/113274 is resolved, there
# will not be upstream-built mips artifacts
if ver_test "${arg_version}" -lt 1.72.0; then
echo "mips? (
abi_mips_o32? (
big-endian? ( $(rust_arch_uri mips-unknown-linux-gnu "$@") )
!big-endian? ( $(rust_arch_uri mipsel-unknown-linux-gnu "$@") )
)
abi_mips_n64? (
big-endian? ( $(rust_arch_uri mips64-unknown-linux-gnuabi64 "$@") )
!big-endian? ( $(rust_arch_uri mips64el-unknown-linux-gnuabi64 "$@") )
)
)"
fi
} }