feat(tvix/serde): initial Nix->serde::Deserialize impl
This will make it possible fairly easily use Nix to represent arbitrary data structures, e.g. for using Nix as a config language. Only pure Nix (i.e. no `import` etc.) is supported for now. Not all types, specifically no struct traversal, are implemented in this commit. Change-Id: I9ac91a229a0d12bf818e6e3249f3e5a691599a2c Reviewed-on: https://cl.tvl.fyi/c/depot/+/7712 Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
This commit is contained in:
parent
49ee3e3b14
commit
90c32eec7a
8 changed files with 485 additions and 0 deletions
|
|
@ -93,6 +93,16 @@ rec {
|
|||
# File a bug if you depend on any for non-debug work!
|
||||
debug = internal.debugCrate { inherit packageId; };
|
||||
};
|
||||
"tvix-serde" = rec {
|
||||
packageId = "tvix-serde";
|
||||
build = internal.buildRustCrateWithFeatures {
|
||||
packageId = "tvix-serde";
|
||||
};
|
||||
|
||||
# Debug support which might change between releases.
|
||||
# File a bug if you depend on any for non-debug work!
|
||||
debug = internal.debugCrate { inherit packageId; };
|
||||
};
|
||||
"tvix-store" = rec {
|
||||
packageId = "tvix-store";
|
||||
build = internal.buildRustCrateWithFeatures {
|
||||
|
|
@ -6608,6 +6618,28 @@ rec {
|
|||
then lib.cleanSourceWith { filter = sourceFilter; src = ./nar; }
|
||||
else ./nar;
|
||||
|
||||
};
|
||||
"tvix-serde" = rec {
|
||||
crateName = "tvix-serde";
|
||||
version = "0.1.0";
|
||||
edition = "2021";
|
||||
# We can't filter paths with references in Nix 2.4
|
||||
# See https://github.com/NixOS/nix/issues/5410
|
||||
src =
|
||||
if (lib.versionOlder builtins.nixVersion "2.4pre20211007")
|
||||
then lib.cleanSourceWith { filter = sourceFilter; src = ./serde; }
|
||||
else ./serde;
|
||||
dependencies = [
|
||||
{
|
||||
name = "serde";
|
||||
packageId = "serde";
|
||||
}
|
||||
{
|
||||
name = "tvix-eval";
|
||||
packageId = "tvix-eval";
|
||||
}
|
||||
];
|
||||
|
||||
};
|
||||
"tvix-store" = rec {
|
||||
crateName = "tvix-store";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue