summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Tupone <tupone@gentoo.org>2010-03-10 09:54:08 +0000
committerAlfredo Tupone <tupone@gentoo.org>2010-03-10 09:54:08 +0000
commit3ea3e71108ed8629a093d5dee3ff50d86aee01bb (patch)
tree84e291f92cfd23a2a72b938a045db22b5ba1d4b4 /games-fps/openarena
parentMarked ~ppc. (diff)
downloadgentoo-2-3ea3e71108ed8629a093d5dee3ff50d86aee01bb.tar.gz
gentoo-2-3ea3e71108ed8629a093d5dee3ff50d86aee01bb.tar.bz2
gentoo-2-3ea3e71108ed8629a093d5dee3ff50d86aee01bb.zip
Unbundle media-libs/jpeg. Bug #255453
(Portage version: 2.1.7.17/cvs/Linux i686)
Diffstat (limited to 'games-fps/openarena')
-rw-r--r--games-fps/openarena/ChangeLog7
-rw-r--r--games-fps/openarena/files/openarena-0.8.1-unbundling.patch260
-rw-r--r--games-fps/openarena/files/openarena-0.8.1-zlib.patch116
-rw-r--r--games-fps/openarena/openarena-0.8.1-r1.ebuild5
4 files changed, 269 insertions, 119 deletions
diff --git a/games-fps/openarena/ChangeLog b/games-fps/openarena/ChangeLog
index afdb4d41f71a..f7d54b88645e 100644
--- a/games-fps/openarena/ChangeLog
+++ b/games-fps/openarena/ChangeLog
@@ -1,6 +1,11 @@
# 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.11 2010/03/06 22:04:30 tupone Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/ChangeLog,v 1.12 2010/03/10 09:54:08 tupone Exp $
+
+ 10 Mar 2010; Tupone Alfredo <tupone@gentoo.org> openarena-0.8.1-r1.ebuild,
+ +files/openarena-0.8.1-unbundling.patch,
+ -files/openarena-0.8.1-zlib.patch:
+ Unbundle media-libs/jpeg. Bug #255453 by flameeyes@gentoo.org
*openarena-0.8.1-r1 (06 Mar 2010)
diff --git a/games-fps/openarena/files/openarena-0.8.1-unbundling.patch b/games-fps/openarena/files/openarena-0.8.1-unbundling.patch
new file mode 100644
index 000000000000..34eaac20c4e0
--- /dev/null
+++ b/games-fps/openarena/files/openarena-0.8.1-unbundling.patch
@@ -0,0 +1,260 @@
+--- 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
+@@ -283,9 +283,9 @@
+ SHLIBLDFLAGS=-shared $(LDFLAGS)
+
+ THREAD_LDFLAGS=-lpthread
+- LDFLAGS=-ldl -lm
++ LDFLAGS=-ldl -lm -lz
+
+- CLIENT_LDFLAGS=$(shell sdl-config --libs) -lGL
++ CLIENT_LDFLAGS=$(shell sdl-config --libs) -lGL -ljpeg
+
+ ifeq ($(USE_OPENAL),1)
+ ifneq ($(USE_OPENAL_DLOPEN),1)
+@@ -560,7 +560,7 @@
+
+ THREAD_LDFLAGS=-lpthread
+ # don't need -ldl (FreeBSD)
+- LDFLAGS=-lm
++ LDFLAGS=-lm -lz
+
+ CLIENT_LDFLAGS =
+
+@@ -616,7 +616,7 @@
+ SHLIBLDFLAGS=-shared $(LDFLAGS)
+
+ THREAD_LDFLAGS=-lpthread
+- LDFLAGS=-lm
++ LDFLAGS=-lm -lz
+
+ CLIENT_LDFLAGS =
+
+@@ -644,7 +644,7 @@
+ ARCH=i386
+ endif
+
+- LDFLAGS=-lm
++ LDFLAGS=-lm -lz
+ SHLIBEXT=so
+ SHLIBCFLAGS=-fPIC
+ SHLIBLDFLAGS=-shared $(LDFLAGS)
+@@ -683,10 +683,10 @@
+ SHLIBCFLAGS=
+ SHLIBLDFLAGS=-shared
+
+- LDFLAGS=-ldl -lm -lgen
++ LDFLAGS=-ldl -lm -lgen -lz
+ # FIXME: The X libraries probably aren't necessary?
+ CLIENT_LDFLAGS=-L/usr/X11/$(LIB) $(shell sdl-config --libs) -lGL \
+- -lX11 -lXext -lm
++ -lX11 -lXext -lm -ljpeg
+
+ else # ifeq IRIX
+
+@@ -750,11 +750,11 @@
+ SHLIBLDFLAGS=-shared $(LDFLAGS)
+
+ THREAD_LDFLAGS=-lpthread
+- LDFLAGS=-lsocket -lnsl -ldl -lm
++ LDFLAGS=-lsocket -lnsl -ldl -lm -lz
+
+ BOTCFLAGS=-O0
+
+- CLIENT_LDFLAGS +=$(shell sdl-config --libs) -lGL
++ CLIENT_LDFLAGS +=$(shell sdl-config --libs) -lGL -ljpeg
+
+ else # ifeq sunos
+
+@@ -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/files/openarena-0.8.1-zlib.patch b/games-fps/openarena/files/openarena-0.8.1-zlib.patch
deleted file mode 100644
index ba163e8a3338..000000000000
--- a/games-fps/openarena/files/openarena-0.8.1-zlib.patch
+++ /dev/null
@@ -1,116 +0,0 @@
---- 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
-@@ -283,7 +283,7 @@
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-
- THREAD_LDFLAGS=-lpthread
-- LDFLAGS=-ldl -lm
-+ LDFLAGS=-ldl -lm -lz
-
- CLIENT_LDFLAGS=$(shell sdl-config --libs) -lGL
-
-@@ -560,7 +560,7 @@
-
- THREAD_LDFLAGS=-lpthread
- # don't need -ldl (FreeBSD)
-- LDFLAGS=-lm
-+ LDFLAGS=-lm -lz
-
- CLIENT_LDFLAGS =
-
-@@ -616,7 +616,7 @@
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-
- THREAD_LDFLAGS=-lpthread
-- LDFLAGS=-lm
-+ LDFLAGS=-lm -lz
-
- CLIENT_LDFLAGS =
-
-@@ -644,7 +644,7 @@
- ARCH=i386
- endif
-
-- LDFLAGS=-lm
-+ LDFLAGS=-lm -lz
- SHLIBEXT=so
- SHLIBCFLAGS=-fPIC
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-@@ -683,7 +683,7 @@
- SHLIBCFLAGS=
- SHLIBLDFLAGS=-shared
-
-- LDFLAGS=-ldl -lm -lgen
-+ LDFLAGS=-ldl -lm -lgen -lz
- # FIXME: The X libraries probably aren't necessary?
- CLIENT_LDFLAGS=-L/usr/X11/$(LIB) $(shell sdl-config --libs) -lGL \
- -lX11 -lXext -lm
-@@ -750,7 +750,7 @@
- SHLIBLDFLAGS=-shared $(LDFLAGS)
-
- THREAD_LDFLAGS=-lpthread
-- LDFLAGS=-lsocket -lnsl -ldl -lm
-+ LDFLAGS=-lsocket -lnsl -ldl -lm -lz
-
- BOTCFLAGS=-O0
-
---- 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
diff --git a/games-fps/openarena/openarena-0.8.1-r1.ebuild b/games-fps/openarena/openarena-0.8.1-r1.ebuild
index bc5b7d7b18bc..abe6b26aa457 100644
--- a/games-fps/openarena/openarena-0.8.1-r1.ebuild
+++ b/games-fps/openarena/openarena-0.8.1-r1.ebuild
@@ -1,6 +1,6 @@
# 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.1-r1.ebuild,v 1.1 2010/03/06 22:04:30 tupone Exp $
+# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/openarena-0.8.1-r1.ebuild,v 1.2 2010/03/10 09:54:08 tupone Exp $
EAPI=2
inherit eutils flag-o-matic versionator games
@@ -20,6 +20,7 @@ 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
@@ -37,7 +38,7 @@ DIR=${GAMES_DATADIR}/${PN}
src_prepare() {
cd "${WORKDIR}"
epatch "${FILESDIR}"/${P}-makefile.patch \
- "${FILESDIR}"/${P}-zlib.patch
+ "${FILESDIR}"/${P}-unbundling.patch
append-cflags -fno-strict-aliasing # bug #268851
sed -i \
-e "s:%CFLAGS%:${CFLAGS}:g" \