tvl-depot/tvix/nix-compat/Cargo.toml
Brian Olsen b88579ade4 feat(tvix/nix-compat): Add nix serialization support
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
2024-11-04 20:02:54 +00:00

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