summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2020-01-05 02:11:26 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2020-01-05 02:13:18 +0100
commit42399ad7c6876075d70cf6d1ea32bbf0cb41af29 (patch)
tree9787ba1dbfbec82932f97a3e16805a5aa91839f0
parent45c552ec516f2c502e9e44f0cde26d73a7ebdb1d (diff)
downloadguix-42399ad7c6876075d70cf6d1ea32bbf0cb41af29.tar.gz
gnu: Add ode.
* gnu/packages/game-development.scm (ode): New variable.
-rw-r--r--gnu/packages/game-development.scm42
1 files changed, 42 insertions, 0 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 24c75b1e3e..7aef6b09d2 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -1987,3 +1987,45 @@ Gilbert–Johnson–Keerthi algorithm plus Expand Polytope Algorithm (EPA)
 and also implements algorithm Minkowski Portal Refinement (MPR,
 a.k.a. XenoCollide) as described in Game Programming Gems 7.")
     (license license:expat)))
+
+(define-public ode
+  (package
+    (name "ode")
+    (version "0.16")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://bitbucket.org/odedevs/ode/downloads/"
+                           "ode-" version ".tar.gz"))
+       (sha256
+        (base32 "09xzrarxwxcf6rdv5jsjfjh454jnn29dpcw3wh6ic50kkipvg8sb"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           (delete-file-recursively "libccd")
+           #t))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:configure-flags '("-DODE_WITH_LIBCCD_SYSTEM=ON")
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'unbundle-libccd
+           (lambda _
+             (substitute* "CMakeLists.txt"
+               (("configure_file\\(libccd/.*") ""))
+             #t)))))
+    (inputs
+     `(("glu" ,glu)
+       ("libccd" ,libccd)
+       ("mesa" ,mesa)))
+    (home-page "http://www.ode.org/")
+    (synopsis "High performance library for simulating rigid body dynamics")
+    (description "ODE is a high performance library for simulating
+rigid body dynamics.  It is fully featured, stable, mature and
+platform independent with an easy to use C/C++ API.  It has advanced
+joint types and integrated collision detection with friction.  ODE is
+useful for simulating vehicles, objects in virtual reality
+environments and virtual creatures.  It is currently used in many
+computer games, 3D authoring tools and simulation tools.")
+    ;; Software is dual-licensed.
+    (license (list license:lgpl2.1+ license:expat))))