about summary refs log blame commit diff
path: root/tvix/store/default.nix
blob: 68b529e723b176877551c10b3be17843279f1fd5 (plain) (tree)
1
2
3
4
5
6
7
8
9
                     




                                                       
                                
                                
                               
    
 









                                                                           
 



                                           




                                           
 
                  
 
{ depot, pkgs, ... }:

let
  protoRoot = depot.nix.sparseTree depot.path.origSrc [
    ./protos/castore.proto
    ./protos/pathinfo.proto
    ./protos/rpc_blobstore.proto
    ./protos/rpc_directory.proto
    ./protos/rpc_pathinfo.proto
  ];

  protobufDep = prev: (prev.nativeBuildInputs or [ ]) ++ [ pkgs.protobuf ];
in
depot.tvix.crates.workspaceMembers.tvix-store.build.override {
  # Ensure protobuf dependencies are available.
  # TODO: figure out a way to embed this directly in the //tvix
  # crate2nix config.
  crateOverrides = {
    prost-build = prev: {
      nativeBuildInputs = protobufDep prev;
    };

    tonic-reflection = prev: {
      nativeBuildInputs = protobufDep prev;
    };

    tvix-store = prev: {
      PROTO_ROOT = protoRoot;
      nativeBuildInputs = protobufDep prev;
    };
  };

  runTests = true;
}