diff options
Diffstat (limited to 'gnu/packages/game-development.scm')
-rw-r--r-- | gnu/packages/game-development.scm | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index cfe271075a..7aef6b09d2 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz> ;;; Copyright © 2019 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2019 Jethro Cao <jethrocao@gmail.com> +;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -82,6 +83,7 @@ #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) + #:use-module (gnu packages sphinx) #:use-module (gnu packages stb) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) @@ -1956,3 +1958,74 @@ focuses solely on developing a fully accurate XNA4 runtime for the desktop.") license:lgpl2.1 ; LzxDecoder.cs ;; Mono.Xna: license:expat)))) + +(define-public libccd + (package + (name "libccd") + (version "2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/danfis/libccd.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0sfmn5pd7k5kyhbxnd689xmsa5v843r7sska96dlysqpljd691jc")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_DOCUMENTATION=ON" + "-DBUILD_TESTING=ON" + "-DENABLE_DOUBLE_PRECISION=ON"))) + (native-inputs + `(("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/danfis/libccd") + (synopsis "Library for collision detection between two convex shapes") + (description "@code{libccd} is library for a collision detection +between two convex shapes. @code{libccd} implements variation on +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)))) |