summary refs log tree commit diff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm139
1 files changed, 85 insertions, 54 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 0b93409c76..da917e2870 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -7,7 +7,7 @@
 ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net>
 ;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
 ;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
@@ -38,6 +38,7 @@
 ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
+;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -237,6 +238,56 @@ enemy, ally, weapon and mission types.  Features include simulated 4D texturing,
 mouse and joystick control, and original music.")
     (license license:gpl2)))
 
+(define-public alex4
+  (package
+    (name "alex4")
+    (version "1.2-alpha")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/carstene1ns/alex4/archive/"
+                           version ".tar.gz"))
+       (sha256
+        (base32 "0jj1g3v1a6lyfwp5g2ly0n9z65ryqck8jxvzr01kaqjj3lsfkrhg"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no check target
+       #:make-flags
+       (list "-Csrc"
+             "CC=gcc"
+             "CFLAGS=-D_FILE_OFFSET_BITS=64"
+             (string-append "DATADIR=" (assoc-ref %outputs "out")
+                            "/share/" ,name)
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda _
+             (substitute* '("src/main.c"
+                            "src/shooter.c")
+               (("fcos") "fixcos")
+               (("fmul") "fixmul")
+               (("fsin") "fixsin"))
+             #t))
+         (add-after 'install 'install-data
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((share (string-append (assoc-ref outputs "out")
+                                         "/share/" ,name)))
+               (install-file "alex4.ini" share)
+               #t))))))
+    (inputs
+     `(("allegro" ,allegro-4)
+       ("dumb" ,dumb-allegro4)))
+    (home-page "http://allegator.sourceforge.net/")
+    (synopsis "Retro platform game")
+    (description
+     "Guide Alex the Allegator through the jungle in order to save his
+girlfriend Lola from evil humans who want to make a pair of shoes out of her.
+Plenty of classic platforming in four nice colors guaranteed!
+
+The game includes a built-in editor so you can design and share your own maps.")
+    (license license:gpl2+)))
+
 (define-public armagetron-advanced
   (package
     (name "armagetron-advanced")
@@ -1795,7 +1846,7 @@ match, cannon keep, and grave-itation pit.")
 (define minetest-data
   (package
     (name "minetest-data")
-    (version "5.0.0")
+    (version "5.0.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1804,7 +1855,7 @@ match, cannon keep, and grave-itation pit.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "186i1pna2f3fwa2001y8mw5131h0sndhfdxzfqq2gnr1m83sjm0w"))))
+                "1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7"))))
     (build-system trivial-build-system)
     (native-inputs
      `(("source" ,source)))
@@ -1822,14 +1873,14 @@ match, cannon keep, and grave-itation pit.")
                      #t))))
     (synopsis "Main game data for the Minetest game engine")
     (description
-     "Game data for the Minetest infinite-world block sandox game.")
+     "Game data for the Minetest infinite-world block sandbox game.")
     (home-page "http://minetest.net")
     (license license:lgpl2.1+)))
 
 (define-public minetest
   (package
     (name "minetest")
-    (version "5.0.0")
+    (version "5.0.1")
     (source (origin
               (method git-fetch)
               (uri (git-reference
@@ -1838,7 +1889,7 @@ match, cannon keep, and grave-itation pit.")
               (file-name (git-file-name name version))
               (sha256
                (base32
-                "1b8n8nzlvmld1hl3zgs1xg4jbc1nsf1m2bn7fi794vdr06s6n911"))
+                "11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay"))
               (modules '((guix build utils)))
               (snippet
                 '(begin
@@ -1865,7 +1916,7 @@ match, cannon keep, and grave-itation pit.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("curl" ,curl)
-       ("freetype" ,(@ (gnu packages fontutils) freetype))
+       ("freetype" ,freetype)
        ("gettext" ,gettext-minimal)
        ("gmp" ,gmp)
        ("irrlicht" ,irrlicht)
@@ -2066,7 +2117,7 @@ This game is based on the GPL version of the famous game TuxRacer.")
 (define-public supertuxkart
   (package
     (name "supertuxkart")
-    (version "0.9.3")
+    (version "1.0")
     (source
      (origin
        (method url-fetch)
@@ -2074,55 +2125,36 @@ This game is based on the GPL version of the famous game TuxRacer.")
                            version "/supertuxkart-" version "-src.tar.xz"))
        (sha256
         (base32
-         "1c4w47ibj87lgwiqygq8qi7jiz6gklj4dwf5bs5zk15s0rqlw0fq"))
+         "106rlp99hq18b4q1kdri3pl06cc4v7iqfp1hp9k2f8751lzz923d"))
        (modules '((guix build utils)))
        (snippet
         ;; Delete bundled library sources
         '(begin
-           ;; FIXME: try to unbundle enet, and angelscript
+           ;; Supertuxkart uses modified versions of the Irrlicht engine
+           ;; and the bullet library.  The developers gave an explanation
+           ;; here: http://forum.freegamedev.net/viewtopic.php?f=17&t=3906
+           ;; FIXME: try to unbundle angelscript
            (for-each delete-file-recursively
                      '("lib/zlib"
                        "lib/libpng"
                        "lib/jpeglib"
                        "lib/glew"
-                       "lib/wiiuse"))
-           (substitute* "CMakeLists.txt"
-             ;; Supertuxkart uses modified versions of the Irrlicht engine
-             ;; and the bullet library.  The developers gave an explanation here:
-             ;; http://forum.freegamedev.net/viewtopic.php?f=17&t=3906
-             (("add_subdirectory\\(.*/(glew|zlib)\"\\)") ""))
+                       "lib/wiiuse"
+                       "lib/enet"))
            #t))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f ; no check target
        #:configure-flags
        (list "-DUSE_WIIUSE=0"
-             ;; Do not use the bundled zlib
+             ;; Do not use the bundled zlib, glew and enet.
              "-DNO_IRR_COMPILE_WITH_ZLIB_=TRUE"
+             "-DUSE_SYSTEM_GLEW=TRUE"
+             "-DUSE_SYSTEM_ENET=TRUE"
              ;; FIXME: needs libopenglrecorder
              "-DBUILD_RECORDER=0"
              ;; Irrlicht returns an integer instead of a boolean
-             "-DCMAKE_C_FLAGS=-fpermissive")
-       #:phases
-       (modify-phases %standard-phases
-         ;; see https://github.com/supertuxkart/stk-code/issues/3557
-         (add-after 'unpack 'patch-for-mesa-18.3
-           (lambda _
-             (substitute* "src/graphics/gl_headers.hpp"
-               (("#if !defined\\(USE_GLES2\\)")
-                "#if !defined(USE_GLES2)\n#   define __gl_glext_h_"))
-             #t))
-         (add-after 'unpack 'unbundle
-           (lambda* (#:key inputs #:allow-other-keys)
-             (substitute* "CMakeLists.txt"
-               (("glew")
-                (string-append (assoc-ref inputs "glew")
-                               "/lib/libGLEW.a"))
-               (("include_directories\\(\"\\$\\{PROJECT_SOURCE_DIR\\}/lib/glew/include\"\\)")
-                (string-append "include_directories(\""
-                               (assoc-ref inputs "glew")
-                               "/include\")")))
-             #t)))))
+             "-DCMAKE_C_FLAGS=-fpermissive")))
     (inputs
      `(("glew" ,glew)
        ("zlib" ,zlib)
@@ -2136,7 +2168,9 @@ This game is based on the GPL version of the famous game TuxRacer.")
        ("curl" ,curl)
        ;; The following input is needed to build the bundled and modified
        ;; version of irrlicht.
-       ("libjpeg" ,libjpeg)))
+       ("libjpeg" ,libjpeg)
+       ("openssl" ,openssl)
+       ("enet" ,enet)))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (home-page "https://supertuxkart.net/")
@@ -4476,7 +4510,7 @@ fish.  The whole game is accompanied by quiet, comforting music.")
 (define-public dungeon-crawl-stone-soup
   (package
     (name "dungeon-crawl-stone-soup")
-    (version "0.23.1")
+    (version "0.23.2")
     (source
      (origin
        (method url-fetch)
@@ -4489,8 +4523,7 @@ fish.  The whole game is accompanied by quiet, comforting music.")
              (string-append "http://crawl.develz.org/release/stone_soup-"
                             version "-nodeps.tar.xz")))
        (sha256
-        (base32
-         "0c3mx49kpz6i2xvv2dwsaj9s7mm4mif1h2qdkfyi80lv2j1ay51h"))
+        (base32 "1hw10hqhh688mrqs9vxrl17y1dzfjzsmxz6izg1a9dzmjlhrc01a"))
        (patches (search-patches "crawl-upgrade-saves.patch"))))
     (build-system gnu-build-system)
     (inputs
@@ -4512,7 +4545,7 @@ fish.  The whole game is accompanied by quiet, comforting music.")
          (list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include")
                (string-append "prefix=" out)
                "SAVEDIR=~/.crawl"
-               ;; Don't compile with SSE on systems which don't use it
+               ;; Don't compile with SSE on systems which don't have it.
                ,@(match (%current-system)
                    ((or "i686-linux" "x86_64-linux")
                     '())
@@ -6486,7 +6519,7 @@ the desired spell.")
 (define-public the-legend-of-edgar
   (package
     (name "the-legend-of-edgar")
-    (version "1.30")
+    (version "1.31")
     (source
      (origin
        (method url-fetch)
@@ -6494,10 +6527,9 @@ the desired spell.")
         (string-append "https://github.com/riksweeney/edgar/releases/download/"
                        version "/edgar-" version "-1.tar.gz"))
        (sha256
-        (base32
-         "0bhbs33dg0nb8wqlh6px1jj41j05f89ngdqwdkffabmjk7wq5isx"))))
+        (base32 "0i4851ci8a86ql4bhdq3xdfmf4b9z5zrd4xpc6vhi06697zgm13i"))))
     (build-system gnu-build-system)
-    (arguments '(#:tests? #f                    ; there are no tests
+    (arguments '(#:tests? #f            ; there are no tests
                  #:make-flags
                  (list "CC=gcc"
                        (string-append "PREFIX=" (assoc-ref %outputs "out"))
@@ -6507,14 +6539,13 @@ the desired spell.")
                    (delete 'configure)
                    (add-before 'build 'fix-env
                      (lambda* (#:key inputs #:allow-other-keys)
-                       (setenv "CPATH" (string-append (assoc-ref inputs "sdl")
-                                                      "/include/SDL/"))
+                       (setenv "CPATH"
+                               (string-append (assoc-ref inputs "sdl2-union")
+                                              "/include/SDL2"))
                        #t)))))
-    (inputs `(("sdl" ,sdl)
-              ("sdl-img" ,sdl-image)
-              ("sdl-mixer" ,sdl-mixer)
-              ("sdl-ttf" ,sdl-ttf)
-              ("zlib" ,zlib)))
+    (inputs
+     `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
+       ("zlib" ,zlib)))
     (native-inputs
      `(("pkg-config" ,pkg-config)
        ("autoconf" ,autoconf)