The broker, pairing channel, IPC and kestrove-nmh moved to kestrove-core so the macOS app serves the extension too (a Mac no longer needs this app). Old module paths are re-exports. rustls-webpki 0.103.16 and webpki-roots 1.0.10 (RUSTSEC-2026-0381/0382). Co-Authored-By: Claude Opus 5.5 <[email protected]>
86 lines
2.6 KiB
TOML
86 lines
2.6 KiB
TOML
[package]
|
|
name = "kestrove-desktop"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.82"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
|
|
# Shared by the app, the native-messaging host and the integration tests.
|
|
[lib]
|
|
name = "kestrove_desktop"
|
|
path = "src/lib.rs"
|
|
|
|
[[bin]]
|
|
name = "kestrove-desktop"
|
|
path = "src/main.rs"
|
|
|
|
# Native messaging host: started by the browser, relays to the running app (docs/05). Shared with the macOS
|
|
# app, so the source lives in kestrove-core (crates/kv-nmh).
|
|
[[bin]]
|
|
name = "kestrove-nmh"
|
|
path = "../../kestrove-core/crates/kv-nmh/src/main.rs"
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
# Repos are checked out side by side (see ../../README.md).
|
|
kv-ffi = { path = "../../kestrove-core/crates/kv-ffi", features = ["browser-bridge"] }
|
|
kv-ipc = { path = "../../kestrove-core/crates/kv-ipc" }
|
|
tauri = { version = "2", features = ["tray-icon"] }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
arboard = "3"
|
|
sha2 = "0.10"
|
|
getrandom = "0.2"
|
|
base64 = "0.22"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
url = "2"
|
|
zeroize = "1"
|
|
# Device key (docs/03 "Device keys"): P-256 software key where no hardware key is available.
|
|
p256 = { version = "0.13", features = ["ecdsa"] }
|
|
# Onboarding (docs/10): render QR codes locally, read the Emergency Kit QR from an image or a PDF.
|
|
qrcode = { version = "0.14", default-features = false, features = ["svg"] }
|
|
rqrr = { version = "0.11", default-features = false }
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg"] }
|
|
hayro = { version = "0.8", default-features = false }
|
|
tokio = { version = "1", features = ["time", "sync", "macros"] }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
# macOS (dev) keychain / Linux Secret Service for the device key. Windows uses CNG (TPM) or DPAPI instead.
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
keyring = "4"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.61", features = [
|
|
"Win32_Security_Cryptography",
|
|
"Win32_Foundation",
|
|
"Win32_Graphics_Dwm",
|
|
"Win32_Security",
|
|
"Win32_Security_Authorization",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_IO",
|
|
"Win32_System_Pipes",
|
|
"Win32_System_Threading",
|
|
"Win32_System_StationsAndDesktops",
|
|
"Win32_System_SystemInformation",
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
] }
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
core-foundation = "0.10"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3"
|
|
kv-sync = { path = "../../kestrove-core/crates/kv-sync", features = ["test-server"] }
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }
|
|
|
|
[profile.release]
|
|
lto = true
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = true
|