feat(3p/nix): Add protobuf & gRPC dependencies and generate sources

Adds dependencies on the gRPC & protobuf libraries, and implements Nix
code to generate the C++ sources from the included proto definitions.

This is theoretically supported via CMake, but practically doesn't
work and I don't care to debug why.

Doing it like this lets us instead add a CMake library target for our
proto definitions based on the sources generated by Nix.

Pros:
  * no need to deal with the gRPC CMake mess
  * it works!

Cons: * iteration requires nix-shell restart
Change-Id: Ie1fe9807fc96c49cb8f7161ba59d093456062b15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/927
Tested-by: BuildkiteCI
Reviewed-by: isomer <isomer@tvl.fyi>
This commit is contained in:
Vincent Ambo 2020-07-05 20:02:10 +01:00 committed by tazjin
parent a6da980a0b
commit 0064e55486
4 changed files with 62 additions and 2 deletions

View file

@ -5,6 +5,7 @@
# this location and this setup mimics that (with the exception of the
# various Nix libraries).
add_subdirectory(proto)
add_subdirectory(libutil)
add_subdirectory(libstore)
add_subdirectory(libmain)