summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgy Yakovlev <gyakovlev@gentoo.org>2020-04-24 19:32:56 -0700
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2020-04-24 23:05:50 -0700
commitbb80483ead24db59cd1b0df05ac0446a0dde4b0c (patch)
treee2e50d04d57131e8a07e9c7fcfa1586b481b3733 /dev-lang/rust-bin
parenteclass/rust-toolchain.eclass: add multilib support on amd64 (diff)
downloadgentoo-bb80483ead24db59cd1b0df05ac0446a0dde4b0c.tar.gz
gentoo-bb80483ead24db59cd1b0df05ac0446a0dde4b0c.tar.bz2
gentoo-bb80483ead24db59cd1b0df05ac0446a0dde4b0c.zip
dev-lang/rust-bin: bump to 1.43.0, multilib on amd64
Bug: https://bugs.gentoo.org/701362 Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
Diffstat (limited to 'dev-lang/rust-bin')
-rw-r--r--dev-lang/rust-bin/Manifest14
-rw-r--r--dev-lang/rust-bin/rust-bin-1.43.0.ebuild184
2 files changed, 198 insertions, 0 deletions
diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
index d39edcaddb84..2f9684c805a5 100644
--- a/dev-lang/rust-bin/Manifest
+++ b/dev-lang/rust-bin/Manifest
@@ -26,3 +26,17 @@ DIST rust-1.42.0-powerpc64le-unknown-linux-gnu.tar.xz 109926880 BLAKE2B 92a9067f
DIST rust-1.42.0-s390x-unknown-linux-gnu.tar.xz 116937084 BLAKE2B 4d68801c7c40aa0aca24d19d25e80614b5b40aa2715aacddb6b9f5441b1c7e19e7b0d396caea860607df1dc580deadc43d9cd1f988cbe654b3132b665f9032af SHA512 85b1331a9a71cc43a2fa628b8510590ff072e409c2c38ebfd9089ab7a245182e23b52f6221b25c63f6048e1bf4ada0f561dd8f3f810680c9727040bc8a0d8d46
DIST rust-1.42.0-x86_64-unknown-linux-gnu.tar.xz 110826392 BLAKE2B 8c90bacc9b350d64c4084edf104e9004461d681e19f8e8179ff6eb0b2bc50e25d95e3ed13c83f77224cc60f374f3961f0069dfe20512c844598b8eb2393300b0 SHA512 87c06d4503e7ba12bd3dfc8dd279a3bdf33a24d2c22eec1378b79b2c17ccdad9b4c8dbd0d4704eae1f3476aec5639d3ba143e8c74a296d631b17b57da7447e70
DIST rust-1.42.0-x86_64-unknown-linux-musl.tar.xz 97471188 BLAKE2B 29e7089a33a20e5c57a68c171e6b049e5dbc97d4c940106bbf7116c970e7ddb2271b1cf33162b4141d89b0b59049e09ca49c848a326036eefbc03e369f3ab18e SHA512 d804a08e38fa6735ce57067a3c39c59e2932943aa8baf43419815e9c743f50e198d88ef80d87fc193b8bcba011c685471146c0741954095eed74e41f86de38c8
+DIST rust-1.43.0-aarch64-unknown-linux-gnu.tar.xz 103995164 BLAKE2B 176c7fe79ab9bc28acae5836bd1af024320e89debe31713f611fe9338656a1357e7538035a8d9da8c2258715ea4724cabfca60af67df2c521e5a92c48f0b6daf SHA512 99cc7913d49c58a6a5f5b065afaff58ecf6cb00f5a83b8047944d2bde94eed9a33a7edc88373c52a371bad4f1b5f8d8742ac22ac9c05911223e76f13ffece70a
+DIST rust-1.43.0-arm-unknown-linux-gnueabi.tar.xz 103463680 BLAKE2B 32c158b7e36ee311a920db1e46bfd6463f9700c55332b0daee507e52fbca5733045efb5a0d14de07eabf1c311d5e23e2cbd3946731b4658b9e6e335970e94042 SHA512 63d8a68f227b64247dd2592dc249dbca2317a769035210147d507d836ed1f729474fbb38f8057064779052a78904ae6a378ffcb92ef652e818aa618ae8d971ac
+DIST rust-1.43.0-arm-unknown-linux-gnueabihf.tar.xz 104566108 BLAKE2B c2c12f3e81972bc7e00088ec05aeb6a3cdd9e7bdad75f7444829fe5212c1d9540373331e3b67bcc3985985c3c26c9a159a1558bf0dcb4d6c1cc93255fc5de715 SHA512 5c4aaf87d9a320d146c9698751ad7ca6ea4f0db1de1add70271133c2d412268955932a014e97962f82b32529f6e9845a392a622b4cdf5905f93444d56483645f
+DIST rust-1.43.0-armv7-unknown-linux-gnueabihf.tar.xz 108910044 BLAKE2B 7d9e6528caacd4deea26e2f61b499ac64407c2993f91c80f490d6b90a6c7463186de73b2cfdcda6b9d9cbe7ca46163eda91392daaf3ba5df6b7e0bd9053627f0 SHA512 728ed2d12079989f4547b1756e9e5b9fdf551f54626b02141346e8e42df1b2a4039b16131864021ab95b6011084e00e3edc2c072a4917a3a4fde965c0a0e2c15
+DIST rust-1.43.0-i686-unknown-linux-gnu.tar.xz 126712424 BLAKE2B 4803c58374bc9a6a415f34560b54137d0470b6dcebc874baaa630e3a924b25a656c156cd52e0770c7beca57e0836080299d8ff6cb3de45fa22d5d6839a38b309 SHA512 25fa8203874cac4f0c57da77c0ee9d2750b595f43590b666ad609ad1fe85fdc2604658be5fe7059aff6d0d567be0c6ae01e1e9d7fceb22bd602f1548201aa0eb
+DIST rust-1.43.0-mips-unknown-linux-gnu.tar.xz 95888196 BLAKE2B 36d85527e56181575061172d73c3d81a8978587bc2586fa7d41159601ac81ac00f9cc5ca582086a1a5564f5284caf297dc7bf703884d1206d86ecfff951c5f15 SHA512 bd94d3a64eeb22a720b04ee3ad0d5b488ba6f981fff5e93b5a140d6a68cbf6489eaba1f4c9f9f028f34b12623f89b72ff07a0cf03c611ba4b97a715459d6f4d0
+DIST rust-1.43.0-mips64-unknown-linux-gnuabi64.tar.xz 100772304 BLAKE2B 5d958d5c16b36eff4138edf5d1cdd6852b17ee05c804ad7896c17dcf68b2417a1cb5dad530c6c8e51612b3e229e19e78505798506317da63148b7f3e7bd45426 SHA512 f3c87264f5585c6b8d6d76de298b9585e9b5700c0a4246b2eefcb773466ae9a0958a83c4f7b8460186f89f4d0f73cb43719a8d6b985c65bdbd69746bd6fd7bb1
+DIST rust-1.43.0-mipsel-unknown-linux-gnu.tar.xz 97727252 BLAKE2B 19054f41e6278cfc419dec3a3a8b59101611de1e55699f63974898a14197fecece5fc78f3fb431fb610d062b8d082e652183f511135afcaa4ee2e4b1cd7e18e1 SHA512 808f2ce7afd5f6464d53fdece7f3f54e5bafc2c6757b6472e8070c3418b17daaef34d980e435c086c86fa228c8f11349ac7902eae73cf3bd4fd57ce552ccc192
+DIST rust-1.43.0-powerpc-unknown-linux-gnu.tar.xz 102103936 BLAKE2B 7cc4919d4e197aff4d24f9f8ad9c8230f8cc132b56469d6c39543141b4538bd74f5f80668fbd3eec2a8e60a3f7c6a9934f648312dfc84f21e0fafbc14377877d SHA512 6255171dd035278daf304812ce57c32553db59494bc40dbb610afae26fe889239e724511bef5197d28412279aded2d36cb5733c2e2fc42fae1a795405e635a6b
+DIST rust-1.43.0-powerpc64-unknown-linux-gnu.tar.xz 109310784 BLAKE2B 397dc8a29d2c8ddf3fcbbe540cd1197edfd64e5156b10a36d15d9c64e37a116e92323dd2fa3d929d27d98d6a4089ed6693519d8c64c6c3f0698a7981601db3e6 SHA512 d67193607cb78ed0284553d014e3faea059c7ac7e6d76c54dcc5affdc70f54a88c9d084589a3ccd91cd39fe07f0dd5920e65cfdcb7aba3ea0dcc75bab941f7b5
+DIST rust-1.43.0-powerpc64le-unknown-linux-gnu.tar.xz 111611976 BLAKE2B c3a730fc97ea17ced8f6de2ab4d291feeee567343d766ea52456455950b5b0aed5a8ddc0ff6b0604850b95fe2ffe85f8a7a927ca3ae65a90c53cd5156a9395e1 SHA512 800df0c10cd188f6aa9c4f16a61a33e51de091781c463e64409f79d9f16b8de0e49f93c0185ea27355724cc032ef6469c020163ef27357287d091cce9e57635d
+DIST rust-1.43.0-s390x-unknown-linux-gnu.tar.xz 119622236 BLAKE2B 358ba8387bf19d0d2338a17ff8364b63a99f35de30e754af6279c9edf26d011cf0c833f4b24a7c715d4524f60dcf53721339c1c5ad7b3dc2a9f35bf38a82b33f SHA512 9202c0cca2feb03fec26c3fd1367f7f5ace3194c7f668753cffa23f7ced7f53291c64873de7dcc6d813ef2986f907191ee24e8a027cc83da36006f590660ffe1
+DIST rust-1.43.0-x86_64-unknown-linux-gnu.tar.xz 112598556 BLAKE2B 4c5ca5dee24b5a3f48ade89c80e1fd0180d7dac5c8040b034a72bd165001b59f3da15d7ac6c234ca199240638c797e4d31e52e52cff9170ec5cc53f0959b1acd SHA512 3fb0630e76f78565cafa9882d1c09a2bb31d0de145748ba4506d7b6a5ea508c4fb533ac3f60df8335d9c4944ba8f028752441d3c3443e3990fe3cc4e676c1670
+DIST rust-1.43.0-x86_64-unknown-linux-musl.tar.xz 100659284 BLAKE2B 4dbfcbf3526e3ec0a51eadb410876c27c110b59f18a54db30b358b5b2b61edaed907a4584bb0678e5754364f5fca6ca0f9f11f6a2099e9440f70731ddf31f251 SHA512 f1b449a8f0d585c648ec04723126865ddbcc1b101a2f38d53832e8f2bae0fbe3ab1751074511f5a053404bee06646cec5d32937cf6c32f9ccc022d04bd021cf0
diff --git a/dev-lang/rust-bin/rust-bin-1.43.0.ebuild b/dev-lang/rust-bin/rust-bin-1.43.0.ebuild
new file mode 100644
index 000000000000..2eced9c11b7a
--- /dev/null
+++ b/dev-lang/rust-bin/rust-bin-1.43.0.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+
+inherit bash-completion-r1 rust-toolchain toolchain-funcs 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 ~ppc64 ~x86"
+IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
+
+DEPEND=""
+RDEPEND="
+ >=app-eselect/eselect-rust-20190311
+ sys-libs/zlib
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ net-libs/libssh2
+ net-misc/curl[ssl]
+"
+
+REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
+
+QA_PREBUILT="
+ opt/${P}/bin/*-${PV}
+ opt/${P}/lib/*.so
+ opt/${P}/lib/rustlib/*/bin/*
+ opt/${P}/lib/rustlib/*/lib/*.so
+ opt/${P}/lib/rustlib/*/lib/*.rlib*
+"
+
+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() {
+ default
+ mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
+}
+
+multilib_src_install() {
+ if multilib_is_native_abi; then
+
+ # start native abi install
+ pushd ${S} >/dev/null || die
+ local std
+ std="$(grep 'std' ./components)"
+ local components="rustc,cargo,${std}"
+ use doc && components="${components},rust-docs"
+ use clippy && components="${components},clippy-preview"
+ use rustfmt && components="${components},rustfmt-preview"
+ ./install.sh \
+ --components="${components}" \
+ --disable-verify \
+ --prefix="${ED}/opt/${P}" \
+ --mandir="${ED}/opt/${P}/man" \
+ --disable-ldconfig \
+ || die
+
+ local rustc=rustc-bin-${PV}
+ local rustdoc=rustdoc-bin-${PV}
+ local rustgdb=rust-gdb-bin-${PV}
+ local rustgdbgui=rust-gdbgui-bin-${PV}
+ local rustlldb=rust-lldb-bin-${PV}
+
+ mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
+ mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
+ mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
+ mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
+ mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
+
+ dosym "${rustc}" "/opt/${P}/bin/rustc"
+ dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
+ dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
+ dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
+ dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
+
+ dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
+ dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
+ dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
+ dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
+ dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
+
+ local cargo=cargo-bin-${PV}
+ mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
+ dosym "${cargo}" "/opt/${P}/bin/cargo"
+ dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
+
+ if use clippy; then
+ local clippy_driver=clippy-driver-bin-${PV}
+ local cargo_clippy=cargo-clippy-bin-${PV}
+ mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
+ mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
+ dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
+ dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
+ dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
+ dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
+ fi
+ if use rustfmt; then
+ local rustfmt=rustfmt-bin-${PV}
+ local cargo_fmt=cargo-fmt-bin-${PV}
+ mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
+ mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
+ dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
+ dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
+ dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
+ dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
+ fi
+
+ cat <<-EOF > "${T}"/50${P}
+ LDPATH="/opt/${P}/lib"
+ MANPATH="/opt/${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 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
+}
+
+pkg_postinst() {
+ eselect rust update --if-unset
+
+ 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
+
+ if use elibc_musl; then
+ ewarn "${PN} on *-musl targets is configured with crt-static"
+ ewarn ""
+ ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
+ ewarn "to use it with portage, otherwise you may see failures like"
+ ewarn "error: cannot produce proc-macro for serde_derive as the target "
+ ewarn "x86_64-unknown-linux-musl does not support these crate types"
+ fi
+}
+
+pkg_postrm() {
+ eselect rust cleanup
+}