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.scm242
1 files changed, 155 insertions, 87 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 4c349b42b9..68daa8b7c3 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4614,7 +4614,7 @@ falling, themeable graphics and sounds, and replays.")
(define-public wesnoth
(package
(name "wesnoth")
- (version "1.16.11")
+ (version "1.18.0")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -4623,21 +4623,36 @@ falling, themeable graphics and sounds, and replays.")
(file-name (git-file-name name version))
(sha256
(base32
- "0z0y2il4xq8fdj20fwfggpf6286hb099jh1kdywap9rlrybq142d"))))
+ "0ar0zkyl4rzqgambmdqhklscx478liql1k458ax64bp4xw441kfc"))))
(build-system cmake-build-system)
(arguments
- (list #:tests? #f)) ;no test target
+ (list #:tests? #f ;no test target
+ #:configure-flags #~'("-DENABLE_SYSTEM_LUA=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'pre-configure
+ (lambda _
+ ;; XXX: Our Lua doesn't have a C++ library, force C linkage.
+ (substitute* '("src/lua/wrapper_lua.h"
+ "src/lua/wrapper_lualib.h"
+ "src/lua/wrapper_lauxlib.h")
+ (("#include \"(lua|lualib|lauxlib)\\.h\"")
+ "#include \"lua.hpp\"")))))))
(inputs
(list boost
+ curl
dbus
- fribidi
libvorbis
+ lua-5.4
openssl
pango
- (sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))))
+ sdl2
+ sdl2-image
+ sdl2-mixer))
(native-inputs
(list gettext-minimal
- pkg-config))
+ pkg-config
+ python-minimal))
(home-page "https://www.wesnoth.org/")
(synopsis "Turn-based strategy game")
(description
@@ -4656,10 +4671,13 @@ next campaign.")
(inherit wesnoth)
(name "wesnoth-server")
(inputs
- (list boost icu4c openssl sdl2))
+ (list boost icu4c lua-5.4 openssl))
+ (native-inputs
+ (list pkg-config))
(arguments
- `(#:configure-flags '("-DENABLE_GAME=OFF")
- ,@(package-arguments wesnoth)))
+ (substitute-keyword-arguments (package-arguments wesnoth)
+ ((#:configure-flags _)
+ #~'("-DENABLE_SYSTEM_LUA=ON" "-DENABLE_GAME=OFF"))))
(synopsis "Dedicated @emph{Battle for Wesnoth} server")
(description "This package contains a dedicated server for @emph{The
Battle for Wesnoth}.")))
@@ -5766,65 +5784,62 @@ tactics.")
(define-public widelands
(package
(name "widelands")
- (version "1.1")
+ (version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/widelands/widelands")
- (commit (string-append "v" version))))
+ (url "https://github.com/widelands/widelands")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "07wbalwdmml9vdh9nh50svnsw4sdj9nnp32azbss8vzq5mxmzvbx"))
+ (base32 "1m9hn1sh1siggribzsq79k7p0lggdw41ji7zdl6h648cjak9mdsp"))
(modules '((guix build utils)))
(snippet
- '(begin
- (delete-file-recursively "src/third_party/minizip")
- #t))))
+ #~(delete-file-recursively "src/third_party/minizip"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (let* ((out (assoc-ref %outputs "out"))
- (share (string-append out "/share")))
- (list (string-append "-DCMAKE_INSTALL_PREFIX=" out "/bin")
- (string-append "-DWL_INSTALL_BASEDIR=" share "/widelands")
- (string-append "-DWL_INSTALL_DATADIR=" share "/widelands")
- "-DOPTION_BUILD_WEBSITE_TOOLS=OFF"
- ;; CMakeLists.txt does not handle properly RelWithDebInfo build
- ;; type. When used, no game data is installed!
- "-DCMAKE_BUILD_TYPE=Release"))
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'unbundle-fonts
- ;; Unbundle fonts already packaged in Guix. XXX: missing fonts are
- ;; amiri, Culmus, mmrCensus, Nakula, and Sinhala.
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion "data/i18n/fonts"
- (for-each (lambda (font)
- (delete-file-recursively font)
- (symlink (string-append (assoc-ref inputs font)
- "/share/fonts/truetype")
- font))
- '("DejaVu" "MicroHei")))
- #t)))))
+ (list
+ #:configure-flags
+ #~(let ((share (string-append #$output "/share/widelands")))
+ (list (string-append "-DCMAKE_INSTALL_PREFIX=" #$output)
+ (string-append "-DWL_INSTALL_BINDIR=" #$output "/bin")
+ (string-append "-DWL_INSTALL_BASEDIR=" share)
+ (string-append "-DWL_INSTALL_DATADIR=" share)
+ "-DOPTION_BUILD_WEBSITE_TOOLS=OFF"
+ ;; CMakeLists.txt does not handle properly RelWithDebInfo build
+ ;; type. When used, no game data is installed!
+ "-DCMAKE_BUILD_TYPE=Release"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'unbundle-fonts
+ ;; Unbundle fonts already packaged in Guix. XXX: missing fonts are
+ ;; amiri, Culmus, mmrCensus, Nakula, and Sinhala.
+ (lambda* (#:key inputs #:allow-other-keys)
+ (for-each
+ (lambda (font)
+ (let* ((path (string-append "share/fonts/truetype/" (basename font)))
+ (target (false-if-exception (search-input-file inputs path))))
+ (when target
+ (delete-file font)
+ (symlink target font))))
+ (find-files "data/i18n/fonts" "\\.tt[cf]$")))))))
(native-inputs
- `(("gettext" ,gettext-minimal)
- ("pkg-config" ,pkg-config)
- ("python" ,python-wrapper)))
+ (list gettext-minimal pkg-config python))
(inputs
- `(("asio" ,asio)
- ("curl" ,curl)
- ("boost" ,boost)
- ("glew" ,glew)
- ("icu4c" ,icu4c)
- ("libpng" ,libpng)
- ("minizip" ,minizip)
- ("sdl" ,(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf)))
- ("zlib" ,zlib)
- ;; Fonts for the ‘unbundle-fonts’ phase. Case matters in name!
- ("DejaVu" ,font-dejavu)
- ("MicroHei" ,font-wqy-microhei)))
- (home-page "https://www.widelands.org/")
+ (list asio
+ font-dejavu
+ font-wqy-microhei
+ glew
+ icu4c
+ libpng
+ minizip
+ sdl2
+ sdl2-image
+ sdl2-mixer
+ sdl2-ttf
+ zlib))
+ (home-page "https://www.widelands.org")
(synopsis "Fantasy real-time strategy game")
(description
"In Widelands, you are the regent of a small clan. You start out with
@@ -8818,7 +8833,7 @@ your score gets higher, you level up and the blocks fall faster.")
(define-public endless-sky
(package
(name "endless-sky")
- (version "0.10.2")
+ (version "0.10.6")
(source
(origin
(method git-fetch)
@@ -8827,7 +8842,7 @@ your score gets higher, you level up and the blocks fall faster.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "07br25cij6g284p53nclcvw4y6mgn93milynpxa5ahrjdl5yfnsn"))))
+ (base32 "1iaiyv9fqgg269wjcyfn1akhh0wfrf64gh5jg3wzxwn24pm77flw"))))
(build-system cmake-build-system)
(arguments
(list #:configure-flags #~(list "-DES_USE_VCPKG=0"
@@ -9817,6 +9832,34 @@ certainly not least as a fun, realistic, and challenging desktop flight
simulator.")
(license license:gpl2+)))
+(define-public jstest-gtk
+ ;; There is no recent tagged release; use the latest commit.
+ (let ((commit "60fe6ebdbc6719945be3f04988667dea569085be")
+ (revision "0"))
+ (package
+ (name "jstest-gtk")
+ (version (git-version "0.1.0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Grumbel/jstest-gtk")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1x5m6xvd1r9dhgzh6hp4vrszczbbxr04v7lyh4wjxxzrj3ahbmcq"))))
+ (build-system cmake-build-system)
+ (arguments (list #:configure-flags #~(list "-DBUILD_TESTS=ON")))
+ (native-inputs (list pkg-config))
+ (inputs (list gtkmm-3 libsigc++-2))
+ (home-page "https://github.com/Grumbel/jstest-gtk/")
+ (synopsis "Simple joystick tester GUI")
+ (description "@command{jstest-gtk} is a simple joystick tester based on
+GTK. It provides a list of attached joysticks, a way to display which buttons
+and axis are pressed, a way to remap axis and buttons and a way to calibrate
+joysticks.")
+ (license license:gpl3+))))
+
(define-public jumpnbump
(package
(name "jumpnbump")
@@ -10508,7 +10551,7 @@ and chess engines.")
(native-inputs
(list qttools-5))
(inputs
- (list qtbase-5 qtmultimedia-5 qtspeech qtsvg-5 zlib))
+ (list qtbase-5 qtmultimedia-5 qtspeech-5 qtsvg-5 zlib))
(arguments
`(#:tests? #f
#:phases
@@ -10616,8 +10659,8 @@ ChessX.")
(license license:gpl3+))))
(define-public moonfish
- (let ((commit "4f8829009e8c26e6a878261e0bc4c7e7617ef6b6")
- (revision "1"))
+ (let ((commit "fb2cb4f53876b1b0c6060464e0dd5a05ab00e502")
+ (revision "2"))
(package
(name "moonfish")
(version (git-version "0" revision commit))
@@ -10628,40 +10671,23 @@ ChessX.")
(commit commit)))
(sha256
(base32
- "1ksg42x9cyn3pbfryy9raqb355k47cqcisascpy157c3cgdr2z60"))
+ "1rbhdahp0s2qm1zi7lpr0bb6zq02y76fc9d9nc2k5n03zh2as97i"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
(list
- #:make-flags
- #~(list (string-append "CC=" #$(cc-for-target)))
- #:tests? #f ;no check target
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure) ;no configure script
- (replace 'install ;no 'install' target
- (lambda _
- (let* ((out-bin (string-append #$output "/bin"))
- (tools-bin (string-append #$output:tools "/bin"))
- (tool (string-append tools-bin "/moonfish-")))
- (mkdir-p out-bin)
- (mkdir-p tools-bin)
- (copy-file "moonfish"
- (string-append out-bin "/moonfish"))
- (copy-file "play"
- (string-append tool "play"))
- (copy-file "lichess"
- (string-append tool "lichess"))
- (copy-file "analyse"
- (string-append tool "analyse"))))))))
+ #:make-flags #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "PREFIX=" %output))
+ #:tests? #f ;no check target
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)))) ;no configure script
(inputs (list bearssl cjson))
- (outputs '("out" "tools"))
(home-page "https://git.sr.ht/~zamfofex/moonfish")
(synopsis "Simple chess engine written in C")
(description
- "moonfish is a toy UCI chess engine made for fun. It is inspired by
-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.")
+ "moonfish is a toy UCI chess engine written in C for fun. It has TUI/CLI
+tools for using any UCI engine and also to connect UCI engines to Lichess, as
+well as for converting engines between UCI and UGI.")
(license license:agpl3+))))
(define-public morris
@@ -11716,6 +11742,48 @@ on the pitch of the voice and the rhythm of singing.")
virtual reality devices.")
(license license:expat))))
+(define-public zsnes
+ (package
+ (name "zsnes")
+ (version "2.0.12")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/xyproto/zsnes")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0g9l1ij3p1adkp97wkp0dz44i2xpmsvfpkxvlfkpr7190dibsgsz"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:system "i686-linux" ;requires 32 bit libraries to build
+ #:tests? #f ;no test suite
+ #:make-flags
+ #~(list (string-append "CC=" #$(cc-for-target))
+ (string-append "CXX=" #$(cxx-for-target))
+ (string-append "PREFIX=" #$output))
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)))) ;no configure script
+ (native-inputs (list nasm pkg-config))
+ (inputs (list glib libpng mesa ncurses sdl zlib))
+ (home-page "https://www.zsnes.com")
+ (synopsis "Super Nintendo Entertainment System emulator")
+ (description "ZSNES is a @acronym{Super Nintendo Entertainment System,
+SNES} emulator that can play most games at full speed with sound and special
+graphic filters. Some of its features include:
+@itemize
+@item Support for smooth and dynamic image scaling
+@item Support for rewinding and fast-forwarding in-game
+@item JMA compression format
+@item Change the appearance of the GUI
+@item Take screenshots of currently running games
+@item Saving the game at any point by recording the console’s state
+@item Record movies of gameplay which can be played back.
+@end itemize")
+ (license license:gpl2+)
+ (supported-systems (list "x86_64-linux"))))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar