From 4a1ba85b97c132b3e3572f52a9ce3517b2fe70ce Mon Sep 17 00:00:00 2001 From: Matthew Elwin Date: Wed, 10 Dec 2025 09:56:03 -0600 Subject: [PATCH] gnu: python-orocos-kinematics-dynamics: Fix build. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (python-orocos-kinematics-dynamics)[source]: Remove snippet. [arguments]: Add ’fix #:phase. Change-Id: Ia5e8e2826ea74fd968d7246ec85e0195d7663a1f Signed-off-by: Cayetano Santos Modified-by: Cayetano Santos --- gnu/packages/engineering.scm | 47 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 24 deletions(-) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index b17a9a3466c9bfe71ed1ade6d32ebb327eb7e7bc..aef8f5a4d1ce8451ab0e0493f6912fc9edf0175c 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -5303,37 +5303,36 @@ forward kinematics solvers.") (name "python-orocos-kinematics-dynamics") (source (origin - (inherit (package-source orocos-kinematics-dynamics)) - (snippet '(begin - (substitute* "python_orocos_kdl/CMakeLists.txt" - ;; Use the system pybind11 instead of the bundled version - (("add_subdirectory\\(pybind11\\)") - "find_package(pybind11)") - ;; change debian-specific python install directory - (("dist-packages") - "site-packages")) - ;; ROS 1 uses some dynamic attributes, which are - ;; disabled by default in pybind11. No harm in enabling them - ;; See "https://github.com/ros2/geometry2/issues/624 - ;; and https://pybind11.readthedocs.io/en/stable/classes.html - ;; #dynamic-attributes - (substitute* "python_orocos_kdl/PyKDL/frames.cpp" - (("m, \"Vector\"") - "m, \"Vector\", py::dynamic_attr()") - (("m, \"Frame\"") - "m, \"Frame\", py::dynamic_attr()") - (("m, \"Twist\"") - "m, \"Twist\", py::dynamic_attr()") - (("m, \"Wrench\"") - "m, \"Wrench\", py::dynamic_attr()")))))) + (inherit (package-source orocos-kinematics-dynamics)))) (native-inputs (list python pybind11 python-psutil)) (inputs (list orocos-kinematics-dynamics)) (arguments (list #:phases #~(modify-phases %standard-phases - (add-after 'unpack 'chdir + (add-after 'unpack 'fix (lambda _ + (substitute* "python_orocos_kdl/CMakeLists.txt" + ;; Use the system pybind11 instead of the bundled version + (("add_subdirectory\\(pybind11\\)") + "find_package(pybind11)") + ;; change debian-specific python install directory + (("dist-packages") + "site-packages")) + ;; ROS 1 uses some dynamic attributes, which are + ;; disabled by default in pybind11. No harm in enabling them + ;; See "https://github.com/ros2/geometry2/issues/624 + ;; and https://pybind11.readthedocs.io/en/stable/classes.html + ;; #dynamic-attributes + (substitute* "python_orocos_kdl/PyKDL/frames.cpp" + (("m, \"Vector\"") + "m, \"Vector\", py::dynamic_attr()") + (("m, \"Frame\"") + "m, \"Frame\", py::dynamic_attr()") + (("m, \"Twist\"") + "m, \"Twist\", py::dynamic_attr()") + (("m, \"Wrench\"") + "m, \"Wrench\", py::dynamic_attr()")) (chdir "python_orocos_kdl"))) (replace 'check (lambda* (#:key tests? #:allow-other-keys)