diff options
Diffstat (limited to 'gnu/packages/games.scm')
-rw-r--r-- | gnu/packages/games.scm | 69 |
1 files changed, 58 insertions, 11 deletions
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index e2f855aa56..8d987f76eb 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2017 nee <nee-git@hidamari.blue> ;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> -;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Roel Janssen <roel@gnu.org> ;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; @@ -136,6 +136,7 @@ #:use-module (gnu packages gnuzilla) #:use-module (gnu packages icu4c) #:use-module (gnu packages networking) + #:use-module (gnu packages vulkan) #:use-module (gnu packages web) #:use-module (guix build-system gnu) #:use-module (guix build-system go) @@ -1633,9 +1634,13 @@ either by Infocom or created using the Inform compiler.") #:phases (modify-phases %standard-phases (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) + (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) - (etc (string-append out "/etc"))) + (etc (string-append out "/etc")) + (vulkan (assoc-ref inputs "vulkan-icd-loader"))) + ;; Hard-code the path to libvulkan.so. + (substitute* "gfx/common/vulkan_common.c" + (("libvulkan.so") (string-append vulkan "/lib/libvulkan.so"))) (substitute* "qb/qb.libs.sh" (("/bin/true") (which "true"))) ;; The configure script does not yet accept the extra arguments @@ -1658,6 +1663,7 @@ either by Infocom or created using the Inform compiler.") ("python" ,python) ("sdl" ,sdl2) ("udev" ,eudev) + ("vulkan-icd-loader" ,vulkan-icd-loader) ("wayland", wayland) ("zlib" ,zlib))) (native-inputs @@ -2922,9 +2928,6 @@ Transport Tycoon Deluxe.") (build-system cmake-build-system) (arguments `(#:tests? #f ;; no tests available - #:configure-flags - (list (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") "/lib")) #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-usr-share-paths @@ -3435,12 +3438,8 @@ Super Game Boy, BS-X Satellaview, and Sufami Turbo.") #:configure-flags (list "-DUSE_LZMA=OFF" ;do not use bundled LZMA "-DUSE_LIBZIP=OFF" ;use "zlib" instead - ;; Validate RUNPATH phase fails ("error: depends on - ;; 'libmgba.so.0.6', which cannot be found in RUNPATH") without - ;; the following S-exp. (string-append "-DCMAKE_INSTALL_LIBDIR=" - (assoc-ref %outputs "out") - "/lib")))) + (assoc-ref %outputs "out") "/lib")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("ffmpeg" ,ffmpeg) ("imagemagick" ,imagemagick) @@ -5334,6 +5333,54 @@ some graphical niceities, and numerous bug-fixes and other improvements.") (home-page "http://quakespasm.sourceforge.net/") (license license:gpl2+))) +(define-public vkquake + (package + (inherit quakespasm) + (name "vkquake") + (version "0.97.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Novum/vkQuake/archive/" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1p0nh2v2ilylw62fxc5qpfcmyhs0s64w8sgh036nc6kn21kbjc0d")))) + (arguments + `(#:make-flags + (let ((vulkanlib (string-append (assoc-ref %build-inputs + "vulkan-icd-loader") "/lib"))) + (list "CC=gcc" + "MP3LIB=mpg123" + "USE_CODEC_FLAC=1" + "USE_CODEC_MIKMOD=1" + "USE_SDL2=1" + (string-append "LDFLAGS=-Wl,-rpath=" vulkanlib) + "-CQuake")) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-after 'unpack 'fix-makefile-paths + (lambda* (#:key outputs #:allow-other-keys) + (let ((vulkan (assoc-ref %build-inputs + "vulkan-icd-loader")) + (out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (substitute* "Quake/Makefile" ((" /usr") + (string-append " " out))) + (substitute* "Quake/Makefile" (("/games") + (string-append "/bin"))) + (substitute* "Quake/Makefile" (("..VULKAN_SDK.") vulkan)) + #t)))) + ,@(strip-keyword-arguments '(#:make-flags #:phases) + (package-arguments quakespasm)))) + (inputs `(("vulkan-icd-loader" ,vulkan-icd-loader) + ,@(package-inputs quakespasm))) + (description "vkquake is a modern engine for id software's Quake 1. +It includes support for 64 bit CPUs, custom music playback, a new sound driver, +some graphical niceities, and numerous bug-fixes and other improvements.") + (home-page "https://github.com/Novum/vkQuake"))) + (define-public yamagi-quake2 (package (name "yamagi-quake2") |