[package]
name = "framework_lib"
version = "0.6.2"
description = "Library to control Framework Computer systems"
homepage = "https://github.com/FrameworkComputer/framework-system"
repository = "https://github.com/FrameworkComputer/framework-system"
readme = "../README.md"
license = "BSD-3-Clause"
edition = "2021"
rust-version = "1.81"
build = "build.rs"
[features]
default = ["hidapi", "rusb"]
readonly = [ ]
rusb = ["dep:rusb"]
hidapi = ["dep:hidapi"]
uefi = [ "lazy_static/spin_no_std" ]
nvidia = ["dep:nvml-wrapper"]
[build-dependencies]
built = { version = "0.8", features = ["chrono", "git2"] }
[dependencies]
lazy_static = "1.4.0"
dmidecode = { version = "1", default-features = false }
sha2 = { version = "0.10.8", default-features = false, features = [ "force-soft" ] }
regex = { version = "1.11.1", default-features = false }
num = { version = "0.4", default-features = false }
num-derive = { version = "0.4", default-features = false }
num-traits = { version = "0.2", default-features = false }
log = { version = "0.4", default-features = true }
spin = { version = "0.10" }
no-std-compat = { version = "0.4.1", features = [ "alloc" ] }
hidapi = { version = "2.6.3", features = [ "windows-native" ], optional = true }
rusb = { version = "0.9.4", optional = true }
guid-create = { version = "0.5.0", default-features = false }
zerocopy = { version = "0.8", default-features = false, features = ["derive"] }
[target.'cfg(target_os = "uefi")'.dependencies]
uefi = { version = "0.36.1", features = ["alloc", "global_allocator", "panic_handler", "logger"] }
uefi-raw = "0.13"
plain = "0.2.3"
[target.'cfg(windows)'.dependencies]
wmi = "~0.17.3"
env_logger = "0.11"
clap = { version = "4.5", features = ["derive", "cargo"] }
clap-num = { version = "1.2.0" }
clap-verbosity-flag = { version = "3.0" }
clap_complete = "4.5"
windows-version = "0.1.4"
winreg = "0.55.0"
nvml-wrapper = { version = "0.11.0", optional = true }
[target.'cfg(unix)'.dependencies]
libc = "0.2.155"
nix = { version = "0.30", features = ["ioctl", "user"] }
env_logger = "0.11"
clap = { version = "4.5", features = ["derive", "cargo"] }
clap-num = { version = "1.2.0" }
clap-verbosity-flag = { version = "3.0" }
clap_complete = "4.5"
nvml-wrapper = { version = "0.11.0", optional = true }
[target.'cfg(windows)'.dependencies.windows]
version = "0.62.0"
features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_Security",
"Win32_System_IO",
"Win32_System_Ioctl",
"Win32_System_SystemInformation",
"Win32_System_SystemServices",
"Win32_Devices_DeviceAndDriverInstallation",
"Win32_Devices_HumanInterfaceDevice",
"Win32_Devices_Properties",
"Win32_Storage_EnhancedStorage",
"Win32_System_Threading",
"Win32_UI_Shell_PropertiesSystem"
]