feat(tvix/nix-compat-derive): Add deriver for NixDeserialize

This adds a nix-compat-derive derive crate that implements a deriver
for NixDeserialize implementations. This is to reduce the amount of
code needed to implement deserialization for all the types used by
the Nix daemon protocol.

Change-Id: I484724b550e8a1d5e9adad9555d9dc1374ae95c2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12022
Autosubmit: Brian Olsen <me@griff.name>
Tested-by: BuildkiteCI
Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
Brian Olsen 2024-07-22 16:51:42 +02:00 committed by clbot
parent 9af6920478
commit ced05a2bb6
48 changed files with 2376 additions and 3 deletions

View file

@ -8,9 +8,10 @@ edition = "2021"
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"]
default = ["async", "wire", "nix-compat-derive"]
[dependencies]
bitflags = "2.4.1"
@ -33,6 +34,11 @@ tracing = "0.1.37"
optional = true
version = "1.6.1"
[dependencies.nix-compat-derive]
path = "../nix-compat-derive"
optional = true
default-features = false
[dependencies.tokio]
optional = true
version = "1.32.0"