summaryrefslogtreecommitdiff
path: root/gnu/packages
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 /gnu/packages
parent45c552ec516f2c502e9e44f0cde26d73a7ebdb1d (diff)
gnu: Add ode.
* gnu/packages/game-development.scm (ode): New variable.
Diffstat (limited to 'gnu/packages')
-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))))