aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/libraries/nanopb/default.nix36
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 {};