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