tvl-depot/tvix/nix-compat/Cargo.toml
Brian Olsen 9af6920478 feat(nix-compat): Add NixDeserialize and NixRead traits
Add a trait for deserializing a type from a daemon worker connection.
This adds the NixDeserialize trait which is kind of like the serde
Deserialize trait in that individual types are meant to implement it
and it can potentially be derived in the future.

The NixDeserialize trait takes something that implements NixRead as
input so that you can among other things mock the reader.

Change-Id: Ibb59e3562dfc822652f7d18039f00a1c0d422997
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11990
Autosubmit: Brian Olsen <me@griff.name>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
2024-08-25 15:05:50 +00:00

64 lines
1.4 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"]
# Enable all features by default.
default = ["async", "wire"]
[dependencies]
bitflags = "2.4.1"
bstr = { version = "1.6.0", features = ["alloc", "unicode", "serde"] }
data-encoding = "2.6.0"
ed25519 = "2.2.3"
ed25519-dalek = "2.1.0"
enum-primitive-derive = "0.3.0"
glob = "0.3.0"
mimalloc = "0.1.43"
nom = "7.1.3"
num-traits = "0.2.18"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.10.6"
thiserror = "1.0.38"
tracing = "0.1.37"
[dependencies.bytes]
optional = true
version = "1.6.1"
[dependencies.tokio]
optional = true
version = "1.32.0"
features = ["io-util", "macros"]
[dependencies.pin-project-lite]
optional = true
version = "0.2.13"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
futures = { version = "0.3.30", default-features = false, features = ["executor"] }
hex-literal = "0.4.1"
lazy_static = "1.4.0"
mimalloc = "0.1.43"
pretty_assertions = "1.4.0"
rstest = "0.19.0"
serde_json = "1.0"
smol_str = "0.2.2"
tokio-test = "0.4.3"
zstd = "^0.13.0"
[[bench]]
name = "derivation_parse_aterm"
harness = false
[[bench]]
name = "narinfo_parse"
harness = false