bump(dev-lang/rust): sync with upstream

This commit is contained in:
David Michael 2018-10-15 22:12:00 +00:00
parent 612e611bb8
commit 17b3c187c4
13 changed files with 59 additions and 1020 deletions

View File

@ -1,16 +1,4 @@
DIST rust-1.24.0-aarch64-unknown-linux-gnu.tar.gz 184157362 BLAKE2B 68b1b9471b6d26dbb2c3bf897d2bffc15d2fcd1fde774d4f23389e9ccb96fc60d8ec8c343b5f93651bced05bdf228d549c747f3f3d4de9c8232e99aa1b6bef6a SHA512 d15548a7b21ca4605ff24d098a59414548a315acd736ac4d8ac845399c9febdd810ba76fdf2dd9336325bd749866ee72f3d8c7c573b04a4d932d00cd7cac34c0
DIST rust-1.24.0-i686-unknown-linux-gnu.tar.gz 193631843 BLAKE2B f19e9f717f5626b2267da4e661b53f45f7948a83a25156239af3cadb1184bf39669171364754f1787cdb78c3b62bd145bff1e3f4c3c7890f0dd52839bd8ae923 SHA512 3806bee5dccc080fae437bbc7f2e2062803244eb57c25e5e591e46279810c661bf016a4043e0af991b49b9e09a5d81ec275a852c3647a474507b03846d76aac0
DIST rust-1.24.0-x86_64-unknown-linux-gnu.tar.gz 199663002 BLAKE2B 2373637eb4410c07328b3cbaecb56ca465956ec1a2f14786e00922d74c4e68760538383960080348be003bee656761f5bbd0aa871ea21e22d029b3f8ab5344a7 SHA512 63ecb84b31f586c85e25229fb673892567edc2f557ac2ca1958caf3e26aa4e6c9a55b410aeeeadf1a61a5ebd66a517106e942f923a2884ce69ee92aec622187b
DIST rust-1.25.0-aarch64-unknown-linux-gnu.tar.xz 83752132 BLAKE2B a0d49238ccaa3547764c07a215a0e02c813ae18cd6aca3baae1d9a10dee87d73526552b7ff6e4936ec414794d1143041aa8f92d244e2e4fe5aaefcb12a6dcb0a SHA512 404ecd4dc1e49fba41d7ade947877f621aa762e43eb5a8f604823fe297e8023f095cd449610240ed235723baaac96064eb38445794e27708edcdbca998d939e3
DIST rust-1.25.0-i686-unknown-linux-gnu.tar.xz 102453124 BLAKE2B 8986ebab6a7a9d00f716541484e0cfd4f33ca592880097217e718cb79cae77aad8ecaf6856f72386d2419b4dcc0d99425fb37f72b4830d6a20a74166f2c534d0 SHA512 75ad5cb5e00fabc24aaa46236cc6f2193a7543fd0944c0717c11a56d9c420d20463ad683558d86f5d42abacfb89d15f9cabf404c912a5e24a28e6716c8003e8f
DIST rust-1.25.0-x86_64-unknown-linux-gnu.tar.xz 111059260 BLAKE2B ae982976a735c2b5226722207a983bb638cb7c0cb0ceb6b438456d54fac86a5d1892b535f01ac463157205c0ae27ae876482f6ac1fa269a9ec3e1177be0cef2e SHA512 aea93ff64f620a1dd6b48d07ec3dcbc126b2f5c17b4697c096ec8cd02a3c7dfec7ae7d5df70a55eceb372897ad12f3d01c67d5aaea0167a80270931c61323f78
DIST rust-1.26.2-aarch64-unknown-linux-gnu.tar.xz 90964988 BLAKE2B 7e5de737ff2b4711e0a5b3085f10c3f2918fc5823dcb52bc5f897a5617b65d648d5e59664dbfaa904ff08923d1bbd11aae21349760fefef6ff18ea0e45391e07 SHA512 b565ec988d3b946dabc8902eba60b446070e77b7c27aa98d981b7ba5e9285bda95565627600e6be057970de5006d9640ef77fa920849160f5cf98508b48d1673
DIST rust-1.26.2-i686-unknown-linux-gnu.tar.xz 143090096 BLAKE2B 7871fa4e4d0f320ff949cd31cefa116bc7b741927626958e1d10197f05fc9a662b8d6c21ddd4d2910700e6f7273e4fc18738e6ff58cd85b9af4ed25eceea31d9 SHA512 859b5b72c78cca8cd473012599ca12539ef9a5ee38d1aaaad024019fd84220e344e1cd0efd2b027ef333555b158b23529f35ceb5d59d76c35e7946b5fe4a8a52
DIST rust-1.26.2-x86_64-unknown-linux-gnu.tar.xz 138609432 BLAKE2B 54507a8ce3ab2676e6e66852b6d3f1a47ca07ad4b56383f6247149309a0f60f67fbf0a6ba27d968c24340c07d7d5074942c6eaccbc1207c5e75fd9a6f47b2481 SHA512 29e474b0eab4dd2ffa0b964d83f52ffce530e75c4193e307410ef6d20ef9ad2b300a4f467bdf06b3311157340e9295cb9b1efdcf08dafee66979b076c2afba7e
DIST rust-1.27.2-aarch64-unknown-linux-gnu.tar.xz 94186748 BLAKE2B 7e8f46128a7638217ef63caf479e1a6d9ebde7a225b7dad55082eb06e0206f0b1a5efa65badb15127a456ddc39702482407bbb9171a11397a31bc7c85d2cbcfa SHA512 84022350f1e8fc34a353a09848333424a557ddea3b9445a1a5fc9d2f2abced942154e80888ab4091174d6d83c6766f583ef240ab2e2233de5d536633d2765040
DIST rust-1.27.2-i686-unknown-linux-gnu.tar.xz 144776012 BLAKE2B 98883f45637adf0920543da8951f29bf5ab11d1f39e9f4154b77e882eadce26ec5e8ed3e9bdcf560f8009fbaab4b7255ba8eb8eeb8beadad39ec6fa74b6dde45 SHA512 e17960120bdd18a527c0783ce8ca8d76cdc9b436f36a73a82fd2ea709b253f33feeb88310fab7a86305bad403eb5dad7ea43d0e5bc5ad1e3847f29e85040303a
DIST rust-1.27.2-x86_64-unknown-linux-gnu.tar.xz 144218956 BLAKE2B 40834086f211dd64ec76be37eb477697ff44783f261f0b9bfc10b46cc340cf3c15adf80d39a9df642b4985ea1239ad7f1d1803a44f3bd3d53f073bdc38a1de0e SHA512 14861392dad81d2c040d0deb64d5dd34652d5cc2875e404609a0f13c8fb6bdc38f9bc7b1e309829365a00c42b610f2b7a73cffa232ecfdf0618b5508a8667198
DIST rustc-1.25.0-src.tar.gz 98639156 BLAKE2B 1408d5dd0611d4830de3b6b3d00e3fad4198a47599b639d0ac0bd05aaba401f743056a942e9df04a4d192c6b12e8cfe9a9cdf8cd26e48b72104ce9b423df049e SHA512 7d8886f4d5a621eb794e814deb60be681fa38cf086f87ffa14e5a3500c640b237c549a632de1331a0f1b71963de41f6d31a4df3866b7e597424002316fed81ce
DIST rustc-1.26.2-src.tar.xz 54613640 BLAKE2B f361b7a0ed40ccb026750b4a70b99931f1abf52024e907b588e339902de2fbbd15501d237ac048d0537005834b0a2f49935f654a8c75d40ed95c65894f611481 SHA512 a598858ddce0e05d1d431be383400f44fc551eb2e368f37b01670c0b65ea5da6a7d5b2b68bb6ef806d2107cfa0d5007008442ad4d5ddb17d18d04e0ab31600b0
DIST rustc-1.27.1-src.tar.xz 55458892 BLAKE2B 9c5cec24760afdcee51fb0ba8d2289b92d34de57e97e57f2e5dc129674edab4a595ab5756c789b5de15bdd5107363f12a517169cedc7c3093fa0241d200ca3ab SHA512 4a8c03476ca1867a1130b825724ecb6bd629b889d704fdd6c3de4e188f73e2d1acdfae413f26e37505d76109d23d8e9ab409b31af3d67d244f8552730ada292d
DIST rustc-1.28.0-src.tar.xz 55838968 BLAKE2B 1ff1f54dbae8c6481a6467d35b7c7dc340eba5e8c34f08ecb7b2300239c98a70c8459dacb8c8932ab6d9b3e2770e5b3508e23db7b01ff6014b7dbc076cf1de94 SHA512 a4885cd42a1006738cca2f0d8c0d5e4fd4014fc4629cbf691935bd36ffb896c553717022e67532359b5f1bd8e5050fc38b9dffed7c45cc76f7089ec134dfb980
DIST rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz 98937652 BLAKE2B 836d3dd4e583fa50dd317c3bea56257e6ea19defdb38c16be6debb2854e147c8a92c4832263e4ac314136022a176526fe7d3774a3c5a84cd8d364cd2a1532860 SHA512 8d9acbc90ddaa1e0de0234a21798b19b5365ea371a12f9a143c6ebacbb48f57344da6e827e867513be502bce2801de27a0dbbacdf8618c653aeb58026b6c469c
DIST rust-1.28.0-i686-unknown-linux-gnu.tar.xz 136925948 BLAKE2B 85d9239533920c3f16d7c61bada0caeabceceade29032b70bb4562bfd04fa0158cdd85b8a0a1119506416fa5916ade8a0466bf6c10da457299a6319aa25f9dd6 SHA512 ffdfab46db14f07354b553e02fdb9dc6602c2c52b78d8f17c499f4ddb1e257aa53479df836eb3f06a2548d34296b0277cdb6b4c6f3cec57265823df22752c135
DIST rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz 134120432 BLAKE2B 56fb79a98659d9c8e56b8eef87dea3302ee5901bc4507d1c204628370b20cf34b2875c9586faa0acc2bc2b1a5beedeb9b5ba199cfb85d52f268f084a02f04f27 SHA512 4f427c11a9cd22aedd01bd7ed5bee2ba5e00a27db25af4f596cf8627d88eff8e72625eb83729d2e6c6780aaffd44c0e7065a1c8fa22f4899349b72c726cf6a5f
DIST rustc-1.29.1-src.tar.xz 61937676 BLAKE2B 6a60249538e1ec62471f4d0e3fc31c0a648433aa6f85ca7341657ea07772e338eb92a629941685808f4b80e84cb025d78aee9d0d6fa71c6635a1647c61bca9bc SHA512 1ded651b4c460e11e5e44c26de88a80fb13c2000097de2ee1e5af89638e12a7e8f43dd756689d4cc4fad45c52d4d43a3c70dd6a3ae550735b9dad5f8defea6a7

