feat(tvix/derivation): serialize Nix Derivation

This adds a Derivation structure and allows to write it to a structure that implements std::fmt:Write.
The implementation is based on the go-nix version.

Change-Id: Ib54e1202b5c67f5d206b21bc109a751e971064cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7659
Reviewed-by: flokli <flokli@flokli.de>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
This commit is contained in:
Jürgen Hahn 2022-12-28 10:28:37 +01:00 committed by jrhahn
parent 42fe3941c2
commit bb185b2c6e
22 changed files with 516 additions and 0 deletions

View file

@ -0,0 +1,19 @@
[package]
name = "derivation"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
glob = "0.3.0"
serde = { version = "1.0", features = ["derive"] }
[dev-dependencies.test-generator]
# This fork of test-generator adds support for cargo workspaces, see
# also https://github.com/frehberg/test-generator/pull/14
git = "https://github.com/JamesGuthrie/test-generator.git"
rev = "82e799979980962aec1aa324ec6e0e4cad781f41"
[dev-dependencies]
serde_json = "1.0"