diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 3269 |
1 files changed, 1631 insertions, 1638 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index dabbbe6ea1..591a3d3f38 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <[email protected]> ;;; Copyright © 2014 Cyrill Schenkel <[email protected]> ;;; Copyright © 2014 Sylvain Beucler <[email protected]> -;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <[email protected]> +;;; Copyright © 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <[email protected]> ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <[email protected]> ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <[email protected]> ;;; Copyright © 2015, 2016 Andreas Enge <[email protected]> @@ -30,7 +30,7 @@ ;;; Copyright © 2017, 2019, 2020 Marius Bakke <[email protected]> ;;; Copyright © 2017, 2018 Rutger Helling <[email protected]> ;;; Copyright © 2017 Roel Janssen <[email protected]> -;;; Copyright © 2017, 2018, 2019, 2020, 2021 Nicolas Goaziou <[email protected]> +;;; Copyright © 2017-2022 Nicolas Goaziou <[email protected]> ;;; Copyright © 2018 okapi <[email protected]> ;;; Copyright © 2018 Tim Gesthuizen <[email protected]> ;;; Copyright © 2018 Madalin Ionel-Patrascu <[email protected]> @@ -42,7 +42,7 @@ ;;; Copyright © 2019 Julien Lepiller <[email protected]> ;;; Copyright © 2019, 2020 Jesse Gibbons <[email protected]> ;;; Copyright © 2019 Dan Frumin <[email protected]> -;;; Copyright © 2019, 2020 Guillaume Le Vaillant <[email protected]> +;;; Copyright © 2019, 2020, 2021, 2022 Guillaume Le Vaillant <[email protected]> ;;; Copyright © 2019, 2020 Timotej Lazar <[email protected]> ;;; Copyright © 2019 Josh Holland <[email protected]> ;;; Copyright © 2019 Pkill -9 <[email protected]> @@ -61,10 +61,13 @@ ;;; Copyright © 2021 Stefan Reichör <[email protected]> ;;; Copyright © 2021 Greg Hogan <[email protected]> ;;; Copyright © 2021 David Pflug <[email protected]> -;;; Copyright © 2021 Felix Gruber <[email protected]> +;;; Copyright © 2021, 2022 Felix Gruber <[email protected]> ;;; Copyright © 2021 Solene Rapenne <[email protected]> ;;; Copyright © 2021 Noisytoot <[email protected]> ;;; Copyright © 2021 Petr Hodina <[email protected]> +;;; Copyright © 2021 Brendan Tildesley <[email protected]> +;;; Copyright © 2021 Christopher Baines <[email protected]> +;;; Copyright © 2021 Foo Chuan Wei <[email protected]> ;;; ;;; This file is part of GNU Guix. ;;; @@ -149,8 +152,10 @@ #: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) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) #:use-module (gnu packages llvm) @@ -171,9 +176,11 @@ #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pretty-print) #:use-module (gnu packages protobuf) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages qt) #:use-module (gnu packages readline) @@ -189,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) @@ -267,8 +275,7 @@ (#f "Side-scrolling game"))))) #t))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) + (list autoconf automake)) (inputs `(("libxi" ,libxi) ("libxmu" ,libxmu) @@ -411,14 +418,14 @@ The game includes a built-in editor so you can design and share your own maps.") "18gn4sg4j5sw38ngb90sl50raliplrsgjcvy8fjwry733k0cgdjr")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("libxml2" ,libxml2) - ("sdl" ,sdl) - ("sdl-image" ,sdl-image) - ("freeglut" ,freeglut) - ("libpng" ,libpng) - ("libjpeg-turbo" ,libjpeg-turbo))) + (list libxml2 + sdl + sdl-image + freeglut + libpng + libjpeg-turbo)) (home-page "http://www.armagetronad.org") (synopsis "Tron clone in 3D") (description "Armagetron Advanced is a multiplayer game in 3d that @@ -469,13 +476,13 @@ physics settings to tweak as well.") (string-append icons "/astromenace.png"))))) #t))))) (inputs - `(("freealut" ,freealut) - ("freetype" ,freetype) - ("glu" ,glu) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("openal" ,openal) - ("sdl2" ,sdl2))) + (list freealut + freetype + glu + libogg + libvorbis + openal + sdl2)) (home-page "https://www.viewizard.com/") (synopsis "3D space shooter with spaceship upgrade possibilities") (description @@ -540,10 +547,9 @@ regret their insolence.") (string-append out "/share/man/man6")) #t)))))) (native-inputs - `(("hicolor-icon-theme" ,hicolor-icon-theme))) + (list hicolor-icon-theme)) (inputs - `(("boost" ,boost) - ("ncurses" ,ncurses))) + (list boost ncurses)) (home-page "https://fph.altervista.org/prog/bastet.html") (synopsis "Antagonistic Tetris-style falling brick game for text terminals") (description @@ -570,7 +576,7 @@ canyons and wait for the long I-shaped block to clear four rows at a time.") "0b4pddqz6is1771qmvcj8qqlr4in2djdbkk13agvp9yhfah2v8x7")))) (build-system gnu-build-system) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (arguments `(#:tests? #f ;no tests #:make-flags '("CC=gcc") @@ -707,8 +713,7 @@ possible, while battling many vicious aliens.") "bsd-games-add-wrapper.patch")))) (build-system gnu-build-system) (native-inputs - `(("flex" ,flex) - ("bison" ,bison))) + (list flex bison)) (inputs `(("curses" ,ncurses) ("pager" ,less) @@ -723,8 +728,7 @@ possible, while battling many vicious aliens.") (bin (string-append out "/bin")) (doc (string-append out "/share/doc/bsd-games-" ,version)) (man (string-append out "/share/man")) - (word-list (string-append (assoc-ref inputs "miscfiles") - "/share/web2")) + (word-list (search-input-file inputs "/share/web2")) (static-data (string-append out "/share/games/bsd-games")) ;; Not a "./" because of substitute* in 'patch-install ;; below. The .// allow us not to mess with the games' @@ -848,14 +852,14 @@ Quizzes: arithmetic and quiz.") '("48" "256"))) #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("c-ares" ,c-ares) - ("curl" ,curl) - ("glew" ,glew) - ("glu" ,glu) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) + (list c-ares + curl + glew + glu + sdl2 + zlib)) (home-page "https://www.bzflag.org/") (synopsis "3D first person tank battle game") (description @@ -881,7 +885,7 @@ high a score as possible.") (define-public cataclysm-dda (package (name "cataclysm-dda") - (version "0.F-2") + (version "0.F-3") (source (origin (method git-fetch) @@ -889,7 +893,7 @@ high a score as possible.") (url "https://github.com/CleverRaven/Cataclysm-DDA") (commit version))) (sha256 - (base32 "1wzsri6rh2fm7078hw0y4x7lqjs6ak4a66d05szfiinnxyn4w1ph")) + (base32 "1qnsz6az9qp4sbr3y4rcqhlmadrrdzafvd2xwf3db5wn0swvbjys")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments @@ -931,14 +935,14 @@ high a score as possible.") ("pkg-config" ,pkg-config) ("astyle" ,astyle))) (inputs - `(("freetype" ,freetype) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("ncurses" ,ncurses) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-ttf" ,sdl2-ttf) - ("sdl2-mixer" ,sdl2-mixer))) + (list freetype + libogg + libvorbis + ncurses + sdl2 + sdl2-image + sdl2-ttf + sdl2-mixer)) (home-page "https://cataclysmdda.org/") (synopsis "Survival horror roguelike video game") (description @@ -979,17 +983,16 @@ want what you have.") "-DWITH_ORACLE=1" "-DTEST=1"))) (native-inputs - `(("googletest" ,googletest) - ("pkg-config" ,pkg-config))) + (list googletest pkg-config)) (inputs - `(("protobuf" ,protobuf) - ("qtbase" ,qtbase-5) - ("qtmultimedia" ,qtmultimedia) - ("qtsvg" ,qtsvg) - ("qttools" ,qttools) - ("qtwebsockets" ,qtwebsockets) - ("xz" ,xz) - ("zlib" ,zlib))) + (list protobuf + qtbase-5 + qtmultimedia + qtsvg + qttools + qtwebsockets + xz + zlib)) (home-page "https://cockatrice.github.io") (synopsis "Tabletop card game simulator") (description "Cockatrice is a program for playing tabletop card games @@ -1001,7 +1004,7 @@ allows users to brew while offline.") (define-public corsix-th (package (name "corsix-th") - (version "0.65") + (version "0.65.1") (source (origin (method git-fetch) @@ -1010,7 +1013,7 @@ allows users to brew while offline.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0hp7da7b73dpn1h22rw3h8w6aaj9azn18qnp3ap3lrlqhj4fzcb3")))) + (base32 "0hw92ln9jm9v55drmbfqjng58yshgwfpv7fqynryrg3gvg8zhbvh")))) (build-system cmake-build-system) (arguments `(#:phases @@ -1035,14 +1038,14 @@ allows users to brew while offline.") #:tests? #f)) ; TODO need busted package to run tests ;; Omit Lua-Socket dependency to disable automatic updates. (inputs - `(("ffmpeg" ,ffmpeg) - ("fluid-3" ,fluid-3) - ("freetype" ,freetype) - ("lua" ,lua) - ("lua-filesystem" ,lua-filesystem) - ("lua-lpeg" ,lua-lpeg) - ("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer))) + (list ffmpeg + fluid-3 + freetype + lua + lua-filesystem + lua-lpeg + sdl2 + sdl2-mixer)) (home-page "https://corsixth.com") (synopsis "Implementation of the @i{Theme Hospital} game engine") (description @@ -1084,7 +1087,7 @@ more. This package does @emph{not} provide the game assets.") "/bin/cowsay") "We're done!")))))) (inputs - `(("perl" ,perl))) + (list perl)) (home-page (string-append "https://web.archive.org/web/20071026043648/" "http://www.nog.net:80/~tony/warez/cowsay.shtml")) (synopsis "Speaking cow text filter") @@ -1150,7 +1153,7 @@ characters and lines resulting in a rainbow effect.") (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests provided - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs (list pkg-config)) (inputs `(("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer))) @@ -1232,10 +1235,9 @@ should be placed in @file{~/.local/share/falltergeist}.") ;; Set correct environment for SDL. (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl") - "/include/SDL:" - (or (getenv "CPATH") ""))) - #t)) + (string-append + (search-input-directory inputs "include/SDL") + ":" (or (getenv "CPATH") ""))))) (add-before 'build 'fix-settings-directory ;; Hide foobillardplus settings directory in $HOME. (lambda _ @@ -1261,9 +1263,7 @@ should be placed in @file{~/.local/share/falltergeist}.") "foobillardplus")) #t)))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + (list autoconf automake pkg-config)) (inputs `(("font-dejavu" ,font-dejavu) ("freetype" ,freetype) @@ -1328,10 +1328,7 @@ The game features: (string-append "IWAD=" wad-dir "/freedoom2.wad"))) #t)))))) (native-inputs - `(("asciidoc" ,asciidoc) - ("deutex" ,deutex) - ("python" ,python) - ("python-pillow" ,python-pillow))) + (list asciidoc deutex python python-pillow)) (home-page "https://freedoom.github.io/") (synopsis "Free content game based on the Doom engine") (native-search-paths @@ -1366,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") @@ -1375,7 +1373,7 @@ effects and music to make a completely free game.") ;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text #:tests? #f)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("glu" ,glu) ("libjpeg" ,libjpeg-turbo) @@ -1461,7 +1459,7 @@ real-time combat.") '("Help" "Patterns" "Rules" "Scripts"))) #t))))) (native-inputs - `(("lua" ,lua))) + (list lua)) (inputs `(("glu" ,glu) ("mesa" ,mesa) @@ -1490,6 +1488,47 @@ automata. The following features are available: @end enumerate") (license license:gpl2+))) +(define-public joycond + (let ((commit "f9a66914622514c13997c2bf7ec20fa98e9dfc1d") + (revision "1")) + (package + (name "joycond") + (version (git-version "0.1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DanielOgorchock/joycond") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "07z86yp27vxc0b44jgvf1vpa69rh3wdvd1xbzcsrj3f32743pv5a")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no test suite + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-bin-location + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "CMakeLists.txt" + (("/lib/udev/rules.d") + (string-append out "/lib/udev/rules.d")) + (("/etc/systemd/system") + (string-append out "/etc/systemd/system")) + (("/etc/modules-load.d") + (string-append out "/etc/modules-load.d")) + (("/usr/bin") + (string-append out "/bin"))))))))) + (native-inputs (list pkg-config)) + (inputs + (list eudev libevdev)) + (home-page "https://github.com/DanielOgorchock/joycond") + (synopsis "Joy-Con controller daemon") + (description "This package provides a userspace daemon for the Nintendo +Joy-Con controllers.") + (license license:gpl3)))) + (define-public julius (package (name "julius") @@ -1512,9 +1551,7 @@ automata. The following features are available: #t)))) (build-system cmake-build-system) (inputs - `(("libpng" ,libpng) - ("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer))) + (list libpng sdl2 sdl2-mixer)) (home-page "https://github.com/bvschaik/julius") (synopsis "Re-implementation of Caesar III game engine") (description @@ -1580,7 +1617,7 @@ game Caesar III. Gameplay enhancements include: (arguments `(#:tests? #f)) ; there are no tests (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("curl" ,curl) ("libarchive" ,libarchive) @@ -1629,8 +1666,7 @@ shadow mimic them to reach blocks you couldn't reach alone.") ;; Look for xdg-open in the store. (substitute* "src/core/web.c" (("/usr(/bin/xdg-open)" _ bin) - (string-append (assoc-ref inputs "xdg-utils") bin))) - #t)) + (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. @@ -1645,10 +1681,7 @@ shadow mimic them to reach blocks you couldn't reach alone.") '("Roboto-Black.ttf" "Roboto-Bold.ttf" "Roboto-Medium.ttf"))) #t)))))) (inputs - `(("allegro" ,allegro) - ("font-google-roboto" ,font-google-roboto) - ("surgescript" ,surgescript) - ("xdg-utils" ,xdg-utils))) + (list allegro font-google-roboto surgescript xdg-utils)) (home-page "https://opensurge2d.org") (synopsis "2D retro side-scrolling game") (description "@code{Open Surge} is a 2D retro side-scrolling platformer @@ -1694,7 +1727,7 @@ built-in level editor.") ("fontconfig" ,fontconfig) ("curl" ,curl))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "http://www.knightsgame.org.uk/") (synopsis "Multiplayer dungeon game involving knights and quests") (description "Knights is a multiplayer game involving several knights who @@ -1724,7 +1757,7 @@ destroying an ancient book using a special wand.") "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2")))) (build-system meson-build-system) (arguments - '(#:glib-or-gtk? #t + `(#:glib-or-gtk? #t #:phases (modify-phases %standard-phases (add-after 'unpack 'skip-gtk-update-icon-cache @@ -1734,11 +1767,7 @@ destroying an ancient book using a special wand.") (("gtk-update-icon-cache") "true")) #t))))) (inputs - `(("gtk+" ,gtk+) - ("clutter" ,clutter) - ("clutter-gtk" ,clutter-gtk) - ("libgee" ,libgee) - ("libgnome-games-support" ,libgnome-games-support))) + (list gtk+ clutter clutter-gtk libgee libgnome-games-support)) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util @@ -1778,8 +1807,7 @@ in one tile.") (("gtk-update-icon-cache") "true")) #t))))) (inputs - `(("gtk+" ,gtk+) - ("librsvg" ,librsvg))) + (list gtk+ librsvg)) (native-inputs `(("gettext" ,gettext-minimal) ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util @@ -1807,18 +1835,17 @@ such as chess or stockfish.") (base32 "11xwhcli1h12k6rnhhyq4jphzrhfik7i8ah3k32pqw803460n6yf")))) (build-system gnu-build-system) - (inputs `(;; XXX: Build with an older Pango for 'pango_font_get_hb_font' and - ;; 'pango_coverage_get_type'. Try removing this for versions > 1.06.002. - ("pango" ,pango-1.42) - - ("glib" ,glib) - ("readline" ,readline) - ("gtk+" ,gtk+-2) - ("mesa" ,mesa) - ("glu" ,glu) - ("gtkglext" ,gtkglext) - ("sqlite" ,sqlite) - ("libcanberra" ,libcanberra))) + (inputs (list ;; XXX: Build with an older Pango for 'pango_font_get_hb_font' and + ;; 'pango_coverage_get_type'. Try removing this for versions > 1.06.002. + pango-1.42 + glib + readline + gtk+-2 + mesa + glu + gtkglext + sqlite + libcanberra)) (native-inputs `(("python-2" ,python-2) ("pkg-config" ,pkg-config))) (arguments @@ -1880,12 +1907,12 @@ also features an attractive, 3D representation of the playing board.") (("gtk-update-icon-cache") "true")) #t))))) - (inputs `(("gtk+" ,gtk+-2) - ("mesa" ,mesa) - ("glu" ,glu) - ("libx11" ,libx11) - ("guile" ,guile-2.0) - ("gtkglext" ,gtkglext))) + (inputs (list gtk+-2 + mesa + glu + libx11 + guile-2.0 + gtkglext)) (native-inputs `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (home-page "https://www.gnu.org/software/gnubik/") @@ -1936,12 +1963,11 @@ Chess). It is similar to standard chess but this variant is far more complicate (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL:" - (or (getenv "CPATH") ""))) - #t))))) + (string-append + (search-input-directory inputs "include/SDL") + ":" (or (getenv "CPATH") "")))))))) (inputs - `(("sdl-union" ,(sdl-union (list sdl sdl-mixer))))) + (list (sdl-union (list sdl sdl-mixer)))) (home-page "http://lgames.sourceforge.net/LTris/") (synopsis "Tetris clone based on the SDL library") (description @@ -1970,11 +1996,9 @@ watch your CPU playing while enjoying a cup of tea!") (sha256 (base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng")))) (native-inputs - `(("bison" ,bison) - ("flex" ,flex))) + (list bison flex)) (inputs - `(("ncurses" ,ncurses) - ("less" ,less))) + (list ncurses less)) (build-system gnu-build-system) (arguments '(#:make-flags @@ -2110,9 +2134,7 @@ role, and your gender.") (string-append assignment "$(docdir)\n"))) #t))))) (inputs - `(("libpng" ,libpng) - ("mesa" ,mesa) - ("sdl" ,sdl))) + (list libpng mesa sdl)) (home-page "http://pipewalker.sourceforge.net/") (synopsis "Logical tile puzzle") (description @@ -2150,19 +2172,18 @@ Every puzzle has a complete solution, although there may be more than one.") (add-after 'set-paths 'set-sdl'paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL:" - (or (getenv "CPATH") ""))) - #t))))) + (string-append + (search-input-directory inputs "/include/SDL") + ":" (or (getenv "CPATH") "")))))))) (inputs - `(("fluidsynth" ,fluidsynth) - ("glu" ,glu) - ("libmad" ,libmad) - ("libpng" ,libpng) - ("libvorbis" ,libvorbis) - ("pcre" ,pcre) - ("portmidi" ,portmidi) - ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-net))))) + (list fluidsynth + glu + libmad + libpng + libvorbis + pcre + portmidi + (sdl-union (list sdl sdl-image sdl-mixer sdl-net)))) (home-page "http://prboom-plus.sourceforge.net/") (synopsis "Version of the classic 3D shoot'em'up game Doom") (description @@ -2210,11 +2231,9 @@ Every puzzle has a complete solution, although there may be more than one.") (copy-recursively "data" data) #t)))))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs - `(("python-sge-pygame" ,python-sge-pygame) - ("python-six" ,python-six) - ("python-xsge" ,python-xsge))) + (list python-sge python-six python-xsge)) (home-page "https://retux-game.github.io/") (synopsis "Action platformer game") (description @@ -2314,20 +2333,19 @@ utilizing the art assets from the @code{SuperTux} project.") (lambda (p) (format p "\ #!~a -export PYTHONPATH=~a/LIB:~a +export GUIX_PYTHONPATH=~a/LIB:~a exec -a \"~a\" ~a \"$@\"\n" - (which "bash") data (getenv "PYTHONPATH") + (which "bash") data (getenv "GUIX_PYTHONPATH") (which "python3") (string-append lib "/main.py")))) (chmod roguebox-adventures #o555)) #t))))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs - `(("python-pygame" ,python-pygame) - ("python-tmx" ,python-tmx))) + (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 @@ -2390,9 +2408,9 @@ can be explored and changed freely.") (lambda (p) (format p "#!~a~@ - export PYTHONPATH=~a:~a~@ + export GUIX_PYTHONPATH=~a:~a~@ exec -a \"~a\" ~a \"$@\"~%" - (which "bash") data (getenv "PYTHONPATH") + (which "bash") data (getenv "GUIX_PYTHONPATH") (which "python3") (string-append data "/run_game.py")))) (chmod executable #o555)) @@ -2423,8 +2441,8 @@ can be explored and changed freely.") (lambda* (#:key outputs inputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (data (string-append out "/share/seahorse-adventures")) - (vera (string-append (assoc-ref inputs "font-bitstream-vera") - "/share/fonts/truetype/Vera.ttf"))) + (vera (search-input-file + inputs "/share/fonts/truetype/Vera.ttf"))) (let ((themes-dir (string-append data "/data/themes/"))) (for-each (lambda (theme) @@ -2437,8 +2455,7 @@ can be explored and changed freely.") (("f_scale = 0.35") "f_scale = 0.47"))) #t))))) (inputs - `(("font-bitstream-vera" ,font-bitstream-vera) - ("python-pygame" ,python-pygame))) + (list font-bitstream-vera python-pygame)) (home-page "http://www.imitationpickles.org/barbie/") (synopsis "Help Barbie the seahorse float on bubbles to the moon") (description @@ -2488,8 +2505,7 @@ and defeat them with your bubbles!") (setenv "XDG_RUNTIME_DIR" (getcwd)) #t))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("qttools" ,qttools))) + (list pkg-config qttools)) (inputs `(("glm" ,glm) ("libmodplug" ,libmodplug) @@ -2528,8 +2544,8 @@ in mind.") (arguments `(#:tests? #false)) ; no test suite (inputs - `(("solarus" ,solarus) - ,@(package-inputs solarus))) + (modify-inputs (package-inputs solarus) + (prepend solarus))) (synopsis "Create and modify quests for the Solarus engine") (description "Solarus Quest Editor is a graphical user interface to create and @@ -2538,16 +2554,18 @@ modify quests for the Solarus engine."))) (define-public superstarfighter (package (name "superstarfighter") - (version "0.6.4") + (version "0.6.5") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/notapixelstudio/superstarfighter") - (commit (string-append "v" version)))) + ;; The commit is not tagged upstream: + ;; https://github.com/notapixelstudio/superstarfighter/commit/350605bf5454c26ebe2c57d8217edd03689c0573 + (commit "32521f467616bb390e3929d07e1936ff43fe64da"))) (file-name (git-file-name name version)) (sha256 - (base32 "1fly63yf5ls1xwm15if4lxwy67wi84k4gvjllljpykrl18vw2y0y")))) + (base32 "1ckghzrfgvk9z1n5f4ivnamm6s8h9sbv0a3aq9pp4a3yrhkgld0k")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;there are no tests @@ -2603,7 +2621,7 @@ runnable=true (native-inputs `(("godot-headless" ,godot "headless"))) (inputs - `(("godot" ,godot))) + (list godot)) (home-page "https://notapixel.itch.io/superstarfighter") (synopsis "Fast-paced local multiplayer arcade game") (description "In SuperStarfighter, up to four local players compete in a @@ -2787,7 +2805,7 @@ equipped with spoken co-driver notes and co-driver icons.") (string-append out "/share/man/man6")) #t)))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("libjpeg" ,libjpeg-turbo) ("libpng" ,libpng) @@ -2958,8 +2976,7 @@ properly.") "1dns0nhymak44by18sv48m4xb2skiwbi2i3nb9hl6w9iwd2i2brf")))) (build-system gnu-build-system) (inputs - `(("libxaw" ,libxaw) - ("libxt" ,libxt))) + (list libxaw libxt)) (home-page "https://www.gnu.org/software/gnushogi/") (synopsis "User interface for gnushogi") (description "A graphical user interface for the package @code{gnushogi}.") @@ -2993,9 +3010,9 @@ properly.") (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL:" - (or (getenv "CPATH") ""))))) + (string-append + (search-input-directory inputs "include/SDL2") + ":" (or (getenv "CPATH") ""))))) (add-after 'patch-source-shebangs 'patch-makefile (lambda* (#:key outputs #:allow-other-keys) ;; Replace /usr with package output directory. @@ -3011,8 +3028,8 @@ properly.") ;; No configure script. (delete 'configure)) #:tests? #f)) ;; No check target. - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer))))) + (native-inputs (list pkg-config)) + (inputs (list (sdl-union (list sdl2 sdl2-image sdl2-mixer)))) (home-page "https://github.com/nevat/abbayedesmorts-gpl") (synopsis "GNU/Linux port of the indie game \"l'Abbaye des Morts\"") (description "L'Abbaye des Morts is a 2D platform game set in 13th century @@ -3025,15 +3042,16 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.2.1") + (version "4.2.3") (source (origin - (method url-fetch) - (uri (string-append "https://rephial.org/downloads/" - (version-major+minor version) - "/angband-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/angband/angband") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "03qdavkj2ik02mqjxmlm5bn17ba3yxb1rirp8ghnxy3bsk4kbmxc")) + (base32 "1psrdbf90mb6dhq0b9z18pz1csnshz1kvwg82dvwa99apqdw0la8")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -3054,18 +3072,10 @@ that beneath its ruins lay buried an ancient evil.") (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target - #:configure-flags (list (string-append "--bindir=" %output "/bin")) - #:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (substitute* "acinclude.m4" - (("ncursesw5-config") "ncursesw6-config")) - (invoke "sh" "autogen.sh")))))) + #:configure-flags (list (string-append "--bindir=" %output "/bin")))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) - (inputs `(("ncurses" ,ncurses))) + (list autoconf automake)) + (inputs (list ncurses)) (home-page "https://rephial.org/") (synopsis "Dungeon exploration roguelike") (description "Angband is a Classic dungeon exploration roguelike. Explore @@ -3099,15 +3109,14 @@ fight Morgoth, the Lord of Darkness.") "#include <iostream>\n#include <functional>")) #t)))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config) - ("scons-python2" ,scons-python2))) - (inputs `(("sdl" ,sdl) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer) - ("mesa" ,mesa) - ("glu" ,glu) - ("libpng" ,libpng) - ("boost" ,boost))) + (native-inputs (list pkg-config scons-python2)) + (inputs (list sdl + sdl-image + sdl-mixer + mesa + glu + libpng + boost)) (arguments '(#:make-flags (list (string-append "PREFIX=" %output)) #:tests? #f ; no check target @@ -3166,24 +3175,21 @@ a C library, so they can easily be integrated into other programs.") "-Dr_gles30=true" "-Dshader_transpiler=true"))) (native-inputs - `(("pkg-config" ,pkg-config) - ("python" ,python) - ("python-docutils" ,python-docutils) - ("python-pygments" ,python-pygments))) - (inputs - `(("cglm" ,cglm) - ("freetype" ,freetype) - ("libpng" ,libpng) - ("libwebp" ,libwebp) - ("libzip" ,libzip) - ("mesa" ,mesa) - ("openssl" ,openssl) - ("opusfile" ,opusfile) - ("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer) - ("shaderc" ,shaderc) - ("spirv-cross" ,spirv-cross) - ("zlib" ,zlib))) + (list pkg-config python python-docutils python-pygments)) + (inputs + (list cglm + freetype + libpng + libwebp + libzip + mesa + openssl + opusfile + sdl2 + sdl2-mixer + shaderc + spirv-cross + zlib)) (home-page "https://taisei-project.org/") (synopsis "Shoot'em up fangame and libre clone of Touhou Project") (description @@ -3215,8 +3221,7 @@ is very small), and shoot at the adversaries that keep appear on the screen.") "1h9jz4m4s5l8c3figaq46ja0km1gimrkfxm4dg7mf4s84icmasbm")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake))) + (list autoconf automake)) (arguments '(#:phases (modify-phases %standard-phases @@ -3228,7 +3233,7 @@ is very small), and shoot at the adversaries that keep appear on the screen.") (setenv "CONFIG_SHELL" (which "bash")) (invoke "./configure" (string-append "--prefix=" out)))))))) - (inputs `(("ncurses" ,ncurses))) + (inputs (list ncurses)) (home-page "http://www.asty.org/cmatrix") (synopsis "Simulate the display from \"The Matrix\"") (description "CMatrix simulates the display from \"The Matrix\" and is @@ -3368,10 +3373,9 @@ To that extent, it also includes a front-end for managing all of your D-Mods.") "1yp8n3w426xnlp10xk06vfi2y3k9xrcfyck7s7qs1v0ys7n284d5")))) (build-system gnu-build-system) (native-inputs - `(("intltool" ,intltool))) + (list intltool)) (inputs - `(("bzip2" ,bzip2) - ("wxwidgets" ,wxwidgets))) + (list bzip2 wxwidgets)) (properties '((ftp-directory . "/freedink") (upstream-name . "dfarc"))) (home-page "https://www.gnu.org/software/freedink/") @@ -3422,14 +3426,16 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" "1mkh36xnnacnz9r00b5f9ld9309k32jv6mcavklbdnca8bl56bib")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases ;; Fixes https://issues.guix.gnu.org/47195. (add-after 'unpack 'patch-aplay-path (lambda* (#:key inputs #:allow-other-keys) (substitute* "xboard.conf" (("aplay -q") - (string-append (assoc-ref inputs "alsa-utils") "/bin/aplay -q"))))) + (string-append (search-input-file inputs "/bin/aplay") + " -q"))))) ;; Fixes https://issues.guix.gnu.org/45236. (add-after 'unpack 'patch-default-engine (lambda* (#:key inputs #:allow-other-keys) @@ -3439,13 +3445,9 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" (assoc-ref inputs "chess") "/bin/gnuchessx")))))))) (inputs - `(("alsa-utils" ,alsa-utils) - ("chess" ,chess) - ("gtk+" ,gtk+-2) - ("librsvg" ,librsvg))) + (list alsa-utils chess gtk+-2 librsvg)) (native-inputs - `(("texinfo" ,texinfo) - ("pkg-config" ,pkg-config))) + (list texinfo pkg-config)) (home-page "https://www.gnu.org/software/xboard/") (synopsis "Graphical user interface for chess programs") (description "GNU XBoard is a graphical board for all varieties of chess, @@ -3479,8 +3481,7 @@ Portable Game Notation.") (find-files "." "configure$|\\.c$")) #t)))) (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) - ("perl" ,perl))) + (inputs (list ncurses perl)) (home-page "https://www.gnu.org/software/gtypist/") (synopsis "Typing tutor") (description @@ -3529,6 +3530,10 @@ are primarily in English, however some in other languages are provided.") ;; The actual source is buried a few directories deep. (chdir "source/Irrlicht/") #t)) + (add-after 'chdir-to-source 'remove-<sys/sysctl.h> + (lambda _ + (substitute* "COSOperator.cpp" + (("#include <sys/sysctl.h>") "")))) (add-after 'chdir-to-source 'fix-build-env (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -3556,7 +3561,7 @@ are primarily in English, however some in other languages are provided.") C++. Features include an OpenGL renderer, extensible materials, scene graph management, character animation, particle and other special effects, support for common mesh file formats, and collision detection.") - (home-page "http://irrlicht.sourceforge.net/") + (home-page "https://irrlicht.sourceforge.io/") (license license:zlib))) (define-public mars @@ -3599,10 +3604,7 @@ for common mesh file formats, and collision detection.") "/share/games/marsshooter/\";"))) #t))))) (inputs - `(("mesa" ,mesa) - ("fribidi" ,fribidi) - ("taglib" ,taglib) - ("sfml" ,sfml))) + (list mesa fribidi taglib sfml)) (home-page "http://mars-game.sourceforge.net/") (synopsis "2D space shooter") (description @@ -3705,9 +3707,7 @@ reference interpreter, using the Glk API.") "0wxs9vz5x9y8chghd8vp7vfk089lfb0qnzggi17zrqkrngs5zgi9")))) (build-system cmake-build-system) (inputs - `(("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("mesa" ,mesa))) + (list sdl2 sdl2-image mesa)) (arguments '(#:tests? #f)) ; No included tests (home-page "https://fifengine.github.io/fifechan/") @@ -3727,85 +3727,64 @@ 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. - #:modules ((srfi srfi-1) - (guix build cmake-build-system) - (guix build utils)) - #: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) - (define python-version - (let* ((version (last (string-split - (assoc-ref inputs "python") - #\-))) - (components (string-split version #\.)) - (major+minor (take components 2))) - (string-join major+minor "."))) - - (when tests? - ;; Set PYTHONPATH so that python finds the installed modules. - (setenv "PYTHONPATH" - (string-append (getenv "PYTHONPATH") ":" - (assoc-ref outputs "out") - "/lib/python" - python-version - "/site-packages")) - ;; 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")) - #t))))) - (inputs - `(("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-ttf" ,sdl2-ttf) - ("tinyxml" ,tinyxml) - ("openal" ,openal) - ("libogg" ,libogg) - ("glew" ,glew) - ("libvorbis" ,libvorbis) - ("boost" ,boost) - ("fifechan" ,fifechan) - ("swig" ,swig) - ("python" ,python))) - (native-inputs - `(("python" ,python) - ("swig" ,swig) - ("xvfb" ,xorg-server))) + (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 + sdl2-ttf + tinyxml + openal + libogg + glew + libvorbis + boost + fifechan + swig + python)) (propagated-inputs - `(("python-future" ,python-future))) + (list python-future)) (home-page "https://www.fifengine.net/") (synopsis "FIFE is a multi-platform isometric game engine written in C++") (description @@ -3832,7 +3811,7 @@ games using Python as well as C++.") (ncurses (assoc-ref %build-inputs "ncurses"))) (list (string-append "--with-jpeg-includedir=" libjpeg "/include"))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("freetype" ,freetype) ("libjpeg" ,libjpeg-turbo) @@ -3861,7 +3840,10 @@ either by Infocom or created using the Inform compiler.") (base32 "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s")))) (build-system gnu-build-system) - (inputs `(("readline" ,readline))) + (inputs + (list readline)) + (arguments + `(#:configure-flags '("CFLAGS=-fcommon"))) (synopsis "Play the game of Go") (description "GNU Go is a program that plays the game of Go, in which players @@ -3888,10 +3870,9 @@ Protocol).") "0hc3qd9hv3h9qm53yxgc7iy1v1wyajwxyvil4vqvzf9ascz9dnlj")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("glu" ,glu) - ("sfml" ,sfml))) + (list glu sfml)) (synopsis "High-speed arctic racing game based on Tux Racer") ;; Snarfed straight from Debian. (description "Extreme Tux Racer, or etracer as it is called for short, is @@ -3909,15 +3890,16 @@ This game is based on the GPL version of the famous game TuxRacer.") (define-public supertuxkart (package (name "supertuxkart") - (version "1.2") + (version "1.3") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/supertuxkart/SuperTuxKart/" + (uri (string-append "https://github.com/supertuxkart/stk-code/" + "releases/download/" version "/SuperTuxKart-" version "-src.tar.xz")) (sha256 (base32 - "0dvx56hmy6wdhl7m9dw8zc1n3jqfp05gnxl6zs1rbfdyzl5dybh5")) + "1z9z13zarv28h4jrmjna5hr6m9266pm7c2kgiwhqls01k06ypazf")) (modules '((guix build utils))) (snippet ;; Delete bundled library sources @@ -3927,17 +3909,18 @@ This game is based on the GPL version of the famous game TuxRacer.") ;; here: http://forum.freegamedev.net/viewtopic.php?f=17&t=3906 ;; FIXME: try to unbundle angelscript, libmcpp and libraqm (for-each delete-file-recursively - '("lib/glew" - "lib/wiiuse" - "lib/enet")) + '("lib/dnsc" + "lib/enet" + "lib/mojoal" + "lib/wiiuse")) #t)))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no check target #:configure-flags (list "-DUSE_WIIUSE=0" - "-DUSE_SYSTEM_GLEW=TRUE" "-DUSE_SYSTEM_ENET=TRUE" + "-DUSE_CRYPTO_OPENSSL=TRUE" ;; In order to use the system ENet library, IPv6 support (added in ;; SuperTuxKart version 1.1) must be disabled. "-DUSE_IPV6=FALSE" @@ -3955,6 +3938,7 @@ This game is based on the GPL version of the famous game TuxRacer.") ("mesa" ,mesa) ("openal" ,openal) ("sdl2" ,sdl2) + ("sqlite" ,sqlite) ("zlib" ,zlib) ;; The following input is needed to build the bundled and modified ;; version of irrlicht. @@ -3962,7 +3946,7 @@ This game is based on the GPL version of the famous game TuxRacer.") ("libjpeg" ,libjpeg-turbo) ("openssl" ,openssl))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "https://supertuxkart.net/Main_Page") (synopsis "3D kart racing game") (description "SuperTuxKart is a 3D kart racing game, with a focus on @@ -4031,14 +4015,13 @@ also available.") ("python-pillow" ,python-pillow) ("python-pyyaml" ,python-pyyaml))) (native-inputs - `(("intltool" ,intltool) - ("python-distro" ,python-distro) - - ;; Required for tests - ("python-greenlet" ,python-greenlet) - ("python-polib" ,python-polib) - ("python-pytest" ,python-pytest) - ("python-pytest-mock" ,python-pytest-mock))) + (list intltool + python-distro + ;; Required for tests + python-greenlet + python-polib + python-pytest + python-pytest-mock)) (home-page "https://unknown-horizons.org/") (synopsis "Isometric realtime strategy, economy and city building simulation") (description @@ -4090,11 +4073,7 @@ trade and diplomacy.") Categories=Game;ArcadeGame~%" out))))))))) (inputs - `(("glu" ,glu) - ("mesa" ,mesa) - ("sdl" ,sdl) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer))) + (list glu mesa sdl sdl-image sdl-mixer)) (home-page "http://gnujump.es.gnu.org/") (synopsis "Game of jumping to the next floor, trying not to fall") @@ -4108,7 +4087,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.17") + (version "1.16.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -4117,7 +4096,7 @@ falling, themeable graphics and sounds, and replays.") "wesnoth-" version ".tar.bz2")) (sha256 (base32 - "1qc4ylhc4ab51milclzhflpmzw6bg35knwqaj3b157700jkcniin")))) + "0cyrwmdg93pqpdm7030540jznaky9rda355i9ym8am4k9civlcwf")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ;no check target @@ -4125,13 +4104,13 @@ falling, themeable graphics and sounds, and replays.") `(("gettext" ,gettext-minimal) ("pkg-config" ,pkg-config))) (inputs - `(("boost" ,boost) - ("dbus" ,dbus) - ("fribidi" ,fribidi) - ("libvorbis" ,libvorbis) - ("openssl" ,openssl) - ("pango" ,pango) - ("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))) + (list boost + dbus + fribidi + libvorbis + openssl + pango + (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))) (home-page "https://www.wesnoth.org/") (synopsis "Turn-based strategy game") (description @@ -4150,10 +4129,7 @@ next campaign.") (inherit wesnoth) (name "wesnoth-server") (inputs - `(("boost" ,boost) - ("icu4c" ,icu4c) - ("openssl" ,openssl) - ("sdl2" ,sdl2))) + (list boost icu4c openssl sdl2)) (arguments `(#:configure-flags '("-DENABLE_GAME=OFF") ,@(package-arguments wesnoth))) @@ -4174,13 +4150,12 @@ Battle for Wesnoth}."))) "1sc6f4445ciigd6yw0ri92746k4hk6ps0bvj9fm1gbp3c3fslk5n")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + (list pkg-config intltool)) (inputs - `(("gstreamer" ,gstreamer) - ("gst-plugins-base" ,gst-plugins-base) ; playbin plugin - ("gst-plugins-good" ,gst-plugins-good) ; for wav playback - ("gtk+" ,gtk+))) + (list gstreamer + gst-plugins-base ; playbin plugin + gst-plugins-good ; for wav playback + gtk+)) (arguments `(#:tests? #f #:make-flags @@ -4226,13 +4201,10 @@ on the screen and keyboard to display letters.") (assoc-ref %build-inputs "sdl-union") "/include/SDL")))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("glu" ,glu) - ("curl" ,curl) - ("libxml2" ,libxml2) - ("mesa" ,mesa) - ("sdl-union" ,(sdl-union)))) + (list glu curl libxml2 mesa + (sdl-union))) (home-page "https://manaplus.org") (synopsis "Client for 'The Mana World' and similar games") (description @@ -4248,14 +4220,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "1.11.2") + (version "12.0") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0v9f93lsdcv3ia28y8iihx9nj9zp6fpf5hkdrpl4ypw159d97fhg")))) + "1p1j5cf4ry57dcgm7qx2g2s00z1c6qgjabb4kqjp00yz00wgv85v")))) (build-system cmake-build-system) (inputs `(("allegro" ,allegro) @@ -4285,7 +4257,7 @@ engine. When you start it you will be prompted to download a graphics set.") (define openttd-opengfx (package (name "openttd-opengfx") - (version "0.6.1") + (version "7.1") (source (origin (method url-fetch) @@ -4293,10 +4265,10 @@ engine. When you start it you will be prompted to download a graphics set.") version "/opengfx-" version "-source.tar.xz")) (sha256 (base32 - "0jgy8xv7r72m127qn09vr3rxhnbakl2990f7lldsk0d5d8n993vd")))) + "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "CC=gcc" + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "INSTALL_DIR=" (assoc-ref %outputs "out") "/share/games/openttd/baseset/opengfx")) @@ -4324,7 +4296,7 @@ engine. When you start it you will be prompted to download a graphics set.") ("grfcodec" ,grfcodec) ("nml" ,nml) ("which" ,which) - ("python" ,python-2))) + ("python" ,python))) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") (description @@ -4344,7 +4316,7 @@ OpenGFX provides you with... (define openttd-opensfx (package (name "openttd-opensfx") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) @@ -4353,17 +4325,17 @@ OpenGFX provides you with... version "/opensfx-" version "-source.tar.xz")) (sha256 (base32 - "06vycppqcxbfdqlxzna5xr303zgcmpcvj6ylw5b2ws0ssph2f1s0")))) + "0aym026lg0r7dp3jxxs9c0rj8lwy1fz3v9hmk3mml6sycsg3fv42")))) (build-system gnu-build-system) (native-inputs `(("catcodec" ,catcodec) - ("python" ,python-2) + ("python" ,python) ("tar" ,tar))) (arguments `(#:make-flags (list (string-append "DIR_NAME=opensfx") - (string-append "TAR=" (assoc-ref %build-inputs "tar") - "/bin/tar")) + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) ;; The check phase only verifies md5sums, see openttd-opengfx. #:tests? #f #:phases @@ -4394,7 +4366,7 @@ the original Transport Tycoon Deluxe.") (define openttd-openmsx (package (name "openttd-openmsx") - (version "0.4.0") + (version "0.4.2") (source (origin (method url-fetch) @@ -4403,17 +4375,19 @@ the original Transport Tycoon Deluxe.") version "/openmsx-" version "-source.tar.xz")) (sha256 (base32 - "0prjljsdgdxqdhhcriqskqha004ybs575xcjq80zha3pqnmrdk0k")))) + "0h583d8fxy78kc3jvpp78r76a48qhxrhm4q7jbnj74aw0kwrcl8g")))) (build-system gnu-build-system) (native-inputs `(("grfcodec" ,grfcodec) - ("python" ,python-2) + ; Scripts are Python3 compatible, but call the interpreter as + ; python instead of python3. + ("python" ,python-wrapper) ("tar" ,tar))) (arguments `(#:make-flags (list (string-append "DIR_NAME=openmsx") - (string-append "TAR=" (assoc-ref %build-inputs "tar") - "/bin/tar")) + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) ;; The check phase only verifies md5sums, see openttd-opengfx. #:tests? #f #:phases @@ -4450,8 +4424,8 @@ Transport Tycoon Deluxe.") (assoc-ref outputs "out"))) (list "opengfx" "openmsx" "opensfx"))))))) (inputs - `(("timidity++" ,timidity++) - ,@(package-inputs openttd-engine))) + (modify-inputs (package-inputs openttd-engine) + (prepend timidity++))) (native-inputs `(("opengfx" ,openttd-opengfx) ("openmsx" ,openttd-openmsx) @@ -4485,7 +4459,7 @@ Transport Tycoon Deluxe.") (openrct2-title-sequences (string-append out "/share/openrct2/title-sequences")) (source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (unzip (search-input-file %build-inputs "/bin/unzip"))) (copy-file source (string-append ,name "-" ,version ".zip")) (invoke unzip (string-append ,name "-" ,version ".zip")) (delete-file (string-append ,name "-" ,version ".zip")) @@ -4525,7 +4499,7 @@ Transport Tycoon Deluxe.") (openrct2-objects (string-append out "/share/openrct2/objects")) (source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (unzip (search-input-file %build-inputs "/bin/unzip"))) (copy-file source (string-append ,name "-" ,version ".zip")) (invoke unzip (string-append ,name "-" ,version ".zip")) (delete-file (string-append ,name "-" ,version ".zip")) @@ -4585,10 +4559,10 @@ Transport Tycoon Deluxe.") ("freetype" ,freetype) ("icu4c" ,icu4c) ("jansson" ,jansson) + ("json-modern-cxx" ,json-modern-cxx) ("libpng" ,libpng) ("libzip" ,libzip) ("mesa" ,mesa) - ("nlohmann-json-cpp" ,nlohmann-json-cpp) ("openrct2-objects" ,openrct2-objects) ("openrct2-title-sequences" ,openrct2-title-sequences) ("openssl" ,openssl) @@ -4596,7 +4570,7 @@ Transport Tycoon Deluxe.") ("speexdsp" ,speexdsp) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "https://github.com/OpenRCT2/OpenRCT2") (synopsis "Free software re-implementation of RollerCoaster Tycoon 2") (description "OpenRCT2 is a free software re-implementation of @@ -4625,17 +4599,14 @@ images, etc.)") (patches (search-patches "pinball-system-ltdl.patch")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) - ("libtool" ,libtool))) + (list autoconf automake pkg-config libtool)) (inputs - `(("glu" ,glu) - ("libltdl" ,libltdl) - ("mesa" ,mesa) - ("sdl" ,sdl) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer))) + (list glu + libltdl + mesa + sdl + sdl-image + sdl-mixer)) (arguments '(#:configure-flags ;; Configure tries to use pkg-config, but falls short, so: @@ -4682,14 +4653,8 @@ are only two levels to play with, but they are very addictive.") (("\"beep\"") (string-append "\"" (assoc-ref inputs "beep") "/bin/beep\""))) #t))))) - (inputs `(("avahi" ,avahi) - ("beep" ,beep) - ("gtk+" ,gtk+) - ("librsvg" ,librsvg))) - (native-inputs `(("intltool" ,intltool) - ("itstool" ,itstool) - ("libxml2" ,libxml2) - ("pkg-config" ,pkg-config))) + (inputs (list avahi beep gtk+ librsvg)) + (native-inputs (list intltool itstool libxml2 pkg-config)) (synopsis "Board game inspired by The Settlers of Catan") (description "Pioneers is an emulation of the board game The Settlers of Catan. It can be played on a local network, on the internet, and with AI @@ -4715,7 +4680,7 @@ players.") ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-ttf))) ("zlib" ,zlib))) (native-inputs - `(("font-dejavu" ,font-dejavu))) + (list font-dejavu)) (arguments `(#:tests? #f ; no check target #:phases @@ -4723,8 +4688,8 @@ players.") (replace 'configure (lambda* (#:key outputs inputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) - (dejavu (string-append (assoc-ref inputs "font-dejavu") - "/share/fonts/truetype/DejaVuSans.ttf"))) + (dejavu (search-input-file + inputs "/share/fonts/truetype/DejaVuSans.ttf"))) (substitute* "Makefile" (("PREFIX=/usr/local") (string-append "PREFIX=" out))) ;; The patch above registers a free font for use by the binary, @@ -4748,7 +4713,7 @@ is attributed to Albert Einstein.") (define-public powwow (package (name "powwow") - (version "1.2.22") + (version "1.2.23") (source (origin (method url-fetch) (uri (string-append @@ -4756,9 +4721,9 @@ is attributed to Albert Einstein.") version ".tar.gz")) (sha256 (base32 - "12i11b8zxg8vdb9d6ims8qy2lmwwr42rcqbwq3vsa1x94s51bcbp")))) + "1wkl6j91pp40aps2hhnsv0bndgq49smfffws4hqcn7847bpnwwm6")))) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (build-system gnu-build-system) (home-page "https://www.hoopajoo.net/projects/powwow.html") (synopsis "MUD and telnet client") @@ -4816,10 +4781,9 @@ http://lavachat.symlynx.com/unix/") (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL2:" - (or (getenv "CPATH") ""))) - #t)) + (string-append + (search-input-directory inputs "/include/SDL2") + ":" (or (getenv "CPATH") ""))))) (add-after 'install 'copy-data (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -4864,14 +4828,10 @@ exec -a \"$0\" ~a/.redeclipse_server_linux-real~%" (chmod "redeclipse_server_linux" #o555))) #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("curl" ,curl) - ("freetype" ,freetype) - ("glu" ,glu) - ("sdl-union" ,(sdl-union (list sdl2 - sdl2-image - sdl2-mixer))))) + (list curl freetype glu + (sdl-union (list sdl2 sdl2-image sdl2-mixer)))) (home-page "https://redeclipse.net/") (synopsis "Arena shooter derived from the Cube 2 engine") (description @@ -4972,15 +4932,10 @@ capture it and get out alive?") #t)))) (build-system gnu-build-system) (native-inputs - `(("imagemagick" ,imagemagick) - ("pkg-config" ,pkg-config) - ("util-linux" ,util-linux) - ("sox" ,sox))) + (list imagemagick pkg-config util-linux sox)) (inputs - `(("boost" ,boost) - ("libconfig" ,libconfig) - ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer))) - ("zlib" ,zlib))) + (list boost libconfig + (sdl-union (list sdl sdl-image sdl-mixer)) zlib)) (home-page "https://gitlab.com/lierolibre/lierolibre") (synopsis "Old-school earthworm action game") (description @@ -5057,7 +5012,7 @@ fullscreen, use F5 or Alt+Enter.") (lambda _ (invoke "./configure" "--prefix" (assoc-ref %outputs "out"))))))) (native-inputs - `(("which" ,which))) + (list which)) (inputs `(("python" ,python-wrapper) ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf sdl-net))))) @@ -5180,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 @@ -5271,13 +5227,9 @@ of war. Widelands also offers an Artificial Intelligence to challenge you.") "0ips79j3sdy8wa64jqka0skbbqkzqiln9bbiiilh4z717q7vz9r5")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("pango" ,pango) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-mixer" ,sdl2-mixer) - ("sdl2-ttf" ,sdl2-ttf))) + (list pango sdl2 sdl2-image sdl2-mixer sdl2-ttf)) (home-page "https://pr-starfighter.github.io/") (synopsis "2D scrolling shooter game") (description @@ -5306,11 +5258,9 @@ in strikes against the evil corporation.") (base32 "0jk2w5b6s6nkzri585bbz16cif2fhqcnl5l1mq3rd98r9nil3hd1")))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) - (inputs `(("gettext" ,gettext-minimal) - ("glu" ,glu) - ("quesoglc" ,quesoglc) - ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer))))) + (native-inputs (list pkg-config)) + (inputs (list gettext-minimal glu quesoglc + (sdl-union (list sdl sdl-image sdl-mixer)))) (home-page "http://chromium-bsu.sourceforge.net/") (synopsis "Fast-paced, arcade-style, top-scrolling space shooter") (description @@ -5348,8 +5298,7 @@ safety of the Chromium vessel.") (patches (search-patches "tuxpaint-stamps-path.patch")))) (build-system gnu-build-system) (native-inputs - `(("gperf" ,gperf) - ("pkg-config" ,pkg-config))) + (list gperf pkg-config)) (inputs `(("cairo" ,cairo) ("fribidi" ,fribidi) @@ -5420,8 +5369,7 @@ your child be creative.") "1skr23k27yj3vgwfazpzxp90lb2a278gxrkr3bxw7az6zpkmb3yp")))) (build-system trivial-build-system) (native-inputs - `(("tar" ,tar) - ("gzip" ,gzip))) + (list tar gzip)) (arguments `(#:modules ((guix build utils)) #:builder (begin @@ -5459,12 +5407,12 @@ with the \"Stamp\" tool within Tux Paint.") (native-inputs `(("gettext" ,gettext-minimal))) (inputs - `(("fltk" ,fltk) - ("libpaper" ,libpaper) - ;; TODO: Should the following be propagated by fltk? - ("libx11" ,libx11) - ("libxft" ,libxft) - ("mesa" ,mesa))) + (list fltk + libpaper + ;; TODO: Should the following be propagated by fltk? + libx11 + libxft + mesa)) (arguments `(#:make-flags `("VER_DATE=2018-09-01" "CONFDIR=/etc/tuxpaint" ;don't write to store @@ -5494,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/" @@ -5503,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 @@ -5523,21 +5471,22 @@ with the \"Stamp\" tool within Tux Paint.") (string-append "${SQUIRREL_PREFIX}/include/squirrel")))) #t))))) (build-system cmake-build-system) - (inputs `(("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-mixer" ,sdl2-mixer) - ("openal" ,openal) - ("mesa" ,mesa) - ("glew" ,glew) - ("libvorbis" ,libvorbis) - ("libogg" ,libogg) - ("physfs" ,physfs) - ("curl" ,curl) - ("boost" ,boost) - ("freetype" ,freetype) - ("squirrel" ,squirrel))) + (inputs (list boost + curl + freetype + glew + glm + libogg + libvorbis + mesa + openal + physfs + sdl2 + sdl2-image + sdl2-mixer + squirrel)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (synopsis "2D platformer game") (description "SuperTux is a classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games.") @@ -5547,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) @@ -5555,12 +5504,9 @@ a style similar to the original Super Mario games.") (string-drop-right version 1) "/tintin-" version ".tar.gz")) (sha256 - (base32 "1xdim1ckq1kgjyxmghcnvnahq1llv2y70gz3yyvzbli63vpqk4mk")))) + (base32 "000sg16w7790ha8ys31qjh1ip5hl02ldfwj1zy6dqz0y5i7zvydn")))) (inputs - `(("gnutls" ,gnutls) - ("pcre" ,pcre) - ("readline" ,readline) - ("zlib" ,zlib))) + (list gnutls pcre readline zlib)) (arguments '(#:tests? #f ; no test suite #:phases @@ -5596,7 +5542,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") (patches (search-patches "laby-make-install.patch")))) (build-system gnu-build-system) (inputs - `(("lablgtk" ,lablgtk) + `(("lablgtk3" ,lablgtk3) ("ocaml" ,ocaml) ("ocaml-findlib" ,ocaml-findlib) ("ocamlbuild" ,ocamlbuild))) @@ -5604,15 +5550,9 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") '(#:phases (modify-phases %standard-phases (delete 'configure) - (add-before 'build 'allow-unsafe-strings - ;; Fix a build failure with ocaml >=4.06.0. - ;; See <https://github.com/sgimenez/laby/issues/53>. - (lambda _ - (setenv "OCAMLPARAM" "safe-string=0,_") - #t)) (add-before 'build 'set-library-path (lambda* (#:key inputs #:allow-other-keys) - (let ((lablgtk (assoc-ref inputs "lablgtk"))) + (let ((lablgtk (assoc-ref inputs "lablgtk3"))) (setenv "LD_LIBRARY_PATH" (string-append lablgtk "/lib/ocaml/stublibs")))))) #:tests? #f ; no 'check' target @@ -5656,7 +5596,7 @@ programmers may also add their own favorite language.") (copy-recursively "data" (string-append share "/bambam/data"))) #t))))) (inputs - `(("python-pygame" ,python-pygame))) + (list python-pygame)) (home-page "https://github.com/porridge/bambam") (synopsis "Keyboard mashing and doodling game for babies") (description "Bambam is a simple baby keyboard (and gamepad) masher @@ -5687,14 +5627,10 @@ colors, pictures, and sounds.") (script (string-append out "/bin/" ,name)) (data (string-append out "/share/" ,name)) (source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip")) - (patch (string-append (assoc-ref %build-inputs "patch") - "/bin/patch")) - (bash (string-append (assoc-ref %build-inputs "bash") - "/bin/bash")) - (love (string-append (assoc-ref %build-inputs "love") - "/bin/love"))) + (unzip (search-input-file %build-inputs "/bin/unzip")) + (patch (search-input-file %build-inputs "/bin/patch")) + (bash (search-input-file %build-inputs "/bin/bash")) + (love (search-input-file %build-inputs "/bin/love"))) (mkdir-p (dirname script)) (with-output-to-file script @@ -5720,8 +5656,7 @@ colors, pictures, and sounds.") ("patch" ,patch) ("love-11.patch" ,(search-patch "mrrescue-support-love-11.patch")))) (inputs - `(("bash" ,bash) - ("love" ,love))) + (list bash love)) (home-page "https://tangramgames.dk/games/mrrescue") (synopsis "Arcade-style fire fighting game") (description @@ -5800,7 +5735,7 @@ throwing people around in pseudo-randomly generated buildings.") (let* ((data (assoc-ref inputs "hyperrogue-data")) (out (assoc-ref outputs "out")) (sounds (string-append out "/share/hyperrogue/sounds")) - (unzip (string-append (assoc-ref inputs "unzip") "/bin/unzip"))) + (unzip (search-input-file inputs "/bin/unzip"))) ;; Extract media license information into sounds directory. (invoke unzip "-j" data (string-append @@ -5827,13 +5762,8 @@ throwing people around in pseudo-randomly generated buildings.") "11yhbia45f1w9z0j67h9nynwjqmvakr9l6rnrmdrdkzin6lvzzj4")))) ("unzip" ,unzip))) (inputs - `(("font-dejavu" ,font-dejavu) - ("glew" ,glew) - ("libpng" ,libpng) - ("sdl-union" ,(sdl-union (list sdl - sdl-gfx - sdl-mixer - sdl-ttf))))) + (list font-dejavu glew libpng + (sdl-union (list sdl sdl-gfx sdl-mixer sdl-ttf)))) (home-page "https://www.roguetemple.com/z/hyper/") (synopsis "Non-euclidean graphical rogue-like game") (description @@ -5880,8 +5810,8 @@ symbols, it still needs graphics to render the non-euclidean world.") (assoc-ref %build-inputs "sdl-union") "/include/SDL")))) (inputs - `(("glu" ,glu) - ("sdl-union" ,(sdl-union (list sdl sdl-image))))) + (list glu + (sdl-union (list sdl sdl-image)))) (synopsis "Shooter with space station destruction") (description "Kobo Deluxe is an enhanced version of Akira Higuchi's XKobo graphical game @@ -5892,7 +5822,7 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "2.6.5") + (version "2.6.6") (source (origin (method url-fetch) @@ -5904,16 +5834,12 @@ for Un*x systems with X11.") (version-major+minor version) "/" version "/freeciv-" version ".tar.bz2"))) (sha256 - (base32 "0ngcj59ak71i6m8yvbr0g3aryzpw1scalpdzgfqsq4mf9p3y2r1f")))) + (base32 "04aq2v1ima87sap6yjb7jrm1ss63ax7v5kg7rpkj44887kfybkvv")))) (build-system gnu-build-system) (inputs - `(("curl" ,curl) - ("cyrus-sasl" ,cyrus-sasl) - ("gtk+" ,gtk+) - ("sdl-mixer" ,sdl-mixer) - ("zlib" ,zlib))) + (list curl cyrus-sasl gtk+ sdl-mixer zlib)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "http://www.freeciv.org/") (synopsis "Turn-based empire building strategy game") (description "Freeciv is a turn-based empire building strategy game @@ -5945,7 +5871,7 @@ into the Space Age.") (modify-phases %standard-phases (delete 'configure)))) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (home-page "https://github.com/bartobri/no-more-secrets") (synopsis "Recreation of data decryption effect in \"Sneakers\"") (description @@ -6012,11 +5938,12 @@ starting a decryption sequence to reveal the original plaintext characters.") ("sdl2" ,sdl2) ("wxwidgets" ,wxwidgets))) (native-inputs - `(("cppunit" ,cppunit) - ("pkg-config" ,pkg-config))) + (list cppunit pkg-config)) (arguments `(#:configure-flags - (list (string-append "-DCUSTOM_DATA_INSTALL_PATH=" + (list "-DCMAKE_CXX_FLAGS=-fcommon" + "-DCMAKE_C_FLAGS=-fcommon" + (string-append "-DCUSTOM_DATA_INSTALL_PATH=" (assoc-ref %build-inputs "megaglest-data") "/share/megaglest") "-DBUILD_MEGAGLEST_TESTS=ON") @@ -6037,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))) @@ -6050,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. @@ -6074,13 +6001,13 @@ Magic, Egypt, Indians, Norsemen, Persian or Romans.") line))) #t))))) (inputs - `(("sdl-union" ,(sdl-union (list sdl sdl-mixer))) - ("openal" ,openal) - ("libvorbis" ,libvorbis) - ("libogg" ,libogg) - ("mesa" ,mesa) - ("libpng" ,libpng) - ("zlib" ,zlib))) + (list (sdl-union (list sdl sdl-mixer)) + openal + libvorbis + libogg + mesa + libpng + zlib)) (home-page "https://github.com/freegish/freegish") (synopsis "Side-scrolling physics platformer with a ball of tar") (description "In FreeGish you control Gish, a ball of tar who lives @@ -6114,13 +6041,9 @@ emerges from a sewer hole and pulls her below ground.") (assoc-ref %outputs "out") "/share/cdogs-sdl/")))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("gtk+" ,gtk+) - ("mesa" ,mesa) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-mixer" ,sdl2-mixer))) + (list gtk+ mesa sdl2 sdl2-image sdl2-mixer)) (home-page "https://cxong.github.io/cdogs-sdl/") (synopsis "Classic overhead run-and-gun game") (description "C-Dogs SDL is a classic overhead run-and-gun game, @@ -6166,11 +6089,10 @@ over 100 user-created campaigns.") (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (setenv "CPLUS_INCLUDE_PATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL:" - (assoc-ref inputs "python") - "/include/python2.7:" - (or (getenv "CPLUS_INCLUDE_PATH") ""))) + (string-append + (search-input-directory inputs "include/SDL") ":" + (search-input-directory inputs "include/python2.7") + ":" (or (getenv "CPLUS_INCLUDE_PATH") ""))) (substitute* "src/main/main.cpp" (("#include <SDL.h>" line) (string-append line " @@ -6221,7 +6143,7 @@ over 100 user-created campaigns.") sdl-image))) ("python" ,python-2))) (native-inputs - `(("swig" ,swig))) + (list swig)) (home-page "http://kiki.sourceforge.net/") (synopsis "3D puzzle game") (description "Kiki the nano bot is a 3D puzzle game. It is basically a @@ -6282,18 +6204,18 @@ small robot living in the nano world, repair its maker.") "datasrc/fonts/DejaVuSans.ttf") #t))))) (inputs - `(("freetype" ,freetype) - ("font-dejavu" ,font-dejavu) - ("glu" ,glu) - ("json-parser" ,json-parser) - ("mesa" ,mesa) - ("pnglite" ,pnglite) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-mixer" ,sdl2-mixer) - ("wavpack" ,wavpack) - ("openssl" ,openssl) - ("zlib" ,zlib))) + (list freetype + font-dejavu + glu + json-parser + mesa + pnglite + sdl2 + sdl2-image + sdl2-mixer + wavpack + openssl + zlib)) (native-inputs `(("googletest" ,googletest) ("python" ,python-wrapper) @@ -6353,13 +6275,11 @@ The Flag. You can even design your own maps!") (string-append "#include \"SDL/SDL_" header ".h\""))) #t))))) (inputs - `(("xerces-c" ,xerces-c) - ("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) - ("curl" ,curl) - ("enet" ,enet))) + (list xerces-c + (sdl-union (list sdl sdl-image sdl-mixer sdl-ttf)) curl + enet)) (native-inputs - `(("pkg-config" ,pkg-config) - ("imagemagick" ,imagemagick))) + (list pkg-config imagemagick)) (home-page "https://www.nongnu.org/enigma") (synopsis "Puzzle game with a dexterity component") (description "Enigma is a puzzle game with 550 unique levels. The object @@ -6375,18 +6295,17 @@ with the mouse isn’t always trivial.") (define-public chroma (package (name "chroma") - (version "1.18") + (version "1.20") (source (origin (method url-fetch) (uri (string-append "http://level7.org.uk/chroma/download/chroma-" version ".tar.bz2")) (sha256 (base32 - "12bjisf5nlqinw8n4r223vld52p0p2mw3fca92vi175c46bycbzn")))) + "02hn448ckfxbx2fqr9wgf66rwl0vr4gl87yvsr5fc99zz9zw2f5v")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests included - #:configure-flags '("CFLAGS=-fgnu89-inline"))) ; fix inlines + `(#:tests? #f)) ; no tests included (inputs `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) ("freetype" ,freetype) @@ -6394,7 +6313,7 @@ with the mouse isn’t always trivial.") ("fontconfig" ,fontconfig) ("libxft" ,libxft))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "http://level7.org.uk/chroma/") (synopsis "Abstract puzzle game") (description "Chroma is an abstract puzzle game. A variety of colourful @@ -6447,13 +6366,8 @@ becoming difficult enough to tax even the brightest of minds.") "--strip-components=1" "-C" data))))))) (inputs - `(("sdl-union" ,(sdl-union (list sdl - sdl-mixer - sdl-image - sdl-ttf))) - ("fribidi" ,fribidi) - ("libx11" ,libx11) - ("lua" ,lua-5.1))) + (list (sdl-union (list sdl sdl-mixer sdl-image sdl-ttf)) fribidi + libx11 lua-5.1)) (native-inputs `(("pkg-config" ,pkg-config) ("fillets-ng-data" @@ -6477,14 +6391,14 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.27.0") + (version "0.27.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/crawl/crawl/releases/download/" version "/stone_soup-" version "-nodeps.tar.xz")) (sha256 - (base32 "0hzkzpqmydxm1zjkdm7k4w3hldsqin3pwkj7jmfj4jijkr0zg9nq")) + (base32 "0nkhyhrrma8gmwxp15j84cn1k2yvyq7ar9rd0j2qjjlv2kdis5z2")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs @@ -6601,7 +6515,7 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") ;; no test target #:tests? #f)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs `(("sdl2" ,sdl2) ("glu" ,glu) @@ -6626,7 +6540,7 @@ fight against their plot and save his fellow rabbits from slavery.") (define-public 0ad-data (package (name "0ad-data") - (version "0.0.23b-alpha") + (version "0.0.25b-alpha") (source (origin (method url-fetch) @@ -6634,22 +6548,9 @@ 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 - "04x7729hk6zw1xj3n4s4lvaviijsnbjf5rhzvjxlr5fygvg4l6z1")) - (modules '((guix build utils))) - (snippet - #~(begin - (for-each (lambda (name) - (let* ((dir (string-append "binaries/data/mods/" name)) - (file (string-append dir "/" name ".zip")) - (unzip #$(file-append unzip "/bin/unzip"))) - (invoke unzip "-d" dir file) - (delete-file file))) - '("mod" "public")) - #t)))) + (base32 "1c9zrddmjxvvacismld6fbwbw9vrdbq6g6d3424p8w5p6xg5wlwy")))) (build-system trivial-build-system) - (native-inputs `(("tar" ,tar) - ("xz" ,xz))) + (native-inputs (list tar unzip xz)) (arguments `(#:modules ((guix build utils)) #:builder @@ -6657,11 +6558,18 @@ fight against their plot and save his fellow rabbits from slavery.") (use-modules (guix build utils)) (let ((out (assoc-ref %outputs "out")) (source (assoc-ref %build-inputs "source")) - (tar (string-append (assoc-ref %build-inputs "tar") "/bin/tar")) + (tar (search-input-file %build-inputs "/bin/tar")) + (unzip (search-input-file %build-inputs "/bin/unzip")) (xz-path (string-append (assoc-ref %build-inputs "xz") "/bin"))) (setenv "PATH" xz-path) (mkdir out) - (invoke tar "xvf" source "-C" out "--strip=3"))))) + (invoke tar "xvf" source "-C" out "--strip=3") + (for-each (lambda (name) + (let* ((dir (string-append out "/mods/" name)) + (file (string-append dir "/" name ".zip"))) + (invoke unzip "-o" "-d" dir file) + (delete-file file))) + '("mod" "public")))))) (synopsis "Data files for 0ad") (description "0ad-data provides the data files required by the game 0ad.") (home-page "https://play0ad.com") @@ -6679,7 +6587,7 @@ fight against their plot and save his fellow rabbits from slavery.") (define-public 0ad (package (name "0ad") - (version "0.0.23b-alpha") + (version "0.0.25b-alpha") (source (origin (method url-fetch) @@ -6687,53 +6595,64 @@ 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 - "0draa53xg69i5qhqym85658m45xhwkbiimaldj4sr3703rjgggq1")))) - ;; A snippet here would cause a build failure because of timestamps - ;; reset. See https://bugs.gnu.org/26734. - (inputs - `(("0ad-data" ,0ad-data) - ("curl" ,curl) - ("enet" ,enet) - ("gloox" ,gloox) - ("icu4c" ,icu4c) - ("libpng" ,libpng) - ("libsodium" ,libsodium) - ("libvorbis" ,libvorbis) - ("libxcursor" ,libxcursor) - ("libxml2" ,libxml2) - ("miniupnpc" ,miniupnpc) - ("mozjs-38" ,mozjs-38) - ("openal" ,openal) - ("sdl2" ,sdl2) - ("wxwidgets" ,wxwidgets) - ("zlib" ,zlib))) - (native-inputs - `(("boost" ,boost) - ("cmake" ,cmake-minimal) - ("mesa" ,mesa) - ("pkg-config" ,pkg-config) - ("python-2" ,python-2))) + (base32 "1p9fa8f7sjb9c5wl3mawzyfqvgr614kdkhrj2k4db9vkyisws3fp")))) + ;; A snippet here would cause a build failure because of timestamps + ;; reset. See https://bugs.gnu.org/26734. + (inputs + (list #{0ad-data}# + curl + enet + fmt + gloox + icu4c-68 + libidn + libpng + libsodium + libvorbis + libxcursor + libxml2 + miniupnpc + mozjs-78 + openal + sdl2 + wxwidgets + zlib)) + (native-inputs + (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") + #:tests? #f ;tests fail currently #:phases (modify-phases %standard-phases (add-after 'unpack 'delete-bundles - (lambda _ + (lambda* (#:key inputs #:allow-other-keys) (delete-file-recursively "libraries/source/spidermonkey") - #t)) - (add-after 'unpack 'fix-x11-includes + (delete-file-recursively "libraries/source/cxxtest-4.4") + (substitute* "build/premake/premake5.lua" + (("rootdir\\.\\.\"\\/libraries\\/source\\/cxxtest-4.4\\/bin\\/cxxtestgen\"") + (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/lib/sysdep/os/unix/x/x.cpp" - (("<Xlib.h>") "<X11/Xlib.h>")) - (substitute* "source/lib/sysdep/os/unix/x/x.cpp" - (("<Xatom.h>") "<X11/Xatom.h>")) - (substitute* "source/lib/sysdep/os/unix/x/x.cpp" - (("<Xcursor/Xcursor.h>") "<X11/Xcursor/Xcursor.h>")) - #t)) + (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 #:allow-other-keys) + (lambda* (#:key inputs outputs tests? #:allow-other-keys) (let* ((jobs (number->string (parallel-job-count))) (out (assoc-ref outputs "out")) (lib (string-append out "/lib")) @@ -6741,11 +6660,13 @@ fight against their plot and save his fellow rabbits from slavery.") (setenv "JOBS" (string-append "-j" jobs)) (setenv "CC" "gcc") (with-directory-excursion "build/workspaces" - (invoke "./update-workspaces.sh" - (string-append "--libdir=" lib) - (string-append "--datadir=" data) - ;; TODO: "--with-system-nvtt" - "--with-system-mozjs38"))))) + (apply invoke + `("./update-workspaces.sh" + ,(string-append "--libdir=" lib) + ,(string-append "--datadir=" data) + ;; TODO: "--with-system-nvtt" + "--with-system-mozjs" + ,@(if tests? '() '("--without-tests")))))))) (delete 'check) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) @@ -6755,7 +6676,9 @@ fight against their plot and save his fellow rabbits from slavery.") (lib (string-append out "/lib")) (data (string-append out "/share/0ad")) (applications (string-append out "/share/applications")) - (pixmaps (string-append out "/share/pixmaps")) + (hicolor (string-append out "/share/icons/hicolor/128x128/apps")) + (metainfo (string-append out "/share/metainfo")) + (mime (string-append out "/share/mime/application")) (0ad-data (assoc-ref inputs "0ad-data"))) ;; data (copy-recursively "data" data) @@ -6774,12 +6697,14 @@ fight against their plot and save his fellow rabbits from slavery.") ;; resources (with-directory-excursion "../build/resources" (install-file "0ad.desktop" applications) - (install-file "0ad.png" pixmaps)) - #t))) + (install-file "0ad.png" hicolor) + (install-file "0ad.appdata.xml" metainfo) + (install-file "pyrogenesis.xml" mime))))) (add-after 'install 'check - (lambda _ - (with-directory-excursion "system" - (invoke "./test"))))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (with-directory-excursion "system" + (invoke "./test")))))))) (home-page "https://play0ad.com") (synopsis "3D real-time strategy game of ancient warfare") (description "0 A.D. is a real-time strategy (RTS) game of ancient @@ -6884,7 +6809,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (("#include <GL/glext.h>") "")))))) (build-system gnu-build-system) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs `(("sdl-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))) ("glu" ,glu) @@ -6908,9 +6833,9 @@ Crowther & Woods, its original authors, in 1995. It has been known as (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl-union") - "/include/SDL2:" - (or (getenv "CPATH") ""))))) + (string-append + (search-input-directory inputs "/include/SDL2") + ":" (or (getenv "CPATH") ""))))) (delete 'check) ;; premake doesn't provide install target (replace 'install @@ -7010,12 +6935,12 @@ Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.") (string-append out "/bin"))) #t)))))) (build-system gnu-build-system) - (inputs `(("libmikmod" ,libmikmod) - ("libvorbis" ,libvorbis) - ("flac" ,flac) - ("mesa" ,mesa) - ("mpg123" ,mpg123) - ("sdl2" ,sdl2))) + (inputs (list libmikmod + libvorbis + flac + mesa + mpg123 + sdl2)) (synopsis "First person shooter engine for Quake 1") (description "Quakespasm is a modern engine for id software's Quake 1. It includes support for 64 bit CPUs, custom music playback, a new sound driver, @@ -7072,9 +6997,8 @@ some graphical niceities, and numerous bug-fixes and other improvements.") #t)))) ,@(strip-keyword-arguments '(#:make-flags #:phases) (package-arguments quakespasm)))) - (inputs `(("vulkan-headers" ,vulkan-headers) - ("vulkan-loader" ,vulkan-loader) - ,@(package-inputs quakespasm))) + (inputs (modify-inputs (package-inputs quakespasm) + (prepend vulkan-headers vulkan-loader))) (description "vkquake is a modern engine for id software's Quake 1. It includes support for 64 bit CPUs, custom music playback, a new sound driver, some graphical niceities, and numerous bug-fixes and other improvements.") @@ -7131,14 +7055,14 @@ some graphical niceities, and numerous bug-fixes and other improvements.") (symlink (string-append out "/lib/yamagi-quake2/q2ded") (string-append out "/bin/yamagi-q2ded")))))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("curl" ,curl-minimal) - ("libvorbis" ,libvorbis) - ("mesa" ,mesa) - ("openal" ,openal) - ("sdl2" ,sdl2) - ("zlib" ,zlib))) + (list curl + libvorbis + mesa + openal + sdl2 + zlib)) (synopsis "First person shooter engine based on quake2") (description "Yamagi Quake II is an enhanced client for id Software's Quake II. The main focus is an unchanged single player experience like back in 1997, @@ -7168,12 +7092,9 @@ making Yamagi Quake II one of the most solid Quake II implementations available. (base32 "12v00z3p0ymi8f3w4b4bgl4c76irawn3kmd147r0ap6s9ssx2q6m")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) + (list autoconf automake gettext-minimal pkg-config)) (inputs - `(("ncurses" ,ncurses))) + (list ncurses)) (home-page "https://jubalh.github.io/nudoku/") (synopsis "Sudoku for your terminal") (description "Nudoku is a ncurses-based Sudoku game for your terminal.") @@ -7216,8 +7137,7 @@ making Yamagi Quake II one of the most solid Quake II implementations available. ;; with multiple "QPainter:: ... Painter not active" warnings. #:tests? #f)) (inputs - `(("qtbase" ,qtbase-5) - ("qtsvg" ,qtsvg))) + (list qtbase-5 qtsvg)) (native-inputs `(("cmake" ,cmake-minimal) ("gettext-minimal" ,gettext-minimal) @@ -7247,19 +7167,19 @@ elements to achieve a simple goal in the most complex way possible.") "1hj99jxb9n3r0bkq87p1c24862xa1xyzjyfdyyx88ckszxb05qf3")))) (build-system cmake-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (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" @@ -7461,8 +7381,7 @@ You can save humanity and get programming skills!") ("sdl2" ,sdl2) ("timidity++" ,timidity++) ("zlib" ,zlib))) - (native-inputs `(("pkg-config" ,pkg-config) - ("unzip" ,unzip))) + (native-inputs (list pkg-config unzip)) (synopsis "Modern Doom 2 source port") (description "GZdoom is a port of the Doom 2 game engine, with a modern renderer. It improves modding support with ZDoom's advanced mapping features @@ -7481,7 +7400,7 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.") (define-public odamex (package (name "odamex") - (version "0.9.3") + (version "0.9.5") (source (origin (method url-fetch) @@ -7489,11 +7408,11 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.") "mirror://sourceforge/odamex/Odamex/" version "/" "odamex-src-" version ".tar.bz2")) (sha256 - (base32 "0vmw9ijb6n4wrxjxixakn7l6a6carnvs9wbbzb4vcq1brbzyrb0p")))) + (base32 "1x0c9vnwn336inkfamh4na8xjyfjmzfxfn49j4snqymkypjqw6jq")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no tests (native-inputs - `(("deutex" ,deutex))) + (list deutex)) (inputs `(("sdl" ,sdl2) ("sdl-mixer" ,sdl2-mixer) @@ -7523,11 +7442,11 @@ online.") (base32 "1iy8rx7kjvi1zjiw4zh77szzmd1sgpqajvbhprh1sj93fhbxcdfl")))) (build-system gnu-build-system) - (inputs `(("sdl2-net" ,sdl2-net) - ("sdl2-mixer" , sdl2-mixer) - ("sdl2" ,sdl2))) + (arguments + `(#:configure-flags (list "CFLAGS=-fcommon"))) + (inputs (list sdl2-net sdl2-mixer sdl2)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (synopsis "Doom source port preserving the look, feel, and bugs of vanilla Doom") (description @@ -7562,7 +7481,8 @@ affect gameplay).") `(("automake" ,automake) ("autoreconf" ,autoconf)))) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (replace 'bootstrap ;; The bundled autogen.sh script unconditionally runs ./configure. @@ -7580,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 @@ -7598,49 +7519,48 @@ 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))) - (inputs - `(("cmocka" ,cmocka) - ("perl-env-path" ,perl-env-path) - ("perl-inline" ,perl-inline) - ("perl-inline-c" ,perl-inline-c) - ("perl-string-shellquote" ,perl-string-shellquote) - ("perl-test-trailingspace" ,perl-test-trailingspace) - ("perl-file-find-object-rule" ,perl-file-find-object-rule) - ("perl-text-glob" ,perl-text-glob) - ("perl-number-compare" ,perl-number-compare) - ("perl-moo" ,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"))))))) + "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 + perl-inline + perl-inline-c + perl-string-shellquote + perl-test-trailingspace + perl-file-find-object-rule + perl-text-glob + perl-number-compare + perl-moo)) (home-page "https://www.shlomifish.org/open-source/projects/") (synopsis "C11 / gnu11 utilities C library") (description "This package provides C11 / gnu11 utilities C library") @@ -7649,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) @@ -7658,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)))))) - (inputs `(("recode" ,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 #: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 + (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 @@ -7729,7 +7660,7 @@ quotation from a collection of quotes.") (let* ((out (assoc-ref %outputs "out")) (xonotic (string-append out "/share/xonotic")) (source (assoc-ref %build-inputs "source")) - (unzip (string-append (assoc-ref %build-inputs "unzip") "/bin/unzip"))) + (unzip (search-input-file %build-inputs "/bin/unzip"))) (copy-file source (string-append ,name "-" ,version ".zip")) (invoke unzip (string-append ,name "-" ,version ".zip")) (mkdir-p out) @@ -7930,12 +7861,12 @@ quotation from a collection of quotes.") ("libpng" ,libpng) ("hicolor-icon-theme" ,hicolor-icon-theme))) (native-inputs - `(("unzip" ,unzip) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config) - ("libtool" ,libtool) - ("gmp" ,gmp))) + (list unzip + autoconf + automake + pkg-config + libtool + gmp)) (home-page "https://xonotic.org") (synopsis "Fast-paced first-person shooter game") (description @@ -7984,11 +7915,7 @@ open-source FPS of its kind.") (mkdir-p man) (install-file "doc/frotz.6" man) #t)))))) - (inputs `(("libmodplug" ,libmodplug) - ("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) - ("libvorbis" ,libvorbis) - ("ncurses" ,ncurses))) + (inputs (list libmodplug libsamplerate libsndfile libvorbis ncurses)) (synopsis "Portable Z-machine interpreter (ncurses version) for text adventure games") (description "Frotz is an interpreter for Infocom games and other Z-machine games in the text adventure/interactive fiction genre. This version of Frotz @@ -7998,6 +7925,58 @@ ncurses for text display.") (home-page "http://frotz.sourceforge.net") (license license:gpl2+))) +(define-public naev + (package + (name "naev") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/naev/naev/releases/download/v" + version "/naev-" version "-source.tar.xz")) + (sha256 + (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 + (list gettext-minimal pkg-config)) + (inputs + (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 + "Naev is a 2d action/rpg space game that combines elements from +the action, RPG and simulation genres. You pilot a spaceship from +a top-down perspective, and are more or less free to do what you want. +As the genre name implies, you’re able to trade and engage in combat +at will. Beyond that, there’s an ever-growing number of story-line +missions, equipment, and ships; even the galaxy itself grows larger +with each release. For the literacy-inclined, there are large amounts +of lore accompanying everything from planets to equipment.") + (license (list license:gpl3 + license:public-domain + license:expat ;edtaa3func.c + license:bsd-2 ;distance_field.c + license:bsd-3 ;perlin.c + )))) + (define-public frotz-dumb-terminal (package (name "frotz-dumb-terminal") @@ -8083,18 +8062,16 @@ to play games on webpages. It can also be made into a chat bot.") (install-file "doc/sfrotz.6" man) #t)))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("which" ,which) - ("perl" ,perl))) - (inputs `(("sdl2" ,sdl2) - ("sdl2-mixer" ,sdl2-mixer) - ("libmodplug" ,libmodplug) - ("libsamplerate" ,libsamplerate) - ("libsndfile" ,libsndfile) - ("libvorbis" ,libvorbis) - ("ncurses" ,ncurses) - ("freetype" ,freetype) - ("libjpeg-turbo" ,libjpeg-turbo))) + (list pkg-config which perl)) + (inputs (list sdl2 + sdl2-mixer + libmodplug + libsamplerate + libsndfile + libvorbis + ncurses + freetype + libjpeg-turbo)) (synopsis "Portable Z-machine interpreter (SDL port) for text adventure games") (description "Frotz is an interpreter for Infocom games and other Z-machine games in the text adventure/interactive fiction genre. This version of Frotz @@ -8173,11 +8150,8 @@ when packaged in Blorb container files or optionally from individual files.") (find-files "bin" "."))) #t))))) (native-inputs - `(("perl-alien-sdl" ,perl-alien-sdl) - ("perl-capture-tiny" ,perl-capture-tiny) - ("perl-locale-maketext-lexicon" ,perl-locale-maketext-lexicon) - ("perl-module-build" ,perl-module-build) - ("pkg-config" ,pkg-config))) + (list perl-alien-sdl perl-capture-tiny perl-locale-maketext-lexicon + perl-module-build pkg-config)) (inputs `(("glib" ,glib) ("perl-compress-bzip2" ,perl-compress-bzip2) @@ -8217,13 +8191,10 @@ their own levels.") "1b3bcdkk5xd5asq797cch9id8692grsjxrc1ss87vv11m1ck4rb3")))) (build-system meson-build-system) (native-inputs - `(("glib" ,glib "bin") ; for glib-compile-resources - ("gobject-introspection" ,gobject-introspection) - ("pkg-config" ,pkg-config) - ("vala" ,vala))) + (list `(,glib "bin") ; for glib-compile-resources + gobject-introspection pkg-config vala)) (inputs - `(("libevdev" ,libevdev) - ("libgudev" ,libgudev))) + (list libevdev libgudev)) (home-page "https://wiki.gnome.org/Apps/Games") (synopsis "Game controller library") (description "Libmanette is a small GObject library giving you simple @@ -8235,15 +8206,15 @@ GameController.") (define-public quadrapassel (package (name "quadrapassel") - (version "3.36.05") + (version "40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/quadrapassel/" - (version-major+minor version) "/" + (version-major version) "/" "quadrapassel-" version ".tar.xz")) (sha256 (base32 - "04abxmimh5npw8rhz1sfi6wxilgc6i1wka9mlnfwp8v1p1cb00cv")))) + "02n0khwy38pykw4xqpnkym6xvj2sv8izfjbaxlik3iq7890j5n0b")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -8253,24 +8224,23 @@ GameController.") ;; Don't create 'icon-theme.cache'. (lambda _ (substitute* "build-aux/meson_post_install.py" - (("gtk-update-icon-cache") (which "true"))) - #t))))) - (native-inputs - `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate - ("gettext" ,gettext-minimal) - ("glib" ,glib "bin") ;for glib-compile-resources - ("itstool" ,itstool) - ("libxml2" ,libxml2) ;for xmllint - ("pkg-config" ,pkg-config) - ("vala" ,vala))) - (inputs - `(("clutter" ,clutter) - ("clutter-gtk" ,clutter-gtk) - ("gsound" ,gsound) - ("gtk+" ,gtk+) - ("libcanberra" ,libcanberra) - ("libmanette" ,libmanette) - ("librsvg" ,librsvg))) + (("gtk-update-icon-cache") (which "true")))))))) + (native-inputs + (list desktop-file-utils ; for desktop-file-validate + gettext-minimal + (list glib "bin") ; for glib-compile-resources + itstool + libxml2 ; for xmllint + pkg-config + vala)) + (inputs + (list clutter + clutter-gtk + gsound + gtk+ + libcanberra + libmanette + librsvg)) (home-page "https://wiki.gnome.org/Apps/Quadrapassel") (synopsis "GNOME version of Tetris") (description "Quadrapassel comes from the classic falling-block game, @@ -8444,8 +8414,7 @@ civilized than your own.") (symlink "../stepmania/Docs" "doc/stepmania")) #t)))))) (native-inputs - `(("pkg-config" ,pkg-config) - ("yasm" ,yasm))) + (list pkg-config yasm)) (inputs `(("alsa-lib" ,alsa-lib) ;; Per upstream, StepMania is only guaranteed to work with a very @@ -8503,13 +8472,9 @@ to download and install them in @file{$HOME/.stepmania-X.Y/Songs} directory.") ;; `make test' doesn't actually build the test executable (lambda _ (invoke "make" "zerotokei")))))) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("cairo" ,cairo) - ("ffmpeg" ,ffmpeg) - ("pango" ,pango) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image))) + (list cairo ffmpeg 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, @@ -8549,10 +8514,9 @@ download and unpack them separately.") (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl") - "/include/SDL:" - (or (getenv "CPATH") ""))) - #t)) + (string-append + (search-input-directory inputs "/include/SDL") + ":" (or (getenv "CPATH") ""))))) (add-after 'unpack 'fix-compilation-errors (lambda _ (substitute* "mrt/base_file.h" @@ -8593,8 +8557,7 @@ download and unpack them separately.") sdl-ttf))) ("zlib" ,zlib))) (native-inputs - `(("pkg-config" ,pkg-config) - ("zip" ,zip))) + (list pkg-config zip)) (home-page "http://btanks.sourceforge.net") (synopsis "Multiplayer tank battle game") (description "Battle Tanks (also known as \"btanks\") is a funny battle @@ -8658,7 +8621,7 @@ the ground, the set ends and all balls are served again.") (arguments `(#:python ,python-2)) (inputs - `(("python-pygame" ,python2-pygame))) + (list python2-pygame)) (home-page "https://github.com/ryanakca/slingshot") (synopsis "Simple 2D shooting strategy game set in space") (description "Slingshot is a two-dimensional strategy game where two @@ -8683,7 +8646,8 @@ affected by the gravity of the planets.") "1nfkhcm0l89jyw8yr65na97g4l385zhjf7whkyg47c3v5sdqq2g7")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("CFLAGS=-fcommon") + #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-install-directories (lambda* (#:key outputs #:allow-other-keys) @@ -8699,10 +8663,9 @@ affected by the gravity of the planets.") (add-after 'set-paths 'set-sdl-paths (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl") - "/include/SDL:" - (or (getenv "CPATH") ""))) - #t))))) + (string-append + (search-input-directory inputs "/include/SDL") + ":" (or (getenv "CPATH") "")))))))) (inputs `(("fontconfig" ,fontconfig) ("freeglut" ,freeglut) @@ -8770,20 +8733,20 @@ game field is extended to 4D space, which has to filled up by the gamer with (rename-file (string-append out "/bin/arx-install-data") (string-append installer "/bin/arx-install-data")))))))) (inputs - `(("sdl2" ,sdl2) - ("libepoxy" ,libepoxy) - ("glew" ,glew) - ("openal" ,openal) - ("zlib" ,zlib) - ("boost" ,boost) - ("glm" ,glm) - ("freetype" ,freetype) - ;; The following are only needed by the arx-install-data script. - ("p7zip" ,p7zip) ; Install-helper uses it to extract ISO and .cab archives. - ("zenity" ,zenity) ; GUI for install-helper. - ("wget" ,wget) ; Used by the install-helper to download the patch. - ;; The install-helper needs it to extract the patch. - ("innoextract" ,innoextract))) + (list sdl2 + libepoxy + glew + openal + zlib + boost + glm + freetype + ;; The following are only needed by the arx-install-data script. + p7zip ; Install-helper uses it to extract ISO and .cab archives. + zenity ; GUI for install-helper. + wget ; Used by the install-helper to download the patch. + ;; The install-helper needs it to extract the patch. + innoextract)) (home-page "https://arx-libertatis.org/") (synopsis "Port of Arx Fatalis, a first-person role-playing game") (description "Arx Libertatis is a cross-platform port of Arx Fatalis, a 2002 @@ -8797,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) @@ -8805,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 @@ -8818,20 +8781,19 @@ where the player draws runes in real time to effect the desired spell.") (add-before 'build 'fix-env (lambda* (#:key inputs #:allow-other-keys) (setenv "CPATH" - (string-append (assoc-ref inputs "sdl2-union") - "/include/SDL2:" - (or (getenv "CPATH") ""))) - #t))))) - (inputs - `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("gnu-gettext" ,gettext-minimal) - ("libtool" ,libtool) - ("which" ,which))) + (string-append + (search-input-directory inputs "/include/SDL2") + ":" (or (getenv "CPATH") "")))))))) + (inputs + (list (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)) + zlib)) + (native-inputs + (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, @@ -9012,10 +8974,8 @@ action RPGs.") ;; parameters. (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (bash (string-append (assoc-ref inputs "bash") - "/bin/bash")) - (flare (string-append (assoc-ref inputs "flare-engine") - "/bin/flare")) + (bash (search-input-file inputs "/bin/bash")) + (flare (search-input-file inputs "/bin/flare")) (script (string-append out "/bin/flare-game"))) (mkdir-p (dirname script)) (call-with-output-file script @@ -9029,7 +8989,7 @@ exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%" (chmod script #o755)) #t))))) (inputs - `(("flare-engine" ,flare-engine))) + (list flare-engine)) (home-page "http://www.flarerpg.org/") (synopsis "Fantasy action RPG using the FLARE engine") (description "Flare is a single-player 2D action RPG with @@ -9078,7 +9038,7 @@ fast-paced action and a dark fantasy style.") (string-append "// " all))) #t))))) (native-inputs - `(("intltool" ,intltool))) + (list intltool)) (inputs `(("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer))) ("zlib" ,zlib))) @@ -9141,11 +9101,9 @@ Orcus Dome from evil.") (install-file "MarbleMarcher" bin)) #t))))) (inputs - `(("eigen" ,eigen) - ("mesa" ,mesa) - ("sfml" ,sfml))) + (list eigen mesa sfml)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (home-page "https://codeparade.itch.io/marblemarcher") (synopsis "Guide a marble across fractal landscapes") (description "Marble Marcher is a video game that uses a fractal physics @@ -9163,7 +9121,7 @@ levels to unlock.") (define simgear (package (name "simgear") - (version "2018.3.5") + (version "2020.3.11") (source (origin (method url-fetch) @@ -9171,22 +9129,31 @@ levels to unlock.") (version-major+minor version) "/" "simgear-" version ".tar.bz2")) (sha256 - (base32 "1vkqm66r1205k3hdjmx5wmx5kvmsb0dgfzrs8n5gqnxj8szs42dl")))) + (base32 "0g2g3n3sb6kdimvcrn9kvlhyyrp5c6lx20fgzz8l609v5aygr3dv")) + (modules '((guix build utils))) + (snippet + '(begin + ;; There are some bundled libraries. + (for-each delete-file-recursively + '("3rdparty/expat/")) + #t)))) (build-system cmake-build-system) (arguments - `(#:phases + `(#:configure-flags (list "-DSYSTEM_EXPAT=ON") + #:phases (modify-phases %standard-phases (replace 'check - (lambda _ - ;; Skip tests that require internet access. - (invoke "ctest" "-E" "(http|dns)")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Skip tests that require internet access. + (invoke "ctest" "-E" "(http|dns)"))))))) (inputs - `(("boost" ,boost-for-mysql) ; fails with 1.69 + `(("boost" ,boost) ("curl" ,curl) ("expat" ,expat) ("mesa" ,mesa) ("openal" ,openal) - ("openscenegraph" ,openscenegraph-3.4) + ("openscenegraph" ,openscenegraph) ("zlib" ,zlib))) (home-page "https://home.flightgear.org/") (synopsis "Libraries for 3D simulations and games") @@ -9207,41 +9174,42 @@ and also provides the base for the FlightGear Flight Simulator.") (version-major+minor version) "/" "flightgear-" version ".tar.bz2")) (sha256 - (base32 "0ya3vb539kwi1qrifqhsj5j3k4w6s06hrllp2vdzxf6id7cgf0hc")) + (base32 "15sar94x13j2y1m6adgmz2q1m1i9bzj3sxqla6y3m9vyf33hc9zy")) (modules '((guix build utils))) (snippet '(begin ;; There are some bundled libraries. (for-each delete-file-recursively - '("3rdparty/sqlite3/")) + '("3rdparty/sqlite3/" + "3rdparty/cppunit/")) #t)))) - (build-system cmake-build-system) + (build-system qt-build-system) (arguments `(#:configure-flags (list "-DSYSTEM_SQLITE=ON" + "-DSYSTEM_CPPUNIT=ON" (string-append "-DFG_DATA_DIR=" (assoc-ref %outputs "out") "/share/flightgear")) - ;; TODO: test cannot be run because the "run_test_suite" executable - ;; does not seem to be built. + ;; TODO: test suite segfaults. #:tests? #f #:phases (modify-phases %standard-phases - (add-after 'install 'wrap-executable - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/fgfs") - `("QT_PLUGIN_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/plugins")) - '("qtbase" "qtdeclarative" "qtsvg"))) - `("QML2_IMPORT_PATH" ":" prefix - ,(map (lambda (label) - (string-append (assoc-ref inputs label) - "/lib/qt5/qml")) - '("qtdeclarative" "qtsvg")))) - #t))) + (add-after 'unpack 'skip-some-tests + (lambda _ + (substitute* "test_suite/unit_tests/Instrumentation/test_gps.hxx" + (("CPPUNIT_TEST\\(testLongLegWestbound\\);" all) + (string-append "// " all)) + (("CPPUNIT_TEST\\(testFinalLegCourse\\);" all) + (string-append "// " all))))) + (add-after 'build 'build-test-suite + (lambda* args + ((assoc-ref %standard-phases 'build) + #:make-flags (list "fgfs_test_suite")))) + ;; Test suite needs access to FGData so run it after 'install. + (delete 'check) + (add-after 'install-data 'check + (assoc-ref %standard-phases 'check)) (add-after 'install 'install-data (lambda* (#:key inputs outputs #:allow-other-keys) (let ((share (string-append (assoc-ref outputs "out") "/share/flightgear"))) @@ -9251,23 +9219,23 @@ and also provides the base for the FlightGear Flight Simulator.") "--strip-components=1"))) #t))))) (inputs - `(("boost" ,boost-for-mysql) ; same as simgear - ("dbus" ,dbus) - ("eudev" ,eudev) - ("freeglut" ,freeglut) - ("freetype" ,freetype) - ("glew" ,glew) - ("libpng" ,libpng) - ("openal" ,openal) - ("openscenegraph" ,openscenegraph-3.4) - ("plib" ,plib) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg) - ("simgear" ,simgear) - ("speexdsp" ,speexdsp) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) + (list boost + dbus + eudev + freeglut + freetype + glew + libpng + openal + openscenegraph + plib + qtbase-5 + qtdeclarative + qtsvg + simgear + speexdsp + sqlite + zlib)) (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config) @@ -9277,11 +9245,11 @@ and also provides the base for the FlightGear Flight Simulator.") (method url-fetch) (uri (string-append "mirror://sourceforge/flightgear/release-" (version-major+minor version) "/" - "FlightGear-" version "-data.tar.bz2")) + "FlightGear-" version "-data.txz")) (sha256 (base32 - "04fv9za5zlyxlyfh6jx78y42l3jazvzl9dq2y6rzxqlcc9g5swhk")))))) - (home-page "https://home.flightgear.org/") + "0n5mw9vw1snab16c1y3i9ylkiv54az57bs2mvpq20hhg5hdiagqj")))))) + (home-page "https://www.flightgear.org/") (synopsis "Flight simulator") (description "The goal of the FlightGear project is to create a sophisticated flight simulator framework for use in research or academic @@ -9312,7 +9280,14 @@ simulator.") #:tests? #f ;no test #:phases (modify-phases %standard-phases - (delete 'configure) ;no configure script + ;; There is no configure script + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("-funroll-loops") + "-funroll-loops -fcommon") + (("SDL_CFLAGS =") + "SDL_CFLAGS = -fcommon")))) (add-after 'unpack 'fix-sdl-path ;; XXX: For some reason, `sdl2-config' reports stand-alone SDL ;; directory, not SDL-union provided as an input to the package. @@ -9320,8 +9295,7 @@ simulator.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "Makefile" (("sdl2-config" command) - (string-append command " --prefix=" (assoc-ref inputs "sdl")))) - #t))))) + (string-append command " --prefix=" (assoc-ref inputs "sdl"))))))))) (inputs `(("bzip2" ,bzip2) ("sdl" ,(sdl-union (list sdl2 sdl2-mixer sdl2-net))) @@ -9343,6 +9317,7 @@ play with up to four players simultaneously. It has network support.") (method url-fetch) (uri (string-append "https://www.hedgewars.org/download/releases/" "hedgewars-src-" version ".tar.bz2")) + (patches (search-patches "hedgewars-network-bsd.patch")) (sha256 (base32 "0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1")))) @@ -9392,10 +9367,7 @@ play with up to four players simultaneously. It has network support.") ("sdl" ,(sdl-union (list sdl2 sdl2-mixer sdl2-net sdl2-ttf sdl2-image))))) (native-inputs - `(("clang" ,clang) - ("ghc" ,ghc) - ("pkg-config" ,pkg-config) - ("qttools" ,qttools))) + (list clang ghc pkg-config qttools)) (home-page "https://hedgewars.org/") (synopsis "Turn-based artillery game featuring fighting hedgehogs") (description @@ -9430,7 +9402,7 @@ and bring the war to your enemy.") (arguments '(#:import-path "github.com/anaseto/gruid")) (propagated-inputs - `(("go-golang-org-x-image" ,go-golang-org-x-image))) + (list go-golang-org-x-image)) (home-page "https://github.com/anaseto/gruid") (synopsis "Cross-platform grid-based UI and game framework") (description "The gruid module provides packages for easily building @@ -9521,8 +9493,7 @@ on items and player adaptability for character progression.") (share (string-append out "/share/drascula")) (scummvm (assoc-ref %build-inputs "scummvm"))) ;; Install data. - (let ((unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip")) + (let ((unzip (search-input-file %build-inputs "/bin/unzip")) (doc (string-append out "/share/doc/" ,name "-" ,version))) (for-each (lambda (input) @@ -9548,8 +9519,7 @@ on items and player adaptability for character progression.") ;; Create standalone executable. (let* ((bin (string-append out "/bin")) (executable (string-append bin "/drascula")) - (bash (string-append (assoc-ref %build-inputs "bash") - "/bin/bash"))) + (bash (search-input-file %build-inputs "/bin/bash"))) (mkdir-p bin) (with-output-to-file executable (lambda () @@ -9576,8 +9546,7 @@ on items and player adaptability for character progression.") ("it" "Gioco classico di avventura punta e clicca 2D")))) #t)))) (native-inputs - `(("bash" ,bash) - ("unzip" ,unzip))) + (list bash unzip)) (inputs `(("scummvm" ,scummvm) ("drascula-int" @@ -9639,8 +9608,7 @@ the World and demonstrating that he is even more evil than his brother Vlad.") (bin (string-append out "/bin")) (executable (string-append bin "/" ,name)) (scummvm (assoc-ref %build-inputs "scummvm"))) - (let ((unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip"))) + (let ((unzip (search-input-file %build-inputs "/bin/unzip"))) (invoke unzip "-j" (assoc-ref %build-inputs "source"))) (let ((doc (string-append share "/doc/" ,name "-" ,version))) (for-each (lambda (f) (install-file f doc)) @@ -9677,10 +9645,9 @@ the World and demonstrating that he is even more evil than his brother Vlad.") executable scummvm))) #t)))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs - `(("bash" ,bash) - ("scummvm" ,scummvm))) + (list bash scummvm)) (home-page "https://www.scummvm.org") (synopsis "2D point and click fantasy adventure game") (description @@ -9746,8 +9713,7 @@ Skorl. Maybe it would be an idea to try and escape...") (bin (string-append out "/bin")) (executable (string-append bin "/" ,name)) (scummvm (assoc-ref %build-inputs "scummvm"))) - (let ((unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip"))) + (let ((unzip (search-input-file %build-inputs "/bin/unzip"))) (invoke unzip "-j" (assoc-ref %build-inputs "source"))) (let ((doc (string-append share "/doc/" ,name "-" ,version))) (install-file "readme.txt" doc)) @@ -9779,10 +9745,9 @@ Skorl. Maybe it would be an idea to try and escape...") executable scummvm)))) #t))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs - `(("bash" ,bash) - ("scummvm" ,scummvm))) + (list bash scummvm)) (home-page "https://www.scummvm.org/") (synopsis "Classic 2D point and click adventure game") (description "Flight of the Amazon Queen is a 2D point-and-click @@ -9845,8 +9810,7 @@ women and 6-foot-tall pygmies.") (bin (string-append out "/bin")) (executable (string-append bin "/" ,name)) (scummvm (assoc-ref %build-inputs "scummvm"))) - (let ((unzip (string-append (assoc-ref %build-inputs "unzip") - "/bin/unzip"))) + (let ((unzip (search-input-file %build-inputs "/bin/unzip"))) (invoke unzip "-j" (assoc-ref %build-inputs "source"))) (let ((doc (string-append share "/doc/bass-" ,version))) (install-file "readme.txt" doc)) @@ -9880,10 +9844,9 @@ angesiedelt in einer düsteren, postapokalyptischen Vision der Zukunft~@ executable scummvm))) #t)))) (native-inputs - `(("unzip" ,unzip))) + (list unzip)) (inputs - `(("bash" ,bash) - ("scummvm" ,scummvm))) + (list bash scummvm)) (home-page "https://www.scummvm.org/") (synopsis "Classic 2D point and click science-fiction adventure game") (description @@ -9922,13 +9885,9 @@ and to seek vengeance for the killing of his tribe.") "07gi3lsmbzzsjambgixj6xy79lh22km84z7bnzgwzxdy806lyvwb")))) (build-system gnu-build-system) (inputs - `(("glib" ,glib) - ("gtk+" ,gtk+-2) - ("vte" ,vte/gtk+-2) - ("readline" ,readline) - ("guile" ,guile-1.8))) + (list glib gtk+-2 vte/gtk+-2 readline guile-1.8)) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (arguments `(#:make-flags (list @@ -10029,21 +9988,21 @@ win.") (define-public freeorion (package (name "freeorion") - (version "0.4.10") + (version "0.4.10.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/freeorion/freeorion/releases/" - "download/v" version "/FreeOrion_v" version - "_2020-07-10.f3d403e_Source.tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/freeorion/freeorion") + (commit (string-append "v" version)))) (sha256 - (base32 "12xspixrkx6mmmsdqjha0hg02r4y73pk229l0wjq9s0yp8nb8ap7")) + (base32 "12fhwa3cs6lvdbdhina310qk2g7zcphldsh7ibsbxn8d1m731xlk")) + (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet '(begin ;; There are some bundled fonts. - (for-each delete-file-recursively '("default/data/fonts")) - #t)))) + (for-each delete-file-recursively '("default/data/fonts")))))) (build-system cmake-build-system) (arguments '(#:tests? #f ;no test @@ -10105,14 +10064,14 @@ remake of that series or any other game.") (patches (search-patches "leela-zero-gtest.patch")))) (build-system cmake-build-system) (native-inputs - `(("googletest" ,googletest))) + (list googletest)) (inputs - `(("boost" ,boost) - ("opencl-icd-loader" ,opencl-icd-loader) - ("openblas" ,openblas) - ("opencl-headers" ,opencl-headers) - ("qtbase" ,qtbase-5) - ("zlib" ,zlib))) + (list boost + opencl-icd-loader + openblas + opencl-headers + qtbase-5 + zlib)) (arguments '(#:configure-flags '("-DUSE_BLAS=YES") #:phases (modify-phases %standard-phases @@ -10152,11 +10111,9 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") "1gdlfqcqkqv7vph3qwq78d0qz6dhmdsranxq9bmixiisbzkqby31")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("qtbase" ,qtbase-5) - ("qtmultimedia" ,qtmultimedia) - ("qtsvg" ,qtsvg))) + (list qtbase-5 qtmultimedia qtsvg)) (arguments '(#:phases (modify-phases %standard-phases @@ -10169,6 +10126,11 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (("qtchooser -run-tool=(.*) -qt=qt5" _ command) command)) #t)) + (add-after 'unpack 'fix-header + (lambda _ + (substitute* "src/bitarray.h" + (("#include <cstring>" all) + (string-append all "\n#include <stdexcept>"))))) (add-after 'unpack 'fix-paths (lambda _ (substitute* '("src/pics/Makefile.in" @@ -10231,25 +10193,23 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.") (base32 "0mlv9qllg70p26dbrcsr820c70d3ib88hapc1z6wgjhdpmc12ni1")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools) - ("perl" ,perl))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("python" ,python-wrapper) - ("qtbase" ,qtbase-5) - ("qtmultimedia" ,qtmultimedia) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools perl)) + (inputs + (list kcompletion + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kwidgetsaddons + kxmlgui + libkdegames + python-wrapper + qtbase-5 + qtmultimedia + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Stamp drawing toy") (description "KTuberling is a drawing toy intended for small children and @@ -10282,21 +10242,20 @@ This package is part of the KDE games module.") (base32 "1dfq9m4njh0czz8zws46rkz6xq2n6xra5w223m3s2f5civiw5msz")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kdeclarative" ,kdeclarative) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("knewstuff" ,knewstuff) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcoreaddons + kcrash + kdbusaddons + kdeclarative + ki18n + kio + knewstuff + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Number logic game") (description "Picmi is a number logic game in which cells in a grid have @@ -10319,22 +10278,21 @@ This package is part of the KDE games module.") (base32 "1lpp6pzr5dgd4si4a8c7hcvgxgqy0bgyhkx9m6jqb0zhll6dxj10")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("ktextwidgets" ,ktextwidgets) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kwidgetsaddons + kxmlgui + ktextwidgets + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Miniature golf game") (description "Kolf is a miniature golf game for one to ten players. The @@ -10367,18 +10325,18 @@ This package is part of the KDE games module.") (base32 "10ljzbf7qki5flydankrbksaihhkqpfyljb8c71fbwqwmkr7rgfq")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules))) - (inputs - `(("kauth" ,kauth) - ("kcompletion" ,kcompletion) - ;("kconfig" ,kconfig) - ("kcodecs" ,kcodecs) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("qtbase" ,qtbase-5) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules)) + (inputs + (list kauth + kcompletion + ;("kconfig" ,kconfig) + kcodecs + kconfigwidgets + kcoreaddons + ki18n + kwidgetsaddons + qtbase-5 + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Shared library for kmahjongg and kshisen") (description "Shared library and common files for kmahjongg, kshisen and @@ -10398,21 +10356,20 @@ other Mah Jongg like games.") (base32 "1fcj4jb2zzbaxp7cp04w36y0c7lh77yzin66fmvrcxkl11xi2wwd")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kdeclarative" ,kdeclarative) - ("ki18n" ,ki18n) - ("knewstuff" ,knewstuff) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("libkmahjongg" ,libkmahjongg) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kcrash + kdbusaddons + kdeclarative + ki18n + knewstuff + kxmlgui + libkdegames + libkmahjongg + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Tile laying patience") (description "In KMahjongg the tiles are scrambled and staked on top of @@ -10438,23 +10395,23 @@ This package is part of the KDE games module.") (base32 "1hrwr0f1kidivsp8lnwdbqz3xxagjvjwh72r3gma8smfilybygfb")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ;("perl" ,perl) - ;("pkg-config" ,pkg-config) - ("kdoctools" ,kdoctools))) - (inputs - `(("kauth" ,kauth) - ("kcompletion" ,kcompletion) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("libkmahjongg" ,libkmahjongg) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules + ;("perl" ,perl) + ;("pkg-config" ,pkg-config) + kdoctools)) + (inputs + (list kauth + kcompletion + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kxmlgui + libkdegames + libkmahjongg + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Shisen-Sho solitaire game") (description "KShisen is a solitaire-like game played using the standard @@ -10479,27 +10436,37 @@ This package is part of the KDE games module.") (arguments `(#:phases (modify-phases %standard-phases - (add-after 'install 'wrap + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/mjresource.py" + (("'share', 'kmahjongglib'" all) + (string-append "'" (assoc-ref inputs "libkmahjongg") + "/share', 'kmahjongglib'"))))) + (add-after 'qt-wrap 'wrap (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) - (wrap-program (string-append out "/bin/kajongg") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) - #t)))))) - (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ;("perl" ,perl) - ("kdoctools" ,kdoctools))) - (inputs - `(("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("ki18n" ,ki18n) - ("libkmahjongg" ,libkmahjongg) - ("python" ,python) - ("python-twisted" ,python-twisted) - ("python-pyqt" ,python-pyqt) - ("qtbase" ,qtbase-5) - ("qtsvg" ,qtsvg))) + (for-each (lambda (program) + (wrap-program program + `("GUIX_PYTHONPATH" ":" prefix + (,(getenv "GUIX_PYTHONPATH"))))) + (list (string-append out "/bin/kajongg") + (string-append out "/bin/kajonggserver"))))))))) + (native-inputs + (list extra-cmake-modules + ;("perl" ,perl) + kdoctools)) + (inputs + (list kconfig + kconfigwidgets + kcoreaddons + ki18n + libkmahjongg + python + python-twisted + python-pyqt + python-zope-interface + qtbase-5 + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Classical Mah Jongg game for 4 players") (description "Kajongg is the ancient Chinese board game for 4 players. @@ -10528,21 +10495,20 @@ This package is part of the KDE games module.") (base32 "0kqj2cx0ny3qq65c6w5fpnzmrwl9irg8slzvpd3anck5cnvma3j4")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Breakout like game") (description "KBreakout is similar to the classics breakout and xboing, @@ -10566,22 +10532,21 @@ This package is part of the KDE games module.") (base32 "0hqjwh3jq2npqwkvh67fyn2xnq8swiasdw5jz8f0ikl0k28id775")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("ktextwidgets" ,ktextwidgets) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + ktextwidgets + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Classical mine sweeper game") (description "KMines is a classic Minesweeper game. The idea is to @@ -10604,22 +10569,21 @@ This package is part of the KDE games module.") (base32 "0lnwj06vv4qx05hr8pzysnvrxh8y04asajrph0rsj37v8hs9g5lh")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kguiaddons" ,kguiaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kcoreaddons + kcrash + kdbusaddons + kguiaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Simple turn-based strategy game") (description "Konquest is the KDE version of Gnu-Lactic Konquest. Players @@ -10644,22 +10608,21 @@ This package is part of the KDE games module.") (base32 "0ymy0z1qlw3n653xs3dsa1xm78q4xaj09dnnci4km77rzis26vb6")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Jezzball arcade game") (description "KBounce is a single player arcade game with the elements of @@ -10683,22 +10646,21 @@ This package is part of the KDE games module.") (base32 "09yfm9mzbamp294cvc5finq6ilxvxr68i0dnb0m72pa4sfzmij32")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Single player falling blocks puzzle game") (description "KBlocks is the classic Tetris-like falling blocks game. @@ -10724,25 +10686,24 @@ This package is part of the KDE games module.") (base32 "0pj6ry7ak1rnpb93mqypaxrcbmrhwg9ir6zhb3ybzfkfcrh67g12")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("karchive" ,karchive) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kguiaddons" ,kguiaddons) - ("ki18n" ,ki18n) - ("kiconthemes" ,kiconthemes) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("glu" ,glu) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list karchive + kconfig + kconfigwidgets + kcoreaddons + kcrash + kguiaddons + ki18n + kiconthemes + kio + kwidgetsaddons + kxmlgui + libkdegames + glu + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Sudoku puzzle game and solver") (description "KSudoku is a Sudoku game and solver, supporting a range of @@ -10785,20 +10746,19 @@ This package is part of the KDE games module.") (base32 "0y8lnwawrkl4ixn7v4dg48k2zpr083krv7dv4d94b2dpkh7xfvih")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Place 5 equal pieces together, but wait, there are 3 new ones") (description "KLines is a simple but highly addictive one player game. @@ -10829,20 +10789,19 @@ This package is part of the KDE games module.") (base32 "17ra5d3r9ajy2inj17gwd5xphzhvbzx5kpvdwyj6msx4dd9wxgfi")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Action and puzzle solving game") (description "KGoldrunner is an action game where the hero runs through a @@ -10870,23 +10829,22 @@ This package is part of the KDE games module.") (base32 "1iyxrx3422asa58kh0siwvi1svds5kccrym6gdfpdhlmhmciqlzi")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("knotifications" ,knotifications) - ("knotifyconfig" ,knotifyconfig) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + knotifications + knotifyconfig + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Three-in-a-row game") (description "KDiamond is a three-in-a-row game like Bejeweled. It @@ -10909,21 +10867,20 @@ This package is part of the KDE games module.") (base32 "0plx3lv35fc8q9svbyl71mms3ji6zn58j306bvm1f8kkgg0x395b")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdnssd" ,kdnssd) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdnssd + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Place 4 pieces in a row") (description "KFourInLine is a board game for two players based on the @@ -10948,22 +10905,21 @@ This package is part of the KDE games module.") (base32 "0la5w44b0gl72g3wfp0pw8gwnm287lh7nd9k5ikpszw5nn49db0h")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("karchive" ,karchive) - ("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("ktextwidgets" ,ktextwidgets) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list karchive + kcompletion + kconfig + kcoreaddons + kcrash + kdbusaddons + ki18n + ktextwidgets + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Find atoms in a grid by shooting electrons") (description "KBlackbox is a game of hide and seek played on a grid of @@ -10989,22 +10945,21 @@ This package is part of the KDE games module.") (base32 "060kj06vpigdy570izsjfgnmqqrpmb8bkr9arqc109hg3avl5wjz")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("ktextwidgets" ,ktextwidgets) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + ktextwidgets + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Turn the board pieces to get all computers connected") (description "KNetWalk is a small game where you have to build up a @@ -11031,19 +10986,18 @@ This package is part of the KDE games module.") (base32 "1fjcwm591jgx3bgqpi0j5fnb2l2r2h3r6lav3vhaxz4rkf56pg2a")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletiom" ,kcompletion) - ("kconfig" ,kconfig) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kcoreaddons + kcrash + kdbusaddons + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Arcade bombing game") (description "Bomber is a single player arcade game. @@ -11073,23 +11027,22 @@ This package is part of the KDE games module.") (base32 "1fyh7zyacb3pnlfd29jw2jmyl8a7sjw354pi234nd5x5999xw5z6")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("knewstuff" ,knewstuff) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + knewstuff + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Bomberman clone") (description "Granatier is a clone of the classic Bomberman game, @@ -11111,23 +11064,22 @@ This package is part of the KDE games module.") (base32 "10y7nm0x6zcc0gh3am69bbxyyb8azbbfyrdqsa023ggr7n04cn21")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcrash" ,kcrash) - ("ki18n" ,ki18n) - ("kiconthemes" ,kiconthemes) - ("kio" ,kio) - ("knewstuff" ,knewstuff) - ("kwallet" ,kwallet) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("phonon" ,phonon) - ("qca" ,qca) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg) - ("zlib" ,zlib))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcrash + ki18n + kiconthemes + kio + knewstuff + kwallet + kxmlgui + libkdegames + phonon + qca + qtbase-5 + qtdeclarative + qtsvg + zlib)) (home-page "https://games.kde.org/") (synopsis "Computerized version of the well known strategy board game 'Risk'") @@ -11167,29 +11119,28 @@ This package is part of the KDE games module.") (base32 "0xxz9g4zxljlg20g88a5lkbwzzm9yg4vxnrfigk8m018cz0nqd5b")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("karchive" ,karchive) - ("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kcrash" ,kcrash) - ("ki18n" ,ki18n) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kitemviews" ,kitemviews) - ("knotifications" ,knotifications) - ("kservice" ,kservice) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg) - ("shared-mime-info" ,shared-mime-info))) + (list extra-cmake-modules kdoctools)) + (inputs + (list karchive + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kcrash + ki18n + ki18n + kio + kitemviews + knotifications + kservice + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg + shared-mime-info)) (home-page "https://games.kde.org/") (synopsis "Jigsaw puzzle game") (description "Palapeli is a jigsaw puzzle game. Unlike other games in @@ -11215,21 +11166,20 @@ This package is part of the KDE games module.") (base32 "0milc8fl1rj4yrwdvm60ampd47dyiys1xvqi5f0g7y6mgymgyk4x")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kiconthemes" ,kiconthemes) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kiconthemes + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Yahtzee dice game") (description "Kiriki is an addictive and fun dice game, designed to be @@ -11254,23 +11204,22 @@ This package is part of the KDE games module.") (base32 "088752yzmfsnppd27p8hld4x5s7sw5fagm08024l5ra1mlicdfz9")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("knewstuff" ,knewstuff) - ("ktextwidgets" ,ktextwidgets) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + knewstuff + ktextwidgets + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Go board game") (description "Kigo is an open-source implementation of the popular Go @@ -11301,22 +11250,21 @@ This package is part of the KDE games module.") (base32 "0h3mypwd67sss08j5vvrih5f5ss85m9kax6412y40xmsm51lz2pq")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("glu" ,glu) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list glu + kconfig + kconfigwidgets + kcoreaddons + kcrash + ki18n + kio + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Game based on Rubik's Cube") (description "Kubrick is a game based on the Rubik's Cube puzzle. @@ -11343,21 +11291,20 @@ This package is part of the KDE games module.") (base32 "1wg9zxp64kwjxqs4qw0h7j8yhgffbmvh8j9d4dgmz45dscngnjli")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kguiaddons" ,kguiaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kcoreaddons + kcrash + kguiaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Lieutnant Skat card game") (description "Lieutnant Skat (from German \"Offiziersskat\") is a fun and @@ -11382,21 +11329,20 @@ This package is part of the KDE games module.") (base32 "14x3v6li4r3gzzwfd6ar9saq2rhc7yxs0sp9ygalzq8vq4d7i1kh")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Pac-Man clone") (description "Kapman is a clone of the well known game Pac-Man. @@ -11422,21 +11368,20 @@ This package is part of the KDE games module.") (base32 "1aixh6ygif2cm1a5g32sl5y6b5x68139pzihaxq4334c6avamdai")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Two player game with shooting spaceships flying around a sun") (description "KSpaceduel is a space battle game for one or two players, @@ -11458,19 +11403,18 @@ This package is part of the KDE games module.") (base32 "18qbac366m0xma3ary11q9zxz0wgnysppcl7kpypl6ic3nf61wqz")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kcoreaddons + kcrash + kdbusaddons + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Classic pen and paper game: five in a line") (description "Bovo is a Gomoku (from Japanese 五目並べ - lit. \"five @@ -11495,21 +11439,20 @@ This package is part of the KDE games module.") (base32 "1296gww42nwnai7y6m2qpjqpyc30p7z9chfv5rv0n48jvdhva88y")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Port of the classic BSD console game robots") (description "Killbots is a simple game of evading killer robots. @@ -11537,22 +11480,21 @@ This package is part of the KDE games module.") (base32 "0mp6g258n3xzvgf23jnhkw10xgwqwqdzqfdc6r9jq6a6m8v77swz")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kguiaddons" ,kguiaddons) - ("ki18n" ,ki18n) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kguiaddons + ki18n + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Snake race played against the computer") (description "KSnakeDuel is a fast action game where you steer a snake @@ -11576,20 +11518,19 @@ This package is part of the KDE games module.") (base32 "180ybafizpwjsg80npy0l9142cjsnlyxwv9dz3bq6r8v4smn2g6b")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Simple ball dodging game") (description "In Kollision you use mouse to control a small blue ball in a @@ -11614,23 +11555,22 @@ This package is part of the KDE games module.") (base32 "03rqf4avn61b0v340ymmzgp7s0axygjgxq1nlp5aaqbx70zcb4lq")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kauth" ,kauth) - ("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kdnssd" ,kdnssd) - ("ki18n" ,ki18n) - ("ktextwidgets" ,ktextwidgets) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kauth + kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdnssd + ki18n + ktextwidgets + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Battleship board game with built-in game server") (description "KBattleship is a Battle Ship game for KDE. @@ -11655,23 +11595,22 @@ This package is part of the KDE games module.") (base32 "0d3y072q61xcik9lf0pz0c9njvarwlvf6hqv5fp5jyqaf2902pmi")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("kdeclarative" ,kdeclarative) - ("ki18n" ,ki18n) - ("kiconthemes" ,kiconthemes) - ("kio" ,kio) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + kdeclarative + ki18n + kiconthemes + kio + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Old reversi board game, also known as othello") (description "KReversi is a simple one player strategy game played @@ -11698,21 +11637,20 @@ This package is part of the KDE games module.") (base32 "0chd30byl2kww1k699vkygrxq2wdyvi84m2bimk23q96fl8h831y")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kcompletion" ,kcompletion) - ("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kcompletion + kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative)) (home-page "https://games.kde.org/") (synopsis "Dots and Boxes game") (description "KSquares is an implementation of the popular paper based @@ -11735,22 +11673,21 @@ This package is part of the KDE games module.") (base32 "1mk73il4jh15z5pm3fp65hsyvmrga11c3h7w96yamy2n2bbniapq")))) (build-system qt-build-system) (native-inputs - `(("extra-cmake-modules" ,extra-cmake-modules) - ("kdoctools" ,kdoctools))) - (inputs - `(("kconfig" ,kconfig) - ("kconfigwidgets" ,kconfigwidgets) - ("kcoreaddons" ,kcoreaddons) - ("kcrash" ,kcrash) - ("kdbusaddons" ,kdbusaddons) - ("ki18n" ,ki18n) - ("kio" ,kio) - ("kwidgetsaddons" ,kwidgetsaddons) - ("kxmlgui" ,kxmlgui) - ("libkdegames" ,libkdegames) - ("qtbase" ,qtbase-5) - ("qtdeclarative" ,qtdeclarative) - ("qtsvg" ,qtsvg))) + (list extra-cmake-modules kdoctools)) + (inputs + (list kconfig + kconfigwidgets + kcoreaddons + kcrash + kdbusaddons + ki18n + kio + kwidgetsaddons + kxmlgui + libkdegames + qtbase-5 + qtdeclarative + qtsvg)) (home-page "https://games.kde.org/") (synopsis "Simple tactical game for number-crunchers") (description "KJumpingcube is a simple tactical game for one or two @@ -11867,12 +11804,9 @@ the more difficult challenges.") (base32 "1z4pwpqyvxhlda99h6arh2rjk90fbms9q29fqizjblrdn01dlxn1")))) (build-system gnu-build-system) (native-inputs - `(("perl" ,perl) - ("pkg-config" ,pkg-config))) + (list perl pkg-config)) (inputs - `(("gtk+" ,gtk+-2) - ("libpng" ,libpng) - ("gstreamer" ,gstreamer))) + (list gtk+-2 libpng gstreamer)) (arguments `(#:tests? #f #:phases @@ -11909,13 +11843,9 @@ and chess engines.") (base32 "01fjchil2h6ry2ywr0dwjw2g7zd29580cr4c74d5z74h999lp6nh")))) (build-system qt-build-system) (native-inputs - `(("qttools" ,qttools))) + (list qttools)) (inputs - `(("qtbase" ,qtbase-5) - ("qtmultimedia" ,qtmultimedia) - ("qtspeech" ,qtspeech) - ("qtsvg" ,qtsvg) - ("zlib" ,zlib))) + (list qtbase-5 qtmultimedia qtspeech qtsvg zlib)) (arguments `(#:tests? #f #:phases @@ -11924,8 +11854,7 @@ and chess engines.") (lambda* (#:key inputs #:allow-other-keys) (substitute* "chessx.pro" (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") - (string-append (assoc-ref inputs "qttools") "/bin/lrelease"))) - #t)) + (search-input-file inputs "/bin/lrelease"))))) (add-after 'fix-paths 'make-qt-deterministic (lambda _ (setenv "QT_RCC_SOURCE_DATE_OVERRIDE" "1") @@ -11956,10 +11885,10 @@ etc. You can also play games on FICS or against an engine.") (license license:gpl2+))) (define-public stockfish - (let ((neural-network-revision "3475407dc199")) ; also update hash below + (let ((neural-network-revision "13406b1dcbe0")) ; also update hash below (package (name "stockfish") - (version "14") + (version "14.1") (source (origin (method git-fetch) @@ -11968,7 +11897,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 "046b3rq9w8lzgk07q5zazzkl93ai99ab18hr9d8n73mabjpi6zbx")))) + (base32 "0apqqcgpcflm3c6mcl13ln2y04f6zksnljmk4ys7naf7xk4vdgkd")))) (build-system gnu-build-system) (inputs `(("neural-network" @@ -11978,7 +11907,7 @@ etc. You can also play games on FICS or against an engine.") neural-network-revision ".nnue")) (sha256 (base32 - "11zci5kgwdw9rh8w2w4p84764g82rr666y3n8r2flwwrq5yl0x9l")))))) + "0vr3hcmlqqm74pn7hc54gmfs9drqvgc53nh7bvy6v8z0rcfnnh0k")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" @@ -12023,9 +11952,7 @@ ChessX.") (base32 "0139wxyrir10cbkvkjn548xgmp84wax8mfwk80yxbxlcdamrg257")))) (build-system gnu-build-system) (inputs - `(("hicolor-icon-theme" ,hicolor-icon-theme) - ("sdl" ,sdl) - ("sdl-mixer" ,sdl-mixer))) + (list hicolor-icon-theme sdl sdl-mixer)) (arguments `(#:configure-flags (list @@ -12055,9 +11982,9 @@ get high scores.") (base32 "1xb4immzmd419aa08lgkzf7ibxa6ax238zb2l5iw9nkgvzlh1v6l")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + (list pkg-config)) (inputs - `(("flatzebra" ,flatzebra))) + (list flatzebra)) (home-page "http://perso.b2b2c.ca/~sarrazip/dev/burgerspace.html") (synopsis "Avoid evil foodstuffs and make burgers") (description @@ -12083,13 +12010,9 @@ protect you.") (base32 "1y7v0jhp3apb619p7asikqr1dnwb2yxbh40wbx1ppmr5f03mq9ph")))) (build-system gnu-build-system) (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) + (list gettext-minimal pkg-config)) (inputs - `(("curl" ,curl) - ("enet" ,enet) - ("openal" ,openal) - ("sdl2" ,sdl2))) + (list curl enet openal sdl2)) (home-page "https://7kfans.com/") (synopsis "Seven Kingdoms Ancient Adversaries: real-time strategy game") (description @@ -12261,8 +12184,7 @@ game.") ;thanks to Debian for description (("/opt/gsasl") (assoc-ref inputs "gsasl")) (("\\$\\$\\{PREFIX\\}/include/libircclient") - (string-append (assoc-ref inputs "libircclient") - "/include/libircclient")) + (search-input-directory inputs "/include/libircclient")) (("LIB_DIRS =") (string-append "LIB_DIRS = " (assoc-ref inputs "boost") "/lib"))) @@ -12290,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") @@ -12319,7 +12315,7 @@ computer opponents or against real players online.") (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))) + (inputs (list sdl)) (home-page "https://mdsteele.games/azimuth/") (synopsis "Metroidvania game with vector graphics") (description @@ -12340,9 +12336,7 @@ inside the Zenith Colony.") (base32 "0qlvkiaglqq0izfph3l04mp4rqqqm9ks6rcsrmzrggw9x706z2iv")))) (build-system gnu-build-system) (inputs - `(("libx11" ,libx11) - ("libxt" ,libxt) - ("xorgproto" ,xorgproto))) + (list libx11 libxt xorgproto)) (home-page "http://cgoban1.sourceforge.net/") (synopsis "Go client for X11") (description "Provides a large set of Go-related services for X11: @@ -12401,7 +12395,7 @@ such as GnuGo. (inputs `(("sdl" ,(sdl-union (list sdl sdl-mixer))))) (native-inputs - `(("imagemagick" ,imagemagick))) + (list imagemagick)) (home-page "http://hcsoftware.sourceforge.net/passage/") (synopsis "Memento mori game") (description @@ -12429,7 +12423,7 @@ there's no right way to interpret it.") "09sb9sg44fvkgfdyycrm1ndpx7cnkrglxhci41y8f3gpagnvi7jk")))) (build-system gnu-build-system) (inputs - `(("sdl2" ,sdl2))) + (list sdl2)) (arguments '(#:tests? #f ;no tests #:make-flags @@ -12466,7 +12460,7 @@ game FPS.") #:phases (modify-phases %standard-phases (delete 'configure)))) - (inputs `(("ncurses" ,ncurses))) + (inputs (list ncurses)) (home-page "https://a-nikolaev.github.io/curseofwar/") (synopsis "Fast-paced action strategy game") (description "Curse of War is a fast-paced action strategy game originally @@ -12495,10 +12489,8 @@ available.") (arguments `(#:tests? #f ; no tests #:build-type "Release")) - (native-inputs - `(("gcc" ,gcc-11))) ; need C++20-compatible compiler (inputs - `(("sfml" ,sfml))) + (list sfml)) (home-page "https://github.com/sandsmark/Schiffbruch/") (synopsis "Pixelart survival game") (description @@ -12524,7 +12516,7 @@ get attention, so you get found.") "1yy5r1r0hv0xggk8qd8bwk2zy7abpv89nikq4flqgi53fc5q9xl7")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; no tests provided + `(#:tests? #f ; no tests provided #:phases (modify-phases %standard-phases (delete 'configure) @@ -12548,6 +12540,8 @@ get attention, so you get found.") (chdir "..") (install-file "prince" bin) (substitute* template (("\\$ROOT") out)) + (substitute* "src/seg009.c" + (("g_argv[0]") (string-append "\"" out "\""))) (install-file template app) (rename-file (string-append app "/SDLPoP.desktop.template") (string-append app "/SDLPoP.desktop")) @@ -12555,7 +12549,7 @@ get attention, so you get found.") (copy-recursively "data" (string-append bin "/data")) (copy-recursively "doc" opt) (copy-recursively "mods" opt))))))) - (native-inputs `(("pkg-config" ,pkg-config))) + (native-inputs (list pkg-config)) (inputs `(("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer))))) @@ -12568,18 +12562,7 @@ disassembly of the DOS version, extended with new features.") (define-public fheroes2 (package (name "fheroes2") - (version "0.9.7") - (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) @@ -12588,8 +12571,18 @@ disassembly of the DOS version, extended with new features.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 - "0v3zh8a8yxfikcr5vkmy36c57l4nmwisz13mjavn5f7yrirf86fn")))) + (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 |