commit:     9b506ab7d8bee72db3f6f76b3a407b1ef40f6d8c
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Thu May  6 20:59:51 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Thu May  6 21:21:52 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b506ab7

dev-lang/rust-bin: bump to 1.52.0

Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-lang/rust-bin/Manifest               |  30 +++++
 dev-lang/rust-bin/rust-bin-1.52.0.ebuild | 187 +++++++++++++++++++++++++++++++
 2 files changed, 217 insertions(+)

diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index 9bf0bfef1f4..2c0af0ed1d8 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -28,3 +28,33 @@ DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz 147543532 
BLAKE2B 44ac97f6b650e
 DIST rust-1.51.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
033c41c165cf50a63479d1352a33abe94a63d9730f02016d09bf2e8a8804587d4fc802c047e7417e0befca2d5df5ca8c79a714ec1c1fb389240b6e8931fb9e9b
 SHA512 
e314a7db9aaff445b67f828bf9a98705032071928e2102524c0c720a3b8feb292b8c6766838b92da2d213e93bf53fb780fc856b0370238fbb7e20431d2de6d5c
 DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz 233773068 BLAKE2B 
cc9de90b967cc81005ce5c897d3fd6dc4e3880be96ac82c41382d19a8aca0244845830db7a33eaef85b6bdef0c00ae02c0390db932fa49f76e362af2c68edb56
 SHA512 
d8df3c4c3de435629986e21bc6b31edfb73cba394e76cf87ee98d2936f73aef60c988d020da7ec1188f6448eacad9d5aefed073f4f88ffa2eaac54ac7e3cb3f7
 DIST rust-1.51.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
2e2c20fe99b33e5361b1945f54b77d5e8acad34d1be9cadfd1971b2882e38bc4403a5a67769a74fdd7ab21434784f03084780ef827e26318168bf5d531f9e9bd
 SHA512 
42392e8283a28d58d4874dbf97caa0377f27c6599c272c715fcdefee48551004d491f0509f2894f5696a2820f11dbb333e3bf878cbdf24b0c58add4a493acecc
+DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz 215549836 BLAKE2B 
d4179cc67772cd6b92085d68f4bb9de006fca7d8470a56766ac5d94a0379ae675d18c5275ec2ed1eab71274ce4f416a77f3ce74d849a1d4118b5a7ddec205a3c
 SHA512 
7a26e14be6b27c7084c7c85b312341ab991c2df91ea53128f14707a4c725dd03ba7df30b9e9fcef39a509ab4f5d5feb028b99d6d9ffcc059996ed29b83eb90b9
+DIST rust-1.52.0-aarch64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
e66afc44186f48548dffcd7c6d7d92b4fbecea48bf3f7970d211844b5401a2556a138993517d049265109146a48856c7106616100ed63a5fa3f263d7023af6b6
 SHA512 
75ff89cd071641b01f4d483aca5997f6b3857d477b6fb40e6fdf11ff2ecdca74618cc59a9f0d1d2f942bde2d9a8738ac6f821d21d79f3ed85830ef530636a607
+DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz 214159336 BLAKE2B 
1b2afb80df6bf75d516127f07d57d12d876f12879c1d87059ab1c40ee1325ddb4e0c22f2fa185dab72f7633bce7d2ff5ed92ce4e88d4e118ac80630a061ec0c4
 SHA512 
9461c7272ac3e2c854e8e5f24cd57e5d648a3f923a9413eebd9f45a143d27378bc09c4d30ee7a1773a56baa31066dcc9f955b0805ce9f47d81b52e47a3a3e369
+DIST rust-1.52.0-aarch64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
71e8d615e921a70341b543992eef062186f72169a9763562114af8afd8ab3469a104677fe103a04a03881ec308b25fff412ba4eaac6e4ff02f29527ddefce8b8
 SHA512 
