atagen

macltok

public
Star0
Watch0
068bfa92dd36b02799bc72e18b1e6405d74966d9
3
ssh://brewery@pls.lobotomise.me:33/atagen/macltok.git
Cargo.tomlToml96 lines4.6 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
# no mmap, which wasm can't have, and no zstd, which is C
41
tantivy = { version = "0.26.1", default-features = false, features = ["lz4-compression"] }
42
tantivy-common = "0.11"
43
tokio = { version = "1.47.1", features = ["macros", "sync"] }
44
tracing = "0.1.41"
45
url = { version = "2.5.7", optional = true }
46
rusqlite = { version = "0.37", optional = true }
47
48
[target.'cfg(target_family = "wasm")'.dependencies]
49
getrandom = { version = "0.2", features = ["js"] }
50
getrandom3 = { package = "getrandom", version = "0.3", features = ["wasm_js"] }
51
getrandom4 = { package = "getrandom", version = "0.4", features = ["wasm_js"] }
52
indexed_db_futures = { package = "matrix_indexed_db_futures", version = "0.7.0", optional = true, features = ["typed-arrays"] }
53
js-sys = { version = "0.3.105", optional = true }
54
# tantivy 0.26's merger reads Instant::now() whenever debug logging is on, and that panics in
55
# wasm. both caps, since a release_max_level a host sets would otherwise win in release
56
log = { version = "0.4.29", features = ["max_level_info", "release_max_level_info"] }
57
matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] }
58
matrix-sdk-ui = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["js"] }
59
# the sdk's own wasm reqwest leaves out stream, which the bounded media download needs
60
reqwest = { version = "0.13.1", default-features = false, features = ["stream"] }
61
uuid = { version = "1", features = ["js"] }
62
wasm-bindgen = { version = "0.2.128", optional = true }
63
wasm-bindgen-futures = { version = "0.4.78", optional = true }
64
web-sys = { version = "0.3.105", optional = true, features = [
65
    "IdbFactory",
66
    "IdbOpenDbRequest",
67
    "IdbRequest",
68
    "Window",
69
    "WorkerGlobalScope",
70
] }
71
72
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
73
matrix-sdk = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd", default-features = false, features = ["testing"] }
74
matrix-sdk-test = { git = "ssh://brewery@pls.lobotomise.me:33/atagen/matrix-rust-sdk", rev = "5ec7600f0a5f648c6e2a34b5be0a1494a4e2eafd" }
75
tokio = { version = "1.47.1", features = ["macros", "rt-multi-thread", "signal", "time"] }
76
wiremock = "0.6.5"
77
78
[target.'cfg(target_family = "wasm")'.dev-dependencies]
79
tokio = { version = "1.47.1", features = ["macros", "rt"] }
80
wasm-bindgen-test = "0.3"
81
82
[[example]]
83
name = "headless"
84
required-features = ["sqlite"]
85
86
[lints.rust]
87
unsafe_code = "forbid"
88
89
[lints.clippy]
90
all = "warn"
91
92
[profile.dev]
93
debug = "line-tables-only"
94
95
[profile.dev.package."*"]
96
debug = false