summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2023-11-07 22:17:01 -0500
committergithub-actions[bot] <github-actions[bot]@users.noreply.github.com>2023-11-26 03:21:26 +0000
commitc1dede9842f146e3498d0c79ce5aff4fea94de69 (patch)
tree12a27b0cef391289bde31c3e039d09374aa97784
parentMerge pull request #269974 from NixOS/backport-269292-to-release-23.11 (diff)
downloadnixpkgs-c1dede9842f146e3498d0c79ce5aff4fea94de69.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. (cherry picked from commit 20135addf0c43bbf2efd74104439df1b02479dd9)
-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 ];