atagen

macltok

public
Star0
Watch0
e5c6427adb3514db788582c8ae384f4643c84757
3
ssh://brewery@pls.lobotomise.me:33/atagen/macltok.git
Cargo.tomlToml90 lines4.1 KB
1
[package]
2
name = "macltok"
3
version = "0.1.0"
4
edition = "2024"
5
description = "A compact application backend on top of the Matrix Rust SDK"
6
7
[features]
8
default = []
9
mirror = []
10
serde = ["dep:serde", "imbl/serde"]
11
sqlite = ["matrix-sdk/sqlite", "serde", "dep:url", "dep:matrix-sdk-store-encryption", "dep:rusqlite"]
12
bundled-sqlite = ["sqlite", "matrix-sdk/bundled-sqlite"]
13
indexeddb = [
14
    "matrix-sdk/indexeddb",
15
    "serde",
16
    "dep:url",
17
    "dep:matrix-sdk-store-encryption",
18
    "dep:indexed_db_futures",
19
    "dep:js-sys",
20
    "dep:wasm-bindgen",
21
    "dep:wasm-bindgen-futures",
22
    "dep:web-sys",
23
]
24
25
[dependencies]
26
futures-util = { version = "0.3.31", default-features = false, features = ["std"] }
27
http = "1"
28
imbl = { version = "6.1.0", default-features = false }
29
matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["e2e-encryption"] }
30
matrix-sdk-base = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false }
31
matrix-sdk-crypto = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false }
32
matrix-sdk-store-encryption = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", optional = true }
33
matrix-sdk-ui = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false }
34
ruma = { version = "0.16.0", default-features = false, features = ["unstable-msc2545", "unstable-msc4095"] }
35
serde = { version = "1.0.219", features = ["derive", "rc"], optional = true }
36
serde_json = { version = "1.0.143", features = ["raw_value"] }
37
thiserror = "2.0.16"
38
mime = "0.3.17"
39
sha2 = "0.10.9"
40
tokio = { version = "1.47.1", features = ["macros", "sync"] }
41
tracing = "0.1.41"
42
url = { version = "2.5.7", optional = true }
43
rusqlite = { version = "0.37", optional = true }
44
45
[target.'cfg(target_family = "wasm")'.dependencies]
46
getrandom = { version = "0.2", features = ["js"] }
47
getrandom3 = { package = "getrandom", version = "0.3", features = ["wasm_js"] }
48
getrandom4 = { package = "getrandom", version = "0.4", features = ["wasm_js"] }
49
indexed_db_futures = { package = "matrix_indexed_db_futures", version = "0.7.0", optional = true, features = ["typed-arrays"] }
50
js-sys = { version = "0.3.105", optional = true }
51
matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] }
52
matrix-sdk-ui = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] }
53
# the sdk's own wasm reqwest leaves out stream, which the bounded media download needs
54
reqwest = { version = "0.13.1", default-features = false, features = ["stream"] }
55
uuid = { version = "1", features = ["js"] }
56
wasm-bindgen = { version = "0.2.128", optional = true }
57
wasm-bindgen-futures = { version = "0.4.78", optional = true }
58
web-sys = { version = "0.3.105", optional = true, features = [
59
    "IdbFactory",
60
    "IdbOpenDbRequest",
61
    "IdbRequest",
62
    "Window",
63
    "WorkerGlobalScope",
64
] }
65
66
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
67
matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["testing"] }
68
matrix-sdk-test = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd" }
69
tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread", "signal", "time"] }
70
wiremock = "0.6.5"
71
72
[target.'cfg(target_family = "wasm")'.dev-dependencies]
73
tokio = { version = "1.47.1", features = ["macros", "rt"] }
74
wasm-bindgen-test = "0.3"
75
76
[[example]]
77
name = "headless"
78
required-features = ["sqlite"]
79
80
[lints.rust]
81
unsafe_code = "forbid"
82
83
[lints.clippy]
84
all = "warn"
85
86
[profile.dev]
87
debug = "line-tables-only"
88
89
[profile.dev.package."*"]
90
debug = false