[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 }