diff options
author | Michael Sterrett <mr_bones_@gentoo.org> | 2010-09-09 07:14:12 +0000 |
---|---|---|
committer | Michael Sterrett <mr_bones_@gentoo.org> | 2010-09-09 07:14:12 +0000 |
commit | 29ac0609b886de03d75d035e8645ff7420726c8a (patch) | |
tree | bf046766b8794a5c7e33006fa44aae81a8581ff5 /games-fps | |
parent | Bump chappa patches (73). Thanks to Sascha Lucas. Update metadata.xml (diff) | |
download | gentoo-2-29ac0609b886de03d75d035e8645ff7420726c8a.tar.gz gentoo-2-29ac0609b886de03d75d035e8645ff7420726c8a.tar.bz2 gentoo-2-29ac0609b886de03d75d035e8645ff7420726c8a.zip |
version bump with work from Cesar Garcia in bug #306617
(Portage version: 2.1.8.3/cvs/Linux i686)
Diffstat (limited to 'games-fps')
-rw-r--r-- | games-fps/openarena/ChangeLog | 10 | ||||
-rw-r--r-- | games-fps/openarena/files/openarena-0.8.5-bots-strcpy-fix.patch | 33 | ||||
-rw-r--r-- | games-fps/openarena/files/openarena-0.8.5-makefile.patch | 321 | ||||
-rw-r--r-- | games-fps/openarena/files/openarena-0.8.5-unbundling.patch | 194 | ||||
-rw-r--r-- | games-fps/openarena/openarena-0.8.5.ebuild | 89 |
5 files changed, 646 insertions, 1 deletions
diff --git a/games-fps/openarena/ChangeLog b/games-fps/openarena/ChangeLog index 18a98a1d9e9c..7204c169d606 100644 --- a/games-fps/openarena/ChangeLog +++ b/games-fps/openarena/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for games-fps/openarena # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/ChangeLog,v 1.17 2010/05/23 21:25:31 pacho Exp $ +# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/ChangeLog,v 1.18 2010/09/09 07:14:12 mr_bones_ Exp $ + +*openarena-0.8.5 (09 Sep 2010) + + 09 Sep 2010; Michael Sterrett <mr_bones_@gentoo.org> + +openarena-0.8.5.ebuild, +files/openarena-0.8.5-bots-strcpy-fix.patch, + +files/openarena-0.8.5-makefile.patch, + +files/openarena-0.8.5-unbundling.patch: + version bump with work from Cesar Garcia in bug #306617 23 May 2010; Pacho Ramos <pacho@gentoo.org> openarena-0.8.1-r1.ebuild: stable amd64, bug 315299 diff --git a/games-fps/openarena/files/openarena-0.8.5-bots-strcpy-fix.patch b/games-fps/openarena/files/openarena-0.8.5-bots-strcpy-fix.patch new file mode 100644 index 000000000000..af2b8f0fe3b0 --- /dev/null +++ b/games-fps/openarena/files/openarena-0.8.5-bots-strcpy-fix.patch @@ -0,0 +1,33 @@ +diff -up quake3-1.36/code/botlib/l_precomp.c~ quake3-1.36/code/botlib/l_precomp.c +--- quake3-1.36/code/botlib/l_precomp.c~ 2009-04-27 08:42:37.000000000 +0200 ++++ quake3-1.36/code/botlib/l_precomp.c 2009-11-03 21:03:08.000000000 +0100 +@@ -948,7 +948,7 @@ void PC_ConvertPath(char *path) + if ((*ptr == '\\' || *ptr == '/') && + (*(ptr+1) == '\\' || *(ptr+1) == '/')) + { +- strcpy(ptr, ptr+1); ++ memmove(ptr, ptr+1, strlen(ptr)); + } //end if + else + { +diff -up quake3-1.36/code/botlib/l_script.c~ quake3-1.36/code/botlib/l_script.c +--- quake3-1.36/code/botlib/l_script.c~ 2009-04-27 08:42:37.000000000 +0200 ++++ quake3-1.36/code/botlib/l_script.c 2009-11-03 21:06:11.000000000 +0100 +@@ -1118,7 +1118,7 @@ void StripDoubleQuotes(char *string) + { + if (*string == '\"') + { +- strcpy(string, string+1); ++ memmove(string, string+1, strlen(string)); + } //end if + if (string[strlen(string)-1] == '\"') + { +@@ -1135,7 +1135,7 @@ void StripSingleQuotes(char *string) + { + if (*string == '\'') + { +- strcpy(string, string+1); ++ memmove(string, string+1, strlen(string)); + } //end if + if (string[strlen(string)-1] == '\'') + { diff --git a/games-fps/openarena/files/openarena-0.8.5-makefile.patch b/games-fps/openarena/files/openarena-0.8.5-makefile.patch new file mode 100644 index 000000000000..a716763d84f6 --- /dev/null +++ b/games-fps/openarena/files/openarena-0.8.5-makefile.patch @@ -0,0 +1,321 @@ +--- openarena-engine-0.8.1/Makefile 2008-08-09 22:22:37.000000000 +0200 ++++ openarena-engine-0.8.1/Makefile.new 2009-01-07 19:33:31.000000000 +0100 +@@ -67,6 +67,10 @@ + + ifndef ARCH + ARCH=$(COMPILE_ARCH) ++else ++ ifeq ($(ARCH),amd64) ++ ARCH=x86_64 ++ endif + endif + export ARCH + +@@ -231,8 +231,7 @@ + endif + endif + +- BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes \ +- -pipe -DUSE_ICON $(shell sdl-config --cflags) ++ BASE_CFLAGS = -fno-strict-aliasing -DUSE_ICON $(shell sdl-config --cflags) -I. + + ifeq ($(USE_OPENAL),1) + BASE_CFLAGS += -DUSE_OPENAL +@@ -283,29 +283,29 @@ + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + +- THREAD_LDFLAGS=-lpthread +- LDFLAGS=-ldl -lm ++ THREAD_LIBS=-lpthread ++ LDLIBS=-ldl -lm -lz + +- CLIENT_LDFLAGS=$(shell sdl-config --libs) -lGL ++ CLIENT_LIBS=$(shell sdl-config --libs) -lGL -ljpeg + + ifeq ($(USE_OPENAL),1) + ifneq ($(USE_OPENAL_DLOPEN),1) +- CLIENT_LDFLAGS += -lopenal ++ CLIENT_LIBS += -lopenal + endif + endif + + ifeq ($(USE_CURL),1) + ifneq ($(USE_CURL_DLOPEN),1) +- CLIENT_LDFLAGS += -lcurl ++ CLIENT_LIBS += -lcurl + endif + endif + + ifeq ($(USE_CODEC_VORBIS),1) +- CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg ++ CLIENT_LIBS += -lvorbisfile -lvorbis -logg + endif + + ifeq ($(USE_MUMBLE),1) +- CLIENT_LDFLAGS += -lrt ++ CLIENT_LIBS += -lrt + endif + + ifeq ($(USE_LOCAL_HEADERS),1) +@@ -323,7 +322,7 @@ + endif + + DEBUG_CFLAGS = $(BASE_CFLAGS) -g -O0 +- RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG $(OPTIMIZE) ++ RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG + + else # ifeq Linux + +@@ -336,7 +336,7 @@ + + ifeq ($(PLATFORM),darwin) + HAVE_VM_COMPILED=true +- CLIENT_LDFLAGS= ++ CLIENT_LIBS= + OPTIMIZE= + + BASE_CFLAGS = -Wall -Wimplicit -Wstrict-prototypes +@@ -357,7 +357,7 @@ + ifeq ($(USE_OPENAL),1) + BASE_CFLAGS += -DUSE_OPENAL + ifneq ($(USE_OPENAL_DLOPEN),1) +- CLIENT_LDFLAGS += -framework OpenAL ++ CLIENT_LIBS += -framework OpenAL + else + BASE_CFLAGS += -DUSE_OPENAL_DLOPEN + endif +@@ -366,7 +366,7 @@ + ifeq ($(USE_CURL),1) + BASE_CFLAGS += -DUSE_CURL + ifneq ($(USE_CURL_DLOPEN),1) +- CLIENT_LDFLAGS += -lcurl ++ CLIENT_LIBS += -lcurl + else + BASE_CFLAGS += -DUSE_CURL_DLOPEN + endif +@@ -374,7 +374,7 @@ + + ifeq ($(USE_CODEC_VORBIS),1) + BASE_CFLAGS += -DUSE_CODEC_VORBIS +- CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg ++ CLIENT_LIBS += -lvorbisfile -lvorbis -logg + endif + + BASE_CFLAGS += -D_THREAD_SAFE=1 +@@ -387,7 +387,7 @@ + # the file has been modified by each build. + LIBSDLMAIN=$(B)/libSDLmain.a + LIBSDLMAINSRC=$(LIBSDIR)/macosx/libSDLmain.a +- CLIENT_LDFLAGS += -framework Cocoa -framework IOKit -framework OpenGL \ ++ CLIENT_LIBS += -framework Cocoa -framework IOKit -framework OpenGL \ + $(LIBSDIR)/macosx/libSDL-1.2.0.dylib + + OPTIMIZE += -ffast-math -falign-loops=16 +@@ -441,7 +441,7 @@ + ifeq ($(USE_OPENAL_DLOPEN),1) + BASE_CFLAGS += -DUSE_OPENAL_DLOPEN + else +- CLIENT_LDFLAGS += $(OPENAL_LDFLAGS) ++ CLIENT_LIBS += $(OPENAL_LDFLAGS) + endif + endif + +@@ -461,8 +461,8 @@ + + BINEXT=.exe + +- LDFLAGS= -lws2_32 -lwinmm +- CLIENT_LDFLAGS = -mwindows -lgdi32 -lole32 -lopengl32 ++ LDLIBS= -lws2_32 -lwinmm ++ CLIENT_LIBS = -mwindows -lgdi32 -lole32 -lopengl32 + + ifeq ($(USE_CURL),1) + BASE_CFLAGS += -DUSE_CURL +@@ -470,9 +470,9 @@ + ifneq ($(USE_CURL_DLOPEN),1) + ifeq ($(USE_LOCAL_HEADERS),1) + BASE_CFLAGS += -DCURL_STATICLIB +- CLIENT_LDFLAGS += $(LIBSDIR)/win32/libcurl.a ++ CLIENT_LIBS += $(LIBSDIR)/win32/libcurl.a + else +- CLIENT_LDFLAGS += $(CURL_LIBS) ++ CLIENT_LIBS += $(CURL_LIBS) + endif + endif + endif +@@ -480,9 +480,9 @@ + ifeq ($(USE_CODEC_VORBIS),1) + #Sago: Here I get vorbis to compile in Windows: + ifeq ($(PLATFORM),mingw32) +- CLIENT_LDFLAGS += $(LIBSDIR)/win32/libvorbisfile.a $(LIBSDIR)/win32/libvorbis.a $(LIBSDIR)/win32/libogg.a ++ CLIENT_LIBS += $(LIBSDIR)/win32/libvorbisfile.a $(LIBSDIR)/win32/libvorbis.a $(LIBSDIR)/win32/libogg.a + else +- CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg ++ CLIENT_LIBS += -lvorbisfile -lvorbis -logg + endif + endif + +@@ -496,14 +496,14 @@ + RELEASE_CFLAGS=$(BASE_CFLAGS) -DNDEBUG $(OPTIMIZE) + + # libmingw32 must be linked before libSDLmain +- CLIENT_LDFLAGS += -lmingw32 ++ CLIENT_LIBS += -lmingw32 + ifeq ($(USE_LOCAL_HEADERS),1) + BASE_CFLAGS += -I$(SDLHDIR)/include +- CLIENT_LDFLAGS += $(LIBSDIR)/win32/libSDLmain.a \ ++ CLIENT_LIBS += $(LIBSDIR)/win32/libSDLmain.a \ + $(LIBSDIR)/win32/libSDL.dll.a + else + BASE_CFLAGS += $(SDL_CFLAGS) +- CLIENT_LDFLAGS += $(SDL_LIBS) ++ CLIENT_LIBS += $(SDL_LIBS) + endif + + +@@ -561,22 +561,22 @@ + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + +- THREAD_LDFLAGS=-lpthread ++ THREAD_LIBS=-lpthread + # don't need -ldl (FreeBSD) +- LDFLAGS=-lm ++ LDLIBS=-lm -lz + +- CLIENT_LDFLAGS = ++ CLIENT_LIBS = + +- CLIENT_LDFLAGS += $(shell sdl-config --libs) -lGL ++ CLIENT_LIBS += $(shell sdl-config --libs) -lGL + + ifeq ($(USE_OPENAL),1) + ifneq ($(USE_OPENAL_DLOPEN),1) +- CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lopenal ++ CLIENT_LIBS += $(THREAD_LIBS) -lopenal + endif + endif + + ifeq ($(USE_CODEC_VORBIS),1) +- CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg ++ CLIENT_LIBS += -lvorbisfile -lvorbis -logg + endif + + else # ifeq freebsd +@@ -618,21 +618,21 @@ + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + +- THREAD_LDFLAGS=-lpthread +- LDFLAGS=-lm ++ THREAD_LIBS=-lpthread ++ LDLIBS=-lm -lz + +- CLIENT_LDFLAGS = ++ CLIENT_LIBS = + +- CLIENT_LDFLAGS += $(shell sdl-config --libs) -lGL ++ CLIENT_LIBS += $(shell sdl-config --libs) -lGL + + ifeq ($(USE_OPENAL),1) + ifneq ($(USE_OPENAL_DLOPEN),1) +- CLIENT_LDFLAGS += $(THREAD_LDFLAGS) -lossaudio -lopenal ++ CLIENT_LIBS += $(THREAD_LIBS) -lossaudio -lopenal + endif + endif + + ifeq ($(USE_CODEC_VORBIS),1) +- CLIENT_LDFLAGS += -lvorbisfile -lvorbis -logg ++ CLIENT_LIBS += -lvorbisfile -lvorbis -logg + endif + + else # ifeq openbsd +@@ -647,11 +647,11 @@ + ARCH=i386 + endif + +- LDFLAGS=-lm ++ LDLIBS=-lm -lz + SHLIBEXT=so + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) +- THREAD_LDFLAGS=-lpthread ++ THREAD_LIBS=-lpthread + + BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes + +@@ -686,9 +686,9 @@ + SHLIBCFLAGS= + SHLIBLDFLAGS=-shared + +- LDFLAGS=-ldl -lm -lgen ++ LDLIBS=-ldl -lm -lgen -lz + # FIXME: The X libraries probably aren't necessary? +- CLIENT_LDFLAGS=-L/usr/X11/$(LIB) $(shell sdl-config --libs) -lGL \ ++ CLIENT_LIBS=-L/usr/X11/$(LIB) $(shell sdl-config --libs) -lGL \ +- -lX11 -lXext -lm ++ -lX11 -lXext -lm -ljpeg + + else # ifeq IRIX +@@ -736,7 +736,7 @@ + BASE_CFLAGS += -m32 + LDFLAGS += -m32 + BASE_CFLAGS += -I/usr/X11/include/NVIDIA +- CLIENT_LDFLAGS += -L/usr/X11/lib/NVIDIA -R/usr/X11/lib/NVIDIA ++ CLIENT_LIBS += -L/usr/X11/lib/NVIDIA -R/usr/X11/lib/NVIDIA + endif + endif + +@@ -752,12 +752,12 @@ + SHLIBCFLAGS=-fPIC + SHLIBLDFLAGS=-shared $(LDFLAGS) + +- THREAD_LDFLAGS=-lpthread +- LDFLAGS=-lsocket -lnsl -ldl -lm ++ THREAD_LIBS=-lpthread ++ LDLIBS=-lsocket -lnsl -ldl -lm -lz + + BOTCFLAGS=-O0 + +- CLIENT_LDFLAGS +=$(shell sdl-config --libs) -lGL ++ CLIENT_LIBS +=$(shell sdl-config --libs) -lGL -ljpeg + + else # ifeq sunos + +@@ -825,7 +825,7 @@ + ifeq ($(USE_INTERNAL_SPEEX),1) + BASE_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include + else +- CLIENT_LDFLAGS += -lspeex ++ CLIENT_LIBS += -lspeex -lspeexdsp + endif + endif + +@@ -1421,13 +1421,13 @@ + + $(B)/openarena.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ) $(LIBSDLMAIN) + $(echo_cmd) "LD $@" +- $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ) $(CLIENT_LDFLAGS) \ +- $(LDFLAGS) $(LIBSDLMAIN) ++ $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ) \ ++ $(LDFLAGS) $(LIBSDLMAIN) $(CLIENT_LIBS) $(LDLIBS) + + $(B)/openarena-smp.$(ARCH)$(BINEXT): $(Q3OBJ) $(Q3POBJ_SMP) $(LIBSDLMAIN) + $(echo_cmd) "LD $@" +- $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ_SMP) $(CLIENT_LDFLAGS) \ +- $(THREAD_LDFLAGS) $(LDFLAGS) $(LIBSDLMAIN) ++ $(Q)$(CC) -o $@ $(Q3OBJ) $(Q3POBJ_SMP) \ ++ $(LDFLAGS) $(THREAD_LIBS) $(LIBSDLMAIN) $(CLIENT_LIBS) $(LDLIBS) + + ifneq ($(strip $(LIBSDLMAIN)),) + ifneq ($(strip $(LIBSDLMAINSRC)),) +@@ -1553,7 +1553,7 @@ + + $(B)/oa_ded.$(ARCH)$(BINEXT): $(Q3DOBJ) + $(echo_cmd) "LD $@" +- $(Q)$(CC) -o $@ $(Q3DOBJ) $(LDFLAGS) ++ $(Q)$(CC) -o $@ $(Q3DOBJ) $(LDFLAGS) $(LDLIBS) + + + diff --git a/games-fps/openarena/files/openarena-0.8.5-unbundling.patch b/games-fps/openarena/files/openarena-0.8.5-unbundling.patch new file mode 100644 index 000000000000..687668e602b8 --- /dev/null +++ b/games-fps/openarena/files/openarena-0.8.5-unbundling.patch @@ -0,0 +1,194 @@ +--- openarena-engine-0.8.1/Makefile.old 2010-03-06 21:51:19.000000000 +0100 ++++ openarena-engine-0.8.1/Makefile 2010-03-06 21:58:01.000000000 +0100 +@@ -1278,41 +1278,7 @@ + $(B)/client/l_script.o \ + $(B)/client/l_struct.o \ + \ +- $(B)/client/jcapimin.o \ +- $(B)/client/jcapistd.o \ +- $(B)/client/jchuff.o \ +- $(B)/client/jcinit.o \ +- $(B)/client/jccoefct.o \ +- $(B)/client/jccolor.o \ +- $(B)/client/jfdctflt.o \ +- $(B)/client/jcdctmgr.o \ +- $(B)/client/jcphuff.o \ +- $(B)/client/jcmainct.o \ +- $(B)/client/jcmarker.o \ +- $(B)/client/jcmaster.o \ +- $(B)/client/jcomapi.o \ +- $(B)/client/jcparam.o \ +- $(B)/client/jcprepct.o \ +- $(B)/client/jcsample.o \ +- $(B)/client/jdapimin.o \ +- $(B)/client/jdapistd.o \ + $(B)/client/jdatasrc.o \ +- $(B)/client/jdcoefct.o \ +- $(B)/client/jdcolor.o \ +- $(B)/client/jddctmgr.o \ +- $(B)/client/jdhuff.o \ +- $(B)/client/jdinput.o \ +- $(B)/client/jdmainct.o \ +- $(B)/client/jdmarker.o \ +- $(B)/client/jdmaster.o \ +- $(B)/client/jdpostct.o \ +- $(B)/client/jdsample.o \ +- $(B)/client/jdtrans.o \ +- $(B)/client/jerror.o \ +- $(B)/client/jidctflt.o \ +- $(B)/client/jmemmgr.o \ +- $(B)/client/jmemnobs.o \ +- $(B)/client/jutils.o \ + \ + $(B)/client/tr_animation.o \ + $(B)/client/tr_backend.o \ +--- openarena-engine-0.8.1/code/qcommon/unzip.h.old 2010-03-06 21:59:46.000000000 +0100 ++++ openarena-engine-0.8.1/code/qcommon/unzip.h 2010-03-06 22:00:58.000000000 +0100 +@@ -19,6 +19,8 @@ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + =========================================================================== + */ ++#include <zconf.h> ++#include <zlib.h> + + #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) + /* like the STRICT of WIN32, we define a pointer that cannot be converted +@@ -80,6 +82,7 @@ + typedef void* (*alloc_func) (void* opaque, unsigned int items, unsigned int size); + typedef void (*free_func) (void* opaque, void* address); + ++#if 0 + struct internal_state; + + typedef struct z_stream_s { +@@ -105,6 +108,7 @@ + + typedef z_stream *z_streamp; + ++#endif + + /* file_in_zip_read_info_s contain internal information about a file in zipfile, + when reading and decompress it */ +--- openarena-engine-0.8.1/code/qcommon/unzip.c.old 2010-03-06 22:01:40.000000000 +0100 ++++ openarena-engine-0.8.1/code/qcommon/unzip.c 2010-03-06 22:03:35.000000000 +0100 +@@ -49,7 +49,7 @@ + ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip + PkWare has also a specification at : + ftp://ftp.pkware.com/probdesc.zip */ +- ++#if 0 + /* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.1.3, July 9th, 1998 + +@@ -955,6 +955,7 @@ + // static const char * zError OF((int err)); + // static int inflateSyncPoint OF((z_streamp z)); + // static const uLong * get_crc_table OF((void)); ++#endif + + typedef unsigned char uch; + typedef unsigned short ush; +@@ -2248,6 +2249,8 @@ + return (int)uReadThis; + } + ++#if 0 ++ + /* infblock.h -- header to use infblock.c + * Copyright (C) 1995-1998 Mark Adler + * For conditions of distribution and use, see copyright notice in zlib.h +@@ -4295,3 +4298,4 @@ + } + + ++#endif +--- openarena-engine-0.8.1/code/jpeg-6/jdatasrc.c.old 2010-03-10 09:13:25.000000000 +0100 ++++ openarena-engine-0.8.1/code/jpeg-6/jdatasrc.c 2010-03-10 09:23:39.000000000 +0100 +@@ -16,9 +16,15 @@ + + + /* this is not a core library module, so it doesn't define JPEG_INTERNALS */ +-#include "jinclude.h" +-#include "jpeglib.h" +-#include "jerror.h" ++#include <stdio.h> ++#include <string.h> ++#include <jpeglib.h> ++#include <jerror.h> ++#undef METHODDEF ++#define METHODDEF static ++#undef GLOBAL ++#define GLOBAL ++#define SIZEOF(object) ((size_t) sizeof(object)) + + #ifndef MIN + #define MIN(a, b) ((a)<(b)?(a):(b)) +@@ -189,7 +195,7 @@ + */ + + GLOBAL void +-jpeg_mem_src (j_decompress_ptr cinfo, unsigned char *inbuf, size_t size) ++jpeg_mem_src (j_decompress_ptr cinfo, unsigned char *inbuf, unsigned long size) + { + my_src_ptr src; + +--- openarena-engine-0.8.1/code/renderer/tr_image_jpg.c.old 2010-03-10 09:30:30.000000000 +0100 ++++ openarena-engine-0.8.1/code/renderer/tr_image_jpg.c 2010-03-10 10:17:42.000000000 +0100 +@@ -31,7 +31,7 @@ + */ + + #define JPEG_INTERNALS +-#include "../jpeg-6/jpeglib.h" ++#include <jpeglib.h> + + void R_LoadJPG( const char *filename, unsigned char **pic, int *width, int *height ) { + /* This struct contains the JPEG decompression parameters and pointers to +@@ -128,7 +128,10 @@ + } + + memcount = pixelcount * 4; +- row_stride = cinfo.output_width * cinfo.output_components; ++ if (3 == cinfo.output_components) ++ row_stride = cinfo.output_width * 4; ++ else ++ row_stride = cinfo.output_width * cinfo.output_components; + + out = ri.Malloc(memcount); + +@@ -141,14 +144,26 @@ + /* Here we use the library's state variable cinfo.output_scanline as the + * loop counter, so that we don't have to keep track ourselves. + */ ++ buf = out; + while (cinfo.output_scanline < cinfo.output_height) { + /* jpeg_read_scanlines expects an array of pointers to scanlines. + * Here the array is only one element long, but you could ask for + * more than one scanline at a time if that's more convenient. + */ +- buf = ((out+(row_stride*cinfo.output_scanline))); + buffer = &buf; + (void) jpeg_read_scanlines(&cinfo, buffer, 1); ++ if (3 == cinfo.output_components) { ++ /* turn RGB into RGBA */ ++ int ioffset = cinfo.output_width * 3 - 1; ++ int ooffset = cinfo.output_width * 4 - 1; ++ do { ++ buf[ooffset--] = 255; ++ buf[ooffset--] = buf[ioffset--]; ++ buf[ooffset--] = buf[ioffset--]; ++ buf[ooffset--] = buf[ioffset--]; ++ } while (ioffset > 0); ++ } ++ buf += row_stride; + } + + buf = out; +@@ -173,7 +188,7 @@ + buf[--dindex] = greyshade; + } while(sindex); + } +- else ++ else if (4 == cinfo.output_components) + { + // clear all the alphas to 255 + int i; diff --git a/games-fps/openarena/openarena-0.8.5.ebuild b/games-fps/openarena/openarena-0.8.5.ebuild new file mode 100644 index 000000000000..137cdb3cf275 --- /dev/null +++ b/games-fps/openarena/openarena-0.8.5.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/openarena-0.8.5.ebuild,v 1.1 2010/09/09 07:14:12 mr_bones_ Exp $ + +EAPI=2 +inherit eutils flag-o-matic versionator games + +MY_PV=$(delete_all_version_separators) +BASE_PV="0.8.1" +OLD_PV=$(delete_all_version_separators $BASE_PV) + +DESCRIPTION="Open-source replacement for Quake 3 Arena" +HOMEPAGE="http://openarena.ws/" +SRC_URI="http://download.tuxfamily.org/openarena/rel/${OLD_PV}/oa${OLD_PV}.zip + http://download.tuxfamily.org/openarena/rel/${MY_PV}/oa${MY_PV}p.zip + http://openarena.ws/svn/source/${OLD_PV}/${PN}-engine-${BASE_PV}-1.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="+curl +openal +vorbis" + +RDEPEND="virtual/opengl + media-libs/libsdl[joystick,opengl,video] + media-libs/speex + media-libs/jpeg + x11-libs/libXext + x11-libs/libX11 + x11-libs/libXau + x11-libs/libXdmcp + curl? ( net-misc/curl ) + openal? ( media-libs/openal ) + vorbis? ( media-libs/libvorbis )" +DEPEND="${RDEPEND} + app-arch/unzip" + +MY_S=${WORKDIR}/${PN}-engine-${BASE_PV} +S=${WORKDIR}/${PN}-${BASE_PV} +BUILD_DIR=${PN}-build +DIR=${GAMES_DATADIR}/${PN} + +src_prepare() { + cd "${WORKDIR}" + epatch "${FILESDIR}"/${P}-makefile.patch \ + "${FILESDIR}"/${P}-unbundling.patch + sed -i \ + -e '/ALDRIVER_DEFAULT/s/libopenal.so.0/libopenal.so/' \ + "${MY_S}"/code/client/snd_openal.c \ + || die "sed failed" + cd "${MY_S}" + epatch "${FILESDIR}"/${P}-bots-strcpy-fix.patch + touch jpegint.h +} + +src_compile() { + local myopts + + # enable voip, disable mumble + # also build always server and use smp by default + myopts="USE_INTERNAL_SPEEX=0 USE_VOIP=1 USE_MUMBLE=0 + BUILD_SERVER=1 BUILD_CLIENT_SMP=1 USE_LOCAL_HEADERS=0" + use curl || myopts="${myopts} USE_CURL=0" + use openal || myopts="${myopts} USE_OPENAL=0" + use vorbis || myopts="${myopts} USE_CODEC_VORBIS=0" + + cd "${MY_S}" + emake \ + V=1 \ + DEFAULT_BASEDIR="${DIR}" \ + BR="${BUILD_DIR}" \ + ${myopts} \ + || die "emake failed" +} + +src_install() { + cd "${MY_S}"/"${BUILD_DIR}" + newgamesbin openarena-smp.* "${PN}" || die "binary install failed" + newgamesbin oa_ded.* "${PN}-ded" || die "dedicated binary not found" + cd "${S}" + + insinto "${DIR}" + doins -r baseoa missionpack || die "doins -r failed" + + dodoc CHANGES CREDITS LINUXNOTES README + newicon "${MY_S}"/misc/quake3.png ${PN}.png + make_desktop_entry ${PN} "OpenArena" + + prepgamesdirs +} |