b88579ade4
This change implements the serialization part that is needed to implement the nix daemon protocol. Previously was add deserialization and derivers for that and this then adds the other part of that equation so that you can write types that can then be read using deserialization. Change-Id: I2917de634980a93822a4f5a8ad38897b9ce16d89 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12729 Autosubmit: Brian Olsen <me@griff.name> Reviewed-by: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
59 lines
1.7 KiB
TOML
59 lines
1.7 KiB
TOML
[package]
|
|
name = "nix-compat"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[features]
|
|
# async NAR writer. Also needs the `wire` feature.
|
|
async = ["tokio"]
|
|
# code emitting low-level packets used in the daemon protocol.
|
|
wire = ["tokio", "pin-project-lite", "bytes"]
|
|
test = []
|
|
|
|
# Enable all features by default.
|
|
default = ["async", "wire", "nix-compat-derive"]
|
|
|
|
[dependencies]
|
|
bitflags = { workspace = true }
|
|
bstr = { workspace = true, features = ["alloc", "unicode", "serde"] }
|
|
data-encoding = { workspace = true }
|
|
ed25519 = { workspace = true }
|
|
ed25519-dalek = { workspace = true }
|
|
enum-primitive-derive = { workspace = true }
|
|
glob = { workspace = true }
|
|
mimalloc = { workspace = true }
|
|
nom = { workspace = true }
|
|
num-traits = { workspace = true }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
bytes = { workspace = true, optional = true }
|
|
tokio = { workspace = true, features = ["io-util", "macros"], optional = true }
|
|
pin-project-lite = { workspace = true, optional = true }
|
|
|
|
[dependencies.nix-compat-derive]
|
|
path = "../nix-compat-derive"
|
|
optional = true
|
|
|
|
[dev-dependencies]
|
|
criterion = { workspace = true, features = ["html_reports"] }
|
|
futures = { workspace = true }
|
|
hex-literal = { workspace = true }
|
|
mimalloc = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
proptest = { workspace = true, features = ["std", "alloc", "tempfile"] }
|
|
rstest = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
smol_str = { workspace = true }
|
|
tokio-test = { workspace = true }
|
|
zstd = { workspace = true }
|
|
|
|
[[bench]]
|
|
name = "derivation_parse_aterm"
|
|
harness = false
|
|
|
|
[[bench]]
|
|
name = "narinfo_parse"
|
|
harness = false
|