diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 537 |
1 files changed, 281 insertions, 256 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 591a3d3f38..8cc29b3487 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013 John Darrington <jmd@gnu.org> ;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org> ;;; Copyright © 2014, 2015 David Thompson <dthompson2@worcester.edu> -;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Eric Bavier <bavier@posteo.net> +;;; Copyright © 2014-2022 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, 2021 Ludovic Courtès <ludo@gnu.org> @@ -68,6 +68,7 @@ ;;; Copyright © 2021 Brendan Tildesley <mail@brendan.scot> ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> +;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream> ;;; ;;; This file is part of GNU Guix. ;;; @@ -820,37 +821,37 @@ Quizzes: arithmetic and quiz.") (define-public bzflag (package (name "bzflag") - (version "2.4.22") + (version "2.4.24") (source (origin (method url-fetch) (uri (string-append "https://download.bzflag.org/bzflag/source/" version "/bzflag-" version ".tar.bz2")) (sha256 - (base32 "0kba0011nswc2csqlzkd7bas307zm5813zlnby5vsmxn08rnar4y")))) + (base32 "1i73ijlnxsz52fhqgkj2qcvibfgav3byq1is68gab2zwnyz330az")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-desktop-file-and-icons - (lambda* (#:key outputs #:allow-other-keys) - (let* ((share (string-append (assoc-ref outputs "out") "/share")) - (data (string-append share "/bzflag")) - (hicolor (string-append share "/icons/hicolor")) - (applications (string-append share "/applications"))) - ;; Move desktop file. - (install-file (string-append data "/bzflag.desktop") - applications) - ;; Install icons. - (for-each (lambda (size) - (let* ((dim (string-append size "x" size)) - (dir (string-append hicolor "/" dim "/apps"))) - (mkdir-p dir) - (copy-file - (string-append data "/bzflag-" dim ".png") - (string-append dir "/bzflag.png")))) - '("48" "256"))) - #t))))) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'install-desktop-file-and-icons + (lambda _ + (let* ((share (string-append #$output "/share")) + (data (string-append share "/bzflag")) + (hicolor (string-append share "/icons/hicolor")) + (applications (string-append share "/applications"))) + ;; Move desktop file. + (install-file (string-append data "/bzflag.desktop") + applications) + ;; Install icons. + (for-each (lambda (size) + (let* ((dim (string-append size "x" size)) + (dir (string-append hicolor "/" dim "/apps"))) + (mkdir-p dir) + (copy-file + (string-append data "/bzflag-" dim ".png") + (string-append dir "/bzflag.png")))) + '("48" "256")))))))) (native-inputs (list pkg-config)) (inputs @@ -2360,100 +2361,98 @@ can be explored and changed freely.") (define-public seahorse-adventures (package (name "seahorse-adventures") - (version "1.3") + (version "1.4") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/dulsi/seahorse-adventures") - (commit (string-append "release-" version)))) + (commit (string-append "Release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0m53jh2gchzr7rs35hml6lbvc5kb5hp229wlfqa09098b7hhl15a")) + (base32 "1dxysa79cz5mflr2953fyk838h1jwvi1ngn8wlpms0ag35yv21s8")) (modules '((guix build utils) (ice-9 ftw) (srfi srfi-1))) ;; Remove non-free (non-commercial) font. (snippet - `(begin - (for-each delete-file (find-files "data/fonts" ".")) - #t)))) + #~(begin + (for-each delete-file (find-files "data/fonts" ".")))))) (build-system python-build-system) (arguments - `(#:tests? #f ;no test - #:phases - (modify-phases %standard-phases - (delete 'build) ;pure Python - (replace 'install ;no install script - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (share (string-append out "/share")) - (applications (string-append share "/applications")) - (data (string-append share "/seahorse-adventures"))) - ;; Install data. - (for-each (lambda (f) - (chmod f #o555) - (install-file f data)) - '("leveledit.py" "run_game.py" "tileedit.py")) - (for-each (lambda (dir) - (let ((target (string-append data "/" dir))) - (mkdir-p target) - (copy-recursively dir target))) - '("data" "lib")) - ;; Create executable. - (mkdir-p bin) - (let ((executable (string-append bin "/seahorse-adventures"))) - (call-with-output-file executable - (lambda (p) - (format p - "#!~a~@ + (list + #:tests? #f ;no test + #:phases + #~(modify-phases %standard-phases + (delete 'build) ;pure Python + (replace 'install ;no install script + (lambda* (#:key inputs #:allow-other-keys) + (let* ((bin (string-append #$output "/bin")) + (share (string-append #$output "/share")) + (applications (string-append share "/applications")) + (data (string-append share "/seahorse-adventures"))) + ;; Install data. + (for-each (lambda (f) + (chmod f #o555) + (install-file f data)) + '("leveledit.py" "run_game.py" "tileedit.py")) + (for-each (lambda (dir) + (let ((target (string-append data "/" dir))) + (mkdir-p target) + (copy-recursively dir target))) + '("data" "lib")) + ;; Create executable. + (mkdir-p bin) + (let ((executable (string-append bin "/seahorse-adventures"))) + (call-with-output-file executable + (lambda (p) + (format p + "#!~a~@ export GUIX_PYTHONPATH=~a:~a~@ exec -a \"~a\" ~a \"$@\"~%" - (which "bash") data (getenv "GUIX_PYTHONPATH") - (which "python3") - (string-append data "/run_game.py")))) - (chmod executable #o555)) - ;; Add desktop file. - (mkdir-p applications) - (make-desktop-entry-file - (string-append applications "/seahorse-adventures.desktop") - #:name "Seahorse Adventures" - #:comment - '((#f "Help Barbie the seahorse float on bubbles to the moon")) - #:exec ,name - #:icon ,name - #:categories '("Game" "ActionGame") - #:keywords '("game" "retro" "platform")) - ;; Add icons. - (for-each - (lambda (size) - (let ((dir (string-append share "/icons/hicolor/" - size "x" size "/apps"))) - (mkdir-p dir) - (copy-file - (string-append "icon" size ".png") - (string-append dir "/searhorse-adventures.png")))) - '("32" "64" "128"))) - #t)) - (add-after 'install 'unbundle-fonts - ;; Unbundle Bitstream Vera font and replace deleted one. - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (data (string-append out "/share/seahorse-adventures")) + (search-input-file inputs "/bin/bash") + data + (getenv "GUIX_PYTHONPATH") + (search-input-file inputs "/bin/python3") + (string-append data "/run_game.py")))) + (chmod executable #o555)) + ;; Add desktop file. + (mkdir-p applications) + (make-desktop-entry-file + (string-append applications "/seahorse-adventures.desktop") + #:name "Seahorse Adventures" + #:comment + '((#f "Help Barbie the seahorse float on bubbles to the moon")) + #:exec #$name + #:icon #$name + #:categories '("Game" "ActionGame") + #:keywords '("game" "retro" "platform")) + ;; Add icons. + (for-each + (lambda (size) + (let ((dir (string-append share "/icons/hicolor/" + size "x" size "/apps"))) + (mkdir-p dir) + (copy-file + (string-append "icon" size ".png") + (string-append dir "/searhorse-adventures.png")))) + '("32" "64" "128"))))) + (add-after 'install 'unbundle-fonts + ;; Unbundle Bitstream Vera font and replace deleted one. + (lambda* (#:key inputs #:allow-other-keys) + (let ((data (string-append #$output "/share/seahorse-adventures")) (vera (search-input-file inputs "/share/fonts/truetype/Vera.ttf"))) - (let ((themes-dir (string-append data "/data/themes/"))) - (for-each - (lambda (theme) - (let ((target (string-append themes-dir theme "/Vera.ttf"))) - (delete-file target) - (symlink vera target))) - '("default" "gray"))) - (symlink vera (string-append data "/data/fonts/04B_20__.TTF")) - (substitute* (string-append data "/lib/main.py") - (("f_scale = 0.35") "f_scale = 0.47"))) - #t))))) + (let ((themes-dir (string-append data "/data/themes/"))) + (for-each + (lambda (theme) + (let ((target (string-append themes-dir theme "/Vera.ttf"))) + (delete-file target) + (symlink vera target))) + '("default" "gray"))) + (symlink vera (string-append data "/data/fonts/04B_20__.TTF")) + (substitute* (string-append data "/lib/main.py") + (("f_scale = 0.35") "f_scale = 0.47")))))))) (inputs (list font-bitstream-vera python-pygame)) (home-page "http://www.imitationpickles.org/barbie/") @@ -4220,14 +4219,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "12.0") + (version "12.1") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "1p1j5cf4ry57dcgm7qx2g2s00z1c6qgjabb4kqjp00yz00wgv85v")))) + "1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5")))) (build-system cmake-build-system) (inputs `(("allegro" ,allegro) @@ -4583,6 +4582,40 @@ images, etc.)") ;; regarding assets. (license license:gpl3+))) +(define-public openriichi + (package + (name "openriichi") + (version "0.2.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FluffyStuff/OpenRiichi") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1x6m4mli92chns5dky9aq9w4r4pnycvlpa2q0giydapm5q9fkslf")))) + (build-system meson-build-system) + (arguments + '(#:configure-flags (list "--buildtype=release") + #:glib-or-gtk? #t)) + (inputs (list glew + gtk+ + libgee + sdl2 + sdl2-image + sdl2-mixer)) + (native-inputs (list pkg-config vala)) + (home-page "https://github.com/FluffyStuff/OpenRiichi") + (synopsis "Japanese Mahjong client") + (description + "OpenRiichi is a client for playing Japanese Mahjong, and it supports +singleplayer and multiplayer, with or without bots. It features all the +standard riichi rules, as well as some optional ones. It also supports game +logging, so games can be viewed again.") + (license license:gpl3))) + (define-public pinball (package (name "pinball") @@ -5822,7 +5855,7 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "2.6.6") + (version "3.0.0") (source (origin (method url-fetch) @@ -5832,9 +5865,9 @@ for Un*x systems with X11.") (string-append "mirror://sourceforge/freeciv/Freeciv%20" (version-major+minor version) "/" version - "/freeciv-" version ".tar.bz2"))) + "/freeciv-" version ".tar.xz"))) (sha256 - (base32 "04aq2v1ima87sap6yjb7jrm1ss63ax7v5kg7rpkj44887kfybkvv")))) + (base32 "1cm0530xmbqdhqkr89xb845cd756nillbdq53r3z5zpxsj18fapa")))) (build-system gnu-build-system) (inputs (list curl cyrus-sasl gtk+ sdl-mixer zlib)) @@ -6391,63 +6424,61 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.27.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/crawl/crawl/releases/download/" version "/stone_soup-" version "-nodeps.tar.xz")) (sha256 - (base32 "0nkhyhrrma8gmwxp15j84cn1k2yvyq7ar9rd0j2qjjlv2kdis5z2")) + (base32 "0irg5w4m127fxcj037kyp9vnyqyq1fi4q64rn6yq92w8z1lf2sss")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs - `(("lua51" ,lua-5.1) - ("ncurses" ,ncurses) - ("sqlite" ,sqlite) - ("zlib" ,zlib))) + (list lua-5.1 ncurses sqlite zlib)) (native-inputs - `(("bison" ,bison) - ("flex" ,flex) - ("perl" ,perl) - ("python" ,python-wrapper) - ("python-pyyaml" ,python-pyyaml) - ("pkg-config" ,pkg-config))) + (list bash-minimal + bison + flex + perl + pkg-config + python-wrapper + python-pyyaml)) (arguments - `(#:make-flags - (let* ((sqlite (assoc-ref %build-inputs "sqlite")) - (out (assoc-ref %outputs "out"))) - (list (string-append "SQLITE_INCLUDE_DIR=" sqlite "/include") - (string-append "prefix=" out) - "SAVEDIR=~/.crawl" - ;; Don't compile with SSE on systems which don't have it. - ,@(match (%current-system) + (list + #:make-flags + #~(list (string-append "SQLITE_INCLUDE_DIR=" + #$(this-package-input "sqlite") + "/include") + (string-append "prefix=" #$output) + "SAVEDIR=~/.crawl" + ;; Don't compile with SSE on systems which don't have it. + #$@(match (%current-system) ((or "i686-linux" "x86_64-linux") '()) (_ '("NOSSE=TRUE"))) - ;; don't build any bundled dependencies - "BUILD_LUA=" - "BUILD_SQLITE=" - "BUILD_ZLIB=" - "-Csource")) - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'find-SDL-image - (lambda _ - (substitute* "source/windowmanager-sdl.cc" - (("SDL_image.h") "SDL2/SDL_image.h")) - #t)) - (delete 'configure) - (replace 'check - (lambda* (#:key inputs outputs make-flags #:allow-other-keys) - (setenv "HOME" (getcwd)) - ;; Fake a terminal for the test cases. - (setenv "TERM" "xterm-256color") - ;; Run the tests that don't require a debug build. - (apply invoke "make" "nondebugtest" - (format #f "-j~d" (parallel-job-count)) - ;; Force command line build for test cases. - (append make-flags '("GAME=crawl" "TILES=")))))))) + ;; don't build any bundled dependencies + "BUILD_LUA=" + "BUILD_SQLITE=" + "BUILD_ZLIB=" + "-Csource") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-SDL-image + (lambda _ + (substitute* "source/windowmanager-sdl.cc" + (("SDL_image.h") "SDL2/SDL_image.h")))) + (delete 'configure) + (replace 'check + (lambda* (#:key make-flags #:allow-other-keys) + (setenv "HOME" (getcwd)) + ;; Fake a terminal for the test cases. + (setenv "TERM" "xterm-256color") + ;; Run the tests that don't require a debug build. + (apply invoke "make" "nondebugtest" + (format #f "-j~d" (parallel-job-count)) + ;; Force command line build for test cases. + (append make-flags '("GAME=crawl" "TILES=")))))))) (synopsis "Roguelike dungeon crawler game") (description "Dungeon Crawl Stone Soup (also known as \"Crawl\" or DCSS for short) is a roguelike adventure through dungeons filled with dangerous @@ -6472,29 +6503,23 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") (substitute-keyword-arguments (package-arguments crawl) ((#:make-flags flags) - `(let ((dejavu (assoc-ref %build-inputs "font-dejavu"))) - (cons* - (string-append "PROPORTIONAL_FONT=" dejavu - "/share/fonts/truetype/DejaVuSans.ttf") - (string-append "MONOSPACED_FONT=" dejavu - "/share/fonts/truetype/DejaVuSansMono.ttf") - "TILES=y" - ;; Rename the executable to allow parallel installation with crawl. - "GAME=crawl-tiles" - ,flags))))) - (inputs - `(,@(package-inputs crawl) - ("font-dejavu" ,font-dejavu) - ("freetype6" ,freetype) - ("glu" ,glu) - ("libpng" ,libpng) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-mixer" ,sdl2-mixer))) - (native-inputs - `(,@(package-native-inputs crawl) - ("pngcrush" ,pngcrush) - ("which" ,which))) + #~(cons* + (string-append "PROPORTIONAL_FONT=" + #$(this-package-input "font-dejavu") + "/share/fonts/truetype/DejaVuSans.ttf") + (string-append "MONOSPACED_FONT=" + #$(this-package-input "font-dejavu") + "/share/fonts/truetype/DejaVuSansMono.ttf") + "TILES=y" + ;; Rename the executable to allow parallel installation with crawl. + "GAME=crawl-tiles" + #$flags)))) + (inputs + (modify-inputs (package-inputs crawl) + (prepend font-dejavu freetype glu libpng sdl2 sdl2-image sdl2-mixer))) + (native-inputs + (modify-inputs (package-native-inputs crawl) + (prepend pngcrush which))) (synopsis "Graphical roguelike dungeon crawler game"))) (define-public lugaru @@ -7155,7 +7180,7 @@ elements to achieve a simple goal in the most complex way possible.") (define-public pioneer (package (name "pioneer") - (version "20210723") + (version "20220203") (source (origin (method git-fetch) (uri (git-reference @@ -7164,7 +7189,7 @@ elements to achieve a simple goal in the most complex way possible.") (file-name (git-file-name name version)) (sha256 (base32 - "1hj99jxb9n3r0bkq87p1c24862xa1xyzjyfdyyx88ckszxb05qf3")))) + "0qjq6lsr1rmcnvq9b7r745cpp7n0q6cpc3k81q8ai4xspbq61m8w")))) (build-system cmake-build-system) (native-inputs (list pkg-config)) @@ -7183,6 +7208,7 @@ elements to achieve a simple goal in the most complex way possible.") (arguments `(#:tests? #f ;tests are broken #:configure-flags (list "-DUSE_SYSTEM_LIBLUA:BOOL=YES" + "-DUSE_SYSTEM_LIBGLEW:BOOL=YES" (string-append "-DPIONEER_DATA_DIR=" %output "/share/games/pioneer")) #:make-flags (list "all" "build-data"))) @@ -8909,7 +8935,7 @@ fight each other on an arena-like map.") (define-public flare-engine (package (name "flare-engine") - (version "1.12") + (version "1.13.04") (source (origin (method git-fetch) (uri (git-reference @@ -8918,15 +8944,16 @@ fight each other on an arena-like map.") (file-name (git-file-name name version)) (sha256 (base32 - "0h4xxj6r194pw68m3ngrnzkh6xgiblyrsc54z8abwba8m0mqbvmk")))) + "042n2r9whnd3kncf3k89dcl1srn7p2jk6kdc0lb2hbwff55iylnw")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no test - #:configure-flags '("-DBINDIR=bin" "-DDATADIR=share/flare"))) + (list + #:tests? #f ;no test + #:configure-flags #~(list "-DBINDIR=bin" "-DDATADIR=share/flare"))) (inputs - `(("hicolor-icon-theme" ,hicolor-icon-theme) - ("python" ,python-wrapper) - ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))) + (list hicolor-icon-theme + python-wrapper + (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))) (home-page "http://www.flarerpg.org/") (synopsis "Action Roleplaying Engine") (description "Flare (Free Libre Action Roleplaying Engine) is a simple @@ -8937,7 +8964,7 @@ action RPGs.") (define-public flare-game (package (name "flare-game") - (version "1.12") + (version "1.13.04") (source (origin (method git-fetch) (uri (git-reference @@ -8946,51 +8973,51 @@ action RPGs.") (file-name (git-file-name name version)) (sha256 (base32 - "0h9i128kq6disppbrplkf13zdmsg4cq23nim53mgwpawc4mqz7ga")))) + "18rdrwv7p5rvmlah5pl9vbc09xlb8id75a7c73yn2sxkm6cf5c2l")))) (build-system cmake-build-system) (arguments - `(#:tests? #f ;no test - #:configure-flags '("-DDATADIR=share/flare") - #:phases - (modify-phases %standard-phases - ;; Flare expects the mods to be located in the same folder. - ;; Yet, "default" mod is in the engine, whereas the others - ;; are in the current package. Merge everything here with - ;; a symlink. - (add-after 'install 'add-default-mod - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (mods (string-append out "/share/flare/mods"))) - (with-directory-excursion mods - (symlink (string-append (assoc-ref inputs "flare-engine") - "/share/flare/mods/default") - "default"))) - #t)) - (add-after 'install 'install-executable - ;; The package only provides assets for the game, the - ;; executable coming from "flare-engine". Since more than - ;; one game may use the engine, we create a new executable, - ;; "flare-game", which launches the engine with appropriate - ;; parameters. - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bash (search-input-file inputs "/bin/bash")) + (list + #:tests? #f ;no test + #:configure-flags #~(list "-DDATADIR=share/flare") + #:phases + #~(modify-phases %standard-phases + ;; Flare expects the mods to be located in the same folder. + ;; Yet, "default" mod is in the engine, whereas the others + ;; are in the current package. Merge everything here with + ;; a symlink. + (add-after 'install 'add-default-mod + (lambda* (#:key inputs #:allow-other-keys) + (let ((mods (string-append #$output "/share/flare/mods"))) + (with-directory-excursion mods + (symlink (search-input-directory inputs + "/share/flare/mods/default") + "default") + (symlink (search-input-file inputs + "/share/flare/mods/mods.txt") + "mods.txt"))))) + (add-after 'install 'install-executable + ;; The package only provides assets for the game, the + ;; executable coming from "flare-engine". Since more than + ;; one game may use the engine, we create a new executable, + ;; "flare-game", which launches the engine with appropriate + ;; parameters. + (lambda* (#:key inputs #:allow-other-keys) + (let ((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 - (lambda (port) - (format port - "#!~a + (script (string-append #$output "/bin/flare-game"))) + (mkdir-p (dirname script)) + (call-with-output-file script + (lambda (port) + (format port + "#!~a exec ~a --data-path=~a/share/flare --mods=empyrean_campaign~%" - bash - flare - out))) - (chmod script #o755)) - #t))))) + bash + flare + #$output))) + (chmod script #o755))))))) (inputs (list flare-engine)) - (home-page "http://www.flarerpg.org/") + (home-page "https://flarerpg.org/") (synopsis "Fantasy action RPG using the FLARE engine") (description "Flare is a single-player 2D action RPG with fast-paced action and a dark fantasy style.") @@ -9181,43 +9208,41 @@ and also provides the base for the FlightGear Flight Simulator.") ;; There are some bundled libraries. (for-each delete-file-recursively '("3rdparty/sqlite3/" - "3rdparty/cppunit/")) - #t)))) + "3rdparty/cppunit/")))))) (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 suite segfaults. - #:tests? #f - #:phases - (modify-phases %standard-phases - (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"))) - (mkdir-p share) - (with-directory-excursion share - (invoke "tar" "xf" (assoc-ref inputs "flightgear-data") - "--strip-components=1"))) - #t))))) + (list #:configure-flags + #~(list "-DSYSTEM_SQLITE=ON" + "-DSYSTEM_CPPUNIT=ON" + (string-append "-DFG_DATA_DIR=" #$output "/share/flightgear")) + ;; TODO: test suite segfaults. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (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 _ + (let ((share (string-append #$output "/share/flightgear"))) + (mkdir-p share) + (with-directory-excursion share + (invoke "tar" "xf" + #$(this-package-native-input "flightgear-data") + "--strip-components=1")))))))) (inputs (list boost dbus @@ -9367,7 +9392,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 - (list clang ghc pkg-config qttools)) + (list clang-9 ghc pkg-config qttools)) (home-page "https://hedgewars.org/") (synopsis "Turn-based artillery game featuring fighting hedgehogs") (description |