mirror of
https://anongit.gentoo.org/git/repo/gentoo.git
synced 2025-07-21 14:38:43 +02:00
73 lines
2.2 KiB
Bash
73 lines
2.2 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/rust.asc
|
|
inherit shell-completion verify-sig
|
|
|
|
DESCRIPTION="Common files shared between multiple slots of Rust"
|
|
HOMEPAGE="https://www.rust-lang.org/"
|
|
|
|
if [[ ${PV} = *9999* ]]; then
|
|
inherit git-r3
|
|
# In case cargo is not in sync we'll fetch it as a submodule
|
|
# Nightly users will probably already have the repo cloned and up-to-date anyway.
|
|
EGIT_REPO_URI="https://github.com/rust-lang/rust.git"
|
|
EGIT_SUBMODULES=( "-*" "src/tools/cargo" )
|
|
elif [[ ${PV} == *beta* ]]; then
|
|
# Identify the snapshot date of the beta release:
|
|
# curl -Ls static.rust-lang.org/dist/channel-rust-beta.toml | grep beta-src.tar.xz
|
|
MY_PV=beta
|
|
betaver=${PV//*beta}
|
|
BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
|
|
SRC_URI="https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz -> rustc-${PV}-src.tar.xz
|
|
verify-sig? ( https://static.rust-lang.org/dist/${BETA_SNAPSHOT}/rustc-beta-src.tar.xz.asc
|
|
-> rustc-${PV}-src.tar.xz.asc )
|
|
"
|
|
S="${WORKDIR}/rustc-${MY_PV}-src"
|
|
else
|
|
MY_PV=${PV}
|
|
SRC_URI="https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz
|
|
verify-sig? ( https://static.rust-lang.org/dist/rustc-${PV}-src.tar.xz.asc )
|
|
"
|
|
S="${WORKDIR}/rustc-${MY_PV}-src"
|
|
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
|
|
fi
|
|
|
|
LICENSE="|| ( MIT Apache-2.0 ) BSD BSD-1 BSD-2 BSD-4"
|
|
SLOT="0"
|
|
|
|
# Legacy non-slotted versions bash completions will collide.
|
|
RDEPEND="
|
|
!dev-lang/rust:stable
|
|
!dev-lang/rust-bin:stable
|
|
"
|
|
BDEPEND="verify-sig? ( sec-keys/openpgp-keys-rust )"
|
|
|
|
src_unpack() {
|
|
if [[ ${PV} == *9999* ]]; then
|
|
git-r3_src_unpack
|
|
else
|
|
if use verify-sig ; then
|
|
verify-sig_verify_detached "${DISTDIR}"/rustc-${PV}-src.tar.xz "${DISTDIR}"/rustc-${PV}-src.tar.xz.asc
|
|
fi
|
|
|
|
# Avoid unpacking the whole tarball which would need check-reqs
|
|
tar -xf "${DISTDIR}"/rustc-${PV}-src.tar.xz \
|
|
"rustc-${MY_PV}-src/src/tools/cargo/src/etc/"{_cargo,cargo.bashcomp.sh} || die
|
|
fi
|
|
}
|
|
|
|
src_configure() {
|
|
:
|
|
}
|
|
|
|
src_compile() {
|
|
:
|
|
}
|
|
|
|
src_install() {
|
|
newbashcomp src/tools/cargo/src/etc/cargo.bashcomp.sh cargo
|
|
dozshcomp src/tools/cargo/src/etc/_cargo
|
|
}
|