From a906e4a35cd43b86f3b1e2f97e0dc2057f9478f6 Mon Sep 17 00:00:00 2001 From: Mounir Lamouri Date: Thu, 25 Mar 2010 17:58:18 +0000 Subject: [PATCH] Initial commit. Fix bug 206287. Package-Manager: portage-15511-svn/cvs/Linux i686 --- games-arcade/teeworlds/ChangeLog | 11 ++ games-arcade/teeworlds/Manifest | 7 ++ .../files/teeworlds-0.5.2-system-libs.patch | 53 +++++++++ .../files/teeworlds-0.5.2-wavpack.patch | 49 ++++++++ games-arcade/teeworlds/files/teeworlds.xpm | 66 +++++++++++ games-arcade/teeworlds/metadata.xml | 13 +++ games-arcade/teeworlds/teeworlds-0.5.2.ebuild | 108 ++++++++++++++++++ 7 files changed, 307 insertions(+) create mode 100644 games-arcade/teeworlds/ChangeLog create mode 100644 games-arcade/teeworlds/Manifest create mode 100644 games-arcade/teeworlds/files/teeworlds-0.5.2-system-libs.patch create mode 100644 games-arcade/teeworlds/files/teeworlds-0.5.2-wavpack.patch create mode 100644 games-arcade/teeworlds/files/teeworlds.xpm create mode 100644 games-arcade/teeworlds/metadata.xml create mode 100644 games-arcade/teeworlds/teeworlds-0.5.2.ebuild diff --git a/games-arcade/teeworlds/ChangeLog b/games-arcade/teeworlds/ChangeLog new file mode 100644 index 000000000000..405761910494 --- /dev/null +++ b/games-arcade/teeworlds/ChangeLog @@ -0,0 +1,11 @@ +# 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 +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-arcade/teeworlds/Manifest b/games-arcade/teeworlds/Manifest new file mode 100644 index 000000000000..87f5c7afff7f --- /dev/null +++ b/games-arcade/teeworlds/Manifest @@ -0,0 +1,7 @@ +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 diff --git a/games-arcade/teeworlds/files/teeworlds-0.5.2-system-libs.patch b/games-arcade/teeworlds/files/teeworlds-0.5.2-system-libs.patch new file mode 100644 index 000000000000..2ffb3d566054 --- /dev/null +++ b/games-arcade/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-arcade/teeworlds/files/teeworlds-0.5.2-wavpack.patch b/games-arcade/teeworlds/files/teeworlds-0.5.2-wavpack.patch new file mode 100644 index 000000000000..4cb1e5b7174f --- /dev/null +++ b/games-arcade/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-arcade/teeworlds/files/teeworlds.xpm b/games-arcade/teeworlds/files/teeworlds.xpm new file mode 100644 index 000000000000..76e30166dd35 --- /dev/null +++ b/games-arcade/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-arcade/teeworlds/metadata.xml b/games-arcade/teeworlds/metadata.xml new file mode 100644 index 000000000000..52f6d5ef544d --- /dev/null +++ b/games-arcade/teeworlds/metadata.xml @@ -0,0 +1,13 @@ + + + + games + + volkmar@gentoo.org + Mounir Lamouri + + + Enable compilation of server + + + diff --git a/games-arcade/teeworlds/teeworlds-0.5.2.ebuild b/games-arcade/teeworlds/teeworlds-0.5.2.ebuild new file mode 100644 index 000000000000..3812451c0c42 --- /dev/null +++ b/games-arcade/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-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.::" \ + 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.::" \ + 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 +} -- 2.26.2