linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / nanopb / test-simple-proto3 / default.nix
blob3e2bba731b9f37d2c5fd69b96a205efc0d9a1b59
1 { stdenv, protobuf, nanopb }:
3 stdenv.mkDerivation {
4   name = "nanopb-test-simple-proto3";
5   meta.timeout = 60;
6   src = ./.;
8   # protoc requires any .proto file to be compiled to reside within it's
9   # proto_path. By default the current directory is automatically added to the
10   # proto_path. I tried using --proto_path ${./.} ${./simple.proto} and it did
11   # not work because they end up in the store at different locations.
12   installPhase = ":";
13   buildPhase = ''
14     mkdir $out
16     ${protobuf}/bin/protoc --plugin=protoc-gen-nanopb=${nanopb}/bin/protoc-gen-nanopb --nanopb_out=$out simple.proto
17   '';
19   doCheck = true;
20   checkPhase = ''
21     grep -q SimpleMessage $out/simple.pb.c || (echo "ERROR: SimpleMessage not found in $out/simple.pb.c"; exit 1)
22     grep -q SimpleMessage $out/simple.pb.h || (echo "ERROR: SimpleMessage not found in $out/simple.pb.h"; exit 1)
23   '';