matrix-rust-sdk/crates/matrix-sdk/Cargo.toml

151 lines
4.8 KiB
TOML

[package]
authors = ["Damir Jelić <poljar@termina.org.uk>"]
description = "A high level Matrix client-server library."
edition = "2021"
homepage = "https://github.com/matrix-org/matrix-rust-sdk"
keywords = ["matrix", "chat", "messaging", "ruma", "nio"]
license = "Apache-2.0"
name = "matrix-sdk"
readme = "README.md"
repository = "https://github.com/matrix-org/matrix-rust-sdk"
rust-version = { workspace = true }
version = "0.6.2"
[package.metadata.docs.rs]
features = ["docsrs"]
rustdoc-args = ["--cfg", "docsrs"]
[features]
default = [
"e2e-encryption",
"automatic-room-key-forwarding",
"sled",
"native-tls",
]
testing = []
e2e-encryption = [
"matrix-sdk-base/e2e-encryption",
"matrix-sdk-base/automatic-room-key-forwarding",
"matrix-sdk-sled?/crypto-store", # activate crypto-store on sled if given
"matrix-sdk-indexeddb?/e2e-encryption", # activate on indexeddb if given
]
js = ["matrix-sdk-common/js", "matrix-sdk-base/js"]
sled = ["dep:matrix-sdk-sled", "matrix-sdk-sled?/state-store"]
indexeddb = ["dep:matrix-sdk-indexeddb"]
qrcode = ["e2e-encryption", "matrix-sdk-base/qrcode"]
automatic-room-key-forwarding = ["e2e-encryption", "matrix-sdk-base/automatic-room-key-forwarding"]
markdown = ["ruma/markdown"]
native-tls = ["reqwest/native-tls"]
rustls-tls = ["reqwest/rustls-tls"]
socks = ["reqwest/socks"]
sso-login = ["dep:hyper", "dep:rand", "dep:tower"]
appservice = ["ruma/appservice-api-s"]
image-proc = ["dep:image"]
image-rayon = ["image-proc", "image?/jpeg_rayon"]
experimental-timeline = ["ruma/unstable-msc2677", "dep:chrono"]
experimental-sliding-sync = [
"matrix-sdk-base/experimental-sliding-sync",
"experimental-timeline",
"reqwest/gzip",
"dep:uuid",
]
docsrs = [
"e2e-encryption",
"sled",
"sso-login",
"qrcode",
"image-proc",
]
[dependencies]
anyhow = { workspace = true, optional = true }
anymap2 = "0.13.0"
async-stream = { workspace = true }
async-trait = { workspace = true }
bytes = "1.1.0"
bytesize = "1.1"
chrono = { version = "0.4.23", optional = true }
dashmap = { workspace = true }
event-listener = "2.5.2"
eyeball = { workspace = true }
eyeball-im = { workspace = true }
eyre = { version = "0.6.8", optional = true }
futures-core = "0.3.21"
futures-util = { workspace = true }
http = { workspace = true }
im = { version = "15.1.0", features = ["serde"] }
indexmap = "1.9.1"
hyper = { version = "0.14.20", features = ["http1", "http2", "server"], optional = true }
matrix-sdk-base = { version = "0.6.0", path = "../matrix-sdk-base", default_features = false }
matrix-sdk-common = { version = "0.6.0", path = "../matrix-sdk-common" }
matrix-sdk-indexeddb = { version = "0.2.0", path = "../matrix-sdk-indexeddb", default-features = false, optional = true }
matrix-sdk-sled = { version = "0.2.0", path = "../matrix-sdk-sled", default-features = false, optional = true }
mime = "0.3.16"
pin-project-lite = "0.2.9"
rand = { version = "0.8.5", optional = true }
reqwest = { version = "0.11.10", default_features = false }
ruma = { workspace = true, features = ["rand", "unstable-msc2448", "unstable-msc2965"] }
serde = { workspace = true }
serde_html_form = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
tower = { version = "0.4.13", features = ["make"], optional = true }
tracing = { workspace = true, features = ["attributes"] }
url = "2.2.2"
uuid = { version = "1.3.0", optional = true }
zeroize = { workspace = true }
[dependencies.image]
version = "0.24.2"
default-features = false
features = [
"gif",
"jpeg",
"ico",
"png",
"pnm",
"tga",
"tiff",
"webp",
"bmp",
"hdr",
"dxt",
"dds",
"farbfeld",
]
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies]
async-once-cell = "0.4.2"
gloo-timers = { version = "0.2.6", features = ["futures"] }
tokio = { version = "1.24.2", default-features = false, features = ["sync"] }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
backoff = { version = "0.4.0", features = ["tokio"] }
tokio = { version = "1.24.2", default-features = false, features = ["fs", "rt"] }
[dev-dependencies]
anyhow = { workspace = true }
assert_matches = "1.5.0"
dirs = "4.0.0"
futures = { version = "0.3.21", default-features = false, features = ["executor"] }
matrix-sdk-test = { version = "0.6.0", path = "../../testing/matrix-sdk-test" }
once_cell = { workspace = true }
tempfile = "3.3.0"
tracing-subscriber = { version = "0.3.11", features = ["env-filter"] }
[target.'cfg(target_arch = "wasm32")'.dev-dependencies]
getrandom = { version = "0.2.6", default-features = false, features = ["js"] }
wasm-bindgen-test = "0.3.33"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
ctor = { workspace = true }
tokio = { version = "1.24.2", default-features = false, features = ["rt-multi-thread", "macros"] }
wiremock = "0.5.13"