View File

@ -6,9 +6,8 @@
<name>Rust Project</name>
</maintainer>
<use>
<flag name="extended">Build and install rls, rustfmt and cargo
alongside the compiler and stdlib</flag>
<flag name="cargo">Install cargo component</flag>
<flag name="clippy">Install clippy component</flag>
<flag name="jemalloc">Use <pkg>dev-libs/jemalloc</pkg> as the
standard memory allocator</flag>
<flag name="rls">Install rls component</flag>

View File

@ -1,173 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 )
inherit multiprocessing python-any-r1 versionator 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="amd64 x86"
else
ABI_VER="$(get_version_component_range 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.gz"
KEYWORDS="amd64 ~arm64 x86"
fi
CHOST_amd64=x86_64-unknown-linux-gnu
CHOST_x86=i686-unknown-linux-gnu
CHOST_arm64=aarch64-unknown-linux-gnu
RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0"
RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}"
CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 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.gz
amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.gz )
x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.gz )
arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.gz )
"
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
IUSE="debug doc extended +jemalloc"
RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
jemalloc? ( dev-libs/jemalloc )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
dev-util/cmake
"
PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
src_prepare() {
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0_name="RUST_STAGE0_${ARCH}"
local rust_stage0="${!rust_stage0_name}"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
default
}
src_configure() {
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_target_name="CHOST_${ARCH}"
local rust_target="${!rust_target_name}"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
[build]
build = "${rust_target}"
host = ["${rust_target}"]
target = ["${rust_target}"]
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
verbose = 2
extended = $(toml_usex extended)
[install]
prefix = "${EPREFIX}/usr"
libdir = "$(get_libdir)"
docdir = "share/doc/${P}"
mandir = "share/${P}/man"
[rust]
optimize = $(toml_usex !debug)
debuginfo = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
use-jemalloc = $(toml_usex jemalloc)
default-linker = "$(tc-getCC)"
rpath = false
[target.${rust_target}]
cc = "$(tc-getBUILD_CC)"
cxx = "$(tc-getBUILD_CXX)"
linker = "$(tc-getCC)"
ar = "$(tc-getAR)"
EOF
}
src_compile() {
./x.py build --verbose --config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_install() {
env DESTDIR="${D}" ./x.py install || die
mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
dodoc COPYRIGHT
cat <<-EOF > "${T}"/50${P}
LDPATH="/usr/$(get_libdir)/${P}"
MANPATH="/usr/share/${P}/man"
EOF
doenvd "${T}"/50${P}
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-lldb
EOF
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}."
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
}

