me
/
guix
Archived
1
0
Fork 0

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
Pierre Neidhardt 2020-05-02 17:51:21 +02:00
parent a4be14261c
commit 0b5bf61573
No known key found for this signature in database
GPG Key ID: 9BDCF497A4BBCC7F
3 changed files with 104 additions and 0 deletions

View File

@ -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 \

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,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+))))

View File

@ -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;