diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-11-12 11:37:22 -0800 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2021-11-12 11:41:11 -0800 |
commit | 144bf206556b77df750f5c79917d9dc8c4322242 (patch) | |
tree | 1530a90e2600c46c918fa671a2233f025134d228 | |
parent | www-apps/piwigo: 12.1.0 bump (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | dev-lang/rust-bin/metadata.xml | 1 | ||||
-rw-r--r-- | dev-lang/rust-bin/rust-bin-1.56.1.ebuild | 30 |
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 \ |