diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 143 |
1 files changed, 59 insertions, 84 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 79754d3185..e60987d834 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 <bavier@posteo.net> ;;; Copyright © 2014 Cyrill Schenkel <cyrill.schenkel@gmail.com> ;;; Copyright © 2014 Sylvain Beucler <beuc@beuc.net> -;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2014, 2015, 2018, 2019, 2021 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2014, 2015, 2019 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> @@ -722,8 +722,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' @@ -1203,10 +1202,9 @@ characters and lines resulting in a rainbow effect.") ;; 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 _ @@ -1600,8 +1598,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. @@ -1907,10 +1904,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/") @@ -2121,10 +2117,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) @@ -2285,9 +2280,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)) @@ -2361,9 +2356,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)) @@ -2394,8 +2389,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) @@ -2964,9 +2959,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. @@ -3400,7 +3395,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" (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) @@ -3705,9 +3701,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=" @@ -3734,30 +3733,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) @@ -4694,8 +4678,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, @@ -4787,10 +4771,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"))) @@ -5771,7 +5754,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 @@ -6137,11 +6120,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 " @@ -6870,9 +6852,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 @@ -7095,7 +7077,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) @@ -8511,10 +8493,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" @@ -8661,10 +8642,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-file inputs "/include/SDL") + ":" (or (getenv "CPATH") "")))))))) (inputs `(("fontconfig" ,fontconfig) ("freeglut" ,freeglut) @@ -8780,10 +8760,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))) @@ -8974,10 +8953,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 @@ -10445,7 +10422,7 @@ This package is part of the KDE games module.") (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (wrap-program (string-append out "/bin/kajongg") - `("PYTHONPATH" ":" prefix (,(getenv "PYTHONPATH")))) + `("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))) #t)))))) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) @@ -11886,8 +11863,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") @@ -12223,8 +12199,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"))) |