about summary refs log tree commit diff
path: root/tvix/nix-compat/Cargo.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"]

# nix-daemon protocol handling
daemon = ["tokio", "nix-compat-derive", "futures"]
test = []

# Enable all features by default.
default = ["async", "daemon", "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 }
futures = { workspace = true, optional = 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", "sync"], optional = true }
pin-project-lite = { workspace = true, optional = true }
num_enum = "0.7.3"

[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 }
mockall = "0.13.1"
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