diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 183 |
1 files changed, 91 insertions, 92 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 3b8946e42f..62dc30aea6 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]> @@ -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 Guillaume Le Vaillant <[email protected]> ;;; Copyright © 2019, 2020 Timotej Lazar <[email protected]> ;;; Copyright © 2019 Josh Holland <[email protected]> ;;; Copyright © 2019 Pkill -9 <[email protected]> @@ -174,6 +174,7 @@ #: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) @@ -723,8 +724,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' @@ -1232,10 +1232,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 _ @@ -1671,8 +1670,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. @@ -1978,10 +1976,9 @@ 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))))) (home-page "http://lgames.sourceforge.net/LTris/") @@ -2192,10 +2189,9 @@ 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-file inputs "/include/SDL") + ":" (or (getenv "CPATH") "")))))))) (inputs `(("fluidsynth" ,fluidsynth) ("glu" ,glu) @@ -2356,9 +2352,9 @@ 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)) @@ -2432,9 +2428,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)) @@ -2465,8 +2461,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) @@ -3035,9 +3031,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-file inputs "include/SDL") + ":" (or (getenv "CPATH") ""))))) (add-after 'patch-source-shebangs 'patch-makefile (lambda* (#:key outputs #:allow-other-keys) ;; Replace /usr with package output directory. @@ -3464,14 +3460,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) @@ -3776,9 +3774,12 @@ Widgets, and allows users to create more.") (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)) + #:imported-modules ,(cons '(guix build python-build-system) + %cmake-build-system-modules) + #:modules ((guix build cmake-build-system) + ((guix build python-build-system) #:select (guix-pythonpath)) + (guix build utils) + (srfi srfi-1)) #:configure-flags (list (string-append "-DOPENALSOFT_INCLUDE_DIR=" @@ -3805,30 +3806,15 @@ Widgets, and allows users to create more.") (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")) + (add-installed-pythonpath inputs outputs) ;; The tests require an X server. (system "Xvfb :1 &") (setenv "DISPLAY" ":1") (setenv "XDG_RUNTIME_DIR" "/tmp") ;; Run tests (chdir ,(string-append "../" name "-" version)) - (invoke "python3" "run_tests.py" "-a")) - #t))))) + (invoke "python3" "run_tests.py" "-a"))))))) (inputs `(("sdl2" ,sdl2) ("sdl2-image" ,sdl2-image) @@ -3903,7 +3889,10 @@ either by Infocom or created using the Inform compiler.") (base32 "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s")))) (build-system gnu-build-system) - (inputs `(("readline" ,readline))) + (inputs + `(("readline" ,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 @@ -4768,8 +4757,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, @@ -4861,10 +4850,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-file inputs "/include/SDL2") + ":" (or (getenv "CPATH") ""))))) (add-after 'install 'copy-data (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -5845,7 +5833,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 @@ -6211,11 +6199,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 " @@ -6953,9 +6940,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 @@ -7178,7 +7165,7 @@ some graphical niceities, and numerous bug-fixes and other improvements.") (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("curl" ,curl-minimal) + `(("curl" ,curl) ("libvorbis" ,libvorbis) ("mesa" ,mesa) ("openal" ,openal) @@ -7568,6 +7555,8 @@ online.") (base32 "1iy8rx7kjvi1zjiw4zh77szzmd1sgpqajvbhprh1sj93fhbxcdfl")))) (build-system gnu-build-system) + (arguments + `(#:configure-flags (list "CFLAGS=-fcommon"))) (inputs `(("sdl2-net" ,sdl2-net) ("sdl2-mixer" , sdl2-mixer) ("sdl2" ,sdl2))) @@ -7607,7 +7596,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. @@ -8594,10 +8584,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-file inputs "/include/SDL") + ":" (or (getenv "CPATH") ""))))) (add-after 'unpack 'fix-compilation-errors (lambda _ (substitute* "mrt/base_file.h" @@ -8728,7 +8717,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) @@ -8744,10 +8734,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) @@ -8863,10 +8852,9 @@ 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))))) + (string-append + (search-input-file inputs "/include/SDL2") + ":" (or (getenv "CPATH") "")))))))) (inputs `(("sdl2-union" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))) ("zlib" ,zlib))) @@ -9057,10 +9045,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 @@ -10215,6 +10201,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" @@ -10525,12 +10516,21 @@ 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)))))) + (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 `(("extra-cmake-modules" ,extra-cmake-modules) ;("perl" ,perl) @@ -10544,6 +10544,7 @@ This package is part of the KDE games module.") ("python" ,python) ("python-twisted" ,python-twisted) ("python-pyqt" ,python-pyqt) + ("python-zope-interface" ,python-zope-interface) ("qtbase" ,qtbase-5) ("qtsvg" ,qtsvg))) (home-page "https://games.kde.org/") @@ -11970,8 +11971,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") @@ -12307,8 +12307,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"))) |