aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm157
1 files changed, 135 insertions, 22 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index c7813790a1..cf2e38f49c 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -78,7 +78,8 @@
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2023 Florian Pelz <pelzflorian@pelzflorian.de>
;;; Copyright © 2023 Ivana Drazovic <iv.dra@hotmail.com>
-;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023, 2024 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023 Wilko Meyer <w@wmeyer.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -193,6 +194,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-compression)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
@@ -230,6 +232,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
+ #:use-module (guix build-system pyproject)
#:use-module (guix build-system qt)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
@@ -2367,6 +2370,55 @@ Every puzzle has a complete solution, although there may be more than one.")
"PrBoom+ is a Doom source port developed from the original PrBoom project.")
(license license:gpl2+)))
+(define-public redeal
+ (let ((commit "e2e81a477fd31ae548a340b5f0f380594d3d0ad6")
+ (revision "1"))
+ (package
+ (name "redeal")
+ (version (git-version "0.2.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/anntzer/redeal")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1vac36bg4ah9gs4hgmp745xq6nnmd7s71vsq99d72ng3sxap0wa3"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-dds
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "setup.py"
+ (("cmdclass=.*") ""))
+ (let ((libdds (search-input-file inputs "lib/libdds.so")))
+ (substitute* "redeal/dds.py"
+ ((" and os.path.exists\\(dll_path\\)") "")
+ (("dll = DLL\\(dll_path\\)")
+ (format #f "dll = DLL(~s)" libdds))))))
+ (add-after 'install 'install-examples
+ (lambda _
+ (let* ((doc (string-append #$output "/share/doc/"))
+ (examples
+ (string-append doc #$name "-" #$version "/examples")))
+ (mkdir-p examples)
+ (copy-recursively "examples" examples)))))))
+ (inputs (list dds `(,python "tk")))
+ (propagated-inputs (list python-colorama))
+ (home-page "https://github.com/anntzer/redeal")
+ (synopsis
+ "Deal generator for bridge card game, written in Python")
+ (description
+ "Redeal is a deal generator written in Python. It outputs deals
+satisfying whatever conditions you specify --- deals with a double void, deals
+with a strong 2♣ opener opposite a yarborough, etc. Using Bo Haglund's double
+dummy solver, it can even solve the hands it has generated for you.")
+ (license license:gpl3))))
+
(define-public retux
(let ((release "1.6.1")
(revision 0))
@@ -3385,25 +3437,29 @@ a C library, so they can easily be integrated into other programs.")
(define-public taisei
(package
(name "taisei")
- (version "1.3.2")
+ (version "1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/taisei-project/"
"taisei/releases/download/v" version
- "/taisei-v" version ".tar.xz"))
+ "/taisei-" version ".tar.xz"))
(sha256
- (base32 "1g53fcyrlzmvlsb40pw90gaglysv6n1w42hk263iv61ibhdmzh6v"))))
+ (base32 "1glrr99xiyz674d1izgvmk9w1zxanc94d34pacd0wya66bbml0nc"))))
(build-system meson-build-system)
(arguments
- `(#:build-type "release" ;comment out for bug-reporting (and cheats)
- #:configure-flags
- (list "-Dr_default=gles30"
- "-Dr_gles20=true"
- "-Dr_gles30=true"
- "-Dshader_transpiler=true")))
+ (list
+ #:build-type "release" ;comment out for bug-reporting (and cheats)
+ #:configure-flags #~(list "-Dr_default=gles30"
+ "-Dr_gles20=true"
+ "-Dr_gles30=true"
+ "-Dshader_transpiler=true")))
(native-inputs
- (list pkg-config python python-docutils python-pygments))
+ (list pkg-config
+ python
+ python-docutils
+ python-pygments
+ python-zstandard))
(inputs
(list cglm
freetype
@@ -3417,21 +3473,23 @@ a C library, so they can easily be integrated into other programs.")
sdl2-mixer
shaderc
spirv-cross
- zlib))
+ zlib
+ (list zstd "lib")))
(home-page "https://taisei-project.org/")
(synopsis "Shoot'em up fangame and libre clone of Touhou Project")
(description
"The player controls a character (one of three: Good, Bad, and Dead),
dodges the missiles (lots of it cover the screen, but the character's hitbox
is very small), and shoot at the adversaries that keep appear on the screen.")
- (license (list ;;game
- license:expat
- ;;resources/00-taisei.pkgdir/bgm/
- ;;atlas/portraits/
- license:cc-by4.0
- ;;miscellaneous
- license:cc0
- license:public-domain))))
+ (license (list
+ ;; game
+ license:expat
+ ;; resources/00-taisei.pkgdir/bgm/
+ ;; atlas/portraits/
+ license:cc-by4.0
+ ;; miscellaneous
+ license:cc0
+ license:public-domain))))
(define-public cmatrix
(package
@@ -3833,7 +3891,7 @@ for common mesh file formats, and collision detection.")
(package
(inherit irrlicht)
(name "irrlicht-for-minetest")
- (version "1.9.0mt10")
+ (version "1.9.0mt13")
(source
(origin
(method git-fetch)
@@ -3843,7 +3901,7 @@ for common mesh file formats, and collision detection.")
(file-name (git-file-name name version))
(sha256
(base32
- "0y5vchz91khs8dmrkpgc7sqmvzx2yjj6svivvm80r4yppv7s03rw"))))
+ "11pxg0yh50ym1hvh8va5jbbcjz5dsshj3xxvm3qhkgg96vpism06"))))
(build-system cmake-build-system)
(arguments
;; No check target.
@@ -10115,6 +10173,36 @@ can be downloaded from @url{https://zero.sjeng.org/best-network}.")
(home-page "https://github.com/bernds/q5Go")
(license license:gpl2+)))
+(define-public qcheckers
+ (package
+ (name "qcheckers")
+ (version "0.9.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/portnov/qcheckers")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "05wzql6abzdf6l0vdzki4rfy2zn31mcplh1wkw3ddk8w81pvaymw"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda _
+ (invoke "qmake"
+ (string-append "PREFIX=" #$output)))))))
+ (inputs (list qtbase-5 qtsvg-5))
+ (home-page "https://portnov.github.io/qcheckers/")
+ (synopsis "Qt-based checkers boardgame")
+ (description "QCheckers, formely known as KCheckers, is a is a Qt version
+of the classic boardgame checkers (also known as draughts).")
+ (license license:gpl2+)))
+
(define-public xmoto
(package
(name "xmoto")
@@ -10415,6 +10503,31 @@ sunfish, but is written in C rather than Python. It also has TUI tools for
using any UCI engine and also to connect UCI engines to Lichess.")
(license license:agpl3+))))
+(define-public morris
+ (package
+ (name "morris")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/farindk/morris")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1kkcnpkzgybm7rqg7nafd7sqd5m4alns6l4j5zcf3p41jdc9s3iv"))))
+ (build-system glib-or-gtk-build-system)
+ (inputs (list automake autoconf pkg-config intltool
+ gnu-gettext libtool glib gtk+-2 boost))
+ (arguments `(#:tests? #f))
+ (home-page "http://nine-mens-morris.net/downloads.html")
+ (synopsis "Morris is an implementation of the board game Nine Men's Morris")
+ (description "Morris is an implementation of the board game Nine Men's Morris.
+It supports not only the standard game, but also several rule-variants and different
+board layouts. You can play against the computer, or simply use the program to
+present the board, but play against another human opponent.")
+ (license license:gpl3)))
+
(define-public barrage
(package
(name "barrage")