$ system-deps

v7.0.8

Discover and configure system dependencies from declarative dependencies in Cargo.toml

Downloads: 41.4M
Recent: 7.7M
Versions: 37
Updated: April 2, 2026

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();
}

Linkshttps://crates.io/crates/system-depshttps://docs.rs/system-deps/http://example.com/release/1.2.3http://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

28.7M41.4M

$ VERSION HISTORY

v7.0.8April 2, 2026
v7.0.7October 31, 2025
v7.0.6October 14, 2025
v7.0.5May 22, 2025

$ LINKS

$ INSTALL

cargo add system-deps

Or add to Cargo.toml: system-deps = "7.0.8"