commit:     930bbe80a6e12d45b9e75e722412942be8e72592
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Fri May 17 00:14:20 2019 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Fri May 17 00:14:20 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=930bbe80

dev-lang/rust: drop vulnerable

Bug: https://bugs.gentoo.org/685970
Package-Manager: Portage-2.3.66, Repoman-2.3.12
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-lang/rust/Manifest              |   2 -
 dev-lang/rust/rust-1.34.0-r2.ebuild | 328 ------------------------------------
 dev-lang/rust/rust-1.34.1.ebuild    | 328 ------------------------------------
 3 files changed, 658 deletions(-)

diff --git a/dev-lang/rust/Manifest b/dev-lang/rust/Manifest
index 72b82622b38..0d5f56dc073 100644
--- a/dev-lang/rust/Manifest
+++ b/dev-lang/rust/Manifest
@@ -82,6 +82,4 @@ DIST rustc-1.30.1-src.tar.xz 96086232 BLAKE2B 
170767b64efe670086e7c4e73838b489a1
 DIST rustc-1.31.1-src.tar.xz 96915864 BLAKE2B 
bedfe1d56e2f99bb43b4b652d540aedf0a86c47b8493f28fb29e5af3135ff469ed40775bc2ee25ac5bd28a264ecba0094d7c9b6aae25ea365ed3e6f354ffa40b
 SHA512 
d6688711452295c41468af214f036499074d82fbeedc3f03560275219c2fae910e623e38e3210176d86f78ba5533ea098da5ff21532c8ad1a5aac132bb74ee02
 DIST rustc-1.32.0-src.tar.xz 99602696 BLAKE2B 
ab26247e3ecb75dbe373254c1c49f46c00a5a4db2b9cedffccb30122ea3b7de2761d6995b5423d0105caf85cc9542b4c21d487385faa34c835398c3320ccbd3b
 SHA512 
487c405fed6430f62d2d0c38b65f6223b1c5074c7a0d3734dc8b3bb72fca255f5727e49541749569713a0c3e9a67eff574ba5698e8dceca6f0ef20b50f99aa42
 DIST rustc-1.33.0-src.tar.xz 100635400 BLAKE2B 
1fe8ffcfab8324a93a07b9b9ac9cd050fd9d660fb24884761e8ce5e5a67ce5b6df8513e1440090b39c3ced9cb5ced43f07cc9b0337d39625d2cf4aa9e083cfef
 SHA512 
3291e4e19f75f44c81e6fcf4c01edc7c9d326eca43722381231abcf2e99f4314059ba59a29b79f5511ad9421c358c45e8fe18584d6954d17fe2aabad0f9d9147
-DIST rustc-1.34.0-src.tar.xz 95055768 BLAKE2B 
5df848369e8087ac10c57d9818e644e51be1d4a89e68341a2a49a09f0902c153ba5fab2d82e4178742b3ac4205249347950d0685259f6b1fe0761ec4daf87518
 SHA512 
cf9952cafe42987f84a6fe9e351a401f2db35c33ddc87d2efb762c4c33a643ffe516f00d848a1ae759f48cea1504243b6169c29ab28ba2e6b00a51422c745861
-DIST rustc-1.34.1-src.tar.xz 95048260 BLAKE2B 
41e034aa0e5ea71aa21d6b5700134fc2e1391915309aa14e11426b1c0a3ad213c5b11f67df3f1beebd885d9d3bb358b12a10dd2095cbcb6b2a18870e977568f8
 SHA512 
c9ee59a98e0300c16a9044424fbaad0e1d5f026279b9cb238ab5bfe02c6b111780ec5f9884c4cac67d5ee91833e301bc23bd457026982587982b2fb80a528dca
 DIST rustc-1.34.2-src.tar.xz 95048792 BLAKE2B 
e81e4bfda87ddfb09ab8a74792346970aa440c678d2bb1279c329db4929282f761ada6fea9d81ceeecfd513613025c8e636487626fc36bd0b33559e045bb1b15
 SHA512 
f1bd2b226d90aae8a4657e6117b9a8451d4ce8129f79cc0fce0da7613a3b7800e690bc0ede8fec20a2f5f32c13fa8e22ac97d3838e0d36936793535a75d9c381

