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: Mon, 03 Aug 2020 20:14:49
Message-Id: 1596485498.ac0801aabb04e4d5ff65749968752d93ad8a405a.gyakovlev@gentoo
1 commit: ac0801aabb04e4d5ff65749968752d93ad8a405a
2 Author: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
3 AuthorDate: Mon Aug 3 17:32:58 2020 +0000
4 Commit: Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 3 20:11:38 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac0801aa
7
8 dev-lang/rust-bin: bump to 1.45.2
9
10 Package-Manager: Portage-3.0.1, Repoman-2.3.23
11 Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>
12
13 dev-lang/rust-bin/Manifest | 14 +++
14 dev-lang/rust-bin/rust-bin-1.45.2.ebuild | 175 +++++++++++++++++++++++++++++++
15 2 files changed, 189 insertions(+)
16
17 diff --git a/dev-lang/rust-bin/Manifest b/dev-lang/rust-bin/Manifest
18 index 741989972e8..0af2fbfbd0b 100644
19 --- a/dev-lang/rust-bin/Manifest
20 +++ b/dev-lang/rust-bin/Manifest
21 @@ -40,3 +40,17 @@ DIST rust-1.45.1-powerpc64le-unknown-linux-gnu.tar.xz 119234164 BLAKE2B 4148957f
22 DIST rust-1.45.1-s390x-unknown-linux-gnu.tar.xz 124758156 BLAKE2B ff62e14d5ae9f7213ebc24d694317ff292cb0d7d2a67f0ca284cddd2b9f594547b01a6c647780d47989d4405072f377d37fc03933431a3df804e37bc1248e803 SHA512 278411c6308eaa4d732ff4c0f448d808a5ee74dae5f3eaf04773ccf65c9bc5963153f62346d30de0f577dd6da89c55bed280c2fb0e50d2075e3c30a3649fc4e8
23 DIST rust-1.45.1-x86_64-unknown-linux-gnu.tar.xz 117764080 BLAKE2B cafe6e4f7c28112879089d75703a1b1ce7c0cf9b5ab5beeb4ddf343f7bc93e8704bc105ba0bd95f1df6d62439f206d8f4ae9090330af857ec0a249540eb63122 SHA512 13ee5ff7cae29440e32fb140404ff01414d66f0ea8d79777fb1586541de1ee6ef8e12f9249c35374501460a2352f7d0f6035b5bdc2f0daa91d772a157657ec0b
24 DIST rust-1.45.1-x86_64-unknown-linux-musl.tar.xz 123820216 BLAKE2B 1afe48589e5eec15d8fdb31d52b2ada49688e78a311298d421a8b2d4c0cc6a708223e5976518d66506584dc2adc63651b62b8c1fc3c3ccfaff80e2ef7ade5078 SHA512 39875878acfeb05d7b72bab2dea51063a523fa7ad136d582ba28603df7f8b1c3360e5838e5f9b08f396969e52bb1fc672fa4c08cf5f8ffc39128af129b6b17a6
25 +DIST rust-1.45.2-aarch64-unknown-linux-gnu.tar.xz 110433136 BLAKE2B e2aa575c71757ea54b361940ca0813728bc6ef63db491a6891c05ff91d6fb6e2bf49aaebd05daf648cf2ae07b5937e142ab26fd243665bbac202e1237b20900c SHA512 b4b3fb198bf85192563fb8b6017cf07f92b9c26d6e590efa9476aa878871839315db935e3353c664e635a229f17b0979bcfd31488e29e02ce0dc266d252b9e41
26 +DIST rust-1.45.2-arm-unknown-linux-gnueabi.tar.xz 114729036 BLAKE2B 8169a3827e8192de80bb654a667bcaa01c5f1bb49f2882b781d7d46bd20d5531204a477317c743c772e6067b225b1a3f78d333e2864e4dfcadb18777618d2811 SHA512 ecd79ba14feed330f81555854a7eadd894b9926482a2aad376c1f04aee16df01a3d929ec071e69b0f531466bbe00021c902bbb6b0ea4374c8ea5e2941d09d806
27 +DIST rust-1.45.2-arm-unknown-linux-gnueabihf.tar.xz 114488160 BLAKE2B 69ee32914d75a0d3f1e84bcf760177d5125e0d989b023cc8f5499c37894949d05b1d5e61340832d248b3a305ba1dcd670280a0e5ed0439984815e5c8e46b8d09 SHA512 e18e53016417ea0d9ae5bee90a3fcf75dc2b7b8b5dd0c71426e353b9ad162353bdb2dd1b071c63bf91342eb803a9eb7fdf348ef15d678d91e6d221a911a3770e
28 +DIST rust-1.45.2-armv7-unknown-linux-gnueabihf.tar.xz 116516572 BLAKE2B 8a658c21cbfa5dfdd25d5890d37581c29b37ca447b54b0bb1bfb929ec80592f873b1ee5a871a0c417d2ed821d6d0fdcdc078ba17ff58636668996f6fbf1274cf SHA512 dbf36643e87fc31cda5c0d5fc8b1589ce80531a94379060106ce81d525cd77c36ac6f89d5ae05d8872020baf31e5391422ed58c01ec6f801428d67e2e10896fb
29 +DIST rust-1.45.2-i686-unknown-linux-gnu.tar.xz 131555580 BLAKE2B b701374ba340aa965a1eacca89a18d7c8547b8c45d07fa1601bea10be7a5c4bf550f4a0dd5e99edc8eda4112b09fc2ec0477d4c1ea063d66263214d0cb283ae0 SHA512 afe81d38d8692e5792e111c3b2c83da4dffa99c9a8a89b5f1e10a6e449e49d4dd19d68c96d7b2f5013054d141bf4b1a08da1c2b877c7bbe87f81c19232020ecb
30 +DIST rust-1.45.2-mips-unknown-linux-gnu.tar.xz 101990496 BLAKE2B cd15ebe38be6774b01fdbf6278aef1f0fba13fac5500e47c8025a84b09e2d9ab953b0d461e01e5d92a2f63aa96f1f0950295079f0065288736a499b12fab2264 SHA512 7ed3d8d3c83515706516a1c85b232dfa5fef578558ccbd394c609fdf1ca8344e696c095d57eae7604aadeabcbb43dc19abac0db2b979690f70ca4b0ed17853e7
31 +DIST rust-1.45.2-mips64-unknown-linux-gnuabi64.tar.xz 106772956 BLAKE2B 0a9ecf20e3913a65ddfdb3fb90c284ccae5617bfd05af05557201ef8a6b55aaefa871b6763b7d712f90436e2b45f448ab7ac253c240cf3c22b557e82200c3e4a SHA512 6a45dcaf4c69df055e2563a5f8da37da08757e664af777b95f2ff2747b8ef1b5b72a0379b1395e836e3bf3019fdb8dd87da89cbe080bcdb0e59e941d1eaade9f
32 +DIST rust-1.45.2-mipsel-unknown-linux-gnu.tar.xz 104105424 BLAKE2B 88dee69ae51bc8d8200dfae5e7178de753b369c3a358b2713003eefebd135ce498654ee58d42be53db1b689f303bbe979ee29d8e547a4f41aebbb5845f04a424 SHA512 9be8c08a325346513ec5d78c2a555a79acb9b416d41d3d47cb4562a1612cb9e0e53490c2ea32be38fb884cf51bf529e4e8817b9f5ceb19f38ba30a4d512a8970
33 +DIST rust-1.45.2-powerpc-unknown-linux-gnu.tar.xz 104037748 BLAKE2B ba929a7613ead5edf806b9ce25f40dca308bfbef6a58a9f994e22c2f8e3573d8bedef3a55a5373d34369dd7965d1385623cf6e40f974e2901e684c14e1873e0a SHA512 dab05dbf487197ac95310c950fec92f8f1001d972df7b00f3f8ba58f1761da97b065de33ce19a18e5b2cf09519fc2fc54ef5863c118a7b8812b28ea5447ba857
34 +DIST rust-1.45.2-powerpc64-unknown-linux-gnu.tar.xz 114778460 BLAKE2B 5731791ff34c211c4008ada25d493b4b6a3331275d70340825b3ccd95d76849c016101ef6130a51bec912824bd86e594905262d7b0657216b4dbccbcdba861db SHA512 fbf909e5f9135d5216dbbc1be0d1e3159000c58b83bcdeb9839a12f5a9ff56261a61edfab93cd21800a90ff56bb9eff8a1ad83c60fa54bf0cf4b149219dbe914
35 +DIST rust-1.45.2-powerpc64le-unknown-linux-gnu.tar.xz 118941136 BLAKE2B 96b297b08cd2cdb4b25992b6b0eefbdc3c453c31fec5f36597d185d2a43a8e04d0f4d0ec7523c1c79b7d62d89b0f98be01e524d0d69a20d2f50771f97906e3f8 SHA512 6cb169efae4c847ba204fa24c1f40b4320e53928ab8966727971a5bc7a565eaa6142f40904cec93927543b25450db23d816c20653f53d3aa36ac616fe85ee6ba
36 +DIST rust-1.45.2-s390x-unknown-linux-gnu.tar.xz 125144128 BLAKE2B 66d8ee3b94b427cd55f8b662cae9f3b86ea108706c51bedfbc6e68018b40a7d0ad1162eb649b4af3c60e425c46cbdb23ef966d670abd698df383eae834a3b854 SHA512 7727cfbeed29e8a1e79398392332b25b5498900f593f3d08414c70b44da0cd06dca0791a361956c47c3367e6572d59d885085d3cd99fd4a9c28c431a158ddbfd
37 +DIST rust-1.45.2-x86_64-unknown-linux-gnu.tar.xz 118135364 BLAKE2B 0ad1277674284d29c4e4bc1cdf0163794caf37e39d28381f4dac29303381690a0c125fb2a56437ca735746c2bd6de7961dbfd325808939758ee2d4a15d72aec2 SHA512 dfd3ce0cc42ae82a2d13866c5c94c304b031e253a1485ccc1d6ecd62cc05018b01ac7b2183297bc45ada286b5e91d1344aa3d8417694ab834f8265c7838b4fd2
38 +DIST rust-1.45.2-x86_64-unknown-linux-musl.tar.xz 124782956 BLAKE2B dac6f48204aee39598a5c83c16b6b1bfbd239a8842bc681450645ef4b7f030666694e6f005473933a5613e5545fc80b9090c0aeb3b3db3a213d8899a7e90e5bf SHA512 14f556599b29f85c4bac39774142e580dbbe68268a16d32f539169defc73353a3c9fd44835358bc53262db43345bb139d14143dd5b6ae64823b9c98b25c4eb75
39
40 diff --git a/dev-lang/rust-bin/rust-bin-1.45.2.ebuild b/dev-lang/rust-bin/rust-bin-1.45.2.ebuild
41 new file mode 100644
42 index 00000000000..b36387480c9
43 --- /dev/null
44 +++ b/dev-lang/rust-bin/rust-bin-1.45.2.ebuild
45 @@ -0,0 +1,175 @@
46 +# Copyright 1999-2020 Gentoo Authors
47 +# Distributed under the terms of the GNU General Public License v2
48 +
49 +EAPI=7
50 +
51 +inherit bash-completion-r1 rust-toolchain toolchain-funcs multilib-minimal
52 +
53 +MY_P="rust-${PV}"
54 +
55 +DESCRIPTION="Systems programming language from Mozilla"
56 +HOMEPAGE="https://www.rust-lang.org/"
57 +SRC_URI="$(rust_all_arch_uris ${MY_P})"
58 +
59 +LICENSE="|| ( MIT Apache-2.0 ) BSD-1 BSD-2 BSD-4 UoI-NCSA"
60 +SLOT="stable"
61 +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
62 +IUSE="clippy cpu_flags_x86_sse2 doc rustfmt"
63 +
64 +DEPEND=""
65 +RDEPEND=">=app-eselect/eselect-rust-20190311"
66 +
67 +REQUIRED_USE="x86? ( cpu_flags_x86_sse2 )"
68 +
69 +QA_PREBUILT="
70 + opt/${P}/bin/*-${PV}
71 + opt/${P}/lib/*.so
72 + opt/${P}/lib/rustlib/*/bin/*
73 + opt/${P}/lib/rustlib/*/lib/*.so
74 + opt/${P}/lib/rustlib/*/lib/*.rlib*
75 +"
76 +
77 +pkg_pretend() {
78 + if [[ "$(tc-is-softfloat)" != "no" ]] && [[ ${CHOST} == armv7* ]]; then
79 + die "${CHOST} is not supported by upstream Rust. You must use a hard float version."
80 + fi
81 +}
82 +
83 +src_unpack() {
84 + default
85 + mv "${WORKDIR}/${MY_P}-$(rust_abi)" "${S}" || die
86 +}
87 +
88 +multilib_src_install() {
89 + if multilib_is_native_abi; then
90 +
91 + # start native abi install
92 + pushd "${S}" >/dev/null || die
93 + local std
94 + std="$(grep 'std' ./components)"
95 + local components="rustc,cargo,${std}"
96 + use doc && components="${components},rust-docs"
97 + use clippy && components="${components},clippy-preview"
98 + use rustfmt && components="${components},rustfmt-preview"
99 + ./install.sh \
100 + --components="${components}" \
101 + --disable-verify \
102 + --prefix="${ED}/opt/${P}" \
103 + --mandir="${ED}/opt/${P}/man" \
104 + --disable-ldconfig \
105 + || die
106 +
107 + local rustc=rustc-bin-${PV}
108 + local rustdoc=rustdoc-bin-${PV}
109 + local rustgdb=rust-gdb-bin-${PV}
110 + local rustgdbgui=rust-gdbgui-bin-${PV}
111 + local rustlldb=rust-lldb-bin-${PV}
112 +
113 + mv "${ED}/opt/${P}/bin/rustc" "${ED}/opt/${P}/bin/${rustc}" || die
114 + mv "${ED}/opt/${P}/bin/rustdoc" "${ED}/opt/${P}/bin/${rustdoc}" || die
115 + mv "${ED}/opt/${P}/bin/rust-gdb" "${ED}/opt/${P}/bin/${rustgdb}" || die
116 + mv "${ED}/opt/${P}/bin/rust-gdbgui" "${ED}/opt/${P}/bin/${rustgdbgui}" || die
117 + mv "${ED}/opt/${P}/bin/rust-lldb" "${ED}/opt/${P}/bin/${rustlldb}" || die
118 +
119 + dosym "${rustc}" "/opt/${P}/bin/rustc"
120 + dosym "${rustdoc}" "/opt/${P}/bin/rustdoc"
121 + dosym "${rustgdb}" "/opt/${P}/bin/rust-gdb"
122 + dosym "${rustgdbgui}" "/opt/${P}/bin/rust-gdbgui"
123 + dosym "${rustlldb}" "/opt/${P}/bin/rust-lldb"
124 +
125 + dosym "../../opt/${P}/bin/${rustc}" "/usr/bin/${rustc}"
126 + dosym "../../opt/${P}/bin/${rustdoc}" "/usr/bin/${rustdoc}"
127 + dosym "../../opt/${P}/bin/${rustgdb}" "/usr/bin/${rustgdb}"
128 + dosym "../../opt/${P}/bin/${rustgdbgui}" "/usr/bin/${rustgdbgui}"
129 + dosym "../../opt/${P}/bin/${rustlldb}" "/usr/bin/${rustlldb}"
130 +
131 + local cargo=cargo-bin-${PV}
132 + mv "${ED}/opt/${P}/bin/cargo" "${ED}/opt/${P}/bin/${cargo}" || die
133 + dosym "${cargo}" "/opt/${P}/bin/cargo"
134 + dosym "../../opt/${P}/bin/${cargo}" "/usr/bin/${cargo}"
135 +
136 + if use clippy; then
137 + local clippy_driver=clippy-driver-bin-${PV}
138 + local cargo_clippy=cargo-clippy-bin-${PV}
139 + mv "${ED}/opt/${P}/bin/clippy-driver" "${ED}/opt/${P}/bin/${clippy_driver}" || die
140 + mv "${ED}/opt/${P}/bin/cargo-clippy" "${ED}/opt/${P}/bin/${cargo_clippy}" || die
141 + dosym "${clippy_driver}" "/opt/${P}/bin/clippy-driver"
142 + dosym "${cargo_clippy}" "/opt/${P}/bin/cargo-clippy"
143 + dosym "../../opt/${P}/bin/${clippy_driver}" "/usr/bin/${clippy_driver}"
144 + dosym "../../opt/${P}/bin/${cargo_clippy}" "/usr/bin/${cargo_clippy}"
145 + fi
146 + if use rustfmt; then
147 + local rustfmt=rustfmt-bin-${PV}
148 + local cargo_fmt=cargo-fmt-bin-${PV}
149 + mv "${ED}/opt/${P}/bin/rustfmt" "${ED}/opt/${P}/bin/${rustfmt}" || die
150 + mv "${ED}/opt/${P}/bin/cargo-fmt" "${ED}/opt/${P}/bin/${cargo_fmt}" || die
151 + dosym "${rustfmt}" "/opt/${P}/bin/rustfmt"
152 + dosym "${cargo_fmt}" "/opt/${P}/bin/cargo-fmt"
153 + dosym "../../opt/${P}/bin/${rustfmt}" "/usr/bin/${rustfmt}"
154 + dosym "../../opt/${P}/bin/${cargo_fmt}" "/usr/bin/${cargo_fmt}"
155 + fi
156 +
157 + cat <<-EOF > "${T}"/50${P}
158 + LDPATH="/opt/${P}/lib"
159 + MANPATH="/opt/${P}/man"
160 + EOF
161 + doenvd "${T}"/50${P}
162 +
163 + # note: eselect-rust adds EROOT to all paths below
164 + cat <<-EOF > "${T}/provider-${P}"
165 + /usr/bin/rustdoc
166 + /usr/bin/rust-gdb
167 + /usr/bin/rust-gdbgui
168 + /usr/bin/rust-lldb
169 + EOF
170 + echo /usr/bin/cargo >> "${T}/provider-${P}"
171 + if use clippy; then
172 + echo /usr/bin/clippy-driver >> "${T}/provider-${P}"
173 + echo /usr/bin/cargo-clippy >> "${T}/provider-${P}"
174 + fi
175 + if use rustfmt; then
176 + echo /usr/bin/rustfmt >> "${T}/provider-${P}"
177 + echo /usr/bin/cargo-fmt >> "${T}/provider-${P}"
178 + fi
179 +
180 + insinto /etc/env.d/rust
181 + doins "${T}/provider-${P}"
182 + popd >/dev/null || die
183 + #end native abi install
184 +
185 + else
186 + local rust_target
187 + rust_target="$(rust_abi $(get_abi_CHOST ${v##*.}))"
188 + dodir "/opt/${P}/lib/rustlib"
189 + cp -vr "${WORKDIR}/rust-${PV}-${rust_target}/rust-std-${rust_target}/lib/rustlib/${rust_target}"\
190 + "${ED}/opt/${P}/lib/rustlib" || die
191 + fi
192 +}
193 +
194 +pkg_postinst() {
195 + eselect rust update --if-unset
196 +
197 + elog "Rust installs a helper script for calling GDB now,"
198 + elog "for your convenience it is installed under /usr/bin/rust-gdb-bin-${PV},"
199 +
200 + if has_version app-editors/emacs; then
201 + elog "install app-emacs/rust-mode to get emacs support for rust."
202 + fi
203 +
204 + if has_version app-editors/gvim || has_version app-editors/vim; then
205 + elog "install app-vim/rust-vim to get vim support for rust."
206 + fi
207 +
208 + if use elibc_musl; then
209 + ewarn "${PN} on *-musl targets is configured with crt-static"
210 + ewarn ""
211 + ewarn "you will need to set RUSTFLAGS=\"-C target-feature=-crt-static\" in make.conf"
212 + ewarn "to use it with portage, otherwise you may see failures like"
213 + ewarn "error: cannot produce proc-macro for serde_derive as the target "
214 + ewarn "x86_64-unknown-linux-musl does not support these crate types"
215 + fi
216 +}
217 +
218 +pkg_postrm() {
219 + eselect rust cleanup
220 +}