1033d23a2c05ec207c7fe032f5d9986d5a1d839ca54b0ea57a7a35c8c37512e9732835f2f280f436af326e948da913492f84cd6d0dfb9c397a095167f31e4c04
+DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz 195145936 BLAKE2B 
3c2e1f947164a18b0a0e642775560c23407eb9f79ce426b6f191eab3204b78288aa404c9f5d388a0831ff124a92c4bad6927edc252ec82f0fed194b361c75256
 SHA512 
20fd1d03f3c9a935d0fd282fc7ea5808165b45865044ba8a8b09ee07d1410ad80401f800d1c70dab9e42b496deb58def88d8dd10de551e2a086e9cdede06385a
+DIST rust-1.52.0-arm-unknown-linux-gnueabi.tar.xz.asc 801 BLAKE2B 
d73e4062015a30339dc0210afaa6779912051968b174a21f09e518ecc74a763d01fee8a813e08dbd7103583d7496b76248755e2c382e8e645c0524982a7bc0bb
 SHA512 
e707a9a1960db80602d6b5d827e81fd828cca30807bdf78e7adf9378526450c5ec87d4068b3c395142fc532cf7dee7782a5f077d8ef5051c79f2b86f8631c21b
+DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz 195367332 BLAKE2B 
72bfb4303f3e3077958cea7050dd4100619eb14fb164d33c6ce696d3b6ddbb2099cc2850dd17b961dfb40cb1b5b20ee8158f87e0fe76426e728b2dd7752870bc
 SHA512 
6b2f4d907ebc53983cadce97a10036a6f7e333aea1e301067fccbc38dfcc6a49ad5770cb366bc2df82aee148d88edc122930355409f0926273f85b72bf4b261f
+DIST rust-1.52.0-arm-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
21a835f06fb41677db5cf1a06244b2ea3caa8462330c2599e6a77d4c82054f8bd717ba790cdf06f280f62adaeb839cb1ff7cc6dbce76fac75ca4791f1d72644d
 SHA512 
ff46a6b6b086bc785faeeaa5db2de0c79d1898651f2113a726a08d81136b687e13eb03bb635c6c43cbeae2ec897999d2867a9c925436131871a61d7f93a5bad2
+DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz 201614124 BLAKE2B 
780358a279a80aac343ed737068faea9ddc9ace4a52694a32a0df504e6864fb2da30474ead9e3419370a7c7d6465ffd957fae475d852e504390222a939294270
 SHA512 
100b9abdc3dc7852f880eea205056a7a6b78af39fc3b7019ebcac712d5eee3c053f0508a6dc1f9da13074ca476e9fb33514bb83098d3b41964e878c0fc6498d4
+DIST rust-1.52.0-armv7-unknown-linux-gnueabihf.tar.xz.asc 801 BLAKE2B 
e93e9ff5068ac52bb85c42c64b528f60fac755e022b9be7680e203ad3acdee44e8cdfa00f06f4096b17106d2fe3287061c66fd411e2e6449301b0c4befd81e98
 SHA512 
7c8e6cc76b4d22a4b7fdd88e73e5f99fec9bb9d9cd86293a4813d25a11739e4f104f3c8c5a1113240909757b893fd88ef34a6fc7139a6d37923d241ac60c01cf
+DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz 214798144 BLAKE2B 
dae7a81f1bce6f24d9766621d751b090c4a560af83686f19ae4d309da5fc8f59f1a46caea03bad593018a07ff44bd078ac5e775edf4b92ad178f641a5a3f7626
 SHA512 
10fcf9e891ae8bc6e83b5e71c83b34773c18b024c9e9b580cfae714b4e135d313ba5434fc28c2dffa3db2e50669b3acd07e6874de0cfab89b343db92bfbdff80
+DIST rust-1.52.0-i686-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
699ca61fbe0f9763b5e3040f0d2854e34d6650f55dae2e864b88aa1d0402551a372970a3b6f4758e03619dba1201fb288c49a255eb1e7ea7ea0cb7668dde9604
 SHA512 
