rust: fix some tricium warnings in 1.47.0 ebuild

BUG=None
TEST=sudo emerge virtual/rust

Change-Id: I3bb51c3128e332db1878fef5e937635082cbdeb6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2500411
Reviewed-by: George Burgess <gbiv@chromium.org>
Reviewed-by: Tiancong Wang <tcwang@google.com>
Reviewed-by: Navil Perez <navil@google.com>
Tested-by: Bob Haarman <inglorion@chromium.org>
Tested-by: Navil Perez <navil@google.com>
(cherry picked from commit 5f990899f5d89ef758a279a3c1c772ed42fb2756)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2508440
Commit-Queue: Navil Perez <navil@google.com>
diff --git a/dev-lang/rust/rust-1.47.0-r3.ebuild b/dev-lang/rust/rust-1.47.0-r3.ebuild
deleted file mode 100644
index d55bb1b..0000000
--- a/dev-lang/rust/rust-1.47.0-r3.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 )
-inherit python-any-r1 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.gz"
-	KEYWORDS=""
-else
-	ABI_VER="$(ver_cut 1-2)"
-	SLOT="stable/${ABI_VER}"
-	MY_P="rustc-${PV}"
-	SRC="${MY_P}-src.tar.gz"
-	KEYWORDS="*"
-fi
-
-
-BOOTSTRAP_VERSION="1.46.0"
-RUST_BOOTSTRAP_amd64="rustc-${BOOTSTRAP_VERSION}-x86_64-unknown-linux-gnu"
-
-DESCRIPTION="Systems programming language from Mozilla"
-HOMEPAGE="http://www.rust-lang.org/"
-
-SRC_URI="https://static.rust-lang.org/dist/${SRC} -> rustc-${PV}-src.tar.gz"
-
-LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
-
-RESTRICT="binchecks strip"
-REQUIRED_USE="amd64"
-
-DEPEND="${PYTHON_DEPS}
-	>=dev-libs/libxml2-2.9.6
-	>=dev-lang/perl-5.0
-"
-
-BDEPEND="=dev-lang/rust-bootstrap-${BOOTSTRAP_VERSION}"
-RDEPEND="!dev-util/cargo"
-
-PATCHES=(
-	"${FILESDIR}/${P}-add-cros-targets.patch"
-	"${FILESDIR}/${P}-fix-rpath.patch"
-	"${FILESDIR}/${P}-enable-sanitizers.patch"
-	"${FILESDIR}/${P}-Revert-CMake-Unconditionally-add-.h-and-.td-files-to.patch"
-	"${FILESDIR}/${P}-no-test-on-build.patch"
-	"${FILESDIR}/${P}-sanitizer-supported.patch"
-	"${FILESDIR}/${P}-cc.patch"
-	"${FILESDIR}/${P}-revert-libunwind-build.patch"
-	"${FILESDIR}/${P}-ld-argv0.patch"
-	"${FILESDIR}/${P}-no-weak-symbols.patch"
-	"${FILESDIR}/${P}-cherry-dee70493-more-precise-spans.patch"
-)
-
-S="${WORKDIR}/${MY_P}-src"
-
-# This is the list of target triples as they appear in the cros_sdk. If this list gets changed,
-# ensure that each of these values has a corresponding librustc_target/spec file created below
-# and a line referring to it in 0001-add-cros-targets.patch.
-RUSTC_TARGET_TRIPLES=(
-	x86_64-pc-linux-gnu
-	x86_64-cros-linux-gnu
-	armv7a-cros-linux-gnueabihf
-	aarch64-cros-linux-gnu
-)
-
-# In this context BARE means the OS part of the triple is none and gcc is used for C/C++ and
-# linking.
-RUSTC_BARE_TARGET_TRIPLES=(
-	thumbv6m-none-eabi # Cortex-M0, M0+, M1
-	thumbv7m-none-eabi # Cortex-M3
-	thumbv7em-none-eabihf # Cortex-M4F, M7F, FPU, hardfloat
-)
-
-pkg_setup() {
-	python-any-r1_pkg_setup
-	# Skips the toolchain check if we are installing a binpkg.
-	if [[ "${MERGE_TYPE}" != "binary" ]]; then
-		local tt
-		for tt in "${RUSTC_TARGET_TRIPLES[@]}" ; do
-			which "${tt}-clang" >/dev/null || die "missing toolchain ${tt}"
-		done
-		which "arm-none-eabi-gcc" >/dev/null || die "missing toolchain arm-none-eabi"
-	fi
-}
-
-src_prepare() {
-	# Copy "unknown" vendor targets to create cros_sdk target triple
-	# variants as referred to in 0001-add-cros-targets.patch and RUSTC_TARGET_TRIPLES.
-	# armv7a is treated specially because the cros toolchain differs in
-	# more than just the vendor part of the target triple. The arch is
-	# armv7a in cros versus armv7.
-	pushd src/librustc_target/spec || die
-	sed -e 's:"unknown":"pc":g' x86_64_unknown_linux_gnu.rs >x86_64_pc_linux_gnu.rs || die
-	sed -e 's:"unknown":"cros":g' x86_64_unknown_linux_gnu.rs >x86_64_cros_linux_gnu.rs || die
-	sed -e 's:"unknown":"cros":g' armv7_unknown_linux_gnueabihf.rs >armv7a_cros_linux_gnueabihf.rs || die
-	sed -e 's:"unknown":"cros":g' aarch64_unknown_linux_gnu.rs >aarch64_cros_linux_gnu.rs || die
-	popd
-
-	# The miri tool is built because of 'extended = true' in cros-config.toml,
-	# but the build is busted. See the upstream issue: [https://github.com/rust-
-	# lang/rust/issues/56576]. Because miri isn't installed or needed, this sed
-	# script eradicates the command that builds it during the bootstrap script.
-	pushd src/bootstrap || die
-	sed -i 's@tool::Miri,@@g' builder.rs
-	popd
-
-	# Tsk. Tsk. The rust makefile for LLVM's compiler-rt uses -ffreestanding
-	# but one of the files includes <stdlib.h> causing occasional problems
-	# with MB_LEN_MAX. See crbug.com/730845 for the thrilling details. This
-	# line patches over the problematic include.
-	sed -e 's:#include <stdlib.h>:void abort(void);:g' \
-		-i "${ECONF_SOURCE:-.}"/src/llvm-project/compiler-rt/lib/builtins/int_util.c || die
-
-	# For the librustc_llvm module, the build will link with -nodefaultlibs and manually choose the
-	# std C++ library. For x86_64 Linux, the build script always chooses libstdc++ which will not
-	# work if LLVM was built with USE="default-libcxx". This snippet changes that choice to libc++
-	# in the case that clang++ defaults to libc++.
-	if "${CXX}" -### -x c++ - < /dev/null 2>&1 | grep -q -e '-lc++'; then
-		sed -i 's:"stdc++":"c++":g' src/librustc_llvm/build.rs || die
-	fi
-
-	default
-}
-
-src_configure() {
-	local targets=""
-	local tt
-	for tt in "${RUSTC_TARGET_TRIPLES[@]}" "${RUSTC_BARE_TARGET_TRIPLES[@]}" ; do
-		targets+="\"${tt}\", "
-	done
-
-	local config=cros-config.toml
-	cat > "${config}" <<EOF
-[build]
-target = [${targets}]
-cargo = "/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/cargo"
-rustc = "/opt/rust-bootstrap-${BOOTSTRAP_VERSION}/bin/rustc"
-docs = false
-submodules = false
-python = "${EPYTHON}"
-vendor = true
-extended = true
-tools = ["cargo", "rustfmt", "clippy", "cargofmt"]
-sanitizers = true
-
-[llvm]
-ninja = true
-
-[install]
-prefix = "${ED}usr"
-libdir = "$(get_libdir)"
-mandir = "share/man"
-
-[rust]
-default-linker = "${CBUILD}-clang"
-channel = "${SLOT%%/*}"
-codegen-units = 0
-llvm-libunwind = true
-codegen-tests = false
-
-EOF
-	for tt in "${RUSTC_TARGET_TRIPLES[@]}" ; do
-		cat >> cros-config.toml <<EOF
-[target."${tt}"]
-cc = "${tt}-clang"
-cxx = "${tt}-clang++"
-linker = "${tt}-clang++"
-
-EOF
-	done
-}
-
-src_compile() {
-	${EPYTHON} x.py build --stage 2 --config cros-config.toml || die
-
-	# Remove the src/rust symlink which will be dangling after sources are
-	# removed, and the containing src directory.
-	rm "${S}/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src/rust" || die
-	rmdir "${S}/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/src" || die
-}
-
-src_install() {
-	local obj="build/x86_64-unknown-linux-gnu/stage2"
-	local tools="${obj}-tools/x86_64-unknown-linux-gnu/release/"
-	dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc"
-	dobin "${tools}/cargo"
-	dobin "${tools}/rustfmt" "${tools}/cargo-fmt"
-	dobin "${tools}/clippy-driver" "${tools}/cargo-clippy"
-	dobin src/etc/rust-gdb src/etc/rust-lldb
-	insinto "/usr/$(get_libdir)"
-	doins -r "${obj}/lib/"*
-	doins -r "${obj}/lib64/"*
-}
diff --git a/virtual/rust/rust-1.47.0-r2.ebuild b/virtual/rust/rust-1.47.0-r2.ebuild
deleted file mode 100644
index 625bd64..0000000
--- a/virtual/rust/rust-1.47.0-r2.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 2018 The Chromium OS Authors. All rights reserved.
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-DESCRIPTION="Virtual for the Rust language compiler"
-HOMEPAGE=""
-
-LICENSE=""
-SLOT="0/${PV}"
-KEYWORDS="*"
-
-DEPEND="
-	~dev-lang/rust-${PV}:=
-"