On 2019/12/11 09:51, Sebastien Marie wrote:
> Hi,
> 
> The following diff to devel/cargo module introduces two things:
> 
> - build rust crates using cargo --offline to enforce "no network" build. It
>   means that if network would be necessary, cargo will abort with error 
> instead of
>   using (or trying to use) network.
> 
> - provide proper MODCARGO_FEATURES functionality. currently the flags are 
> passed
>   only to build stage, resulting the install stage to rebuild things without 
> the
>   flags before installing.
> 
> - add a MODCARGO_NO_DEFAULT_FEATURES knob to permit overriding completely
>   features defined in Cargo.toml. Without it, features are added to default 
> ones.
> 
> Comments or OK ?

OK sthen@. I've done several full bulk builds with cargo --offline with
no fallout.

> Sebastien Marie
> 
> diff 6deeda83e36cd06f0fc98a19fbf83dc54a799766 
> /home/semarie/repos/openbsd/ports
> blob - 7e465f5957edcde8dfb487eb610b363a505ca700
> file + devel/cargo/cargo.port.mk
> --- devel/cargo/cargo.port.mk
> +++ devel/cargo/cargo.port.mk
> @@ -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,10 +146,17 @@ 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.
>  MODCARGO_CARGO_UPDATE = \
>       ${MODCARGO_CARGO_RUN} update \
> @@ -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} ;
> 

Reply via email to