diff --git a/dev-lang/rust/rust-1.34.0-r2.ebuild 
b/dev-lang/rust/rust-1.34.0-r2.ebuild
deleted file mode 100644
index 69070986d43..00000000000
--- a/dev-lang/rust/rust-1.34.0-r2.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
-
-inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing 
multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-if [[ ${PV} = *beta* ]]; then
-       betaver=${PV//*beta}
-       BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-       MY_P="rustc-beta"
-       SLOT="beta/${PV}"
-       SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
-else
-       ABI_VER="$(ver_cut 1-2)"
-       SLOT="stable/${ABI_VER}"
-       MY_P="rustc-${PV}"
-       SRC="${MY_P}-src.tar.xz"
-       KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/";
-
-SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
-               $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
-       NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm 
wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 9.
-# 3. Specify LLVM_MAX_SLOT, e.g. 8.
-LLVM_DEPEND="
-       || (
-               sys-devel/llvm:8[llvm_targets_WebAssembly?]
-       )
-       <sys-devel/llvm-9:=
-"
-LLVM_MAX_SLOT=8
-
-COMMON_DEPEND="
-       sys-libs/zlib
-       !libressl? ( dev-libs/openssl:0= )
-       libressl? ( dev-libs/libressl:0= )
-       net-libs/libssh2
-       net-libs/http-parser:=
-       net-misc/curl[ssl]
-       system-llvm? (
-               ${LLVM_DEPEND}
-       )
-"
-
-DEPEND="${COMMON_DEPEND}
-       ${PYTHON_DEPS}
-       || (
-               >=sys-devel/gcc-4.7
-               >=sys-devel/clang-3.5
-       )
-       dev-util/cmake"
-RDEPEND="${COMMON_DEPEND}
-       >=app-eselect/eselect-rust-20190311
-       !dev-util/cargo
-       rustfmt? ( !dev-util/rustfmt )"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
-       wasm? ( llvm_targets_WebAssembly )
-       x86? ( cpu_flags_x86_sse2 )
-"
-
-PATCHES=(
-       
"${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
-       "${FILESDIR}"/1.34.0-doc-build-fix.patch
-       "${FILESDIR}"/1.34.0-libressl.patch # bug 684224
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
-       usex "$1" true false
-}
-
-pre_build_checks() {
-       CHECKREQS_DISK_BUILD="7G"
-       eshopts_push -s extglob
-       if is-flagq '-g?(gdb)?([1-9])'; then
-               CHECKREQS_DISK_BUILD="10G"
-       fi
-       eshopts_pop
-       check-reqs_pkg_setup
-}
-
-pkg_pretend() {
-       pre_build_checks
-}
-
-pkg_setup() {
-       pre_build_checks
-       python-any-r1_pkg_setup
-       use system-llvm && llvm_pkg_setup
-}
-
-src_prepare() {
-       local rust_stage0_root="${WORKDIR}"/rust-stage0
-
-       local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
-       "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig 
--destdir="${rust_stage0_root}" --prefix=/ || die
-
-       # ugly hack for https://bugs.gentoo.org/679806
-       if use ppc64; then
-               sed -i 's/getentropy/gEtEnTrOpY/g' 
"${rust_stage0_root}"/bin/cargo || die
-               export OPENSSL_ppccap=0
-       fi
-
-       default
-}
-
-src_configure() {
-       local rust_target="" rust_targets="" arch_cflags
-
-       # Collect rust target names to compile standard libs for all ABIs.
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST 
${v##*.}))\""
-       done
-       if use wasm; then
-               rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
-       fi
-       rust_targets="${rust_targets#,}"
-
-       local extended="true" tools="\"cargo\","
-       if use clippy; then
-               tools="\"clippy\",$tools"
-       fi
-       if use rls; then
-               tools="\"rls\",\"analysis\",\"src\",$tools"
-       fi
-       if use rustfmt; then
-               tools="\"rustfmt\",$tools"
-       fi
-
-       local rust_stage0_root="${WORKDIR}"/rust-stage0
-
-       rust_target="$(rust_abi)"
-
-       cat <<- EOF > "${S}"/config.toml
-               [llvm]
-               optimize = $(toml_usex !debug)
-               release-debuginfo = $(toml_usex debug)
-               assertions = $(toml_usex debug)
-               targets = "${LLVM_TARGETS// /;}"
-               experimental-targets = ""
-               link-shared = $(toml_usex system-llvm)
-               [build]
-               build = "${rust_target}"
-               host = ["${rust_target}"]
-               target = [${rust_targets}]
-               cargo = "${rust_stage0_root}/bin/cargo"
-               rustc = "${rust_stage0_root}/bin/rustc"
-               docs = $(toml_usex doc)
-               submodules = false
-               python = "${EPYTHON}"
-               locked-deps = true
-               vendor = true
-               extended = ${extended}
-               tools = [${tools}]
-               [install]
-               prefix = "${EPREFIX}/usr"
-               libdir = "$(get_libdir)/${P}"
-               docdir = "share/doc/${P}"
-               mandir = "share/${P}/man"
-               [rust]
-               optimize = $(toml_usex !debug)
-               debuginfo = $(toml_usex debug)
-               debug-assertions = $(toml_usex debug)
-               default-linker = "$(tc-getCC)"
-               channel = "stable"
-               rpath = false
-               lld = $(toml_usex wasm)
-       EOF
-
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
-               cat <<- EOF >> "${S}"/config.env
-                       CFLAGS_${rust_target}=${arch_cflags}
-               EOF
-
-               cat <<- EOF >> "${S}"/config.toml
-                       [target.${rust_target}]
-                       cc = "$(tc-getBUILD_CC)"
-                       cxx = "$(tc-getBUILD_CXX)"
-                       linker = "$(tc-getCC)"
-                       ar = "$(tc-getAR)"
-               EOF
-               if use system-llvm; then
-                       cat <<- EOF >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       EOF
-               fi
-       done
-
-       if use wasm; then
-               cat <<- EOF >> "${S}"/config.toml
-                       [target.wasm32-unknown-unknown]
-                       linker = "rust-lld"
-               EOF
-       fi
-}
-
-src_compile() {
-       env $(cat "${S}"/config.env)\
-               "${EPYTHON}" ./x.py build -v --config="${S}"/config.toml 
-j$(makeopts_jobs) \
-               --exclude src/tools/miri || die # 
https://github.com/rust-lang/rust/issues/52305
-}
-
-src_install() {
-       local rust_target abi_libdir
-
-       env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v || die
-
-       mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
-       mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
-       mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
-       mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
-       mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
-       mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
-       if use clippy; then
-               mv "${ED}/usr/bin/clippy-driver" 
"${ED}/usr/bin/clippy-driver-${PV}" || die
-               mv "${ED}/usr/bin/cargo-clippy" 
"${ED}/usr/bin/cargo-clippy-${PV}" || die
-       fi
-       if use rls; then
-               mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
-       fi
-       if use rustfmt; then
-               mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
-               mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || 
die
-       fi
-
-       # Copy shared library versions of standard libraries for all targets
-       # into the system's abi-dependent lib directories because the rust
-       # installer only does so for the native ABI.
-       for v in $(multilib_get_enabled_abi_pairs); do
-               if [ ${v##*.} = ${DEFAULT_ABI} ]; then
-                       continue
-               fi
-               abi_libdir=$(get_abi_LIBDIR ${v##*.})
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               mkdir -p "${ED}/usr/${abi_libdir}"
-               cp 
"${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
-                  "${ED}/usr/${abi_libdir}" || die
-       done
-
-       dodoc COPYRIGHT
-
-       # FIXME:
-       # Really not sure if that env is needed, specailly LDPATH
-       cat <<-EOF > "${T}"/50${P}
-               LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
-               MANPATH="${EPREFIX}/usr/share/${P}/man"
-       EOF
-       doenvd "${T}"/50${P}
-
-       # note: eselect-rust adds EROOT to all paths below
-       cat <<-EOF > "${T}/provider-${P}"
-               /usr/bin/rustdoc
-               /usr/bin/rust-gdb
-               /usr/bin/rust-gdbgui
-               /usr/bin/rust-lldb
-       EOF
-       echo /usr/bin/cargo >> "${T}/provider-${P}"
-       if use clippy; then
-               echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
-       fi
-       if use rls; then
-               echo /usr/bin/rls >> "${T}/provider-${P}"
-       fi
-       if use rustfmt; then
-               echo /usr/bin/rustfmt >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
-       fi
-       dodir /etc/env.d/rust
-       insinto /etc/env.d/rust
-       doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
-       eselect rust update --if-unset
-
-       elog "Rust installs a helper script for calling GDB and LLDB,"
-       elog "for your convenience it is installed under 
/usr/bin/rust-{gdb,lldb}-${PV}."
-
-       ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of 
dev-util/cargo."
-       ewarn "This might have resulted in a dangling symlink for 
/usr/bin/cargo on some"
-       ewarn "systems. This can be resolved by calling 'sudo eselect rust set 
${P}'."
-
-       if has_version app-editors/emacs || has_version app-editors/emacs-vcs; 
then
-               elog "install app-emacs/rust-mode to get emacs support for 
rust."
-       fi
-
-       if has_version app-editors/gvim || has_version app-editors/vim; then
-               elog "install app-vim/rust-vim to get vim support for rust."
-       fi
-
-       if has_version 'app-shells/zsh'; then
-               elog "install app-shells/rust-zshcomp to get zsh completion for 
rust."
-       fi
-}
-
-pkg_postrm() {
-       eselect rust unset --if-invalid
-}

diff --git a/dev-lang/rust/rust-1.34.1.ebuild b/dev-lang/rust/rust-1.34.1.ebuild
deleted file mode 100644
index 6a8ae98793b..00000000000
--- a/dev-lang/rust/rust-1.34.1.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
-
-inherit check-reqs eapi7-ver estack flag-o-matic llvm multiprocessing 
multilib-build python-any-r1 rust-toolchain toolchain-funcs
-
-if [[ ${PV} = *beta* ]]; then
-       betaver=${PV//*beta}
-       BETA_SNAPSHOT="${betaver:0:4}-${betaver:4:2}-${betaver:6:2}"
-       MY_P="rustc-beta"
-       SLOT="beta/${PV}"
-       SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
-else
-       ABI_VER="$(ver_cut 1-2)"
-       SLOT="stable/${ABI_VER}"
-       MY_P="rustc-${PV}"
-       SRC="${MY_P}-src.tar.xz"
-       KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="https://www.rust-lang.org/";
-
-SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.xz
-               $(rust_all_arch_uris rust-${RUST_STAGE0_VERSION})"
-
-ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
-       NVPTX PowerPC Sparc SystemZ WebAssembly X86 XCore )
-ALL_LLVM_TARGETS=( "${ALL_LLVM_TARGETS[@]/#/llvm_targets_}" )
-LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-IUSE="clippy cpu_flags_x86_sse2 debug doc libressl rls rustfmt system-llvm 
wasm ${ALL_LLVM_TARGETS[*]}"
-
-# Please keep the LLVM dependency block separate. Since LLVM is slotted,
-# we need to *really* make sure we're not pulling one than more slot
-# simultaneously.
-
-# How to use it:
-# 1. List all the working slots (with min versions) in ||, newest first.
-# 2. Update the := to specify *max* version, e.g. < 9.
-# 3. Specify LLVM_MAX_SLOT, e.g. 8.
-LLVM_DEPEND="
-       || (
-               sys-devel/llvm:8[llvm_targets_WebAssembly?]
-       )
-       <sys-devel/llvm-9:=
-"
-LLVM_MAX_SLOT=8
-
-COMMON_DEPEND="
-       sys-libs/zlib
-       !libressl? ( dev-libs/openssl:0= )
-       libressl? ( dev-libs/libressl:0= )
-       net-libs/libssh2
-       net-libs/http-parser:=
-       net-misc/curl[ssl]
-       system-llvm? (
-               ${LLVM_DEPEND}
-       )
-"
-
-DEPEND="${COMMON_DEPEND}
-       ${PYTHON_DEPS}
-       || (
-               >=sys-devel/gcc-4.7
-               >=sys-devel/clang-3.5
-       )
-       dev-util/cmake"
-RDEPEND="${COMMON_DEPEND}
-       >=app-eselect/eselect-rust-20190311
-       !dev-util/cargo
-       rustfmt? ( !dev-util/rustfmt )"
-REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
-       wasm? ( llvm_targets_WebAssembly )
-       x86? ( cpu_flags_x86_sse2 )
-"
-
-PATCHES=(
-       
"${FILESDIR}"/0001-llvm-cmake-Add-additional-headers-only-if-they-exist.patch
-       "${FILESDIR}"/1.34.0-doc-build-fix.patch
-       "${FILESDIR}"/1.34.0-libressl.patch # bug 684224
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-toml_usex() {
-       usex "$1" true false
-}
-
-pre_build_checks() {
-       CHECKREQS_DISK_BUILD="7G"
-       eshopts_push -s extglob
-       if is-flagq '-g?(gdb)?([1-9])'; then
-               CHECKREQS_DISK_BUILD="10G"
-       fi
-       eshopts_pop
-       check-reqs_pkg_setup
-}
-
-pkg_pretend() {
-       pre_build_checks
-}
-
-pkg_setup() {
-       pre_build_checks
-       python-any-r1_pkg_setup
-       use system-llvm && llvm_pkg_setup
-}
-
-src_prepare() {
-       local rust_stage0_root="${WORKDIR}"/rust-stage0
-
-       local rust_stage0="rust-${RUST_STAGE0_VERSION}-$(rust_abi)"
-
-       "${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig 
--destdir="${rust_stage0_root}" --prefix=/ || die
-
-       # ugly hack for https://bugs.gentoo.org/679806
-       if use ppc64; then
-               sed -i 's/getentropy/gEtEnTrOpY/g' 
"${rust_stage0_root}"/bin/cargo || die
-               export OPENSSL_ppccap=0
-       fi
-
-       default
-}
-
-src_configure() {
-       local rust_target="" rust_targets="" arch_cflags
-
-       # Collect rust target names to compile standard libs for all ABIs.
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_targets="${rust_targets},\"$(rust_abi $(get_abi_CHOST 
${v##*.}))\""
-       done
-       if use wasm; then
-               rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
-       fi
-       rust_targets="${rust_targets#,}"
-
-       local extended="true" tools="\"cargo\","
-       if use clippy; then
-               tools="\"clippy\",$tools"
-       fi
-       if use rls; then
-               tools="\"rls\",\"analysis\",\"src\",$tools"
-       fi
-       if use rustfmt; then
-               tools="\"rustfmt\",$tools"
-       fi
-
-       local rust_stage0_root="${WORKDIR}"/rust-stage0
-
-       rust_target="$(rust_abi)"
-
-       cat <<- EOF > "${S}"/config.toml
-               [llvm]
-               optimize = $(toml_usex !debug)
-               release-debuginfo = $(toml_usex debug)
-               assertions = $(toml_usex debug)
-               targets = "${LLVM_TARGETS// /;}"
-               experimental-targets = ""
-               link-shared = $(toml_usex system-llvm)
-               [build]
-               build = "${rust_target}"
-               host = ["${rust_target}"]
-               target = [${rust_targets}]
-               cargo = "${rust_stage0_root}/bin/cargo"
-               rustc = "${rust_stage0_root}/bin/rustc"
-               docs = $(toml_usex doc)
-               submodules = false
-               python = "${EPYTHON}"
-               locked-deps = true
-               vendor = true
-               extended = ${extended}
-               tools = [${tools}]
-               [install]
-               prefix = "${EPREFIX}/usr"
-               libdir = "$(get_libdir)/${P}"
-               docdir = "share/doc/${P}"
-               mandir = "share/${P}/man"
-               [rust]
-               optimize = $(toml_usex !debug)
-               debuginfo = $(toml_usex debug)
-               debug-assertions = $(toml_usex debug)
-               default-linker = "$(tc-getCC)"
-               channel = "stable"
-               rpath = false
-               lld = $(toml_usex wasm)
-       EOF
-
-       for v in $(multilib_get_enabled_abi_pairs); do
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               arch_cflags="$(get_abi_CFLAGS ${v##*.})"
-
-               cat <<- EOF >> "${S}"/config.env
-                       CFLAGS_${rust_target}=${arch_cflags}
-               EOF
-
-               cat <<- EOF >> "${S}"/config.toml
-                       [target.${rust_target}]
-                       cc = "$(tc-getBUILD_CC)"
-                       cxx = "$(tc-getBUILD_CXX)"
-                       linker = "$(tc-getCC)"
-                       ar = "$(tc-getAR)"
-               EOF
-               if use system-llvm; then
-                       cat <<- EOF >> "${S}"/config.toml
-                               llvm-config = "$(get_llvm_prefix 
"${LLVM_MAX_SLOT}")/bin/llvm-config"
-                       EOF
-               fi
-       done
-
-       if use wasm; then
-               cat <<- EOF >> "${S}"/config.toml
-                       [target.wasm32-unknown-unknown]
-                       linker = "rust-lld"
-               EOF
-       fi
-}
-
-src_compile() {
-       env $(cat "${S}"/config.env)\
-               "${EPYTHON}" ./x.py build -v --config="${S}"/config.toml 
-j$(makeopts_jobs) \
-               --exclude src/tools/miri || die # 
https://github.com/rust-lang/rust/issues/52305
-}
-
-src_install() {
-       local rust_target abi_libdir
-
-       env DESTDIR="${D}" "${EPYTHON}" ./x.py install -v || die
-
-       mv "${ED}/usr/bin/rustc" "${ED}/usr/bin/rustc-${PV}" || die
-       mv "${ED}/usr/bin/rustdoc" "${ED}/usr/bin/rustdoc-${PV}" || die
-       mv "${ED}/usr/bin/rust-gdb" "${ED}/usr/bin/rust-gdb-${PV}" || die
-       mv "${ED}/usr/bin/rust-gdbgui" "${ED}/usr/bin/rust-gdbgui-${PV}" || die
-       mv "${ED}/usr/bin/rust-lldb" "${ED}/usr/bin/rust-lldb-${PV}" || die
-       mv "${ED}/usr/bin/cargo" "${ED}/usr/bin/cargo-${PV}" || die
-       if use clippy; then
-               mv "${ED}/usr/bin/clippy-driver" 
"${ED}/usr/bin/clippy-driver-${PV}" || die
-               mv "${ED}/usr/bin/cargo-clippy" 
"${ED}/usr/bin/cargo-clippy-${PV}" || die
-       fi
-       if use rls; then
-               mv "${ED}/usr/bin/rls" "${ED}/usr/bin/rls-${PV}" || die
-       fi
-       if use rustfmt; then
-               mv "${ED}/usr/bin/rustfmt" "${ED}/usr/bin/rustfmt-${PV}" || die
-               mv "${ED}/usr/bin/cargo-fmt" "${ED}/usr/bin/cargo-fmt-${PV}" || 
die
-       fi
-
-       # Copy shared library versions of standard libraries for all targets
-       # into the system's abi-dependent lib directories because the rust
-       # installer only does so for the native ABI.
-       for v in $(multilib_get_enabled_abi_pairs); do
-               if [ ${v##*.} = ${DEFAULT_ABI} ]; then
-                       continue
-               fi
-               abi_libdir=$(get_abi_LIBDIR ${v##*.})
-               rust_target=$(rust_abi $(get_abi_CHOST ${v##*.}))
-               mkdir -p "${ED}/usr/${abi_libdir}"
-               cp 
"${ED}/usr/$(get_libdir)/${P}/rustlib/${rust_target}/lib"/*.so \
-                  "${ED}/usr/${abi_libdir}" || die
-       done
-
-       dodoc COPYRIGHT
-
-       # FIXME:
-       # Really not sure if that env is needed, specailly LDPATH
-       cat <<-EOF > "${T}"/50${P}
-               LDPATH="${EPREFIX}/usr/$(get_libdir)/${P}"
-               MANPATH="${EPREFIX}/usr/share/${P}/man"
-       EOF
-       doenvd "${T}"/50${P}
-
-       # note: eselect-rust adds EROOT to all paths below
-       cat <<-EOF > "${T}/provider-${P}"
-               /usr/bin/rustdoc
-               /usr/bin/rust-gdb
-               /usr/bin/rust-gdbgui
-               /usr/bin/rust-lldb
-       EOF
-       echo /usr/bin/cargo >> "${T}/provider-${P}"
-       if use clippy; then
-               echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
-       fi
-       if use rls; then
-               echo /usr/bin/rls >> "${T}/provider-${P}"
-       fi
-       if use rustfmt; then
-               echo /usr/bin/rustfmt >> "${T}/provider-${P}"
-               echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
-       fi
-       dodir /etc/env.d/rust
-       insinto /etc/env.d/rust
-       doins "${T}/provider-${P}"
-}
-
-pkg_postinst() {
-       eselect rust update --if-unset
-
-       elog "Rust installs a helper script for calling GDB and LLDB,"
-       elog "for your convenience it is installed under 
/usr/bin/rust-{gdb,lldb}-${PV}."
-
-       ewarn "cargo is now installed from dev-lang/rust{,-bin} instead of 
dev-util/cargo."
-       ewarn "This might have resulted in a dangling symlink for 
/usr/bin/cargo on some"
-       ewarn "systems. This can be resolved by calling 'sudo eselect rust set 
${P}'."
-
-       if has_version app-editors/emacs || has_version app-editors/emacs-vcs; 
then
-               elog "install app-emacs/rust-mode to get emacs support for 
rust."
-       fi
-
-       if has_version app-editors/gvim || has_version app-editors/vim; then
-               elog "install app-vim/rust-vim to get vim support for rust."
-       fi
-
-       if has_version 'app-shells/zsh'; then
-               elog "install app-shells/rust-zshcomp to get zsh completion for 
rust."
-       fi
-}
-
-pkg_postrm() {
-       eselect rust unset --if-invalid
-}

Reply via email to