diff options
author | Pierre Neidhardt <mail@ambrevar.xyz> | 2020-04-09 15:56:42 +0200 |
---|---|---|
committer | Pierre Neidhardt <mail@ambrevar.xyz> | 2020-05-02 15:57:14 +0200 |
commit | 39f1806ca1d04b9aee70e897e06466aadbbee152 (patch) | |
tree | a62bec36659a6ecf3e1b13a5a792197499a19347 /gnu/packages/game-development.scm | |
parent | f59cc03b569ec7b2d96cdd5474685984640fc074 (diff) | |
download | guix-39f1806ca1d04b9aee70e897e06466aadbbee152.tar.gz |
gnu: Add warsow-qfusion.
* gnu/local.mk (warsow-qfusion): New variable.
Diffstat (limited to 'gnu/packages/game-development.scm')
-rw-r--r-- | gnu/packages/game-development.scm | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index d4b2fdcab2..d2df5d864a 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -38,6 +38,7 @@ (define-module (gnu packages game-development) #:use-module (srfi srfi-1) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) @@ -2225,3 +2226,80 @@ rigid body physics library written in C.") developers providing an advanced true color console, input, and lots of other utilities frequently used in roguelikes.") (license license:bsd-3))) + +(define-public warsow-qfusion + ;; As of 2020-04-09, the latest stable version 2.1.0 is deprecated. + ;; The 2.5 beta as published on the homepage is commit + ;; c4de15df559410aff0ca6643724e24cddb0ecbbd + (let ((commit "c4de15df559410aff0ca6643724e24cddb0ecbbd") + (arch (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i386") + (_ "")))) + (package + (name "warsow-qfusion") + (version (git-version "2.5" "1" commit)) ; 2.5-beta + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Warsow/qfusion/") + (commit commit) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xv2yycr43p3xmq7lm6j6zb3cpcr6w00x7qg918faq0mw9j7v48g")) + ;; Issue reported here: https://github.com/Warsow/qfusion/issues/46 + (patches (search-patches "warsow-qfusion-fix-bool-return-type.patch")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; No tests. + #:configure-flags '("-DQFUSION_GAME=Warsow") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'change-to-build-dir + (lambda _ + (chdir "source") + #t)) + (add-after 'install 'really-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (install-file (string-append "../source/build/basewsw/libgame_" + ,arch ".so") + (string-append out "/lib/")) + (install-file (string-append "../source/build/libui_" ,arch ".so") + (string-append out "/lib/")) + (for-each + (lambda (file) + (install-file file (string-append out "/bin/"))) + (append (find-files "../source/build" "warsow") + (find-files "../source/build" "wsw_server.")))) + #t))))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("curl" ,curl) + ("freetype" ,freetype) + ("ffmpeg" ,ffmpeg) + ("libjpeg" ,libjpeg) + ("libogg" ,libogg) + ("libpng" ,libpng) + ("libtheora" ,libtheora) + ("libvorbis" ,libvorbis) + ("mesa" ,mesa) + ("openal" ,openal) + ("pulseaudio" ,pulseaudio) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("sdl2" ,sdl2) + ("uuid.h" ,util-linux) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/Warsow/qfusion") + (synopsis "Warsow's fork of qfusion, the id Tech 2 derived game engine") + (supported-systems '("i686-linux" "x86_64-linux")) + (description + "This package contains Warsow's fork of qfusion, the id Tech 2 derived +game engine. id Tech 2 is the engine originally behind Quake 2.") + (license license:gpl2+)))) |