aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2014-09-05 14:46:44 -0400
committerDavid Thompson <dthompson2@worcester.edu>2014-11-16 19:02:24 -0500
commit6e206ac7884f59ccda19c7edba8957f4c7bb5a88 (patch)
tree604d7fa76f1de5fb8888bfdd3a2a43bbed962498 /gnu/packages/games.scm
parent7e51e5bcf4a4b478f6ffd056fef36637a0ecd6db (diff)
downloadpatches-6e206ac7884f59ccda19c7edba8957f4c7bb5a88.tar
patches-6e206ac7884f59ccda19c7edba8957f4c7bb5a88.tar.gz
gnu: Add minetest.
* gnu/packages/patches/minetest-subgame-env-var.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/games.scm (minetest): New variable.
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm74
1 files changed, 74 insertions, 0 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 65e607b26f..c9bb67858e 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -56,6 +56,9 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages linux)
#:use-module (gnu packages zip)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages lua)
#:use-module (guix build-system trivial)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
@@ -659,3 +662,74 @@ for common mesh file formats, and collision detection.")
"Game data for the Minetest infinite-world block sandox game.")
(home-page "http://minetest.net")
(license license:lgpl2.1+)))
+
+(define-public minetest
+ (package
+ (name "minetest")
+ (version "0.4.10")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/minetest/minetest/archive/"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1xxv0g83iqszjgwnbdcbsprqg76cb6jnbsh5qhm7lcwx4wy2y2k2"))
+ ;; This patch will be included in future upstream releases.
+ ;; See: https://github.com/minetest/minetest/commit/fd5eaae2babb322f8a3e2acab55a12e218814c8e
+ (patches (list (search-patch "minetest-subgame-env-var.patch")))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:modules ((guix build utils)
+ (guix build cmake-build-system)
+ (ice-9 match))
+ #:phases (alist-cons-before
+ 'configure 'set-cpath
+ (lambda* (#:key inputs #:allow-other-keys)
+ (use-modules (ice-9 match))
+ ;; Adjust the CPATH so that cmake can find irrlicht,
+ ;; openal, and curl headers.
+ (set-path-environment-variable "CPATH"
+ '("include/AL"
+ "include/irrlicht"
+ "include/curl"
+ "include")
+ (map (match-lambda
+ ((_ . dir) dir))
+ inputs)))
+ %standard-phases)
+ #:configure-flags '("-DRUN_IN_PLACE=0"
+ "-DENABLE_FREETYPE=1"
+ "-DENABLE_GETTEXT=1")
+ #:tests? #f)) ; no check target
+ (native-search-paths
+ (list (search-path-specification
+ (variable "MINETEST_SUBGAME_PATH")
+ (directories '("share/minetest/games")))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("irrlicht" ,irrlicht)
+ ("libpng" ,libpng)
+ ("libjpeg-8" ,libjpeg-8)
+ ("libxxf86vm" ,libxxf86vm)
+ ("mesa" ,mesa)
+ ("libogg" ,libogg)
+ ("libvorbis" ,libvorbis)
+ ("openal" ,openal)
+ ("freetype" ,(@ (gnu packages fontutils) freetype))
+ ("curl" ,curl)
+ ("luajit" ,luajit)
+ ("gettext" ,gnu-gettext)
+ ("sqlite" ,sqlite)))
+ (propagated-inputs
+ `(("minetest-data" ,minetest-data)))
+ (synopsis "Infinite-world block sandbox game")
+ (description
+ "Minetest is a sandbox construction game. Players can create and destroy
+various types of blocks in a three-dimensional open world. This allows
+forming structures in every possible creation, on multiplayer servers or as a
+single player. Mods and texture packs allow players to personalize the game
+in different ways.")
+ (home-page "http://minetest.net")
+ (license license:lgpl2.1+)))