maint: Add EvalStateBuilder.flakes(settings)
(cherry picked from commit ee55ef51a60abc692fdef69614c9a8ccfa9358e0)
This commit is contained in:
parent
2cab738e58
commit
8f7d3d5385
2 changed files with 27 additions and 2 deletions
|
|
@ -147,6 +147,9 @@ impl EvalStateBuilder {
|
||||||
context,
|
context,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
pub fn raw_ptr(&self) -> *mut raw::eval_state_builder {
|
||||||
|
self.eval_state_builder
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub struct EvalState {
|
pub struct EvalState {
|
||||||
|
|
|
||||||
|
|
@ -18,9 +18,31 @@ impl FlakeSettings {
|
||||||
let s = unsafe { context::check_call!(raw::flake_settings_new(&mut ctx)) }?;
|
let s = unsafe { context::check_call!(raw::flake_settings_new(&mut ctx)) }?;
|
||||||
Ok(FlakeSettings { ptr: s })
|
Ok(FlakeSettings { ptr: s })
|
||||||
}
|
}
|
||||||
pub fn init_globally(&mut self) -> Result<()> {
|
fn add_to_eval_state_builder(
|
||||||
|
&self,
|
||||||
|
builder: &mut nix_expr::eval_state::EvalStateBuilder,
|
||||||
|
) -> Result<()> {
|
||||||
let mut ctx = Context::new();
|
let mut ctx = Context::new();
|
||||||
unsafe { context::check_call!(raw::flake_init_global(&mut ctx, self.ptr)) }?;
|
unsafe {
|
||||||
|
context::check_call!(raw::flake_settings_add_to_eval_state_builder(
|
||||||
|
&mut ctx,
|
||||||
|
self.ptr,
|
||||||
|
builder.raw_ptr()
|
||||||
|
))
|
||||||
|
}?;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub trait EvalStateBuilderExt {
|
||||||
|
fn flakes(self, settings: &FlakeSettings) -> Result<nix_expr::eval_state::EvalStateBuilder>;
|
||||||
|
}
|
||||||
|
impl EvalStateBuilderExt for nix_expr::eval_state::EvalStateBuilder {
|
||||||
|
fn flakes(
|
||||||
|
mut self,
|
||||||
|
settings: &FlakeSettings,
|
||||||
|
) -> Result<nix_expr::eval_state::EvalStateBuilder> {
|
||||||
|
settings.add_to_eval_state_builder(&mut self)?;
|
||||||
|
Ok(self)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue