Files
kestrove-desktop/src-tauri/Cargo.toml
T
samiandClaude Opus 5.5 32eadc4d03
ci / build (ubuntu-22.04) (push) Canceled after 0s
ci / build (windows-2025) (push) Canceled after 0s
ci / deny (push) Canceled after 0s
Windows updates come from the Kestrove website; version 1.2.1
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 18:57:46 +04:00

94 lines
3.1 KiB
TOML

[package]
name = "kestrove-desktop"
version = "1.2.1"
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"] }
# Windows Hello unlock (docs/02 "Local unlock"): a key derived from Hello's signature seals the LUK.
hkdf = "0.12"
chacha20poly1305 = "0.10"
[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",
"Win32_UI_WindowsAndMessaging",
] }
# In-app updates (updates.rs): signed installers listed in latest.json on the Kestrove website.
tauri-plugin-updater = "2"
# Windows Hello (KeyCredentialManager); the same version Tauri already pulls in.
windows = { version = "0.62", features = ["Foundation", "Security_Credentials", "Security_Cryptography", "Storage_Streams"] }
[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