35 lines
741 B
Nix
35 lines
741 B
Nix
|
{ depot, pkgs, ... }: {
|
||
|
# Produces the golang bindings.
|
||
|
go-bindings = pkgs.stdenv.mkDerivation {
|
||
|
name = "go-bindings";
|
||
|
|
||
|
src = depot.nix.sparseTree {
|
||
|
name = "castore-protos";
|
||
|
root = depot.path.origSrc;
|
||
|
paths = [
|
||
|
# We need to include castore.proto (only), as it's referred.
|
||
|
../../castore/protos/castore.proto
|
||
|
./pathinfo.proto
|
||
|
./rpc_pathinfo.proto
|
||
|
../../../buf.yaml
|
||
|
../../../buf.gen.yaml
|
||
|
];
|
||
|
};
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
pkgs.buf
|
||
|
pkgs.protoc-gen-go
|
||
|
pkgs.protoc-gen-go-grpc
|
||
|
];
|
||
|
|
||
|
buildPhase = ''
|
||
|
export HOME=$TMPDIR
|
||
|
buf lint
|
||
|
buf generate
|
||
|
|
||
|
mkdir -p $out
|
||
|
cp tvix/store/protos/*.pb.go $out/
|
||
|
'';
|
||
|
};
|
||
|
}
|