forked from nix-community/harmonia
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
92 lines (83 loc) · 2.51 KB
/
Cargo.toml
File metadata and controls
92 lines (83 loc) · 2.51 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
85
86
87
88
89
90
91
92
[workspace]
members = [
"harmonia-client",
"harmonia-utils-io",
"harmonia-utils-base-encoding",
"harmonia-utils-hash",
"harmonia-store-core",
"harmonia-store-db",
"harmonia-store-remote",
"harmonia-nar",
"harmonia-protocol",
"harmonia-protocol-derive",
"harmonia-ssh-store",
"harmonia-cache",
"harmonia-daemon",
"harmonia-utils-test",
"harmonia-bench",
]
resolver = "2"
[workspace.package]
version = "3.0.0"
authors = [
"Jörg Thalheim <joerg@thalheim.io>",
"Simon Hauser <simon.hauser@helsinki-systems.de>",
"John Ericson <John.Ericson@Obsidian.Systems>",
]
edition = "2024"
license = "MIT"
homepage = "https://github.com/nix-community/harmonia"
repository = "https://github.com/nix-community/harmonia.git"
[workspace.dependencies]
log = "0.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1", features = ["sync", "fs", "io-util", "rt", "rt-multi-thread", "macros", "time", "net", "signal"] }
env_logger = "0.11"
toml = "1.0"
thiserror = "2"
hex = "0.4"
prometheus = { version = "0.14", default-features = false }
nix = { version = "0.31", features = ["signal", "mman"] }
# Dependencies for Nix.rs import (spec 001-nixrs-base)
bytes = "1.11"
data-encoding = "2.6"
md5 = "0.8"
num_enum = "0.7"
derive_more = { version = "2.1", features = ["display"] }
pin-project-lite = "0.2"
futures = "0.3"
tokio-util = "0.7"
ring = "0.17"
tracing = "0.1"
tracing-futures = "0.2"
# Proc macro dependencies for harmonia-protocol
proc-macro2 = "1.0"
quote = "1.0"
syn = "2.0"
# Dev dependencies for property-based testing
proptest = "1.10"
proptest-derive = "0.8"
rstest = "0.26"
tempfile = "3.26"
test-strategy = "0.4"
# Database
rusqlite = { version = "0.38", features = ["bundled"] }
[workspace.lints.rust]
unsafe_code = "deny"
# Patch internal crates to use local paths during development
[patch.crates-io]
harmonia-utils-base-encoding = { path = "harmonia-utils-base-encoding" }
harmonia-utils-hash = { path = "harmonia-utils-hash" }
harmonia-utils-test = { path = "harmonia-utils-test" }
harmonia-store-core = { path = "harmonia-store-core" }
harmonia-utils-io = { path = "harmonia-utils-io" }
harmonia-protocol = { path = "harmonia-protocol" }
harmonia-nar = { path = "harmonia-nar" }
harmonia-protocol-derive = { path = "harmonia-protocol-derive" }
harmonia-store-db = { path = "harmonia-store-db" }
harmonia-store-remote = { path = "harmonia-store-remote" }
# Profiling profile: release optimizations with debug info for flamegraphs/perf
[profile.profiling]
inherits = "release"
debug = true