fc38e23183f104ed092072666bce6e40ab44822568ea69f31d5131508c53532a5db0c7148434605df6ee216559eb5927fac1ac32c17b3a3ebc336953f98a3ae6
+DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz 155487344 BLAKE2B 
8f4d1dd47830f9d691e564ccab1a265e4f2622edc93f942d7db222b06c5f855187c855823bf0f38d7c534158905ee9eab6e5455900832891fd34c2b5649f4dc3
 SHA512 
9395eba6b7c8ddb5a35ff6e7bcc43eddc7fd2c7604a508a30aa63c4648bc3c9fee228cfd54cef6a2604cc8b695178c9d04cd8d05664279ef0bbca886e0d74a6b
+DIST rust-1.52.0-mips-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
8d226ab1e1f85620463e4cb1eaf2d363906d3eb5d7bed82e24b4f84c8969c649fc899b0dc446f4160ebc273850f158322cae1553ad499dfeee4ff34eaf161e52
 SHA512 
ed26f86680332d82aeb3dc8592f634a56b2269f5c4fbc75223b05cbd3775d6d8b4421dbddce96cd1fbf1f84cdd585f2b779c6a3f11639c101245bfe76a0a0cfa
+DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz 165086396 BLAKE2B 
1241fce74a0583719d5e40cd48239de5fa7e121f87baf0f1e4f18106a69a3e6c6991754cf7c62492f850919ed02fd371c9e7360972d6ab4b556c243c72bcda89
 SHA512 
6ebda7432d5fd0d5a99c684e2dab2db0446d5d4ba1000696c14c26f5288c763dc0743af197c6fe809e2e6f90d90b12d84714ff64f195ca415760d9110c6f8b0a
+DIST rust-1.52.0-mips64-unknown-linux-gnuabi64.tar.xz.asc 801 BLAKE2B 
58ebdce3798c0a95a08394bd8398dce5e145848fc2a97233c69befd9b541af526324d777dec4909b7586709bdf6af8ec69cae980032dc86c650047dff057e823
 SHA512 
34a16221fa0e09acf88e67f7425ed6154caa8b9a1dd2eafe4cc8167204bb57cfc96824047e4e070b5e91109c45376a8873d873b329ed74df43b279f29768fa8a
+DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz 158692144 BLAKE2B 
331afebbbc7d5c0fa5eaf182e8642f7b38c583418469a7e2b282378556db3813445b552ea89a596df56030a119e1deda1e1bbdc1983f5dacd3115e9de7c860c5
 SHA512 
0149304d963eeffbbb929eb6f1f24a3f1e5d43c627252bcca8df86fe894858d5d399eb5f8ddabbaf8c2768f93ee05fbaa82b1552c76dbb319614f0e93b21558e
+DIST rust-1.52.0-mipsel-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
a4b835e14bcd9f1c24cb66dd1daf4777d25681ab175b377dba37ca4bc51e0bf360df4fb6feb3e85e0c05f79be31e51d180ffea30bc0cd96f69ca455cc4b2238d
 SHA512 
c9b33e4ca113343b08e16410b509aca98c08338e131581d223435f8d1eb1248e2abc6a0ef10cf612fd4a305d88d4fb605785d4c067520dff5b699ce00e2799bf
+DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz 170724484 BLAKE2B 
1e58e0a338498061c0e46e65660fcf01bd8461b3fcded864ba63196d4fc29e0b56e026e4d80b7535b63bb5bc204c748165498e7cfcda3713a97aa17bd8ac65b1
 SHA512 
44af21d9cf5d5d654f1f9437aefb61ba5bd3f3bdc67c657fba8ab03494a7ead53b6f5be17153f1f20acf099cd90760de29008c76fd766d6facbab32bf7921523
+DIST rust-1.52.0-powerpc-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
6e42783107d1aae59f771284f15e1304595da710700a7664cc199fe7544dfb9cdfcb8c5f67e3c520a68ffb7fd7202de2f071cf92ce95b858f38e4ceb72649c4c
 SHA512 
