Gentoo Archives: gentoo-commits

From: Georgy Yakovlev <gyakovlev@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-lang/rust-bin/
Date: Sat, 29 Feb 2020 07:46:29
Message-Id: 1582962337.d8dc4903a56673dd10915176ed92b8188f0b4097.gyakovlev@gentoo
1 commit: d8dc4903a56673dd10915176ed92b8188f0b4097
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Sat Feb 29 03:38:44 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Sat Feb 29 07:45:37 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d8dc4903
7
8 dev-lang/rust-bin: bump to 1.41.1
9
10 install manpages to /opt
11
12 Package-Manager: Portage-2.3.89, Repoman-2.3.20
13 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
14
15 dev-lang/rust-bin/Manifest | 14 +++
16 dev-lang/rust-bin/rust-bin-1.41.1.ebuild | 167 +++++++++++++++++++++++++++++++
17 2 files changed, 181 insertions(+)
18
19 diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
20 index c12f94d65b4..357a8e613e1 100644
21 --- a/dev-lang/rust-bin/Manifest
22 +++ b/dev-lang/rust-bin/Manifest
23 @@ -68,3 +68,17 @@ DIST rust-1.41.0-powerpc64le-unknown-linux-gnu.tar.xz 110799904 BLAKE2B c89548ec
24 DIST rust-1.41.0-s390x-unknown-linux-gnu.tar.xz 115153476 BLAKE2B 1646b42f5a2001f63b653c59d5e30d1b6c9f3a8c2d2d07a779cc530242fee1f5e92ae8dc1af2a81c57f93d615ad519d40ec6f5ceea79e56048ccae7a37d4a5ba SHA512 458b9877bf2569e6e3a0a6692228d4dda68506336587880f6a51254bab5cbb60c5f82673b0d44842137a426411f25146c08447f22e1a5b883dee99f52e30aeb0
25 DIST rust-1.41.0-x86_64-unknown-linux-gnu.tar.xz 111122952 BLAKE2B e1380cf72c8db8279c7b0d4349f09efb040117b1ca70ed599cd5197c6c8a257a846213db372e5b2df93ee266124a8a410e348dc8d5502a537a9b86159afe7bbb SHA512 1f08ba8b82ee17e4ae8130a092913767bd448a580efa4eb06ca2c926234efc72d9b73e2b846102296b80e324697c0ac6f5d3768fbd159d49d248f307efc244ff
26 DIST rust-1.41.0-x86_64-unknown-linux-musl.tar.xz 96497736 BLAKE2B 3a193cc6d607891c2c7800498dc499d13bc50ce1249cb553271ab3eef69ea8e309f5048bfca9470c61056469a933824527002d5cc3f10f2ef1aea5519226710a SHA512 bcffacbb48b1d76cbf2951e7233951d6d58c4696f13b3ae616ca661bd8c20ebefd9420c494327d91999b76a34a6afe957281187e8fb5ce9cb968a3cfa8c23ea8
27 +DIST rust-1.41.1-aarch64-unknown-linux-gnu.tar.xz 96755608 BLAKE2B f8635737089bb028cfac6d6478c4226a78c2c8a8aa12f28cba267744e2e915e062f49edb505f26b6deaeca0d2fdb4ec4b83e791f87bf1eab6c0536dc41e2c641 SHA512 54eac5c380b418c1714931ead7d6284b225bb427fcc501e147240000b71d31b667e308aea7f38f3299b1311ab04f19011b914d37a4581c7a64028965569cd58e
28 +DIST rust-1.41.1-arm-unknown-linux-gnueabi.tar.xz 98856136 BLAKE2B dbb3996a9ae302290886bf1cd4642d99a9b3f883f9d39817bb15f105565147e416e23d19e0d08314b08ed441f1ac528c20d8bee27ccef68cb585d8ef64a19e45 SHA512 1b01acd430af3cf99d838aa367dec4f6e4bfcec91388d4a2323cd781d53246edae0f14687b087b73b87c349f243e3acabe193538ce31303f07d59c6a03c31565
29 +DIST rust-1.41.1-arm-unknown-linux-gnueabihf.tar.xz 99107336 BLAKE2B 0dd84e7ad6081b8fdcfcb2691496ed3a493e08db4757e6d3bb2aa9a36fc6f020772a84bc21d0c60efeecf635512f25737b8d6b49a53020c4045c89c5b89881d7 SHA512 462e6d354a4b3b848781bb059decc5eb1ebb4d8a31651623d076a2654e2c8fd02f0f87ddafb124efa40cb134c9438eb252035c2b5bfdf936881b14a23bfbfe9f
30 +DIST rust-1.41.1-armv7-unknown-linux-gnueabihf.tar.xz 103399676 BLAKE2B da35342be05e58c11e6f96ab566b6a2f334d6975d4251deb2f41069d4a549ebf58aba43e1f07b99dedf0426ab0a8e8616b32799ca54a5f601d70910deca3efaf SHA512 400bf8d013fe5030243bc0ccb7066ea3d03a2c10727e04b6830ab91dfe9b04f78cfef10794a1c7bb6276fb00c86f1e1c42a74faba19f3125859b3464726d01c2
31 +DIST rust-1.41.1-i686-unknown-linux-gnu.tar.xz 120834812 BLAKE2B 4615eeb7c63392f66487243743fc57677654e232c786f9f970a9be9996dcb08e265631f6764e09e0444f8bb767b9c76366a26fe8fca9dcc149c81df5c2a3dd18 SHA512 c6d74b2653c537043eb2ea721095ff053def592b4c330bdc104690cfb51d648f515288cc0451743d94260f18a55d6757bcb8eb1e6c0217da3498d08b681ca6af
32 +DIST rust-1.41.1-mips-unknown-linux-gnu.tar.xz 92620720 BLAKE2B dff1be71d459e0256a19fb88f324e59cbf2e10fda693157802a63a08329c7dd4feca4b260510b3a1d6afb4afc9ed9dc549b741f598f3aedf50a982810d0bd140 SHA512 4fdca72b98a4fd25a2ddf33e0f31d9549c39fae9dfad6f1648556f144f82cfb2a487f6777d61476ad18bb0a0ac63810b99bb09a18719ec5344e89fccb16ac693
33 +DIST rust-1.41.1-mips64-unknown-linux-gnuabi64.tar.xz 96215100 BLAKE2B c52d564010d56df01bac6b2f447d56c00855c52ed8ebe6a2ac1b7786e8c73a1d529be7e7d5a4f7b427892494782aadcc4c8cc54157287d43f58938b0a57486c6 SHA512 2ed84ade11c6f4961e83e06a61d998a7abc9165cc384cc69470658e8244dc399e30c3f983a9f11b0bf88032d855bc47fe6d71f5db95cc7168e6f810c69095633
34 +DIST rust-1.41.1-mipsel-unknown-linux-gnu.tar.xz 93365592 BLAKE2B cd0d16f99a0976076530fa601f9bfeb61e1204bc278f78db015bc8d1629ce8f19da61a12573fdf9cf0d3d29e56f6915338aeaea3ef4d9b374eeb4095189fe71c SHA512 a0b7cc55ffeb0911d1d82d93cf2f4ea2a683ee76a783952b2f42c0b3c3d02b2bfc7df6f5762af91e6d02963e22a08ba26f143f594dfd6d41ad8198f7e8a862c0
35 +DIST rust-1.41.1-powerpc-unknown-linux-gnu.tar.xz 98530136 BLAKE2B 41399fcc9f1d88cc5a6fe0651012e4ebd1addde428c22611c30918a09ddad3640fb326bf48f94e5d12a610d2709eecf95c5d023f10bc6636eb6de1808a104e48 SHA512 545b2a4459bbfa7049755cbb63ad6e2917bf03cb9568eccbf3b01ea8f846263fbdc97ad29b42c440fa92dd9737b398196c1cdaf96c9716bba2f9e1d4a3a20125
36 +DIST rust-1.41.1-powerpc64-unknown-linux-gnu.tar.xz 104058752 BLAKE2B 10b3e3e4970fc05952f83e80e7d133d308045bdd3342199e885d2e6add113ada7959a93010046f48b1fedfe85f0346793fc54e0bf0c55d096f82622e198a928c SHA512 50367685783085cc384be944d4321dfde850f3a0e94de0625a08f17160af2c0b795276f96574d1bea84092cbc1cd3cde619d97fe2e37b07ead17f49164e1c995
37 +DIST rust-1.41.1-powerpc64le-unknown-linux-gnu.tar.xz 110594504 BLAKE2B eaf9c92ea9599314d12c5f9d0b654b523ceb8f40cc779cdbc2d50b4b07e0a37cd42d34000f0ace9c19154a1bd17110c097e30ee2b617f3a29de4966bb9303301 SHA512 1b2bf6d35321dd0a0fc9735005317f09f8b9a81b520612484530e29156ea254d5cada583e44f7e4a840edde09d70c34f7ead1208d8aa6037c652540dfa38cede
38 +DIST rust-1.41.1-s390x-unknown-linux-gnu.tar.xz 114814112 BLAKE2B ef22c377e1d89ef4ebe78df19d91bcf042e2e1d8997be80d7d40998b18f6b44f8bb1232b1f72e42e3ffb6d1ff235f3cd2f04854e996bbf7be8f6d5d7299e8514 SHA512 f809adc626876df5c6e050362d59189ede5e3991ac41fd129922540abeb728f618e1a3f3925cee34895de5e037141aabb1f8c2b94d4069945d174e38446e8153
39 +DIST rust-1.41.1-x86_64-unknown-linux-gnu.tar.xz 111202140 BLAKE2B 226c68b1e97cc9be82e81f6c9e065e08514166a65a57159c2f63527063ae5f514650afc2591e0c4854ecd0239dc82cbc9a97b99412608645aca879a71354d857 SHA512 c75d4a18cf9300c6ab480d34c5e4b41be971535931455239330cb2a0e927bcf9cf102498cad5dd1d5d802fd1d9c9d214b80e8ff15aa6be68d3e7f41420cad666
40 +DIST rust-1.41.1-x86_64-unknown-linux-musl.tar.xz 96076684 BLAKE2B 3672e24a83c1e4c97a0844f9522a9fced19d5ef01c89d44e54bba8683514a86f7a14ea2e8c2f28d03c65b7e2e0358ff3cea2f85de1e69eb5334c55e18a8c8e4f SHA512 29e7b2aae35017d7f4313e0a482712390ffec752e62d8b1bda95d56a1f93ba882a8f610b469b5d2d7fa3d6d35c2cdc4e45d219ad85b8a3f71ba6ce04b1add48b
41
42 diff --git a/dev-lang/rust-bin/rust-bin-1.41.1.ebuild b/dev-lang/rust-bin/rust-bin-1.41.1.ebuild
43 new file mode 100644
44 index 00000000000..51deede915a
45 --- /dev/null
46 +++ b/dev-lang/rust-bin/rust-bin-1.41.1.ebuild
47 @@ -0,0 +1,167 @@
48 +# Copyright 1999-2020 Gentoo Authors
49 +# Distributed under the terms of the GNU General Public License v2
50 +
51 +EAPI=7
52 +
53 +inherit bash-completion-r1 rust-toolchain toolchain-funcs
54 +
55 +MY_P="rust-${PV}"
56 +
57 +DESCRIPTION="Systems programming language from Mozilla"
58 +HOMEPAGE="https://www.rust-lang.org/"
59 +SRC_URI="$(rust_all_arch_uris ${MY_P})"
60 +
61 +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
62 +SLOT="stable"
63 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
64 +IUSE="clippy cpu_flags_x86_sse2 doc libressl rustfmt"
65 +
66 +DEPEND=""
67 +RDEPEND="
68 + >=app-eselect/eselect-rust-20190311
69 + sys-libs/zlib
70 + !libressl? ( dev-libs/openssl:0= )
71 + libressl? ( dev-libs/libressl:0= )
72 + net-libs/libssh2
73 + net-misc/curl[ssl]
74 +"
75 +
76 +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
77 +
78 +QA_PREBUILT="
79 + opt/${P}/bin/*-${PV}
80 + opt/${P}/lib/*.so
81 + opt/${P}/lib/rustlib/*/bin/*
82 + opt/${P}/lib/rustlib/*/lib/*.so
83 + opt/${P}/lib/rustlib/*/lib/*.rlib*
84 +"
85 +
86 +pkg_pretend() {
87 + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
88 + die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
89 + fi
90 +}
91 +
92 +src_unpack() {
93 + default
94 + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
95 +}
96 +
97 +src_install() {
98 + local std=$(grep 'std' ./components)
99 + local components="rustc,cargo,${std}"
100 + use doc && components="${components},rust-docs"
101 + use clippy && components="${components},clippy-preview"
102 + use rustfmt && components="${components},rustfmt-preview"
103 + ./install.sh \
104 + --components="${components}" \
105 + --disable-verify \
106 + --prefix="${ED}/opt/${P}" \
107 + --mandir="${ED}/opt/${P}/man" \
108 + --disable-ldconfig \
109 + || die
110 +
111 + local rustc=rustc-bin-${PV}
112 + local rustdoc=rustdoc-bin-${PV}
113 + local rustgdb=rust-gdb-bin-${PV}
114 + local rustgdbgui=rust-gdbgui-bin-${PV}
115 + local rustlldb=rust-lldb-bin-${PV}
116 +
117 + mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
118 + mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
119 + mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
120 + mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
121 + mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
122 +
123 + dosym "${rustc}" "/opt/${P}/bin/rustc"
124 + dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
125 + dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
126 + dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
127 + dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
128 +
129 + dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
130 + dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
131 + dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
132 + dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
133 + dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
134 +
135 + local cargo=cargo-bin-${PV}
136 + mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
137 + dosym "${cargo}" "/opt/${P}/bin/cargo"
138 + dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
139 +
140 + if use clippy; then
141 + local clippy_driver=clippy-driver-bin-${PV}
142 + local cargo_clippy=cargo-clippy-bin-${PV}
143 + mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
144 + mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
145 + dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
146 + dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
147 + dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
148 + dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
149 + fi
150 + if use rustfmt; then
151 + local rustfmt=rustfmt-bin-${PV}
152 + local cargo_fmt=cargo-fmt-bin-${PV}
153 + mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
154 + mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
155 + dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
156 + dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
157 + dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
158 + dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
159 + fi
160 +
161 + cat <<-EOF > "${T}"/50${P}
162 + LDPATH="/opt/${P}/lib"
163 + MANPATH="/opt/${P}/man"
164 + EOF
165 + doenvd "${T}"/50${P}
166 +
167 + # note: eselect-rust adds EROOT to all paths below
168 + cat <<-EOF > "${T}/provider-${P}"
169 + /usr/bin/rustdoc
170 + /usr/bin/rust-gdb
171 + /usr/bin/rust-gdbgui
172 + /usr/bin/rust-lldb
173 + EOF
174 + echo /usr/bin/cargo >> "${T}/provider-${P}"
175 + if use clippy; then
176 + echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
177 + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
178 + fi
179 + if use rustfmt; then
180 + echo /usr/bin/rustfmt >> "${T}/provider-${P}"
181 + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
182 + fi
183 +
184 + insinto /etc/env.d/rust
185 + doins "${T}/provider-${P}"
186 +}
187 +
188 +pkg_postinst() {
189 + eselect rust update --if-unset
190 +
191 + elog "Rust installs a helper script for calling GDB now,"
192 + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
193 +
194 + if has_version app-editors/emacs; then
195 + elog "install app-emacs/rust-mode to get emacs support for rust."
196 + fi
197 +
198 + if has_version app-editors/gvim || has_version app-editors/vim; then
199 + elog "install app-vim/rust-vim to get vim support for rust."
200 + fi
201 +
202 + if use elibc_musl; then
203 + ewarn "${PN} on *-musl targets is configured with crt-static"
204 + ewarn ""
205 + ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
206 + ewarn "to use it with portage, otherwise you may see failures like"
207 + ewarn "error: cannot produce proc-macro for serde_derive v1.0.98 as the target "
208 + ewarn "x86_64-unknown-linux-musl does not support these crate types"
209 + fi
210 +}
211 +
212 +pkg_postrm() {
213 + eselect rust cleanup
214 +}