diff options
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix | 36 |
1 files changed, 10 insertions, 26 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix b/infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix index cafc5c85f21a..e71d1c6a54c9 100644 --- a/infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix +++ b/infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix @@ -7,20 +7,20 @@ , stdenv }: -let - pythonRuntime = python3.withPackages(ps: [ ps.protobuf ]); -in stdenv.mkDerivation rec { +stdenv.mkDerivation rec { pname = "nanopb"; - version = "0.4.1"; + version = "0.4.4"; src = fetchFromGitHub { owner = pname; repo = pname; rev = version; - sha256 = "16zxk42wzn519bpxf4578qn97k0h1cnbkvqqkqvka9sl0n3lz2dp"; + sha256 = "0nqfi1b0szjmm1z8wd3ks64h10jblv9ip01kfggxgz6qjjfwgvq7"; }; - nativeBuildInputs = [ cmake python3 ]; + nativeBuildInputs = [ cmake python3 python3.pkgs.wrapPython ]; + + pythonPath = with python3.pkgs; [ python3.pkgs.protobuf six ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" # generate $out/lib/libprotobuf-nanopb.so{.0,} @@ -28,32 +28,16 @@ in stdenv.mkDerivation rec { "-Dnanopb_PROTOC_PATH=${protobuf}/bin/protoc" ]; - # On a case-insensitive filesystem (such as on Darwin), CMake fails to create - # the build directory because of the existence of the BUILD file. - # TODO: This can be removed once https://github.com/nanopb/nanopb/pull/537 is merged. - preConfigure = "rm BUILD"; - - # install the generator which requires Python3 with the protobuf package. It - # also requires the nanopb module that's generated by CMake to be in a - # relative location to the generator itself so we move it out of the - # python.sitePackages into the shared generator folder. postInstall = '' mkdir -p $out/share/nanopb/generator/proto - cp ../generator/nanopb_generator.py $out/share/nanopb/generator/nanopb_generator.py - cp ../generator/proto/_utils.py $out/share/nanopb/generator/proto/_utils.py cp ../generator/proto/nanopb.proto $out/share/nanopb/generator/proto/nanopb.proto - mv $out/${python3.sitePackages}/nanopb_pb2.py $out/share/nanopb/generator/proto - rm -rf $out/${python3.sitePackages} - - mkdir $out/bin - substitute ${./protoc-gen-nanopb} $out/bin/protoc-gen-nanopb \ - --subst-var-by python ${pythonRuntime}/bin/python \ - --subst-var-by out $out - chmod +x $out/bin/protoc-gen-nanopb - cp ../pb_common.c ../pb_decode.c ../pb_encode.c $out/include/ ''; + postFixup = '' + wrapPythonPrograms + ''; + passthru.tests = { simple-proto2 = callPackage ./test-simple-proto2 {}; simple-proto3 = callPackage ./test-simple-proto3 {}; |