diff options
author | Florian Klink <flokli@flokli.de> | 2023-11-03T11·34+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-11-04T15·18+0000 |
commit | 3196fe0143b6ff729c177fa5d17fa03c9e9627c9 (patch) | |
tree | 33a6cbb1a965a739e8cdd96dc2faec79b83635de /tvix/cli/src/derivation.nix | |
parent | a51d277764d73582bc9bf816f6f4163d2df7f9c4 (diff) |
refactor(tvix): move tvix glue code into glue crate r/6936
There's various bits and pieces in tvix-cli that use both the store and evaluator, as well as nix-compat. For example, builtins.derivation, as well as the reference scanning implementation. This "glue code" currently isn't accessible from anywhere else, but it'd be very useful if it were. Move it out into a `glue` crate, and make `tvix-cli` a consumer of it. All the KnownPaths setup and passing around, as well as NIX_PATH handling is also something that should probably be moved into the glue crate as well, but that's something left for a future CL. Change-Id: I080ed3d1825ab23790666486840f301f00856277 Reviewed-on: https://cl.tvl.fyi/c/depot/+/9908 Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI Reviewed-by: raitobezarius <tvl@lahfa.xyz>
Diffstat (limited to 'tvix/cli/src/derivation.nix')
-rw-r--r-- | tvix/cli/src/derivation.nix | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/tvix/cli/src/derivation.nix b/tvix/cli/src/derivation.nix deleted file mode 100644 index 9355cc3a96f0..000000000000 --- a/tvix/cli/src/derivation.nix +++ /dev/null @@ -1,36 +0,0 @@ -# LGPL-2.1-or-later -# -# taken from: https://github.com/NixOS/nix/blob/master/src/libexpr/primops/derivation.nix -# -# TODO: rewrite in native Rust code - -/* This is the implementation of the ‘derivation’ builtin function. - It's actually a wrapper around the ‘derivationStrict’ primop. */ - -drvAttrs @ { outputs ? [ "out" ], ... }: - -let - - strict = derivationStrict drvAttrs; - - commonAttrs = drvAttrs // (builtins.listToAttrs outputsList) // - { - all = map (x: x.value) outputsList; - inherit drvAttrs; - }; - - outputToAttrListElement = outputName: - { - name = outputName; - value = commonAttrs // { - outPath = builtins.getAttr outputName strict; - drvPath = strict.drvPath; - type = "derivation"; - inherit outputName; - }; - }; - - outputsList = map outputToAttrListElement outputs; - -in -(builtins.head outputsList).value |