~ruther/guix-local

4a1ba85b97c132b3e3572f52a9ce3517b2fe70ce — Matthew Elwin 2 months ago 61b8f6fd
gnu: python-orocos-kinematics-dynamics: Fix build.

* gnu/packages/engineering.scm (python-orocos-kinematics-dynamics)[source]:
Remove snippet.
[arguments]: Add ’fix #:phase.

Change-Id: Ia5e8e2826ea74fd968d7246ec85e0195d7663a1f
Signed-off-by: Cayetano Santos <csantosb@inventati.org>
Modified-by: Cayetano Santos <csantosb@inventati.org>
1 files changed, 23 insertions(+), 24 deletions(-)

M gnu/packages/engineering.scm
M gnu/packages/engineering.scm => gnu/packages/engineering.scm +23 -24
@@ 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 <Both accessed June 1 2025>
                   (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 <Both accessed June 1 2025>
              (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)