1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
[package]
name = "libquassel"
description = "Native rust implementation of the Quassel protocol and library functions"
version = "0.1.0"
authors = ["Max Audron <audron@cocaine.farm>"]
license = "ISC"
homepage = "https://gitlab.com/cocainefarm/libquassel"
repository = "https://gitlab.com/cocainefarm/libquassel"
edition = "2021"
autobins = true
include = ["src/**/*", "LICENSE", "README.md"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
log = "0.4"
byteorder = "1.3.2"
time = { version = "0.3", features = ["macros", "parsing", "local-offset"] }
thiserror = "2"
num-traits = "0.2"
num-derive = "0.4"
bitflags = "2"
itertools = "0.14"
crossbeam-channel = "0.5"
once_cell = "1"
libquassel-derive = { path = "./derive" }
bytes = { version = "1.0", optional = true }
flate2 = { version = "1.0", optional = true }
tokio = { version = "1", features = [], optional = true }
tokio-util = { version = "0.7", features = ["codec"], optional = true }
[features]
framing = ["tokio", "tokio-util", "flate2", "bytes"]
# Enable all the quassel features
all-quassel-features = [
"long-message-id",
"long-time",
"rich-messages",
"sender-prefixes",
"authenticators",
]
# Either act as a client or a server
client = []
server = []
# Serialize message IDs as i64
long-message-id = []
# Serialize Message Time as i64
long-time = []
# Add avatar url and real name to messages
rich-messages = []
# Show prefixes for senders in backlog
sender-prefixes = []
# Support for exchangeable auth backends
authenticators = []
# Enable the test crate/feature for running benchmarks
bench = []
default = ["all-quassel-features", "client"]
[package.metadata.docs.rs]
# document all features
all-features = true
# defines the configuration attribute `docsrs`
rustdoc-args = ["--cfg", "docsrs"]
[dev-dependencies]
futures = { version = "0.3" }
# flate2 = { version = "1.0", features = ["tokio"] }
# tokio = { version = "0.3", features = ["full"] }
# tokio-util = { version = "0.5", features = ["codec"] }
tokio-test = { version = "0.4" }
pretty_assertions = "1"
[workspace]
members = ["derive"]
|