OpenBSD manual page server

Manual Page Search Parameters

CARGO-MODULE(5) File Formats Manual CARGO-MODULE(5)

cargo-moduledevel/cargo port module

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, devel/cargo and devel/cargo-generate-vendor are added to BUILD_DEPENDS. By default MASTER_SITES9 is used to download the crates.

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_VENDOR_DIR
Name of the local directory for vendoring crates. Defaults to ${WRKSRC}/modcargo-crates.

This module adds three make(1) targets:

Rerun the generation of crates' metadata.
Generate the MODCARGO_CRATES list from Cargo.lock (a preliminary crates list is not required).
Generate the MODCARGO_CRATES list with license information from crates present in the MODCARGO_VENDOR_DIR directory.

port-modules(5)

July 25, 2021 OpenBSD-current