devel/cargo module
- uses cargo --offline when building to enforce "no network" at build time. - properly implement MODCARGO_FEATURES by passing it to all stages (build, test, install) - add MODCARGO_NO_DEFAULT_FEATURES to permit overriding completely cargo features defined in Cargo.toml ok sthen@
This commit is contained in:
parent
581e15276f
commit
4ef340bb9e
@ -1,4 +1,4 @@
|
||||
# $OpenBSD: cargo.port.mk,v 1.10 2019/11/26 13:01:06 sthen Exp $
|
||||
# $OpenBSD: cargo.port.mk,v 1.11 2019/12/11 12:35:06 semarie Exp $
|
||||
|
||||
CATEGORIES += lang/rust
|
||||
|
||||
@ -9,6 +9,9 @@ MODCARGO_CRATES ?=
|
||||
# List of features to build (space separated list).
|
||||
MODCARGO_FEATURES ?=
|
||||
|
||||
# Force using only MODCARGO_FEATURES if Yes
|
||||
MODCARGO_NO_DEFAULT_FEATURES ?= No
|
||||
|
||||
# List of crates to update (no version).
|
||||
# Used to override a dependency with newer version.
|
||||
MODCARGO_CRATES_UPDATE ?=
|
||||
@ -143,8 +146,15 @@ MODCARGO_TEST_ARGS ?=
|
||||
|
||||
# Manage crate features.
|
||||
.if !empty(MODCARGO_FEATURES)
|
||||
MODCARGO_BUILD_ARGS += --features='${MODCARGO_FEATURES}'
|
||||
MODCARGO_TEST_ARGS += --features='${MODCARGO_FEATURES}'
|
||||
MODCARGO_BUILD_ARGS += --features='${MODCARGO_FEATURES}'
|
||||
MODCARGO_INSTALL_ARGS += --features='${MODCARGO_FEATURES}'
|
||||
MODCARGO_TEST_ARGS += --features='${MODCARGO_FEATURES}'
|
||||
.endif
|
||||
|
||||
.if ${MODCARGO_NO_DEFAULT_FEATURES:L} == "yes"
|
||||
MODCARGO_BUILD_ARGS += --no-default-features
|
||||
MODCARGO_INSTALL_ARGS += --no-default-features
|
||||
MODCARGO_TEST_ARGS += --no-default-features
|
||||
.endif
|
||||
|
||||
# Helper for updating a crate.
|
||||
@ -162,6 +172,7 @@ MODCARGO_TEST ?= Yes
|
||||
MODCARGO_BUILD_TARGET = \
|
||||
${MODCARGO_CARGO_RUN} build \
|
||||
--manifest-path ${MODCARGO_CARGOTOML} \
|
||||
--offline \
|
||||
--release \
|
||||
--verbose \
|
||||
${MODCARGO_BUILD_ARGS} ;
|
||||
@ -175,6 +186,7 @@ do-build:
|
||||
MODCARGO_INSTALL_TARGET = \
|
||||
${MODCARGO_CARGO_RUN} install \
|
||||
--root="${PREFIX}" \
|
||||
--offline \
|
||||
--verbose \
|
||||
${MODCARGO_INSTALL_ARGS} ; \
|
||||
rm -- "${PREFIX}/.crates.toml" ;
|
||||
@ -188,6 +200,7 @@ do-install:
|
||||
MODCARGO_TEST_TARGET = \
|
||||
${MODCARGO_CARGO_RUN} test \
|
||||
--manifest-path ${MODCARGO_CARGOTOML} \
|
||||
--offline \
|
||||
--release \
|
||||
--verbose \
|
||||
${MODCARGO_TEST_ARGS} ;
|
||||
|
Loading…
Reference in New Issue
Block a user