summaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
committerMarius Bakke <mbakke@fastmail.com>2020-04-08 13:00:50 +0200
commit27783023993f9272ce422868d14529159c4a5218 (patch)
tree9013b08aa39e497b1fd8e01a05254278d83f0ff7 /gnu/packages/games.scm
parentbe1e842ad78ac6c52fc7790f4a3ffd716673c111 (diff)
parentba6f2bda18ed19fa486a9c3e2c3baea6c66c6867 (diff)
downloadpatches-27783023993f9272ce422868d14529159c4a5218.tar
patches-27783023993f9272ce422868d14529159c4a5218.tar.gz
Merge branch 'master' into core-updates
Conflicts: etc/news.scm gnu/local.mk gnu/packages/check.scm gnu/packages/cross-base.scm gnu/packages/gimp.scm gnu/packages/java.scm gnu/packages/mail.scm gnu/packages/sdl.scm gnu/packages/texinfo.scm gnu/packages/tls.scm gnu/packages/version-control.scm
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm169
1 files changed, 165 insertions, 4 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 06d1b3c11c..7b22dfc052 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -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)
@@ -1093,6 +1097,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")
@@ -1250,10 +1294,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
@@ -6634,7 +6679,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
@@ -7139,7 +7184,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")
@@ -10291,3 +10336,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-turbo)
+ ("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+))))