View File

@ -1,232 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
inherit multiprocessing multilib-build python-any-r1 versionator 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"
KEYWORDS=""
else
ABI_VER="$(get_version_component_range 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
CHOST_amd64=x86_64-unknown-linux-gnu
CHOST_x86=i686-unknown-linux-gnu
CHOST_arm64=aarch64-unknown-linux-gnu
RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).0"
RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}"
CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 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
amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.xz )
x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.xz )
arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.xz )
"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC Sparc SystemZ 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="debug doc extended +jemalloc wasm ${ALL_LLVM_TARGETS[*]}"
RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
jemalloc? ( dev-libs/jemalloc )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
dev-util/cmake
"
PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
src_prepare() {
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0_name="RUST_STAGE0_${ARCH}"
local rust_stage0="${!rust_stage0_name}"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
default
}
src_configure() {
local rust_target="" rust_targets="" rust_target_name arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_target_name="CHOST_${v##*.}"
rust_targets="${rust_targets},\"${!rust_target_name}\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi
rust_targets="${rust_targets#,}"
local rust_stage0_root="${WORKDIR}"/rust-stage0
rust_target_name="CHOST_${ARCH}"
rust_target="${!rust_target_name}"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
targets = "${LLVM_TARGETS// /;}"
[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
verbose = 2
extended = $(toml_usex extended)
[install]
prefix = "${EPREFIX}/usr"
libdir = "$(get_libdir)"
docdir = "share/doc/${P}"
mandir = "share/${P}/man"
[rust]
optimize = $(toml_usex !debug)
debuginfo = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
use-jemalloc = $(toml_usex jemalloc)
default-linker = "$(tc-getCC)"
rpath = false
lld = $(toml_usex wasm)
EOF
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(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
done
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "lld"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
./x.py build --verbose --config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_install() {
local rust_target abi_libdir
env DESTDIR="${D}" ./x.py install || die
mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
# 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=$(get_abi_CHOST ${v##*.})
mkdir -p "${D}/usr/${abi_libdir}"
cp "${D}/usr/$(get_libdir)/rustlib/${rust_target}/lib"/*.so \
"${D}/usr/${abi_libdir}" || die
done
dodoc COPYRIGHT
# FIXME:
# Really not sure if that env is needed, specailly LDPATH
cat <<-EOF > "${T}"/50${P}
LDPATH="/usr/$(get_libdir)/${P}"
MANPATH="/usr/share/${P}/man"
EOF
doenvd "${T}"/50${P}
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-lldb
EOF
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}."
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
}

View File

@ -1,271 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
inherit multiprocessing multilib-build python-any-r1 toolchain-funcs versionator
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"
KEYWORDS=""
else
ABI_VER="$(get_version_component_range 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
CHOST_amd64=x86_64-unknown-linux-gnu
CHOST_x86=i686-unknown-linux-gnu
CHOST_arm64=aarch64-unknown-linux-gnu
RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).2"
RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}"
# there is no cargo 0.28 tag, so use 0.27
#CARGO_DEPEND_VERSION="0.$(($(version_get_comp 2) + 1)).0"
CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2))).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
amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.xz )
x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.xz )
arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.xz )
"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC Sparc SystemZ 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="cargo debug doc +jemalloc rls rustfmt wasm ${ALL_LLVM_TARGETS[*]}"
RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
jemalloc? ( dev-libs/jemalloc )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
cargo? ( !dev-util/cargo )
rustfmt? ( !dev-util/rustfmt )
dev-util/cmake
"
PDEPEND="!cargo? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
src_prepare() {
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0_name="RUST_STAGE0_${ARCH}"
local rust_stage0="${!rust_stage0_name}"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
default
}
src_configure() {
local rust_target="" rust_targets="" rust_target_name arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_target_name="CHOST_${v##*.}"
rust_targets="${rust_targets},\"${!rust_target_name}\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi
rust_targets="${rust_targets#,}"
local extended="false" tools=""
if use cargo; then
extended="true"
tools="\"cargo\","
fi
if use rls; then
extended="true"
tools="\"rls\",$tools"
fi
if use rustfmt; then
extended="true"
tools="\"rustfmt\",$tools"
fi
local rust_stage0_root="${WORKDIR}"/rust-stage0
rust_target_name="CHOST_${ARCH}"
rust_target="${!rust_target_name}"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
targets = "${LLVM_TARGETS// /;}"
[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)"
docdir = "share/doc/${P}"
mandir = "share/${P}/man"
[rust]
optimize = $(toml_usex !debug)
debuginfo = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
use-jemalloc = $(toml_usex jemalloc)
default-linker = "$(tc-getCC)"
rpath = false
lld = $(toml_usex wasm)
EOF
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(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
done
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "lld"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
./x.py build --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}" ./x.py install || die
mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
if use cargo; then
mv "${D}/usr/bin/cargo" "${D}/usr/bin/cargo-${PV}" || die
fi
if use rls; then
mv "${D}/usr/bin/rls" "${D}/usr/bin/rls-${PV}" || die
fi
if use rustfmt; then
mv "${D}/usr/bin/rustfmt" "${D}/usr/bin/rustfmt-${PV}" || die
mv "${D}/usr/bin/cargo-fmt" "${D}/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=$(get_abi_CHOST ${v##*.})
mkdir -p "${D}/usr/${abi_libdir}"
cp "${D}/usr/$(get_libdir)/rustlib/${rust_target}/lib"/*.so \
"${D}/usr/${abi_libdir}" || die
done
dodoc COPYRIGHT
# FIXME:
# Really not sure if that env is needed, specailly LDPATH
cat <<-EOF > "${T}"/50${P}
LDPATH="/usr/$(get_libdir)/${P}"
MANPATH="/usr/share/${P}/man"
EOF
doenvd "${T}"/50${P}
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-lldb
EOF
if use cargo; then
echo /usr/bin/cargo >> "${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}."
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
}

View File

@ -1,234 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
inherit multiprocessing multilib-build python-any-r1 toolchain-funcs versionator
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"
KEYWORDS=""
else
ABI_VER="$(get_version_component_range 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
fi
CHOST_amd64=x86_64-unknown-linux-gnu
CHOST_x86=i686-unknown-linux-gnu
CHOST_arm64=aarch64-unknown-linux-gnu
RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).2"
RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}"
# there is no cargo 0.28 tag, so use 0.27
#CARGO_DEPEND_VERSION="0.$(($(version_get_comp 2) + 1)).0"
CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2))).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
amd64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_amd64}.tar.xz )
x86? ( https://static.rust-lang.org/dist/${RUST_STAGE0_x86}.tar.xz )
arm64? ( https://static.rust-lang.org/dist/${RUST_STAGE0_arm64}.tar.xz )
"
ALL_LLVM_TARGETS=( AArch64 AMDGPU ARM BPF Hexagon Lanai Mips MSP430
NVPTX PowerPC Sparc SystemZ 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="debug doc extended +jemalloc wasm ${ALL_LLVM_TARGETS[*]}"
RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
jemalloc? ( dev-libs/jemalloc )"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
|| (
>=sys-devel/gcc-4.7
>=sys-devel/clang-3.5
)
dev-util/cmake
"
PDEPEND="!extended? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
S="${WORKDIR}/${MY_P}-src"
toml_usex() {
usex "$1" true false
}
src_prepare() {
local rust_stage0_root="${WORKDIR}"/rust-stage0
local rust_stage0_name="RUST_STAGE0_${ARCH}"
local rust_stage0="${!rust_stage0_name}"
"${WORKDIR}/${rust_stage0}"/install.sh --disable-ldconfig --destdir="${rust_stage0_root}" --prefix=/ || die
default
}
src_configure() {
local rust_target="" rust_targets="" rust_target_name arch_cflags
# Collect rust target names to compile standard libs for all ABIs.
for v in $(multilib_get_enabled_abi_pairs); do
rust_target_name="CHOST_${v##*.}"
rust_targets="${rust_targets},\"${!rust_target_name}\""
done
if use wasm; then
rust_targets="${rust_targets},\"wasm32-unknown-unknown\""
fi
rust_targets="${rust_targets#,}"
local rust_stage0_root="${WORKDIR}"/rust-stage0
rust_target_name="CHOST_${ARCH}"
rust_target="${!rust_target_name}"
cat <<- EOF > "${S}"/config.toml
[llvm]
optimize = $(toml_usex !debug)
release-debuginfo = $(toml_usex debug)
assertions = $(toml_usex debug)
targets = "${LLVM_TARGETS// /;}"
[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
verbose = 2
extended = $(toml_usex extended)
[install]
prefix = "${EPREFIX}/usr"
libdir = "$(get_libdir)"
docdir = "share/doc/${P}"
mandir = "share/${P}/man"
[rust]
optimize = $(toml_usex !debug)
debuginfo = $(toml_usex debug)
debug-assertions = $(toml_usex debug)
use-jemalloc = $(toml_usex jemalloc)
default-linker = "$(tc-getCC)"
rpath = false
lld = $(toml_usex wasm)
EOF
for v in $(multilib_get_enabled_abi_pairs); do
rust_target=$(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
done
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "lld"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
./x.py build --verbose --config="${S}"/config.toml -j$(makeopts_jobs) || die
}
src_install() {
local rust_target abi_libdir
env DESTDIR="${D}" ./x.py install || die
mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
mv "${D}/usr/bin/rust-lldb" "${D}/usr/bin/rust-lldb-${PV}" || die
# 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=$(get_abi_CHOST ${v##*.})
mkdir -p "${D}/usr/${abi_libdir}"
cp "${D}/usr/$(get_libdir)/rustlib/${rust_target}/lib"/*.so \
"${D}/usr/${abi_libdir}" || die
done
dodoc COPYRIGHT
# FIXME:
# Really not sure if that env is needed, specailly LDPATH
cat <<-EOF > "${T}"/50${P}
LDPATH="/usr/$(get_libdir)/${P}"
MANPATH="/usr/share/${P}/man"
EOF
doenvd "${T}"/50${P}
cat <<-EOF > "${T}/provider-${P}"
/usr/bin/rustdoc
/usr/bin/rust-gdb
/usr/bin/rust-lldb
EOF
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}."
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
}

View File

@ -1,11 +1,11 @@
# Copyright 1999-2018 Gentoo Foundation
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{5,6} pypy )
inherit multiprocessing multilib-build python-any-r1 toolchain-funcs versionator
inherit eapi7-ver multiprocessing multilib-build python-any-r1 toolchain-funcs
if [[ ${PV} = *beta* ]]; then
betaver=${PV//*beta}
@ -13,25 +13,24 @@ if [[ ${PV} = *beta* ]]; then
MY_P="rustc-beta"
SLOT="beta/${PV}"
SRC="${BETA_SNAPSHOT}/rustc-beta-src.tar.xz"
KEYWORDS=""
else
ABI_VER="$(get_version_component_range 1-2)"
ABI_VER="$(ver_cut 1-2)"
SLOT="stable/${ABI_VER}"
MY_P="rustc-${PV}"
SRC="${MY_P}-src.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
KEYWORDS="amd64 ~arm64 x86"
fi
CHOST_amd64=x86_64-unknown-linux-gnu
CHOST_x86=i686-unknown-linux-gnu
CHOST_arm64=aarch64-unknown-linux-gnu
RUST_STAGE0_VERSION="1.$(($(get_version_component_range 2) - 1)).2"
RUST_STAGE0_VERSION="1.$(($(ver_cut 2) - 1)).0"
RUST_STAGE0_amd64="rust-${RUST_STAGE0_VERSION}-${CHOST_amd64}"
RUST_STAGE0_x86="rust-${RUST_STAGE0_VERSION}-${CHOST_x86}"
RUST_STAGE0_arm64="rust-${RUST_STAGE0_VERSION}-${CHOST_arm64}"
CARGO_DEPEND_VERSION="0.$(($(get_version_component_range 2) + 1)).0"
CARGO_DEPEND_VERSION="0.$(($(ver_cut 2) + 1)).0"
DESCRIPTION="Systems programming language from Mozilla"
HOMEPAGE="https://www.rust-lang.org/"
@ -49,10 +48,18 @@ LLVM_TARGET_USEDEPS=${ALL_LLVM_TARGETS[@]/%/?}
LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
IUSE="cargo debug doc +jemalloc rls rustfmt wasm ${ALL_LLVM_TARGETS[*]}"
IUSE="cargo clippy cpu_flags_x86_sse2 debug doc +jemalloc libressl rls rustfmt wasm ${ALL_LLVM_TARGETS[*]}"
RDEPEND=">=app-eselect/eselect-rust-0.3_pre20150425
jemalloc? ( dev-libs/jemalloc )"
jemalloc? ( dev-libs/jemalloc )
cargo? (
sys-libs/zlib
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
net-libs/libssh2
net-libs/http-parser:=
net-misc/curl[ssl]
)"
DEPEND="${RDEPEND}
${PYTHON_DEPS}
|| (
@ -65,7 +72,8 @@ DEPEND="${RDEPEND}
"
PDEPEND="!cargo? ( >=dev-util/cargo-${CARGO_DEPEND_VERSION} )"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )"
REQUIRED_USE="|| ( ${ALL_LLVM_TARGETS[*]} )
x86? ( cpu_flags_x86_sse2 )"
S="${WORKDIR}/${MY_P}-src"
@ -102,9 +110,13 @@ src_configure() {
extended="true"
tools="\"cargo\","
fi
if use clippy; then
extended="true"
tools="\"clippy\",$tools"
fi
if use rls; then
extended="true"
tools="\"rls\",$tools"
tools="\"rls\",\"analysis\",\"src\",$tools"
fi
if use rustfmt; then
extended="true"
@ -146,6 +158,7 @@ src_configure() {
debug-assertions = $(toml_usex debug)
use-jemalloc = $(toml_usex jemalloc)
default-linker = "$(tc-getCC)"
channel = "stable"
rpath = false
lld = $(toml_usex wasm)
EOF
@ -170,21 +183,21 @@ src_configure() {
if use wasm; then
cat <<- EOF >> "${S}"/config.toml
[target.wasm32-unknown-unknown]
linker = "lld"
linker = "rust-lld"
EOF
fi
}
src_compile() {
env $(cat "${S}"/config.env)\
./x.py build --config="${S}"/config.toml -j$(makeopts_jobs) \
"${EPYTHON}" ./x.py build --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}" ./x.py install || die
env DESTDIR="${D}" "${EPYTHON}" ./x.py install || die
mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
@ -193,6 +206,10 @@ src_install() {
if use cargo; then
mv "${D}/usr/bin/cargo" "${D}/usr/bin/cargo-${PV}" || die
fi
if use clippy; then
mv "${D}/usr/bin/clippy-driver" "${D}/usr/bin/clippy-driver-${PV}" || die
mv "${D}/usr/bin/cargo-clippy" "${D}/usr/bin/cargo-clippy-${PV}" || die
fi
if use rls; then
mv "${D}/usr/bin/rls" "${D}/usr/bin/rls-${PV}" || die
fi
@ -231,14 +248,18 @@ src_install() {
/usr/bin/rust-lldb
EOF
if use cargo; then
echo /usr/bin/cargo >> "${T}/provider-${P}"
echo /usr/bin/cargo >> "${T}/provider-${P}"
fi
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}"
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}"
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

View File

@ -1,14 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( >=dev-lang/python-2.7.5-r2:2.7 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=debug doc extended +jemalloc
KEYWORDS=amd64 ~arm64 x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!extended? ( >=dev-util/cargo-0.26.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc )
SLOT=stable/1.25
SRC_URI=https://static.rust-lang.org/dist/rustc-1.25.0-src.tar.gz -> rustc-1.25.0-src.tar.gz amd64? ( https://static.rust-lang.org/dist/rust-1.24.0-x86_64-unknown-linux-gnu.tar.gz ) x86? ( https://static.rust-lang.org/dist/rust-1.24.0-i686-unknown-linux-gnu.tar.gz ) arm64? ( https://static.rust-lang.org/dist/rust-1.24.0-aarch64-unknown-linux-gnu.tar.gz )
_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multilib b2f01ad412baf81650c23fcf0975fa33 multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861 versionator 2352c3fc97241f6a02042773c8287748
_md5_=4a8bae8f2989648a294a360f810d10c7

View File

@ -1,15 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=debug doc extended +jemalloc wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!extended? ( >=dev-util/cargo-0.27.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc )
REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore )
SLOT=stable/1.26
SRC_URI=https://static.rust-lang.org/dist/rustc-1.26.2-src.tar.xz -> rustc-1.26.2-src.tar.xz amd64? ( https://static.rust-lang.org/dist/rust-1.25.0-x86_64-unknown-linux-gnu.tar.xz ) x86? ( https://static.rust-lang.org/dist/rust-1.25.0-i686-unknown-linux-gnu.tar.xz ) arm64? ( https://static.rust-lang.org/dist/rust-1.25.0-aarch64-unknown-linux-gnu.tar.xz )
_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multibuild 40fe59465edacd730c644ec2bc197809 multilib b2f01ad412baf81650c23fcf0975fa33 multilib-build b42436dc1260f475af229754c165cb6b multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861 versionator 2352c3fc97241f6a02042773c8287748
_md5_=e500705a9251c5c7e86d9e463418d32e

View File

@ -1,15 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=debug doc extended +jemalloc wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!extended? ( >=dev-util/cargo-0.27.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc )
REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore )
SLOT=stable/1.27
SRC_URI=https://static.rust-lang.org/dist/rustc-1.27.1-src.tar.xz -> rustc-1.27.1-src.tar.xz amd64? ( https://static.rust-lang.org/dist/rust-1.26.2-x86_64-unknown-linux-gnu.tar.xz ) x86? ( https://static.rust-lang.org/dist/rust-1.26.2-i686-unknown-linux-gnu.tar.xz ) arm64? ( https://static.rust-lang.org/dist/rust-1.26.2-aarch64-unknown-linux-gnu.tar.xz )
_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multibuild 40fe59465edacd730c644ec2bc197809 multilib b2f01ad412baf81650c23fcf0975fa33 multilib-build b42436dc1260f475af229754c165cb6b multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861 versionator 2352c3fc97241f6a02042773c8287748
_md5_=7b999aa2c85736bef9a29a9ed214d8ea

View File

@ -1,15 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) cargo? ( !dev-util/cargo ) rustfmt? ( !dev-util/rustfmt ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=cargo debug doc +jemalloc rls rustfmt wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!cargo? ( >=dev-util/cargo-0.27.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc )
REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore )
SLOT=stable/1.27
SRC_URI=https://static.rust-lang.org/dist/rustc-1.27.1-src.tar.xz -> rustc-1.27.1-src.tar.xz amd64? ( https://static.rust-lang.org/dist/rust-1.26.2-x86_64-unknown-linux-gnu.tar.xz ) x86? ( https://static.rust-lang.org/dist/rust-1.26.2-i686-unknown-linux-gnu.tar.xz ) arm64? ( https://static.rust-lang.org/dist/rust-1.26.2-aarch64-unknown-linux-gnu.tar.xz )
_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multibuild 40fe59465edacd730c644ec2bc197809 multilib b2f01ad412baf81650c23fcf0975fa33 multilib-build b42436dc1260f475af229754c165cb6b multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861 versionator 2352c3fc97241f6a02042773c8287748
_md5_=5036fc2a608adbdc336649dfd8747454

View File

@ -1,15 +0,0 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) cargo? ( !dev-util/cargo ) rustfmt? ( !dev-util/rustfmt ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=cargo debug doc +jemalloc rls rustfmt wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
KEYWORDS=~amd64 ~arm64 ~x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!cargo? ( >=dev-util/cargo-0.29.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc )
REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore )
SLOT=stable/1.28
SRC_URI=https://static.rust-lang.org/dist/rustc-1.28.0-src.tar.xz -> rustc-1.28.0-src.tar.xz amd64? ( https://static.rust-lang.org/dist/rust-1.27.2-x86_64-unknown-linux-gnu.tar.xz ) x86? ( https://static.rust-lang.org/dist/rust-1.27.2-i686-unknown-linux-gnu.tar.xz ) arm64? ( https://static.rust-lang.org/dist/rust-1.27.2-aarch64-unknown-linux-gnu.tar.xz )
_eclasses_=estack 43ddf5aaffa7a8d0482df54d25a66a1f multibuild 40fe59465edacd730c644ec2bc197809 multilib b2f01ad412baf81650c23fcf0975fa33 multilib-build b42436dc1260f475af229754c165cb6b multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861 versionator 2352c3fc97241f6a02042773c8287748
_md5_=40a8b9c98c17d5970c191adb0ad13121

View File

@ -0,0 +1,15 @@
DEFINED_PHASES=compile configure install postinst postrm prepare setup
DEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) cargo? ( sys-libs/zlib !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) net-libs/libssh2 net-libs/http-parser:= net-misc/curl[ssl] ) || ( dev-lang/python:3.6 dev-lang/python:3.5 >=dev-lang/python-2.7.5-r2:2.7 >=virtual/pypy-5:0 ) || ( >=sys-devel/gcc-4.7 >=sys-devel/clang-3.5 ) cargo? ( !dev-util/cargo ) rustfmt? ( !dev-util/rustfmt ) dev-util/cmake
DESCRIPTION=Systems programming language from Mozilla
EAPI=6
HOMEPAGE=https://www.rust-lang.org/
IUSE=cargo clippy cpu_flags_x86_sse2 debug doc +jemalloc libressl rls rustfmt wasm llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore abi_x86_32 abi_x86_64 abi_x86_x32 abi_mips_n32 abi_mips_n64 abi_mips_o32 abi_ppc_32 abi_ppc_64 abi_s390_32 abi_s390_64
KEYWORDS=amd64 ~arm64 x86
LICENSE=|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA
PDEPEND=!cargo? ( >=dev-util/cargo-0.30.0 )
RDEPEND=>=app-eselect/eselect-rust-0.3_pre20150425 jemalloc? ( dev-libs/jemalloc ) cargo? ( sys-libs/zlib !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:0= ) net-libs/libssh2 net-libs/http-parser:= net-misc/curl[ssl] )
REQUIRED_USE=|| ( llvm_targets_AArch64 llvm_targets_AMDGPU llvm_targets_ARM llvm_targets_BPF llvm_targets_Hexagon llvm_targets_Lanai llvm_targets_Mips llvm_targets_MSP430 llvm_targets_NVPTX llvm_targets_PowerPC llvm_targets_Sparc llvm_targets_SystemZ llvm_targets_X86 llvm_targets_XCore ) x86? ( cpu_flags_x86_sse2 )
SLOT=stable/1.29
SRC_URI=https://static.rust-lang.org/dist/rustc-1.29.1-src.tar.xz -> rustc-1.29.1-src.tar.xz amd64? ( https://static.rust-lang.org/dist/rust-1.28.0-x86_64-unknown-linux-gnu.tar.xz ) x86? ( https://static.rust-lang.org/dist/rust-1.28.0-i686-unknown-linux-gnu.tar.xz ) arm64? ( https://static.rust-lang.org/dist/rust-1.28.0-aarch64-unknown-linux-gnu.tar.xz )
_eclasses_=eapi7-ver 756b3f27d8e46131d5cf3c51bd876446 multibuild 40fe59465edacd730c644ec2bc197809 multilib b2f01ad412baf81650c23fcf0975fa33 multilib-build b42436dc1260f475af229754c165cb6b multiprocessing cac3169468f893670dac3e7cb940e045 python-any-r1 4900ae970f827a22d33d41bd8b8f9ace python-utils-r1 12114a2a9aab35b93efc037a196b3234 toolchain-funcs f164325a2cdb5b3ea39311d483988861
_md5_=d35dd6f9d61840a08ad5d7d8cdee774f