a68c780526a0dc3ba6c9e74258b124f4e64f52dab1dc0d1bcac5cbed752a9884caf858be2a1b9eb987b400a26b824e556bbf5280f64a4f51df0aae8c3073b9aa
+DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz 184549672 BLAKE2B 
2121f8d22d9348a61ba9eecb40bb13afee199450c7bba2d1852169f3b61ec193ea6979483139875c29a0a767732f5ffe12f81528c713492e0173084691b4b7d2
 SHA512 
7c24c9193fc4fe2109e38f140a8c240e0535171460de9965291c08003abe7c1ea89796afa7dcb2018eece4d9eed48ebf9469d1a040f06ab4f6a12807c789f7d8
+DIST rust-1.52.0-powerpc64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
7f5d881c1e1618be807ed6f65551fbec9190345f30c24b3c99c69e19cf87cda39c0fa6d0667d6e10e27444a864f9d49638f79fb8ac2d57558d745c3496ed01c7
 SHA512 
1b73e49173325b3ec9fea1c346f702ae33235aacd0b821d5b9a90148a26046e45fb547223a0cef6fadf03b5124a824a9b83984f3b5841cd5d3b861aa3223aa88
+DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz 194640544 BLAKE2B 
aa5e59e6059bbba874c40f7570404fbcfa5108aceb04f53ae42fc8ea4e833917f3cf6e84a1dd69cc5bf9cec3bbf0b3063258ff57699d3d0769038b44f4ccdf33
 SHA512 
916a3338c850cf804535e25aebc0fdcf6cea8fe9e5df9fed11fbf03ae81fb8220321dc41edd7133f287dfee0dbf19730ff8b020f32322850329865db76bab95e
+DIST rust-1.52.0-powerpc64le-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
ee33eefaf5b2eb96ef8fc2746334489b798b95f6b10e64deeaad72c4c1b45c9e335e450d8f896eec50c1b912b8e063ecec246c1d35c97f471236a876af7d36b4
 SHA512 
a66796a7459316f593649ebb309394d67bcf5ac241fd488c8e480df1837818369f79a198d1e56eb0488ab50dbad8d4162392709a2115005694ca0dd16f7e42ed
+DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz 194810848 BLAKE2B 
72d68066f492c2eb2ed7e9061b2a67a603aa6ef8738004a1d7ec21753c3bb1466c81fd7a18f674d156b8b4e3c755d641b0acccfa726ad04ac17be3199e941938
 SHA512 
6a91adf7c1947b63db0bf02b4aa4a36fbbfcc5b40d9c18175e4c5efe785b8a17ff21a887476cf76f7e3d3854f2cc362b5d2dc8243493291a4d19a705276e6355
+DIST rust-1.52.0-s390x-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
c9b51ff09e6de5d9d3cf93e0f21df52f1738aa6c1e7b93851512d9f464bec757477183c693a1740082a36564c10cd13569c129f026680506c1e1fae8192c835d
 SHA512 
147498154e9ab97ec4e7c0037e6873f4eb5d23c53e2f53068e979815e7d4883c9a7a338048d21abf685f0fa348cc01e342f2d5a32856b11c52663910786750f3
+DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz 143053436 BLAKE2B 
cdbbd529c5d820318530e56347426bced5addd6f20886719abfbff6e174afadd94be36b1f3e6ba878b14198641b4a53c78f33e79bdc90025696a57659753bdac
 SHA512 
27a8db421ae62af92e2c34dcc1fdd617bf7e8de2c68205773a3037be496ccbf21f5549dd18377a9730102e7915519824231218fef9a09abe9d116441d6ce28d2
+DIST rust-1.52.0-x86_64-unknown-linux-gnu.tar.xz.asc 801 BLAKE2B 
ec204ee0968d4114023f40dfdd8654451149b5433dbb4eec192cc68135f45ed28ae7b06eabdab417401529162c11939ee101f7eddce304111fe93e9806347902
 SHA512 
