diff options
author | Florian Klink <flokli@flokli.de> | 2022-10-28T14·26+0200 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2022-11-02T11·48+0000 |
commit | 5392d73816509aadd37df62cc8ce93d8053d3e36 (patch) | |
tree | bb5271911ba82b1d07955315282656dbd79ffb13 | |
parent | 10ad47371d2d4e98af43a824b6583e986f5d8498 (diff) |
feat(tvix/proto): add castore.proto r/5230
This is 0d4906cbabb183caa96e763671810fb39bd0c935:ripple/fossil/src/store.proto, from https://src.unfathomable.blue. It is not pulled in as a subtree, as some of the commits in there break index-pack: ``` remote: error: object 2f487c3bf7cd8efd64f1d217edac732db98ff1c0: badDateOverflow: invalid author/committer line - date causes integer overflow remote: fatal: fsck error in packed object error: remote unpack failed: index-pack abnormal exit ``` Co-authored-by: edef <edef@unfathomable.blue> Change-Id: I3369044090a3192e2322775a335887c37536a942 Reviewed-on: https://cl.tvl.fyi/c/depot/+/7126 Tested-by: BuildkiteCI Reviewed-by: edef <edef@edef.eu>
-rw-r--r-- | tvix/proto/castore.proto | 40 | ||||
-rw-r--r-- | tvix/proto/default.nix | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/tvix/proto/castore.proto b/tvix/proto/castore.proto new file mode 100644 index 000000000000..14a689ea5ba2 --- /dev/null +++ b/tvix/proto/castore.proto @@ -0,0 +1,40 @@ +// SPDX-FileCopyrightText: edef <edef@unfathomable.blue> +// SPDX-License-Identifier: OSL-3.0 OR MIT OR Apache-2.0 + +syntax = "proto3"; + +package fossil.store; + +message Directory { + repeated DirectoryNode directories = 1; + repeated FileNode files = 2; + repeated LinkNode links = 3; +} + +message DirectoryNode { + string name = 1; + bytes ref = 2; + uint32 size = 3; +} + +message FileNode { + string name = 1; + bytes ref = 2; + uint32 size = 3; + bool executable = 4; +} + +message LinkNode { + string name = 1; + string target = 2; +} + +message Blob { + bytes bao_inline = 3; + repeated Chunk chunks = 4; +} + +message Chunk { + uint64 offset = 1; + uint32 length = 2; +} diff --git a/tvix/proto/default.nix b/tvix/proto/default.nix index 35e2eba7fed4..26673cdf747f 100644 --- a/tvix/proto/default.nix +++ b/tvix/proto/default.nix @@ -5,5 +5,6 @@ pkgs.runCommand "tvix-cc-proto" { } '' mkdir $out + ${pkgs.protobuf}/bin/protoc -I ${./.} castore.proto --cpp_out=$out ${pkgs.protobuf}/bin/protoc -I ${./.} evaluator.proto --cpp_out=$out '' |