summaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm144
1 files changed, 59 insertions, 85 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ad48c49566..349969654d 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>
@@ -679,8 +679,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'
@@ -1160,10 +1159,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 _
@@ -1557,8 +1555,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.
@@ -1864,10 +1861,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/")
@@ -2078,10 +2074,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)
@@ -2242,9 +2237,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))
@@ -2318,9 +2313,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))
@@ -2351,8 +2346,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)
@@ -2921,9 +2916,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.
@@ -3357,7 +3352,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)
@@ -3814,9 +3810,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="
@@ -3843,30 +3842,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)
@@ -4803,8 +4787,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,
@@ -4896,10 +4880,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")))
@@ -5880,7 +5863,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
@@ -6246,11 +6229,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 "
@@ -6981,10 +6963,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
@@ -7197,7 +7178,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)
@@ -8619,10 +8600,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"
@@ -8769,10 +8749,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)
@@ -8888,10 +8867,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)))
@@ -9082,10 +9060,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
@@ -10515,7 +10491,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)
@@ -11956,8 +11932,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")
@@ -12293,8 +12268,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")))