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.scm512
1 files changed, 299 insertions, 213 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 6258d65f97..591a3d3f38 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -30,7 +30,7 @@
;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Madalin Ionel-Patrascu <madalinionel.patrascu@mdc-berlin.de>
@@ -42,7 +42,7 @@
;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2019, 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
-;;; Copyright © 2019, 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2019, 2020 Timotej Lazar <timotej.lazar@araneo.si>
;;; Copyright © 2019 Josh Holland <josh@inv.alid.pw>
;;; Copyright © 2019 Pkill -9 <pkill9@runbox.com>
@@ -61,12 +61,13 @@
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
;;; Copyright © 2021 David Pflug <david@pflug.io>
-;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
+;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net>
;;; Copyright © 2021 Solene Rapenne <solene@perso.pw>
;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2021 Christopher Baines <mail@cbaines.net>
+;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -151,6 +152,7 @@
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages less)
+ #:use-module (gnu packages lesstif)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libidn)
@@ -194,6 +196,7 @@
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages unicode)
#:use-module (gnu packages upnp)
#:use-module (gnu packages video)
#:use-module (gnu packages vulkan)
@@ -1360,6 +1363,7 @@ effects and music to make a completely free game.")
`(#:configure-flags
(list
(string-append "CFLAGS="
+ "-fcommon " ; XXX needed to build with GCC 10
"-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL "
"-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL")
@@ -1754,7 +1758,6 @@ destroying an ancient book using a special wand.")
(build-system meson-build-system)
(arguments
`(#:glib-or-gtk? #t
- #:meson ,meson-0.59
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'skip-gtk-update-icon-cache
@@ -2342,7 +2345,7 @@ exec -a \"~a\" ~a \"$@\"\n"
(inputs
(list python-pygame python-tmx))
(home-page "https://rogueboxadventures.tuxfamily.org")
- (synopsis "A classical roguelike/sandbox game")
+ (synopsis "Classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
from sandbox games like Minecraft or Terraria. The main idea of RogueBox
@@ -3724,54 +3727,49 @@ Widgets, and allows users to create more.")
(uri (string-append "https://codeload.github.com/fifengine/"
"fifengine/tar.gz/" version))
(file-name (string-append name "-" version ".tar.gz"))
- (patches (search-patches "fifengine-swig-compat.patch"))
+ (patches (search-patches "fifengine-swig-compat.patch"
+ "fifengine-boost-compat.patch"))
(sha256
(base32
"1y4grw25cq5iqlg05rnbyxw1njl11ypidnlsm3qy4sm3xxdvb0p8"))))
(build-system cmake-build-system)
(arguments
- `(#:tests? #f ; TODO The test running fails to run some tests.
- #:imported-modules ,(cons '(guix build python-build-system)
- %cmake-build-system-modules)
- #:modules ((guix build cmake-build-system)
- ((guix build python-build-system) #:select (guix-pythonpath))
- (guix build utils)
- (srfi srfi-1))
- #:configure-flags
- (list
- (string-append "-DOPENALSOFT_INCLUDE_DIR="
- (assoc-ref %build-inputs "openal")
- "/include/AL")
- (string-append "-DPYTHON_SITE_PACKAGES="
- (assoc-ref %outputs "out")
- "/lib/python"
- ,(version-major+minor (package-version python))
- "/site-packages"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'patch-run_tests.py
- (lambda _
- ;; Patch the test runner to exit with a status of 1 if any test
- ;; fails, to allow detecting failures.
- (substitute* "run_tests.py"
- (("ERROR\\. One or more tests failed!'\\)")
- "ERROR. One or more tests failed!')
-\t\texit(1)"))
- #t))
- ;; Run tests after installation so that we can make use of the built
- ;; python modules.
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs tests? #:allow-other-keys)
- (when tests?
- (add-installed-pythonpath inputs outputs)
- ;; The tests require an X server.
- (system "Xvfb :1 &")
- (setenv "DISPLAY" ":1")
- (setenv "XDG_RUNTIME_DIR" "/tmp")
- ;; Run tests
- (chdir ,(string-append "../" name "-" version))
- (invoke "python3" "run_tests.py" "-a")))))))
+ (list #:tests? #f ;TODO The test running fails to run some tests.
+ #:configure-flags
+ #~(list
+ (string-append "-DOPENALSOFT_INCLUDE_DIR="
+ (search-input-directory %build-inputs "include/AL"))
+ (string-append "-DPYTHON_SITE_PACKAGES="
+ #$output "/lib/python"
+ #$(version-major+minor
+ (package-version (this-package-input "python")))
+ "/site-packages"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'patch-run_tests.py
+ (lambda _
+ ;; Patch the test runner to exit with a status of 1 if any test
+ ;; fails, to allow detecting failures.
+ (substitute* "run_tests.py"
+ (("ERROR\\. One or more tests failed!'\\)")
+ "ERROR. One or more tests failed!')
+\t\texit(1)"))))
+ ;; Run tests after installation so that we can make use of the built
+ ;; python modules.
+ (delete 'check)
+ (add-after 'install 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; The tests require an X server.
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ (setenv "XDG_RUNTIME_DIR" "/tmp")
+ ;; Run tests
+ (chdir #$(string-append "../" (package-name this-package)
+ "-" (package-version this-package)))
+ (invoke "python3" "run_tests.py" "-a")))))))
+ (native-inputs
+ (list python swig xorg-server-for-tests))
(inputs
(list sdl2
sdl2-image
@@ -3785,10 +3783,6 @@ Widgets, and allows users to create more.")
fifechan
swig
python))
- (native-inputs
- `(("python" ,python)
- ("swig" ,swig)
- ("xvfb" ,xorg-server)))
(propagated-inputs
(list python-future))
(home-page "https://www.fifengine.net/")
@@ -5141,7 +5135,8 @@ tactics.")
(patches
;; Use system Minizip. Patch is provided by Debian, and discussed
;; upstream at <https://github.com/widelands/widelands/issues/399>.
- (search-patches "widelands-system-wide_minizip.patch"))))
+ (search-patches "widelands-system-wide_minizip.patch"
+ "widelands-add-missing-map-include.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@@ -5447,7 +5442,7 @@ with the \"Stamp\" tool within Tux Paint.")
(define-public supertux
(package
(name "supertux")
- (version "0.6.2")
+ (version "0.6.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/SuperTux/supertux/"
@@ -5456,7 +5451,7 @@ with the \"Stamp\" tool within Tux Paint.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "167m3z4m8n76dvbv42m1fnvabpbpsxvr28zk9641916jl9pfba96"))
+ "1xkr3ka2sxp5s0spp84iv294i29s1vxqzazb6kmjc0n415h0x57p"))
(patches
(search-patches "supertux-unbundle-squirrel.patch"))))
(arguments
@@ -5476,18 +5471,19 @@ with the \"Stamp\" tool within Tux Paint.")
(string-append "${SQUIRREL_PREFIX}/include/squirrel"))))
#t)))))
(build-system cmake-build-system)
- (inputs (list sdl2
- sdl2-image
- sdl2-mixer
- openal
- mesa
+ (inputs (list boost
+ curl
+ freetype
glew
- libvorbis
+ glm
libogg
+ libvorbis
+ mesa
+ openal
physfs
- curl
- boost
- freetype
+ sdl2
+ sdl2-image
+ sdl2-mixer
squirrel))
(native-inputs
(list pkg-config))
@@ -5500,7 +5496,7 @@ a style similar to the original Super Mario games.")
(define-public tintin++
(package
(name "tintin++")
- (version "2.02.11")
+ (version "2.02.12")
(source
(origin
(method url-fetch)
@@ -5508,7 +5504,7 @@ a style similar to the original Super Mario games.")
(string-drop-right version 1)
"/tintin-" version ".tar.gz"))
(sha256
- (base32 "1xdim1ckq1kgjyxmghcnvnahq1llv2y70gz3yyvzbli63vpqk4mk"))))
+ (base32 "000sg16w7790ha8ys31qjh1ip5hl02ldfwj1zy6dqz0y5i7zvydn"))))
(inputs
(list gnutls pcre readline zlib))
(arguments
@@ -5968,8 +5964,8 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
(license license:gpl2+)))
(define-public freegish
- (let ((commit "8795cd7adc95957883f2d3465eb9036a774667a7")
- (revision "1"))
+ (let ((commit "21977ee5fc2008231b35160df00efe954c508b16")
+ (revision "2"))
(package
(name "freegish")
(version (string-append "0-" revision "." (string-take commit 9)))
@@ -5981,7 +5977,7 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.")
(file-name (git-file-name name version))
(sha256
(base32
- "1p1zf5qqagmcpi1db2bs02cnalpy3qiymp6yzan7k1bhmv859gsx"))
+ "1qh0gcnbyxyzmb13jifwba4xrzj94m4w9whdvl0gnds6ricmwply"))
(modules '((guix build utils)))
;; The audio files in the "music" directory are licensed under
;; CC-BY-NC, so we delete them.
@@ -6622,12 +6618,12 @@ fight against their plot and save his fellow rabbits from slavery.")
wxwidgets
zlib))
(native-inputs
- `(("boost" ,boost)
- ("cmake" ,cmake-minimal)
- ("cxxtest" ,cxxtest)
- ("mesa" ,mesa)
- ("pkg-config" ,pkg-config)
- ("python-2" ,python-2)))
+ (list boost
+ cmake-minimal
+ cxxtest
+ mesa
+ pkg-config
+ python-2))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("config=release" "verbose=1" "-C" "build/workspaces/gcc")
@@ -6643,6 +6639,18 @@ fight against their plot and save his fellow rabbits from slavery.")
(string-append "\"" (assoc-ref inputs "cxxtest")
"/bin/cxxtestgen"
"\"")))))
+ (add-after 'unpack 'fix-mozjs-compatibility
+ ;; 0ad only builds fine with a specific version of mozjs
+ ;; (version 78.6 for 0ad-0.0.25).
+ ;; Here we change the error in case of version mismatch to a warning,
+ ;; and add some minor compatibility fixes.
+ (lambda _
+ (substitute* "source/scriptinterface/ScriptTypes.h"
+ (("#error Your compiler is trying to use")
+ "#warning Your compiler is trying to use"))
+ (substitute* "source/scriptinterface/ScriptContext.cpp"
+ (("JS::PrepareZoneForGC\\(")
+ "JS::PrepareZoneForGC(m_cx, "))))
(replace 'configure
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(let* ((jobs (number->string (parallel-job-count)))
@@ -7161,17 +7169,17 @@ elements to achieve a simple goal in the most complex way possible.")
(native-inputs
(list pkg-config))
(inputs
- `(("assimp" ,assimp)
- ("curl" ,curl)
- ("freetype" ,freetype)
- ("glew" ,glew)
- ("glu" ,glu)
- ("libpng" ,libpng)
- ("libsigc++" ,libsigc++)
- ("libvorbis" ,libvorbis)
- ("lua" ,lua-5.2) ;not compatible with 5.3
- ("mesa" ,mesa)
- ("sdl" ,(sdl-union (list sdl2 sdl2-image)))))
+ (list assimp
+ curl
+ freetype
+ glew
+ glu
+ libpng
+ libsigc++-2
+ libvorbis
+ lua-5.2 ;not compatible with 5.3
+ mesa
+ (sdl-union (list sdl2 sdl2-image))))
(arguments
`(#:tests? #f ;tests are broken
#:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES"
@@ -7492,16 +7500,17 @@ original.")
(define shlomif-cmake-modules
(origin
(method url-fetch)
- (uri (string-append "https://bitbucket.org/shlomif/shlomif-cmake-modules/"
- "raw/c505713d7a7cda608f97f01577e5868a711b883e/"
- "shlomif-cmake-modules/Shlomif_Common.cmake"))
+ (uri (string-append
+ "https://raw.githubusercontent.com/shlomif/shlomif-cmake-modules/"
+ "89f05caf86078f783873975525230cf4fecede8a"
+ "/shlomif-cmake-modules/Shlomif_Common.cmake"))
(sha256
- (base32 "0kx9s1qqhhzprp1w3b67xmsns0n0v506bg5hgrshxaxpy6lqiwb2"))))
+ (base32 "05xdikw5ln0yh8p5chsmd8qnndmxg5b5vjlfpdqrjcb1ncqzywkc"))))
(define-public rinutils
(package
(name "rinutils")
- (version "0.2.0")
+ (version "0.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -7510,17 +7519,37 @@ original.")
(file-name (git-file-name name version))
(sha256
(base32
- "1fpxyg86ggv0h7j8aarjjxrvwlj7jycd3bw066c0dwkq2fszxsf2"))))
- (native-inputs
- `(("perl" ,perl)
- ;; The following is only needed for tests.
- ("perl-file-find-object" ,perl-file-find-object)
- ("perl-test-differences" ,perl-test-differences)
- ("perl-class-xsaccessor" ,perl-class-xsaccessor)
- ("perl-io-all" ,perl-io-all)
- ("perl-test-runvalgrind" ,perl-test-runvalgrind)
- ("cmake-rules" ,shlomif-cmake-modules)
- ("pkg-config" ,pkg-config)))
+ "05h9sq3w900mx8xij7qgqgqcbdk1x5gvbpz7prw2pfbzrrbiq2ns"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'copy-cmake-modules
+ (lambda _
+ (copy-file #$shlomif-cmake-modules
+ (string-append "cmake/"
+ (strip-store-file-name
+ #$shlomif-cmake-modules)))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "../source"
+ (setenv "FCS_TEST_BUILD" "1")
+ (setenv "RINUTILS_TEST_BUILD" "1")
+ ;; TODO: Run tests after setting RINUTILS_TEST_TIDY to `1',
+ ;; which requires tidy-all.
+ ;; (setenv "RINUTILS_TEST_TIDY" "1")
+ (invoke "perl"
+ "CI-testing/continuous-integration-testing.pl"))))))))
+ (native-inputs
+ (list perl
+ ;; The following are needed only for tests.
+ perl-class-xsaccessor
+ perl-file-find-object
+ perl-io-all
+ perl-test-differences
+ perl-test-runvalgrind
+ pkg-config))
(inputs
(list cmocka
perl-env-path
@@ -7532,27 +7561,6 @@ original.")
perl-text-glob
perl-number-compare
perl-moo))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-env
- (lambda* (#:key inputs #:allow-other-keys)
- (use-modules (guix build utils))
- (let* ((cmake-rules (assoc-ref inputs "cmake-rules")))
- (copy-file cmake-rules
- (string-append "cmake/"
- (strip-store-file-name cmake-rules)))
- #t)))
- (replace 'check
- (lambda _
- (with-directory-excursion "../source"
- (setenv "FCS_TEST_BUILD" "1")
- (setenv "RINUTILS_TEST_BUILD" "1")
- ;; TODO: Run tests after setting RINUTILS_TEST_TIDY to `1',
- ;; which requires tidy-all.
- ;; (setenv "RINUTILS_TEST_TIDY" "1")
- (invoke "perl" "CI-testing/continuous-integration-testing.pl")))))))
- (build-system cmake-build-system)
(home-page "https://www.shlomifish.org/open-source/projects/")
(synopsis "C11 / gnu11 utilities C library")
(description "This package provides C11 / gnu11 utilities C library")
@@ -7561,7 +7569,7 @@ original.")
(define-public fortune-mod
(package
(name "fortune-mod")
- (version "2.28.0")
+ (version "3.12.0")
(source
(origin
(method git-fetch)
@@ -7570,47 +7578,58 @@ original.")
(commit (string-append "fortune-mod-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1ppzgnffgdcmq6fq4gmdq2ig10ip2bnfgklkb3i8nc6bdxm7pb89"))))
+ (base32 "1iq3bxrw8758jqvfqaasd7w1zm0g28g9n25qccnzvr98997h6r2n"))))
(build-system cmake-build-system)
(arguments
- `(#:test-target "check"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-build-env
- (lambda* (#:key inputs #:allow-other-keys)
- (use-modules (guix build utils))
- (let* ((cmake-rules (assoc-ref inputs "cmake-rules")))
- (copy-file cmake-rules
- (string-append "fortune-mod/cmake/"
- (strip-store-file-name cmake-rules)))
- (chdir "fortune-mod")
- ;; TODO: Valgrind tests fail for some reason.
- ;; Similar issue: https://github.com/shlomif/fortune-mod/issues/21 (?)
- (delete-file "tests/t/valgrind.t")
- #t)))
- (add-after 'install 'fix-install-directory
- (lambda* (#:key outputs #:allow-other-keys)
- ;; Move binary from "games/" to "bin/" and remove the latter. This
- ;; is easier than patching CMakeLists.txt since the tests hard-code
- ;; the location as well.
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin"))
- (games (string-append out "/games")))
- (rename-file (string-append games "/fortune")
- (string-append bin "/fortune"))
- (rmdir games)
- #t))))))
+ (list #:test-target "check"
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'enter-build-directory
+ (lambda _
+ (chdir "fortune-mod")))
+ (add-after 'enter-build-directory 'symlink-rinutils
+ (lambda _
+ (mkdir-p "rinutils")
+ (symlink #$(this-package-native-input "rinutils")
+ "rinutils/rinutils")))
+ (add-after 'enter-build-directory 'copy-cmake-modules
+ (lambda _
+ (copy-file #$shlomif-cmake-modules
+ (string-append "cmake/"
+ (strip-store-file-name
+ #$shlomif-cmake-modules)))))
+ (add-after 'enter-build-directory 'delete-failing-test
+ (lambda _
+ ;; TODO: Valgrind tests fail for some reason. Similar issue?
+ ;; https://github.com/shlomif/fortune-mod/issues/21
+ (delete-file "tests/data/valgrind.t")
+ (with-output-to-file "tests/scripts/split-valgrind.pl"
+ (const #t))))
+ (add-after 'install 'fix-install-directory
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Move binary from "games/" to "bin/" and remove the
+ ;; latter. This is easier than patching CMakeLists.txt
+ ;; since the tests hard-code the location as well.
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (games (string-append out "/games")))
+ (rename-file (string-append games "/fortune")
+ (string-append bin "/fortune"))
+ (rmdir games)))))))
(inputs (list recode))
(native-inputs
- `(("perl" ,perl)
- ;; The following is only needed for tests.
- ("perl-file-find-object" ,perl-file-find-object)
- ("perl-test-differences" ,perl-test-differences)
- ("perl-class-xsaccessor" ,perl-class-xsaccessor)
- ("perl-io-all" ,perl-io-all)
- ("perl-test-runvalgrind" ,perl-test-runvalgrind)
- ("cmake-rules" ,shlomif-cmake-modules)
- ("rinutils" ,rinutils)))
+ (list perl
+ ;; For generating the documentation.
+ docbook-xml-5
+ docbook-xsl
+ perl-app-xml-docbook-builder
+ ;; The following are only needed for tests.
+ perl-file-find-object
+ perl-test-differences
+ perl-class-xsaccessor
+ perl-io-all
+ perl-test-runvalgrind
+ rinutils))
(home-page "https://www.shlomifish.org/open-source/projects/fortune-mod/")
(synopsis "The Fortune Cookie program from BSD games")
(description "Fortune is a command-line utility which displays a random
@@ -7909,37 +7928,37 @@ ncurses for text display.")
(define-public naev
(package
(name "naev")
- (version "0.8.2")
+ (version "0.9.2")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/naev/naev")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ (uri (string-append "https://github.com/naev/naev/releases/download/v"
+ version "/naev-" version "-source.tar.xz"))
(sha256
- (base32 "02rk2fv2nhx5xsi0cariisamab3dpncwps4q3i3ki0y27xpwxzfx"))))
+ (base32 "1p6424n2rgrlb0h71gvww40vxs1h583d9im8bzgmv6dhgclbg0nl"))))
(build-system meson-build-system)
(arguments
;; XXX: Do not add debugging symbols, which cause the build to fail.
`(#:configure-flags (list "--buildtype=release")
#:tests? #f)) ;sole test fails with a missing "/dev/dri" error
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)))
+ (list gettext-minimal pkg-config))
(inputs
- `(("freetype" ,freetype)
- ("glpk" ,glpk)
- ("libpng" ,libpng)
- ("libvorbis" ,libvorbis)
- ("libwebp" ,libwebp)
- ("libxml2" ,libxml2)
- ("luajit" ,luajit)
- ("openal" ,openal)
- ("openblas" ,openblas)
- ("physfs" ,physfs)
- ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer)))
- ("suitesparse" ,suitesparse)))
+ (list freetype
+ glpk
+ libpng
+ libunibreak
+ libvorbis
+ libwebp
+ libxml2
+ luajit
+ openal
+ openblas
+ physfs
+ python
+ python-pyyaml
+ (sdl-union (list sdl2 sdl2-image sdl2-mixer))
+ suitesparse))
(home-page "https://naev.org/")
(synopsis "Game about space exploration, trade and combat")
(description
@@ -7956,14 +7975,7 @@ of lore accompanying everything from planets to equipment.")
license:expat ;edtaa3func.c
license:bsd-2 ;distance_field.c
license:bsd-3 ;perlin.c
- ;; Assets.
- license:silofl1.1
- license:gpl2+
- license:cc0
- license:cc-by3.0
- license:cc-by-sa3.0
- license:cc-by4.0
- license:cc-by-sa4.0))))
+ ))))
(define-public frotz-dumb-terminal
(package
@@ -8748,7 +8760,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar
(package
(name "edgar")
- (version "1.34")
+ (version "1.35")
(source
(origin
(method url-fetch)
@@ -8756,7 +8768,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
- (base32 "1121rq5wk3g8rs413av84s2kcy6qj6maspgy2vsxs36c2jd3yygl"))))
+ (base32 "0hwp73ili10kzx0aibhvgxfddqm94pimdaqhpnba6jzn119834q7"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags
@@ -8773,15 +8785,15 @@ where the player draws runes in real time to effect the desired spell.")
(search-input-directory inputs "/include/SDL2")
":" (or (getenv "CPATH") ""))))))))
(inputs
- `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
- ("zlib" ,zlib)))
+ (list (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
+ zlib))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("autoconf" ,autoconf)
- ("automake" ,automake)
- ("gnu-gettext" ,gettext-minimal)
- ("libtool" ,libtool)
- ("which" ,which)))
+ (list pkg-config
+ autoconf
+ automake
+ gettext-minimal
+ libtool
+ which))
(synopsis "2d action platformer game")
(description "The Legend of Edgar is a 2D platform game with a persistent world.
When Edgar's father fails to return home after venturing out one dark and stormy night,
@@ -12200,6 +12212,80 @@ game.") ;thanks to Debian for description
computer opponents or against real players online.")
(license license:agpl3+)))
+(define-public xblackjack
+ (package
+ (name "xblackjack")
+ (version "2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.ibiblio.org/pub/X11/contrib/games/"
+ "xblackjack-" version ".tar.gz"))
+ (sha256
+ (base32 "05h93rya7zwnx2l58f0a7wkjadymkj4y77clcr2hryhrhhy1vwjx"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((imake (assoc-ref inputs "imake"))
+ (out (assoc-ref outputs "out")))
+ (substitute* "Imakefile"
+ (("EXTRA_LIBRARIES = -lXm \\$\\(DEPLIBS\\) -lbsd")
+ "EXTRA_LIBRARIES = -lXm -lXt -lXmu -lXext -lX11")
+ (("^#define NonStandardInstallTargets NO")
+ "#define NonStandardInstallTargets YES")
+ (("BINDIR = /usr/local/bin")
+ (string-append "BINDIR = " out "/bin"))
+ (("MANDIR = /usr/local/man/cat1")
+ (string-append "MANDIR = " out "/share/man/man1"))
+ (("XAPPLOADDIR = /usr/local/lib/app-defaults")
+ (string-append "XAPPLOADDIR = " out "/lib/X11/app-defaults")))
+
+ (invoke "xmkmf") ; Generate Makefile.
+ (substitute* "Makefile"
+ ((imake) out)
+ (("ETCX11DIR = /etc/X11")
+ (string-append "ETCX11DIR = " out "/etc/X11"))
+ ;; Fix incorrect argument given to gcc. Error message:
+ ;; "gcc: error: DefaultGcc2AMD64Opt: No such file or directory"
+ (("CDEBUGFLAGS = [^\n]*") ""))
+
+ ;; Fix header paths.
+ (substitute* '("Draw.c"
+ "Strategy.c")
+ (("^#include <X11/Xm/Xm.h>")
+ "#include <Xm/Xm.h>"))
+ (substitute* "Strategy.c"
+ (("^#include <X11/Xm/Label.h>")
+ "#include <Xm/Label.h>"))
+
+ ;; Fix compilation errors.
+ (substitute* "Table.c"
+ (("/\\* focus_moved_proc \\*/\tXtInheritFocusMovedProc,") "")
+ (("_XmMoveObject\\(\\(RectObj\\) w, rx, ry\\);")
+ "_XmMoveObject(w, rx, ry);")
+ (("_XmResizeObject\\(\\(RectObj\\) managed->locs[i].w, nw, nh,")
+ "_XmResizeObject(managed->locs[i].w, nw, nh,")))))
+ (add-after 'install 'install-man-pages
+ (lambda _
+ (invoke "make" "install.man"))))
+ #:tests? #f)) ; No check target.
+ (inputs
+ (list lesstif libx11 libxext libxmu libxt))
+ (native-inputs
+ (list imake))
+ (home-page "https://www.ibiblio.org/pub/X11/contrib/games/")
+ (synopsis "X11/Motif blackjack game")
+ (description
+ "Xblackjack is a MOTIF/OLIT based tool constructed to get you ready for
+the casino. It was inspired by a book called \"Beat the Dealer\" by Edward
+O. Thorp, Ph.D. of UCLA. A number of important statistics are maintained
+for display, and used by the program to implement Thorp's \"Complete Point
+System\" (high-low system).")
+ (license (license:x11-style "" "See file headers."))))
+
(define-public azimuth
(package
(name "azimuth")
@@ -12476,18 +12562,7 @@ disassembly of the DOS version, extended with new features.")
(define-public fheroes2
(package
(name "fheroes2")
- (version "0.9.10")
- (build-system cmake-build-system)
- (arguments
- `(#:tests? #f ; no tests
- #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
- "RELEASE=1")))
- (native-inputs
- `(("gettext" ,gettext-minimal)))
- (inputs
- `(("libpng" ,libpng)
- ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
- ("zlib" ,zlib)))
+ (version "0.9.11")
(source
(origin
(method git-fetch)
@@ -12496,7 +12571,18 @@ disassembly of the DOS version, extended with new features.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0zz8k1ygw4kwnv403q60v2hdfzk13p89jjgmpfbylhxchjvwaxgh"))))
+ (base32 "1m8649srzg3j2b1hs4x2y8fib6hn7v0afv4c7bjnfk4bhpi4cqd7"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; no tests
+ #:make-flags '("FHEROES2_STRICT_COMPILATION=1"
+ "RELEASE=1")))
+ (native-inputs
+ (list gettext-minimal))
+ (inputs
+ (list libpng
+ (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
+ zlib))
(home-page "https://ihhub.github.io/fheroes2/")
(synopsis "Turn-based strategy game engine")
(description "@code{fheroes2} is an implementation of Heroes of Might and