gnu: r-fields: Update to 11.4.
[jackhill/guix/guix.git] / gnu / packages / games.scm
index 5a38e20..f681987 100644 (file)
@@ -17,7 +17,7 @@
 ;;; Copyright © 2016, 2017 Rodger Fox <thylakoid@openmailbox.org>
 ;;; Copyright © 2016, 2017, 2018 Nikita <nikita@n0.is>
 ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
@@ -40,7 +40,7 @@
 ;;; Copyright © 2019, 2020 Oleg Pykhalov <go.wigust@gmail.com>
 ;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
 ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2019 Jesse Gibbons <jgibbons2357+guix@gmail.com>
+;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
 ;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
 ;;; Copyright © 2019, 2020 Guillaume Le Vaillant <glv@posteo.net>
 ;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
@@ -51,6 +51,9 @@
 ;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com>
 ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
+;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
+;;; Copyright © 2020 Trevor Hass <thass@okstate.edu>
+;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -345,7 +348,7 @@ mouse and joystick control, and original music.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/carstene1ns/alex4.git")
+             (url "https://github.com/carstene1ns/alex4")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -382,15 +385,17 @@ The game includes a built-in editor so you can design and share your own maps.")
 (define-public armagetronad
   (package
     (name "armagetronad")
-    (version "0.2.8.3.5")
+    (version "0.2.9.0.1")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/armagetronad/stable/"
-                                  version "/armagetronad-" version ".src.tar.gz"))
+                                  version "/armagetronad-" version ".tbz"))
               (sha256
                (base32
-                "1z266haq22n5b0733h7qsg1rpzhz8lvm82f7wd06r008iiar7jdl"))))
+                "19rfhlg4gp0r7k1j8v4iw20325ciy156nmzax4xikmw22c6nmxcz"))))
     (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
     (inputs
      `(("libxml2" ,libxml2)
        ("sdl" ,sdl)
@@ -416,7 +421,7 @@ physics settings to tweak as well.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/viewizard/astromenace.git")
+             (url "https://github.com/viewizard/astromenace")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -476,7 +481,7 @@ regret their insolence.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/fph/bastet.git")
+             (url "https://github.com/fph/bastet")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -655,7 +660,7 @@ high a score as possible.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/CleverRaven/Cataclysm-DDA.git")
+             (url "https://github.com/CleverRaven/Cataclysm-DDA")
              (commit version)))
        (sha256
         (base32 "15l6w6lxays7qmsv0ci2ry53asb9an9dh7l7fc13256k085qcg68"))
@@ -720,7 +725,7 @@ want what you have.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/CorsixTH/CorsixTH.git")
+             (url "https://github.com/CorsixTH/CorsixTH")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -775,7 +780,7 @@ more.  This package does @emph{not} provide the game assets.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/tnalpgge/rank-amateur-cowsay.git")
+                     (url "https://github.com/tnalpgge/rank-amateur-cowsay")
                      (commit (string-append name "-" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -818,7 +823,7 @@ tired of cows, a variety of other ASCII-art messengers are available.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/jaseg/lolcat.git")
+               (url "https://github.com/jaseg/lolcat")
                (commit commit)))
          (sha256
           (base32
@@ -986,7 +991,7 @@ The game features:
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/freedoom/freedoom.git")
+             (url "https://github.com/freedoom/freedoom")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -1184,7 +1189,7 @@ automata.  The following features are available:
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/bvschaik/julius.git")
+             (url "https://github.com/bvschaik/julius")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -1291,7 +1296,7 @@ shadow mimic them to reach blocks you couldn't reach alone.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/alemart/opensurge.git")
+             (url "https://github.com/alemart/opensurge")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -1365,7 +1370,8 @@ built-in level editor.")
     (build-system gnu-build-system)
     (arguments
      '(#:make-flags
-       (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+       (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
+             "CXXFLAGS=-lpthread")
        #:phases
        (modify-phases %standard-phases
          ;; No configure script.
@@ -1397,7 +1403,7 @@ destroying an ancient book using a special wand.")
 (define-public gnome-chess
   (package
     (name "gnome-chess")
-    (version "3.36.1")
+    (version "3.37.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/gnome-chess/"
@@ -1405,7 +1411,7 @@ destroying an ancient book using a special wand.")
                                   "gnome-chess-" version ".tar.xz"))
               (sha256
                (base32
-                "165bk8s3nngyqbikggspj4rff5nxxfkfcmgzjb4grmsrgbqwk5di"))))
+                "09axf0q1mp13sv8cs0syfg8ahcd9r2qb26278r09j6s4njxmkfv4"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -1554,14 +1560,14 @@ Chess).  It is similar to standard chess but this variant is far more complicate
 (define-public ltris
   (package
     (name "ltris")
-    (version "1.0.20")
+    (version "1.2.1")
     (source
      (origin
        (method url-fetch)
-       (uri (string-append "http://prdownloads.sourceforge.net/lgames/"
+       (uri (string-append "mirror://sourceforge/lgames/ltris/"
                            "ltris-" version ".tar.gz"))
        (sha256
-        (base32 "16zbqsc4amx9g3yjv6054nh4ia09dgfp8k6q4qxpjicl3dw3z0in"))))
+        (base32 "0959vvxh5xnxzpdv7i67lpd2b6ghx69z65ldnclj1z6llyfzfs7q"))))
     (build-system gnu-build-system)
     (arguments
      '(;; The code in LTris uses traditional GNU semantics for inline functions
@@ -1807,15 +1813,16 @@ Every puzzle has a complete solution, although there may be more than one.")
 (define-public retux
   (package
     (name "retux")
-    (version "1.3.6")
+    (version "1.4")
     (source (origin
               (method url-fetch)
-              (uri (string-append "mirror://savannah/retux/"
+              (uri (string-append "https://github.com/retux-game/retux/"
+                                  "releases/download/v"
                                   (version-major+minor version) "/retux-"
                                   version "-src.tar.gz"))
               (sha256
                (base32
-                "01bidh4zisjp3nc436x0g85v60dvwb3ig37i7y01sa71j8fm4fmb"))))
+                "1hxy1pvlxhk0ci3wh2i3mmr82faqdjnnxsiwwr5gcr93nfnw9w5f"))))
     (build-system python-build-system)
     (arguments
      `(#:tests? #f ; no check target
@@ -1827,28 +1834,22 @@ Every puzzle has a complete solution, although there may be more than one.")
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out    (assoc-ref outputs "out"))
                     (bin    (string-append out "/bin"))
-                    (data   (string-append out "/share/retux"))
-                    (doc    (string-append out "/share/doc/retux")))
+                    (data   (string-append out "/share/retux")))
                (mkdir-p bin)
 
                (substitute* "retux.py"
                  ;; Use the correct data directory.
                  (("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),")
-                  (string-append "\"" data "\","))
-                 ;; Use Python 3 so the patch-shebangs phase works properly.
-                 ((".*python2.*") "#!/usr/bin/python3"))
+                  (string-append "\"" data "\",")))
 
                (copy-file "retux.py" (string-append bin "/retux"))
