summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-arcade/gunocide2ex')
-rw-r--r--games-arcade/gunocide2ex/Manifest1
-rw-r--r--games-arcade/gunocide2ex/files/gunocide2ex-1.0-build.patch178
-rw-r--r--games-arcade/gunocide2ex/files/gunocide2ex-1.0-glibc2.10.patch14
-rw-r--r--games-arcade/gunocide2ex/gunocide2ex-1.0.ebuild64
-rw-r--r--games-arcade/gunocide2ex/metadata.xml8
5 files changed, 265 insertions, 0 deletions
diff --git a/games-arcade/gunocide2ex/Manifest b/games-arcade/gunocide2ex/Manifest
new file mode 100644
index 000000000000..a432066044a5
--- /dev/null
+++ b/games-arcade/gunocide2ex/Manifest
@@ -0,0 +1 @@
+DIST g2ex-setup.run 30844481 SHA256 85cf7ff402b73271e24867c7b0c162b258d61a69065d6a848ea0b74c301a4fbe SHA512 e3c861843d88c3b09fa2e579d1be4b0590c04b7b401c7d592cf6b7150fc395445056ba599c0bc6f72ba7044cfc097070751d32bb66aa790e72e2b1c45407f2b2 WHIRLPOOL 3cc496a0eb508432a525ba6a13c48328df8ceceb6038d43a9caf420514b49db0526c87ff622f0e60484c9d7cf78fd0e85bd457cf018315a40dcf650c595502dd
diff --git a/games-arcade/gunocide2ex/files/gunocide2ex-1.0-build.patch b/games-arcade/gunocide2ex/files/gunocide2ex-1.0-build.patch
new file mode 100644
index 000000000000..9abce6c01a2b
--- /dev/null
+++ b/games-arcade/gunocide2ex/files/gunocide2ex-1.0-build.patch
@@ -0,0 +1,178 @@
+diff -ur work.orig/src/cEffects.cpp work/src/cEffects.cpp
+--- work.orig/src/cEffects.cpp 2002-01-12 16:19:00.000000000 -0500
++++ work/src/cEffects.cpp 2009-06-10 18:14:27.000000000 -0400
+@@ -180,7 +180,6 @@
+ {
+ if(!i->update())
+ i=lEffects.erase(i);
+- if(i==NULL)break;
+ }
+
+ for(p=lParticles.begin();p!=lParticles.end();++p)
+@@ -190,8 +189,6 @@
+ if(!p->active())
+ {
+ p=lParticles.erase(p);
+- if(p==NULL)
+- break;
+ }
+ }
+
+diff -ur work.orig/src/cFont.cpp work/src/cFont.cpp
+--- work.orig/src/cFont.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cFont.cpp 2009-06-10 18:19:15.000000000 -0400
+@@ -62,7 +62,7 @@
+ }
+
+ ///lädt einen TTF-Font ein
+-bool cFont::load(char *path,int size)
++bool cFont::load(const char *path,int size)
+ {
+ font = TTF_OpenFont(path,size);
+ if(font==NULL)
+diff -ur work.orig/src/cFont.h work/src/cFont.h
+--- work.orig/src/cFont.h 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cFont.h 2009-06-10 18:19:27.000000000 -0400
+@@ -34,7 +34,7 @@
+ static void delInstance();
+ static bool initttf();
+
+- bool load(char *path,int size);
++ bool load(const char *path,int size);
+ void setcolor(int r,int g,int b);
+ void setshader(int r,int g,int b);
+ void print(SDL_Surface *screen,int posx,int posy,const char *fmt, ...);
+diff -ur work.orig/src/cParticleSys.cpp work/src/cParticleSys.cpp
+--- work.orig/src/cParticleSys.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cParticleSys.cpp 2009-06-10 18:14:27.000000000 -0400
+@@ -81,9 +81,6 @@
+ if(time-p->getstarttime()>p->getlifetime())
+ {
+ p=lParticles.erase(p);
+- if(p==NULL)
+- break;
+-
+ }
+ }
+
+diff -ur work.orig/src/cSound.cpp work/src/cSound.cpp
+--- work.orig/src/cSound.cpp 2002-01-12 16:27:34.000000000 -0500
++++ work/src/cSound.cpp 2009-06-10 18:17:44.000000000 -0400
+@@ -92,7 +92,7 @@
+ }
+
+ ///spielt eine ogg-datei ab
+-bool cSound::playogg(char *path)
++bool cSound::playogg(const char *path)
+ {
+ if(!sound_on)
+ return true;
+diff -ur work.orig/src/cSound.h work/src/cSound.h
+--- work.orig/src/cSound.h 2002-01-08 12:30:57.000000000 -0500
++++ work/src/cSound.h 2009-06-10 18:17:50.000000000 -0400
+@@ -35,7 +35,7 @@
+
+ bool init();
+ void close();
+- bool playogg(char *path);
++ bool playogg(const char *path);
+ void stopogg();
+ bool loadwav(int index,char *path);
+ void playwav(int index);
+diff -ur work.orig/src/cSprite.cpp work/src/cSprite.cpp
+--- work.orig/src/cSprite.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cSprite.cpp 2009-06-10 18:18:34.000000000 -0400
+@@ -29,7 +29,7 @@
+
+ ///lädt ein BMP in das image-Surface
+ ///gibt false zurück falls es schief geht
+-bool cSprite::loadBMP(char *path)
++bool cSprite::loadBMP(const char *path)
+ {
+ image=SDL_LoadBMP(path);
+ if(!image)
+@@ -73,4 +73,4 @@
+ int cSprite::getheight()
+ {
+ return image->h;
+-}
+\ No newline at end of file
++}
+diff -ur work.orig/src/cSprite.h work/src/cSprite.h
+--- work.orig/src/cSprite.h 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cSprite.h 2009-06-10 18:18:44.000000000 -0400
+@@ -26,7 +26,7 @@
+ cSprite();
+ ~cSprite();
+
+- bool loadBMP(char *path);
++ bool loadBMP(const char *path);
+ void render(SDL_Surface *screen,int x,int y);
+ void setColorKey(int r,int g,int b);
+
+diff -ur work.orig/src/cSpriteAnim.cpp work/src/cSpriteAnim.cpp
+--- work.orig/src/cSpriteAnim.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cSpriteAnim.cpp 2009-06-10 18:20:09.000000000 -0400
+@@ -145,7 +145,7 @@
+ }
+
+ ///einladen einer Animation aus einer Datei
+-bool cSpriteAnim::load(char *path)
++bool cSpriteAnim::load(const char *path)
+ {
+ FILE *file;
+ char buffer[512];
+@@ -248,4 +248,4 @@
+ {
+ if(anim==NULL)return -1;
+ return gfx_sprite[anim->getAct()].getwidth();
+-}
+\ No newline at end of file
++}
+diff -ur work.orig/src/cSpriteAnim.h work/src/cSpriteAnim.h
+--- work.orig/src/cSpriteAnim.h 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cSpriteAnim.h 2009-06-10 18:20:16.000000000 -0400
+@@ -53,7 +53,7 @@
+ cSpriteAnim();
+ ~cSpriteAnim();
+
+- bool load(char *path);
++ bool load(const char *path);
+ void setColorKey(int r,int g,int b);
+ void render(SDL_Surface *screen,cAnim *anim,int x,int y);
+ int getMaxNum();
+diff -ur work.orig/src/cUtil.cpp work/src/cUtil.cpp
+--- work.orig/src/cUtil.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cUtil.cpp 2009-06-10 18:16:29.000000000 -0400
+@@ -85,7 +85,7 @@
+ }
+
+ ///liest einen wert aus einer config-datei
+-char* cUtil::getconfigvalue(char *path,char *value)
++char* cUtil::getconfigvalue(const char *path,const char *value)
+ {
+ FILE *file;
+ char buffer[512];
+diff -ur work.orig/src/cUtil.h work/src/cUtil.h
+--- work.orig/src/cUtil.h 2002-01-02 07:57:46.000000000 -0500
++++ work/src/cUtil.h 2009-06-10 18:16:39.000000000 -0400
+@@ -31,7 +31,7 @@
+
+ void updatetime();
+ float sync(float Faktor);
+- char* getconfigvalue(char *path,char *value);
++ char* getconfigvalue(const char *path,const char *value);
+ void drawpixel(SDL_Surface *screen, int x, int y,Uint8 R, Uint8 G,Uint8 B);
+ bool collision(SDL_Rect objekt1,SDL_Rect objekt2);
+
+diff -ur work.orig/src/mmgr.cpp work/src/mmgr.cpp
+--- work.orig/src/mmgr.cpp 2002-01-02 07:57:46.000000000 -0500
++++ work/src/mmgr.cpp 2009-06-10 18:14:23.000000000 -0400
+@@ -59,6 +59,7 @@
+ #include <time.h>
+ #include <stdarg.h>
+ #include <new>
++using namespace std;
+
+ #ifndef WIN32
+ #include <unistd.h>
diff --git a/games-arcade/gunocide2ex/files/gunocide2ex-1.0-glibc2.10.patch b/games-arcade/gunocide2ex/files/gunocide2ex-1.0-glibc2.10.patch
new file mode 100644
index 000000000000..6b659c76a82d
--- /dev/null
+++ b/games-arcade/gunocide2ex/files/gunocide2ex-1.0-glibc2.10.patch
@@ -0,0 +1,14 @@
+--- src/mmgr.cpp
++++ src/mmgr.cpp
+@@ -228,9 +228,9 @@
+
+ static const char *sourceFileStripper(const char *sourceFile)
+ {
+- char *ptr = strrchr(sourceFile, '\\');
++ char *ptr = strrchr((char *)sourceFile, '\\');
+ if (ptr) return ptr + 1;
+- ptr = strrchr(sourceFile, '/');
++ ptr = strrchr((char *)sourceFile, '/');
+ if (ptr) return ptr + 1;
+ return sourceFile;
+ }
diff --git a/games-arcade/gunocide2ex/gunocide2ex-1.0.ebuild b/games-arcade/gunocide2ex/gunocide2ex-1.0.ebuild
new file mode 100644
index 000000000000..9e2b4ca330cc
--- /dev/null
+++ b/games-arcade/gunocide2ex/gunocide2ex-1.0.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils unpacker toolchain-funcs games
+
+DESCRIPTION="fast-paced 2D shoot'em'up"
+HOMEPAGE="http://g2ex.sourceforge.net/"
+SRC_URI="mirror://sourceforge/g2ex/g2ex-setup.run"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="ppc x86 ~x86-fbsd"
+IUSE=""
+
+DEPEND="media-libs/libsdl[video]
+ media-libs/sdl-ttf
+ media-libs/sdl-mixer[vorbis]"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}
+
+src_unpack() {
+ unpack_makeself
+ mkdir binary || die
+}
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}"/${P}-build.patch \
+ "${FILESDIR}"/${P}-glibc2.10.patch
+ edos2unix config.cfg
+ sed -i \
+ -e "s:/usr/local/games/gunocide2ex/config\.cfg:${GAMES_SYSCONFDIR}/${PN}.cfg:" \
+ -e "s:/usr/local/games/gunocide2ex/hscore\.dat:${GAMES_STATEDIR}/${PN}-hscore.dat:" \
+ -e "s:memleaks.log:/dev/null:" \
+ src/*.{h,cpp} || die
+ sed -i \
+ -e "s:/usr/local/games:${GAMES_DATADIR}:" \
+ src/*.{h,cpp} $(find gfx -name '*.txt') || die
+}
+
+src_compile() {
+ cd src
+ emake CXXFLAGS="$CXXFLAGS $(sdl-config --cflags)" $(echo *.cpp | sed 's/\.cpp/.o/g')
+ $(tc-getCXX) ${CXXFLAGS} ${LDFLAGS} -o ${PN} *.o -lpthread -lSDL -lSDL_ttf -lSDL_mixer || die
+}
+
+src_install() {
+ dogamesbin src/${PN}
+ dosym ${PN} "${GAMES_BINDIR}/g2ex"
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r gfx sfx lvl credits arial.ttf
+ insinto "${GAMES_SYSCONFDIR}"
+ newins config.cfg ${PN}.cfg
+ insinto "${GAMES_STATEDIR}"
+ newins hscore.dat ${PN}-hscore.dat
+ dodoc history doc/MANUAL_DE
+ dohtml doc/manual_de.html
+ newicon g2icon.xpm ${PN}.xpm
+ make_desktop_entry ${PN} "Gunocide II EX"
+ prepgamesdirs
+}
diff --git a/games-arcade/gunocide2ex/metadata.xml b/games-arcade/gunocide2ex/metadata.xml
new file mode 100644
index 000000000000..e70e54d1aff7
--- /dev/null
+++ b/games-arcade/gunocide2ex/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <upstream>
+ <remote-id type="sourceforge">g2ex</remote-id>
+ </upstream>
+</pkgmetadata>