diff options
author | Tristan Heaven <nyhm@gentoo.org> | 2009-08-24 12:25:53 +0000 |
---|---|---|
committer | Tristan Heaven <nyhm@gentoo.org> | 2009-08-24 12:25:53 +0000 |
commit | 7fbc219a4df1acfab7dcb5ba543ee3a8ddafb3e4 (patch) | |
tree | 025149c60200186e0a9002235e3b5c50b4955775 /games-fps/nexuiz | |
parent | New version that allows more kernel routing tables in IPv6 and contains a cor... (diff) | |
download | gentoo-2-7fbc219a4df1acfab7dcb5ba543ee3a8ddafb3e4.tar.gz gentoo-2-7fbc219a4df1acfab7dcb5ba543ee3a8ddafb3e4.tar.bz2 gentoo-2-7fbc219a4df1acfab7dcb5ba543ee3a8ddafb3e4.zip |
Patch from Gef Lebster to fix incompatibility with jpeg-7, bug #282406
(Portage version: 2.2_rc39/cvs/Linux x86_64)
Diffstat (limited to 'games-fps/nexuiz')
-rw-r--r-- | games-fps/nexuiz/ChangeLog | 8 | ||||
-rw-r--r-- | games-fps/nexuiz/files/nexuiz-2.5.1-jpeg.patch | 113 | ||||
-rw-r--r-- | games-fps/nexuiz/nexuiz-2.5.1-r1.ebuild | 137 |
3 files changed, 257 insertions, 1 deletions
diff --git a/games-fps/nexuiz/ChangeLog b/games-fps/nexuiz/ChangeLog index 2092bfeefa29..1326ff8f1a4e 100644 --- a/games-fps/nexuiz/ChangeLog +++ b/games-fps/nexuiz/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for games-fps/nexuiz # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-fps/nexuiz/ChangeLog,v 1.33 2009/07/10 16:06:46 mr_bones_ Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-fps/nexuiz/ChangeLog,v 1.34 2009/08/24 12:25:52 nyhm Exp $ + +*nexuiz-2.5.1-r1 (24 Aug 2009) + + 24 Aug 2009; Tristan Heaven <nyhm@gentoo.org> +nexuiz-2.5.1-r1.ebuild, + +files/nexuiz-2.5.1-jpeg.patch: + Patch from Gef Lebster to fix incompatibility with jpeg-7, bug #282406 10 Jul 2009; Michael Sterrett <mr_bones_@gentoo.org> nexuiz-2.5.1.ebuild: add use-based deps for libsdl (bug #277275) diff --git a/games-fps/nexuiz/files/nexuiz-2.5.1-jpeg.patch b/games-fps/nexuiz/files/nexuiz-2.5.1-jpeg.patch new file mode 100644 index 000000000000..6e34428adbc3 --- /dev/null +++ b/games-fps/nexuiz/files/nexuiz-2.5.1-jpeg.patch @@ -0,0 +1,113 @@ +--- darkplaces/makefile 2008/07/19 12:03:15 8416 ++++ darkplaces/makefile 2009/07/20 15:30:38 9064 +@@ -251,6 +251,14 @@ + endif + endif + ++ifdef DP_LINK_TO_LIBJPEG ++ LDFLAGS_LIBJPEG?=-ljpeg ++ LDFLAGS_CL+=$(LDFLAGS_LIBJPEG) ++ LDFLAGS_SV+=$(LDFLAGS_LIBJPEG) ++ LDFLAGS_SDL+=$(LDFLAGS_LIBJPEG) ++ CFLAGS_PRELOAD+=$(CFLAGS_LIBJPEG) -DLINK_TO_LIBJPEG ++endif ++ + ##### GNU Make specific definitions ##### + + DO_LD=$(CC) -o $@ $^ $(LDFLAGS) + +--- darkplaces/jpeg.c 2009/04/10 14:37:23 8892 ++++ darkplaces/jpeg.c 2009/07/20 15:30:38 9064 +@@ -28,6 +28,32 @@ + + cvar_t sv_writepicture_quality = {CVAR_SAVE, "sv_writepicture_quality", "10", "WritePicture quality offset (higher means better quality, but slower)"}; + ++// jboolean is unsigned char instead of int on Win32 ++#ifdef WIN32 ++typedef unsigned char jboolean; ++#else ++typedef int jboolean; ++#endif ++ ++#ifdef LINK_TO_LIBJPEG ++#include <jpeglib.h> ++#define qjpeg_create_compress jpeg_create_compress ++#define qjpeg_create_decompress jpeg_create_decompress ++#define qjpeg_destroy_compress jpeg_destroy_compress ++#define qjpeg_destroy_decompress jpeg_destroy_decompress ++#define qjpeg_finish_compress jpeg_finish_compress ++#define qjpeg_finish_decompress jpeg_finish_decompress ++#define qjpeg_resync_to_restart jpeg_resync_to_restart ++#define qjpeg_read_header jpeg_read_header ++#define qjpeg_read_scanlines jpeg_read_scanlines ++#define qjpeg_set_defaults jpeg_set_defaults ++#define qjpeg_set_quality jpeg_set_quality ++#define qjpeg_start_compress jpeg_start_compress ++#define qjpeg_start_decompress jpeg_start_decompress ++#define qjpeg_std_error jpeg_std_error ++#define qjpeg_write_scanlines jpeg_write_scanlines ++#define jpeg_dll true ++#else + /* + ================================================================= + +@@ -39,18 +65,12 @@ + ================================================================= + */ + +-// jboolean is unsigned char instead of int on Win32 +-#ifdef WIN32 +-typedef unsigned char jboolean; +-#else +-typedef int jboolean; +-#endif +- +-#define JPEG_LIB_VERSION 62 // Version 6b +- + typedef void *j_common_ptr; + typedef struct jpeg_compress_struct *j_compress_ptr; + typedef struct jpeg_decompress_struct *j_decompress_ptr; ++ ++#define JPEG_LIB_VERSION 62 // Version 6b ++ + typedef enum + { + JCS_UNKNOWN, +@@ -430,6 +450,7 @@ + // Handle for JPEG DLL + dllhandle_t jpeg_dll = NULL; + qboolean jpeg_tried_loading = 0; ++#endif + + static unsigned char jpeg_eoi_marker [2] = {0xFF, JPEG_EOI}; + static jmp_buf error_in_jpeg; +@@ -464,6 +485,9 @@ + */ + qboolean JPEG_OpenLibrary (void) + { ++#ifdef LINK_TO_LIBJPEG ++ return true; ++#else + const char* dllnames [] = + { + #if defined(WIN64) +@@ -490,6 +514,7 @@ + + // Load the DLL + return Sys_LoadLibrary (dllnames, &jpeg_dll, jpegfuncs); ++#endif + } + + +@@ -502,8 +527,10 @@ + */ + void JPEG_CloseLibrary (void) + { ++#ifndef LINK_TO_LIBJPEG + Sys_UnloadLibrary (&jpeg_dll); + jpeg_tried_loading = false; // allow retry ++#endif + } + + + diff --git a/games-fps/nexuiz/nexuiz-2.5.1-r1.ebuild b/games-fps/nexuiz/nexuiz-2.5.1-r1.ebuild new file mode 100644 index 000000000000..e08feacd556f --- /dev/null +++ b/games-fps/nexuiz/nexuiz-2.5.1-r1.ebuild @@ -0,0 +1,137 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-fps/nexuiz/nexuiz-2.5.1-r1.ebuild,v 1.1 2009/08/24 12:25:52 nyhm Exp $ + +EAPI=2 +inherit eutils games + +MY_PN=Nexuiz +MY_P=${PN}-${PV//./} +MAPS=nexmappack_r2 +DESCRIPTION="Deathmatch FPS based on DarkPlaces, an advanced Quake 1 engine" +HOMEPAGE="http://www.nexuiz.com/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.zip + maps? ( mirror://sourceforge/${PN}/${MAPS}.zip )" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="alsa dedicated maps opengl sdl" + +UIRDEPEND="media-libs/libogg + media-libs/libvorbis + media-libs/libtheora + media-libs/libpng + media-libs/libmodplug + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + x11-libs/libXext + x11-libs/libXxf86dga + x11-libs/libXxf86vm + virtual/opengl + alsa? ( media-libs/alsa-lib ) + sdl? ( media-libs/libsdl[joystick,video] )" +UIDEPEND="x11-proto/xextproto + x11-proto/xf86dgaproto + x11-proto/xf86vidmodeproto + x11-proto/xproto" +RDEPEND="media-libs/jpeg + net-misc/curl + opengl? ( ${UIRDEPEND} ) + !dedicated? ( !opengl? ( ${UIRDEPEND} ) )" +DEPEND="${RDEPEND} + app-arch/unzip + opengl? ( ${UIDEPEND} ) + !dedicated? ( !opengl? ( ${UIDEPEND} ) )" + +S=${WORKDIR}/darkplaces + +src_unpack() { + unpack ${MY_P}.zip + + local f + for f in "${MY_PN}"/sources/*.zip ; do + unpack ./${f} + done + + if use maps ; then + cd "${WORKDIR}"/${MY_PN} + unpack ${MAPS}.zip + fi +} + +src_prepare() { + epatch "${FILESDIR}"/${P}-jpeg.patch + + # Make the game automatically look in the correct data directory + sed -i \ + -e "/^CC=/d" \ + -e "s:-O2:${CFLAGS}:" \ + -e "/-lm/s:$: ${LDFLAGS}:" \ + -e '/^STRIP/s/strip/true/' \ + makefile.inc \ + || die "sed failed" + + sed -i \ + -e '1i DP_LINK_TO_LIBJPEG=1' \ + -e '1i DP_PRELOAD_DEPENDENCIES=1' \ + -e "s:ifdef DP_.*:DP_FS_BASEDIR=${GAMES_DATADIR}/nexuiz\n&:" \ + makefile \ + || die "sed failed" + + if ! use alsa ; then + sed -i \ + -e "/DEFAULT_SNDAPI/s:ALSA:OSS:" \ + makefile \ + || die "sed failed" + fi +} + +src_compile() { + if use opengl || ! use dedicated ; then + emake cl-${PN} || die "emake cl-${PN} failed" + if use sdl ; then + emake sdl-${PN} || die "emake sdl-${PN} failed" + fi + fi + + if use dedicated ; then + emake sv-${PN} || die "emake sv-${PN} failed" + fi +} + +src_install() { + if use opengl || ! use dedicated ; then + dogamesbin ${PN}-glx || die "dogamesbin glx failed" + doicon ${PN}.xpm + make_desktop_entry ${PN}-glx "Nexuiz (GLX)" + if use sdl ; then + dogamesbin ${PN}-sdl || die "dogamesbin sdl failed" + make_desktop_entry ${PN}-sdl "Nexuiz (SDL)" + dosym ${PN}-sdl "${GAMES_BINDIR}"/${PN} + else + dosym ${PN}-glx "${GAMES_BINDIR}"/${PN} + fi + fi + + if use dedicated ; then + dogamesbin ${PN}-dedicated || die "dogamesbin dedicated failed" + fi + + cd "${WORKDIR}"/${MY_PN} + + dodoc Docs/*.txt + dohtml -r readme.html Docs + + insinto "${GAMES_DATADIR}"/${PN} + + if use dedicated ; then + doins -r server || die "doins server failed" + fi + + doins -r data || die "doins data failed" + doins -r havoc || die "doins havoc failed" + + prepgamesdirs +} |