fumi/core/Cargo.toml

42 lines
1.4 KiB
TOML
Raw Permalink Normal View History

[package]
name = "fumi-core"
version = "0.1.0"
edition = "2021"
description = "Smol Mail client library: identities, sealing, mailbox operations"
license = "Apache-2.0"
[features]
default = ["store", "bundled-sqlite"]
# Local state in SQLite: the store module and the client operations that take
# one. Off, the crate keeps identities, addresses, seal/open and the raw
# transport operations for hosts with their own database and thin FFI
# consumers that need only the crypto and envelope layer.
store = ["dep:rusqlite", "dep:serde", "dep:serde_json"]
# Bundle libsqlite3 so the store needs no system SQLite; embedders with their
# own SQLite (Android's NDK case) build with default-features = false.
bundled-sqlite = ["rusqlite/bundled"]
# RNS carrier over microReticulum (RNS.md); needs MICRORETICULUM_SOURCE_DIR
# at build time, provided by the flake.
rns = ["dep:cc"]
[dependencies]
snow = "0.9"
chacha20poly1305 = "0.10"
ed25519-dalek = { version = "2", features = ["rand_core"] }
x25519-dalek = { version = "2", features = ["static_secrets"] }
sha2 = "0.10"
hmac = "0.12"
hkdf = "0.12"
rand_core = { version = "0.6", features = ["getrandom"] }
rusqlite = { version = "0.32", optional = true }
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }
data-encoding = "2"
[dev-dependencies]
serde = { version = "1", features = ["derive"] }
serde_json = "1"
[build-dependencies]
cc = { version = "1", optional = true }