CARGO-MODULE(5) - File Formats Manual #
CARGO-MODULE(5) - File Formats Manual
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_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 install instead 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
WANTLIB
entries required by all Rust code. It is a copy ofMODRUST_WANTLIB
provided for simplicity.
This module adds three make(1) targets:
modcargo-metadata
Rerun the generation of crates’ metadata.
modcargo-gen-crates
Generate the
MODCARGO_CRATES
list from Cargo.lock (a preliminary crates list is not required).
modcargo-gen-crates-licenses
Generate the
MODCARGO_CRATES
list with license information from crates present in theMODCARGO_VENDOR_DIR
directory.
SEE ALSO #
port-modules(5)
OpenBSD 7.5 - January 6, 2024