-
                (copy-recursively "data" data)
-
-               (install-file "COPYING" doc)
                #t))))))
     (inputs
      `(("python-sge-pygame" ,python-sge-pygame)
        ("python-six" ,python-six)
        ("python-xsge" ,python-xsge)))
-    (home-page "http://retux.nongnu.org")
+    (home-page "https://retux-game.github.io/")
     (synopsis "Action platformer game")
     (description
      "ReTux is an action platformer loosely inspired by the Mario games,
@@ -1980,7 +1981,7 @@ can be explored and changed freely.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/dulsi/seahorse-adventures.git")
+             (url "https://github.com/dulsi/seahorse-adventures")
              (commit (string-append "release-" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -2092,7 +2093,7 @@ and defeat them with your bubbles!")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/notapixelstudio/superstarfighter.git")
+             (url "https://github.com/notapixelstudio/superstarfighter")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -2437,7 +2438,7 @@ properly.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/nevat/abbayedesmorts-gpl.git")
+             (url "https://github.com/nevat/abbayedesmorts-gpl")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -2668,7 +2669,7 @@ is very small), and shoot at the adversaries that keep appear on the screen.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/abishekvashok/cmatrix.git")
+             (url "https://github.com/abishekvashok/cmatrix")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -2728,6 +2729,7 @@ interface or via an external visual interface such as GNU XBoard.")
               (method url-fetch)
               (uri (string-append "mirror://gnu/freedink/freedink-" version
                                   ".tar.gz"))
+              (patches (search-patches "freedink-engine-fix-sdl-hints.patch"))
               (sha256
                (base32
                 "00hhk1bjdrc1np2qz44sa5n1mb62qzwxbvsnws3vpms6iyn3a2sy"))))
@@ -2741,6 +2743,14 @@ interface or via an external visual interface such as GNU XBoard.")
              ;; These tests require a graphical interface.
              (substitute* "src/Makefile.am"
                (("test_gfx_fonts TestIOGfxDisplay") ""))
+             #t))
+         (add-before 'bootstrap 'autoreconf
+           (lambda _
+            ;; automake is out of date in the source
+            ;; autoreconf updates the automake scripts
+            (invoke "autoreconf")
+            ;; Build fails when autom4te.cache exists.
+            (delete-file-recursively "autom4te.cache")
              #t)))))
     (native-inputs `(("autoconf" ,autoconf)
                      ("automake" ,automake)
@@ -2985,7 +2995,7 @@ for common mesh file formats, and collision detection.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/thelaui/M.A.R.S..git")
+                      (url "https://github.com/thelaui/M.A.R.S.")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -3128,6 +3138,30 @@ in different ways.")
     (home-page "https://www.minetest.net/")
     (license license:lgpl2.1+)))
 
