DeterminateSystems / riff

Riff automatically provides external dependencies for Rust projects, with support for other languages coming soon.
https://riff.sh
Mozilla Public License 2.0
486 stars 13 forks source link

Union `package.metadata.fsm.build-inputs` fields #8

Closed Hoverbear closed 2 years ago

Hoverbear commented 2 years ago

In an effort to embed native dependencies into a Cargo.toml, we read from the package.metadata.fsm.build-inputs table for a list of package names (as keys) with semver markers for required version.

Currently versions are ignored, this is a TODO.

Package dependencies are unioned together to create a full build-inputs list.

Existing "known" build-input mappings are retained, but relocated to a Lazy<HashMap<&'static str, HashSet<&'static str>>>.

image

linear[bot] commented 2 years ago
DS-209 Research embedding native Nix dependencies in the Cargo.toml

We want to be able to store relatively simple native dependency information in either Cargo.toml, or a flake.nix, or something else for each crate a project depends on. The goal is for, say, the openssl crate (and the pkg-config crate) to define that they depend on openssl's libraries (and pkg-config's executable.) Ana is leading this.