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} ; >