diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 144 |
1 files changed, 59 insertions, 85 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8c6b5523f1..2c8b3c083f 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]> @@ -678,8 +678,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' @@ -1159,10 +1158,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 _ @@ -1556,8 +1554,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. @@ -1863,10 +1860,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/") @@ -2077,10 +2073,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) @@ -2241,9 +2236,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)) @@ -2317,9 +2312,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)) @@ -2350,8 +2345,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) @@ -2920,9 +2915,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. @@ -3356,7 +3351,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) @@ -3813,9 +3809,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=" @@ -3842,30 +3841,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) @@ -4787,8 +4771,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, @@ -4880,10 +4864,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"))) @@ -5864,7 +5847,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 @@ -6230,11 +6213,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 " @@ -6965,10 +6947,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") ""))) - #t)) + (string-append + (search-input-directory inputs "/include/SDL2") + ":" (or (getenv "CPATH") ""))))) (delete 'check) ;; premake doesn't provide install target (replace 'install @@ -7181,7 +7162,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) @@ -8603,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" @@ -8753,10 +8733,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) @@ -8872,10 +8851,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))) @@ -9066,10 +9044,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 @@ -10499,7 +10475,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) @@ -11940,8 +11916,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") @@ -12277,8 +12252,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"))) |