diff options
Diffstat (limited to 'tvix/nix-compat/src/derivation/write.rs')
-rw-r--r-- | tvix/nix-compat/src/derivation/write.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/tvix/nix-compat/src/derivation/write.rs b/tvix/nix-compat/src/derivation/write.rs index 83106cd9e60b..04810e736af6 100644 --- a/tvix/nix-compat/src/derivation/write.rs +++ b/tvix/nix-compat/src/derivation/write.rs @@ -33,6 +33,13 @@ pub const QUOTE: char = '"'; /// the context a lot. pub(crate) trait AtermWriteable: Display { fn aterm_write(&self, writer: &mut impl Write) -> std::io::Result<()>; + + fn aterm_bytes(&self) -> Vec<u8> { + let mut bytes = Vec::new(); + self.aterm_write(&mut bytes) + .expect("unexpected write errors to Vec"); + bytes + } } impl AtermWriteable for StorePathRef<'_> { @@ -182,12 +189,15 @@ pub(crate) fn write_input_derivations( pub(crate) fn write_input_sources( writer: &mut impl Write, - input_sources: &BTreeSet<String>, + input_sources: &BTreeSet<StorePath>, ) -> Result<(), io::Error> { write_char(writer, BRACKET_OPEN)?; write_array_elements( writer, - &input_sources.iter().map(String::from).collect::<Vec<_>>(), + &input_sources + .iter() + .map(StorePath::to_absolute_path) + .collect::<Vec<_>>(), )?; write_char(writer, BRACKET_CLOSE)?; |