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.scm197
1 files changed, 161 insertions, 36 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 50efe7b010..41bfe40dff 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -37,7 +37,7 @@
;;; Copyright © 2018 Benjamin Slade <[email protected]>
;;; Copyright © 2018 Alex Vong <[email protected]>
;;; Copyright © 2019, 2020 Pierre Neidhardt <[email protected]>
-;;; Copyright © 2019, 2020 Oleg Pykhalov <[email protected]>
+;;; Copyright © 2019, 2020, 2024 Oleg Pykhalov <[email protected]>
;;; Copyright © 2019 Pierre Langlois <[email protected]>
;;; Copyright © 2019 Julien Lepiller <[email protected]>
;;; Copyright © 2019, 2020 Jesse Gibbons <[email protected]>
@@ -60,7 +60,7 @@
;;; Copyright © 2021 Olivier Rojon <[email protected]>
;;; Copyright © 2021 Stefan Reichör <[email protected]>
;;; Copyright © 2021, 2022 Greg Hogan <[email protected]>
-;;; Copyright © 2021 David Pflug <[email protected]>
+;;; Copyright © 2021, 2024 David Pflug <[email protected]>
;;; Copyright © 2021, 2022 Felix Gruber <[email protected]>
;;; Copyright © 2021 Solene Rapenne <[email protected]>
;;; Copyright © 2021, 2022 Noisytoot <[email protected]>
@@ -72,7 +72,7 @@
;;; Copyright © 2022 Roman Riabenko <[email protected]>
;;; Copyright © 2022, 2023 zamfofex <[email protected]>
;;; Copyright © 2022 Gabriel Arazas <[email protected]>
-;;; Copyright © 2022 Maxim Cournoyer <[email protected]>
+;;; Copyright © 2022, 2024 Maxim Cournoyer <[email protected]>
;;; Copyright © 2022 Hendursaga <[email protected]>
;;; Copyright © 2022 Parnikkapore <[email protected]>
;;; Copyright © 2023 Zheng Junjie <[email protected]>
@@ -80,6 +80,7 @@
;;; Copyright © 2023 Ivana Drazovic <[email protected]>
;;; Copyright © 2023, 2024 gemmaro <[email protected]>
;;; Copyright © 2023 Wilko Meyer <[email protected]>
+;;; Copyright © 2024 Vagrant Cascadian <[email protected]>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -149,6 +150,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages golang-build)
#:use-module (gnu packages gperf)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
@@ -6230,6 +6232,106 @@ application that locks the keyboard and mouse and instead displays bright
colors, pictures, and sounds.")
(license license:gpl3+)))
+(define-public moonlight-qt
+ (package
+ (name "moonlight-qt")
+ (version "5.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/moonlight-stream/moonlight-qt")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1g1y736vw36lmh2bjymsf4b4ypr76x9lqz7frzpj7sn0vb9y5315"))))
+ (build-system qt-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test suite
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* _
+ (symlink (string-append
+ #$(this-package-input "sdl2-gamecontrollerdb")
+ "/share/sdl2/gamecontrollerdb.txt")
+ "app/SDL_GameControllerDB/gamecontrollerdb.txt")
+ ;; Unbundle libraries.
+ (substitute* "moonlight-qt.pro"
+ ((" moonlight-common-c.*\n") "")
+ ((" qmdnsengine.*\n") "")
+ ((" h264bitstream.*\n") "")
+ ((" app \\\\") " app")
+ (("app.depends") "INCLUDEPATH +="))
+ (invoke "qmake" (string-append "PREFIX=" #$output)))))))
+ (native-inputs (list pkg-config qttools-5))
+ (inputs (list ffmpeg
+ h264bitstream
+ libva
+ libvdpau
+ moonlight-common
+ openssl
+ opus
+ qmdnsengine
+ qtbase-5
+ qtdeclarative-5
+ qtquickcontrols2-5
+ qtsvg-5
+ sdl2
+ sdl2-ttf
+ sdl2-gamecontrollerdb))
+ (synopsis "GameStream client")
+ (description
+ "Moonlight is an implementation of NVIDIA's GameStream, as used by the
+NVIDIA Shield.")
+ (home-page "https://moonlight-stream.org")
+ (license license:gpl3+)))
+
+(define-public moonlight-common
+ ;; Used as submodule in https://github.com/moonlight-stream/moonlight
+ (let ((commit "5de4a5b85a28d8d639482a1a105c3a06eb67a2fd")
+ (revision "1"))
+ (package
+ (name "moonlight-common")
+ (version (git-version "5.0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url
+ "https://github.com/moonlight-stream/moonlight-common-c")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05jm0vhyb6pizd8yj89rp6ak7bf5j9w06rrmbxh8jccxwqjgll92"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'unpack 'use-system-enet-package
+ (lambda _
+ (substitute* "CMakeLists.txt"
+ (("add_subdirectory\\(enet\\)")
+ ""))))
+ (replace 'install
+ (lambda* (#:key outputs source #:allow-other-keys)
+ (let* ((include (string-append #$output
+ "/include"))
+ (lib (string-append #$output "/lib")))
+ (mkdir-p include)
+ (mkdir-p lib)
+ (install-file (string-append source
+ "/src/Limelight.h") include)
+ (install-file "libmoonlight-common-c.so" lib)))))))
+ (native-inputs (list pkg-config))
+ (inputs (list enet-moonlight openssl qtbase-5))
+ (synopsis "GameStream protocol core implementation")
+ (description
+ "This package provides the GameStream core code for the protocol.")
+ (home-page "https://github.com/moonlight-stream/moonlight-common-c")
+ (license license:gpl3+))))
+
(define-public mrrescue
(package
(name "mrrescue")
@@ -7099,27 +7201,26 @@ monsters in a quest to find the mystifyingly fabulous Orb of Zot.")
(version "1.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://bitbucket.org/osslugaru/lugaru/downloads/"
- "lugaru-" version ".tar.xz"))
+ (uri (string-append "https://github.com/osslugaru/lugaru/releases"
+ "/download/" version
+ "/lugaru-" version ".tar.xz"))
(sha256
- (base32
- "15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))))
+ (base32 "15zgcshy22q51rm72zi6y9z7qlgnz5iw3gczjdlir4bqmxy4gspk"))
+ (patches
+ (search-patches "lugaru-fix-sound.patch"))))
(build-system cmake-build-system)
(arguments
- `(#:configure-flags
- (list "-DSYSTEM_INSTALL=ON")
- ;; no test target
- #:tests? #f))
- (native-inputs
- (list pkg-config))
+ (list #:configure-flags #~(list "-DSYSTEM_INSTALL=ON")
+ #:tests? #f)) ;no test suite
+ (native-inputs (list pkg-config))
(inputs
- `(("sdl2" ,sdl2)
- ("glu" ,glu)
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("openal" ,openal)
- ("vorbis" ,libvorbis)
- ("zlib" ,zlib)))
+ (list glu
+ libjpeg-turbo
+ libpng
+ libvorbis
+ openal
+ sdl2
+ zlib))
(home-page "https://osslugaru.gitlab.io")
(synopsis "Cross-platform third-person action game")
(description "Lugaru is a third-person action game. The main character,
@@ -7128,7 +7229,7 @@ In his quest to find those responsible for slaughtering his village, he uncovers
a far-reaching conspiracy involving the corrupt leaders of the rabbit republic
and the starving wolves from a nearby den. Turner takes it upon himself to
fight against their plot and save his fellow rabbits from slavery.")
- (license (list license:gpl2+ ; code
+ (license (list license:gpl2+ ; code
;; assets:
license:cc-by-sa3.0
license:cc-by-sa4.0))))
@@ -7169,6 +7270,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(synopsis "Data files for 0ad")
(description "0ad-data provides the data files required by the game 0ad.")
(home-page "https://play0ad.com")
+ (properties '((hidden? . #t)))
(license (list (license:fsdg-compatible
"http://tavmjong.free.fr/FONTS/ArevCopyright.txt"
"Similar to the license of the Bitstream Vera fonts.")
@@ -7996,26 +8098,49 @@ Strife, Chex Quest, and fan-created games like Harmony, Hacx and Freedoom.")
(define-public odamex
(package
(name "odamex")
- (version "0.9.5")
+ (version "10.4.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/odamex/Odamex/" version "/"
- "odamex-src-" version ".tar.bz2"))
+ "odamex-src-" version ".tar.xz"))
(sha256
- (base32 "1x0c9vnwn336inkfamh4na8xjyfjmzfxfn49j4snqymkypjqw6jq"))))
+ (base32 "1isrmki18471yry48mmm7lxzp1kiqma9cc7fx38cvpm2mpgfyvzk"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; XXX: Unbundle more, they are not replaced by the ones provided
+ ;; in inputs: fltk, jsoncpp, miniupnp, protobuf.
+ ;;
+ ;; Remove some bundled libraries.
+ (with-directory-excursion "libraries"
+ (for-each delete-file-recursively
+ '("curl" "libpng" "portmidi" "zlib")))))))
(build-system cmake-build-system)
- (arguments `(#:tests? #f)) ; no tests
+ (arguments
+ (list
+ #:tests? #f ; no tests
+ #:configure-flags
+ #~(list "-DBUILD_CLIENT=1"
+ "-DBUILD_MASTER=1"
+ "-DBUILD_SERVER=1"
+ "-DUSE_INTERNAL_LIBS=0"
+ "-DUSE_INTERNAL_MINIUPNP=0")))
(native-inputs
- (list deutex))
+ (list deutex pkg-config))
(inputs
- `(("sdl" ,sdl2)
- ("sdl-mixer" ,sdl2-mixer)
- ("zlib" ,zlib)
- ("libpng" ,libpng)
- ("curl" ,curl)
- ("alsa-lib" ,alsa-lib)))
+ (list alsa-lib
+ curl
+ fltk
+ jsoncpp
+ libpng
+ miniupnpc
+ portmidi
+ protobuf
+ sdl2
+ sdl2-mixer
+ zlib))
(home-page "https://odamex.net/")
(synopsis "Multiplayer Doom port")
(description "Odamex is a modification of the Doom engine that
@@ -11223,7 +11348,7 @@ disassembly of the DOS version, extended with new features.")
(define-public fheroes2
(package
(name "fheroes2")
- (version "1.0.5")
+ (version "1.0.11")
(source
(origin
(method git-fetch)
@@ -11232,7 +11357,7 @@ disassembly of the DOS version, extended with new features.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0v7dxzb5cfjb55jydd8f61zzlvxq9mrgdy51hq19b06dmrx1dnc7"))))
+ (base32 "1i1a4dynlb5kl55rmfmib2jha1b2igw5jyiiyla1fxgkbkjnbf27"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -11254,7 +11379,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(define-public vcmi
(package
(name "vcmi")
- (version "1.3.2")
+ (version "1.4.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -11263,7 +11388,7 @@ play; it will look for them at @file{~/.local/share/fheroes2} folder.")
(file-name (git-file-name name version))
(sha256
(base32
- "1x1bzd89h0j4xci91d2v5aj5vgkx6vm12iml805wkia4hy1jp4ff"))
+ "039d9dvb2i4y1fj6q5py34r17fwb5jqxkjcg7j57asjk4w9b7i8b"))
(patches (search-patches "vcmi-disable-privacy-breach.patch"))))
(build-system cmake-build-system)
(arguments