about summary refs log tree commit diff
path: root/tvix/Cargo.nix
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2023-01-29T19·48+0100
committerflokli <flokli@flokli.de>2023-01-31T15·28+0000
commit0db73cb2bd94ce2449571b5707de35b283da0091 (patch)
tree01403c551647dc6567edf0085fa3128092a9e075 /tvix/Cargo.nix
parenta23b7e17c04453a4d5ea2d47a88c6c6874471c08 (diff)
feat(tvix/store): add write_nar function r/5794
This adds a function that consumes a [proto::node::Node] pointing to the
root of a (store) path, and writes the contents in NAR serialization to
the passed [std::io::Write].

We need this in various places:

 - tvix-store's calculate_nar() RPC method needs to render a NAR stream
   to get the nar hash, which is necessary to give things imported in
   the store a "NAR-based" store path.

 - communication with (remote) Nix (via daemon protocol) needs a NAR
   representation.

 - Things like nar-bridge, exposing a NAR/NARInfo HTTP interface need a
   NAR representation.

Change-Id: I7fb2e0bf01814a1c09094c0e35394d9d6b3e43b6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/7956
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Diffstat (limited to 'tvix/Cargo.nix')
-rw-r--r--tvix/Cargo.nix22
1 files changed, 0 insertions, 22 deletions
diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix
index 70c022ddcedd..3d16417ca89a 100644
--- a/tvix/Cargo.nix
+++ b/tvix/Cargo.nix
@@ -83,16 +83,6 @@ rec {
       # File a bug if you depend on any for non-debug work!
       debug = internal.debugCrate { inherit packageId; };
     };
-    "tvix-nar" = rec {
-      packageId = "tvix-nar";
-      build = internal.buildRustCrateWithFeatures {
-        packageId = "tvix-nar";
-      };
-
-      # 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-serde" = rec {
       packageId = "tvix-serde";
       build = internal.buildRustCrateWithFeatures {
@@ -7972,18 +7962,6 @@ rec {
         ];
 
       };
-      "tvix-nar" = rec {
-        crateName = "tvix-nar";
-        version = "0.0.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 = ./nar; }
-          else ./nar;
-
-      };
       "tvix-serde" = rec {
         crateName = "tvix-serde";
         version = "0.1.0";