diff options
-rw-r--r-- | tvix/Cargo.lock | 21 | ||||
-rw-r--r-- | tvix/Cargo.nix | 88 | ||||
-rw-r--r-- | tvix/Cargo.toml | 1 | ||||
-rw-r--r-- | tvix/cli/Cargo.toml | 2 | ||||
-rw-r--r-- | tvix/cli/src/derivation.rs | 9 | ||||
-rw-r--r-- | tvix/cli/src/errors.rs | 2 | ||||
-rw-r--r-- | tvix/derivation/Cargo.toml | 25 | ||||
-rw-r--r-- | tvix/derivation/default.nix | 5 | ||||
-rw-r--r-- | tvix/nix-compat/Cargo.toml | 8 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/derivation.rs (renamed from tvix/derivation/src/derivation.rs) | 10 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/errors.rs (renamed from tvix/derivation/src/errors.rs) | 2 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/mod.rs (renamed from tvix/derivation/src/lib.rs) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/output.rs (renamed from tvix/derivation/src/output.rs) | 5 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/string_escape.rs (renamed from tvix/derivation/src/string_escape.rs) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv (renamed from tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv (renamed from tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv (renamed from tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv (renamed from tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv (renamed from tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv (renamed from tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv (renamed from tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv (renamed from tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json (renamed from tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json) | 0 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/tests/mod.rs (renamed from tvix/derivation/src/tests/mod.rs) | 21 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/validate.rs (renamed from tvix/derivation/src/validate.rs) | 4 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/write.rs (renamed from tvix/derivation/src/write.rs) | 4 | ||||
-rw-r--r-- | tvix/nix-compat/src/lib.rs | 1 |
34 files changed, 60 insertions, 148 deletions
diff --git a/tvix/Cargo.lock b/tvix/Cargo.lock index 46915411cba4..7060c7731404 100644 --- a/tvix/Cargo.lock +++ b/tvix/Cargo.lock @@ -1308,8 +1308,11 @@ dependencies = [ "anyhow", "data-encoding", "glob", + "serde", + "serde_json", "sha2 0.10.6", "test-case", + "test-generator", "thiserror", ] @@ -2623,31 +2626,15 @@ dependencies = [ "clap 4.0.32", "data-encoding", "dirs", + "nix-compat", "rustyline", "smol_str", "ssri", "thiserror", - "tvix-derivation", "tvix-eval", ] [[package]] -name = "tvix-derivation" -version = "0.1.0" -dependencies = [ - "anyhow", - "data-encoding", - "glob", - "nix-compat", - "serde", - "serde_json", - "sha2 0.10.6", - "test-case", - "test-generator", - "thiserror", -] - -[[package]] name = "tvix-eval" version = "0.1.0" dependencies = [ diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index aa9fa9dbf84b..70c022ddcedd 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -63,16 +63,6 @@ rec { # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "tvix-derivation" = rec { - packageId = "tvix-derivation"; - build = internal.buildRustCrateWithFeatures { - packageId = "tvix-derivation"; - }; - - # 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-eval" = rec { packageId = "tvix-eval"; build = internal.buildRustCrateWithFeatures { @@ -3759,6 +3749,11 @@ rec { packageId = "glob"; } { + name = "serde"; + packageId = "serde"; + features = [ "derive" ]; + } + { name = "sha2"; packageId = "sha2 0.10.6"; } @@ -3769,9 +3764,17 @@ rec { ]; devDependencies = [ { + name = "serde_json"; + packageId = "serde_json"; + } + { name = "test-case"; packageId = "test-case"; } + { + name = "test-generator"; + packageId = "test-generator"; + } ]; }; @@ -7772,6 +7775,10 @@ rec { packageId = "dirs"; } { + name = "nix-compat"; + packageId = "nix-compat"; + } + { name = "rustyline"; packageId = "rustyline"; } @@ -7788,73 +7795,12 @@ rec { packageId = "thiserror"; } { - name = "tvix-derivation"; - packageId = "tvix-derivation"; - } - { name = "tvix-eval"; packageId = "tvix-eval"; } ]; }; - "tvix-derivation" = rec { - crateName = "tvix-derivation"; - 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 = ./derivation; } - else ./derivation; - dependencies = [ - { - name = "anyhow"; - packageId = "anyhow"; - } - { - name = "data-encoding"; - packageId = "data-encoding"; - } - { - name = "glob"; - packageId = "glob"; - } - { - name = "nix-compat"; - packageId = "nix-compat"; - } - { - name = "serde"; - packageId = "serde"; - features = [ "derive" ]; - } - { - name = "sha2"; - packageId = "sha2 0.10.6"; - } - { - name = "thiserror"; - packageId = "thiserror"; - } - ]; - devDependencies = [ - { - name = "serde_json"; - packageId = "serde_json"; - } - { - name = "test-case"; - packageId = "test-case"; - } - { - name = "test-generator"; - packageId = "test-generator"; - } - ]; - - }; "tvix-eval" = rec { crateName = "tvix-eval"; version = "0.1.0"; diff --git a/tvix/Cargo.toml b/tvix/Cargo.toml index b125a94ad57c..079d36218bfd 100644 --- a/tvix/Cargo.toml +++ b/tvix/Cargo.toml @@ -19,7 +19,6 @@ members = [ "cli", - "derivation", "eval", "eval/builtin-macros", "nar", diff --git a/tvix/cli/Cargo.toml b/tvix/cli/Cargo.toml index 5bb7baa15864..69b54bd299ec 100644 --- a/tvix/cli/Cargo.toml +++ b/tvix/cli/Cargo.toml @@ -8,8 +8,8 @@ name = "tvix" path = "src/main.rs" [dependencies] +nix-compat = { path = "../nix-compat" } tvix-eval = { path = "../eval" } -tvix-derivation = { path = "../derivation" } rustyline = "10.0.0" clap = { version = "4.0", features = ["derive", "env"] } dirs = "4.0.0" diff --git a/tvix/cli/src/derivation.rs b/tvix/cli/src/derivation.rs index 2b12f6dd732a..5014076ace97 100644 --- a/tvix/cli/src/derivation.rs +++ b/tvix/cli/src/derivation.rs @@ -1,10 +1,10 @@ //! Implements `builtins.derivation`, the core of what makes Nix build packages. use data_encoding::BASE64; +use nix_compat::derivation::{Derivation, Hash}; use std::cell::RefCell; use std::collections::{btree_map, BTreeSet}; use std::rc::Rc; -use tvix_derivation::{Derivation, Hash}; use tvix_eval::builtin_macros::builtins; use tvix_eval::{AddContext, CoercionKind, ErrorKind, NixAttrs, NixList, Value, VM}; @@ -416,9 +416,10 @@ mod derivation_builtins { // TODO: fail on derivation references (only "plain" is allowed here) - let path = tvix_derivation::path_with_references(name.as_str(), content.as_str(), refs) - .map_err(Error::InvalidDerivation)? - .to_absolute_path(); + let path = + nix_compat::derivation::path_with_references(name.as_str(), content.as_str(), refs) + .map_err(Error::InvalidDerivation)? + .to_absolute_path(); state.borrow_mut().plain(&path); diff --git a/tvix/cli/src/errors.rs b/tvix/cli/src/errors.rs index cc402c9a9d45..5315b2486420 100644 --- a/tvix/cli/src/errors.rs +++ b/tvix/cli/src/errors.rs @@ -1,6 +1,6 @@ +use nix_compat::derivation::DerivationError; use std::rc::Rc; use thiserror::Error; -use tvix_derivation::DerivationError; /// Errors related to derivation construction #[derive(Debug, Error, PartialEq)] diff --git a/tvix/derivation/Cargo.toml b/tvix/derivation/Cargo.toml deleted file mode 100644 index ee629b6ad3c3..000000000000 --- a/tvix/derivation/Cargo.toml +++ /dev/null @@ -1,25 +0,0 @@ -[package] -name = "tvix-derivation" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[dependencies] -anyhow = "1.0.68" -data-encoding = "2.3.3" -glob = "0.3.0" -nix-compat = { path = "../nix-compat" } -serde = { version = "1.0", features = ["derive"] } -sha2 = "0.10.6" -thiserror = "1.0.38" - -[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" -test-case = "2.2.2" diff --git a/tvix/derivation/default.nix b/tvix/derivation/default.nix deleted file mode 100644 index 40e2a647609f..000000000000 --- a/tvix/derivation/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ depot, ... }: - -depot.tvix.crates.workspaceMembers.tvix-derivation.build.override { - runTests = true; -} diff --git a/tvix/nix-compat/Cargo.toml b/tvix/nix-compat/Cargo.toml index 484285e78063..7758ea995cc8 100644 --- a/tvix/nix-compat/Cargo.toml +++ b/tvix/nix-compat/Cargo.toml @@ -9,8 +9,16 @@ edition = "2021" anyhow = "1.0.68" data-encoding = "2.3.3" glob = "0.3.0" +serde = { version = "1.0", features = ["derive"] } sha2 = "0.10.6" thiserror = "1.0.38" [dev-dependencies] +serde_json = "1.0" test-case = "2.2.2" + +[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" diff --git a/tvix/derivation/src/derivation.rs b/tvix/nix-compat/src/derivation/derivation.rs index d58fef13bcd7..c9a45d9c9bd2 100644 --- a/tvix/derivation/src/derivation.rs +++ b/tvix/nix-compat/src/derivation/derivation.rs @@ -1,8 +1,8 @@ -use crate::output::{Hash, Output}; -use crate::write; -use crate::DerivationError; -use nix_compat::nixbase32; -use nix_compat::store_path::{StorePath, STORE_DIR}; +use crate::derivation::output::{Hash, Output}; +use crate::derivation::write; +use crate::derivation::DerivationError; +use crate::nixbase32; +use crate::store_path::{StorePath, STORE_DIR}; use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; use std::collections::BTreeSet; diff --git a/tvix/derivation/src/errors.rs b/tvix/nix-compat/src/derivation/errors.rs index b07abfab5176..0dcad9a5345e 100644 --- a/tvix/derivation/src/errors.rs +++ b/tvix/nix-compat/src/derivation/errors.rs @@ -1,4 +1,4 @@ -use nix_compat::{nixbase32::Nixbase32DecodeError, store_path::ParseStorePathError}; +use crate::{nixbase32::Nixbase32DecodeError, store_path::ParseStorePathError}; use thiserror::Error; /// Errors that can occur during the validation of Derivation structs. diff --git a/tvix/derivation/src/lib.rs b/tvix/nix-compat/src/derivation/mod.rs index 1b82251bf672..1b82251bf672 100644 --- a/tvix/derivation/src/lib.rs +++ b/tvix/nix-compat/src/derivation/mod.rs diff --git a/tvix/derivation/src/output.rs b/tvix/nix-compat/src/derivation/output.rs index 828f42be74ca..9aef7172aec6 100644 --- a/tvix/derivation/src/output.rs +++ b/tvix/nix-compat/src/derivation/output.rs @@ -1,8 +1,7 @@ -use nix_compat::{nixbase32, store_path::StorePath}; +use crate::derivation::OutputError; +use crate::{nixbase32, store_path::StorePath}; use serde::{Deserialize, Serialize}; -use crate::OutputError; - #[derive(Clone, Debug, Default, Eq, PartialEq, Serialize, Deserialize)] pub struct Output { pub path: String, diff --git a/tvix/derivation/src/string_escape.rs b/tvix/nix-compat/src/derivation/string_escape.rs index 0e1dbe516f73..0e1dbe516f73 100644 --- a/tvix/derivation/src/string_escape.rs +++ b/tvix/nix-compat/src/derivation/string_escape.rs diff --git a/tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv index a4fea3c5f486..a4fea3c5f486 100644 --- a/tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv diff --git a/tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json index c8bbc4cbb5be..c8bbc4cbb5be 100644 --- a/tvix/derivation/src/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/0hm2f1psjpcwg8fijsmr4wwxrx59s092-bar.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv index f0d9230a5a52..f0d9230a5a52 100644 --- a/tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv diff --git a/tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json index 9cb0b43b4c09..9cb0b43b4c09 100644 --- a/tvix/derivation/src/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/292w8yzv5nn7nhdpxcs8b7vby2p27s09-nested-json.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv index a2cf9d31f92e..a2cf9d31f92e 100644 --- a/tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv diff --git a/tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json index 957a85ccab82..957a85ccab82 100644 --- a/tvix/derivation/src/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/4wvvbi4jwn0prsdxb7vs673qa5h9gr7x-foo.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv index bbe88c02c739..bbe88c02c739 100644 --- a/tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv diff --git a/tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json index f8f33c1bba17..f8f33c1bba17 100644 --- a/tvix/derivation/src/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/52a9id8hx688hvlnz4d1n25ml1jdykz0-unicode.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv index 4b9338c0b953..4b9338c0b953 100644 --- a/tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv diff --git a/tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json index 74e3d7df55c5..74e3d7df55c5 100644 --- a/tvix/derivation/src/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/9lj1lkjm2ag622mh4h9rpy6j607an8g2-structured-attrs.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv index 1699c2a75e48..1699c2a75e48 100644 --- a/tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv diff --git a/tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json index 831d27956d86..831d27956d86 100644 --- a/tvix/derivation/src/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/ch49594n9avinrf8ip0aslidkc4lxkqv-foo.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv index 523612238c76..523612238c76 100644 --- a/tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv diff --git a/tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json index 0bd7a2991cc7..0bd7a2991cc7 100644 --- a/tvix/derivation/src/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/h32dahq0bx5rp1krcdx3a53asj21jvhk-has-multi-out.drv.json diff --git a/tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv b/tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv index 559e93ed0ed6..559e93ed0ed6 100644 --- a/tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv diff --git a/tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json b/tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json index e297d271592f..e297d271592f 100644 --- a/tvix/derivation/src/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json +++ b/tvix/nix-compat/src/derivation/tests/derivation_tests/ss2p4wmxijn652haqyd7dckxwl4c7hxx-bar.drv.json diff --git a/tvix/derivation/src/tests/mod.rs b/tvix/nix-compat/src/derivation/tests/mod.rs index 2906bae1f76a..57c08f5a75f3 100644 --- a/tvix/derivation/src/tests/mod.rs +++ b/tvix/nix-compat/src/derivation/tests/mod.rs @@ -1,6 +1,6 @@ +use crate::derivation::output::{Hash, Output}; use crate::derivation::Derivation; -use crate::output::{Hash, Output}; -use nix_compat::store_path::StorePath; +use crate::store_path::StorePath; use std::collections::BTreeSet; use std::fs::File; use std::io::Read; @@ -8,7 +8,7 @@ use std::path::Path; use test_case::test_case; use test_generator::test_resources; -const RESOURCES_PATHS: &str = "src/tests/derivation_tests"; +const RESOURCES_PATHS: &str = "src/derivation/tests/derivation_tests"; fn read_file(path: &str) -> String { let path = Path::new(path); @@ -20,7 +20,7 @@ fn read_file(path: &str) -> String { return data; } -#[test_resources("src/tests/derivation_tests/*.drv")] +#[test_resources("src/derivation/tests/derivation_tests/*.drv")] fn check_serizaliation(path_to_drv_file: &str) { let data = read_file(&format!("{}.json", path_to_drv_file)); let derivation: Derivation = serde_json::from_str(&data).expect("JSON was not well-formatted"); @@ -33,7 +33,7 @@ fn check_serizaliation(path_to_drv_file: &str) { assert_eq!(expected, serialized_derivation); } -#[test_resources("src/tests/derivation_tests/*.drv")] +#[test_resources("src/derivation/tests/derivation_tests/*.drv")] fn validate(path_to_drv_file: &str) { let data = read_file(&format!("{}.json", path_to_drv_file)); let derivation: Derivation = serde_json::from_str(&data).expect("JSON was not well-formatted"); @@ -43,7 +43,7 @@ fn validate(path_to_drv_file: &str) { .expect("derivation failed to validate") } -#[test_resources("src/tests/derivation_tests/*.drv")] +#[test_resources("src/derivation/tests/derivation_tests/*.drv")] fn check_to_string(path_to_drv_file: &str) { let data = read_file(&format!("{}.json", path_to_drv_file)); let derivation: Derivation = serde_json::from_str(&data).expect("JSON was not well-formatted"); @@ -313,7 +313,7 @@ fn path_with_zero_references() { // nix-repl> builtins.toFile "foo" "bar" // "/nix/store/vxjiwkjkn7x4079qvh1jkl5pn05j2aw0-foo" - let store_path = crate::path_with_references("foo", "bar", Vec::<String>::new()) + let store_path = crate::derivation::path_with_references("foo", "bar", Vec::<String>::new()) .expect("path_with_references() should succeed"); assert_eq!( @@ -329,12 +329,13 @@ fn path_with_non_zero_references() { // nix-repl> builtins.toFile "baz" "${builtins.toFile "foo" "bar"}" // "/nix/store/5xd714cbfnkz02h2vbsj4fm03x3f15nf-baz" - let inner = crate::path_with_references("foo", "bar", Vec::<String>::new()) + let inner = crate::derivation::path_with_references("foo", "bar", Vec::<String>::new()) .expect("path_with_references() should succeed"); let inner_path = inner.to_absolute_path(); - let outer = crate::path_with_references("baz", &inner_path, vec![inner_path.as_str()]) - .expect("path_with_references() should succeed"); + let outer = + crate::derivation::path_with_references("baz", &inner_path, vec![inner_path.as_str()]) + .expect("path_with_references() should succeed"); assert_eq!( outer.to_absolute_path().as_str(), diff --git a/tvix/derivation/src/validate.rs b/tvix/nix-compat/src/derivation/validate.rs index 05f1e1ad713b..7456f930d15e 100644 --- a/tvix/derivation/src/validate.rs +++ b/tvix/nix-compat/src/derivation/validate.rs @@ -1,5 +1,5 @@ -use crate::{derivation::Derivation, DerivationError}; -use nix_compat::store_path::StorePath; +use crate::derivation::{Derivation, DerivationError}; +use crate::store_path::StorePath; impl Derivation { /// validate ensures a Derivation struct is properly populated, diff --git a/tvix/derivation/src/write.rs b/tvix/nix-compat/src/derivation/write.rs index fd8800abd82c..9423ef2e6af4 100644 --- a/tvix/derivation/src/write.rs +++ b/tvix/nix-compat/src/derivation/write.rs @@ -3,8 +3,8 @@ //! //! [ATerm]: http://program-transformation.org/Tools/ATermFormat.html -use crate::output::Output; -use crate::string_escape::escape_string; +use crate::derivation::output::Output; +use crate::derivation::string_escape::escape_string; use std::collections::BTreeSet; use std::{collections::BTreeMap, fmt, fmt::Write}; diff --git a/tvix/nix-compat/src/lib.rs b/tvix/nix-compat/src/lib.rs index 6ca48e9ef035..59d687ee7fe2 100644 --- a/tvix/nix-compat/src/lib.rs +++ b/tvix/nix-compat/src/lib.rs @@ -1,2 +1,3 @@ +pub mod derivation; pub mod nixbase32; pub mod store_path; |