diff --git a/pkgs/development/python-modules/pykdl/default.nix b/pkgs/development/python-modules/pykdl/default.nix index cc92086747e4..75f2ab61d283 100644 --- a/pkgs/development/python-modules/pykdl/default.nix +++ b/pkgs/development/python-modules/pykdl/default.nix @@ -1,4 +1,5 @@ -{ lib, stdenv, toPythonModule, cmake, orocos-kdl, eigen, python }: +{ lib, stdenv, toPythonModule, fetchpatch, cmake, pybind11, orocos-kdl, eigen +, python }: toPythonModule (stdenv.mkDerivation { pname = "pykdl"; @@ -6,13 +7,22 @@ toPythonModule (stdenv.mkDerivation { sourceRoot = "${orocos-kdl.src.name}/python_orocos_kdl"; + patches = [ + # Support system pybind11; the vendored copy doesn't support Python 3.11 + (fetchpatch { + url = "https://github.com/orocos/orocos_kinematics_dynamics/commit/e25a13fc5820dbca6b23d10506407bca9bcdd25f.patch"; + hash = "sha256-NGMVGEYsa7hVX+SgRZgeSm93BqxFR1uiyFvzyF5H0Y4="; + stripLen = 1; + }) + ]; + # Fix hardcoded installation path postPatch = '' substituteInPlace CMakeLists.txt \ --replace dist-packages site-packages ''; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake pybind11 ]; buildInputs = [ orocos-kdl eigen ]; propagatedBuildInputs = [ python ];