This reduces repetitiveness and allows for easier maintainability in the future.
Bug: https://bugs.gentoo.org/953515
Bug: https://bugs.gentoo.org/953532
Signed-off-by: Christopher Fore <csfore@posteo.net>
---
eclass/cargo.eclass | 26 ++++++++++++++------------
1 file changed, 14 insertions(+), 12 deletions(-)
diff --git a/eclass/cargo.eclass b/eclass/cargo.eclass
index d93ae1723470..ad15da2b51a9 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
@@ -778,9 +786,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 +802,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 +822,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 "${@}"
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 16:33:35 |
Calls: | 9,487 |
Calls today: | 6 |
Files: | 13,615 |
Messages: | 6,121,086 |