gnu: Add warsow-qfusion.

* gnu/local.mk (warsow-qfusion): New variable.
This commit is contained in:
Pierre Neidhardt 2020-04-09 15:56:42 +02:00
parent f59cc03b56
commit 39f1806ca1
No known key found for this signature in database
GPG key ID: 9BDCF497A4BBCC7F
2 changed files with 79 additions and 0 deletions

View file

@ -1527,6 +1527,7 @@ dist_patch_DATA = \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/weasyprint-library-paths.patch \ %D%/packages/patches/weasyprint-library-paths.patch \
%D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \ %D%/packages/patches/websocketpp-fix-for-boost-1.70.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \ %D%/packages/patches/wicd-bitrate-none-fix.patch \

View file

@ -38,6 +38,7 @@
(define-module (gnu packages game-development) (define-module (gnu packages game-development)
#:use-module (srfi srfi-1) #:use-module (srfi srfi-1)
#:use-module (ice-9 match)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #: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 developers providing an advanced true color console, input, and lots of other
utilities frequently used in roguelikes.") utilities frequently used in roguelikes.")
(license license:bsd-3))) (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+))))