summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-action/teeworlds')
-rw-r--r--games-action/teeworlds/ChangeLog16
-rw-r--r--games-action/teeworlds/files/teeworlds-0.5.2-system-libs.patch53
-rw-r--r--games-action/teeworlds/files/teeworlds-0.5.2-wavpack.patch49
-rw-r--r--games-action/teeworlds/files/teeworlds.xpm66
-rw-r--r--games-action/teeworlds/metadata.xml13
-rw-r--r--games-action/teeworlds/teeworlds-0.5.2.ebuild108
6 files changed, 305 insertions, 0 deletions
diff --git a/games-action/teeworlds/ChangeLog b/games-action/teeworlds/ChangeLog
new file mode 100644
index 000000000000..c699f1bb6672
--- /dev/null
+++ b/games-action/teeworlds/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for games-action/teeworlds
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-action/teeworlds/ChangeLog,v 1.1 2010/03/26 15:56:40 volkmar Exp $
+
+ 26 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:
+ Moving teeworlds from games-arcade to games-action.
+
+*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
+
diff --git a/games-action/teeworlds/files/teeworlds-0.5.2-system-libs.patch b/games-action/teeworlds/files/teeworlds-0.5.2-system-libs.patch
new file mode 100644
index 000000000000..2ffb3d566054
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds-0.5.2-system-libs.patch
@@ -0,0 +1,53 @@
+--- 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")
diff --git a/games-action/teeworlds/files/teeworlds-0.5.2-wavpack.patch b/games-action/teeworlds/files/teeworlds-0.5.2-wavpack.patch
new file mode 100644
index 000000000000..4cb1e5b7174f
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds-0.5.2-wavpack.patch
@@ -0,0 +1,49 @@
+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);
+
diff --git a/games-action/teeworlds/files/teeworlds.xpm b/games-action/teeworlds/files/teeworlds.xpm
new file mode 100644
index 000000000000..76e30166dd35
--- /dev/null
+++ b/games-action/teeworlds/files/teeworlds.xpm
@@ -0,0 +1,66 @@
+/* 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. %****",
+"***** %*****",
+"******* .%*******",
+"***********%%%%%%%%%%%**%%%%%%%%%%%%************",
+"************************************************"
+};
diff --git a/games-action/teeworlds/metadata.xml b/games-action/teeworlds/metadata.xml
new file mode 100644
index 000000000000..52f6d5ef544d
--- /dev/null
+++ b/games-action/teeworlds/metadata.xml
@@ -0,0 +1,13 @@
+<?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>
+
diff --git a/games-action/teeworlds/teeworlds-0.5.2.ebuild b/games-action/teeworlds/teeworlds-0.5.2.ebuild
new file mode 100644
index 000000000000..ce4849eb4619
--- /dev/null
+++ b/games-action/teeworlds/teeworlds-0.5.2.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-action/teeworlds/teeworlds-0.5.2.ebuild,v 1.1 2010/03/26 15:56:40 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
+}