Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
84 lines (78 loc) · 4.25 KB
/
Copy pathCargo.toml
File metadata and controls
84 lines (78 loc) · 4.25 KB
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
[workspace]
members = ["app", "crates/rkvm-core", "crates/rkvm-net", "crates/rkvm-proto"]
exclude = ["crates/rkvm-web", "rust"]
resolver = "2"
[workspace.package]
version = "0.1.0"
edition = "2024"
rust-version = "1.87"
license = "GPL-2.0-only"
repository = "https://github.com/Rust-KVM/rustkvm"
[workspace.dependencies]
anyhow = "1.0.102"
base64 = { version = "0.23.0", default-features = false, features = ["alloc", "std"] }
bcrypt = { version = "0.19.1", default-features = false, features = ["std"] }
bytes = "1.11.1"
chrono = { version = "0.4.45", default-features = false, features = ["alloc", "serde"] }
clap = { version = "4.6.1", default-features = false, features = ["derive", "env", "cargo", "std", "help", "usage", "error-context", "string"] }
dotenvy = "0.15.7"
futures = { version = "0.3.32", default-features = false }
futures-util = { version = "0.3.32", default-features = false }
gstreamer = { version = "0.25.2", features = ["v1_22"] }
gstreamer-app = { version = "0.25.2", features = ["v1_22"] }
gstreamer-video = { version = "0.25.2", features = ["v1_22"] }
hex = { version = "0.4.3", default-features = false }
httpdate = "1.0.3"
id_token_verifier = { git = "https://github.com/foxxcn/id_token_verifier.git", tag = "rustkvm", features = ["tracing"] }
if-addrs = "0.15.0"
libc = { version = "0.2.186", default-features = false }
macaddr = { version = "1.0.1", default-features = false }
mdns-sd = { version = "0.20.0", default-features = false }
nbd = "0.3.1"
once_cell = "1.21.4"
parking_lot = "0.12.5"
prometheus = { version = "0.14.0", default-features = false }
rcgen = { version = "0.14.8", features = ["pem"] }
regex = { version = "1.12.4", default-features = false }
reqwest = { version = "0.12.28", default-features = false, features = ["blocking", "rustls-tls-webpki-roots", "json"] } # held: 0.13 dropped `rustls-tls-webpki-roots`; its `rustls` feature pulls aws-lc-rs (aarch64 cross-compile hazard) and `rustls-no-provider` needs the crypto provider installed before time_sync runs. We standardise on ring.
rkvm-core = { path = "crates/rkvm-core" }
rkvm-net = { path = "crates/rkvm-net" }
rkvm-proto = { path = "crates/rkvm-proto" }
rumqttc = { version = "0.25.1", default-features = false, features = ["use-rustls"] }
rust-embed = "8.11.0"
rustix = { version = "1.1.4", default-features = false, features = ["pty", "fs", "termios", "net", "system"] }
rustls = { version = "0.23.40", default-features = false, features = ["ring"] }
salvo = { version = "0.93.0", features = ["oapi", "serve-static", "tower-compat", "websocket", "compression", "rustls"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
sha2 = { version = "0.11.0", default-features = false }
socketioxide = { version = "0.18.3", features = ["extensions", "state"] }
tempfile = "3.27.0"
thiserror = "2.0.18"
time = { version = "0.3.49", default-features = false, features = ["macros"] }
tokio = { version = "1.52.3", features = ["full", "macros"] }
tokio-tungstenite = { version = "0.29.0", default-features = false, features = ["connect", "rustls-tls-webpki-roots"] }
tokio-util = { version = "0.7.18", default-features = false }
toml = "1.1.2"
tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["json", "env-filter"] }
uuid = { version = "1.23.3", default-features = false, features = ["v4"] }
webrtc = "0.17.1"
zip = { version = "8.0", default-features = false }
[workspace.lints.rust]
unsafe_op_in_unsafe_fn = "warn"
[workspace.lints.clippy]
unnecessary_to_owned = "warn"
redundant_clone = "warn"
inefficient_to_string = "warn"
[profile.dev]
opt-level = 0
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = "symbols"
panic = "abort"
debug = false
overflow-checks = false
incremental = false