summaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm181
1 files changed, 100 insertions, 81 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6d4ce1f17d..453f732a5d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -67,11 +67,22 @@
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bison)
#:use-module (gnu packages boost)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
#:use-module (gnu packages crypto)
+ #:use-module (gnu packages cyrus-sasl)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fltk)
+ #:use-module (gnu packages fonts)
+ #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
@@ -82,67 +93,56 @@
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
+ #:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
+ #:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages icu4c)
+ #:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages less)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libunwind)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages lua)
#:use-module (gnu packages haskell)
#:use-module (gnu packages mp3)
#:use-module (gnu packages music)
#:use-module (gnu packages multiprecision)
- #:use-module (gnu packages icu4c)
- #:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages networking)
#:use-module (gnu packages ocaml)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages perl-check)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages readline)
- #:use-module (gnu packages textutils)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages databases)
#:use-module (gnu packages shells)
#:use-module (gnu packages sdl)
+ #:use-module (gnu packages serialization)
#:use-module (gnu packages swig)
- #:use-module (gnu packages texinfo)
- #:use-module (gnu packages check)
- #:use-module (gnu packages fonts)
- #:use-module (gnu packages fontutils)
- #:use-module (gnu packages gstreamer)
- #:use-module (gnu packages bash)
- #:use-module (gnu packages perl)
- #:use-module (gnu packages perl-check)
- #:use-module (gnu packages qt)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages pulseaudio)
- #:use-module (gnu packages linux)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages curl)
- #:use-module (gnu packages lua)
- #:use-module (gnu packages video)
- #:use-module (gnu packages xml)
#:use-module (gnu packages tcl)
- #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages texinfo)
+ #:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
- #:use-module (gnu packages pcre)
- #:use-module (gnu packages cyrus-sasl)
- #:use-module (gnu packages messaging)
#:use-module (gnu packages upnp)
- #:use-module (gnu packages wxwidgets)
- #:use-module (gnu packages bison)
- #:use-module (gnu packages flex)
- #:use-module (gnu packages cmake)
- #:use-module (gnu packages gnuzilla)
- #:use-module (gnu packages icu4c)
- #:use-module (gnu packages networking)
+ #:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
#:use-module (gnu packages web)
+ #:use-module (gnu packages wxwidgets)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xorg)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml)
+ #:use-module (gnu packages messaging)
+ #:use-module (gnu packages networking)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system haskell)
@@ -1483,34 +1483,53 @@ are primarily in English, however some in other languages are provided.")
"/" version "/irrlicht-" version ".zip"))
(sha256
(base32
- "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl"))))
+ "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl"))
+ (patches (search-patches "irrlicht-use-system-libs.patch"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (for-each delete-file-recursively
+ '("bin" ; bundled compiled Windows binaries"
+ "source/Irrlicht/MacOSX"
+ "source/Irrlicht/bzip2"
+ "source/Irrlicht/jpeglib"
+ "source/Irrlicht/libpng"
+ "source/Irrlicht/lzma"
+ "source/Irrlicht/zlib"))
+ (delete-file "source/Irrlicht/glext.h")
+ (delete-file "source/Irrlicht/glxext.h")
+ (delete-file "source/Irrlicht/wglext.h")
+ #t))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-build-env
+ (add-after 'unpack 'chdir-to-source
+ (lambda _
+ ;; The actual source is buried a few directories deep.
+ (chdir "source/Irrlicht/")
+ #t))
+ (add-after 'chdir-to-source 'fix-build-env
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "Makefile"
(("INSTALL_DIR = /usr/local/lib")
- (string-append "INSTALL_DIR = " out "/lib")))
+ (string-append "INSTALL_DIR = " out "/lib"))
+ ;; Add '-fpermissive' to the CXXFLAGS
+ (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp
;; The Makefile assumes these directories exist.
(mkdir-p (string-append out "/lib"))
(mkdir-p (string-append out "/include")))))
- (replace 'unpack
- (lambda* (#:key source #:allow-other-keys)
- (and (zero? (system* "unzip" source))
- ;; The actual source is buried a few directories deep.
- (chdir (string-append "irrlicht-" ,version
- "/source/Irrlicht/")))))
(delete 'configure)) ; no configure script
#:tests? #f ; no check target
#:make-flags '("CC=gcc" "sharedlib")))
- (native-inputs
- `(("unzip" ,unzip)))
(inputs
- `(("mesa" ,mesa)
- ("glu" ,glu)))
+ `(("bzip2" ,bzip2)
+ ("libjpeg" ,libjpeg)
+ ("libpng" ,libpng)
+ ("libx11" ,libx11)
+ ("libxxf86vm" ,libxxf86vm)
+ ("mesa" ,mesa)))
(synopsis "3D game engine written in C++")
(description
"The Irrlicht Engine is a high performance realtime 3D engine written in
@@ -1578,36 +1597,28 @@ match, cannon keep, and grave-itation pit.")
(name "minetest-data")
(version "0.4.17")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/minetest/minetest_game/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest/minetest_game")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0pa9skjwbq27aky6dgr7g3mb0a7c5rpa6xmz2qh0nm618z5hgazh"))))
+ "1g8iw2pya32ifljbdx6z6rpcinmzm81i9minhi2bi1d500ailn7s"))))
(build-system trivial-build-system)
(native-inputs
- `(("source" ,source)
- ("tar" ,tar)
- ("gzip" ,(@ (gnu packages compression) gzip))))
+ `(("source" ,source)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
- (let ((tar (string-append (assoc-ref %build-inputs "tar")
- "/bin/tar"))
- (install-dir (string-append
+ (let ((install-dir (string-append
%output
- "/share/minetest/games/minetest_game"))
- (path (string-append (assoc-ref %build-inputs
- "gzip")
- "/bin")))
- (setenv "PATH" path)
- (invoke tar "xvf" (assoc-ref %build-inputs "source"))
- (chdir (string-append "minetest_game-" ,version))
+ "/share/minetest/games/minetest_game")))
(mkdir-p install-dir)
- (copy-recursively "." install-dir)
+ (copy-recursively
+ (assoc-ref %build-inputs "source")
+ install-dir)
#t))))
(synopsis "Main game data for the Minetest game engine")
(description
@@ -1620,20 +1631,25 @@ match, cannon keep, and grave-itation pit.")
(name "minetest")
(version "0.4.17.1")
(source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/minetest/minetest/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/minetest/minetest")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0ngb3h6hw0zbsr6isjpyp4fach0g4nbn6bxxv9g354plac6d89fd"))))
+ "19sfblgh9mchkgw32n7gdvm7a8a9jxsl9cdlgmxn9bk9m939a2sg"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ (delete-file-recursively "lib") #t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
+ "-DENABLE_SYSTEM_JSONCPP=TRUE"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
@@ -1648,18 +1664,21 @@ match, cannon keep, and grave-itation pit.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("irrlicht" ,irrlicht)
- ("libpng" ,libpng)
+ `(("curl" ,curl)
+ ("freetype" ,(@ (gnu packages fontutils) freetype))
+ ("gettext" ,gettext-minimal)
+ ("gmp" ,gmp)
+ ("irrlicht" ,irrlicht)
+ ("jsoncpp" ,jsoncpp)
("libjpeg" ,libjpeg)
- ("libxxf86vm" ,libxxf86vm)
- ("mesa" ,mesa)
+ ("libpng" ,libpng)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
- ("openal" ,openal)
- ("freetype" ,(@ (gnu packages fontutils) freetype))
- ("curl" ,curl)
+ ("libxxf86vm" ,libxxf86vm)
("luajit" ,luajit)
- ("gettext" ,gettext-minimal)
+ ("mesa" ,mesa)
+ ("ncurses" ,ncurses)
+ ("openal" ,openal)
("sqlite" ,sqlite)))
(propagated-inputs
`(("minetest-data" ,minetest-data)))