diff options
author | Florian Klink <flokli@flokli.de> | 2024-09-27T12·13+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-10-01T13·41+0000 |
commit | 2414c872821ab7ad8c9ff8dca5a91433ffb307f3 (patch) | |
tree | 22479c65cd145aea584853156bafce9ddd72e825 /tvix/Cargo.nix | |
parent | cf91917a9d8a4ca34a8451a0e0f31f0c07f755dc (diff) |
feat(tvix/build), add OciBuildService, the old way r/8744
This is just patchset 10 of CL10855, before the color_eyre changes, rebased to the tvix_castore api. Change-Id: If4b42412ff8568058908cda971ad7d6f2d9f9b7b --- This provides a build service invoking runc. It can be used by using the `oci://$path_to_some_tempdir` builder URL for now. For now, it can be tested as such: ``` BUILD_SERVICE_ADDR=oci://$PWD/bundles target/debug/tvix let pkgs = (import <nixpkgs> {}); in builtins.readDir pkgs.perl ``` readDir is to actually trigger IO into the store path (which triggers the builds). For now it fails due to missing reference scanning (see followup CLs). Change-Id: I09b40e410114ce69966a41a0e3c33281b859e443 Reviewed-on: https://cl.tvl.fyi/c/depot/+/12526 Autosubmit: yuka <yuka@yuka.dev> Tested-by: BuildkiteCI Reviewed-by: flokli <flokli@flokli.de>
Diffstat (limited to 'tvix/Cargo.nix')
-rw-r--r-- | tvix/Cargo.nix | 381 |
1 files changed, 373 insertions, 8 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index a1cb903b70a1..99248c11beb8 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -2956,7 +2956,32 @@ rec { ]; }; - "darling" = rec { + "darling 0.14.4" = rec { + crateName = "darling"; + version = "0.14.4"; + edition = "2018"; + sha256 = "0l1qrn805bsxa0iy7x8bmdwr8c10hlw0yiqs8ckv7lbz86rhqxbv"; + authors = [ + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "darling_core"; + packageId = "darling_core 0.14.4"; + } + { + name = "darling_macro"; + packageId = "darling_macro 0.14.4"; + } + ]; + features = { + "default" = [ "suggestions" ]; + "diagnostics" = [ "darling_core/diagnostics" ]; + "suggestions" = [ "darling_core/suggestions" ]; + }; + resolvedDefaultFeatures = [ "default" "suggestions" ]; + }; + "darling 0.20.8" = rec { crateName = "darling"; version = "0.20.8"; edition = "2018"; @@ -2967,11 +2992,11 @@ rec { dependencies = [ { name = "darling_core"; - packageId = "darling_core"; + packageId = "darling_core 0.20.8"; } { name = "darling_macro"; - packageId = "darling_macro"; + packageId = "darling_macro 0.20.8"; } ]; features = { @@ -2981,7 +3006,49 @@ rec { }; resolvedDefaultFeatures = [ "default" "suggestions" ]; }; - "darling_core" = rec { + "darling_core 0.14.4" = rec { + crateName = "darling_core"; + version = "0.14.4"; + edition = "2018"; + sha256 = "1w4b2ndxmkwghwq84yphk8x15jnpivm08w596g12ry5pwsk1r70h"; + authors = [ + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "fnv"; + packageId = "fnv"; + } + { + name = "ident_case"; + packageId = "ident_case"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "strsim"; + packageId = "strsim 0.10.0"; + optional = true; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + "strsim" = [ "dep:strsim" ]; + "suggestions" = [ "strsim" ]; + }; + resolvedDefaultFeatures = [ "strsim" "suggestions" ]; + }; + "darling_core 0.20.8" = rec { crateName = "darling_core"; version = "0.20.8"; edition = "2018"; @@ -3023,7 +3090,32 @@ rec { }; resolvedDefaultFeatures = [ "strsim" "suggestions" ]; }; - "darling_macro" = rec { + "darling_macro 0.14.4" = rec { + crateName = "darling_macro"; + version = "0.14.4"; + edition = "2018"; + sha256 = "13mlyd5w275c815k0ijf6g4c446hs8b3m2h4an5isqgpr7dv9am4"; + procMacro = true; + authors = [ + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "darling_core"; + packageId = "darling_core 0.14.4"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + } + ]; + + }; + "darling_macro 0.20.8" = rec { crateName = "darling_macro"; version = "0.20.8"; edition = "2018"; @@ -3035,7 +3127,7 @@ rec { dependencies = [ { name = "darling_core"; - packageId = "darling_core"; + packageId = "darling_core 0.20.8"; } { name = "quote"; @@ -3131,6 +3223,88 @@ rec { }; resolvedDefaultFeatures = [ "alloc" "powerfmt" "serde" "std" ]; }; + "derive_builder" = rec { + crateName = "derive_builder"; + version = "0.12.0"; + edition = "2015"; + sha256 = "1y4p569zcvpmly5s5hmjp9h83drxvdp6kj6bb61h225mhj3pfrwd"; + authors = [ + "Colin Kiegel <kiegel@gmx.de>" + "Pascal Hertleif <killercup@gmail.com>" + "Jan-Erik Rediger <janerik@fnordig.de>" + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "derive_builder_macro"; + packageId = "derive_builder_macro"; + } + ]; + features = { + "clippy" = [ "derive_builder_macro/clippy" ]; + "default" = [ "std" ]; + }; + resolvedDefaultFeatures = [ "default" "std" ]; + }; + "derive_builder_core" = rec { + crateName = "derive_builder_core"; + version = "0.12.0"; + edition = "2015"; + sha256 = "03vvmw3mfg370swq0dh2h5kcjjb8va2m4asqgp9wfyy4l08xq6y1"; + authors = [ + "Colin Kiegel <kiegel@gmx.de>" + "Pascal Hertleif <killercup@gmail.com>" + "Jan-Erik Rediger <janerik@fnordig.de>" + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "darling"; + packageId = "darling 0.14.4"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { }; + }; + "derive_builder_macro" = rec { + crateName = "derive_builder_macro"; + version = "0.12.0"; + edition = "2015"; + sha256 = "17p71qzh7x1q2yxzz3xrg73zw3xl0h479b7ybyjm0s1rg9fa7kgb"; + procMacro = true; + authors = [ + "Colin Kiegel <kiegel@gmx.de>" + "Pascal Hertleif <killercup@gmail.com>" + "Jan-Erik Rediger <janerik@fnordig.de>" + "Ted Driggs <ted.driggs@outlook.com>" + ]; + dependencies = [ + { + name = "derive_builder_core"; + packageId = "derive_builder_core"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + features = [ "full" "extra-traits" ]; + } + ]; + features = { + "clippy" = [ "derive_builder_core/clippy" ]; + }; + }; "diff" = rec { crateName = "diff"; version = "0.1.13"; @@ -4724,6 +4898,36 @@ rec { }; resolvedDefaultFeatures = [ "js" "js-sys" "std" "wasm-bindgen" ]; }; + "getset" = rec { + crateName = "getset"; + version = "0.1.2"; + edition = "2018"; + sha256 = "1f8yc83hm5b7vzscxq20ivdv7wlfvabn79j653zh9k3m1qjjfmz4"; + procMacro = true; + authors = [ + "Ana Hobden <ana@hoverbear.org>" + ]; + dependencies = [ + { + name = "proc-macro-error"; + packageId = "proc-macro-error"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + usesDefaultFeatures = false; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + } + ]; + + }; "gimli" = rec { crateName = "gimli"; version = "0.28.1"; @@ -7779,6 +7983,54 @@ rec { }; resolvedDefaultFeatures = [ "aws" "azure" "base64" "cloud" "gcp" "http" "hyper" "md-5" "quick-xml" "rand" "reqwest" "ring" "rustls-pemfile" "serde" "serde_json" ]; }; + "oci-spec" = rec { + crateName = "oci-spec"; + version = "0.6.4"; + edition = "2021"; + sha256 = "02b3vsvsagd1h5gf4kb9z5b080kr0y8z34d9zgxblm1ry7pzi143"; + libName = "oci_spec"; + authors = [ + "Furisto" + "Sascha Grunert <sgrunert@redhat.com>" + "Toru Komatsu <k0ma@utam0k.jp>" + ]; + dependencies = [ + { + name = "derive_builder"; + packageId = "derive_builder"; + } + { + name = "getset"; + packageId = "getset"; + } + { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { + name = "serde_json"; + packageId = "serde_json"; + } + { + name = "thiserror"; + packageId = "thiserror"; + } + ]; + devDependencies = [ + { + name = "serde_json"; + packageId = "serde_json"; + features = [ "preserve_order" ]; + } + ]; + features = { + "default" = [ "distribution" "image" "runtime" ]; + "proptests" = [ "quickcheck" ]; + "quickcheck" = [ "dep:quickcheck" ]; + }; + resolvedDefaultFeatures = [ "default" "distribution" "image" "runtime" ]; + }; "once_cell" = rec { crateName = "once_cell"; version = "1.19.0"; @@ -8969,6 +9221,76 @@ rec { "verbatim" = [ "syn/parsing" ]; }; }; + "proc-macro-error" = rec { + crateName = "proc-macro-error"; + version = "1.0.4"; + edition = "2018"; + sha256 = "1373bhxaf0pagd8zkyd03kkx6bchzf6g0dkwrwzsnal9z47lj9fs"; + libName = "proc_macro_error"; + authors = [ + "CreepySkeleton <creepy-skeleton@yandex.ru>" + ]; + dependencies = [ + { + name = "proc-macro-error-attr"; + packageId = "proc-macro-error-attr"; + } + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + { + name = "syn"; + packageId = "syn 1.0.109"; + optional = true; + usesDefaultFeatures = false; + } + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } + ]; + features = { + "default" = [ "syn-error" ]; + "syn" = [ "dep:syn" ]; + "syn-error" = [ "syn" ]; + }; + resolvedDefaultFeatures = [ "default" "syn" "syn-error" ]; + }; + "proc-macro-error-attr" = rec { + crateName = "proc-macro-error-attr"; + version = "1.0.4"; + edition = "2018"; + sha256 = "0sgq6m5jfmasmwwy8x4mjygx5l7kp8s4j60bv25ckv2j1qc41gm1"; + procMacro = true; + libName = "proc_macro_error_attr"; + authors = [ + "CreepySkeleton <creepy-skeleton@yandex.ru>" + ]; + dependencies = [ + { + name = "proc-macro2"; + packageId = "proc-macro2"; + } + { + name = "quote"; + packageId = "quote"; + } + ]; + buildDependencies = [ + { + name = "version_check"; + packageId = "version_check"; + } + ]; + + }; "proc-macro2" = rec { crateName = "proc-macro2"; version = "1.0.86"; @@ -11822,7 +12144,7 @@ rec { dependencies = [ { name = "darling"; - packageId = "darling"; + packageId = "darling 0.20.8"; } { name = "proc-macro2"; @@ -12976,7 +13298,7 @@ rec { "tracing" = [ "dep:tracing" ]; "windows-sys" = [ "dep:windows-sys" ]; }; - resolvedDefaultFeatures = [ "bytes" "default" "fs" "io-std" "io-util" "libc" "macros" "mio" "net" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "socket2" "sync" "test-util" "time" "tokio-macros" "windows-sys" ]; + resolvedDefaultFeatures = [ "bytes" "default" "fs" "io-std" "io-util" "libc" "macros" "mio" "net" "process" "rt" "rt-multi-thread" "signal" "signal-hook-registry" "socket2" "sync" "test-util" "time" "tokio-macros" "windows-sys" ]; }; "tokio-listener" = rec { crateName = "tokio-listener"; @@ -14879,6 +15201,18 @@ rec { libName = "tvix_build"; dependencies = [ { + name = "anyhow"; + packageId = "anyhow"; + } + { + name = "blake3"; + packageId = "blake3"; + } + { + name = "bstr"; + packageId = "bstr"; + } + { name = "bytes"; packageId = "bytes"; } @@ -14888,6 +15222,14 @@ rec { features = [ "derive" "env" ]; } { + name = "data-encoding"; + packageId = "data-encoding"; + } + { + name = "futures"; + packageId = "futures"; + } + { name = "itertools"; packageId = "itertools 0.12.1"; } @@ -14896,16 +15238,25 @@ rec { packageId = "mimalloc"; } { + name = "oci-spec"; + packageId = "oci-spec"; + } + { name = "prost"; packageId = "prost"; } { + name = "serde_json"; + packageId = "serde_json"; + } + { name = "thiserror"; packageId = "thiserror"; } { name = "tokio"; packageId = "tokio"; + features = [ "process" ]; } { name = "tokio-listener"; @@ -14929,6 +15280,7 @@ rec { { name = "tvix-castore"; packageId = "tvix-castore"; + features = [ "fuse" ]; } { name = "tvix-tracing"; @@ -14938,6 +15290,11 @@ rec { name = "url"; packageId = "url"; } + { + name = "uuid"; + packageId = "uuid"; + features = [ "v4" ]; + } ]; buildDependencies = [ { @@ -14951,9 +15308,17 @@ rec { ]; devDependencies = [ { + name = "lazy_static"; + packageId = "lazy_static"; + } + { name = "rstest"; packageId = "rstest"; } + { + name = "tempfile"; + packageId = "tempfile"; + } ]; features = { "tonic-reflection" = [ "dep:tonic-reflection" "tvix-castore/tonic-reflection" ]; |