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:

Path to cargo manifest. Defaults to ${WRKSRC}/Cargo.toml.
Crates that will be downloaded by the module.
List of crates to update, overriding the version listed in Cargo.lock.
List of features to be used when building.
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.


July 25, 2021 OpenBSD-current