feat(tvix/nix-compat): worker protocol operation parser

Change-Id: I7776635b17c44534223603d28cf59c7eebd976e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/11229
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
Picnoir 2024-03-21 09:52:21 +01:00 committed by picnoir picnoir
parent 508d67ad49
commit 21481b02b8
7 changed files with 206 additions and 11 deletions

View file

@ -655,6 +655,17 @@ dependencies = [
"cfg-if",
]
[[package]]
name = "enum-primitive-derive"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba7795da175654fe16979af73f81f26a8ea27638d8d9823d317016888a63dc4c"
dependencies = [
"num-traits",
"quote",
"syn 2.0.52",
]
[[package]]
name = "equivalent"
version = "1.0.1"
@ -1393,9 +1404,11 @@ dependencies = [
"data-encoding",
"ed25519",
"ed25519-dalek",
"enum-primitive-derive",
"futures-util",
"glob",
"nom",
"num-traits",
"serde",
"serde_json",
"sha2",

View file

@ -1,5 +1,5 @@
# This file was @generated by crate2nix 0.12.0 with the command:
# "generate"
# This file was @generated by crate2nix 0.13.0 with the command:
# "generate" "--all-features"
# See https://github.com/kolloch/crate2nix for more info.
{ nixpkgs ? <nixpkgs>
@ -2039,6 +2039,32 @@ rec {
};
resolvedDefaultFeatures = [ "alloc" "default" ];
};
"enum-primitive-derive" = rec {
crateName = "enum-primitive-derive";
version = "0.3.0";
edition = "2018";
sha256 = "0k6wcf58h5kh64yq5nfq71va53kaya0kzxwsjwbgwm2n2zd9axxs";
procMacro = true;
authors = [
"Doug Goldstein <cardoe@cardoe.com>"
];
dependencies = [
{
name = "num-traits";
packageId = "num-traits";
usesDefaultFeatures = false;
}
{
name = "quote";
packageId = "quote";
}
{
name = "syn";
packageId = "syn 2.0.52";
}
];
};
"equivalent" = rec {
crateName = "equivalent";
version = "1.0.1";
@ -4265,6 +4291,10 @@ rec {
name = "ed25519-dalek";
packageId = "ed25519-dalek";
}
{
name = "enum-primitive-derive";
packageId = "enum-primitive-derive";
}
{
name = "futures-util";
packageId = "futures-util";
@ -4279,6 +4309,10 @@ rec {
name = "nom";
packageId = "nom";
}
{
name = "num-traits";
packageId = "num-traits";
}
{
name = "serde";
packageId = "serde";
@ -4388,7 +4422,7 @@ rec {
"default" = [ "std" ];
"libm" = [ "dep:libm" ];
};
resolvedDefaultFeatures = [ "std" ];
resolvedDefaultFeatures = [ "default" "std" ];
};
"num_cpus" = rec {
crateName = "num_cpus";
@ -9182,7 +9216,7 @@ rec {
{
name = "object_store";
packageId = "object_store";
features = [ "aws" "azure" "gcp" "http" ];
features = [ "http" ];
}
{
name = "parking_lot";
@ -9260,12 +9294,13 @@ rec {
}
];
features = {
"cloud" = [ "object_store/aws" "object_store/azure" "object_store/gcp" ];
"fs" = [ "dep:libc" "dep:fuse-backend-rs" ];
"fuse" = [ "fs" ];
"tonic-reflection" = [ "dep:tonic-reflection" ];
"virtiofs" = [ "fs" "dep:vhost" "dep:vhost-user-backend" "dep:virtio-queue" "dep:vm-memory" "dep:vmm-sys-util" "dep:virtio-bindings" "fuse-backend-rs?/vhost-user-fs" "fuse-backend-rs?/virtiofs" ];
};
resolvedDefaultFeatures = [ "default" "fs" "fuse" "tonic-reflection" ];
resolvedDefaultFeatures = [ "cloud" "default" "fs" "fuse" "tonic-reflection" ];
};
"tvix-daemon" = rec {
crateName = "tvix-daemon";
@ -9508,13 +9543,14 @@ rec {
}
];
features = {
"default" = [ "fuse" "otlp" "tonic-reflection" ];
"cloud" = [ "tvix-castore/cloud" ];
"default" = [ "cloud" "fuse" "otlp" "tonic-reflection" ];
"fuse" = [ "tvix-castore/fuse" ];
"otlp" = [ "dep:opentelemetry" "dep:opentelemetry-otlp" "dep:opentelemetry_sdk" ];
"tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ];
"virtiofs" = [ "tvix-castore/virtiofs" ];
};
resolvedDefaultFeatures = [ "default" "fuse" "otlp" "tonic-reflection" ];
resolvedDefaultFeatures = [ "cloud" "default" "fuse" "otlp" "tonic-reflection" ];
};
"typenum" = rec {
crateName = "typenum";
@ -11665,6 +11701,7 @@ rec {
(
_: {
buildTests = true;
release = false;
}
);
# If the user hasn't set any pre/post commands, we don't want to
@ -11689,6 +11726,16 @@ rec {
# recreate a file hierarchy as when running tests with cargo
# the source for test data
# It's necessary to locate the source in $NIX_BUILD_TOP/source/
# instead of $NIX_BUILD_TOP/
# because we compiled those test binaries in the former and not the latter.
# So all paths will expect source tree to be there and not in the build top directly.
# For example: $NIX_BUILD_TOP := /build in general, if you ask yourself.
# TODO(raitobezarius): I believe there could be more edge cases if `crate.sourceRoot`
# do exist but it's very hard to reason about them, so let's wait until the first bug report.
mkdir -p source/
cd source/
${pkgs.buildPackages.xorg.lndir}/bin/lndir ${crate.src}
# build outputs