diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 516 |
1 files changed, 300 insertions, 216 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 5623bdde7d..f85e9333f7 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-2022 Nicolas Goaziou <mail@nicolasgoaziou.fr> +;;; Copyright © 2017-2023 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> @@ -52,7 +52,7 @@ ;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com> ;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> -;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de> +;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de> ;;; Copyright © 2020 Trevor Hass <thass@okstate.edu> ;;; Copyright © 2020, 2021 Liliana Marie Prikler <liliana.prikler@gmail.com> ;;; Copyright © 2020 Lu hux <luhux@outlook.com> @@ -63,9 +63,9 @@ ;;; Copyright © 2021 David Pflug <david@pflug.io> ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> -;;; Copyright © 2021 Noisytoot <noisytoot@disroot.org> +;;; Copyright © 2021, 2022 Noisytoot <ron@noisytoot.org> ;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com> -;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> +;;; Copyright © 2021, 2022 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream> @@ -74,6 +74,7 @@ ;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2022 Hendursaga <hendursaga@aol.com> +;;; Copyright © 2022 Parnikkapore <poomklao@yahoo.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -177,6 +178,7 @@ #:use-module (gnu packages ocaml) #:use-module (gnu packages opencl) #:use-module (gnu packages pcre) + #:autoload (gnu packages pascal) (fpc) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-compression) @@ -444,7 +446,7 @@ physics settings to tweak as well.") (define-public astromenace (package (name "astromenace") - (version "1.4.1") + (version "1.4.2") (source (origin (method git-fetch) @@ -453,33 +455,30 @@ physics settings to tweak as well.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ad6l887jxqv8xspwc2rvy8ym9sdlmkqdqhsh0pi076kjarxsyws")))) + (base32 "0vw94issjzz6rji0ssqv5yrll513dvj7m0d33q8lbih1gdh4alal")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no test - #:configure-flags (list (string-append "-DDATADIR=" - (assoc-ref %outputs "out") - "/share/astromenace")) - #:phases - (modify-phases %standard-phases - (replace 'install - ;; Upstream provides no install phase. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (share (string-append out "/share")) - (apps (string-append share "/applications")) - (data (string-append share "/astromenace")) - (icons (string-append share "/icons/hicolor/64x64/apps"))) - (install-file "astromenace" bin) - (install-file "gamedata.vfs" data) - (let ((source (assoc-ref inputs "source"))) - (with-directory-excursion (string-append source "/share") - (install-file "astromenace.desktop" apps) - (mkdir-p icons) - (copy-file "astromenace_64.png" - (string-append icons "/astromenace.png"))))) - #t))))) + (list + #:tests? #f ;no tests + #:configure-flags + #~(list (string-append "-DDATADIR=" #$output "/share/astromenace")) + #:phases + #~(modify-phases %standard-phases + (replace 'install + ;; Upstream provides no install phase. + (lambda _ + (let* ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share")) + (apps (string-append share "/applications")) + (data (string-append share "/astromenace")) + (icons (string-append share "/icons/hicolor/64x64/apps"))) + (install-file "astromenace" bin) + (install-file "gamedata.vfs" data) + (with-directory-excursion (string-append #$source "/share") + (install-file "astromenace.desktop" apps) + (mkdir-p icons) + (copy-file "astromenace_64.png" + (string-append icons "/astromenace.png"))))))))) (inputs (list freealut freetype @@ -827,7 +826,7 @@ possible, while battling many vicious aliens.") (home-page "https://github.com/vattam/BSDGames") (synopsis "Collection of the old text-based games and amusements") (description - "These are the BSD games. See the fortune-mod package for fortunes. + "These are the BSD games. Action: atc (keep the airplanes safe), hack (explore the dangerous Dungeon), hunt (kill the others for the Pair of Boots, multi-player only), robots (avoid @@ -879,14 +878,14 @@ Quizzes: arithmetic and quiz.") (define-public bzflag (package (name "bzflag") - (version "2.4.24") + (version "2.4.26") (source (origin (method url-fetch) (uri (string-append "https://download.bzflag.org/bzflag/source/" version "/bzflag-" version ".tar.bz2")) (sha256 - (base32 "1i73ijlnxsz52fhqgkj2qcvibfgav3byq1is68gab2zwnyz330az")))) + (base32 "050h933lmcdf4bw9z3c6g3k8c9sch9f6kq57jp2ivb96zw2h90q1")))) (build-system gnu-build-system) (arguments (list @@ -1426,7 +1425,7 @@ real-time combat.") (define-public golly (package (name "golly") - (version "3.3") + (version "4.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/golly/golly/golly-" @@ -1434,7 +1433,7 @@ real-time combat.") "-src.tar.gz")) (sha256 (base32 - "1j3ksnar4rdam4xiyspgyrs1pifbvxfxkrn65brkwxpx39mpgzc8")))) + "0pg9cp83nxc354lizgza5bqdy7z5wh36863203zw6r6s4flji4an")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -1444,17 +1443,7 @@ real-time combat.") #:tests? #f ; no check target #:phases (modify-phases %standard-phases - (replace 'configure - (lambda* (#:key inputs #:allow-other-keys) - ;; For some reason, setting the PYTHON_SHLIB make flag doesn't - ;; properly set the path to the Python shared library. This - ;; substitution acheives the same end by different means. - (substitute* "gui-wx/wxprefs.cpp" - (("pythonlib = wxT\\(STRINGIFY\\(PYTHON_SHLIB\\)\\)") - (string-append "pythonlib = \"" - (assoc-ref inputs "python") - "/lib/libpython-2.7.so\""))) - #t)) + (delete 'configure) (replace 'build (lambda* (#:key make-flags outputs #:allow-other-keys) (with-directory-excursion "gui-wx" @@ -1484,11 +1473,7 @@ real-time combat.") (native-inputs (list lua)) (inputs - `(("glu" ,glu) - ("mesa" ,mesa) - ("python" ,python-2) - ("wxwidgets" ,wxwidgets-gtk2) - ("zlib" ,zlib))) + (list glu mesa python sdl2 wxwidgets zlib)) (home-page "http://golly.sourceforge.net/") (synopsis "Software for exploring cellular automata") (description @@ -1555,7 +1540,7 @@ Joy-Con controllers.") (define-public julius (package (name "julius") - (version "1.6.0") + (version "1.7.0") (source (origin (method git-fetch) @@ -1564,7 +1549,7 @@ Joy-Con controllers.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0nfdn8n6ywhm69ckz9a1chl5xxiqyaj3l337wadsbppnpscjihrc")) + (base32 "0w7kmgz9ya0ck9cxhsyralarg7y6ydx4plmh33r4mkxkamlr7493")) ;; Remove unused bundled libraries. (modules '((guix build utils))) (snippet @@ -1589,7 +1574,7 @@ does not include game data.") (package (inherit julius) (name "augustus") - (version "2.0.1") + (version "3.2.0") (source (origin (method git-fetch) @@ -1598,17 +1583,19 @@ does not include game data.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0czazw8mc3fbvdazs2nzvgxd1dpzjc8z5fwiv89vv4nd7laz3jkj")) + (base32 "0d1k5279imc17mk3lxn8amc4ljgcj4v6x6lj2w3bph1z0a7a4bim")) ;; Remove unused bundled libraries. (modules '((guix build utils))) (snippet '(begin (with-directory-excursion "ext" - (for-each delete-file-recursively '("dirent" "png" "SDL2" "zlib"))) - #t)))) + (for-each delete-file-recursively + '("dirent" "expat" "png" "SDL2" "zlib"))))))) (arguments ;; No tests. See https://github.com/Keriew/augustus/issues/82. `(#:tests? #f)) + (inputs (modify-inputs (package-inputs julius) + (prepend expat))) (home-page "https://github.com/Keriew/augustus") (synopsis "Re-implementation of Caesar III game engine with gameplay changes") (description @@ -1660,7 +1647,7 @@ shadow mimic them to reach blocks you couldn't reach alone.") (define-public opensurge (package (name "opensurge") - (version "0.5.2.1") + (version "0.6.0.3") (source (origin (method git-fetch) @@ -1669,40 +1656,37 @@ shadow mimic them to reach blocks you couldn't reach alone.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13g5izss7dmgigc8iif8hid3z6i066b0z29rbql2b9qjmdj1dp41")))) + (base32 "0yia2qcva741a64qpls8a59lvnx5vynqkk2i3arkflw6f1m1vb55")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;there are no tests - #:configure-flags - (let* ((out (assoc-ref %outputs "out")) - (share (string-append out "/share"))) - (list (string-append "-DCMAKE_INSTALL_PREFIX=" out) - (string-append "-DGAME_BINDIR=" out "/bin") ; not /bin/games - (string-append "-DGAME_DATADIR=" share "/" ,name) - (string-append "-DDESKTOP_ENTRY_PATH=" share "/applications") - (string-append "-DDESKTOP_ICON_PATH=" share "/pixmaps") - (string-append "-DDESKTOP_METAINFO_PATH=" share "/metainfo"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-xdg-open-path - (lambda* (#:key inputs #:allow-other-keys) - ;; Look for xdg-open in the store. - (substitute* "src/core/web.c" - (("/usr(/bin/xdg-open)" _ bin) - (search-input-file inputs bin))))) - (add-after 'unpack 'unbundle-fonts - (lambda* (#:key inputs #:allow-other-keys) - ;; Replace bundled Roboto fonts with links to the store. - (with-directory-excursion "fonts" - (let ((roboto-dir (string-append - (assoc-ref inputs "font-google-roboto") - "/share/fonts/truetype/"))) - (for-each - (lambda (font) - (delete-file font) - (symlink (string-append roboto-dir font) font)) - '("Roboto-Black.ttf" "Roboto-Bold.ttf" "Roboto-Medium.ttf"))) - #t)))))) + (list #:tests? #f ; there are no tests + #:configure-flags + #~(list (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) + (string-append "-DGAME_BINDIR=" #$output "/bin") ; not games + (string-append "-DGAME_DATADIR=" #$output "/share/" #$name) + (string-append "-DDESKTOP_ENTRY_PATH=" #$output "/share/applications") + (string-append "-DDESKTOP_ICON_PATH=" #$output "/share/pixmaps") + (string-append "-DDESKTOP_METAINFO_PATH=" #$output "/share/metainfo")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-xdg-open-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Look for xdg-open in the store. + (substitute* "src/core/web.c" + (("/usr/(bin/xdg-open)" _ bin) + (search-input-file inputs bin))))) + (add-after 'unpack 'unbundle-fonts + (lambda* (#:key inputs #:allow-other-keys) + ;; Replace bundled fonts with links to the store. + (with-directory-excursion "fonts" + (for-each (lambda (font) + (let ((file (string-append "share/fonts/truetype/" + font))) + (delete-file font) + (symlink (search-input-file inputs file) font))) + '("Roboto-Black.ttf" + "Roboto-Bold.ttf" + "Roboto-Medium.ttf")))))))) (inputs (list allegro font-google-roboto surgescript xdg-utils)) (home-page "https://opensurge2d.org") @@ -2103,7 +2087,7 @@ done for i in ~a/games/lib/nethackdir/*; do ln -s $i $(basename $i) done -~a/games/nethack" +~a/games/nethack \"$@\"" (assoc-ref %build-inputs "bash") (list->search-path-as-string (list @@ -3656,20 +3640,24 @@ for common mesh file formats, and collision detection.") (package (inherit irrlicht) (name "irrlicht-for-minetest") - (version "1.9.0mt5") + (version "1.9.0mt8") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/minetest/irrlicht") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1")))) + "1646pj40dqkzbbc2lxzbmq2pjyrkgggbi2lah6pa5mv420p402kg")))) (build-system cmake-build-system) (arguments ;; No check target. - (list #:tests? #f)))) + (list #:tests? #f)) + (inputs + (modify-inputs (package-inputs irrlicht) + (prepend libxi))))) (define-public mars ;; The latest release on SourceForge relies on an unreleased version of SFML @@ -3966,7 +3954,7 @@ Protocol).") (define-public extremetuxracer (package (name "extremetuxracer") - (version "0.8.1") + (version "0.8.2") (source (origin (method url-fetch) (uri (string-append @@ -3974,7 +3962,7 @@ Protocol).") version "/etr-" version ".tar.xz")) (sha256 (base32 - "0hc3qd9hv3h9qm53yxgc7iy1v1wyajwxyvil4vqvzf9ascz9dnlj")))) + "0knd22lzhzqih1w92y6m7yxha376c6ydl22wy4xm6jg2x5jlk1qw")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -4291,22 +4279,19 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.16.5") + (version "1.16.6") (source (origin - (method url-fetch) - (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" - (version-major+minor version) - "/wesnoth-" version "/" - "wesnoth-" version ".tar.bz2")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wesnoth/wesnoth") + (commit version))) + (file-name (string-append name "-" version ".tar.bz2")) (sha256 (base32 - "02pzijbmkgcb8hc4l3f4r3r3mxqda936dp488i9sd9d4m3xdzimh")))) + "0hfvxmdnwn86w254blbjacia342j47rhhahm6ca79la9d04rlz3m")))) (build-system cmake-build-system) (arguments - `(#:tests? #f)) ;no check target - (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) + (list #:tests? #f)) ;no test target (inputs (list boost dbus @@ -4315,6 +4300,9 @@ falling, themeable graphics and sounds, and replays.") openssl pango (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))) + (native-inputs + (list gettext-minimal + pkg-config)) (home-page "https://www.wesnoth.org/") (synopsis "Turn-based strategy game") (description @@ -6133,21 +6121,21 @@ starting a decryption sequence to reveal the original plaintext characters.") "1ffck3ii1wp5k3nn5p0ga06jgp7pzk4zw0xln3xim2w7qrxzdzh9")))) (build-system cmake-build-system) (inputs - `(("curl" ,curl) - ("fontconfig" ,fontconfig) - ("ftgl" ,ftgl) - ("glew" ,glew) - ("libjpeg-turbo" ,libjpeg-turbo) - ("megaglest-data" ,megaglest-data) - ("mesa" ,mesa) - ("miniupnpc" ,miniupnpc) - ("openal" ,openal) - ("libircclient" ,libircclient) - ("libpng" ,libpng) - ("libvorbis" ,libvorbis) - ("lua" ,lua) - ("sdl2" ,sdl2) - ("wxwidgets" ,wxwidgets))) + (list curl + fontconfig + ftgl + glew + libjpeg-turbo + megaglest-data + mesa + miniupnpc + openal + libircclient + libpng + libvorbis + lua + sdl2 + wxwidgets-3.0)) (native-inputs (list cppunit pkg-config)) (arguments @@ -6155,8 +6143,8 @@ starting a decryption sequence to reveal the original plaintext characters.") (list "-DCMAKE_CXX_FLAGS=-fcommon" "-DCMAKE_C_FLAGS=-fcommon" (string-append "-DCUSTOM_DATA_INSTALL_PATH=" - (assoc-ref %build-inputs "megaglest-data") - "/share/megaglest") + (search-input-directory %build-inputs + "share/megaglest")) "-DBUILD_MEGAGLEST_TESTS=ON") #:phases (modify-phases %standard-phases @@ -6235,7 +6223,7 @@ emerges from a sewer hole and pulls her below ground.") (define-public cdogs-sdl (package (name "cdogs-sdl") - (version "0.8.0") + (version "1.4.0") (source (origin (method git-fetch) @@ -6244,7 +6232,7 @@ emerges from a sewer hole and pulls her below ground.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0vx37zb2iw7sfw5a2bs97ydlmb301nvy485ybdm8g46c5hn9s13c")))) + (base32 "1505z8rli59i1ych4rzwbf4dvhv72icdj22n1xarb8xfyz0wyp3b")))) (build-system cmake-build-system) (arguments `(#:configure-flags @@ -6590,7 +6578,7 @@ becoming difficult enough to tax even the brightest of minds.") (sha256 (base32 "169p0yqh2gxvhdilvjc2ld8aap7lv2nhkhkg4i1hlmgc6pxpkjgh")))))) - (home-page "http://fillets.sourceforge.net/") + (home-page "https://fillets.sourceforge.net") (synopsis "Puzzle game") (description "Fish Fillets NG is strictly a puzzle game. The goal in every of the seventy levels is always the same: find a safe way out. The fish @@ -6751,7 +6739,7 @@ fight against their plot and save his fellow rabbits from slavery.") (define-public 0ad-data (package (name "0ad-data") - (version "0.0.25b-alpha") + (version "0.0.26-alpha") (source (origin (method url-fetch) @@ -6759,7 +6747,7 @@ fight against their plot and save his fellow rabbits from slavery.") version "-unix-data.tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1c9zrddmjxvvacismld6fbwbw9vrdbq6g6d3424p8w5p6xg5wlwy")))) + (base32 "0z9dfw2hn2fyrx70866lv5464fbagdb8dip321wq10pqb22y805j")))) (build-system trivial-build-system) (native-inputs (list tar unzip xz)) (arguments @@ -6798,7 +6786,7 @@ fight against their plot and save his fellow rabbits from slavery.") (define-public 0ad (package (name "0ad") - (version "0.0.25b-alpha") + (version "0.0.26-alpha") (source (origin (method url-fetch) @@ -6806,7 +6794,7 @@ fight against their plot and save his fellow rabbits from slavery.") version "-unix-build.tar.xz")) (file-name (string-append name "-" version ".tar.xz")) (sha256 - (base32 "1p9fa8f7sjb9c5wl3mawzyfqvgr614kdkhrj2k4db9vkyisws3fp")))) + (base32 "0jzfq09ispi7740c01h6yqxqv9y3zx66d217z32pfbiiwgvns71f")))) ;; A snippet here would cause a build failure because of timestamps ;; reset. See https://bugs.gnu.org/26734. (inputs @@ -6814,6 +6802,7 @@ fight against their plot and save his fellow rabbits from slavery.") curl enet fmt + freetype gloox icu4c-68 libidn @@ -6938,7 +6927,7 @@ at their peak of economic growth and military prowess. (define-public open-adventure (package (name "open-adventure") - (version "1.9") + (version "1.11") (source (origin (method git-fetch) @@ -6947,40 +6936,39 @@ at their peak of economic growth and military prowess. (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "123svzy7xczdklx6plbafp22yv9bcvwfibjk0jv2c9i22dfsr07f")))) + (base32 "1n0fzrdlbc6px88qr574ww2q85xk43bv09jpmsskzv1l2cncwm37")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc") - #:phases - (modify-phases %standard-phases - (delete 'configure) ;no configure script - (add-before 'build 'use-echo - (lambda _ - (substitute* "tests/Makefile" - (("/bin/echo") (which "echo"))) - #t)) - (add-after 'build 'build-manpage - (lambda _ - ;; This target is missing a dependency - (substitute* "Makefile" - ((".adoc.6:" line) - (string-append line " advent.adoc"))) - (invoke "make" ".adoc.6"))) - ;; There is no install target. - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man (string-append out "/share/man/man6"))) - (install-file "advent" bin) - (install-file "advent.6" man)) - #t))))) + (list + #:make-flags #~(list (string-append "CC=" #$(cc-for-target))) + #:parallel-tests? #f ;some tests fail non-deterministically + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'build 'use-echo + (lambda _ + (substitute* (list "tests/Makefile" "tests/tapview") + (("/bin/echo") (which "echo"))))) + (add-after 'build 'build-manpage + (lambda _ + ;; This target is missing a dependency + (substitute* "Makefile" + ((".adoc.6:" line) + (string-append line " advent.adoc"))) + (invoke "make" ".adoc.6"))) + ;; There is no install target. + (replace 'install + (lambda _ + (let ((bin (string-append #$output "/bin")) + (man (string-append #$output "/share/man/man6"))) + (install-file "advent" bin) + (install-file "advent.6" man))))))) (native-inputs - `(("asciidoc" ,asciidoc) - ("libedit" ,libedit) - ("pkg-config" ,pkg-config) - ("python" ,python-wrapper) - ("python-pyyaml" ,python-pyyaml))) + (list asciidoc + libedit + pkg-config + python-pyyaml + python-wrapper)) (home-page "https://gitlab.com/esr/open-adventure") (synopsis "Colossal Cave Adventure") (description @@ -7943,7 +7931,7 @@ ncurses for text display.") (define-public naev (package (name "naev") - (version "0.9.4") + (version "0.10.2") (source (origin (method git-fetch) @@ -7953,7 +7941,7 @@ ncurses for text display.") (recursive? #t))) ; for game data (file-name (git-file-name name version)) (sha256 - (base32 "0isswidhxhs2q5c4cxryjr8y8ibfxckpfyccly3b4lg1nxvm5gjv")))) + (base32 "1ll5a6ldc2khagwrkb3z84rp7cf1hb83lw0yc1di481xgr6f960q")))) (build-system meson-build-system) (arguments ;; XXX: Do not add debugging symbols, which cause the build to fail. @@ -7962,7 +7950,8 @@ ncurses for text display.") (native-inputs (list gettext-minimal pkg-config)) (inputs - (list freetype + (list enet + freetype glpk libpng libunibreak @@ -7972,6 +7961,7 @@ ncurses for text display.") luajit openal openblas + pcre2 physfs python python-pyyaml @@ -8273,7 +8263,7 @@ your score gets higher, you level up and the blocks fall faster.") (define-public endless-sky (package (name "endless-sky") - (version "0.9.14") + (version "0.9.16.1") (source (origin (method git-fetch) @@ -8282,31 +8272,31 @@ your score gets higher, you level up and the blocks fall faster.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12iganf8dxiyrjznnabsarxjsr0h717j3k4mz15p0k67wxyahhmf")))) + (base32 "0cb2g1cb0mk6x9gq2x7n10rxlfhsq8wnssk068j6h80al3hhybly")))) (build-system scons-build-system) (arguments - `(#:scons ,scons-python2 - #:scons-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-paths - (lambda* (#:key outputs #:allow-other-keys) - ;; Look for resources in the store directory. - (substitute* "source/Files.cpp" - (("/usr/local") (assoc-ref outputs "out"))) - ;; Install game binary into %out/bin. - (substitute* "SConstruct" - (("games\"") "bin\"")))) - (add-before 'build 'use-gcc-ar - ;; Use gcc-ar to support LTO. - (lambda _ (setenv "AR" "gcc-ar")))))) + (list #:scons-flags #~(list (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda _ + ;; Look for resources in the store directory. + (substitute* "source/Files.cpp" + (("/usr/local") #$output)) + ;; Install game binary into %out/bin. + (substitute* "SConstruct" + (("games\"") "bin\"")))) + (add-before 'build 'use-gcc-ar + ;; Use gcc-ar to support LTO. + (lambda _ (setenv "AR" "gcc-ar")))))) (inputs - `(("glew" ,glew) - ("libjpeg" ,libjpeg-turbo) - ("libmad" ,libmad) - ("libpng" ,libpng) - ("openal" ,openal) - ("sdl2" ,sdl2))) + (list glew + libjpeg-turbo + libmad + libpng + openal + sdl2 + `(,util-linux "lib"))) ; for libuuid (home-page "https://endless-sky.github.io/") (synopsis "2D space trading and combat game") (description "Endless Sky is a 2D space trading and combat game. Explore @@ -8491,7 +8481,7 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.") (native-inputs (list pkg-config)) (inputs - (list cairo ffmpeg pango sdl2 sdl2-image)) + (list cairo ffmpeg-4 pango sdl2 sdl2-image)) (home-page "https://github.com/fmang/oshu/") (synopsis "Rhythm game in which you click on circles") (description "@i{oshu!} is a minimalist variant of the @i{osu!} rhythm game, @@ -8898,7 +8888,7 @@ fight each other on an arena-like map.") (define-public flare-engine (package (name "flare-engine") - (version "1.13.04") + (version "1.14") (source (origin (method git-fetch) (uri (git-reference @@ -8907,7 +8897,7 @@ fight each other on an arena-like map.") (file-name (git-file-name name version)) (sha256 (base32 - "042n2r9whnd3kncf3k89dcl1srn7p2jk6kdc0lb2hbwff55iylnw")))) + "1gyaxr6zykwg5kg9xc3vlb5a6fas4z3zbk53y0zlfl35n4vqlh84")))) (build-system cmake-build-system) (arguments (list @@ -8927,7 +8917,7 @@ action RPGs.") (define-public flare-game (package (name "flare-game") - (version "1.13.04") + (version "1.14") (source (origin (method git-fetch) (uri (git-reference @@ -8936,7 +8926,7 @@ action RPGs.") (file-name (git-file-name name version)) (sha256 (base32 - "18rdrwv7p5rvmlah5pl9vbc09xlb8id75a7c73yn2sxkm6cf5c2l")))) + "1as9dsg0ddz14jjk4y5nj0ml20cwncrcnbdk10r1jaa2vss9bbn3")))) (build-system cmake-build-system) (arguments (list @@ -9111,7 +9101,7 @@ levels to unlock.") (define simgear (package (name "simgear") - (version "2020.3.11") + (version "2020.3.17") (source (origin (method url-fetch) @@ -9119,7 +9109,7 @@ levels to unlock.") (version-major+minor version) "/" "simgear-" version ".tar.bz2")) (sha256 - (base32 "0g2g3n3sb6kdimvcrn9kvlhyyrp5c6lx20fgzz8l609v5aygr3dv")) + (base32 "0z1pkxs4fw8xkiainxgcpayhmn0b4c0sc2j6q88x66zzvk89qpjc")) (modules '((guix build utils))) (snippet '(begin @@ -9164,7 +9154,7 @@ and also provides the base for the FlightGear Flight Simulator.") (version-major+minor version) "/" "flightgear-" version ".tar.bz2")) (sha256 - (base32 "15sar94x13j2y1m6adgmz2q1m1i9bzj3sxqla6y3m9vyf33hc9zy")) + (base32 "0m0qbyf9i84avkfmjm1a5bijl1nqs7wnpw7rfz53ls52mkgdww36")) (modules '((guix build utils))) (snippet '(begin @@ -9227,7 +9217,7 @@ and also provides the base for the FlightGear Flight Simulator.") (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config) - ("qttools-5" ,qttools-5) + ("qttools" ,qttools-5) ("flightgear-data" ,(origin (method url-fetch) @@ -9236,7 +9226,7 @@ and also provides the base for the FlightGear Flight Simulator.") "FlightGear-" version "-data.txz")) (sha256 (base32 - "0n5mw9vw1snab16c1y3i9ylkiv54az57bs2mvpq20hhg5hdiagqj")))))) + "1s6qahfia3llghfqgx990brg7gbb7z7accsq528kcyp6k8mvlpia")))))) (home-page "https://www.flightgear.org/") (synopsis "Flight simulator") (description "The goal of the FlightGear project is to create a @@ -9331,7 +9321,7 @@ play with up to four players simultaneously. It has network support.") (string-append "../hedgewars-src-" #$version) (install-file "misc/hedgewars.png" icons)))))))) (inputs - (list ffmpeg + (list ffmpeg-4 freeglut ghc-entropy ghc-hslogger @@ -10349,10 +10339,10 @@ etc. You can also play games on FICS or against an engine.") (license license:gpl2+))) (define-public stockfish - (let ((neural-network-revision "6877cd24400e")) ; also update hash below + (let ((neural-network-revision "ad9b42354671")) ; also update hash below (package (name "stockfish") - (version "15") + (version "15.1") (source (origin (method git-fetch) @@ -10361,7 +10351,7 @@ etc. You can also play games on FICS or against an engine.") (commit (string-append "sf_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1v19v6qhwbf31wpc3qcih4dvqxwqkh0p426skgjin6ags31hkbmh")))) + (base32 "0zmnv8vbhhid73pjyxg56r4ckm887znv4d55br370plm3p5b56xa")))) (build-system gnu-build-system) (inputs `(("neural-network" @@ -10371,7 +10361,7 @@ etc. You can also play games on FICS or against an engine.") neural-network-revision ".nnue")) (sha256 (base32 - "1qyna598c0v7gdpycc6kpl12h5a2wa50dqray6gv208f80jcsxv8")))))) + "11mpdhnsfggldgvmzwmya64pp3fndyppi2fkdf8kfhbi8qsl56xd")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" @@ -10401,11 +10391,13 @@ etc. You can also play games on FICS or against an engine.") (copy-file (assoc-ref inputs "neural-network") (format #f "src/nn-~a.nnue" ,neural-network-revision)))) - ;; Guix doesn't use a multiarch gcc. - (add-after 'unpack 'remove-m-flag + (add-after 'unpack 'remove-m-flag-and-net-target (lambda _ (substitute* "src/Makefile" - (("-m\\$\\(bits\\)") ""))))))) + ;; Guix doesn't use a multiarch gcc. + (("-m\\$\\(bits\\)") "") + ;; Dont depend on net target. + ((": net") ": "))))))) (synopsis "Strong chess engine") (description "Stockfish is a very strong chess engine. It is much stronger than the @@ -10417,14 +10409,14 @@ ChessX.") (define-public barrage (package (name "barrage") - (version "1.0.5") + (version "1.0.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/barrage/" "barrage-" version ".tar.gz")) (sha256 - (base32 "0139wxyrir10cbkvkjn548xgmp84wax8mfwk80yxbxlcdamrg257")))) + (base32 "1bhx708s7viv01m6bmpjsdgr33wk5kqw4wf7bvgw73a07v6j8ncw")))) (build-system gnu-build-system) (inputs (list hicolor-icon-theme sdl sdl-mixer)) @@ -10447,14 +10439,14 @@ get high scores.") (define-public burgerspace (package (name "burgerspace") - (version "1.9.4") + (version "1.9.5") (source (origin (method url-fetch) (uri (string-append "http://perso.b2b2c.ca/~sarrazip/dev/" "burgerspace-" version ".tar.gz")) (sha256 - (base32 "1xb4immzmd419aa08lgkzf7ibxa6ax238zb2l5iw9nkgvzlh1v6l")))) + (base32 "1r2albqv2ygs58rwcldsx1mp2vy96j7k4yw5jjmvwgnxjmddq7wr")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) @@ -10812,7 +10804,8 @@ inside the Zenith Colony.") (description "Provides a large set of Go-related services for X11: @itemize @item Local games with precise implementation of the Chinese and Japanese rulesets -@item Edition and visualization of SGF files-Connection to the NNGS or IGS Go servers +@item Edition and visualization of SGF files +@item Connection to the NNGS or IGS Go servers @item Bridge to Go modem protocol, allowing to play against Go modem-capable AIs such as GnuGo. @end itemize") @@ -11032,7 +11025,7 @@ disassembly of the DOS version, extended with new features.") (define-public fheroes2 (package (name "fheroes2") - (version "0.9.11") + (version "1.0.0") (source (origin (method git-fetch) @@ -11041,7 +11034,7 @@ disassembly of the DOS version, extended with new features.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1m8649srzg3j2b1hs4x2y8fib6hn7v0afv4c7bjnfk4bhpi4cqd7")))) + (base32 "0bvp9xhzlh4d6q5jlvz4nciald75g9v0vahzax47q9xgajnbibzk")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests @@ -11118,7 +11111,7 @@ meant to be quick and fun.") (string-append "CPPFLAGS=" "-I" #$(this-package-input "sdl-union") "/include/SDL")))) - (synopsis "Liquid War 6 is a unique multiplayer wargame.") + (synopsis "Liquid War 6 is a unique multiplayer wargame") (description "Liquid War 6 is a unique multiplayer war game. Your army is a blob of liquid and you have to try and eat your opponents. Rules are very simple yet @@ -11151,13 +11144,104 @@ original, they have been invented by Thomas Colcombet.") RollerCoaster Tycoon 1 and 2, graphics- and gameplay-wise. In this game, you play as a manager of a theme park, allowing you to make a -park of your dreams. The list of responsiblities includes managing staff, +park of your dreams. The list of responsibilities includes managing staff, finances, landscaping, and most importantly: rides. Good managers follow the principle of prioritizing the guests' happiness with a well-maintained park. Should they go unwise, a theme park plunge into chaos with vandalizing guests and unsafe rides. Which path will you take?") (license license:gpl2))) +(define-public ultrastar-deluxe + ;; The last release is quite old and does not support recent ffmpeg versions. + (let ((commit "43484b0a10ce6aae339e19d81ae2f7b37caf6baa") + (revision "1")) + (package + (name "ultrastar-deluxe") + (version (git-version "2020.4.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/UltraStar-Deluxe/USDX.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "078g1rbm1ympmwq9s64v68sxvcms7rr0qid12d2wgm4r04ana47r")) + (patches (search-patches "ultrastar-deluxe-no-freesans.patch")) + (modules '((guix build utils))) + (snippet + #~(begin + ;; Remove Windows binaries. + (for-each delete-file (find-files "game" "\\.dll$")) + ;; Remove font blobs. + (let ((font-directories + (list "DejaVu" "FreeSans" "NotoSans" + "wqy-microhei"))) + (for-each + (lambda (d) (delete-file-recursively + (string-append "game/fonts/" d))) + font-directories)))))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; No tests. + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-configure + (lambda* (#:key inputs configure-flags outputs #:allow-other-keys) + (define (where inputs file) + (dirname (search-input-file inputs file))) + ;; The configure script looks for lua$version, but we + ;; provide lua-$version. + (substitute* "configure.ac" + (("lua\\$i") "lua-$i")) + ;; fpc does not pass -lfoo to the linker, but uses its own + ;; linker script, which references libs. Pass the libraries + ;; listed in that linker script, so our custom linker adds + ;; a correct rpath. + (substitute* "src/Makefile.in" + (("linkflags\\s+:= ") + (string-append + "linkflags := -lpthread -lsqlite3 -lSDL2" + " -lSDL2_image -ldl " + " -lz -lfreetype -lportaudio -lavcodec" + " -lavformat -lavutil -lswresample" + " -lswscale -llua -ldl -lX11 -lportmidi" + " -L" (where inputs "lib/libz.so") + " -L" (where inputs "lib/libX11.so") + " -L" (where inputs "lib/libportmidi.so")))))) + (add-after 'install 'font-paths + (lambda* (#:key outputs #:allow-other-keys) + (substitute* (string-append + (assoc-ref outputs "out") + "/share/ultrastardx/fonts/fonts.ini") + (("=NotoSans/") (string-append "=" #$font-google-noto + "/share/fonts/truetype/")) + (("=DejaVu/") (string-append "=" #$font-dejavu + "/share/fonts/truetype/")))))))) + (inputs (list ffmpeg + font-dejavu + font-google-noto + ; Not needed, since we don’t have freesans. + ;font-wqy-microhei + freetype + libx11 + lua + portaudio + portmidi + sdl2 + sdl2-image + sqlite + zlib)) + (native-inputs (list pkg-config fpc autoconf automake)) + (synopsis "Karaoke game") + (description + "UltraStar Deluxe (USDX) is a karaoke game. It allows up to six players +to sing along with music using microphones in order to score points, depending +on the pitch of the voice and the rhythm of singing.") + (home-page "https://usdx.eu/") + (license license:gpl2+)))) + (define-public steam-devices-udev-rules ;; Last release from 2019-04-10 (let ((commit "d87ef558408c5e7a1a793d738db4c9dc2cb5f8fa") |