NAME
cargo-module —
devel/cargo port module
DESCRIPTION
This manual page documents the behavior of setting
MODULES=devel/cargo in the
ports(7) tree.
Automates download and compilation of dependencies of a Rust project using cargo(1).
During fetch, static dependencies
("crates") listed in MODCARGO_CRATES are
downloaded using MODCARGO_DIST_SUBDIR as
DIST_SUBDIR.
During post-extract, crates defined in
MODCARGO_CRATES are moved to the
MODCARGO_VENDOR_DIR directory.
During post-patch, crate-metadata are
generated using devel/cargo-generate-vendor.
With CONFIGURE_STYLE set to
‘cargo’, cargo is configured to use
MODCARGO_VENDOR_DIR instead of the standard
crates-io network source. Finally, any crates listed in
MODCARGO_CRATES_UPDATE are updated.
MODCARGO_RUSTFLAGS can be used to pass
custom flags to all rustc(1)
invocations.
lang/rust is added to
MODULES, and
devel/cargo-generate-vendor is added to
BUILD_DEPENDS.
This module defines:
MODCARGO_CARGOTOML- Path to cargo manifest. Defaults to ${WRKSRC}/Cargo.toml.
MODCARGO_CARGOLOCK- Path to Cargo.lock, which is used only by the
modcargo-gen-cratestarget. Defaults to ${MODCARGO_CARGOTOML:toml=lock}. MODCARGO_CRATES- Crates that will be downloaded by the module.
MODCARGO_CRATES_UPDATE- List of crates to update, overriding the version listed in Cargo.lock.
MODCARGO_FEATURES- List of features to be used when building.
MODCARGO_INSTALL_TARGET_PATHS- List of paths to pass to
cargo installinstead of .. Needs to be set for some virtual manifests. MODCARGO_VENDOR_DIR- Name of the local directory for vendoring crates. Defaults to ${WRKSRC}/modcargo-crates.
MODCARGO_WANTLIB- Architecture-specific
WANTLIBentries required by all Rust code. It is a copy ofMODRUST_WANTLIBprovided for simplicity.
This module adds three make(1) targets:
modcargo-metadata- Rerun the generation of crates' metadata.
modcargo-gen-crates- Generate the
MODCARGO_CRATESlist from Cargo.lock (a preliminary crates list is not required). modcargo-gen-crates-licenses- Generate the
MODCARGO_CRATESlist with license information from crates present in theMODCARGO_VENDOR_DIRdirectory.