aboutsummaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorCynede <cynede@gentoo.org>2018-01-23 14:36:15 +0400
committerCynede <cynede@gentoo.org>2018-01-23 14:36:15 +0400
commitdd177c2521438d7ddaecf0b48a9ca55ab421ecf3 (patch)
tree1dcab0482d38da4cd2114e1cd3d5019952286c6d /eclass
parentMerge pull request #316 from stefantalpalaru/repoman (diff)
downloadrust-dd177c2521438d7ddaecf0b48a9ca55ab421ecf3.tar.gz
rust-dd177c2521438d7ddaecf0b48a9ca55ab421ecf3.tar.bz2
rust-dd177c2521438d7ddaecf0b48a9ca55ab421ecf3.zip
add mdcat, add fetch-crates to class (sync eclass with upstream)
Diffstat (limited to 'eclass')
-rw-r--r--eclass/cargo.eclass22
1 files changed, 18 insertions, 4 deletions
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index 96694cd..ffece97 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -1,9 +1,9 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: cargo.eclass
# @MAINTAINER:
-# rust@gentoo.org
+# slyfox@gentoo.org
# @AUTHOR:
# Doug Goldstein <cardoe@gentoo.org>
# @BLURB: common functions and variables for cargo builds
@@ -18,7 +18,7 @@ esac
EXPORT_FUNCTIONS src_unpack src_compile src_install
-IUSE="${IUSE} debug"
+IUSE="${IUSE} debug fetch-crates"
[[ ${CATEGORY}/${PN} != dev-util/cargo ]] && DEPEND="${DEPEND} || ( >=dev-util/cargo-0.13.0
>=virtual/rust-1.22.1 )"
@@ -40,7 +40,7 @@ cargo_crate_uris() {
version="${name##*-}-${version}"
name="${name%-*}"
fi
- url="https://crates.io/api/v1/crates/${name}/${version}/download -> ${crate}.crate"
+ url="!fetch-crates? ( https://crates.io/api/v1/crates/${name}/${version}/download -> ${crate}.crate )"
echo "${url}"
done
}
@@ -51,9 +51,23 @@ cargo_crate_uris() {
cargo_src_unpack() {
debug-print-function ${FUNCNAME} "$@"
+ if use fetch-crates; then
+ # Cache crates in persistent store
+ # Do no redownload them at every compilation
+ ECARGO_HOME="${PORTAGE_ACTUAL_DISTDIR-${DISTDIR}}/cargo-src"
+ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
+
+ addwrite "${ECARGO_HOME}"
+ fi
+
mkdir -p "${ECARGO_VENDOR}" || die
mkdir -p "${S}" || die
+ if use fetch-crates; then
+ ewarn "USE=fetch-crates is set. Crates will be fetched from crates.io."
+ return
+ fi
+
local archive shasum pkg
for archive in ${A}; do
case "${archive}" in