summaryrefslogtreecommitdiff
path: root/eclass/cargo.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/cargo.eclass')
-rw-r--r--eclass/cargo.eclass30
1 files changed, 17 insertions, 13 deletions
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index d93ae1723470..247d1bf535b9 100644
--- a/eclass/cargo.eclass
+++ b/eclass/cargo.eclass
@@ -245,6 +245,16 @@ ECARGO_VENDOR="${ECARGO_HOME}/gentoo"
# @DESCRIPTION:
# List of URIs to put in SRC_URI created from CRATES variable.
+# @FUNCTION: _cargo_check_initialized
+# @INTERNAL
+# @DESCRIPTION:
+# Checks if rust_pkg_setup has been run.
+_cargo_check_initialized() {
+ if [[ -z "${CARGO}" ]]; then
+ die "CARGO is not set; was rust_pkg_setup run?"
+ fi
+}
+
# @FUNCTION: _cargo_set_crate_uris
# @USAGE: <crates>
# @DESCRIPTION:
@@ -468,9 +478,7 @@ cargo_target_dir() {
cargo_update_crates () {
debug-print-function ${FUNCNAME} "$@"
- if [[ -z ${CARGO} ]]; then
- die "CARGO is not set; was rust_pkg_setup run?"
- fi
+ _cargo_check_initialized
local path=${1:-"${S}/Cargo.toml"}
if [[ $# -gt 1 ]]; then
@@ -534,7 +542,7 @@ cargo_src_unpack() {
popd >/dev/null || die
if [[ ${#crates[@]} -ge 300 ]]; then
- eqawarn "This package uses a very large number of CRATES. Please provide"
+ eqawarn "QA Notice: This package uses a very large number of CRATES. Please provide"
eqawarn "a crate tarball instead and fetch it via SRC_URI. You can use"
eqawarn "'pycargoebuild --crate-tarball' to create one."
fi
@@ -553,6 +561,8 @@ cargo_live_src_unpack() {
[[ "${PV}" == *9999* ]] || die "${FUNCNAME} only allowed in live/9999 ebuilds"
[[ "${EBUILD_PHASE}" == unpack ]] || die "${FUNCNAME} only allowed in src_unpack"
+ _cargo_check_initialized
+
mkdir -p "${S}" || die
mkdir -p "${ECARGO_VENDOR}" || die
mkdir -p "${ECARGO_HOME}" || die
@@ -778,9 +788,7 @@ cargo_env() {
cargo_src_compile() {
debug-print-function ${FUNCNAME} "$@"
- if [[ -z "${CARGO}" ]]; then
- die "CARGO is not set; was rust_pkg_setup run?"
- fi
+ _cargo_check_initialized
set -- "${CARGO}" build $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"
@@ -796,9 +804,7 @@ cargo_src_compile() {
cargo_src_install() {
debug-print-function ${FUNCNAME} "$@"
- if [[ -z "${CARGO}" ]]; then
- die "CARGO is not set; was rust_pkg_setup run?"
- fi
+ _cargo_check_initialized
set -- "${CARGO}" install $(has --path ${@} || echo --path ./) \
--root "${ED}/usr" \
@@ -818,9 +824,7 @@ cargo_src_install() {
cargo_src_test() {
debug-print-function ${FUNCNAME} "$@"
- if [[ -z "${CARGO}" ]]; then
- die "CARGO is not set; was rust_pkg_setup run?"
- fi
+ _cargo_check_initialized
set -- "${CARGO}" test $(usex debug "" --release) ${ECARGO_ARGS[@]} "$@"
einfo "${@}"