diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 157 |
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") |