+(define-public minetest-mineclone
+  (package
+    (name "minetest-mineclone")
+    (version "0.66.2")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.minetest.land/Wuzzy/MineClone2")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0miszzlzplpvaj0j1yii9867ydr42wsaqa9g6grxdrci75p05g00"))))
+    (build-system copy-build-system)
+    (arguments
+     `(#:install-plan
+       '(("." "share/minetest/games/mineclone"))))
+    (synopsis "Minecraft clone based on Minetest engine")
+    (description
+     "MineClone is a Minetest subgame, that aims to recreate Minecraft as
+closely as the engine allows.")
+    (home-page "https://content.minetest.net/packages/Wuzzy/mineclone2/")
+    (license license:gpl3+)))
+
 (define glkterm
   (package
    (name "glkterm")
@@ -3504,14 +3538,16 @@ also available.")
               (file-name (string-append name "-" version ".tar.gz"))
               (sha256
                (base32
-                "1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4"))))
+                "1n747p7h0qp48szgp262swg0xh8kxy1bw8ag1qczs4i26hyzs5x4"))
+              (patches (search-patches "unknown-horizons-python-3.8-distro.patch"))))
     (build-system python-build-system)
     (arguments
      '(#:phases
        (modify-phases %standard-phases
          (add-before 'build 'set-HOME
            (lambda _
-             (setenv "HOME" "/tmp")))
+             (setenv "HOME" "/tmp")
+             #t))
          (add-after 'build 'build-extra
            (lambda _
              (invoke "python3" "./setup.py" "build_i18n")
@@ -3526,6 +3562,14 @@ also available.")
                                  (assoc-ref outputs "out")
                                  "/share/unknown-horizons\")"))))
              #t))
+         (add-before 'check 'fix-tests-with-pytest>=4
+           (lambda _
+             (substitute* "tests/conftest.py"
+               (("pytest_namespace")
+                "pytest_configure")
+               (("get_marker")
+                "get_closest_marker"))
+             #t))
          ;; TODO: Run GUI tests as well
          (replace 'check
            (lambda _
@@ -3544,6 +3588,7 @@ also available.")
        ("python-pyyaml" ,python-pyyaml)))
     (native-inputs
      `(("intltool" ,intltool)
+       ("python-distro" ,python-distro)
 
        ;; Required for tests
        ("python-greenlet" ,python-greenlet)
@@ -3619,7 +3664,7 @@ falling, themeable graphics and sounds, and replays.")
 (define-public wesnoth
   (package
     (name "wesnoth")
-    (version "1.14.13")
+    (version "1.14.14")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-"
@@ -3628,7 +3673,7 @@ falling, themeable graphics and sounds, and replays.")
                                   "wesnoth-" version ".tar.bz2"))
               (sha256
                (base32
-                "1pmqj4rah0256qi9w394ksb9apid723i5f5agkg6x1lahb1ac91q"))))
+                "1l7mdxn4kw938qz824057rqh99b7y9439a54s64n1xz95w77lp0r"))))
     (build-system cmake-build-system)
     (arguments
      `(#:tests? #f))                    ;no check target
@@ -4065,7 +4110,7 @@ Transport Tycoon Deluxe.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/OpenRCT2/OpenRCT2.git")
+             (url "https://github.com/OpenRCT2/OpenRCT2")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -4165,14 +4210,14 @@ are only two levels to play with, but they are very addictive.")
 (define-public pioneers
   (package
     (name "pioneers")
-    (version "15.5")
+    (version "15.6")
     (source (origin
               (method url-fetch)
-              (uri (string-append "http://downloads.sourceforge.net/pio/"
+              (uri (string-append "https://downloads.sourceforge.net/pio/"
                                   "pioneers-" version ".tar.gz"))
               (sha256
                (base32
-                "037gdiiw690jw3wd1s9lxmkqx0caxyk0b4drpm7i9p28gig43q9y"))))
+                "07b3xdd81n8ybsb4fzc5lx0813y9crzp1hj69khncf4faj48sdcs"))))
     (build-system gnu-build-system)
     (inputs `(("avahi" ,avahi)
               ("gtk+" ,gtk+)
@@ -4273,7 +4318,7 @@ http://lavachat.symlynx.com/unix/")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/redeclipse/base.git")
+               (url "https://github.com/redeclipse/base")
                (commit (string-append "v" release))
                (recursive? #t))) ; for game data
          (file-name (git-file-name name version))
@@ -4565,7 +4610,7 @@ in-window at 640x480 resolution or fullscreen.")
 (define-public warzone2100
   (package
     (name "warzone2100")
-    (version "3.4.0")
+    (version "3.4.1")
     (source
      (origin
        (method url-fetch)
@@ -4573,7 +4618,7 @@ in-window at 640x480 resolution or fullscreen.")
                            version
                            "/warzone2100_src.tar.xz"))
        (sha256
-        (base32 "0g4qwi9zw0s4pfgrz3fxhargsj3405rbrh9zy3b2j3arzss2h0gy"))
+        (base32 "0savalmw1kp1sf8vg5aqrl5hc77p4jacxy5y9qj8k2hi2vqdfb7a"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -4651,15 +4696,15 @@ tactics.")
 (define-public widelands
   (package
     (name "widelands")
-    (version "20")
+    (version "21")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://launchpad.net/widelands/"
                            "build" version "/build" version "/+download/"
-                           "widelands-build" version ".tar.bz2"))
+                           "widelands-build" version "-source.tar.gz"))
        (sha256
-        (base32 "1cmwfwk7j6yi2pwmm4rm57s23sdzasqf53nx6567sdagqyc4sn9q"))
+        (base32 "0mz3jily0w1zxxqbnkqrp6hl88xhrwzbil9crq7gpcwidx60w7k0"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -4683,25 +4728,6 @@ tactics.")
                "-DCMAKE_BUILD_TYPE=Release"))
        #:phases
        (modify-phases %standard-phases
-         (add-after 'unpack 'install-desktop-file-and-icons
-           (lambda* (#:key inputs outputs #:allow-other-keys)
-             (let* ((share (string-append (assoc-ref outputs "out") "/share"))
-                    (applications (string-append share "/applications"))
-                    (icons (string-append share "/icons/hicolor")))
-               ;; Move desktop entry.
-               (mkdir-p applications)
-               (copy-file "debian/org.widelands.widelands.desktop"
-                          (string-append applications "/widelands.desktop"))
-               ;; Install icons.
-               (for-each (lambda (size)
-                           (let* ((dim (string-append size "x" size))
-                                  (apps (string-append icons "/" dim "/apps")))
-                             (mkdir-p apps)
-                             (copy-file (string-append "data/images/logos"
-                                                       "/wl-ico-" size ".png")
-                                        (string-append apps "/widelands.png"))))
-                         '("16" "32" "48" "64" "128"))
-               #t)))
          (add-after 'unpack 'unbundle-fonts
            ;; Unbundle fonts already packaged in Guix.  XXX: missing fonts are
            ;; amiri, Culmus, mmrCensus, Nakula, and Sinhala.
@@ -4759,7 +4785,7 @@ of war.  Widelands also offers an Artificial Intelligence to challenge you.")
 (define-public starfighter
   (package
     (name "starfighter")
-    (version "2.2.1")
+    (version "2.3.2")
     (source (origin
               (method url-fetch)
               (uri (string-append
@@ -4768,7 +4794,7 @@ of war.  Widelands also offers an Artificial Intelligence to challenge you.")
                     version "-src.tar.gz"))
               (sha256
                (base32
-                "0bmrid26z7il42lczfs3j3cv671az9fxi2wkf0s22smmzkhcnnrz"))))
+                "1nvi277cazsw36b6nhd5nmk0cjvm71rlxasy24mf18j7fsvq9vp8"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("pkg-config" ,pkg-config)))
@@ -5087,7 +5113,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
     (source
      (origin (method git-fetch)
              (uri (git-reference
-                    (url "https://github.com/sgimenez/laby.git")
+                    (url "https://github.com/sgimenez/laby")
                     (commit (string-append name "-" version))))
              (file-name (git-file-name name version))
              (sha256
@@ -5430,7 +5456,7 @@ into the Space Age.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/bartobri/no-more-secrets.git")
+             (url "https://github.com/bartobri/no-more-secrets")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -5545,7 +5571,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/freegish/freegish.git")
+                      (url "https://github.com/freegish/freegish")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -5602,7 +5628,7 @@ emerges from a sewer hole and pulls her below ground.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/cxong/cdogs-sdl.git")
+             (url "https://github.com/cxong/cdogs-sdl")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -5739,7 +5765,7 @@ small robot living in the nano world, repair its maker.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/teeworlds/teeworlds.git")
+                    (url "https://github.com/teeworlds/teeworlds")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -5859,6 +5885,14 @@ The Flag.  You can even design your own maps!")
        (list "--with-system-enet")
        #:phases
        (modify-phases %standard-phases
+         (add-after 'unpack 'fix-build-with-new-gcc
+           (lambda _
+             ;; Fix build with GCC6 and later by avoiding comparing ifstream
+             ;; to NULL.  Can be removed for versions > 1.21.
+             (substitute* "src/lev/Proxy.cc"
+               (("ifs != NULL")
+                "ifs"))
+             #t))
          (add-after 'unpack 'find-sdl
            (lambda _
              (substitute* "configure"
@@ -5913,7 +5947,8 @@ with the mouse isn’t always trivial.")
                 "047sf00x71xbmi8bqrhfbmr9bk89l2gbykkqsfpw4wz6yfjscs6y"))))
     (build-system gnu-build-system)
     (arguments
-     `(#:tests? #f))                    ; no tests included
+     `(#:tests? #f                      ; no tests included
+       #:configure-flags '("CFLAGS=-fgnu89-inline"))) ; fix inlines
     (inputs
      `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf)))
        ("freetype" ,freetype)
@@ -6581,7 +6616,7 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/Novum/vkQuake.git")
+             (url "https://github.com/Novum/vkQuake")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -6716,7 +6751,7 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
      (origin
        (method git-fetch)
        (uri (git-reference
-              (url "https://github.com/the-butterfly-effect/tbe.git")
+              (url "https://github.com/the-butterfly-effect/tbe")
               (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -6768,7 +6803,7 @@ elements to achieve a simple goal in the most complex way possible.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/pioneerspacesim/pioneer.git")
+                    (url "https://github.com/pioneerspacesim/pioneer")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -6815,7 +6850,7 @@ whatever you make of it.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                     (url "https://github.com/umayr/badass.git")
+                     (url "https://github.com/umayr/badass")
                      (commit commit)))
               (file-name (git-file-name name version))
               (sha256
@@ -6840,7 +6875,7 @@ Github or Gitlab.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/colobot/colobot.git")
+             (url "https://github.com/colobot/colobot")
              (commit (string-append "colobot-gold-" version))
              (recursive? #t)))          ;for "data/" subdir
        (file-name (git-file-name name version))
@@ -6915,7 +6950,7 @@ You can save humanity and get programming skills!")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/coelckers/gzdoom.git")
+             (url "https://github.com/coelckers/gzdoom")
              (commit (string-append "g" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -7010,7 +7045,7 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
 (define-public odamex
   (package
     (name "odamex")
-    (version "0.8.1")
+    (version "0.8.3")
     (source
      (origin
        (method url-fetch)
@@ -7018,7 +7053,7 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
              "mirror://sourceforge/odamex/Odamex/" version "/"
              "odamex-src-" version ".tar.gz"))
        (sha256
-        (base32 "1ywbqkfacc9fc5di3dn95y5ah2ys9i241j64q3f37a73x92llw1i"))))
+        (base32 "0f887g87bmcq4dpcga7xc2mpxs947dkbc934ir9xs55gz6z13q96"))))
     (build-system cmake-build-system)
     (arguments `(#:tests? #f))          ; no tests
     (inputs
@@ -7077,7 +7112,7 @@ affect gameplay).")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/fabiangreffrath/crispy-doom.git")
+                    (url "https://github.com/fabiangreffrath/crispy-doom")
                     (commit (string-append "crispy-doom-" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -7119,7 +7154,7 @@ original.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/shlomif/rinutils.git")
+                    (url "https://github.com/shlomif/rinutils")
                     (commit version)))
               (file-name (git-file-name name version))
               (sha256
@@ -7642,7 +7677,7 @@ when packaged in Blorb container files or optionally from individual files.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/kthakore/frozen-bubble.git")
+               (url "https://github.com/kthakore/frozen-bubble")
                (commit commit)))
          (file-name (git-file-name name version))
          (sha256
@@ -7761,7 +7796,7 @@ GameController.")
 (define-public quadrapassel
   (package
     (name "quadrapassel")
-    (version "3.32.0")
+    (version "3.36.05")
     (source (origin
               (method url-fetch)
               (uri (string-append "mirror://gnome/sources/quadrapassel/"
@@ -7769,7 +7804,7 @@ GameController.")
                                   "quadrapassel-" version ".tar.xz"))
               (sha256
                (base32
-                "1zhi1957knz9dm98drn2dh95mr33sdch590yddh1f8r6bzsfjvpy"))))
+                "04abxmimh5npw8rhz1sfi6wxilgc6i1wka9mlnfwp8v1p1cb00cv"))))
     (build-system meson-build-system)
     (arguments
      '(#:glib-or-gtk? #t
@@ -7792,6 +7827,7 @@ GameController.")
     (inputs
      `(("clutter" ,clutter)
        ("clutter-gtk" ,clutter-gtk)
+       ("gsound" ,gsound)
        ("gtk+" ,gtk+)
        ("libcanberra" ,libcanberra)
        ("libmanette" ,libmanette)
@@ -7871,7 +7907,7 @@ civilized than your own.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/stepmania/stepmania.git")
+             (url "https://github.com/stepmania/stepmania")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -7903,7 +7939,7 @@ civilized than your own.")
              ;; SSE instructions are available on Intel systems only.
              ,@(if (any (cute string-prefix? <> (or (%current-target-system)
                                                     (%current-system)))
-                        '("x64_64" "i686"))
+                        '("x86_64" "i686"))
                    '()
                    '("-DWITH_SSE2=NO"))
              ;; Configuration cannot find GTK2 without the two following
@@ -8106,7 +8142,7 @@ and cooperative.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/ryanakca/slingshot.git")
+             (url "https://github.com/ryanakca/slingshot")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -8409,7 +8445,7 @@ fight each other on an arena-like map.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/flareteam/flare-engine.git")
+                    (url "https://github.com/flareteam/flare-engine")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -8437,7 +8473,7 @@ action RPGs.")
     (source (origin
               (method git-fetch)
               (uri (git-reference
-                    (url "https://github.com/flareteam/flare-game.git")
+                    (url "https://github.com/flareteam/flare-game")
                     (commit (string-append "v" version))))
               (file-name (git-file-name name version))
               (sha256
@@ -8563,7 +8599,7 @@ Orcus Dome from evil.")
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
-                      (url "https://github.com/HackerPoet/MarbleMarcher.git")
+                      (url "https://github.com/HackerPoet/MarbleMarcher")
                       (commit commit)))
                 (file-name (git-file-name name version))
                 (sha256
@@ -8621,15 +8657,15 @@ levels to unlock.")
 (define simgear
   (package
     (name "simgear")
-    (version "2018.3.2")
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/flightgear/release-"
-                                  (version-major+minor version) "/"
-                                  "simgear-" version ".tar.bz2"))
-              (sha256
-               (base32
-                "1941ay8rngz4vwsx37bbpxr48hpcvcbj3xw1hy264lq4qnl99c68"))))
+    (version "2018.3.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/flightgear/release-"
+                           (version-major+minor version) "/"
+                           "simgear-" version ".tar.bz2"))
+       (sha256
+        (base32 "1vkqm66r1205k3hdjmx5wmx5kvmsb0dgfzrs8n5gqnxj8szs42dl"))))
     (build-system cmake-build-system)
     (arguments
      `(#:phases
@@ -8639,7 +8675,7 @@ levels to unlock.")
              ;; Skip tests that require internet access.
              (invoke "ctest" "-E" "(http|dns)"))))))
     (inputs
-     `(("boost" ,boost-for-mysql) ; fails with 1.69
+     `(("boost" ,boost-for-mysql)       ; fails with 1.69
        ("curl" ,curl)
        ("expat" ,expat)
        ("mesa" ,mesa)
@@ -8658,21 +8694,21 @@ and also provides the base for the FlightGear Flight Simulator.")
   (package
     (name "flightgear")
     (version (package-version simgear))
-    (source (origin
-              (method url-fetch)
-              (uri (string-append "mirror://sourceforge/flightgear/release-"
-                                  (version-major+minor version) "/"
-                                  "flightgear-" version ".tar.bz2"))
-              (sha256
-               (base32
-                "0lzy524cjzs8vldcjcc750bgg5c4mq9fkymxxxzqf68ilc4d1jss"))
-              (modules '((guix build utils)))
-              (snippet
-               '(begin
-                  ;; There are some bundled libraries.
-                  (for-each delete-file-recursively
-                            '("3rdparty/sqlite3/"))
-                  #t))))
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "mirror://sourceforge/flightgear/release-"
+                           (version-major+minor version) "/"
+                           "flightgear-" version ".tar.bz2"))
+       (sha256
+        (base32 "0ya3vb539kwi1qrifqhsj5j3k4w6s06hrllp2vdzxf6id7cgf0hc"))
+       (modules '((guix build utils)))
+       (snippet
+        '(begin
+           ;; There are some bundled libraries.
+           (for-each delete-file-recursively
+                     '("3rdparty/sqlite3/"))
+           #t))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags
@@ -8738,7 +8774,7 @@ and also provides the base for the FlightGear Flight Simulator.")
                                "FlightGear-" version "-data.tar.bz2"))
            (sha256
             (base32
-             "0h4npa7gqpf5fw6pv2bpw0wbwr7fa2vhia21cjbigfgd75x82zi7"))))))
+             "04fv9za5zlyxlyfh6jx78y42l3jazvzl9dq2y6rzxqlcc9g5swhk"))))))
     (home-page "https://home.flightgear.org/")
     (synopsis "Flight simulator")
     (description "The goal of the FlightGear project is to create a
@@ -8809,11 +8845,20 @@ play with up to four players simultaneously.  It has network support.")
      ;; XXX: Engine is built as Pascal source code, requiring Free Pascal
      ;; Compiler, which we haven't packaged yet.  With the flag below, we use
      ;; a Pascal to C translator and Clang instead.
-     `(#:configure-flags (list "-DBUILD_ENGINE_C=ON")
+     `(#:configure-flags (list "-DBUILD_ENGINE_C=ON"
+                               "-Dhaskell_flags=-dynamic;-fPIC")
        #:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda _ (invoke "ctest"))))))
+           (lambda _ (invoke "ctest")))
+         (add-after 'install 'install-icon
+           (lambda _
+             ;; Install icon for the desktop file.
+             (let* ((out (assoc-ref %outputs "out"))
+                    (icons (string-append out "/share/icons/hicolor/512x512/apps")))
+               (with-directory-excursion (string-append "../hedgewars-src-" ,version)
+                 (install-file "misc/hedgewars.png" icons)))
+             #t)))))
     (inputs
      `(("ffmpeg" ,ffmpeg)
        ("freeglut" ,freeglut)
@@ -9434,15 +9479,15 @@ win.")
 (define-public freeorion
   (package
     (name "freeorion")
-    (version "0.4.9")
+    (version "0.4.10")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/freeorion/freeorion/releases/"
                            "download/v" version "/FreeOrion_v" version
-                           "_2020-02-02.db53471_Source.tar.gz"))
+                           "_2020-07-10.f3d403e_Source.tar.gz"))
        (sha256
-        (base32 "1qfnqkysagh8dw26plk229qh17mv4prjxs6qhfyczrmrrakb72an"))
+        (base32 "12xspixrkx6mmmsdqjha0hg02r4y73pk229l0wjq9s0yp8nb8ap7"))
        (modules '((guix build utils)))
        (snippet
         '(begin
@@ -9475,7 +9520,7 @@ win.")
        ("libpng" ,libpng)
        ("libvorbis" ,libvorbis)
        ("openal" ,openal)
-       ("python2" ,python-2.7)
+       ("python" ,python)
        ("sdl2" ,sdl2)
        ("zlib" ,zlib)))
     (home-page "https://www.freeorion.org/index.php/Main_Page")
@@ -9501,7 +9546,7 @@ remake of that series or any other game.")
     (origin
      (method git-fetch)
      (uri (git-reference
-           (url "https://github.com/leela-zero/leela-zero.git")
+           (url "https://github.com/leela-zero/leela-zero")
            (commit (string-append "v" version))))
      (file-name (git-file-name name version))
      (sha256
@@ -9549,7 +9594,7 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
    (source (origin
             (method git-fetch)
             (uri (git-reference
-                  (url "https://github.com/bernds/q5Go.git")
+                  (url "https://github.com/bernds/q5Go")
                   (commit (string-append "q5go-" version))))
             (file-name (git-file-name name version))
             (sha256
@@ -11165,7 +11210,7 @@ This package is part of the KDE games module.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/xmoto/xmoto.git")
+             (url "https://github.com/xmoto/xmoto")
              (commit version)))
        (file-name (git-file-name name version))
        (sha256
@@ -11257,7 +11302,7 @@ the more difficult challenges.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/fbergo/eboard.git")
+             (url "https://github.com/fbergo/eboard")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -11359,7 +11404,7 @@ etc.  You can also play games on FICS or against an engine.")
      (origin
        (method git-fetch)
        (uri (git-reference
-             (url "https://github.com/official-stockfish/Stockfish.git")
+             (url "https://github.com/official-stockfish/Stockfish")
              (commit (string-append "sf_" version))))
        (file-name (git-file-name name version))
        (sha256
@@ -11451,7 +11496,7 @@ protect you.")
 (define-public 7kaa
   (package
     (name "7kaa")
-    (version "2.15.4")
+    (version "2.15.4p1")
     (source
      (origin
        (method url-fetch)
@@ -11459,7 +11504,7 @@ protect you.")
                            "releases/download/v" version "/"
                            "7kaa-" version ".tar.xz"))
        (sha256
-        (base32 "0n0bn6xshv3cwk8j0lkl65a1vqd1xkkzlhvwxm32va80nc16d5ds"))))
+        (base32 "1y7v0jhp3apb619p7asikqr1dnwb2yxbh40wbx1ppmr5f03mq9ph"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("gettext" ,gettext-minimal)
@@ -11491,7 +11536,7 @@ kingdom.")
        (origin
          (method git-fetch)
          (uri (git-reference
-               (url "https://github.com/Neverball/neverball.git")
+               (url "https://github.com/Neverball/neverball")
                (commit commit)))
          (sha256
           (base32
@@ -11623,7 +11668,7 @@ game.")  ;thanks to Debian for description
        ("gsasl" ,gsasl)
        ("libgcrypt" ,libgcrypt)
        ("libircclient" ,libircclient)
-       ("protobuf" ,protobuf-2)
+       ("protobuf" ,protobuf-2)         ; remove package when no longer needed
        ("qtbase" ,qtbase)
        ("sdl" ,(sdl-union (list sdl sdl-mixer)))
        ("sqlite" ,sqlite)
@@ -11668,3 +11713,72 @@ game.")  ;thanks to Debian for description
      "With PokerTH you can play the Texas holdem poker game, either against
 computer opponents or against real players online.")
     (license license:agpl3+)))
+
+(define-public azimuth
+  (package
+    (name "azimuth")
+    ;; Not marked as latest release, but it fixes a compiling issue
+    ;; and adds the install target.
+    (version "1.0.3")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/mdsteele/azimuth")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "1znfvpmqiixd977jv748glk5zc4cmhw5813zp81waj07r9b0828r"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:test-target "test"
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)            ; no configure script
+         ;; Build release version instead of debug version.
+         (add-after 'unpack 'set-release
+           (lambda _
+             (setenv "BUILDTYPE" "release") #t))
+         (add-after 'unpack 'fix-install ; set install directory
+           (lambda* (#:key outputs #:allow-other-keys)
+             (substitute* "Makefile" (("/usr") (assoc-ref outputs "out"))) #t)))))
+    (inputs `(("sdl" ,sdl)))
+    (home-page "https://mdsteele.games/azimuth/")
+    (synopsis "Metroidvania game with vector graphics")
+    (description
+     "Pilot your ship inside a planet to find and rescue the colonists trapped
+inside the Zenith Colony.")
+    (license license:gpl3+)))
+
+(define-public paperview
+  (let ((commit "9f8538eb6734c76877b878b8f1e52587f2ae19e6")
+        (revision "1"))
+    (package
+      (name "paperview")
+      (version (git-version "0.0.1" revision commit)) ;no upstream release
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/glouw/paperview")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "09sb9sg44fvkgfdyycrm1ndpx7cnkrglxhci41y8f3gpagnvi7jk"))))
+      (build-system gnu-build-system)
+      (inputs
+       `(("sdl2" ,sdl2)))
+      (arguments
+       '(#:tests? #f ;no tests
+         #:make-flags
+         (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+         #:phases
+         (modify-phases %standard-phases
+           (delete 'configure))))
+      (home-page "https://github.com/glouw/paperview/")
+      (synopsis "High performance X11 animated wallpaper setter")
+      (description "High performance animated desktop background setter for
+X11 that won't set your CPU on fire, drain your laptop battery, or lower video
+game FPS.")
+      (license license:unlicense))))