Unbundling speex and zlib. Partially fix bug #255453
authorAlfredo Tupone <tupone@gentoo.org>
Sat, 6 Mar 2010 22:04:30 +0000 (22:04 +0000)
committerAlfredo Tupone <tupone@gentoo.org>
Sat, 6 Mar 2010 22:04:30 +0000 (22:04 +0000)
Package-Manager: portage-2.1.7.17/cvs/Linux i686

games-fps/openarena/ChangeLog
games-fps/openarena/Manifest
games-fps/openarena/files/openarena-0.8.1-makefile.patch
games-fps/openarena/files/openarena-0.8.1-zlib.patch [new file with mode: 0644]
games-fps/openarena/openarena-0.8.1-r1.ebuild [new file with mode: 0644]

index 4daa65d58d111034442389ec59bdef96533c159c..afdb4d41f71abd543c2dacab92d9c71688fb88cf 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for games-fps/openarena
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/games-fps/openarena/ChangeLog,v 1.10 2009/10/12 15:14:04 mr_bones_ Exp $
+# 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 $
+
+*openarena-0.8.1-r1 (06 Mar 2010)
+
+  06 Mar 2010; Tupone Alfredo <tupone@gentoo.org>
+  +openarena-0.8.1-r1.ebuild, files/openarena-0.8.1-makefile.patch,
+  +files/openarena-0.8.1-zlib.patch:
+  Unbundling speex and zlib. Partially fix bug #255453 by
+  flameeyes@gentoo.org
 
   12 Oct 2009; Michael Sterrett <mr_bones_@gentoo.org>
   openarena-0.8.1.ebuild:
index 0a5d1cc0c31f425b2445f7027a4516876d18feb8..58302542636cc69ff8b3ee1030fe8c2b0d7148b0 100644 (file)
@@ -1,6 +1,8 @@
-AUX openarena-0.8.1-makefile.patch 633 RMD160 3e1073dd08aed3964477767b2c7efb6e2c9afc48 SHA1 de974ef4e7b43e17a0a3ef5a18da9cdfa344b7a0 SHA256 3e7e006581d63e6ef506b23df79396b8e30aaa0ee3f00e013f5d1fc8043ed02f
+AUX openarena-0.8.1-makefile.patch 858 RMD160 4243380e3aca2aa1fd916ba7633f9a01cf00f308 SHA1 93c15c8d453fcae7c2647bdcc04dd7dbab2caf9f SHA256 68ae0af3b94fa4ec013de43f23e85477d45932170c38c4661ccc2339f5377597
+AUX openarena-0.8.1-zlib.patch 3112 RMD160 dd8985f1b527c5a094656c897a37f3528ca5cca0 SHA1 d6700e1c7ddf3349c01d1398859c05d010888731 SHA256 b71fe4752badbae3ffef999a6a589c1f15265567773687b549132721234e6d06
 DIST oa081.zip 318927645 RMD160 9009eaf581ad0bf19296418da1a16e2d43daec16 SHA1 526c39e51d0b53177b02bd490bf830f622f35ad5 SHA256 c96282de8bc2ac5781df58c6adbce4265376e36190af50d7528f51dc739b6d7d
 DIST openarena-engine-0.8.1-1.tar.bz2 2951703 RMD160 123e9f70621fd856385c6ca7ad0580b81454d687 SHA1 6de345c0bebd87e1406cb07189537db99a422808 SHA256 430ba9b691c8085b946e004f0cc890995c7f8295498bd8c8ce744293a87274d2
+EBUILD openarena-0.8.1-r1.ebuild 2276 RMD160 e765fcc580ab4ddfe0fcd7ec11cc98acbff0c5fa SHA1 cc47f0604ba6e6d51bdc172bc2fa75a7486473df SHA256 6f3f75d302ace3ef6511e742a46ee9284e7a5bbce5d2cec4f9db1d59040a0bba
 EBUILD openarena-0.8.1.ebuild 2265 RMD160 8fc713b3f42a1ddc77bf4b572290e6309d2c98f0 SHA1 3f71fbec0226b159af47073202435e4418f0f9b4 SHA256 44477dc82585d209612efcb11ced179fd946b156a379f2c72b7bafa0764cda7a
-MISC ChangeLog 1889 RMD160 682da97735732e3771a65be5473161f10a4ea377 SHA1 d2f0c0a59d2b6ed433e0cbed7385da59d6726024 SHA256 1904c2efb7993463cb0d9d2f211ae9120c359be43f00dc21b846faeda8940669
+MISC ChangeLog 2158 RMD160 59d573ada6088a548b37905c81d5371679ba00f4 SHA1 a574d4a94787c832bcdbb3f6fab4c9fe8b4ff121 SHA256 bf4f4f373cb57b35f421fe4f7b63e83fe4f271b2cc51fc67512a37963c7b8f66
 MISC metadata.xml 158 RMD160 cbd9984bb6b426c8c9cee5022fe0a26261612fea SHA1 be5251fa1dacef5c41b74761bb1c8c54fb633b9e SHA256 1423a4fdd4a79b1728a2056d9e300f7e1074253095d82726218d9e9b953888a3
index bb556119802cbe3c40f6c449b1152fbb3658ada7..eb6a6f6a93d658ac429b560cf63cbb0435f8c522 100644 (file)
  
  else # ifeq Linux
  
+@@ -821,7 +821,7 @@
+   ifeq ($(USE_INTERNAL_SPEEX),1)
+     BASE_CFLAGS += -DFLOATING_POINT -DUSE_ALLOCA -I$(SPEEXDIR)/include
+   else
+-    CLIENT_LDFLAGS += -lspeex
++    CLIENT_LDFLAGS += -lspeex -lspeexdsp
+   endif
+ endif
+ 
diff --git a/games-fps/openarena/files/openarena-0.8.1-zlib.patch b/games-fps/openarena/files/openarena-0.8.1-zlib.patch
new file mode 100644 (file)
index 0000000..ba163e8
--- /dev/null
@@ -0,0 +1,116 @@
+--- 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
new file mode 100644 (file)
index 0000000..bc5b7d7
--- /dev/null
@@ -0,0 +1,85 @@
+# 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 $
+
+EAPI=2
+inherit eutils flag-o-matic versionator games
+
+MY_PV=$(delete_all_version_separators)
+
+DESCRIPTION="Open-source replacement for Quake 3 Arena"
+HOMEPAGE="http://openarena.ws/"
+SRC_URI="http://download.tuxfamily.org/openarena/rel/${MY_PV}/oa${MY_PV}.zip
+       http://openarena.ws/svn/source/${MY_PV}/${PN}-engine-${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
+       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-${PV}
+BUILD_DIR=${PN}-build
+DIR=${GAMES_DATADIR}/${PN}
+
+src_prepare() {
+       cd "${WORKDIR}"
+       epatch "${FILESDIR}"/${P}-makefile.patch \
+               "${FILESDIR}"/${P}-zlib.patch
+       append-cflags -fno-strict-aliasing # bug #268851
+       sed -i \
+               -e "s:%CFLAGS%:${CFLAGS}:g" \
+               "${MY_S}"/Makefile \
+               || die "sed failed"
+       sed -i \
+               -e '/ALDRIVER_DEFAULT/s/libopenal.so.0/libopenal.so/' \
+               "${MY_S}"/code/client/snd_openal.c \
+               || die "sed failed"
+}
+
+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 \
+               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
+}