summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2023-11-07 22:17:01 -0500
committerBen Wolsieffer <benwolsieffer@gmail.com>2023-11-07 22:32:28 -0500
commit20135addf0c43bbf2efd74104439df1b02479dd9 (patch)
treeaebf5cd1cef52772edf8b3713e92da799a9cc530
parentMerge pull request #263173 from r-ryantm/auto-update/freshrss (diff)
downloadnixpkgs-20135addf0c43bbf2efd74104439df1b02479dd9.tar.gz
python3Packages.pykdl: use system pybind11
pykdl 1.5.1 only supports using a vendored copy of pybind11, but this version doesn't support Python 3.11. Therefore, backport an upstream patch that allows using a system pybind11 installation.
-rw-r--r--pkgs/development/python-modules/pykdl/default.nix14
1 files changed, 12 insertions, 2 deletions
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 ];