diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 473 |
1 files changed, 351 insertions, 122 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 42f2230482..10b3a072b9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -19,7 +19,7 @@ ;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org> ;;; Copyright © 2016, 2017, 2018, 2019 Kei Kebreau <kkebreau@posteo.net> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> @@ -48,6 +48,9 @@ ;;; Copyright © 2017, 2019 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2020 Alberto Eleuterio Flores Guerrero <barbanegra+guix@posteo.mx> ;;; Copyright © 2020 Naga Malleswari <nagamalli@riseup.net> +;;; Copyright © 2020 Vitaliy Shatrov <D0dyBo0D0dyBo0@protonmail.com> +;;; Copyright © 2020 Jack Hill <jackhill@jackhill.us> +;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -172,6 +175,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages messaging) #:use-module (gnu packages networking) + #:use-module (guix build-system copy) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -329,9 +333,6 @@ the more advanced player there are new game modes and a wide variety of physics settings to tweak as well.") (license license:gpl2+))) -(define-public armagetron-advanced - (deprecated-package "armagetron-advanced" armagetronad)) - (define-public bastet (package (name "bastet") @@ -396,62 +397,112 @@ Playing bastet can be a painful experience, especially if you usually make canyons and wait for the long I-shaped block to clear four rows at a time.") (license license:gpl3+))) +(define-public blobwars + (package + (name "blobwars") + (version "2.00") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/blobwars/" + "blobwars-" version ".tar.gz")) + (sha256 + (base32 "16aagvkx6azf75gm5kaa94bh5npydvhqp3fvdqyfsanzdjgjf1n4")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "PREFIX=" out) + (string-append "BINDIR=" out "/bin/") + "USEPAK=1" + "RELEASE=1")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'werror-begone + (lambda _ + (substitute* "Makefile" (("-Werror") "")) + #t)) + (delete 'configure)))) ;no configure script + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("hicolor-icon-theme" ,hicolor-icon-theme) + ("sdl" ,(sdl-union (list sdl2 + sdl2-image + sdl2-mixer + sdl2-ttf + sdl2-net))))) + (home-page "https://sourceforge.net/projects/blobwars/") + (synopsis "Platform action game featuring a blob with a lot of weapons") + (description "Blobwars: Metal Blob Solid is a 2D platform game, the first +in the Blobwars series. You take on the role of a fearless Blob agent. Your +mission is to infiltrate various enemy bases and rescue as many MIAs as +possible, while battling many vicious aliens.") + (license (list license:gpl2 ; For code and graphics + license:cc0 ; Music and sounds have specific licenses + license:cc-by3.0 ; see /doc/readme + license:cc-by-sa3.0 + license:lgpl2.1+ + license:bsd-2)))) + (define-public cataclysm-dda - (let ((commit "9c732a5de48928691ab863d3ab275ca7b0e522fc")) - (package - (name "cataclysm-dda") - (version "0.D") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/CleverRaven/Cataclysm-DDA.git") - (commit commit))) - (sha256 - (base32 - "00zzhx1mh1qjq668cga5nbrxp2qk6b82j5ak65skhgnlr6ii4ysc")) - (file-name (git-file-name name version)))) - (build-system gnu-build-system) - (arguments - '(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")) - "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1" - "LOCALIZE=1" "LANGUAGES=all") - #:phases - (modify-phases %standard-phases - (delete 'configure) - (add-after 'build 'build-tiles - (lambda* (#:key make-flags outputs #:allow-other-keys) - ;; Change prefix directory and enable tile graphics and sound. - (apply invoke "make" "TILES=1" "SOUND=1" - (string-append "PREFIX=" - (assoc-ref outputs "tiles")) - (cdr make-flags)))) - (add-after 'install 'install-tiles - (lambda* (#:key make-flags outputs #:allow-other-keys) - (apply invoke "make" "install" "TILES=1" "SOUND=1" - (string-append "PREFIX=" - (assoc-ref outputs "tiles")) - (cdr make-flags))))) - ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native - ;; input in order to support tests. - #:tests? #f)) - (outputs '("out" - "tiles")) ; For tile graphics and sound support. - (native-inputs - `(("gettext" ,gettext-minimal) - ("pkg-config" ,pkg-config))) - (inputs - `(("freetype" ,freetype) - ("libogg" ,libogg) - ("libvorbis" ,libvorbis) - ("ncurses" ,ncurses) - ("sdl2" ,sdl2) - ("sdl2-image" ,sdl2-image) - ("sdl2-ttf" ,sdl2-ttf) - ("sdl2-mixer" ,sdl2-mixer))) - (home-page "https://cataclysmdda.org/") - (synopsis "Survival horror roguelike video game") - (description - "Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set + (package + (name "cataclysm-dda") + (version "0.E") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/CleverRaven/Cataclysm-DDA.git") + (commit version))) + (sha256 + (base32 "0pbi0fw37zimzdklfj58s1ql0wlqq7dy6idkcsib3hn910ajaxan")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "USE_HOME_DIR=1" "DYNAMIC_LINKING=1" "RELEASE=1" + "LOCALIZE=1" "LANGUAGES=all") + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-after 'build 'build-tiles + (lambda* (#:key make-flags outputs #:allow-other-keys) + ;; Change prefix directory and enable tile graphics and sound. + (apply invoke "make" "TILES=1" "SOUND=1" + (string-append "PREFIX=" + (assoc-ref outputs "tiles")) + (cdr make-flags)))) + (add-after 'install 'install-tiles + (lambda* (#:key make-flags outputs #:allow-other-keys) + (apply invoke "make" "install" "TILES=1" "SOUND=1" + (string-append "PREFIX=" + (assoc-ref outputs "tiles")) + (cdr make-flags))))) + ;; TODO: Add libtap++ from https://github.com/cbab/libtappp as a native + ;; input in order to support tests. + #:tests? #f)) + (outputs '("out" + "tiles")) ;for tile graphics and sound support + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config))) + (inputs + `(("freetype" ,freetype) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("ncurses" ,ncurses) + ("sdl2" ,sdl2) + ("sdl2-image" ,sdl2-image) + ("sdl2-ttf" ,sdl2-ttf) + ("sdl2-mixer" ,sdl2-mixer))) + (home-page "https://cataclysmdda.org/") + (synopsis "Survival horror roguelike video game") + (description + "Cataclysm: Dark Days Ahead (or \"DDA\" for short) is a roguelike set in a post-apocalyptic world. Struggle to survive in a harsh, persistent, procedurally generated world. Scavenge the remnants of a dead civilization for food, equipment, or, if you are lucky, a vehicle with a full tank of gas @@ -459,10 +510,7 @@ to get you out of Dodge. Fight to defeat or escape from a wide variety of powerful monstrosities, from zombies to giant insects to killer robots and things far stranger and deadlier, and against the others like yourself, that want what you have.") - (license license:cc-by-sa3.0)))) - -(define-public cataclysm-dark-days-ahead - (deprecated-package "cataclysm-dark-days-ahead" cataclysm-dda)) + (license license:cc-by-sa3.0))) (define-public corsix-th (package @@ -1099,6 +1147,46 @@ destroying an ancient book using a special wand.") ;; license. The whole package is released under GPLv3+. (license license:gpl3+))) +(define-public gnome-chess + (package + (name "gnome-chess") + (version "3.36.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "1a9fgi749gy1f60vbcyrqqkab9vqs42hji70q73k1xx8rv0agmg0")))) + (build-system meson-build-system) + (arguments + '(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) + (inputs + `(("gtk+" ,gtk+) + ("librsvg" ,librsvg))) + (native-inputs + `(("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") ; for desktop-file-validate and appstream-util + ("itstool" ,itstool) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (home-page "https://wiki.gnome.org/Apps/Chess") + (synopsis "Chess board for GNOME") + (description "GNOME Chess provides a 2D board for playing chess games +against human or computer players. It supports loading and saving games in +Portable Game Notation. To play against a computer, install a chess engine +such as chess or stockfish.") + (license license:gpl3+))) + (define-public gnubg (package (name "gnubg") @@ -1151,9 +1239,6 @@ beginners and advanced players. In addition to a command-line interface, it also features an attractive, 3D representation of the playing board.") (license license:gpl3+))) -(define-public gnubackgammon - (deprecated-package "gnubackgammon" gnubg)) - (define-public gnubik (package (name "gnubik") @@ -1259,10 +1344,11 @@ watch your CPU playing while enjoying a cup of tea!") (string-join (string-split version #\.) "") "-src.tgz")) (sha256 (base32 "1liyckjp34j354qnxc1zn9730lh1p2dabrg1hap24z6xnqx0rpng")))) + (native-inputs + `(("bison" ,bison) + ("flex" ,flex))) (inputs `(("ncurses" ,ncurses) - ("bison" ,bison) - ("flex" ,flex) ("less" ,less))) (build-system gnu-build-system) (arguments @@ -1704,9 +1790,6 @@ them, called Jean Raymond, found an old church in which to hide, not knowing that beneath its ruins lay buried an ancient evil.") (license license:gpl3))) -(define-public l-abbaye-des-morts - (deprecated-package "l-abbaye-des-morts" abbaye)) - (define-public angband (package (name "angband") @@ -1872,7 +1955,7 @@ asynchronously and at a user-defined speed.") (define-public chess (package (name "chess") - (version "6.2.5") + (version "6.2.6") (source (origin (method url-fetch) @@ -1880,13 +1963,15 @@ asynchronously and at a user-defined speed.") ".tar.gz")) (sha256 (base32 - "00j8s0npgfdi41a0mr5w9qbdxagdk2v41lcr42rwl1jp6miyk6cs")))) + "0kxhdv01ia91v2y0cmzbll391ns2vbmn65jjrv37h4s1srszh5yn")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/chess/") (synopsis "Full chess implementation") (description "GNU Chess is a chess engine. It allows you to compete against the computer in a game of chess, either through the default terminal interface or via an external visual interface such as GNU XBoard.") + (properties '((upstream-name . "gnuchess") + (ftp-directory . "/chess"))) (license license:gpl3+))) (define freedink-engine @@ -2835,9 +2920,6 @@ experience and advance levels, and are carried over from one scenario to the next campaign.") (license license:gpl2+))) -(define-public the-battle-for-wesnoth - (deprecated-package "the-battle-for-wesnoth" wesnoth)) - (define-public wesnoth-server (package (inherit wesnoth) @@ -2854,9 +2936,6 @@ next campaign.") (description "This package contains a dedicated server for @emph{The Battle for Wesnoth}."))) -(define-public the-battle-for-wesnoth-server - (deprecated-package "the-battle-for-wesnoth-server" wesnoth-server)) - (define-public gamine (package (name "gamine") @@ -2944,20 +3023,14 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "1.9.3") + (version "1.10.0") (source (origin (method url-fetch) - (uri (string-append "https://proxy.binaries.openttd.org/openttd-releases/" + (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "0ijq72kgx997ggw40i5f4a3nf7y2g72z37l47i18yjvgbdzy320r")) - (modules '((guix build utils))) - (snippet - ;; The DOS port contains proprietary software. - '(begin - (delete-file-recursively "os/dos") - #t)))) + "0lz2y2rjc23k0d97y65cqhy2splw9cmrbvhgz0iqps8xkan1m8hv")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target @@ -3007,15 +3080,15 @@ engine. When you start it you will be prompted to download a graphics set.") (define openttd-opengfx (package (name "openttd-opengfx") - (version "0.5.5") + (version "0.6.0") (source (origin (method url-fetch) - (uri (string-append "http://binaries.openttd.org/extra/opengfx/" + (uri (string-append "https://cdn.openttd.org/opengfx-releases/" version "/opengfx-" version "-source.tar.xz")) (sha256 (base32 - "009fa1bdin1bk0ynzhzc30hzkmmwzmwkk6j591ax3f6w75l28n49")))) + "0qxc6gl2gxcrn1np88dnjgbaaakkkx96b13rcmy1spryc8c09hyr")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -3045,6 +3118,7 @@ engine. When you start it you will be prompted to download a graphics set.") ("gimp" ,gimp) ("grfcodec" ,grfcodec) ("nml" ,nml) + ("which" ,which) ("python" ,python-2))) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") @@ -3689,6 +3763,69 @@ fullscreen, use F5 or Alt+Enter.") ;; Code mainly BSD-2, some parts under Boost 1.0. All assets are WTFPL2. (license (list license:bsd-2 license:boost1.0 license:wtfpl2)))) +(define-public tennix + (package + (name "tennix") + (version "1.3.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://repo.or.cz/tennix.git") + (commit (string-append "tennix-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "02cj4lrdrisal5s9pnbf2smx7qz9czczjzndfkhfx0qy67b957sk")) + ;; Remove non-free images. + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file + '("data/loc_training_camp.png" + "data/loc_austrian_open.png" + "data/loc_olympic_green_tennis.png")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no test + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-include + (lambda _ + (substitute* '("src/graphics.h" "src/sound.h") + (("#include \"(SDL_(image|ttf|mixer)\\.h)\"" _ header) + (string-append "#include \"SDL/" header "\""))) + (substitute* '("src/tennix.h" "src/network.h" "src/SDL_rotozoom.h") + (("#include <SDL.h>") "#include <SDL/SDL.h>") + (("#include <SDL_net.h>") "#include <SDL/SDL_net.h>")) + #t)) + (add-after 'unpack 'locate-install + ;; Build process cannot expand "$(INSTALL)" in Makefile. + (lambda _ + (substitute* "makefile" + (("^CONFIGURE_OUTPUT :=.*" all) + (string-append "INSTALL := install -c\n" all))) + #t)) + (replace 'configure + ;; The "configure" script is picky about the arguments it + ;; gets. Call it ourselves. + (lambda _ + (invoke "./configure" "--prefix" (assoc-ref %outputs "out"))))))) + (native-inputs + `(("which" ,which))) + (inputs + `(("python" ,python-wrapper) + ("sdl" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf sdl-net))))) + (home-page "http://icculus.org/tennix/") + (synopsis "Play tennis against the computer or a friend") + (description "Tennix is a 2D tennis game. You can play against the +computer or against another player using the keyboard. The game runs +in-window at 640x480 resolution or fullscreen.") + ;; Project is licensed under GPL2+ terms. It includes images + ;; released under Public Domain terms, and SDL_rotozoom, released + ;; under LGPL2.1 terms. + (license (list license:gpl2+ license:public-domain license:lgpl2.1)))) + (define-public warzone2100 (package (name "warzone2100") @@ -3745,7 +3882,7 @@ fullscreen, use F5 or Alt+Enter.") modes. An extensive tech tree with over 400 different technologies, combined with the unit design system, allows for a wide variety of possible units and tactics.") - ; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL + ; Everything is GPLv2+ unless otherwise specified in COPYING.NONGPL (license (list license:bsd-3 license:cc0 license:cc-by-sa3.0 @@ -3790,9 +3927,6 @@ in strikes against the evil corporation.") license:cc0 license:public-domain)))) -(define-public project-starfighter - (deprecated-package "project-starfighter" starfighter)) - (define-public chromium-bsu (package (name "chromium-bsu") @@ -3994,7 +4128,7 @@ with the \"Stamp\" tool within Tux Paint.") (define-public supertux (package (name "supertux") - (version "0.6.1") + (version "0.6.1.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/SuperTux/supertux/" @@ -4003,7 +4137,7 @@ with the \"Stamp\" tool within Tux Paint.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0lqch5gcq6ccnspy93z9r13bp8w2j1vrd8jhvk5kp4qhrd1f069s")) + "0n36qxwjlkdlksximz4s729az6pry2sdjavwgm7m65vfgdiz139f")) (patches (search-patches "supertux-unbundle-squirrel.patch")))) (arguments @@ -4728,9 +4862,6 @@ small robot living in the nano world, repair its maker.") ;; for a statement from the author. (license license:public-domain))) -(define-public kiki-the-nano-bot - (deprecated-package "kiki-the-nano-bot" kiki)) - (define-public teeworlds (package (name "teeworlds") @@ -5000,9 +5131,6 @@ underwater realm quarrel among themselves or comment on the efforts of your fish. The whole game is accompanied by quiet, comforting music.") (license license:gpl2+))) -(define-public fish-fillets-ng - (deprecated-package "fish-fillets-ng" fillets-ng)) - (define-public crawl (package (name "crawl") @@ -5082,9 +5210,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") license:zlib license:asl2.0)))) -(define-public dungeon-crawl-stone-soup - (deprecated-package "dungeon-crawl-stone-soup" crawl)) - ;; The linter here claims that patch file names should start with the package ;; name. But, in this case, the patches are inherited from crawl with the ;; "crawl-" prefix instead of "crawl-tiles-". @@ -5121,9 +5246,6 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.") ("which" ,which))) (synopsis "Graphical roguelike dungeon crawler game"))) -(define-public dungeon-crawl-stone-soup-tiles - (deprecated-package "dungeon-crawl-stone-soup-tiles" crawl-tiles)) - (define-public lugaru (package (name "lugaru") @@ -5533,9 +5655,6 @@ intuitive mouse control, streamlined mechanics and deep, challenging combat, Tales of Maj’Eyal offers engaging roguelike gameplay for the 21st century.") (license license:gpl3+))) -(define-public tales-of-maj-eyal - (deprecated-package "tales-of-maj-eyal" tome4)) - (define-public quakespasm (package (name "quakespasm") @@ -6072,7 +6191,7 @@ affect gameplay).") (package (inherit chocolate-doom) (name "crispy-doom") - (version "5.7.1") + (version "5.7.2") (source (origin (method git-fetch) (uri (git-reference @@ -6080,7 +6199,7 @@ affect gameplay).") (commit (string-append "crispy-doom-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1gqivy4pxasy7phyznixsagylf9f70bk33b0knpfzzlks6cc6zzj")))) + (base32 "002aqbgsksrgzqridwdlkrjincaxh0dkvwlrbb8d2f3kwk7lj4fq")))) (native-inputs (append (package-native-inputs chocolate-doom) @@ -6685,7 +6804,7 @@ GameController.") #t))))) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ;for desktop-file-validate - ("gettext" ,gnu-gettext) + ("gettext" ,gettext-minimal) ("glib" ,glib "bin") ;for glib-compile-resources ("itstool" ,itstool) ("libxml2" ,libxml2) ;for xmllint @@ -7001,9 +7120,6 @@ and cooperative.") ;; developers. (license (list license:gpl2+ license:lgpl2.1+)))) -(define-public battle-tanks - (deprecated-package "battle-tanks" btanks)) - (define-public slingshot (package (name "slingshot") @@ -7193,7 +7309,7 @@ where the player draws runes in real time to effect the desired spell.") `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) - ("gnu-gettext" ,gnu-gettext) + ("gnu-gettext" ,gettext-minimal) ("libtool" ,libtool) ("which" ,which))) (synopsis "2d action platformer game") @@ -7204,9 +7320,6 @@ a fortress beyond the forbidden swamp.") (home-page "https://www.parallelrealities.co.uk/games/edgar/") (license license:gpl2+))) -(define-public the-legend-of-edgar - (deprecated-package "the-legend-of-edgar" edgar)) - (define-public openclonk (package (name "openclonk") @@ -10352,3 +10465,119 @@ to conquer opponents by defeating them in war (with troops or machines), capturing their buildings with spies, or offering opponents money for their kingdom.") (license license:gpl2+))) + +(define-public neverball + ;; Git version is 6-years younger than latest release. + (let ((commit "760a25d32a5fb0661b99426d4ddcb9ac9f3d1644") + (revision "1")) + (package + (name "neverball") + (version (git-version "1.6.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Neverball/neverball.git") + (commit commit))) + (sha256 + (base32 + "0bwh67df3lyf33bv710y25l3frjdd34j9b7gsjadwxviz6r1vpj5")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Octocat seems to be non-free. Oddly, Debian doesn't strip it. + (delete-file-recursively "data/ball/octocat") + #t)))) + (build-system copy-build-system) + (arguments + `(#:install-plan + '(("neverball" "bin/") + ("neverputt" "bin/") + ("mapc" "bin/") + ("data" "share/games/neverball/") + ("locale" "share/") + ("dist/" "share/games/neverball" #:include ("neverball_replay.png" + "neverlogos.svg" + "svg readme.txt")) + ("dist/" "share/applications" #:include ("neverball.desktop" + "neverputt.desktop")) + ("dist/neverball_16.png" + "/share/icons/hicolor/16x16/apps/neverball.png") + ("dist/neverball_24.png" + "/share/icons/hicolor/24x24/apps/neverball.png") + ("dist/neverball_32.png" + "/share/icons/hicolor/32x32/apps/neverball.png") + ("dist/neverball_48.png" + "/share/icons/hicolor/48x48/apps/neverball.png") + ("dist/neverball_64.png" + "/share/icons/hicolor/64x64/apps/neverball.png") + ("dist/neverball_128.png" + "/share/icons/hicolor/128x128/apps/neverball.png") + ("dist/neverball_256.png" + "/share/icons/hicolor/256x256/apps/neverball.png") + ("dist/neverball_512.png" + "/share/icons/hicolor/512x512/apps/neverball.png") + ("dist/neverputt_16.png" + "/share/icons/hicolor/16x16/apps/neverputt.png") + ("dist/neverputt_24.png" + "/share/icons/hicolor/24x24/apps/neverputt.png") + ("dist/neverputt_32.png" + "/share/icons/hicolor/32x32/apps/neverputt.png") + ("dist/neverputt_48.png" + "/share/icons/hicolor/48x48/apps/neverputt.png") + ("dist/neverputt_64.png" + "/share/icons/hicolor/64x64/apps/neverputt.png") + ("dist/neverputt_128.png" + "/share/icons/hicolor/128x128/apps/neverputt.png") + ("dist/neverputt_256.png" + "/share/icons/hicolor/256x256/apps/neverputt.png") + ("dist/neverputt_512.png" + "/share/icons/hicolor/512x512/apps/neverputt.png") + ("dist/" "share/man/man1" #:include ("mapc.1")) + ("dist/" "share/man/man6" #:include ("neverball.6" "neverputt.6")) + ("doc/" "share/doc/neverball") + ("README.md" "share/doc/neverball/")) + #:phases + (modify-phases %standard-phases + (add-before 'install 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (sdl (assoc-ref inputs "sdl"))) + (invoke "make" "-j" (number->string (parallel-job-count)) + "--environment-overrides" + "CC=gcc" "BUILD=release" + (string-append "DATADIR=" + out + "/share/games/neverball/data") + (string-append "LOCALEDIR=" out "/share/locale") + (string-append "SDL_CPPFLAGS=-I" + sdl + "/include/SDL2/"))) + #t)) + (add-after 'install 'fix-some-broken-fonts + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/neverball") + `("LANG" = ("en_US.utf8"))) + (wrap-program (string-append out "/bin/neverputt") + `("LANG" = ("en_US.utf8")))) + #t))))) + (native-inputs + `(("gettext" ,gettext-minimal))) ;for msgfmt + (inputs + `(("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libvorbis" ,libvorbis) + ("physfs" ,physfs) + ("sdl" ,(sdl-union (list sdl2 sdl2-ttf))))) + (home-page "https://neverball.org/") + (synopsis "3D floor-tilting game") + (description + "In the grand tradition of Marble Madness and Super Monkey Ball, +Neverball has you guide a rolling ball through dangerous territory. Balance +on narrow bridges, navigate mazes, ride moving platforms, and dodge pushers +and shovers to get to the goal. Race against the clock to collect coins to +earn extra balls. Also included is Neverputt, which is a 3D miniature golf +game.") ;thanks to Debian for description + (license license:gpl2+)))) |