diff options
author | Cynede <cynede@gentoo.org> | 2018-01-23 14:36:15 +0400 |
---|---|---|
committer | Cynede <cynede@gentoo.org> | 2018-01-23 14:36:15 +0400 |
commit | dd177c2521438d7ddaecf0b48a9ca55ab421ecf3 (patch) | |
tree | 1dcab0482d38da4cd2114e1cd3d5019952286c6d /eclass | |
parent | Merge pull request #316 from stefantalpalaru/repoman (diff) | |
download | rust-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.eclass | 22 |
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 |