summaryrefslogtreecommitdiff
path: root/gnu/packages/games.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r--gnu/packages/games.scm612
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)))