[package] # name = "keyring-manager" version = "0.5.1" # authors = ["Veilid Team "] description = "Cross-platform library for managing passwords" keywords = ["password", "cross-platform", "keychain", "keyring"] license = "MIT OR Apache-2.0" edition = "2018" [lib] crate-type = ["staticlib", "cdylib", "rlib"] [features] default = [] macos-specify-keychain = [] keyring_manager_android_tests = ["android_logger", "backtrace"] keyring_manager_ios_tests = ["simplelog", "backtrace"] [dependencies] lazy_static = "1.4.0" log = "0.4.20" cfg-if = "1.0.0" serde = { version = "1.0.183", features = ["derive"] } serde_cbor = { version = "0.11.2" } directories = "5.0.1" fs4 = "0.6.6" snailquote = "0.3.1" [target.'cfg(target_os = "macos")'.dependencies] security-framework = "2.9.2" [target.'cfg(target_os = "ios")'.dependencies] # These version must line up with each others' dependencies exactly! security-framework-sys = { version = "2.9.0", default-features = false } core-foundation = "0.9.3" core-foundation-sys = "0.8.4" # ^^^ simplelog = { version = "0.12.1", optional = true } backtrace = { version = "0.3.69", optional = true } [target.'cfg(target_os = "linux")'.dependencies] secret-service = "2.0.2" [target.'cfg(target_os = "windows")'.dependencies] byteorder = "1.4.3" winapi = { version = "0.3.9", features = ["wincred", "minwindef"] } [target.'cfg(target_os = "android")'.dependencies] jni = "0.21.1" ndk = { version = "^0.7" } ndk-glue = { version = "^0.7", features = ["logger"] } android_logger = { version = "^0", optional = true } backtrace = { version = "^0", optional = true } [dev-dependencies] clap = "4.4.1" rpassword = "7.2.0" serial_test = "2.0.0" [target.'cfg(target_os = "macos")'.dev-dependencies] tempfile = "3.8.0" [target.'cfg(target_os = "ios")'.dev-dependencies] tempfile = "3.8.0"