summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Elwin <elwin@northwestern.edu>2025-06-06 16:43:55 -0500
committerLudovic Courtès <ludo@gnu.org>2025-06-26 16:34:00 +0200
commit391b9439148b9f6a7cff74e98600f80733a6c51b (patch)
tree075bec002e8b3e998f5d53ee29cc5c9b9ead4716
parent1ee291139fcb05335961562cf1baa1aa632c2abf (diff)
gnu: Add orocos-kinematics-dynamics.
* gnu/packages/engineering.scm (orocos-kinematics-dynamics): New variable. Change-Id: I328a393e22300cfa77f809c351d2f421b6d2fbbe Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/engineering.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 0a1d3cdf64..fc4aea72a9 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -43,6 +43,7 @@
;;; Copyright © 2024 Nguyễn Gia Phong <mcsinyx@disroot.org>
;;; Copyright © 2025 Frederick Muriuki Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2025 nomike Postmann <nomike@nomike.com>
+;;; Copyright © 2025 Matthew Elwin <elwin@northwestern.edu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -5552,3 +5553,47 @@ and mogan.")
towards field theory.")
(home-page "https://cadabra.science/")
(license license:gpl3+)))
+
+(define-public orocos-kinematics-dynamics
+ (let ((commit "34ecff4ca7bae52fa16ca13fdb3d9db26fd2a293")
+ ;; There hasn't been a new release in many years (version 1.5.1)
+ ;; Using the latest commit (which has internally set version to 1.5.2)
+ (revision "0"))
+ (package
+ (name "orocos-kinematics-dynamics")
+ (version (git-version "1.5.2" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/orocos/orocos_kinematics_dynamics")
+ (commit commit)))
+ (sha256
+ (base32 "1c7vimy065908qs5nwhnrk9pp0wh8pjgdvz2hwb12a9wcsj50kf0"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ ;; make tests deterministic by seeding the random number generator
+ (snippet '(substitute* '("orocos_kdl/tests/treeinvdyntest.cpp"
+ "orocos_kdl/tests/solvertest.cpp")
+ (("srand\\( \\(unsigned\\)time\\( NULL \\)\\)")
+ "srand(0u)")))))
+ (build-system cmake-build-system)
+ (native-inputs (list cppunit))
+ (propagated-inputs (list eigen))
+ (arguments
+ (list
+ #:configure-flags
+ #~(list "-DENABLE_TESTS=ON")
+ #:test-target "check"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ (chdir "orocos_kdl"))))))
+ (home-page "https://docs.orocos.org/kdl/overview.html")
+ (synopsis "Orocos Kinematics and Dynamics (KDL) C++ Library")
+ (description
+ "A C++ library for rigid body kinematics calculations
+and representations for kinematic structures and their inverse and
+forward kinematics solvers.")
+ (license license:lgpl2.1+))))