diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 612 |
1 files changed, 387 insertions, 225 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 8cc29b3487..c011622f8e 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2016 Steve Webber <webber.sl@gmail.com> ;;; Copyright © 2017 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@hyperbola.info> ;;; Copyright © 2017, 2018, 2020 Arun Isaac <arunisaac@systemreboot.net> -;;; Copyright © 2017–2021 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2017–2022 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017, 2019 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com> @@ -59,7 +59,7 @@ ;;; Copyright © 2020 Tomás Ortín Fernández <tomasortin@mailbox.org> ;;; Copyright © 2021 Olivier Rojon <o.rojon@posteo.net> ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at> -;;; Copyright © 2021 Greg Hogan <code@greghogan.com> +;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com> ;;; Copyright © 2021 David Pflug <david@pflug.io> ;;; Copyright © 2021, 2022 Felix Gruber <felgru@posteo.net> ;;; Copyright © 2021 Solene Rapenne <solene@perso.pw> @@ -69,6 +69,9 @@ ;;; Copyright © 2021 Christopher Baines <mail@cbaines.net> ;;; Copyright © 2021 Foo Chuan Wei <chuanwei.foo@hotmail.com> ;;; Copyright © 2022 Yovan Naumovski <yovan@gorski.stream> +;;; Copyright © 2022 Roman Riabenko <roman@riabenko.com> +;;; Copyright © 2022 zamfofex <zamfofex@twdb.moe> +;;; Copyright © 2022 Gabriel Arazas <foo.dogsquared@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,6 +142,7 @@ #:use-module (gnu packages golang) #:use-module (gnu packages gperf) #:use-module (gnu packages graphics) + #:use-module (gnu packages graphviz) #:use-module (gnu packages gsasl) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -1059,34 +1063,34 @@ more. This package does @emph{not} provide the game assets.") license:bsd-3)))) ; CorsixTH/Src/random.c (define-public cowsay + ;; This is a continuation of Tony Monroe's now-unmaintained original, that + ;; aims to become the ‘canonical modern fork’. We'll see. What it gives + ;; us today is a bunch of fixes that other distros shipped as patches. (package (name "cowsay") - (version "3.04") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/tnalpgge/rank-amateur-cowsay") - (commit (string-append name "-" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "06455kq37hvq1xb7adyiwrx0djs50arsxvjgixyxks16lm1rlc7n")))) + (version "3.7.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cowsay-org/cowsay") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0yrgwwacrhsgpyp14c3imkd4bb9b4i68q4df9cq1i1fh4fc2nn5p")))) (build-system gnu-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (delete 'configure) ; no configure script - (delete 'build) ; nothing to be built - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (invoke "sh" "install.sh" - (assoc-ref outputs "out")))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs #:allow-other-keys) - (invoke (string-append (assoc-ref outputs "out") - "/bin/cowsay") - "We're done!")))))) + (list #:make-flags + #~(list (string-append "prefix=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) ; no configure script + (delete 'check) + (add-after 'install 'check + (lambda* (#:key outputs #:allow-other-keys) + (invoke (string-append (assoc-ref outputs "out") + "/bin/cowsay") + "We're done!")))))) (inputs (list perl)) (home-page (string-append "https://web.archive.org/web/20071026043648/" @@ -1350,44 +1354,48 @@ effects and music to make a completely free game.") (define-public freedroidrpg (package (name "freedroidrpg") - (version "0.16.1") + (version "1.0rc2") (source (origin (method url-fetch) - (uri (string-append "http://ftp.osuosl.org/pub/freedroid/" - "freedroidRPG-" (version-major+minor version) "/" - "freedroidRPG-" version ".tar.gz")) + (uri (let ((major+minor + (version-major+minor + (string-replace-substring version "rc" ".")))) + (string-append "http://ftp.osuosl.org/pub/freedroid/" + "freedroidRPG-" major+minor "/" + "freedroidRPG-" version ".tar.gz"))) (sha256 - (base32 "0n4kn38ncmcy3lrxmq8fjry6c1z50z4q1zcqfig0j4jb0dsz2va2")))) + (base32 "10jknaad2ph9j5bs4jxvpnl8rq5yjlq0nasv98f4mki2hh8yiczy")))) (build-system gnu-build-system) (arguments - `(#:configure-flags - (list - (string-append "CFLAGS=" - "-fcommon " ; XXX needed to build with GCC 10 - "-I" (assoc-ref %build-inputs "sdl-gfx") "/include/SDL " - "-I" (assoc-ref %build-inputs "sdl-image") "/include/SDL " - "-I" (assoc-ref %build-inputs "sdl-mixer") "/include/SDL") - "--enable-opengl") - ;; FIXME: the test suite fails with the following error output: - ;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \ - ;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text - #:tests? #f)) + (list + #:configure-flags + #~(list + (string-append "CFLAGS=-fcommon " + "-I" #$(this-package-input "sdl-gfx") "/include/SDL " + "-I" #$(this-package-input "sdl-image") "/include/SDL " + "-I" #$(this-package-input "sdl-mixer") "/include/SDL") + "--enable-opengl") + ;; FIXME: the test suite fails with the following error output: + ;; 4586 Segmentation fault env SDL_VIDEODRIVER=dummy \ + ;; SDL_AUDIODRIVER=dummy ./src/freedroidRPG -nb text + #:tests? #f)) (native-inputs (list pkg-config)) (inputs - `(("glu" ,glu) - ("libjpeg" ,libjpeg-turbo) - ("libogg" ,libogg) - ("libpng" ,libpng) - ("libvorbis" ,libvorbis) - ("mesa" ,mesa) - ("python" ,python-wrapper) - ("sdl" ,sdl) - ("sdl-gfx" ,sdl-gfx) - ("sdl-image" ,sdl-image) - ("sdl-mixer" ,sdl-mixer) - ("zlib" ,zlib))) + (list glew + glu + libjpeg-turbo + libogg + libpng + libvorbis + mesa + python-wrapper + sdl + sdl-gfx + sdl-image + sdl-mixer + zlib)) (home-page "https://www.freedroid.org/") (synopsis "Isometric role-playing game against killer robots") (description @@ -1949,14 +1957,14 @@ Chess). It is similar to standard chess but this variant is far more complicate (define-public ltris (package (name "ltris") - (version "1.2.3") + (version "1.2.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/lgames/ltris/" "ltris-" version ".tar.gz")) (sha256 - (base32 "1a2m17jwkyar8gj07bn5jk01j2ps4vvc48z955jjjsh67q2svi0f")))) + (base32 "10wg6v12w3jms8ka2x9a87p06l9gzpr94ai9v428c9r320q7psyn")))) (build-system gnu-build-system) (arguments '(#:phases @@ -2250,6 +2258,38 @@ utilizing the art assets from the @code{SuperTux} project.") license:gpl2+ license:gpl3+))))) +(define-public robotfindskitten + (package + (name "robotfindskitten") + (version "2.8284271.702") ; 1600003_201b is older, see ChangeLog + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/" name "/" name + "/releases/download/" version "/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1bwrkxm83r9ajpkd6x03nqvmdfpf5vz6yfy0c97pq3v3ykj74082")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; there are no tests + #:make-flags + #~(list + ;; Required for colorized output, see <http://bugs.gnu.org/54607>. + "CFLAGS=-D_XOPEN_SOURCE=600" + (string-append "execgamesdir=" #$output "/bin")))) + (inputs (list ncurses)) + (outputs (list "out" "debug")) + (synopsis "Thematic meditative game") + (description + "You are a robot moving around in a realm filled with ASCII characters. +Examine humorously described though useless items as you search for a kitten +among them. The theme of this Zen simulation is continued in its +documentation.") + (home-page "http://robotfindskitten.org/") + (license license:gpl2+))) + (define-public roguebox-adventures (package (name "roguebox-adventures") @@ -3041,7 +3081,7 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.2.3") + (version "4.2.4") (source (origin (method git-fetch) @@ -3050,7 +3090,7 @@ that beneath its ruins lay buried an ancient evil.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1psrdbf90mb6dhq0b9z18pz1csnshz1kvwg82dvwa99apqdw0la8")) + (base32 "1x0qqsv7xa3figcl4v35sin64ffgz32652vk541d8qaq4qcc378n")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -3066,14 +3106,12 @@ that beneath its ruins lay buried an ancient evil.") (substitute* "lib/Makefile" ;; And don't try to invoke makefiles in the directories we removed. (("gamedata customize help screens fonts tiles sounds icons user") - "gamedata customize help screens user")) - #t)))) + "gamedata customize help screens user")))))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target #:configure-flags (list (string-append "--bindir=" %output "/bin")))) - (native-inputs - (list autoconf automake)) + (native-inputs (list autoconf automake)) (inputs (list ncurses)) (home-page "https://rephial.org/") (synopsis "Dungeon exploration roguelike") @@ -3494,7 +3532,7 @@ are primarily in English, however some in other languages are provided.") (define-public irrlicht (package (name "irrlicht") - (version "1.8.4") + (version "1.8.5") (source (origin (method url-fetch) (uri (string-append @@ -3503,8 +3541,9 @@ are primarily in English, however some in other languages are provided.") "/" version "/irrlicht-" version ".zip")) (sha256 (base32 - "0cz4z4dwrv5ypl19ll67wl6jjpy5k6ly4vr042w4br88qq5jhazl")) - (patches (search-patches "irrlicht-use-system-libs.patch")) + "0gagjh2l3a3m8hsixxhhhan3m5xl7735ka8m4g79jl4qsgp7pyzg")) + (patches (search-patches "irrlicht-use-system-libs.patch" + "irrlicht-link-against-needed-libs.patch")) (modules '((guix build utils))) (snippet '(begin @@ -3518,8 +3557,7 @@ are primarily in English, however some in other languages are provided.") "source/Irrlicht/zlib")) (delete-file "source/Irrlicht/glext.h") (delete-file "source/Irrlicht/glxext.h") - (delete-file "source/Irrlicht/wglext.h") - #t)))) + (delete-file "source/Irrlicht/wglext.h"))))) (build-system gnu-build-system) (arguments `(#:phases @@ -3527,33 +3565,39 @@ are primarily in English, however some in other languages are provided.") (add-after 'unpack 'chdir-to-source (lambda _ ;; The actual source is buried a few directories deep. - (chdir "source/Irrlicht/") - #t)) + (chdir "source/Irrlicht/"))) (add-after 'chdir-to-source 'remove-<sys/sysctl.h> (lambda _ (substitute* "COSOperator.cpp" (("#include <sys/sysctl.h>") "")))) + (add-after 'chdir-to-source 'delete-broken-install-rule + (lambda _ + (substitute* "Makefile" + ;; We neither build nor want a static library. Skip it. + ((".*\\bcp .*\\$\\(STATIC_LIB\\).*") "")))) (add-after 'chdir-to-source 'fix-build-env (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" (("INSTALL_DIR = /usr/local/lib") (string-append "INSTALL_DIR = " out "/lib")) - ;; Add '-fpermissive' to the CXXFLAGS + ;; Add '-fpermissive' to the CXXFLAGS. (("-Wall") "-Wall -fpermissive")) ; CImageLoaderJPG.cpp ;; The Makefile assumes these directories exist. (mkdir-p (string-append out "/lib")) (mkdir-p (string-append out "/include"))))) (delete 'configure)) ; no configure script #:tests? #f ; no check target - #:make-flags '("CC=gcc" "sharedlib"))) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "sharedlib"))) (inputs - `(("bzip2" ,bzip2) - ("libjpeg" ,libjpeg-turbo) - ("libpng" ,libpng) - ("libx11" ,libx11) - ("libxxf86vm" ,libxxf86vm) - ("mesa" ,mesa))) + (list bzip2 + libjpeg-turbo + libpng + libx11 + libxxf86vm + mesa)) (synopsis "3D game engine written in C++") (description "The Irrlicht Engine is a high performance realtime 3D engine written in @@ -3563,6 +3607,25 @@ for common mesh file formats, and collision detection.") (home-page "https://irrlicht.sourceforge.io/") (license license:zlib))) +(define-public irrlicht-for-minetest + (package + (inherit irrlicht) + (name "irrlicht-for-minetest") + (version "1.9.0mt5") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/minetest/irrlicht") + (commit version))) + (sha256 + (base32 + "1jxk1x0f60n8lrz8a6x62aj2pqg0qnbajsld3lqncvwsfbi0xjx1")))) + (build-system cmake-build-system) + (arguments + ;; No check target. + (list #:tests? #f)))) + (define-public mars ;; The latest release on SourceForge relies on an unreleased version of SFML ;; with a different API, so we take the latest version from the official @@ -4219,25 +4282,25 @@ world}, @uref{http://evolonline.org, Evol Online} and (define openttd-engine (package (name "openttd-engine") - (version "12.1") + (version "12.2") (source (origin (method url-fetch) (uri (string-append "https://cdn.openttd.org/openttd-releases/" version "/openttd-" version "-source.tar.xz")) (sha256 (base32 - "1qz7ld55m9cvgr4mkv6c11y0zf2aph3ba605l45qj41hk2wzb2r5")))) + "0p79mi6hnj9138911l56zxxzy7rqz02nmxbf455jc31sx46qyl41")))) (build-system cmake-build-system) (inputs - `(("allegro" ,allegro) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("icu4c" ,icu4c) - ("libpng" ,libpng) - ("lzo" ,lzo) - ("sdl" ,sdl) - ("xz" ,xz) - ("zlib" ,zlib))) + (list allegro + fontconfig + freetype + icu4c + libpng + lzo + sdl + xz + zlib)) (synopsis "Transportation economics simulator game") (description "OpenTTD is a game in which you transport goods and passengers by land, water and air. It is a re-implementation of Transport @@ -4267,22 +4330,24 @@ engine. When you start it you will be prompted to download a graphics set.") "0nhzlk6s73qvznm5fdwcs1b42g2plf26s5ag39fvck45zm7m48jk")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) - (string-append "INSTALL_DIR=" - (assoc-ref %outputs "out") - "/share/games/openttd/baseset/opengfx")) - #:phases - (modify-phases %standard-phases - (replace 'configure - (lambda _ - ;; Make sure HOME is writable for GIMP. - (setenv "HOME" (getcwd)) + (list + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "INSTALL_DIR=" + #$output + "/share/games/openttd/baseset/opengfx")) + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + ;; Make sure HOME is writable for GIMP. + (setenv "HOME" (getcwd)) - ;; Redirect stdout, not stderr, to /dev/null. This prevents - ;; dos2unix from receiving its version information as a flag. - (substitute* "Makefile" - (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null") - "$(UNIX2DOS) -q --version 1>/dev/null"))))) + ;; Redirect stdout, not stderr, to /dev/null. This prevents + ;; dos2unix from receiving its version information as a flag. + (substitute* "Makefile" + (("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null") + "$(UNIX2DOS) -q --version 1>/dev/null"))))) ;; The check phase for this package only checks the md5sums of the built ;; GRF files against the md5sums of the release versions. Because we use ;; different software versions than upstream does, some of the md5sums @@ -4290,12 +4355,13 @@ engine. When you start it you will be prompted to download a graphics set.") ;; to disable this test. #:tests? #f #:parallel-build? #f)) - (native-inputs `(("dos2unix" ,dos2unix) - ("gimp" ,gimp) - ("grfcodec" ,grfcodec) - ("nml" ,nml) - ("which" ,which) - ("python" ,python))) + (native-inputs + (list dos2unix + gimp + grfcodec + nml + which + python)) (home-page "http://dev.openttdcoop.org/projects/opengfx") (synopsis "Base graphics set for OpenTTD") (description @@ -4327,34 +4393,34 @@ OpenGFX provides you with... "0aym026lg0r7dp3jxxs9c0rj8lwy1fz3v9hmk3mml6sycsg3fv42")))) (build-system gnu-build-system) (native-inputs - `(("catcodec" ,catcodec) - ("python" ,python) - ("tar" ,tar))) + (list catcodec + python + tar)) (arguments - `(#:make-flags - (list (string-append "DIR_NAME=opensfx") - (string-append "TAR=" - (search-input-file %build-inputs "/bin/tar"))) - ;; The check phase only verifies md5sums, see openttd-opengfx. - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'make-reproducible - (lambda _ - ;; Remove the time dependency of the installed tarball by setting - ;; the modification times if its members to 0. - (substitute* "scripts/Makefile.def" - (("-cf") " --mtime=@0 -cf")) - #t)) - (delete 'configure) - (add-before 'build 'prebuild - (lambda _ (invoke "make" "opensfx.cat"))) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "opensfx" - (string-append (assoc-ref outputs "out") - "/share/games/openttd/baseset" - "/opensfx"))))))) + (list + #:make-flags + #~(list (string-append "DIR_NAME=opensfx") + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'make-reproducible + (lambda _ + ;; Remove the time dependency of the installed tarball by setting + ;; the modification times if its members to 0. + (substitute* "scripts/Makefile.def" + (("-cf") " --mtime=@0 -cf")))) + (delete 'configure) + (add-before 'build 'prebuild + (lambda _ (invoke "make" "opensfx.cat"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "opensfx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/opensfx"))))))) (home-page "http://dev.openttdcoop.org/projects/opensfx") (synopsis "Base sounds for OpenTTD") (description "OpenSFX is a set of free base sounds for OpenTTD which make @@ -4377,27 +4443,28 @@ the original Transport Tycoon Deluxe.") "0h583d8fxy78kc3jvpp78r76a48qhxrhm4q7jbnj74aw0kwrcl8g")))) (build-system gnu-build-system) (native-inputs - `(("grfcodec" ,grfcodec) - ; Scripts are Python3 compatible, but call the interpreter as - ; python instead of python3. - ("python" ,python-wrapper) - ("tar" ,tar))) + (list grfcodec + ;; Scripts are Python3 compatible, but call the interpreter as + ;; python instead of python3. + python-wrapper + tar)) (arguments - `(#:make-flags - (list (string-append "DIR_NAME=openmsx") - (string-append "TAR=" - (search-input-file %build-inputs "/bin/tar"))) - ;; The check phase only verifies md5sums, see openttd-opengfx. - #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "openmsx" - (string-append (assoc-ref outputs "out") - "/share/games/openttd/baseset" - "/openmsx"))))))) + (list + #:make-flags + #~(list (string-append "DIR_NAME=openmsx") + (string-append "TAR=" + (search-input-file %build-inputs "/bin/tar"))) + ;; The check phase only verifies md5sums, see openttd-opengfx. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively "openmsx" + (string-append (assoc-ref outputs "out") + "/share/games/openttd/baseset" + "/openmsx"))))))) (home-page "http://dev.openttdcoop.org/projects/openmsx") (synopsis "Music set for OpenTTD") (description "OpenMSX is a music set for OpenTTD which makes it possible @@ -4410,26 +4477,36 @@ Transport Tycoon Deluxe.") (inherit openttd-engine) (name "openttd") (arguments - `(#:configure-flags - (let* ((out (assoc-ref %outputs "out"))) - (list (string-append "-DCMAKE_INSTALL_BINDIR=" out "/bin"))) - #:phases - (modify-phases %standard-phases - (add-before 'check 'install-data - (lambda* (#:key inputs outputs #:allow-other-keys) - (for-each - (lambda (input) - (copy-recursively (assoc-ref inputs input) - (assoc-ref outputs "out"))) - (list "opengfx" "openmsx" "opensfx"))))))) + (list + #:configure-flags + #~(list (string-append "-DCMAKE_INSTALL_BINDIR=" #$output "/bin")) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/music/fluidsynth.cpp" + (("default_sf\\[\\] = \\{" all) + (string-append all " +\t/* Guix hardcoded :P */ +\t\"" (search-input-file inputs "/share/soundfonts/FreePatsGM.sf2") "\", +"))))) + (add-before 'check 'install-data + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((base "/share/games/openttd")) + (for-each + (lambda (dir) + ;; Copy the entire input, so as to not omit documentation + ;; etc. + (copy-recursively + (string-drop-right dir (string-length base)) + (assoc-ref outputs "out"))) + (search-path-as-list (list base) (map cdr inputs))))))))) (inputs (modify-inputs (package-inputs openttd-engine) - (prepend timidity++))) + (prepend fluidsynth freepats-gm))) (native-inputs - `(("opengfx" ,openttd-opengfx) - ("openmsx" ,openttd-openmsx) - ("opensfx" ,openttd-opensfx) - ,@(package-native-inputs openttd-engine))))) + (modify-inputs (package-native-inputs openttd-engine) + (prepend openttd-opengfx openttd-openmsx openttd-opensfx))))) (define openrct2-title-sequences (package @@ -6624,7 +6701,7 @@ fight against their plot and save his fellow rabbits from slavery.") ;; A snippet here would cause a build failure because of timestamps ;; reset. See https://bugs.gnu.org/26734. (inputs - (list #{0ad-data}# + (list 0ad-data curl enet fmt @@ -6637,7 +6714,7 @@ fight against their plot and save his fellow rabbits from slavery.") libxcursor libxml2 miniupnpc - mozjs-78 + mozjs openal sdl2 wxwidgets @@ -7536,7 +7613,7 @@ original.") (define-public rinutils (package (name "rinutils") - (version "0.10.0") + (version "0.10.1") (source (origin (method git-fetch) (uri (git-reference @@ -7545,7 +7622,7 @@ original.") (file-name (git-file-name name version)) (sha256 (base32 - "05h9sq3w900mx8xij7qgqgqcbdk1x5gvbpz7prw2pfbzrrbiq2ns")))) + "0r90kncf6mvyklifpdsnm50iya7w2951nz35nlgndmqnr82gvdwf")))) (build-system cmake-build-system) (arguments (list #:phases @@ -7595,7 +7672,7 @@ original.") (define-public fortune-mod (package (name "fortune-mod") - (version "3.12.0") + (version "3.14.0") (source (origin (method git-fetch) @@ -7604,10 +7681,16 @@ original.") (commit (string-append "fortune-mod-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1iq3bxrw8758jqvfqaasd7w1zm0g28g9n25qccnzvr98997h6r2n")))) + (base32 "1f2zif3s6vddbhph4jr1cymdsn7gagg59grrxs0yap6myqmy8shg")))) (build-system cmake-build-system) (arguments - (list #:test-target "check" + (list #:configure-flags + #~(let ((fortunes (string-append #$output "/share/fortunes"))) + (list (string-append "-DLOCALDIR=" fortunes) + (string-append "-DLOCALODIR=" fortunes "/off") + (string-append "-DCOOKIEDIR=" fortunes) + (string-append "-DOCOOKIEDIR=" fortunes "/off"))) + #:test-target "check" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'enter-build-directory @@ -7632,16 +7715,13 @@ original.") (with-output-to-file "tests/scripts/split-valgrind.pl" (const #t)))) (add-after 'install 'fix-install-directory - (lambda* (#:key outputs #:allow-other-keys) - ;; Move binary from "games/" to "bin/" and remove the - ;; latter. This is easier than patching CMakeLists.txt - ;; since the tests hard-code the location as well. - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (games (string-append out "/games"))) - (rename-file (string-append games "/fortune") - (string-append bin "/fortune")) - (rmdir games))))))) + ;; Move fortune from "games/" to "bin/" and remove the + ;; former. This is easier than patching CMakeLists.txt + ;; since the tests hard-code the location as well. + (lambda _ + (with-directory-excursion #$output + (rename-file "games/fortune" "bin/fortune") + (rmdir "games"))))))) (inputs (list recode)) (native-inputs (list perl @@ -8629,33 +8709,6 @@ the net. There can be 1 to 8 balls in game. Once one ball touches the ground, the set ends and all balls are served again.") (license license:gpl3+))) -(define-public slingshot - (package - (name "slingshot") - (version "0.9") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ryanakca/slingshot") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "19m8b6nsi786bc6gmkp185mwri3r5y249gjmqd5qsc23nnfhgrs1")))) - (build-system python-build-system) - (arguments - `(#:python ,python-2)) - (inputs - (list python2-pygame)) - (home-page "https://github.com/ryanakca/slingshot") - (synopsis "Simple 2D shooting strategy game set in space") - (description "Slingshot is a two-dimensional strategy game where two -players attempt to shoot one another through a section of space populated by -planets. The main feature of the game is that the shots, once fired, are -affected by the gravity of the planets.") - (license license:gpl2+))) - (define-public 4dtris (package (name "4dtris") @@ -11910,10 +11963,10 @@ etc. You can also play games on FICS or against an engine.") (license license:gpl2+))) (define-public stockfish - (let ((neural-network-revision "13406b1dcbe0")) ; also update hash below + (let ((neural-network-revision "6877cd24400e")) ; also update hash below (package (name "stockfish") - (version "14.1") + (version "15") (source (origin (method git-fetch) @@ -11922,7 +11975,7 @@ etc. You can also play games on FICS or against an engine.") (commit (string-append "sf_" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0apqqcgpcflm3c6mcl13ln2y04f6zksnljmk4ys7naf7xk4vdgkd")))) + (base32 "1v19v6qhwbf31wpc3qcih4dvqxwqkh0p426skgjin6ags31hkbmh")))) (build-system gnu-build-system) (inputs `(("neural-network" @@ -11932,19 +11985,25 @@ etc. You can also play games on FICS or against an engine.") neural-network-revision ".nnue")) (sha256 (base32 - "0vr3hcmlqqm74pn7hc54gmfs9drqvgc53nh7bvy6v8z0rcfnnh0k")))))) + "1qyna598c0v7gdpycc6kpl12h5a2wa50dqray6gv208f80jcsxv8")))))) (arguments `(#:tests? #f #:make-flags (list "-C" "src" "build" (string-append "PREFIX=" (assoc-ref %outputs "out")) + ,@(if (target-ppc32?) + `("EXTRALDFLAGS=-latomic") + `()) (string-append "ARCH=" ,(match (%current-system) ("x86_64-linux" "x86-64") ("i686-linux" "x86-32") ("aarch64-linux" "armv8") ("armhf-linux" "armv7") + ("powerpc-linux" "ppc-32") + ("powerpc64le-linux" "ppc-64") + ("riscv64-linux" "general-64") ("mips64el-linux" "general-64") (_ "general-32")))) #:phases (modify-phases %standard-phases @@ -11955,7 +12014,12 @@ etc. You can also play games on FICS or against an engine.") (lambda* (#:key inputs #:allow-other-keys) (copy-file (assoc-ref inputs "neural-network") (format #f "src/nn-~a.nnue" - ,neural-network-revision))))))) + ,neural-network-revision)))) + ;; Guix doesn't use a multiarch gcc. + (add-after 'unpack 'remove-m-flag + (lambda _ + (substitute* "src/Makefile" + (("-m\\$\\(bits\\)") ""))))))) (synopsis "Strong chess engine") (description "Stockfish is a very strong chess engine. It is much stronger than the @@ -12024,7 +12088,7 @@ protect you.") (define-public 7kaa (package (name "7kaa") - (version "2.15.4p1") + (version "2.15.5") (source (origin (method url-fetch) @@ -12032,7 +12096,7 @@ protect you.") "releases/download/v" version "/" "7kaa-" version ".tar.xz")) (sha256 - (base32 "1y7v0jhp3apb619p7asikqr1dnwb2yxbh40wbx1ppmr5f03mq9ph")))) + (base32 "0axbv14fh87hwjabrb3zv7ivj88rs6kd2xq6s9qlpsszk20jc2im")))) (build-system gnu-build-system) (native-inputs (list gettext-minimal pkg-config)) @@ -12614,3 +12678,101 @@ disassembly of the DOS version, extended with new features.") Magic II (aka HOMM2) game engine. It requires assets and game resources to play; it will look for them at @file{~/.local/share/fheroes2} folder.") (license license:gpl2))) + +(define-public apricots + (package + (name "apricots") + (version "0.2.7") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/moggers87/apricots") + (commit (string-append "v" version)))) + (sha256 + (base32 "0vis217hhnb9fbs9sf8mmcm71qp44kr3xqmffc1gdiixvi90c781")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (native-inputs (list autoconf ; autom4te used in ./bootstrap + automake ; aclocal used in ./bootstrap + cppcheck)) + (inputs (list freealut openal sdl2)) + (home-page "https://github.com/moggers87/apricots") + (synopsis "Arcade airplane game") + (description "@code{apricots} is a game where you fly a little plane +around the screen and shoot things and drop bombs on enemy targets. It's +meant to be quick and fun.") + (license license:gpl2+))) + +(define-public liquidwar6 + (package + (name "liquidwar6") + (version "0.6.3902") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/liquidwar6/" "liquidwar6-" + version ".tar.gz")) + (sha256 + (base32 + "1976nnl83d8wspjhb5d5ivdvdxgb8lp34wp54jal60z4zad581fn")))) + (native-inputs (list doxygen)) + (inputs (list guile-2.0 + zlib + expat + sqlite + ncurses + readline + curl + python-2 + libxslt + perl + graphviz + glu + libcaca + (sdl-union (list sdl sdl-image sdl-ttf sdl-mixer)))) + (build-system gnu-build-system) + (arguments + (list #:configure-flags + #~(list "--enable-allinone" "CFLAGS=-Wno-error -O2 -g" + (string-append "CPPFLAGS=" "-I" + #$(this-package-input "sdl-union") + "/include/SDL")))) + (synopsis "Liquid War 6 is a unique multiplayer wargame.") + (description + "Liquid War 6 is a unique multiplayer war game. Your army is a blob of +liquid and you have to try and eat your opponents. Rules are very simple yet +original, they have been invented by Thomas Colcombet.") + (home-page "https://www.gnu.org/software/liquidwar6/") + (license license:gpl3+))) + +(define-public freerct + (package + (name "freerct") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/FreeRCT/FreeRCT") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1szwy2cq4ffp4yxm9pp9vdyia0i5nz0wnppdd1xb9w7v3wa4mywi")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) + (native-inputs (list flex bison)) + (inputs (list libpng sdl2 sdl2-ttf)) + (home-page "https://freerct.net/") + (synopsis "Theme park management simulation game") + (description + "FreeRCT is a game that captures the look and feel of the popular games +RollerCoaster Tycoon 1 and 2, graphics- and gameplay-wise. + +In this game, you play as a manager of a theme park, allowing you to make a +park of your dreams. The list of responsiblities includes managing staff, +finances, landscaping, and most importantly: rides. Good managers follow the +principle of prioritizing the guests' happiness with a well-maintained park. +Should they go unwise, a theme park plunge into chaos with vandalizing guests +and unsafe rides. Which path will you take?") + (license license:gpl2))) |