summary refs log tree commit diff
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2021-06-22 09:26:55 +0300
committerEfraim Flashner <efraim@flashner.co.il>2021-06-22 13:49:05 +0300
commit920a36392a40fad1e6e42aec2bbe9292e0d2202d (patch)
tree92c7e5d5ec909b03bdf047c5f0e025bfb678c507
parentbc6c99e52c283df606d9df2efb0f6db01b3f19bc (diff)
downloadguix-920a36392a40fad1e6e42aec2bbe9292e0d2202d.tar.gz
gnu: Add box2d.
* gnu/packages/game-development.scm (box2d): New variable.
-rw-r--r--gnu/packages/game-development.scm35
1 files changed, 34 insertions, 1 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 78983cd991..f1205e5407 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -4,7 +4,7 @@
 ;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015, 2018 Alex Kost <alezost@gmail.com>
 ;;; Copyright © 2015, 2016, 2017 David Thompson <davet@gnu.org>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016, 2017, 2020 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016, 2017, 2018 Julian Graham <joolean@gmail.com>
@@ -2289,6 +2289,39 @@ computer games, 3D authoring tools and simulation tools.")
 rigid body physics library written in C.")
     (license license:expat)))
 
+(define-public box2d
+  (package
+    (name "box2d")
+    (version "2.4.1")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/erincatto/box2d")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1ja9cahf3z9zzrdaqcw44lpjmqf2ir2g4chwz0iwqwlkckwhpgvh"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; Bundled code only used for the testbed.
+           (delete-file-recursively "extern")))))
+    (build-system cmake-build-system)
+    (arguments
+     `(#:test-target "unit_test"
+       #:configure-flags '("-DBUILD_SHARED_LIBS=ON"
+                           "-DBOX2D_BUILD_TESTBED=OFF")))
+    (inputs
+     `(("libx11" ,libx11)))
+    (home-page "https://box2d.org/")
+    (synopsis "2D physics engine for games")
+    (description "Box2D is a 2D rigid body simulation library for games.
+Programmers can use it in their games to make objects move in realistic ways and
+make the game world more interactive.  From the game engine's point of view, a
+physics engine is just a system for procedural animation.")
+    (license license:expat)))
+
 (define-public libtcod
   (package
     (name "libtcod")