From cb52b4198c518a2fef04f4531c2b0f48e5f8e8cc Mon Sep 17 00:00:00 2001 From: TomaSajt <62384384+TomaSajt@users.noreply.github.com> Date: Sun, 25 Aug 2024 01:09:38 +0200 Subject: [PATCH] nanopb: fix build by resolving name collision --- pkgs/by-name/na/nanopb/generator-out.nix | 34 ++++++++++++++---------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/pkgs/by-name/na/nanopb/generator-out.nix b/pkgs/by-name/na/nanopb/generator-out.nix index a9e179d90298..62cd4fd6464c 100644 --- a/pkgs/by-name/na/nanopb/generator-out.nix +++ b/pkgs/by-name/na/nanopb/generator-out.nix @@ -1,11 +1,13 @@ -{ stdenv -, cmake -, python3 -, writeTextFile -, protobuf -, src -, version +{ + stdenv, + cmake, + python3, + writeTextFile, + protobuf, + src, + version, }: + let pyproject_toml = writeTextFile { name = "pyproject.toml"; @@ -38,22 +40,26 @@ stdenv.mkDerivation { pname = "nanopb-generator-out"; inherit src version; - nativeBuildInputs = [ cmake protobuf python3 ]; + nativeBuildInputs = [ + cmake + protobuf + ]; + + # don't let `find_program` find the bundled `protoc` script, so it will use the system `protoc` instead + preConfigure = '' + rm generator/protoc + ''; cmakeFlags = [ "-Dnanopb_BUILD_RUNTIME=OFF" "-Dnanopb_BUILD_GENERATOR=ON" - "-Dnanopb_PYTHON_INSTDIR_OVERRIDE=$out/lib/python/site-packages" + "-Dnanopb_PYTHON_INSTDIR_OVERRIDE=${placeholder "out"}/${python3.sitePackages}" ]; - preConfigure = '' - cmakeFlags+=" -Dnanopb_PYTHON_INSTDIR_OVERRIDE=$out/lib/python/site-packages" - ''; - postInstall = '' rm -rf $out/include rm -rf $out/lib/cmake - ln -s $out/lib/python/site-packages $out/src + ln -s $out/${python3.sitePackages} $out/src ln -s ${pyproject_toml} $out/pyproject.toml ''; }