Gentoo Archives: gentoo-commits

From: Mikhail Pukhlikov <cynede@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/rust:master commit in: eclass/
Date: Thu, 05 Mar 2020 06:18:12
Message-Id: 1583389032.5716d60c4cedaf6c13757ee4742f74b92c8ded06.cynede@gentoo
1 commit: 5716d60c4cedaf6c13757ee4742f74b92c8ded06
2 Author: stefson <herrtimson <AT> yahoo <DOT> de>
3 AuthorDate: Wed Mar 4 15:17:45 2020 +0000
4 Commit: Mikhail Pukhlikov <cynede <AT> gentoo <DOT> org>
5 CommitDate: Thu Mar 5 06:17:12 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/rust.git/commit/?id=5716d60c
7
8 cargo eclass: backport patch to use regex for name/version extraction
9
10 taken from https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2835a612827749228ca89fbd982df2bb4f072742
11
12 original bug: https://bugs.gentoo.org/705044
13
14 Signed-off-by: Steffen Kuhn <nielson2 <AT> yandex.com>
15 Signed-off-by: Mikhail Pukhlikov <cynede <AT> gentoo.org>
16
17 eclass/cargo.eclass | 13 +++++--------
18 1 file changed, 5 insertions(+), 8 deletions(-)
19
20 diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
21 index 4e874f0..eacad3e 100644
22 --- a/eclass/cargo.eclass
23 +++ b/eclass/cargo.eclass
24 @@ -36,17 +36,14 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
25 # @DESCRIPTION:
26 # Generates the URIs to put in SRC_URI to help fetch dependencies.
27 cargo_crate_uris() {
28 + readonly regex='^(.*)-([0-9]+\.[0-9]+\.[0-9]+.*)$'
29 local crate
30 for crate in "$@"; do
31 - local name version url pretag
32 - name="${crate%-*}"
33 - version="${crate##*-}"
34 - pretag="[a-zA-Z]+"
35 - if [[ $version =~ $pretag ]]; then
36 - version="${name##*-}-${version}"
37 - name="${name%-*}"
38 - fi
39 if [[ "${CARGO_FETCH_CRATES}" == "not" ]]; then
40 + local name version url
41 + [[ $crate =~ $regex ]] || die "Could not parse name and version from crate: $crate"
42 + name="${BASH_REMATCH[1]}"
43 + version="${BASH_REMATCH[2]}"
44 url="https://crates.io/api/v1/crates/${name}/${version}/download -> ${crate}.crate"
45 else
46 url=""