about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/nanopb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/nanopb/default.nix')
-rw-r--r--nixpkgs/pkgs/development/libraries/nanopb/default.nix36
1 files changed, 10 insertions, 26 deletions
diff --git a/nixpkgs/pkgs/development/libraries/nanopb/default.nix b/nixpkgs/pkgs/development/libraries/nanopb/default.nix
index cafc5c85f21a..e71d1c6a54c9 100644
--- a/nixpkgs/pkgs/development/libraries/nanopb/default.nix
+++ b/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 {};