4ae425def112d8c38e91ded53fdd73a6c7d2043eda22ce955aaa7303ff2cd6e7e8d0cfaa0d596b29195ba449811653f91b9b65c8c96b3cc8136d060609594828
+DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz 239422556 BLAKE2B 
8bef78b335b384e6bf7a5dd4a47511aa69ce0de6f9d1ab78146cd55f37e01b358a0cb82b95dcd27d25d4a114b707155b923415f9a91e6a75ab83bca9f5f7e0e3
 SHA512 
30a9f45f591c3beb34deee23611b5afe0f90b7a2a1b7b813498547b3264ecb98ef1d6bdfb77468bd5364f2942d927418037eb4ffe413db520c701fdf79c89bf2
+DIST rust-1.52.0-x86_64-unknown-linux-musl.tar.xz.asc 801 BLAKE2B 
2d69f81dd47ce7387311b576a7770f2b457beebba8cd1554e5eac501025b7b54e72078b69c7cf8a61bc295298d7f277f39a070ee8d83564942149a1b42089594
 SHA512 
688e3eaaf2a7e7995a9b36e6856b7922b4deada31fdab198df335b316672d20bc80e5e717cee4e2fc2f51ec8abaf97880dfa5424a7b122e46b02fb7f62836378

diff --git a/dev-lang/rust-bin/rust-bin-1.52.0.ebuild 
b/dev-lang/rust-bin/rust-bin-1.52.0.ebuild
new file mode 100644
index 00000000000..2b18190563a
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.52.0.ebuild
@@ -0,0 +1,187 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 prefix rust-toolchain toolchain-funcs verify-sig 
multilib-minimal
+
+MY_P="rust-${PV}"
+
+DESCRIPTION="Systems programming language from Mozilla"
+HOMEPAGE="https://www.rust-lang.org/";
+SRC_URI="$(rust_all_arch_uris ${MY_P})"
+
+LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
+SLOT="stable"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc prefix rls rustfmt"
+
+DEPEND=""
+RDEPEND=">=app-eselect/eselect-rust-20190311"
+BDEPEND="
+       prefix? ( dev-util/patchelf )
+       verify-sig? ( app-crypt/openpgp-keys-rust )
+"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+       opt/${P}/bin/.*
+       opt/${P}/lib/.*.so
+       opt/${P}/libexec/.*
+       opt/${P}/lib/rustlib/.*/bin/.*
+       opt/${P}/lib/rustlib/.*/lib/.*
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH="/usr/share/openpgp-keys/rust.asc"
+
+pkg_pretend() {
+       if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
+               die "${CHOST} is not supported by upstream Rust. You must use a 
hard float version."
+       fi
+}
+
+src_unpack() {
+       verify-sig_src_unpack
+       mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+patchelf_for_bin() {
+       local filetype=$(file -b ${1})
+       if [[ ${filetype} == *ELF*interpreter* ]]; then
+               einfo "${1}'s interpreter changed"
+               patchelf ${1} --set-interpreter ${2} || die
+       elif [[ ${filetype} == *script* ]]; then
+               hprefixify ${1}
+       fi
+}
+
+multilib_src_install() {
+       if multilib_is_native_abi; then
+
+       # start native abi install
+       pushd "${S}" >/dev/null || die
+       local analysis std
+       analysis="$(grep 'analysis' ./components)"
+       std="$(grep 'std' ./components)"
+       local components="rustc,cargo,${std}"
+       use doc && components="${components},rust-docs"
+       use clippy && components="${components},clippy-preview"
+       use rls && components="${components},rls-preview,${analysis}"
+       use rustfmt && components="${components},rustfmt-preview"
+       ./install.sh \
+               --components="${components}" \
+               --disable-verify \
+               --prefix="${ED}/opt/${P}" \
+               --mandir="${ED}/opt/${P}/man" \
+               --disable-ldconfig \
+               || die
+
+       if use prefix; then
+               local interpreter=$(patchelf --print-interpreter 
${EPREFIX}/bin/bash)
+               ebegin "Changing interpreter to ${interpreter} for Gentoo 
prefix at ${ED}/opt/${P}/bin"
+               find "${ED}/opt/${P}/bin" -type f -print0 | \
+                       while IFS=  read -r -d '' filename; do
+                               patchelf_for_bin ${filename} ${interpreter} \; 
|| die
+                       done
+               eend $?
+       fi
+
+       local symlinks=(
+               cargo
+               rustc
+               rustdoc
+               rust-gdb
+               rust-gdbgui
+               rust-lldb
+       )
+
+       use clippy && symlinks+=( clippy-driver cargo-clippy )
+       use rls && symlinks+=( rls )
+       use rustfmt && symlinks+=( rustfmt cargo-fmt )
+
+       einfo "installing eselect-rust symlinks and paths"
+       local i
+       for i in "${symlinks[@]}"; do
+               # we need realpath on /usr/bin/* symlink return 
version-appended binary path.
+               # so /usr/bin/rustc should point to 
/opt/rust-bin-<ver>/bin/rustc-<ver>
+               local ver_i="${i}-bin-${PV}"
+               ln -v "${ED}/opt/${P}/bin/${i}" "${ED}/opt/${P}/bin/${ver_i}"
+               dosym "../../opt/${P}/bin/${ver_i}" "/usr/bin/${ver_i}"
+       done
+
+       # symlinks to switch components to active rust in eselect
+       dosym "../../../opt/${P}/lib" "/usr/lib/rust/lib-bin-${PV}"
+       dosym "../../../opt/${P}/man" "/usr/lib/rust/man-bin-${PV}"
+       dosym "../../opt/${P}/lib/rustlib" "/usr/lib/rustlib-bin-${PV}"
+       dosym "../../../opt/${P}/share/doc/rust" "/usr/share/doc/${P}"
+
+       # musl logic can be improved a bit, but fine as is for now
+       cat <<-_EOF_ > "${T}/50${P}"
+       LDPATH="${EPREFIX}/usr/lib/rust/lib"
+       MANPATH="${EPREFIX}/usr/lib/rust/man"
+       $(use amd64 && usex elibc_musl 
'CARGO_TARGET_X86_64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
+       $(use arm64 && usex elibc_musl 
'CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_RUSTFLAGS="-C 
target-feature=-crt-static"' '')
+       _EOF_
+       doenvd "${T}/50${P}"
+
+       # note: eselect-rust adds EROOT to all paths below
+       cat <<-_EOF_ > "${T}/provider-${P}"
+       /usr/bin/cargo
+       /usr/bin/rustdoc
+       /usr/bin/rust-gdb
+       /usr/bin/rust-gdbgui
+       /usr/bin/rust-lldb
+       /usr/lib/rustlib
+       /usr/lib/rust/lib
+       /usr/lib/rust/man
+       /usr/share/doc/rust
+       _EOF_
+
+       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
+
+       insinto /etc/env.d/rust
+       doins "${T}/provider-${P}"
+       popd >/dev/null || die
+       #end native abi install
+
+       else
+               local rust_target
+               rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
+               dodir "/opt/${P}/lib/rustlib"
+               cp -vr 
"${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
+                       "${ED}/opt/${P}/lib/rustlib" || die
+       fi
+
+       # BUG: installs x86_64 binary on other arches
+       rm -f "${ED}/opt/${P}/lib/rustlib/"*/bin/rust-llvm-dwp || die
+}
+
+pkg_postinst() {
+       eselect rust update
+
+       elog "Rust installs a helper script for calling GDB now,"
+       elog "for your convenience it is installed under 
/usr/bin/rust-gdb-bin-${PV}."
+
+       if has_version app-editors/emacs; 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
+}
+
+pkg_postrm() {
+       eselect rust cleanup
+}

Reply via email to