mirror of
https://github.com/spartanz51/tutabridge.git
synced 2026-06-24 10:54:32 +02:00
The bundled-sqlcipher feature relied on a system OpenSSL for SQLCipher's crypto — fine on macOS/Linux, but absent on Windows, where the release build failed at libsqlite3-sys. Switch to bundled-sqlcipher-vendored-openssl: OpenSSL is built from source, so the build is self-contained and identical across all three OSes (and the AUR package needs no system OpenSSL). Caught by the multi-OS release dispatch.
55 lines
1.6 KiB
TOML
55 lines
1.6 KiB
TOML
[package]
|
|
name = "tutabridge-core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
rust-version = "1.84.0"
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[dependencies]
|
|
tuta-sdk = { path = "../../tuta-repo/tuta-sdk/rust/sdk", features = ["net"] }
|
|
|
|
tokio = { version = "1.43", features = ["full"] }
|
|
async-trait = "0.1"
|
|
|
|
log = "0.4"
|
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "0.8"
|
|
|
|
tokio-rustls = { version = "0.26", features = ["ring"] }
|
|
rustls-pemfile = "2"
|
|
rcgen = "0.13"
|
|
|
|
crypto-primitives = { path = "../../tuta-repo/tuta-sdk/rust/crypto-primitives" }
|
|
|
|
rand = "0.8"
|
|
|
|
thiserror = "2.0"
|
|
base64 = "0.22"
|
|
dirs = "6"
|
|
anyhow = "1"
|
|
rand_core = "0.6"
|
|
# Vendor OpenSSL for SQLCipher so the build needs no system OpenSSL — works
|
|
# identically on macOS / Linux / Windows (Windows has none) and keeps the AUR
|
|
# package self-contained.
|
|
rusqlite = { version = "0.32", features = ["bundled-sqlcipher-vendored-openssl"] }
|
|
hex = "0.4"
|
|
|
|
# OS keychain backend — one per platform so the CLI builds (and packages,
|
|
# e.g. on the AUR) on Linux/Windows, not just macOS. Linux uses the
|
|
# Secret Service (gnome-keyring / KWallet) with pure-Rust crypto so there's
|
|
# no OpenSSL build dependency.
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
keyring = { version = "3", features = ["apple-native"] }
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
keyring = { version = "3", features = ["windows-native"] }
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
keyring = { version = "3", features = ["sync-secret-service", "crypto-rust"] }
|
|
|
|
[dev-dependencies]
|
|
tuta-sdk = { path = "../../tuta-repo/tuta-sdk/rust/sdk", features = ["net", "logging", "testing"] }
|
|
rpassword = "7"
|