gnu: Add warsow-qfusion.
* gnu/packages/patches/warsow-qfusion-fix-bool-return-type.patch: New file. * gnu/local.mk: Include patch. * gnu/packages/game-development.scm (warsow-qfusion): New variable.master
parent
a4be14261c
commit
0b5bf61573
|
@ -1539,6 +1539,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 \
|
||||||
|
|
|
@ -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,83 @@ 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"))
|
||||||
|
(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")
|
||||||
|
#:modules
|
||||||
|
((guix build utils)
|
||||||
|
(guix build cmake-build-system)
|
||||||
|
(ice-9 match))
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'change-to-build-dir
|
||||||
|
(lambda _
|
||||||
|
(chdir "source")
|
||||||
|
#t))
|
||||||
|
(add-after 'install 'really-install
|
||||||
|
(lambda* (#:key outputs system #:allow-other-keys)
|
||||||
|
(let ((arch (match system
|
||||||
|
("x86_64-linux" "x86_64")
|
||||||
|
("i686-linux" "i386")))
|
||||||
|
(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")
|
||||||
|
(supported-systems '("i686-linux" "x86_64-linux"))
|
||||||
|
(synopsis "Warsow's fork of qfusion, the id Tech 2 derived game engine")
|
||||||
|
(description
|
||||||
|
"This package contains the game engine of Warsow, a first-person
|
||||||
|
shooter video game. The engine is based on qfusion, the id Tech 2 derived
|
||||||
|
game engine. id Tech 2 is the engine originally behind Quake 2.")
|
||||||
|
(license license:gpl2+))))
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
diff --git a/source/ref_gl/r_imagelib.cpp b/source/ref_gl/r_imagelib.cpp
|
||||||
|
index 418028a..f76916b 100644
|
||||||
|
--- a/source/ref_gl/r_imagelib.cpp
|
||||||
|
+++ b/source/ref_gl/r_imagelib.cpp
|
||||||
|
@@ -762,7 +762,7 @@ static void q_jpg_noop( j_decompress_ptr cinfo ) {
|
||||||
|
|
||||||
|
static boolean q_jpg_fill_input_buffer( j_decompress_ptr cinfo ) {
|
||||||
|
Com_DPrintf( "Premature end of jpeg file\n" );
|
||||||
|
- return 1;
|
||||||
|
+ return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void q_jpg_skip_input_data( j_decompress_ptr cinfo, long num_bytes ) {
|
||||||
|
@@ -955,7 +955,7 @@ bool WriteJPG( const char *name, r_imginfo_t *info, int quality ) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// start compression
|
||||||
|
- qjpeg_start_compress( &cinfo, true );
|
||||||
|
+ qjpeg_start_compress( &cinfo, TRUE );
|
||||||
|
|
||||||
|
// feed scanline data
|
||||||
|
w3 = cinfo.image_width * info->samples;
|
Reference in New Issue