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.scm244
1 files changed, 160 insertions, 84 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 34e7047bae..2d136574bc 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -27,7 +27,7 @@
;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
@@ -463,13 +463,14 @@ want what you have.")
(name "cowsay")
(version "3.04")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/tnalpgge/"
- "rank-amateur-cowsay/archive/"
- "cowsay-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tnalpgge/rank-amateur-cowsay.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "12w7apbf6a9qffk92r32b16w22na2fjcqbl32rn0n7zw5hrp3f6q"))))
+ "06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1880,30 +1881,38 @@ match, cannon keep, and grave-itation pit.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/minetest/minetest")
- (commit version)))
+ (url "https://github.com/minetest/minetest")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z"))
(modules '((guix build utils)))
(snippet
- '(begin
- (delete-file-recursively "lib") #t))))
+ '(begin
+ ;; Mimic upstream commit 706b6aad06, for compatibility with
+ ;; newer jsoncpp. Remove this for > 5.1.0.
+ (substitute* "cmake/Modules/FindJson.cmake"
+ (("features\\.h")
+ "allocator.h"))
+
+ ;; Delete bundled libraries.
+ (delete-file-recursively "lib")
+ #t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
- (list "-DRUN_IN_PLACE=0"
- "-DENABLE_FREETYPE=1"
- "-DENABLE_GETTEXT=1"
- "-DENABLE_SYSTEM_JSONCPP=TRUE"
- (string-append "-DIRRLICHT_INCLUDE_DIR="
- (assoc-ref %build-inputs "irrlicht")
- "/include/irrlicht")
- (string-append "-DCURL_INCLUDE_DIR="
- (assoc-ref %build-inputs "curl")
- "/include/curl"))
- #:tests? #f)) ; no check target
+ (list "-DRUN_IN_PLACE=0"
+ "-DENABLE_FREETYPE=1"
+ "-DENABLE_GETTEXT=1"
+ "-DENABLE_SYSTEM_JSONCPP=TRUE"
+ (string-append "-DIRRLICHT_INCLUDE_DIR="
+ (assoc-ref %build-inputs "irrlicht")
+ "/include/irrlicht")
+ (string-append "-DCURL_INCLUDE_DIR="
+ (assoc-ref %build-inputs "curl")
+ "/include/curl"))
+ #:tests? #f)) ;no check target
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
@@ -3787,13 +3796,14 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(name "laby")
(version "0.6.4")
(source
- (origin (method url-fetch)
- (uri (string-append
- "https://github.com/sgimenez/laby/archive/"
- "laby-" version ".tar.gz"))
+ (origin (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sgimenez/laby.git")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0gyrfa95l1qka7gbjf7l6mk7mbfvph00l0c995ia272qdw7rjhyf"))
+ "12fq9hhrxpzgfinmj9ra9ckss9yficwdlrmgjvvsq7agvh3sgyl1"))
(patches (search-patches "laby-make-install.patch"))))
(build-system gnu-build-system)
(inputs
@@ -3830,29 +3840,22 @@ programmers may also add their own favorite language.")
(define-public bambam
(package
(name "bambam")
- (version "0.6")
+ (version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/porridge/bambam")
- (commit version)))
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "08hcd0gzia3pz7fzk4pqc5kbq1074j4q0jcmbpgvr7n623nj2xa5"))))
+ (base32 "18cwd1wpyyx8y61cags9bkdhx9x858xicc4y1c9c2s0xjmgzhl3i"))))
(build-system python-build-system)
(arguments
- `(#:python ,python-2
- #:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
- (delete 'build)
- (add-before 'install 'patch-data-dir-location
- (lambda _
- (substitute* "bambam.py"
- (("'data'") "'../share/bambam/data'"))
- #t))
+ (delete 'build) ; nothing to build
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -3943,7 +3946,7 @@ throwing people around in pseudo-randomly generated buildings.")
(define-public hyperrogue
(package
(name "hyperrogue")
- (version "10.5d")
+ (version "11.2d")
;; When updating this package, be sure to update the "hyperrogue-data"
;; origin in native-inputs.
(source (origin
@@ -3954,7 +3957,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-src.tgz"))
(sha256
(base32
- "1ls055v4pv2xmn2a8lav7wl370zn0wsd91q41bk0amxd168kcndy"))))
+ "1b532s94zv1jsni7bvh848m42arxcclsr0x3n7c689iamwqzrxmn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
@@ -4032,7 +4035,7 @@ throwing people around in pseudo-randomly generated buildings.")
"-win.zip"))
(sha256
(base32
- "13n9hcvf9yv7kjghm5jhjpwq1kh94i4bgvcczky9kvdvw1y9278n"))))
+ "0vq4l1xaqpjj3hmxn1vn2b3bbkn1hrag42ck9f30blinv347bwhf"))))
("unzip" ,unzip)))
(inputs
`(("font-dejavu" ,font-dejavu)
@@ -4935,9 +4938,9 @@ fight against their plot and save his fellow rabbits from slavery.")
(home-page "https://play0ad.com")
(license (list (license:fsdg-compatible
"http://tavmjong.free.fr/FONTS/ArevCopyright.txt"
- (license:license-comment
- (package-license font-bitstream-vera)))
- (package-license font-bitstream-vera)
+ "Similar to the license of the Bitstream Vera fonts.")
+ (license:fsdg-compatible
+ "https://www.gnome.org/fonts/#Final_Bitstream_Vera_Fonts")
license:cc-by-sa3.0
license:expat
license:gfl1.0
@@ -5136,7 +5139,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
- (version "1.6.0")
+ (version "1.6.4")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@@ -5145,7 +5148,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
version ".tar.bz2"))
(sha256
(base32
- "1z1w4ycgl5wbm0sv7577vcdfwwf4k7vaf2njzyb21rvqjizpbkwr"))
+ "1hrh79aqmvwwd7idlr3lzpdpc9dgm1k5p7w2462chcjvd8vhfhb7"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5436,14 +5439,14 @@ making Yamagi Quake II one of the most solid Quake II implementations available.
(version "0.9.3.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/the-butterfly-effect/tbe/archive/"
- "v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/the-butterfly-effect/tbe.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "18qkp7fgdvyl3haqqa693mgyic7afsznsxgz98z9wn4csaqxsnby"))))
+ "1ag2cp346f9bz9qy6za6q54id44d2ypvkyhvnjha14qzzapwaysj"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -5787,7 +5790,7 @@ affect gameplay).")
(package
(inherit chocolate-doom)
(name "crispy-doom")
- (version "5.5.2")
+ (version "5.6.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -5795,7 +5798,7 @@ affect gameplay).")
(commit (string-append "crispy-doom-" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1a60ns0blhvml6gzj9qx18c18pbf02rq7vypaajd6nqy5h4fz3cn"))))
+ (base32 "0f319979wqfgm4pvsa6y5clg30p55l441kmrr8db0p5smyv3x2s4"))))
(native-inputs
(append
(package-native-inputs chocolate-doom)
@@ -6803,7 +6806,7 @@ where the player draws runes in real time to effect the desired spell.")
(define-public edgar
(package
(name "edgar")
- (version "1.31")
+ (version "1.32")
(source
(origin
(method url-fetch)
@@ -6811,7 +6814,7 @@ where the player draws runes in real time to effect the desired spell.")
(string-append "https://github.com/riksweeney/edgar/releases/download/"
version "/edgar-" version "-1.tar.gz"))
(sha256
- (base32 "0i4851ci8a86ql4bhdq3xdfmf4b9z5zrd4xpc6vhi06697zgm13i"))))
+ (base32 "12lam6qcscc5ima1w2ksd1cvsvxbd17h6mqkgsqpzx8ap43p2r5p"))))
(build-system gnu-build-system)
(arguments '(#:tests? #f ; there are no tests
#:make-flags
@@ -6879,6 +6882,22 @@ a fortress beyond the forbidden swamp.")
(("PATH_SUFFIXES \"src\" \"gtest\"")
"PATH_SUFFIXES \"src\""))
#t))
+ (add-after 'unpack 'adjust-backward-cpp-includes
+ (lambda _
+ ;; XXX: The bundled backward-cpp exports a CMake "interface"
+ ;; that includes external libraries such as libdl from glibc.
+ ;; By default, CMake interface includes are treated as "system
+ ;; headers", and GCC behaves poorly when glibc is passed as a
+ ;; system header (causing #include_next failures).
+
+ ;; Here we prevent targets that consume the Backward::Backward
+ ;; interface from treating it as "system includes".
+ (substitute* "CMakeLists.txt"
+ (("target_link_libraries\\((.+) Backward::Backward\\)" all target)
+ (string-append "set_property(TARGET " target " PROPERTY "
+ "NO_SYSTEM_FROM_IMPORTED true)\n"
+ all)))
+ #t))
(add-after 'unpack 'add-libiberty
;; Build fails upon linking executables without this.
(lambda _
@@ -6930,7 +6949,7 @@ a fortress beyond the forbidden swamp.")
"Multiplayer action game where you control small and nimble humanoids")
(description "OpenClonk is a multiplayer action/tactics/skill game. It is
often referred to as a mixture of The Settlers and Worms. In a simple 2D
-antfarm-style landscape, the player controls his crew of Clonks, small but
+antfarm-style landscape, the player controls a crew of Clonks, small but
robust humanoid beings. The game encourages free play but the normal goal is
to either exploit valuable resources from the earth by building a mine or
fight each other on an arena-like map.")
@@ -7331,14 +7350,14 @@ play with up to four players simultaneously. It has network support.")
(define-public hedgewars
(package
(name "hedgewars")
- (version "0.9.25")
+ (version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.hedgewars.org/download/releases/"
"hedgewars-src-" version ".tar.bz2"))
(sha256
(base32
- "08x7fqpy0hpnbfq2k06g522xayi7s53bca819zfhalvqnqs76pdk"))))
+ "0nqm9w02m0xkndlsj6ys3wr0ik8zc14zgilq7k6fwjrf3zk385i1"))))
(build-system cmake-build-system)
(arguments
;; XXX: Engine is built as Pascal source code, requiring Free Pascal
@@ -7347,32 +7366,8 @@ play with up to four players simultaneously. It has network support.")
`(#:configure-flags (list "-DBUILD_ENGINE_C=ON")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'remove-failing-test
- ;; XXX: Remove single failing test. Note: it is marked
- ;; a "non-critical" test.
- (lambda _
- (delete-file-recursively "tests/lua_noncritical")
- #t))
- (add-after 'unpack 'fix-compiler
- ;; XXX: Flag BUILD_ENGINE_C, as set above, implies using Clang to
- ;; compile files. However, using `clang' globally leads to the
- ;; error: qtbase-5.11.3/include/qt5/QtCore/qglobal.h:45:12: fatal
- ;; error: 'type_traits' file not found.
- ;;
- ;; Therefore, we make sure to use `c++' everywhere but in the
- ;; engine.
- (lambda _
- (substitute* "project_files/hwc/CMakeLists.txt"
- (("find_package\\(SDL2_ttf 2 REQUIRED\\)" all)
- (string-append all "\n"
- "set(CMAKE_C_COMPILER ${CLANG_EXECUTABLE})\n"
- "set(CMAKE_CXX_COMPILER ${CLANG_EXECUTABLE})")))
- (substitute* "CMakeLists.txt"
- (("set\\(CMAKE_C(XX)?_COMPILER" all) (string-append "#" all)))
- #t))
(replace 'check
- (lambda _
- (invoke "ctest"))))))
+ (lambda _ (invoke "ctest"))))))
(inputs
`(("ffmpeg" ,ffmpeg)
("freeglut" ,freeglut)
@@ -7813,3 +7808,84 @@ remake of that series or any other game.")
the AlphaGo Zero paper. The current best network weights file for the engine
can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(license license:gpl3+)))
+
+(define-public q5go
+ (package
+ (name "q5go")
+ (version "1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bernds/q5Go.git")
+ (commit (string-append "q5go-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1gdlfqcqkqv7vph3qwq78d0qz6dhmdsranxq9bmixiisbzkqby31"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (inputs
+ `(("qtbase" ,qtbase)
+ ("qtmultimedia" ,qtmultimedia)
+ ("qtsvg" ,qtsvg)))
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-configure-script
+ (lambda _
+ ;; Bypass the unavailable qtchooser program.
+ (substitute* "configure"
+ (("test -z \"QTCHOOSER\"")
+ "false")
+ (("qtchooser -run-tool=(.*) -qt=qt5" _ command)
+ command))
+ #t))
+ (add-after 'unpack 'fix-paths
+ (lambda _
+ (substitute* '("src/pics/Makefile.in"
+ "src/translations/Makefile.in")
+ (("\\$\\(datadir\\)/qGo/")
+ "$(datadir)/q5go/"))
+ #t))
+ (add-after 'install 'install-desktop-file
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (apps (string-append out "/share/applications"))
+ (pics (string-append out "/share/q5go/pics")))
+ (delete-file-recursively (string-append out "/share/applnk"))
+ (delete-file-recursively (string-append out "/share/mimelnk"))
+ (install-file "../source/src/pics/Bowl.ico" pics)
+ (mkdir-p apps)
+ (with-output-to-file (string-append apps "/q5go.desktop")
+ (lambda _
+ (format #t
+ "[Desktop Entry]~@
+ Name=q5go~@
+ Exec=~a/bin/q5go~@
+ Icon=~a/Bowl.ico~@
+ Categories=Game;~@
+ Comment=Game of Go~@
+ Comment[de]=Spiel des Go~@
+ Comment[eo]=Goo~@
+ Comment[es]=Juego de Go~@
+ Comment[fr]=Jeu de Go~@
+ Comment[ja]=囲碁~@
+ Comment[ko]=바둑~@
+ Comment[zh]=围棋~@
+ Terminal=false~@
+ Type=Application~%"
+ out pics))))
+ #t)))))
+ (synopsis "Qt GUI to play the game of Go")
+ (description
+ "This a tool for Go players which performs the following functions:
+@itemize
+@item SGF editor,
+@item Analysis frontend for Leela Zero (or compatible engines),
+@item GTP interface (to play against an engine),
+@item IGS client (to play on the internet),
+@item Export games to a variety of formats.
+@end itemize")
+ (home-page "https://github.com/bernds/q5Go")
+ (license license:gpl2+)))