$ system-deps
v7.0.8Discover and configure system dependencies from declarative dependencies in Cargo.toml
Latest Update Summary
Crate
Name: system-deps New version: 7.0.6 Release date: 2025-10-14T11:33:53Z
Crate readme
Short description
system-deps lets you write system dependencies in Cargo.toml metadata, rather than programmatically in build.rs.
Long description
system-deps allows dependencies to be declared in a declarative manner within Cargo.toml, enabling other tools to easily read them. Currently, it supports pkg-config dependencies, with future expansions planned. Users can override flags using environment variables, and -sys crates can internally build and statically link the required system library.
Features • pkg-config support • environment variable overrides • internal building and static linking for -sys crates
Code Examples Add to Cargo.toml
[build-dependencies]
system-deps = "2.0"
Declare a dependency in Cargo.toml
[package.metadata.system-deps]
testlib = "1.2"
Usage in build.rs
fn main() {
system_deps::Config::new().probe().unwrap();
}
Links • https://crates.io/crates/system-deps • https://docs.rs/system-deps/ • http://example.com/release/1.2.3 • http://example.com/issues/16 https://docs.rs/system-deps/ https://api.github.com/repos/gdesmott/system-deps/releases/254335155
Release info
Release version: 1.2.3
Release description In this release, version 1.2.3 introduces substantial enhancements and bug fixes focused on stability and performance improvements. A significant update includes the new async API which allows for better handling of concurrent operations, providing developers with improved flexibility and efficiency in managing resources. Additionally, a feature flag enabling the 'serde' serialization format has been introduced, allowing for a more streamlined data handling process. Notably, changes to environment variables have been implemented to boost configurability and control over runtime behavior. Users are advised to incorporate the new settings related to the API adjustments to ensure compatibility with existing codebases and to avoid deprecated features in the future. For further details regarding these transitions and the list of affected areas, please refer to issue #16 for specific changes that necessitate attention.
Code Examples New async API usage
async fn example() {
let result = async_operation().await;
println!("Result: {:?}", result);
}
Enable 'serde' feature
[dependencies]
my_crate = { version = "*", features = ["serde"] }
Patch update: 7.0.7 → 7.0.8
$ DOWNLOADS TREND
$ VERSION HISTORY
$ LINKS
$ INSTALL
cargo add system-depsOr add to Cargo.toml: system-deps = "7.0.8"