Fix bug 206287.
Package-Manager: portage-15511-svn/cvs/Linux i686
--- /dev/null
+# ChangeLog for games-arcade/teeworlds
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-arcade/teeworlds/ChangeLog,v 1.1 2010/03/25 17:58:18 volkmar Exp $
+
+*teeworlds-0.5.2 (25 Mar 2010)
+
+ 25 Mar 2010; Mounir Lamouri <volkmar@gentoo.org> +teeworlds-0.5.2.ebuild,
+ +files/teeworlds-0.5.2-system-libs.patch,
+ +files/teeworlds-0.5.2-wavpack.patch, +files/teeworlds.xpm, +metadata.xml:
+ Initial commit. Fix bug 206287
+
--- /dev/null
+AUX teeworlds-0.5.2-system-libs.patch 1861 RMD160 8d60b4506440fad9907501a340e016e7f68f4385 SHA1 e8113d7f30a7e0866b6e87934f63a2e1bb2dbff7 SHA256 a748535f57b62d056c302c290dd47e29cc7a2e4d5bc345527c5ce70b97ce607b
+AUX teeworlds-0.5.2-wavpack.patch 1181 RMD160 3770042ef2670c1453e5096f64d4acfa7e0b66b1 SHA1 f4f140aff81ee6ac9709a6ff5aa42a2af55f786c SHA256 343e77a8c22315a2c7303dfa29181966bd17316d8ee5e5cad9d08c258a76ff37
+AUX teeworlds.xpm 2785 RMD160 f45531cd48dc897b02c73fee5870f703877620da SHA1 1a00d39a748ea006f71f4b7c0ed73015e34a18a0 SHA256 0b31cc3e65ca26676324a7b66de29cb91df90221e28f9e4b5adfec0e37729284
+DIST teeworlds-0.5.2-src.tar.gz 6393472 RMD160 12b3384b3059d5ec0ebb437686f613f8d9430e61 SHA1 26d8059b1ad81ca6959b96fd3ff881f9db7550ef SHA256 1811a71bf9a1470c7a69308035744492f3e850aefdd12f1bc223fb85d98cf4c0
+EBUILD teeworlds-0.5.2.ebuild 2450 RMD160 9e918761b24275b98605f5b3f8089ff18574eab9 SHA1 711e715f308200f31296d82dea1ec01152525eb9 SHA256 ce99ed43df28fa3af02a29ea1075f3fb50c156c00f66d8ede2bfeb111202e001
+MISC ChangeLog 481 RMD160 21feb20224c93eef2cdb200f227095474844ec39 SHA1 7e62ef11b8b0d33dabf85d4f1779e119b6da9264 SHA256 58eb51ef9d858e78e53e2d8f34260ec83475195dc1d3190bb912874c8780a666
+MISC metadata.xml 328 RMD160 407d842ca99912275e7cc3aed2f6a2a307b8d0c3 SHA1 4a5afab24063a9ee2e86e7c97c5b546009a95daa SHA256 c1e6f853966bca5440f8f5e887bcf4129b2f271829248cb74cbb52bba44abb7b
--- /dev/null
+--- default.bam.orig 2010-03-24 22:16:59.000000000 +0100
++++ default.bam 2010-03-24 22:17:32.000000000 +0100
+@@ -7,6 +7,8 @@
+ config:Add(OptFindCompiler())
+ config:Add(OptTestCompileC("stackprotector", "int main(){return 0;}", "-fstack-protector -fstack-protector-all"))
+ config:Add(OptFindLibrary("zlib", "zlib.h", false))
++config:Add(OptFindLibrary("pnglite", "pnglite.h", false))
++config:Add(OptFindLibrary("wavpack", "wavpack/wavpack.h", false))
+ config:Add(SDL.OptFind("sdl", true))
+ config:Finalize("config.bam")
+
+@@ -150,9 +152,6 @@
+ settings.cc.includes:Add("src/engine/external/zlib")
+ end
+
+- -- build the small libraries
+- wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
+- pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
+
+ -- build game components
+ engine_settings = settings:Copy()
+@@ -160,6 +159,31 @@
+ client_settings = engine_settings:Copy()
+ launcher_settings = engine_settings:Copy()
+
++ -- compile pnglite if needed
++ if config.pnglite.value == 1 then
++ client_settings.link.libs:Add("pnglite")
++ if config.pnglite.include_path then
++ client_settings.cc.includes:Add(config.pnglite.include_path)
++ end
++ pnglite = {}
++ else
++ pnglite = Compile(settings, Collect("src/engine/external/pnglite/*.c"))
++ client_settings.cc.includes:Add("src/engine/external/pnglite")
++ end
++
++ -- compile wavpack if needed
++ if config.wavpack.value == 1 then
++ client_settings.link.libs:Add("wavpack")
++ if config.wavpack.include_path then
++ client_settings.cc.includes:Add(config.wavpack.include_path)
++ end
++ wavpack = {}
++ else
++ wavpack = Compile(settings, Collect("src/engine/external/wavpack/*.c"))
++ client_settings.cc.includes:Add("src/engine/external")
++ end
++
++
+ if family == "unix" then
+ if platform == "macosx" then
+ client_settings.link.frameworks:Add("OpenGL")
--- /dev/null
+diff --git a/src/engine/client/ec_snd.c b/src/engine/client/ec_snd.c
+index 034dfb2..67e819c 100644
+--- a/src/engine/client/ec_snd.c
++++ b/src/engine/client/ec_snd.c
+@@ -359,13 +359,6 @@ static void rate_convert(int sid)
+ }
+
+
+-static IOHANDLE file = NULL;
+-
+-static int read_data(void *buffer, int size)
+-{
+- return io_read(file, buffer, size);
+-}
+-
+ int snd_load_wv(const char *filename)
+ {
+ SAMPLE *snd;
+@@ -381,19 +374,12 @@ int snd_load_wv(const char *filename)
+ if(!sound_enabled)
+ return 1;
+
+- file = engine_openfile(filename, IOFLAG_READ); /* TODO: use system.h stuff for this */
+- if(!file)
+- {
+- dbg_msg("sound/wv", "failed to open %s", filename);
+- return -1;
+- }
+-
+ sid = snd_alloc_id();
+ if(sid < 0)
+ return -1;
+ snd = &samples[sid];
+
+- context = WavpackOpenFileInput(read_data, error);
++ context = WavpackOpenFileInput(filename, error, OPEN_2CH_MAX, 0);
+ if (context)
+ {
+ int samples = WavpackGetNumSamples(context);
+@@ -448,9 +434,6 @@ int snd_load_wv(const char *filename)
+ dbg_msg("sound/wv", "failed to open %s: %s", filename, error);
+ }
+
+- io_close(file);
+- file = NULL;
+-
+ if(config.debug)
+ dbg_msg("sound/wv", "loaded %s", filename);
+
--- /dev/null
+/* XPM */
+static char *teeworlds__[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 12 1",
+" c #000000",
+". c #800000",
+"X c #FF0000",
+"o c #008000",
+"O c #808000",
+"+ c #FFFF00",
+"@ c #000080",
+"# c #800080",
+"$ c #008080",
+"% c #808080",
+"& c #C0C0C0",
+"* c None",
+/* pixels */
+"*********************%%.%%%*********************",
+"*****************% %*****************",
+"*************** .%O%OOO. ***************",
+"************* ..%+&++++++++&O @*************",
+"***********% O&&++++++++++++++% ************",
+"**********O .+&&+++++++++++++++++O %**********",
+"*********@ O&&&+++++++++++++++++++% %*********",
+"******** .O&+++++++++++++++++++++++% %********",
+"*******% O+&++++++++++++++++++++++++% ********",
+"******* O+&&+++++++++++++++++++++++++% *******",
+"****** O+X&+++++++++++++++++++++++++++O .******",
+"*****% .OX++++++++++++++++++++++++++++++ ******",
+"***** .++++++++++++ +++++O@ ++++++++++ *****",
+"****% ++X+++++++++ +++O . +++++++++ *****",
+"**** O+X++++++++++ +++ +++++++++O %****",
+"**** X++X+++++++++ +++ ++++++++++ ****",
+"**** ++X+&++++++++ +++ ++++++++++ ****",
+"***% .+X+O+++++++++ +++ ++++++++++O ****",
+"***% O++X+&++++++++ +++ ++++++++++% %***",
+"*** O+X+++++++++++ +++O ++++++++++O %***",
+"*** OX+X+X+++++++++ +++++ +++++++++++& .***",
+"*** ++++X+&++++++++++++++++++++++++++++++O $***",
+"*** OX+X++%++++++++++++++++++++++++++++++% .***",
+"*** O+O++X+++++++++++++++++++++++++++++++% %***",
+"*** O+X+X+++++++++++++++++++++++++++++++&O %***",
+"***% .+O++X+X+++++++++++++++++++++++++++++ ****",
+"**** +X+X+++%+++++++++++++++++++++++++++& ****",
+"**** O++O+OX+&++++++++++++++++++++++++++% ****",
+"****% .+X+X++++&+++++++++++++++++++++++++. %****",
+"***** O+O+X+OX+&+++++++++++++++++++++++% *****",
+"***** O+X++X+++++++++++++++++++++++++++@ %*****",
+"****** OO+X++X+X++++++++++++++++++++++% ******",
+"******% ++O+X++O+++++++++++++++++++++& %******",
+"******* .O o .O.O+&+++++++++++++++&. %*******",
+"******% O.OOO#o. OO+&+++++++++++&. ********",
+"*****% .O+X&X+X+X%+. OX++&+&+&X+X+ *******",
+"***** .%OX+O+%O+&+X&+O oO+X+X++++O .OO ******",
+"****% .OO+%+&X+&+X+%+X&X .+O++X+O. #%+X+. *****",
+"**** O+X+X+X+%+X&++%+O+% O+X+OO .O+X+&OO. *****",
+"**** OX+%+O%+%+%+&X+&X+XO OO .O%+%+%X+%O $****",
+"**** +OOX+X+X+X+X+%+X+%+. ..O%X+X+X+%+X% .****",
+"**** OX+%+%+%+%+%+%+%+X+. O+%+O+%+%+%+X+O ****",
+"**** OOX+X+X+X+OX+X+X+OO.OX+X+XOX+X+X+OO %****",
+"****% OOOOOOO+XO+OOOOO. OOOOOO+OOOOOO. %****",
+"***** %*****",
+"******* .%*******",
+"***********%%%%%%%%%%%**%%%%%%%%%%%%************",
+"************************************************"
+};
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>volkmar@gentoo.org</email>
+ <name>Mounir Lamouri</name>
+ </maintainer>
+ <use>
+ <flag name="server">Enable compilation of server</flag>
+ </use>
+</pkgmetadata>
+
--- /dev/null
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-arcade/teeworlds/teeworlds-0.5.2.ebuild,v 1.1 2010/03/25 17:58:18 volkmar Exp $
+
+EAPI=2
+
+inherit eutils python games
+
+DESCRIPTION="Online multi-player platform 2D shooter"
+HOMEPAGE="http://www.teeworlds.com/"
+SRC_URI="http://www.teeworlds.com/files/${P}-src.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~x86"
+IUSE="debug dedicated server"
+
+RDEPEND="
+ !dedicated? ( media-libs/pnglite
+ media-libs/libsdl[X,audio,opengl,video]
+ media-sound/wavpack
+ virtual/opengl
+ x11-libs/libX11 )
+ sys-libs/zlib"
+DEPEND="${RDEPEND}
+ =dev-lang/python-2*
+ <=dev-util/bam-0.2.0"
+
+S=${WORKDIR}/${P}-src
+
+pkg_setup() {
+ python_set_active_version 2
+ games_pkg_setup
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-system-libs.patch \
+ "${FILESDIR}"/${P}-wavpack.patch
+
+ # fix includes
+ sed -i -e "s:.engine/external/pnglite/pnglite.h.:<pnglite.h>:" \
+ src/engine/client/ec_gfx.c src/tools/dilate.c \
+ src/tools/tileset_borderfix.c \
+ || die "sed failed"
+ sed -i -e "s:.engine/external/wavpack/wavpack.h.:<wavpack/wavpack.h>:" \
+ src/engine/client/ec_snd.c || die "sed failed"
+
+ # use ${GAMES_DATADIR} instead of ./data
+ sed -i -e \
+ "s:^\(#define DATA_DIR\) \"data\":\1 \"${GAMES_DATADIR}/${PN}\":" \
+ src/engine/e_engine.c || die "sed failed"
+}
+
+src_configure() {
+ bam config || die "bam config failed"
+}
+
+src_compile() {
+ local myopt
+
+ if use dedicated || use server; then
+ if use debug; then
+ myopt=" server_debug"
+ else
+ myopt=" server_release"
+ fi
+ fi
+ if ! use dedicated; then
+ if use debug; then
+ myopt+=" client_debug"
+ else
+ myopt+=" client_release"
+ fi
+ fi
+
+ bam ${myopt} || die "bam failed"
+}
+
+src_install() {
+ if use dedicated || use server; then
+ if use debug; then
+ newgamesbin ${PN}_srv_d ${PN}_srv || die "newgamesbin failed"
+ else
+ dogamesbin ${PN}_srv || die "dogamesbin failed"
+ fi
+ fi
+ if ! use dedicated; then
+ if use debug; then
+ newgamesbin ${PN}_d ${PN} || die "newgamesbin failed"
+ else
+ dogamesbin ${PN} || die "dogamesbin failed"
+ fi
+
+ doicon "${FILESDIR}"/${PN}.xpm || die "doicon failed"
+ make_desktop_entry ${PN} Teeworlds
+
+ insinto "${GAMES_DATADIR}"/${PN}
+ doins -r data/* || die "doins failed"
+ else
+ insinto "${GAMES_DATADIR}"/${PN}/maps
+ doins -r data/maps/* || die "doins failed"
+ fi
+
+ dodoc readme.txt || die "dodoc failed"
+
+ prepgamesdirs
+}