diff options
author | Florian Klink <flokli@flokli.de> | 2024-01-16T11·14+0200 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2024-01-18T14·30+0000 |
commit | 501827db59eb9e67ef9c637483efa5a0e5d09c06 (patch) | |
tree | 67789854b7b4984685fad4f40295a523cf0e09cf /tvix/glue/src/builtins/mod.rs | |
parent | 12ae96cff2e925f502cee8afb4f8dcf54aba27d8 (diff) |
refactor(tvix/glue): add BuildService to TvixStoreIO r/7411
TvixStoreIO triggers builds whenever IO into a not-yet-built store path is requested, if it knows how to build that path. Change-Id: If30e9db6be2f2a30cbc9d0576f357f3ecfa0d35a Reviewed-on: https://cl.tvl.fyi/c/depot/+/10645 Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/glue/src/builtins/mod.rs')
-rw-r--r-- | tvix/glue/src/builtins/mod.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/tvix/glue/src/builtins/mod.rs b/tvix/glue/src/builtins/mod.rs index d2378779319b..58be31d7f87b 100644 --- a/tvix/glue/src/builtins/mod.rs +++ b/tvix/glue/src/builtins/mod.rs @@ -8,7 +8,6 @@ mod derivation; mod derivation_error; pub use derivation_error::Error as DerivationError; -use tvix_eval::EvalIO; /// Adds derivation-related builtins to the passed [tvix_eval::Evaluation]. /// @@ -16,10 +15,7 @@ use tvix_eval::EvalIO; /// /// As they need to interact with `known_paths`, we also need to pass in /// `known_paths`. -pub fn add_derivation_builtins<IO>(eval: &mut tvix_eval::Evaluation<IO>, io: Rc<TvixStoreIO>) -where - IO: AsRef<dyn EvalIO>, -{ +pub fn add_derivation_builtins<IO>(eval: &mut tvix_eval::Evaluation<IO>, io: Rc<TvixStoreIO>) { eval.builtins .extend(derivation::derivation_builtins::builtins(io)); @@ -30,13 +26,14 @@ where #[cfg(test)] mod tests { - use std::rc::Rc; + use std::{rc::Rc, sync::Arc}; use crate::tvix_store_io::TvixStoreIO; use super::add_derivation_builtins; use nix_compat::store_path::hash_placeholder; use test_case::test_case; + use tvix_build::buildservice::DummyBuildService; use tvix_eval::{EvalIO, EvaluationResult}; use tvix_store::utils::construct_services; @@ -54,6 +51,7 @@ mod tests { blob_service, directory_service, path_info_service.into(), + Arc::<DummyBuildService>::default(), runtime.handle().clone(), )); |