summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2021-11-12 11:37:22 -0800
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2021-11-12 11:41:11 -0800
commit144bf206556b77df750f5c79917d9dc8c4322242 (patch)
tree1530a90e2600c46c918fa671a2233f025134d228
parentwww-apps/piwigo: 12.1.0 bump (diff)
downloadgentoo-144bf206556b77df750f5c79917d9dc8c4322242.tar.gz
gentoo-144bf206556b77df750f5c79917d9dc8c4322242.tar.bz2
gentoo-144bf206556b77df750f5c79917d9dc8c4322242.zip
dev-lang/rust-bin: add rust-src useflag
This is useful for many developer tools and for build-std too. linux-next rust code also requires this to be installed. Bug: https://bugs.gentoo.org/800785 Bug: https://bugs.gentoo.org/819786 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--dev-lang/rust-bin/Manifest1
-rw-r--r--dev-lang/rust-bin/metadata.xml1
-rw-r--r--dev-lang/rust-bin/rust-bin-1.56.1.ebuild30
3 files changed, 28 insertions, 4 deletions
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 60ce3455137f..aac832bf80c7 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -190,3 +190,4 @@ DIST rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz 147853396 BLAKE2B 1d1318c9f076f
DIST rust-1.56.1-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B ff984dfa092ff3c1c5a3d1a5849b8dc5807c5885dff5eca020d0b1c404484197adb8e1ea5802886b15e2b8846d0f3aa4bb161e49dc39adc151ca7d57a988ff24 SHA512 53b57ceaf621248fff020de75434c8fe60657335852c88d14ea399c7935206caaff61ce159cb2f487510336981aa1d839b91153b9764ea21ced1fb6455a16bdd
DIST rust-1.56.1-x86_64-unknown-linux-musl.tar.xz 255304020 BLAKE2B c379fb419b6fa1c73b9c426a4f6e46328ce2ac1beddffb1ed25922b3387147eaf0217d3904ccc14ce2b97952f1035760264ae5fc7a575f92bea84d9581d8b315 SHA512 b26d4b9f6396be87aadfbb4777d91c80cfe656570e2bf1a0350788ca45caa7178d4b91966e77c8cc4873e017fd99649ae6a82abad64b32a4eb1f5dfb3a20d45e
DIST rust-1.56.1-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B aed2703ef8cdcdf076d6538fb968f465c0a884b4c11916470324116e56a5b93fd7118b8b167ab19007ac71201044789f58de3a7ee1b60dffc47c3d123db1b4a5 SHA512 32c042982da7bde6c36bcb33fd3d9ebcb469667c880214b703e7b2cf89467e7e2bf37282cbc128d0207b9e433b7f2bd028e0d2614b657b544a552aa401bc98c8
+DIST rust-src-1.56.1.tar.xz 2456408 BLAKE2B 19cd9ac0c0c57d077e2a62e6ef202cf8f349582870d0acf28b105278da611e3e3884b1db59cb43c1a13c8f0ff546f83f8ac30783e46f99233a0a81df04dfd359 SHA512 6ebcb7e641031b269af244f0a14ef23c5a6c324d8c9f8f9ffe3b1802fb2aad522b10544f6c29789950dd2a9fe7cbbdb6587f793ec8f53881e707734bbaf3a3d6
diff --git a/dev-lang/rust-bin/metadata.xml b/dev-lang/rust-bin/metadata.xml
index c4bf8b775c46..ba87525c4c59 100644
--- a/dev-lang/rust-bin/metadata.xml
+++ b/dev-lang/rust-bin/metadata.xml
@@ -9,5 +9,6 @@
<flag name="clippy">Install clippy, Rust code linter</flag>
<flag name="rls">Install rls, Rust Language Server (used with IDEs supporting RLS protocol)</flag>
<flag name="rustfmt">Install rustfmt, Rust code formatter</flag>
+ <flag name="rust-src">Install rust-src, needed by developer tools and for build-std (cross)</flag>
</use>
</pkgmetadata>
diff --git a/dev-lang/rust-bin/rust-bin-1.56.1.ebuild b/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
index 4f2873f35362..80acd98e9c15 100644
--- a/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
+++ b/dev-lang/rust-bin/rust-bin-1.56.1.ebuild
@@ -6,15 +6,19 @@ EAPI=7
inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig multilib-minimal
MY_P="rust-${PV}"
+# curl -L static.rust-lang.org/dist/channel-rust-${PV}.toml 2>/dev/null | grep "xz_url.*rust-src"
+MY_SRC_URI="${RUST_TOOLCHAIN_BASEURL}/2021-11-01/rust-src-${PV}.tar.xz"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
-SRC_URI="$(rust_all_arch_uris ${MY_P})"
+SRC_URI="$(rust_all_arch_uris ${MY_P})
+ rust-src? ( ${MY_SRC_URI} )
+"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
SLOT="stable"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ppc64 ~riscv ~x86"
-IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
+IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rust-src rustfmt"
DEPEND=""
RDEPEND=">=app-eselect/eselect-rust-20190311"
@@ -38,7 +42,7 @@ QA_PREBUILT="
# so we can safely silence the warning for this QA check.
QA_EXECSTACK="opt/${P}/lib/rustlib/*/lib*.rlib:lib.rmeta"
-VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/rust.asc
+VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}/usr/share/openpgp-keys/rust.asc"
pkg_pretend() {
if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
@@ -47,7 +51,18 @@ pkg_pretend() {
}
src_unpack() {
- verify-sig_src_unpack
+ # sadly rust-src tarball does not have corresponding .asc file
+ # so do partial verification
+ if use verify-sig; then
+ for f in ${A}; do
+ if [[ -f ${DISTDIR}/${f}.asc ]]; then
+ verify-sig_verify_detached "${DISTDIR}/${f}" "${DISTDIR}/${f}.asc"
+ fi
+ done
+ fi
+
+ default_src_unpack
+
mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
}
@@ -74,6 +89,13 @@ multilib_src_install() {
use clippy && components="${components},clippy-preview"
use rls && components="${components},rls-preview,${analysis}"
use rustfmt && components="${components},rustfmt-preview"
+ # Rust component 'rust-src' is extracted from separate archive
+ if use rust-src; then
+ einfo "Combining rust and rust-src installers"
+ mv -v "${WORKDIR}/rust-src-${PV}/rust-src" "${S}" || die
+ echo rust-src >> ./components || die
+ components="${components},rust-src"
+ fi
./install.sh \
--components="${components}" \
--disable-verify \