summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-engines')
-rw-r--r--games-engines/exult/exult-9999.ebuild60
-rw-r--r--games-engines/exult/metadata.xml5
-rw-r--r--games-engines/frobtads/Manifest1
-rw-r--r--games-engines/frobtads/frobtads-1.2.2.ebuild49
-rw-r--r--games-engines/frobtads/metadata.xml9
-rw-r--r--games-engines/frotz/Manifest1
-rw-r--r--games-engines/frotz/files/frotz-2.43-glibc2.10.patch29
-rw-r--r--games-engines/frotz/files/frotz-2.43-ldflags.patch20
-rw-r--r--games-engines/frotz/frotz-2.43.ebuild51
-rw-r--r--games-engines/frotz/metadata.xml5
-rw-r--r--games-engines/gargoyle/Manifest1
-rw-r--r--games-engines/gargoyle/files/gargoyle-2011.1-desktopfile.patch31
-rw-r--r--games-engines/gargoyle/gargoyle-2011.1.ebuild123
-rw-r--r--games-engines/gargoyle/metadata.xml8
-rw-r--r--games-engines/gemrb/Manifest1
-rw-r--r--games-engines/gemrb/gemrb-0.8.2.ebuild79
-rw-r--r--games-engines/gemrb/metadata.xml8
-rw-r--r--games-engines/love/Manifest2
-rw-r--r--games-engines/love/files/love-0.8.0-freetype2.patch48
-rw-r--r--games-engines/love/love-0.7.2-r1.ebuild44
-rw-r--r--games-engines/love/love-0.8.0.ebuild55
-rw-r--r--games-engines/love/love-9999.ebuild58
-rw-r--r--games-engines/love/metadata.xml10
-rw-r--r--games-engines/metadata.xml32
-rw-r--r--games-engines/nazghul/Manifest1
-rw-r--r--games-engines/nazghul/metadata.xml8
-rw-r--r--games-engines/nazghul/nazghul-0.7.1.ebuild48
-rw-r--r--games-engines/odamex/Manifest2
-rw-r--r--games-engines/odamex/files/1-odamex-0.6.4-install-rules.patch79
-rw-r--r--games-engines/odamex/files/1-odamex-0.7.0-install-rules.patch89
-rw-r--r--games-engines/odamex/files/2-odamex-0.6.4-cmake-options.patch77
-rw-r--r--games-engines/odamex/files/2-odamex-0.7.0-cmake-options.patch110
-rw-r--r--games-engines/odamex/files/3-odamex-0.6.4-wad-search-path.patch59
-rw-r--r--games-engines/odamex/files/3-odamex-0.7.0-wad-search-path.patch67
-rw-r--r--games-engines/odamex/files/4-odamex-0.6.4-odalauncher-bin-path.patch51
-rw-r--r--games-engines/odamex/files/4-odamex-0.7.0-odalauncher-bin-path.patch58
-rw-r--r--games-engines/odamex/files/odamex-0.7.0-miniupnpc.patch35
-rw-r--r--games-engines/odamex/metadata.xml32
-rw-r--r--games-engines/odamex/odamex-0.6.4.ebuild103
-rw-r--r--games-engines/odamex/odamex-0.7.0.ebuild116
-rw-r--r--games-engines/openmw/Manifest1
-rw-r--r--games-engines/openmw/files/openmw-0.33.0-cfg.patch14
-rw-r--r--games-engines/openmw/files/openmw-0.33.0-opencs.patch13
-rw-r--r--games-engines/openmw/metadata.xml30
-rw-r--r--games-engines/openmw/openmw-0.33.0-r2.ebuild106
-rw-r--r--games-engines/openxcom/Manifest1
-rw-r--r--games-engines/openxcom/metadata.xml8
-rw-r--r--games-engines/openxcom/openxcom-1.0.0.ebuild73
-rw-r--r--games-engines/qtads/Manifest1
-rw-r--r--games-engines/qtads/metadata.xml8
-rw-r--r--games-engines/qtads/qtads-2.1.6.ebuild57
-rw-r--r--games-engines/renpy/Manifest6
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch11
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-freetype.patch17
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch230
-rw-r--r--games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch19
-rw-r--r--games-engines/renpy/files/renpy-6.15.7-freetype.patch29
-rw-r--r--games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch250
-rw-r--r--games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch245
-rw-r--r--games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch245
-rw-r--r--games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch271
-rw-r--r--games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch271
-rw-r--r--games-engines/renpy/metadata.xml39
-rw-r--r--games-engines/renpy/renpy-6.14.1-r1.ebuild112
-rw-r--r--games-engines/renpy/renpy-6.15.7.ebuild111
-rw-r--r--games-engines/renpy/renpy-6.16.5.ebuild110
-rw-r--r--games-engines/renpy/renpy-6.17.7.ebuild111
-rw-r--r--games-engines/renpy/renpy-6.18.2.ebuild111
-rw-r--r--games-engines/renpy/renpy-6.18.3.ebuild111
-rw-r--r--games-engines/residualvm/Manifest1
-rw-r--r--games-engines/residualvm/metadata.xml8
-rw-r--r--games-engines/residualvm/residualvm-0.2.1.ebuild89
-rw-r--r--games-engines/scummvm-tools/Manifest1
-rw-r--r--games-engines/scummvm-tools/files/scummvm-tools-1.7.0-binprefix.patch11
-rw-r--r--games-engines/scummvm-tools/metadata.xml8
-rw-r--r--games-engines/scummvm-tools/scummvm-tools-1.7.0.ebuild56
-rw-r--r--games-engines/scummvm/Manifest1
-rw-r--r--games-engines/scummvm/metadata.xml13
-rw-r--r--games-engines/scummvm/scummvm-1.7.0-r2.ebuild110
-rw-r--r--games-engines/solarus/Manifest1
-rw-r--r--games-engines/solarus/metadata.xml12
-rw-r--r--games-engines/solarus/solarus-1.3.1.ebuild56
-rw-r--r--games-engines/stratagus/Manifest1
-rw-r--r--games-engines/stratagus/files/stratagus-2.2.7-debug.patch19
-rw-r--r--games-engines/stratagus/files/stratagus-2.2.7-doc.patch11
-rw-r--r--games-engines/stratagus/metadata.xml8
-rw-r--r--games-engines/stratagus/stratagus-2.2.7.ebuild73
-rw-r--r--games-engines/xzip/Manifest1
-rw-r--r--games-engines/xzip/metadata.xml5
-rw-r--r--games-engines/xzip/xzip-1.8.2-r2.ebuild34
-rw-r--r--games-engines/zoom/Manifest1
-rw-r--r--games-engines/zoom/metadata.xml5
-rw-r--r--games-engines/zoom/zoom-1.1.5.ebuild30
93 files changed, 4831 insertions, 0 deletions
diff --git a/games-engines/exult/exult-9999.ebuild b/games-engines/exult/exult-9999.ebuild
new file mode 100644
index 00000000000..7acaa739581
--- /dev/null
+++ b/games-engines/exult/exult-9999.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+ESVN_REPO_URI="https://svn.code.sf.net/p/exult/code/exult/trunk/"
+inherit autotools multilib eutils subversion games
+
+DESCRIPTION="an Ultima 7 game engine that runs on modern operating systems"
+HOMEPAGE="http://exult.sourceforge.net/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="timidity zlib"
+
+DEPEND=">=media-libs/libpng-1.2.43-r2:0
+ games-misc/exult-sound
+ media-libs/libsdl[sound,video,X]
+ timidity? ( >=media-sound/timidity++-2 )
+ zlib? ( sys-libs/zlib )"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/${P/_/}
+
+src_unpack() {
+ subversion_src_unpack
+}
+
+src_prepare() {
+ subversion_src_prepare
+ eautoreconf
+}
+
+src_configure() {
+ egamesconf \
+ --x-libraries="/usr/$(get_libdir)" \
+ --disable-tools \
+ --disable-opengl \
+ --enable-mods \
+ --with-desktopdir=/usr/share/applications \
+ --with-icondir=/usr/share/pixmaps \
+ $(use_enable timidity timidity-midi) \
+ $(use_enable zlib zip-support)
+}
+
+src_install() {
+ DOCS="AUTHORS ChangeLog NEWS FAQ README README.1ST" \
+ default
+ # no need for this directory for just playing the game
+ #rm -rf "${D}${GAMES_DATADIR}/${PN}/estudio"
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ elog "You *must* have the original Ultima7 The Black Gate and/or"
+ elog "The Serpent Isle installed."
+ elog "See documentation in /usr/share/doc/${PF} for information."
+}
diff --git a/games-engines/exult/metadata.xml b/games-engines/exult/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-engines/exult/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-engines/frobtads/Manifest b/games-engines/frobtads/Manifest
new file mode 100644
index 00000000000..ce823830682
--- /dev/null
+++ b/games-engines/frobtads/Manifest
@@ -0,0 +1 @@
+DIST frobtads-1.2.2.tar.gz 5213193 SHA256 f2802f6b8b2fb1e2a2c46cdec92b32e7135b6aceb3054a588eb9ebb9434a186e SHA512 14c0c8a624632b00a7615e643f592eac2d6a0a523f9e019527e9ae8f04402cc4ee1568417bacbfdfd31df6452536a65e012ba0f0d3cced8ba6901988e7a5bc42 WHIRLPOOL ffdd10df65bdd11512c115d8ef0a9a990fa31220628b437eb351eddd2a260fd51d838096cd9860c737861f941e18c148b85a15388c2544e047f6f2ef589ae9b3
diff --git a/games-engines/frobtads/frobtads-1.2.2.ebuild b/games-engines/frobtads/frobtads-1.2.2.ebuild
new file mode 100644
index 00000000000..9204b6e6803
--- /dev/null
+++ b/games-engines/frobtads/frobtads-1.2.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit eutils flag-o-matic games
+
+DESCRIPTION="Curses-based interpreter and development tools for TADS 2 and TADS 3 text adventures"
+HOMEPAGE="http://www.tads.org/frobtads.htm"
+SRC_URI="http://www.tads.org/frobtads/${P}.tar.gz"
+
+LICENSE="TADS2 TADS3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug tads2compiler tads3compiler"
+
+RESTRICT="!tads3compiler? ( test )"
+
+RDEPEND="net-misc/curl
+ sys-libs/ncurses"
+DEPEND="${RDEPEND}"
+
+DOCS=( doc/{AUTHORS,BUGS,ChangeLog.old,NEWS,README,SRC_GUIDELINES,THANKS} )
+
+src_configure() {
+ append-cxxflags -fpermissive
+ egamesconf \
+ --disable-silent-rules \
+ $(use_enable debug t3debug) \
+ $(use_enable debug error-checking) \
+ $(use_enable tads2compiler t2-compiler) \
+ $(use_enable tads3compiler t3-compiler)
+}
+
+src_test() {
+ emake -j1 sample
+ ./frob -i plain -p samples/sample.t3 <<- END_FROB_TEST
+ save
+ testsave.sav
+ restore
+ testsave.sav
+ END_FROB_TEST
+ [[ $? -eq 0 ]] || die "Failed to run test game"
+}
+
+src_install() {
+ default
+ prepgamesdirs
+}
diff --git a/games-engines/frobtads/metadata.xml b/games-engines/frobtads/metadata.xml
new file mode 100644
index 00000000000..3a1d0ec34ef
--- /dev/null
+++ b/games-engines/frobtads/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name="tads2compiler">Build TADS2 compiler</flag>
+ <flag name="tads3compiler">Build TADS3 compiler</flag>
+ </use>
+</pkgmetadata>
diff --git a/games-engines/frotz/Manifest b/games-engines/frotz/Manifest
new file mode 100644
index 00000000000..48687057417
--- /dev/null
+++ b/games-engines/frotz/Manifest
@@ -0,0 +1 @@
+DIST frotz-2.43.tar.gz 160771 SHA256 f831eae9182e4a1407a34cb1098a4f5ad5ad6c6632e34eed734b9601a06a764b SHA512 654f2ca2d1a625df8f88b5629e09a873668cea42688acdf154636b066b94fc9d70b7f45acb33a71d234c19b59c394c63aee38d6224245b3b329210e6b4a58409 WHIRLPOOL af75842ed8693895d564cbaa4fa3d7b095a4470101728179a7d8659876e1043d98274330d2f7efbe0fd1443ea68ad2fcb49efe4b3e6a6dede6f3e9f4e574de5c
diff --git a/games-engines/frotz/files/frotz-2.43-glibc2.10.patch b/games-engines/frotz/files/frotz-2.43-glibc2.10.patch
new file mode 100644
index 00000000000..71760cc8fa4
--- /dev/null
+++ b/games-engines/frotz/files/frotz-2.43-glibc2.10.patch
@@ -0,0 +1,29 @@
+--- src/dumb/dumb_input.c
++++ src/dumb/dumb_input.c
+@@ -79,7 +79,7 @@
+ /* Read one line, including the newline, into s. Safely avoids buffer
+ * overruns (but that's kind of pointless because there are several
+ * other places where I'm not so careful). */
+-static void getline(char *s)
++static void get_line(char *s)
+ {
+ int c;
+ char *p = s;
+@@ -203,7 +203,7 @@
+ fputs(prompt, stdout);
+ else
+ dumb_show_prompt(show_cursor, (timeout ? "tTD" : ")>}")[type]);
+- getline(s);
++ get_line(s);
+ if ((s[0] != '\\') || ((s[1] != '\0') && !islower(s[1]))) {
+ /* Is not a command line. */
+ translate_special_chars(s);
+@@ -265,7 +265,7 @@
+ if (!*current_page)
+ break;
+ printf("HELP: Type <return> for more, or q <return> to stop: ");
+- getline(s);
++ get_line(s);
+ if (!strcmp(s, "q\n"))
+ break;
+ }
diff --git a/games-engines/frotz/files/frotz-2.43-ldflags.patch b/games-engines/frotz/files/frotz-2.43-ldflags.patch
new file mode 100644
index 00000000000..16a0df362ed
--- /dev/null
+++ b/games-engines/frotz/files/frotz-2.43-ldflags.patch
@@ -0,0 +1,20 @@
+--- Makefile.old 2010-10-04 14:13:37.000000000 +0200
++++ Makefile 2010-10-04 14:14:06.000000000 +0200
+@@ -162,7 +162,7 @@
+ $(NAME): $(NAME)-curses
+
+ $(NAME)-curses: soundcard.h $(COMMON_TARGET) $(CURSES_TARGET)
+- $(CC) -o $(BINNAME)$(EXTENSION) $(TARGETS) $(LIB) $(CURSES) \
++ $(CC) $(LDFLAGS) -o $(BINNAME)$(EXTENSION) $(TARGETS) $(LIB) $(CURSES) \
+ $(SOUND_LIB)
+
+ all: $(NAME) d$(NAME)
+@@ -170,7 +170,7 @@
+ dumb: $(NAME)-dumb
+ d$(NAME): $(NAME)-dumb
+ $(NAME)-dumb: $(COMMON_TARGET) $(DUMB_TARGET)
+- $(CC) -o d$(BINNAME)$(EXTENSION) $(COMMON_TARGET) \
++ $(CC) $(LDFLAGS) -o d$(BINNAME)$(EXTENSION) $(COMMON_TARGET) \
+ $(DUMB_TARGET) $(LIB)
+
+ .SUFFIXES:
diff --git a/games-engines/frotz/frotz-2.43.ebuild b/games-engines/frotz/frotz-2.43.ebuild
new file mode 100644
index 00000000000..9775c754821
--- /dev/null
+++ b/games-engines/frotz/frotz-2.43.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="Curses based interpreter for Z-code based text games"
+HOMEPAGE="http://frotz.sourceforge.net/"
+SRC_URI="http://www.ifarchive.org/if-archive/infocom/interpreters/frotz/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc sparc x86"
+IUSE="alsa oss"
+
+DEPEND="sys-libs/ncurses
+ alsa? ( oss? ( media-libs/alsa-oss ) )"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed -i \
+ -e '/^CC /d' \
+ Makefile \
+ || die
+ epatch \
+ "${FILESDIR}"/${P}-glibc2.10.patch \
+ "${FILESDIR}"/${P}-ldflags.patch
+}
+
+src_compile() {
+ local OPTS="CONFIG_DIR=${GAMES_SYSCONFDIR}"
+ use oss && OPTS="${OPTS} SOUND_DEFS=-DOSS_SOUND SOUND_DEV=/dev/dsp"
+ emake ${OPTS} all
+}
+
+src_install () {
+ dogamesbin {d,}frotz
+ doman doc/*.6
+ dodoc AUTHORS BUGS ChangeLog HOW_TO_PLAY README TODO \
+ doc/{frotz.conf-big,frotz.conf-small}
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ echo
+ elog "Global config file can be installed in ${GAMES_SYSCONFDIR}/frotz.conf"
+ elog "Sample config files are in /usr/share/doc/${PF}"
+ echo
+}
diff --git a/games-engines/frotz/metadata.xml b/games-engines/frotz/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-engines/frotz/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-engines/gargoyle/Manifest b/games-engines/gargoyle/Manifest
new file mode 100644
index 00000000000..c324724138c
--- /dev/null
+++ b/games-engines/gargoyle/Manifest
@@ -0,0 +1 @@
+DIST gargoyle-2011.1-sources.zip 11291660 SHA256 8642ac38add31d47bfd531d4121dc1e956d06895a9352ce573b5007e9cae4634 SHA512 65159580cf3494944f841c44320135580557258e37ad5523ae3ea30555c19834a2793231a8e42c217e5c1d055d50ed6a20d372d6302e880a2818bc4ea59b226f WHIRLPOOL 19e572d52ec6436c5b41d767e45d509bd965a0d4009b4445db08e79125eabb20636374bbb818ef7115a1ca9ac983a29cb2eaa3848a22e17d5e7d26284200b86f
diff --git a/games-engines/gargoyle/files/gargoyle-2011.1-desktopfile.patch b/games-engines/gargoyle/files/gargoyle-2011.1-desktopfile.patch
new file mode 100644
index 00000000000..6b66328da01
--- /dev/null
+++ b/games-engines/gargoyle/files/gargoyle-2011.1-desktopfile.patch
@@ -0,0 +1,31 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Tue Aug 21 19:06:54 UTC 2012
+Subject: desktop file
+
+fix QA issues:
+
+# desktop-file-validate /usr/share/applications/gargoyle.desktop
+/usr/share/applications/gargoyle.desktop: error: file contains at least one line ending with a carriage return, while lines should only be separated by a line feed character. First such line is: "[Desktop Entry]"
+/usr/share/applications/gargoyle.desktop: error: (will be fatal in the future): value "gargoyle-house.png" for key "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
+
+--- garglk/gargoyle.desktop
++++ garglk/gargoyle.desktop
+@@ -1,9 +1,9 @@
+-[Desktop Entry]
+-Version=1.0
+-Type=Application
+-Name=Gargoyle
+-GenericName=Interactive Fiction interpreter
+-Comment=Interactive Fiction multi-interpreter that supports all major IF formats
+-Icon=gargoyle-house.png
+-Exec=gargoyle
+-Categories=Game;
++[Desktop Entry]
++Version=1.0
++Type=Application
++Name=Gargoyle
++GenericName=Interactive Fiction interpreter
++Comment=Interactive Fiction multi-interpreter that supports all major IF formats
++Icon=gargoyle-house
++Exec=gargoyle
++Categories=Game;
diff --git a/games-engines/gargoyle/gargoyle-2011.1.ebuild b/games-engines/gargoyle/gargoyle-2011.1.ebuild
new file mode 100644
index 00000000000..53cdaf82562
--- /dev/null
+++ b/games-engines/gargoyle/gargoyle-2011.1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Regarding licenses: libgarglk is licensed under the GPLv2. Bundled
+# interpreters are licensed under GPLv2, BSD or MIT license, except:
+# - glulxe: custom license, see "terps/glulxle/README"
+# - hugo: custom license, see "licenses/HUGO License.txt"
+# Since we don't compile or install any of the bundled fonts, their licenses
+# don't apply. (Fonts are installed through dependencies instead.)
+
+EAPI=4
+inherit eutils multiprocessing toolchain-funcs gnome2-utils games
+
+DESCRIPTION="An Interactive Fiction (IF) player supporting all major formats"
+HOMEPAGE="http://ccxvii.net/gargoyle/"
+SRC_URI="http://garglk.googlecode.com/files/${P}-sources.zip"
+
+LICENSE="BSD GPL-2 MIT Hugo Glulxe"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="
+ >=media-fonts/libertine-5
+ media-fonts/liberation-fonts
+ media-libs/freetype:2
+ media-libs/libpng:0
+ media-libs/sdl-mixer
+ media-libs/sdl-sound[modplug,mp3,vorbis]
+ sys-libs/zlib
+ virtual/jpeg
+ x11-libs/gtk+:2"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-util/ftjam
+ virtual/pkgconfig"
+
+S=${WORKDIR}
+
+src_prepare() {
+ # Substitute custom CFLAGS/LDFLAGS.
+ sed -i -e \
+ "/^\s*OPTIM = / {
+ s/ \(-O.*\)\? ;/ ;/
+ a LINKFLAGS = ${LDFLAGS} ;
+ a SHRLINKFLAGS = ${LDFLAGS} ;
+ }" Jamrules || die
+
+ # Don't link against libraries used indirectly through SDL_sound.
+ sed -i -e "/GARGLKLIBS/s/-lsmpeg -lvorbisfile//g" Jamrules || die
+
+ # Convert garglk.ini to UNIX format.
+ edos2unix garglk/garglk.ini
+
+ # The font name of Linux Libertine changed in version 5.
+ sed -i -e 's/Linux Libertine O/Linux Libertine/g' garglk/garglk.ini || die
+
+ epatch "${FILESDIR}"/${P}-desktopfile.patch
+}
+
+src_compile() {
+ # build system messes up flags and toolchain completely
+ # append flags to compiler commands to have consistent behavior
+ jam \
+ -sAR="$(tc-getAR) cru" \
+ -sCC="$(tc-getCC) ${CFLAGS}" \
+ -sCCFLAGS="" \
+ -sC++="$(tc-getCXX) ${CXXFLAGS}" \
+ -sCXX="$(tc-getCXX) ${CXXFLAGS}" \
+ -sC++FLAGS="" \
+ -sGARGLKINI="${GAMES_SYSCONFDIR}/garglk.ini" \
+ -sUSESDL=yes \
+ -sBUNDLEFONTS=no \
+ -dx \
+ -j$(makeopts_jobs) || die
+}
+
+src_install() {
+ DESTDIR="${D}" \
+ _BINDIR="${GAMES_PREFIX}/libexec/${PN}" \
+ _APPDIR="${GAMES_PREFIX}/libexec/${PN}" \
+ _LIBDIR="$(games_get_libdir)" \
+ EXEMODE=755 \
+ FILEMODE=755 \
+ jam install || die
+
+ # Install config file.
+ insinto "${GAMES_SYSCONFDIR}"
+ newins garglk/garglk.ini garglk.ini
+
+ # Install application entry and icon.
+ domenu garglk/${PN}.desktop
+ doicon -s 32 garglk/${PN}-house.png
+
+ # Symlink binaries to avoid name clashes.
+ for terp in advsys agility alan2 alan3 frotz geas git glulxe hugo jacl \
+ level9 magnetic nitfol scare tadsr
+ do
+ dosym "${GAMES_PREFIX}/libexec/${PN}/${terp}" \
+ "${GAMES_BINDIR}/${PN}-${terp}"
+ done
+
+ # Also symlink the main binary since it resides in libexec.
+ dosym "${GAMES_PREFIX}/libexec/${PN}/${PN}" \
+ "${GAMES_BINDIR}/${PN}"
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/gargoyle/metadata.xml b/games-engines/gargoyle/metadata.xml
new file mode 100644
index 00000000000..6f0c8bf6f93
--- /dev/null
+++ b/games-engines/gargoyle/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="google-code">garglk</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/gemrb/Manifest b/games-engines/gemrb/Manifest
new file mode 100644
index 00000000000..b414d753b1a
--- /dev/null
+++ b/games-engines/gemrb/Manifest
@@ -0,0 +1 @@
+DIST gemrb-0.8.2.tar.gz 12302710 SHA256 57cc267f730d205774fa5a6db1f0dd88b97a8193dbece905d70cb50e433774ee SHA512 2a666537ca540f041122bcd1117cf591c5a223480a5c4c18eebaef6b446fc355c6078d54fcbc3a89b8ba35d7ecbaf53648394e383f0479e84da999fccea1f496 WHIRLPOOL 4ad8a39b937467e7e7a28dbae1d3d449789259124bb0be6dc916ef1396da9b3027ded802d906311ff53785288f423ae7d6fd4d3f339782fa259d6bb3de1c4a31
diff --git a/games-engines/gemrb/gemrb-0.8.2.ebuild b/games-engines/gemrb/gemrb-0.8.2.ebuild
new file mode 100644
index 00000000000..def837b4bd3
--- /dev/null
+++ b/games-engines/gemrb/gemrb-0.8.2.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+WANT_CMAKE=always
+inherit eutils python-any-r1 cmake-utils gnome2-utils games
+
+DESCRIPTION="Reimplementation of the Infinity engine"
+HOMEPAGE="http://gemrb.sourceforge.net/"
+SRC_URI="mirror://sourceforge/gemrb/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="media-libs/freetype
+ media-libs/libpng:0
+ >=media-libs/libsdl-1.2[video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/sdl-mixer
+ sys-libs/zlib
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ games_pkg_setup
+}
+
+src_prepare() {
+ sed -i \
+ -e '/COPYING/d' \
+ CMakeLists.txt || die
+}
+
+src_configure() {
+ mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${GAMES_PREFIX}"
+ -DBIN_DIR="${GAMES_BINDIR}"
+ -DDATA_DIR="${GAMES_DATADIR}/gemrb"
+ -DSYSCONF_DIR="${GAMES_SYSCONFDIR}/gemrb"
+ -DLIB_DIR="$(games_get_libdir)"
+ -DMAN_DIR=/usr/share/man/man6
+ -DICON_DIR=/usr/share/pixmaps
+ -DMENU_DIR=/usr/share/applications
+ -DDOC_DIR="/usr/share/doc/${PF}"
+ -DSVG_DIR=/usr/share/icons/hicolor/scalable/apps
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc README NEWS AUTHORS
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/gemrb/metadata.xml b/games-engines/gemrb/metadata.xml
new file mode 100644
index 00000000000..3e4eb6496d8
--- /dev/null
+++ b/games-engines/gemrb/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">gemrb</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/love/Manifest b/games-engines/love/Manifest
new file mode 100644
index 00000000000..4a236e4259f
--- /dev/null
+++ b/games-engines/love/Manifest
@@ -0,0 +1,2 @@
+DIST love-0.7.2-linux-src.tar.gz 900209 SHA256 a57adcb0cbdc390a9bd8e2fe477bc175799b9ffd3486e01f859a36bf27f7f268 SHA512 cbca1d7e3425d1ecbdae019212dfa2814d8ac3bad1faedd4b052cf3e89b5bf2fac6e422283628e4c125858c9db050dee2129476d1a73ec44ffe8a4704f170f61 WHIRLPOOL 1c5258fefca15c71065e0cfff795bfaf30b7c9acabf89ffa5fd71311ce1ee767f98088dbac844f26f50fc69d2d8d384819fce69372f573a48f5d3848a2d1da8f
+DIST love-0.8.0-linux-src.tar.gz 1027356 SHA256 9167ca1cc7893ff1fdcf3b6fc7e2a88be10d899075a513942420fe8f94668ecc SHA512 6a0e28d102b950d3dddf7101996fe0ad04dfd7d4ec5e58797b41ef3382b60e74f90c6e707f882cf43cc0c5cc98703857eefc6418e6a6fd34e88f8019143f55a4 WHIRLPOOL 39c56d987d710b7589db0af3b6b5e59fc05d7e6e49b8e9f88a2a3fc050afe518d561517bb7b2a6428b30cda0322878801aafbdec98976831b37df56c3c02440c
diff --git a/games-engines/love/files/love-0.8.0-freetype2.patch b/games-engines/love/files/love-0.8.0-freetype2.patch
new file mode 100644
index 00000000000..64e42c5f284
--- /dev/null
+++ b/games-engines/love/files/love-0.8.0-freetype2.patch
@@ -0,0 +1,48 @@
+--- src/modules/font/freetype/TrueTypeRasterizer.h.old 2015-01-07 09:49:39.394000727 +0100
++++ src/modules/font/freetype/TrueTypeRasterizer.h 2015-01-07 09:50:28.846065847 +0100
+@@ -27,10 +27,10 @@
+
+ // TrueType2
+ #include <ft2build.h>
+-#include <freetype/freetype.h>
+-#include <freetype/ftglyph.h>
+-#include <freetype/ftoutln.h>
+-#include <freetype/fttrigon.h>
++#include <freetype.h>
++#include <ftglyph.h>
++#include <ftoutln.h>
++#include <fttrigon.h>
+
+ namespace love
+ {
+@@ -67,4 +67,4 @@
+ } // font
+ } // love
+
+-#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H
+\ No newline at end of file
++#endif // LOVE_FONT_FREETYPE_TRUE_TYPE_RASTERIZER_H
+--- src/modules/font/freetype/Font.h.old 2015-01-07 09:49:20.421359400 +0100
++++ src/modules/font/freetype/Font.h 2015-01-07 09:50:02.076571918 +0100
+@@ -30,10 +30,10 @@
+ #else
+ #include <ft2build.h>
+ #endif
+-#include <freetype/freetype.h>
+-#include <freetype/ftglyph.h>
+-#include <freetype/ftoutln.h>
+-#include <freetype/fttrigon.h>
++#include <freetype.h>
++#include <ftglyph.h>
++#include <ftoutln.h>
++#include <fttrigon.h>
+
+ namespace love
+ {
+@@ -73,4 +73,4 @@
+ } // font
+ } // love
+
+-#endif // LOVE_FONT_FREETYPE_FONT_H
+\ No newline at end of file
++#endif // LOVE_FONT_FREETYPE_FONT_H
diff --git a/games-engines/love/love-0.7.2-r1.ebuild b/games-engines/love/love-0.7.2-r1.ebuild
new file mode 100644
index 00000000000..007840f5b88
--- /dev/null
+++ b/games-engines/love/love-0.7.2-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A framework for 2D games in Lua"
+HOMEPAGE="http://love2d.org/"
+SRC_URI="https://www.bitbucket.org/rude/${PN}/downloads/${P}-linux-src.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0.7"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+RDEPEND="dev-games/physfs
+ dev-lang/lua[deprecated]
+ media-libs/devil[mng,png,tiff]
+ media-libs/freetype
+ media-libs/libmodplug
+ media-libs/libsdl[joystick,opengl]
+ media-libs/libvorbis
+ media-libs/openal
+ media-sound/mpg123
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ media-libs/libmng
+ media-libs/tiff"
+
+S=${WORKDIR}/${PN}-HEAD
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-0.8.0-freetype2.patch
+}
+
+src_install() {
+ DOCS="readme.txt changes.txt" \
+ default
+ if [[ "${SLOT}" != "0" ]]; then
+ mv "${ED}${GAMES_BINDIR}"/${PN} \
+ "${ED}${GAMES_BINDIR}"/${PN}-${SLOT} || die
+ fi
+}
diff --git a/games-engines/love/love-0.8.0.ebuild b/games-engines/love/love-0.8.0.ebuild
new file mode 100644
index 00000000000..70e440f1c59
--- /dev/null
+++ b/games-engines/love/love-0.8.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit games
+
+if [[ ${PV} == 9999* ]]; then
+ inherit autotools mercurial
+ EHG_REPO_URI="https://bitbucket.org/rude/${PN}"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://www.bitbucket.org/rude/${PN}/downloads/${P}-linux-src.tar.gz"
+ KEYWORDS="amd64 ~arm ~ppc x86"
+fi
+
+DESCRIPTION="A framework for 2D games in Lua"
+HOMEPAGE="http://love2d.org/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-games/physfs
+ dev-lang/lua[deprecated]
+ media-libs/devil[mng,png,tiff]
+ media-libs/freetype
+ media-libs/libmodplug
+ media-libs/libsdl[joystick,opengl,video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-sound/mpg123
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ media-libs/libmng
+ media-libs/tiff"
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]]; then
+ sh platform/unix/gen-makefile || die
+ mkdir platform/unix/m4 || die
+ eautoreconf
+ fi
+ epatch "${FILESDIR}"/${P}-freetype2.patch
+}
+
+src_install() {
+ DOCS="readme.md changes.txt" \
+ default
+ if [[ "${SLOT}" != "0" ]]; then
+ mv "${ED}${GAMES_BINDIR}"/${PN} \
+ "${ED}${GAMES_BINDIR}"/${PN}-${SLOT} || die
+ fi
+}
diff --git a/games-engines/love/love-9999.ebuild b/games-engines/love/love-9999.ebuild
new file mode 100644
index 00000000000..99389a39aee
--- /dev/null
+++ b/games-engines/love/love-9999.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit base games
+
+if [[ ${PV} == 9999* ]]; then
+ inherit autotools mercurial
+ EHG_REPO_URI="https://bitbucket.org/rude/${PN}"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://www.bitbucket.org/rude/${PN}/downloads/${P}-linux-src.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="A framework for 2D games in Lua"
+HOMEPAGE="http://love2d.org/"
+
+LICENSE="ZLIB"
+SLOT="0"
+IUSE=""
+
+RDEPEND="dev-games/physfs
+ dev-lang/lua[deprecated]
+ media-libs/devil[mng,png,tiff]
+ media-libs/freetype
+ media-libs/libmodplug
+ media-libs/libsdl[joystick,opengl]
+ media-libs/libvorbis
+ media-libs/openal
+ media-sound/mpg123
+ virtual/opengl"
+DEPEND="${RDEPEND}
+ media-libs/libmng
+ media-libs/tiff"
+
+DOCS=( "readme.md" "changes.txt" )
+
+src_prepare() {
+ if [[ ${PV} == 9999* ]]; then
+ sh platform/unix/gen-makefile || die
+ cp platform/unix/Makefile.am . || die
+ cp platform/unix/configure.ac . || die
+ mkdir platform/unix/m4 || die
+ eautoreconf
+ fi
+}
+
+src_install() {
+ base_src_install
+ if [[ "${SLOT}" != "0" ]]; then
+ mv "${ED}${GAMES_BINDIR}"/${PN} \
+ "${ED}${GAMES_BINDIR}"/${PN}-${SLOT} || die
+ fi
+}
diff --git a/games-engines/love/metadata.xml b/games-engines/love/metadata.xml
new file mode 100644
index 00000000000..32d9f17722e
--- /dev/null
+++ b/games-engines/love/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <maintainer>
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+ </maintainer>
+</pkgmetadata>
+
diff --git a/games-engines/metadata.xml b/games-engines/metadata.xml
new file mode 100644
index 00000000000..9e9c62112e6
--- /dev/null
+++ b/games-engines/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE catmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<catmetadata>
+ <longdescription lang="en">
+ The games-engines category contains game engines.
+ </longdescription>
+ <longdescription lang="es">
+ La categoría games-engines contiene motores de juegos.
+ </longdescription>
+ <longdescription lang="ja">
+ games-enginesカテゴリーにはゲーム・エンジンが含まれています。
+ </longdescription>
+ <longdescription lang="vi">
+ Nhóm games-engines chứa các game engine.
+ </longdescription>
+ <longdescription lang="nl">
+ De games-engines category bevat spel-engines.
+ </longdescription>
+ <longdescription lang="de">
+ Die Kategorie games-engines enthält Game-Engines.
+ </longdescription>
+ <longdescription lang="it">
+ La categoria games-engines contiene motori di gioco.
+ </longdescription>
+ <longdescription lang="pt">
+ A categoria games-engines contém engines de jogos.
+ </longdescription>
+ <longdescription lang="pl">
+ Kategoria games-engines zawiera silniki gier.
+ </longdescription>
+</catmetadata>
+
diff --git a/games-engines/nazghul/Manifest b/games-engines/nazghul/Manifest
new file mode 100644
index 00000000000..7af1d6debe0
--- /dev/null
+++ b/games-engines/nazghul/Manifest
@@ -0,0 +1 @@
+DIST nazghul-0.7.1.tar.gz 7929363 SHA256 f1b62810da52a116dfc1c407dbe683991b1b380ca611f57b5701cfbb803e9d2b SHA512 6484698609ad88c9d7d2d6c2dc93aee98614917b53dca826a2827a9375192e323e40de1f69a3de1e8dab35f02834430e1ee947f4bf6088fbf510c416da1d8c0f WHIRLPOOL 93057f61d4ef190a518ace0446ef6f31930765bad9dfe88caf8d2cbafaf5213e6d6929402dbb23a69d657103d1d062ea06b4430c0097efa5a61f296cf78cca6d
diff --git a/games-engines/nazghul/metadata.xml b/games-engines/nazghul/metadata.xml
new file mode 100644
index 00000000000..a364fd4a2c2
--- /dev/null
+++ b/games-engines/nazghul/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">nazghul</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/nazghul/nazghul-0.7.1.ebuild b/games-engines/nazghul/nazghul-0.7.1.ebuild
new file mode 100644
index 00000000000..cb34307f5bb
--- /dev/null
+++ b/games-engines/nazghul/nazghul-0.7.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils games
+
+DESCRIPTION="A computer role-playing game (CRPG) engine with game called HaximA"
+HOMEPAGE="http://myweb.cableone.net/gmcnutt/nazghul.html"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="media-libs/libpng:0
+ >=media-libs/libsdl-1.2.3[X,sound,video]
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[midi,vorbis,wav]"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ ecvs_clean
+}
+
+src_configure() {
+ egamesconf \
+ --includedir=/usr/include
+}
+
+src_install() {
+ default
+ dodoc doc/{GAME_RULES,GHULSCRIPT,MAP_HACKERS_GUIDE,USERS_GUIDE}
+
+ dohtml -a html,gif -r doc/*
+
+ docinto engine_extension_and_design
+ dodoc doc/engine_extension_and_design/*
+
+ docinto world_building
+ dodoc doc/world_building/*
+
+ doicon icons/haxima.png
+ make_desktop_entry haxima.sh HaximA haxima
+
+ prepgamesdirs
+}
diff --git a/games-engines/odamex/Manifest b/games-engines/odamex/Manifest
new file mode 100644
index 00000000000..4bca1797b13
--- /dev/null
+++ b/games-engines/odamex/Manifest
@@ -0,0 +1,2 @@
+DIST odamex-src-0.6.4.tar.bz2 8449818 SHA256 7832fed1e0cca992c746fd0f7e876b090c0f244f2d1d5230ffa3df8b33ce0f6a SHA512 0a917568cfc4bd4d9921cb82185cbbc318bce493bc66e489093e45401ec4c7596148778648e5078f13c50824470a040a995aa50c7956e2446c90920254c8129f WHIRLPOOL 9d95a9422ab382ccd5f4fc7d89f0558e30c604e18a33eec3bb074ae446258f030ec67d4738e1c517d89c9a4e09aea6e3a84651d7c8b1df9a88a26077c1b319b4
+DIST odamex-src-0.7.0.tar.bz2 8435860 SHA256 d0306ddca3d5534672e6f0c547092d8f3f6f815686e4f6b21d6521afae1fd73b SHA512 410f3c2588e4d57006e5bb50eaa0f6c1a83cf197ce40daabb958667483eb6c85138206ac74b8aee64c4208c4360415ad16d1698534be5c7abec1493a0f91aa8b WHIRLPOOL 91ca8f658435f4503df8a2d5f52b1ef1cf34229373c4e1c3918b7eb919ae54e3a416618ce184d54c6ebc25bdfe6fea96f8933f98d859562b4972f89bd5c320ff
diff --git a/games-engines/odamex/files/1-odamex-0.6.4-install-rules.patch b/games-engines/odamex/files/1-odamex-0.6.4-install-rules.patch
new file mode 100644
index 00000000000..48205033d62
--- /dev/null
+++ b/games-engines/odamex/files/1-odamex-0.6.4-install-rules.patch
@@ -0,0 +1,79 @@
+commit 04fff802ee72c08d2e1730c6c5506fc2e708d5fe
+Author: hasufell <hasufell@gentoo.org>
+Date: Wed Jul 31 03:34:29 2013 +0200
+
+ BUILD: add unix install rules
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b77096a..f49a1e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -2,6 +2,8 @@
+ project(Odamex)
+ cmake_minimum_required(VERSION 2.8)
+
++# cmake modules
++include( GNUInstallDirs )
+ set(PROJECT_VERSION 0.6.4)
+ set(PROJECT_COPYRIGHT "2006-2013")
+
+@@ -64,3 +66,8 @@ add_subdirectory(odalaunch)
+ if(NOT NO_AG-ODALAUNCH_TARGET)
+ add_subdirectory(ag-odalaunch)
+ endif()
++
++# global install rules
++if(UNIX)
++ install(FILES odamex.wad DESTINATION ${CMAKE_INSTALL_DATADIR})
++endif()
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 5dd5d43..1fde0ff 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -168,5 +168,8 @@ if(SDL_FOUND AND SDLMIXER_FOUND)
+ " )
+ endif()
+
++ # UNIX install rules
++ elseif(UNIX)
++ install( TARGETS odamex DESTINATION ${CMAKE_INSTALL_BINDIR} )
+ endif()
+ endif()
+diff --git a/master/CMakeLists.txt b/master/CMakeLists.txt
+index c1c3853..3e94b34 100644
+--- a/master/CMakeLists.txt
++++ b/master/CMakeLists.txt
+@@ -12,3 +12,8 @@ if(WIN32)
+ elseif(SOLARIS)
+ target_link_libraries(odamast socket nsl)
+ endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odamast DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
+diff --git a/odalaunch/CMakeLists.txt b/odalaunch/CMakeLists.txt
+index ff9b6e3..d2d2171 100644
+--- a/odalaunch/CMakeLists.txt
++++ b/odalaunch/CMakeLists.txt
+@@ -61,3 +61,8 @@ if(wxWidgets_FOUND)
+ )
+ endif()
+ endif()
++
++# install rules
++if(UNIX)
++ install( TARGETS odalaunch DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
+diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
+index 2284a8a..a079434 100644
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -61,3 +61,7 @@ if(UNIX AND NOT APPLE)
+ target_link_libraries(odasrv rt)
+ endif()
+
++# install rules
++if(UNIX)
++ install( TARGETS odasrv DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
diff --git a/games-engines/odamex/files/1-odamex-0.7.0-install-rules.patch b/games-engines/odamex/files/1-odamex-0.7.0-install-rules.patch
new file mode 100644
index 00000000000..618f9fd87c2
--- /dev/null
+++ b/games-engines/odamex/files/1-odamex-0.7.0-install-rules.patch
@@ -0,0 +1,89 @@
+From 1352b633388dd9d82b8cb7e3d11932d0b569da4e Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Thu, 27 Mar 2014 21:07:37 +0100
+Subject: [PATCH 1/4] make install destinations modifiable
+
+---
+ CMakeLists.txt | 5 +++--
+ client/CMakeLists.txt | 2 +-
+ master/CMakeLists.txt | 4 ++++
+ odalaunch/CMakeLists.txt | 2 +-
+ server/CMakeLists.txt | 2 +-
+ 5 files changed, 10 insertions(+), 5 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 11e52d1..262e3db 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,5 @@
+ include(CMakeDependentOption)
++include(GNUInstallDirs)
+
+ project(Odamex)
+ cmake_minimum_required(VERSION 2.8)
+@@ -113,10 +114,10 @@ if(NOT APPLE)
+ set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF)
+ else()
+ install(FILES odamex.wad LICENSE README
+- DESTINATION share/odamex
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/odamex
+ COMPONENT common)
+ install(FILES ${CONFIG_SAMPLES}
+- DESTINATION share/odamex/config-samples
++ DESTINATION ${CMAKE_INSTALL_DATADIR}/odamex/config-samples
+ COMPONENT common)
+
+ option(ODAMEX_COMPONENT_PACKAGES "Create several rpm/deb packages for repository maintainers." OFF)
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 510b820..3f73ab5 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -228,7 +228,7 @@ if(SDL_FOUND AND SDLMIXER_FOUND)
+ COMPONENT client)
+ else()
+ install(TARGETS odamex
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ COMPONENT client)
+ endif()
+ endif()
+diff --git a/master/CMakeLists.txt b/master/CMakeLists.txt
+index 7fc386b..5bdc048 100644
+--- a/master/CMakeLists.txt
++++ b/master/CMakeLists.txt
+@@ -14,3 +14,7 @@ if(WIN32)
+ elseif(SOLARIS)
+ target_link_libraries(odamast socket nsl)
+ endif()
++
++if(UNIX)
++ install( TARGETS odamast DESTINATION ${CMAKE_INSTALL_BINDIR} )
++endif()
+diff --git a/odalaunch/CMakeLists.txt b/odalaunch/CMakeLists.txt
+index 4ca5920..0b134ef 100644
+--- a/odalaunch/CMakeLists.txt
++++ b/odalaunch/CMakeLists.txt
+@@ -71,7 +71,7 @@ if(wxWidgets_FOUND)
+ COMPONENT odalaunch)
+ else()
+ install(TARGETS odalaunch
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ COMPONENT odalaunch)
+ endif()
+
+diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt
+index b046714..d33b974 100644
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -73,6 +73,6 @@ elseif(WIN32)
+ COMPONENT server)
+ else()
+ install(TARGETS odasrv
+- RUNTIME DESTINATION bin
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ COMPONENT server)
+ endif()
+--
+1.9.1
+
diff --git a/games-engines/odamex/files/2-odamex-0.6.4-cmake-options.patch b/games-engines/odamex/files/2-odamex-0.6.4-cmake-options.patch
new file mode 100644
index 00000000000..de0f0784ca9
--- /dev/null
+++ b/games-engines/odamex/files/2-odamex-0.6.4-cmake-options.patch
@@ -0,0 +1,77 @@
+commit 7abf37ed186701f0170bded26df8cbb8a99a21e1
+Author: hasufell <hasufell@gentoo.org>
+Date: Wed Jul 31 03:35:46 2013 +0200
+
+ BUILD: add various cmake options
+
+ to control building client/server/odalaunch
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f49a1e8..ca01bba 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,7 +3,15 @@ project(Odamex)
+ cmake_minimum_required(VERSION 2.8)
+
+ # cmake modules
++include( CMakeDependentOption )
+ include( GNUInstallDirs )
++
++# options
++option(BUILD_CLIENT "Build client target" 1)
++option(BUILD_SERVER "Build server target" 1)
++option(BUILD_MASTER "Build master server target" 1)
++cmake_dependent_option( BUILD_ODALAUNCH "Build odalaunch target" 1 BUILD_CLIENT 0 )
++cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
+ set(PROJECT_VERSION 0.6.4)
+ set(PROJECT_COPYRIGHT "2006-2013")
+
+@@ -56,10 +64,22 @@ endmacro(define_platform)
+ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
+
+ # Subdirectories for individual projects
+-add_subdirectory(client)
+-add_subdirectory(server)
+-add_subdirectory(master)
+-add_subdirectory(odalaunch)
++if(BUILD_CLIENT)
++ add_subdirectory(client)
++endif()
++if(BUILD_SERVER)
++ add_subdirectory(server)
++endif()
++if(BUILD_MASTER)
++ add_subdirectory(master)
++endif()
++if(BUILD_ODALAUNCH)
++ add_subdirectory(odalaunch)
++endif()
++
++if(NOT BUILD_CLIENT AND NOT BUILD_SERVER AND NOT BUILD_MASTER)
++ message(FATAL_ERROR "No target chosen, doing nothing.")
++endif()
+
+ # Disable the ag-odalaunch target completely: -DNO_AG-ODALAUNCH_TARGET
+ # This is only really useful when setting up a universal build.
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 1fde0ff..9f06fa6 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -48,7 +48,7 @@ endif()
+
+ # PortMidi configuration
+ find_package(PortMidi)
+-if(PORTMIDI_FOUND)
++if(PORTMIDI_FOUND AND ENABLE_PORTMIDI)
+ include_directories(${PORTMIDI_INCLUDE_DIR})
+ add_definitions(-DPORTMIDI)
+ else()
+@@ -95,7 +95,7 @@ if(SDL_FOUND AND SDLMIXER_FOUND)
+ target_link_libraries(odamex ${SDL_LIBRARY})
+ target_link_libraries(odamex ${SDLMIXER_LIBRARY})
+
+- if(PORTMIDI_FOUND)
++ if(PORTMIDI_FOUND AND ENABLE_PORTMIDI)
+ target_link_libraries(odamex ${PORTMIDI_LIBRARIES})
+ endif()
+
diff --git a/games-engines/odamex/files/2-odamex-0.7.0-cmake-options.patch b/games-engines/odamex/files/2-odamex-0.7.0-cmake-options.patch
new file mode 100644
index 00000000000..1de50271140
--- /dev/null
+++ b/games-engines/odamex/files/2-odamex-0.7.0-cmake-options.patch
@@ -0,0 +1,110 @@
+From 851bc58a74eadd89838c924167f27df1b9d3be37 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Thu, 27 Mar 2014 21:14:20 +0100
+Subject: [PATCH 2/4] add various cmake options
+
+---
+ CMakeLists.txt | 26 ++++++++++++++++++++++----
+ client/CMakeLists.txt | 34 ++++++++++++++++++++--------------
+ 2 files changed, 42 insertions(+), 18 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 262e3db..91d5c50 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,13 @@
+ include(CMakeDependentOption)
+ include(GNUInstallDirs)
+
++# options
++option(BUILD_CLIENT "Build client target" 1)
++option(BUILD_SERVER "Build server target" 1)
++option(BUILD_MASTER "Build master server target" 1)
++cmake_dependent_option( BUILD_ODALAUNCH "Build odalaunch target" 1 BUILD_CLIENT 0 )
++cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
++
+ project(Odamex)
+ cmake_minimum_required(VERSION 2.8)
+
+@@ -73,10 +80,21 @@ if(USE_INTREE_PORTMIDI)
+ endif()
+
+ # Subdirectories for Odamex projects
+-add_subdirectory(client)
+-add_subdirectory(server)
+-add_subdirectory(master)
+-add_subdirectory(odalaunch)
++if(BUILD_CLIENT)
++ add_subdirectory(client)
++endif()
++if(BUILD_SERVER)
++ add_subdirectory(server)
++endif()
++if(BUILD_MASTER)
++ add_subdirectory(master)
++endif()
++if(BUILD_ODALAUNCH)
++ add_subdirectory(odalaunch)
++endif()
++if(NOT BUILD_CLIENT AND NOT BUILD_SERVER AND NOT BUILD_MASTER)
++ message(FATAL_ERROR "No target chosen, doing nothing.")
++endif()
+
+ # Disable the ag-odalaunch target completely: -DNO_AG-ODALAUNCH_TARGET
+ # This is only really useful when setting up a universal build.
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 3f73ab5..7363c5a 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -107,17 +107,21 @@ include_directories(${PNG_INCLUDE_DIRS})
+ add_definitions(-DUSE_PNG)
+
+ # PortMidi configuration
+-if(USE_INTREE_PORTMIDI)
+- include_directories(../libraries/portmidi/pm_common/ ../libraries/portmidi/porttime/)
+- add_definitions(-DPORTMIDI)
++if(ENABLE_PORTMIDI)
++ if(USE_INTREE_PORTMIDI)
++ include_directories(../libraries/portmidi/pm_common/ ../libraries/portmidi/porttime/)
++ add_definitions(-DPORTMIDI)
++ else()
++ find_package(PortMidi QUIET)
++ if(PORTMIDI_FOUND)
++ include_directories(${PORTMIDI_INCLUDE_DIR})
++ add_definitions(-DPORTMIDI)
++ else()
++ message(WARNING "PortMidi not found, client will be built without PortMidi support.")
++ endif()
++ endif()
+ else()
+- find_package(PortMidi QUIET)
+- if(PORTMIDI_FOUND)
+- include_directories(${PORTMIDI_INCLUDE_DIR})
+- add_definitions(-DPORTMIDI)
+- else()
+- message(WARNING "PortMidi not found, client will be built without PortMidi support.")
+- endif()
++ message(STATUS "Portmidi disabled.")
+ endif()
+
+ # Find Mac frameworks
+@@ -147,10 +151,12 @@ if(SDL_FOUND AND SDLMIXER_FOUND)
+ target_link_libraries(odamex ${ZLIB_LIBRARY})
+ target_link_libraries(odamex ${PNG_LIBRARY} ${ZLIB_LIBRARY})
+
+- if(USE_INTREE_PORTMIDI)
+- target_link_libraries(odamex portmidi-static)
+- elseif(PORTMIDI_FOUND)
+- target_link_libraries(odamex ${PORTMIDI_LIBRARIES})
++ if(ENABLE_PORTMIDI)
++ if(USE_INTREE_PORTMIDI)
++ target_link_libraries(odamex portmidi-static)
++ elseif(PORTMIDI_FOUND)
++ target_link_libraries(odamex ${PORTMIDI_LIBRARIES})
++ endif()
+ endif()
+
+ if(WIN32)
+--
+1.9.1
+
diff --git a/games-engines/odamex/files/3-odamex-0.6.4-wad-search-path.patch b/games-engines/odamex/files/3-odamex-0.6.4-wad-search-path.patch
new file mode 100644
index 00000000000..3eb6953cfe8
--- /dev/null
+++ b/games-engines/odamex/files/3-odamex-0.6.4-wad-search-path.patch
@@ -0,0 +1,59 @@
+commit 3a5209e2595e459a31c111f6040dbac347df1967
+Author: hasufell <hasufell@gentoo.org>
+Date: Wed Jul 31 03:38:10 2013 +0200
+
+ add odamex.wad install destination to wad search path
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ca01bba..83a0e30 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,6 +12,16 @@ option(BUILD_SERVER "Build server target" 1)
+ option(BUILD_MASTER "Build master server target" 1)
+ cmake_dependent_option( BUILD_ODALAUNCH "Build odalaunch target" 1 BUILD_CLIENT 0 )
+ cmake_dependent_option( ENABLE_PORTMIDI "Enable portmidi support" 1 BUILD_CLIENT 0 )
++
++configure_file (
++ "${PROJECT_SOURCE_DIR}/config.h.in"
++ "${PROJECT_BINARY_DIR}/config.h"
++ )
++
++include_directories(
++ ${PROJECT_BINARY_DIR}
++)
++
+ set(PROJECT_VERSION 0.6.4)
+ set(PROJECT_COPYRIGHT "2006-2013")
+
+diff --git a/common/d_main.cpp b/common/d_main.cpp
+index 010bdcb..6dc2e5f 100644
+--- a/common/d_main.cpp
++++ b/common/d_main.cpp
+@@ -23,6 +23,7 @@
+ //-----------------------------------------------------------------------------
+
+ #include "version.h"
++#include "config.h"
+
+ #include <sstream>
+ #include <string>
+@@ -493,6 +494,7 @@ static std::string BaseFileSearch(std::string file, std::string ext = "", std::s
+ D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator);
+ D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator);
+ D_AddSearchDir(dirs, getenv("HOME"), separator);
++ D_AddSearchDir(dirs, CMAKE_WADDIR, separator);
+
+ // [AM] Search additional paths based on platform
+ D_AddPlatformSearchDirs(dirs);
+diff --git a/config.h.in b/config.h.in
+new file mode 100644
+index 0000000..e91b3a6
+--- /dev/null
++++ b/config.h.in
+@@ -0,0 +1,6 @@
++#ifndef CONFIG_H
++#define CONFIG_H
++
++#define CMAKE_WADDIR "@CMAKE_INSTALL_DATADIR@"
++
++#endif
diff --git a/games-engines/odamex/files/3-odamex-0.7.0-wad-search-path.patch b/games-engines/odamex/files/3-odamex-0.7.0-wad-search-path.patch
new file mode 100644
index 00000000000..77fb4e48996
--- /dev/null
+++ b/games-engines/odamex/files/3-odamex-0.7.0-wad-search-path.patch
@@ -0,0 +1,67 @@
+From 9af4e992ff9fa10816beba36478c711ac2c8542a Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Thu, 27 Mar 2014 21:17:21 +0100
+Subject: [PATCH 3/4] add odamex.wad install destination to wad search path
+
+---
+ CMakeLists.txt | 9 +++++++++
+ common/d_main.cpp | 2 ++
+ config.h.in | 6 ++++++
+ 3 files changed, 17 insertions(+)
+ create mode 100644 config.h.in
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 91d5c50..a06613e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,6 +13,15 @@
+
+ set(PROJECT_VERSION 0.7.0)
+ set(PROJECT_COPYRIGHT "2006-2014")
++
++configure_file (
++ "${PROJECT_SOURCE_DIR}/config.h.in"
++ "${PROJECT_BINARY_DIR}/config.h"
++ )
++
++include_directories(
++ ${PROJECT_BINARY_DIR}
++)
+
+ # Default build type
+ if(NOT MSVC)
+diff --git a/common/d_main.cpp b/common/d_main.cpp
+index 31d4f59..be0ffd2 100644
+--- a/common/d_main.cpp
++++ b/common/d_main.cpp
+@@ -23,6 +23,7 @@
+ //-----------------------------------------------------------------------------
+
+ #include "version.h"
++#include "config.h"
+
+ #include <sstream>
+ #include <string>
+@@ -506,6 +507,7 @@ static std::string BaseFileSearch(std::string file, std::string ext = "", std::s
+ D_AddSearchDir(dirs, getenv("DOOMWADDIR"), separator);
+ D_AddSearchDir(dirs, getenv("DOOMWADPATH"), separator);
+ D_AddSearchDir(dirs, getenv("HOME"), separator);
++ D_AddSearchDir(dirs, CMAKE_WADDIR, separator);
+
+ // [AM] Search additional paths based on platform
+ D_AddPlatformSearchDirs(dirs);
+diff --git a/config.h.in b/config.h.in
+new file mode 100644
+index 0000000..e91b3a6
+--- /dev/null
++++ b/config.h.in
+@@ -0,0 +1,6 @@
++#ifndef CONFIG_H
++#define CONFIG_H
++
++#define CMAKE_WADDIR "@CMAKE_INSTALL_DATADIR@"
++
++#endif
+--
+1.9.1
+
diff --git a/games-engines/odamex/files/4-odamex-0.6.4-odalauncher-bin-path.patch b/games-engines/odamex/files/4-odamex-0.6.4-odalauncher-bin-path.patch
new file mode 100644
index 00000000000..22244987d45
--- /dev/null
+++ b/games-engines/odamex/files/4-odamex-0.6.4-odalauncher-bin-path.patch
@@ -0,0 +1,51 @@
+commit a6c55c51dc251924be7eccf6637fc719a2b7ace0
+Author: hasufell <hasufell@gentoo.org>
+Date: Wed Jul 31 03:38:24 2013 +0200
+
+ use CMAKE_BINDIR as default bin patch in odalauncher
+
+diff --git a/config.h.in b/config.h.in
+index e91b3a6..7019a02 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -2,5 +2,6 @@
+ #define CONFIG_H
+
+ #define CMAKE_WADDIR "@CMAKE_INSTALL_DATADIR@"
++#define CMAKE_BINDIR "@CMAKE_INSTALL_BINDIR@"
+
+ #endif
+diff --git a/odalaunch/src/dlg_main.cpp b/odalaunch/src/dlg_main.cpp
+index 915b527..f01224a 100644
+--- a/odalaunch/src/dlg_main.cpp
++++ b/odalaunch/src/dlg_main.cpp
+@@ -27,6 +27,7 @@
+ #include "str_utils.h"
+
+ #include "md5.h"
++#include "config.h"
+
+ #include <wx/settings.h>
+ #include <wx/menu.h>
+@@ -42,6 +43,7 @@
+ #include <wx/process.h>
+ #include <wx/toolbar.h>
+ #include <wx/xrc/xmlres.h>
++#include <wx/string.h>
+ #include <wx/cmdline.h>
+
+ #ifdef __WXMSW__
+@@ -200,10 +202,12 @@ dlgMain::dlgMain(wxWindow* parent, wxWindowID id)
+ }
+ #endif
+
++ const char *cmake_bindir_str = CMAKE_BINDIR;
++ wxString cmake_bindir = wxString::FromAscii(cmake_bindir_str);
+ launchercfg_s.get_list_on_start = 1;
+ launchercfg_s.show_blocked_servers = 0;
+ launchercfg_s.wad_paths = wxGetCwd();
+- launchercfg_s.odamex_directory = wxGetCwd();
++ launchercfg_s.odamex_directory = cmake_bindir;
+
+ m_LstCtrlServers = XRCCTRL(*this, "Id_LstCtrlServers", LstOdaServerList);
+ m_LstCtrlPlayers = XRCCTRL(*this, "Id_LstCtrlPlayers", LstOdaPlayerList);
diff --git a/games-engines/odamex/files/4-odamex-0.7.0-odalauncher-bin-path.patch b/games-engines/odamex/files/4-odamex-0.7.0-odalauncher-bin-path.patch
new file mode 100644
index 00000000000..acb2692e75f
--- /dev/null
+++ b/games-engines/odamex/files/4-odamex-0.7.0-odalauncher-bin-path.patch
@@ -0,0 +1,58 @@
+From 672b2e61f3c0347c29746a4a22fe3ab912e88d62 Mon Sep 17 00:00:00 2001
+From: hasufell <hasufell@gentoo.org>
+Date: Thu, 27 Mar 2014 21:19:48 +0100
+Subject: [PATCH 4/4] use CMAKE_BINDIR as default bin patch in odalauncher
+
+---
+ config.h.in | 1 +
+ odalaunch/src/dlg_main.cpp | 6 +++++-
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/config.h.in b/config.h.in
+index e91b3a6..7019a02 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -2,5 +2,6 @@
+ #define CONFIG_H
+
+ #define CMAKE_WADDIR "@CMAKE_INSTALL_DATADIR@"
++#define CMAKE_BINDIR "@CMAKE_INSTALL_BINDIR@"
+
+ #endif
+diff --git a/odalaunch/src/dlg_main.cpp b/odalaunch/src/dlg_main.cpp
+index a95a5f6..abbfc0a 100644
+--- a/odalaunch/src/dlg_main.cpp
++++ b/odalaunch/src/dlg_main.cpp
+@@ -27,6 +27,7 @@
+ #include "str_utils.h"
+
+ #include "md5.h"
++#include "config.h"
+
+ #include <wx/settings.h>
+ #include <wx/menu.h>
+@@ -42,6 +43,7 @@
+ #include <wx/process.h>
+ #include <wx/toolbar.h>
+ #include <wx/xrc/xmlres.h>
++#include <wx/string.h>
+ #include <wx/cmdline.h>
+
+ #ifdef __WXMSW__
+@@ -205,10 +207,12 @@ dlgMain::dlgMain(wxWindow* parent, wxWindowID id)
+ }
+ #endif
+
++ const char *cmake_bindir_str = CMAKE_BINDIR;
++ wxString cmake_bindir = wxString::FromAscii(cmake_bindir_str);
+ launchercfg_s.get_list_on_start = 1;
+ launchercfg_s.show_blocked_servers = 0;
+ launchercfg_s.wad_paths = wxGetCwd();
+- launchercfg_s.odamex_directory = wxGetCwd();
++ launchercfg_s.odamex_directory = cmake_bindir;
+
+ m_LstCtrlServers = XRCCTRL(*this, "Id_LstCtrlServers", LstOdaServerList);
+ m_LstCtrlPlayers = XRCCTRL(*this, "Id_LstCtrlPlayers", LstOdaPlayerList);
+--
+1.9.1
+
diff --git a/games-engines/odamex/files/odamex-0.7.0-miniupnpc.patch b/games-engines/odamex/files/odamex-0.7.0-miniupnpc.patch
new file mode 100644
index 00000000000..34896e2a4e8
--- /dev/null
+++ b/games-engines/odamex/files/odamex-0.7.0-miniupnpc.patch
@@ -0,0 +1,35 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Mar 27 21:16:02 UTC 2014
+Subject: unbundle miniupnpc
+
+--- a/server/CMakeLists.txt
++++ b/server/CMakeLists.txt
+@@ -29,8 +29,7 @@
+ set(JSONCPP_SOURCE ${JSONCPP_DIR}/jsoncpp.cpp)
+
+ # MiniUPnPc
+-set(MINIUPNPC_DIR ../libraries/libminiupnpc)
+-set(MINIUPNPC_STATIC_LIBRARIES upnpc-static)
++set(MINIUPNPC_DIR /usr/include/miniupnpc)
+
+ # Platform definitions
+ define_platform()
+@@ -54,7 +53,7 @@
+ ${COMMON_SOURCES} ${COMMON_HEADERS}
+ ${SERVER_SOURCES} ${SERVER_HEADERS}
+ ${SERVER_WIN32_HEADERS} ${SERVER_WIN32_RESOURCES})
+-target_link_libraries(odasrv ${MINIUPNPC_STATIC_LIBRARIES})
++target_link_libraries(odasrv -lminiupnpc)
+
+ if(WIN32)
+ target_link_libraries(odasrv winmm wsock32)
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -71,7 +71,6 @@
+ set(UPNPC_BUILD_TESTS OFF CACHE INTERNAL "" FORCE)
+ set(UPNPC_INSTALL OFF CACHE INTERNAL "" FORCE)
+ mark_as_advanced(FORCE UPNPC_INSTALL)
+-add_subdirectory(libraries/libminiupnpc)
+
+ # PortMidi
+ cmake_dependent_option(USE_INTREE_PORTMIDI "Compile with the version of PortMidi included in the source tree." ON "WIN32" OFF)
diff --git a/games-engines/odamex/metadata.xml b/games-engines/odamex/metadata.xml
new file mode 100644
index 00000000000..2f40288d152
--- /dev/null
+++ b/games-engines/odamex/metadata.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>mwoodj@knology.net</email>
+ <name>Mike Wood</name>
+ <description>Proxy maintainer. CC him on bugs</description>
+ </maintainer>
+ <use>
+ <flag name="odalaunch">Build the wxwidgets based launcher.</flag>
+ <flag name="master">Build master server target (advertises odamex server list)</flag>
+ <flag name="portmidi">Enable portmidi support.</flag>
+ <flag name="server">Build server target.</flag>
+ </use>
+ <upstream>
+ <changelog>http://odamex.net/changelog.php</changelog>
+ <doc lang="en">http://odamex.net/wiki/Odamex</doc>
+ <bugs-to>http://odamex.net/bugs/</bugs-to>
+ <remote-id type="sourceforge">odamex</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ Odamex is a free and open source port for the classic
+ first-person-shooter Doom. Odamex's goal is to emulate the feel of and
+ retain many aspects of the original Doom executables while offering a
+ broader expanse of security features, personal configuration, gameplay
+ options, and editing features. Odamex can run on a wide range of
+ operating systems and hardware, so players should be able to play
+ on almost any platform.
+ </longdescription>
+</pkgmetadata>
diff --git a/games-engines/odamex/odamex-0.6.4.ebuild b/games-engines/odamex/odamex-0.6.4.ebuild
new file mode 100644
index 00000000000..f2e15ed1199
--- /dev/null
+++ b/games-engines/odamex/odamex-0.6.4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WX_GTK_VER="2.8"
+inherit cmake-utils eutils gnome2-utils wxwidgets games
+
+MY_P=${PN}-src-${PV}
+DESCRIPTION="An online multiplayer, free software engine for Doom and Doom II"
+HOMEPAGE="http://odamex.net/"
+SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="dedicated +odalaunch master portmidi server"
+
+RDEPEND="
+ dedicated? ( >=net-libs/miniupnpc-1.8 )
+ !dedicated? (
+ >=media-libs/libsdl-1.2.9[X,sound,joystick,video]
+ >=media-libs/sdl-mixer-1.2.6
+ odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ portmidi? ( media-libs/portmidi )
+ server? ( >=net-libs/miniupnpc-1.8 )
+ )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/1-${P}-install-rules.patch \
+ "${FILESDIR}"/2-${P}-cmake-options.patch \
+ "${FILESDIR}"/3-${P}-wad-search-path.patch \
+ "${FILESDIR}"/4-${P}-odalauncher-bin-path.patch
+
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_BINDIR="${GAMES_BINDIR}"
+ -DCMAKE_INSTALL_DATADIR="${GAMES_DATADIR}"/${PN}
+ $(cmake-utils_use_build master MASTER)
+ )
+
+ if use dedicated ; then
+ mycmakeargs+=(
+ -DBUILD_CLIENT=OFF
+ -DBUILD_ODALAUNCH=OFF
+ -DBUILD_SERVER=ON
+ -DENABLE_PORTMIDI=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DBUILD_CLIENT=ON
+ $(cmake-utils_use_build odalaunch ODALAUNCH)
+ $(cmake-utils_use_build server SERVER)
+ $(cmake-utils_use_enable portmidi PORTMIDI)
+ )
+ fi
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if ! use dedicated ; then
+ newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png"
+ make_desktop_entry ${PN}
+
+ if use odalaunch ; then
+ newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png"
+ make_desktop_entry odalaunch "Odamex Launcher" odalaunch
+ fi
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo
+ elog "This is just the engine, you will need doom resource files in order to play."
+ elog "Check: http://odamex.net/wiki/FAQ#What_data_files_are_required.3F"
+ einfo
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/odamex/odamex-0.7.0.ebuild b/games-engines/odamex/odamex-0.7.0.ebuild
new file mode 100644
index 00000000000..48999b4b82d
--- /dev/null
+++ b/games-engines/odamex/odamex-0.7.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WX_GTK_VER="3.0"
+inherit cmake-utils eutils gnome2-utils wxwidgets games
+
+MY_P=${PN}-src-${PV}
+DESCRIPTION="An online multiplayer, free software engine for Doom and Doom II"
+HOMEPAGE="http://odamex.net/"
+SRC_URI="mirror://sourceforge/${PN}/Odamex/${PV}/${MY_P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="dedicated +odalaunch master portmidi server"
+
+RDEPEND="
+ dedicated? ( >=net-libs/miniupnpc-1.8 )
+ !dedicated? (
+ media-libs/libpng:0
+ >=media-libs/libsdl-1.2.9[X,sound,joystick,video]
+ >=media-libs/sdl-mixer-1.2.6
+ odalaunch? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )
+ portmidi? ( media-libs/portmidi )
+ server? ( >=net-libs/miniupnpc-1.8 )
+ )"
+DEPEND="${RDEPEND}"
+
+S=${WORKDIR}/src-${PV:2:3}
+
+pkg_pretend() {
+ if ! test-flag-CXX -std=c++11; then
+ die "You need at least GCC 4.7.x or Clang >= 3.0 for C++11-specific compiler flags"
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/1-${P}-install-rules.patch \
+ "${FILESDIR}"/2-${P}-cmake-options.patch \
+ "${FILESDIR}"/3-${P}-wad-search-path.patch \
+ "${FILESDIR}"/4-${P}-odalauncher-bin-path.patch \
+ "${FILESDIR}"/${P}-miniupnpc.patch
+
+ rm -r libraries/libminiupnpc || die
+
+ epatch_user
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_INTREE_PORTMIDI=OFF
+ -DCMAKE_INSTALL_BINDIR="${GAMES_BINDIR}"
+ -DCMAKE_INSTALL_DATADIR="${GAMES_DATADIR}"
+ $(cmake-utils_use_build master MASTER)
+ )
+
+ if use dedicated ; then
+ mycmakeargs+=(
+ -DBUILD_CLIENT=OFF
+ -DBUILD_ODALAUNCH=OFF
+ -DBUILD_SERVER=ON
+ -DENABLE_PORTMIDI=OFF
+ )
+ else
+ mycmakeargs+=(
+ -DBUILD_CLIENT=ON
+ $(cmake-utils_use_build odalaunch ODALAUNCH)
+ $(cmake-utils_use_build server SERVER)
+ $(cmake-utils_use_enable portmidi PORTMIDI)
+ )
+ fi
+
+ append-cxxflags -std=c++11
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if ! use dedicated ; then
+ newicon -s 128 "${S}/media/icon_${PN}_128.png" "${PN}.png"
+ make_desktop_entry ${PN}
+
+ if use odalaunch ; then
+ newicon -s 128 "${S}/media/icon_odalaunch_128.png" "odalaunch.png"
+ make_desktop_entry odalaunch "Odamex Launcher" odalaunch
+ fi
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ einfo
+ elog "This is just the engine, you will need doom resource files in order to play."
+ elog "Check: http://odamex.net/wiki/FAQ#What_data_files_are_required.3F"
+ einfo
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/openmw/Manifest b/games-engines/openmw/Manifest
new file mode 100644
index 00000000000..e9704cdfda6
--- /dev/null
+++ b/games-engines/openmw/Manifest
@@ -0,0 +1 @@
+DIST openmw-0.33.0.tar.gz 3524287 SHA256 62baa03eb206bea760c6b2b0260ae1a942eac34e7439a114398d2101154f4a83 SHA512 96525ee794277284f39a18bbbd01361422273ef073917b5e51ec7951bb15e59e0d0dd39ba70311588d4b18adccffac5c4fed4d9bf9e37ca0e865869277e795f9 WHIRLPOOL ab9df256ff107fcd361a6308c6bcb49aeb5a40289a224173d6d9f883042491c09a1f90af982be257c2e425d8dd1ec44a04025622d41c21c23c9683db182dfd30
diff --git a/games-engines/openmw/files/openmw-0.33.0-cfg.patch b/games-engines/openmw/files/openmw-0.33.0-cfg.patch
new file mode 100644
index 00000000000..42125cb3d83
--- /dev/null
+++ b/games-engines/openmw/files/openmw-0.33.0-cfg.patch
@@ -0,0 +1,14 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Sat Jun 16 00:27:52 UTC 2012
+
+use cmake variable for data location
+
+--- files/openmw.cfg
++++ files/openmw.cfg
+@@ -1,5 +1,6 @@
+ data="?global?data"
+ data="?mw?Data Files"
++data=${MORROWIND_DATA_FILES}
+ data-local="?userdata?data"
+ resources=${OPENMW_RESOURCE_FILES}
+ script-blacklist=Museum
diff --git a/games-engines/openmw/files/openmw-0.33.0-opencs.patch b/games-engines/openmw/files/openmw-0.33.0-opencs.patch
new file mode 100644
index 00000000000..5abd7da9030
--- /dev/null
+++ b/games-engines/openmw/files/openmw-0.33.0-opencs.patch
@@ -0,0 +1,13 @@
+https://bugs.openmw.org/issues/2108
+
+diff --git a/apps/opencs/view/render/cell.hpp b/apps/opencs/view/render/cell.hpp
+index e63e095..67117bf 100644
+--- a/apps/opencs/view/render/cell.hpp
++++ b/apps/opencs/view/render/cell.hpp
+@@ -3,6 +3,7 @@
+
+ #include <string>
+ #include <map>
++#include <memory>
+
+ #include <OgreVector3.h>
diff --git a/games-engines/openmw/metadata.xml b/games-engines/openmw/metadata.xml
new file mode 100644
index 00000000000..bd371bf23c8
--- /dev/null
+++ b/games-engines/openmw/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+ <herd>games</herd>
+ <use>
+ <flag name="devtools">Install development tools like
+ bsatool, esmtool and opencs.</flag>
+ <flag name="launcher">Install the launcher for configuring
+ OpenMW.</flag>
+ </use>
+ <upstream>
+ <changelog>https://github.com/OpenMW/openmw/releases</changelog>
+ <doc lang="en">https://wiki.openmw.org</doc>
+ <bugs-to>https://bugs.openmw.org/</bugs-to>
+ <remote-id type="github">OpenMW/openmw</remote-id>
+ </upstream>
+ <longdescription lang="en">
+ OpenMW is a new and modern engine based on the one that runs the 2002
+ open-world RPG Morrowind. The engine (OpenMW) will come with its own
+ editor (OpenCS) which will allow the user to edit or create their own
+ games. Both OpenCS and OpenMW are written from scratch and aren’t
+ made to support any third party programs the original Morrowind
+ engine uses to improve its functionality.
+ </longdescription>
+</pkgmetadata>
+
diff --git a/games-engines/openmw/openmw-0.33.0-r2.ebuild b/games-engines/openmw/openmw-0.33.0-r2.ebuild
new file mode 100644
index 00000000000..cdd0b7bb62d
--- /dev/null
+++ b/games-engines/openmw/openmw-0.33.0-r2.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils gnome2-utils cmake-utils games
+
+DESCRIPTION="An open source reimplementation of TES III: Morrowind"
+HOMEPAGE="http://openmw.org/"
+SRC_URI="https://github.com/OpenMW/openmw/archive/${P}.tar.gz"
+
+LICENSE="GPL-3 MIT BitstreamVera OFL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc devtools +launcher"
+
+# XXX static build
+RDEPEND=">=dev-games/mygui-3.2.1
+ >=dev-games/ogre-1.9.0[freeimage,ois,opengl,zip]
+ >=dev-libs/boost-1.46.0
+ dev-libs/tinyxml
+ >=dev-qt/qtcore-4.7.0:4
+ >=dev-qt/qtgui-4.7.0:4
+ media-libs/freetype:2
+ media-libs/libsdl2[X,video]
+ media-libs/openal
+ >=sci-physics/bullet-2.80
+ virtual/ffmpeg
+ devtools? ( dev-qt/qtxmlpatterns:4 )
+ launcher? ( app-arch/unshield )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( app-doc/doxygen media-gfx/graphviz )"
+
+S=${WORKDIR}/${PN}-${P}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-cfg.patch \
+ "${FILESDIR}"/${P}-opencs.patch
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBINDIR="${GAMES_BINDIR}"
+ $(cmake-utils_use_build devtools BSATOOL)
+ $(cmake-utils_use_build devtools ESMTOOL)
+ $(cmake-utils_use_build launcher LAUNCHER)
+ -DMWINIIMPORTER=ON
+ -DBUILD_MYGUI_PLUGIN=ON
+ $(cmake-utils_use_build devtools OPENCS)
+ -DUNITTESTS=OFF
+ -DDATADIR="${GAMES_DATADIR}"/${PN}
+ -DICONDIR=/usr/share/icons/hicolor/256x256/apps
+ -DLIBDIR="$(games_get_libdir)"
+ -DMORROWIND_DATA_FILES="${GAMES_DATADIR}"/morrowind-data
+ -DOPENMW_RESOURCE_FILES="${GAMES_DATADIR}"/${PN}/resources
+ -DGLOBAL_CONFIG_PATH="${GAMES_SYSCONFDIR}"
+ -DUSE_SYSTEM_TINYXML=ON
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc ; then
+ emake -C "${CMAKE_BUILD_DIR}" doc
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ dodoc readme.txt
+
+ # about 46835 files, dodoc seems to have trouble
+ if use doc ; then
+ dodir "/usr/share/doc/${PF}"
+ find "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \
+ -name '*.md5' -type f -delete
+ mv "${CMAKE_BUILD_DIR}"/docs/Doxygen/html \
+ "${D}/usr/share/doc/${PF}/" || die
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+
+ elog "You need the original Morrowind Data files. If you haven't"
+ elog "installed them yet, you can install them straight via the"
+ elog "game launcher (launcher USE flag) which is the officially"
+ elog "supported method."
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/openxcom/Manifest b/games-engines/openxcom/Manifest
new file mode 100644
index 00000000000..a2ca9a2c98e
--- /dev/null
+++ b/games-engines/openxcom/Manifest
@@ -0,0 +1 @@
+DIST openxcom-1.0.0.tar.gz 2068640 SHA256 45acb280010a01d60506b1c5f2951ae501c012cc6161aac470bd15c1e6981246 SHA512 597abd2e7160551a3d6020d7c6fec863f86b708910ee582d446f2a5f97be94dc7e2522ede2e7ab4f62a2d21acf07ce441a435f74b530950e2f0b5791c00e06ab WHIRLPOOL fe63cb513b5413e16656f711564ce21eac3d3dc7a7674dcb62bc01f022b49c23dead30e80bbc0545f58e5a8a35cd635fd721c6243900a0bdba86de14c8ab8de9
diff --git a/games-engines/openxcom/metadata.xml b/games-engines/openxcom/metadata.xml
new file mode 100644
index 00000000000..68f685986c3
--- /dev/null
+++ b/games-engines/openxcom/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="github">SupSuper/OpenXcom</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/openxcom/openxcom-1.0.0.ebuild b/games-engines/openxcom/openxcom-1.0.0.ebuild
new file mode 100644
index 00000000000..e0c0c6be289
--- /dev/null
+++ b/games-engines/openxcom/openxcom-1.0.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils cmake-utils gnome2-utils games
+
+DESCRIPTION="An open-source reimplementation of the popular UFO: Enemy Unknown"
+HOMEPAGE="http://openxcom.org/"
+SRC_URI="https://github.com/SupSuper/OpenXcom/archive/v1.0.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3 CC-BY-SA-4.0"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc"
+
+RDEPEND=">=dev-cpp/yaml-cpp-0.5.1
+ media-libs/libsdl[opengl,video]
+ media-libs/sdl-gfx
+ media-libs/sdl-image[png]
+ media-libs/sdl-mixer[flac,mikmod,vorbis]"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+DOCS=( README.txt )
+
+S=${WORKDIR}/OpenXcom-1.0
+
+src_configure() {
+ mycmakeargs=(
+ "-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
+ "-DDATADIR=${GAMES_DATADIR}/${PN}"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ use doc && cmake-utils_src_compile doxygen
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ use doc && dohtml -r "${CMAKE_BUILD_DIR}"/docs/html/*
+ doicon -s scalable res/linux/icons/openxcom.svg
+ newicon -s 48 res/linux/icons/openxcom_48x48.png openxcom.png
+ newicon -s 128 res/linux/icons/openxcom_128x128.png openxcom.png
+ domenu res/linux/openxcom.desktop
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+ echo
+ elog "In order to play you need copy GEODATA, GEOGRAPH, MAPS, ROUTES, SOUND,"
+ elog "TERRAIN, UFOGRAPH, UFOINTRO, UNITS folders from original X-COM game to"
+ elog "${GAMES_DATADIR}/${PN}/data"
+ echo
+ elog "If you need or want text in some language other than english, download:"
+ elog "http://openxcom.org/translations/latest.zip and uncompress it in"
+ elog "${GAMES_DATADIR}/${PN}/data/Language"
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/qtads/Manifest b/games-engines/qtads/Manifest
new file mode 100644
index 00000000000..fb2335ff51a
--- /dev/null
+++ b/games-engines/qtads/Manifest
@@ -0,0 +1 @@
+DIST qtads-2.1.6.tar.bz2 2523761 SHA256 33f29b4c1b225f1a1e7ad1405a1bb7eb8ec4b1d567eac48a120071f7793373c8 SHA512 bd61f6531e2af3484bca06952c174feb2e1157f3f6f8b77e292c724cabb11f31cc413afe4dfb566a216d64702df033033d0667bd4dcb64478b3cd0cf3142dd3e WHIRLPOOL 90814bedfae9b07ff9eb02f070253970aba512c6f1736939c17ba1206e8043c60d5b07f65f94014f191696d339f522762ad3a8e866e624b796c4380b9abfd03a
diff --git a/games-engines/qtads/metadata.xml b/games-engines/qtads/metadata.xml
new file mode 100644
index 00000000000..eef6bd6fadd
--- /dev/null
+++ b/games-engines/qtads/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">qtads</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/qtads/qtads-2.1.6.ebuild b/games-engines/qtads/qtads-2.1.6.ebuild
new file mode 100644
index 00000000000..002eb2b06aa
--- /dev/null
+++ b/games-engines/qtads/qtads-2.1.6.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils gnome2-utils fdo-mime qt4-r2 games
+
+DESCRIPTION="Multimedia interpreter for TADS text adventures"
+HOMEPAGE="http://qtads.sourceforge.net"
+SRC_URI="mirror://sourceforge/qtads/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+DEPEND="media-libs/libsdl[sound]
+ media-libs/sdl-mixer[midi,vorbis]
+ media-libs/sdl-sound[mp3]
+ dev-qt/qtcore:4
+ dev-qt/qtgui:4"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ eqmake4 qtads.pro -after CONFIG-=silent
+}
+
+src_install() {
+ dogamesbin qtads
+ doman qtads.6
+ dodoc AUTHORS HTML_TADS_LICENSE NEWS README
+ newicon -s 256 qtads_256x256.png ${PN}.png
+ insinto /usr/share/icons
+ doins -r icons/hicolor
+ insinto /usr/share/mime/packages
+ doins icons/qtads.xml
+ make_desktop_entry qtads QTads qtads Game "GenericName=TADS Multimedia Interpreter\nMimeType=application/x-tads;application/x-t3vm-image;"
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/renpy/Manifest b/games-engines/renpy/Manifest
new file mode 100644
index 00000000000..74e720f20a4
--- /dev/null
+++ b/games-engines/renpy/Manifest
@@ -0,0 +1,6 @@
+DIST renpy-6.14.1-source.tar.bz2 9806538 SHA256 18be3630d1956131a1f010732d15292cdcec14a2391210af27dc342fafd8197f SHA512 a1f13a5f860e66054012eab29bbd37715bd9721e2dc30fdd9c8d4d8c58dc672c35b3c813e962ad6878cb741502af5a181dff8a05f359892b6b60d2e15bc5a7bc WHIRLPOOL 54018731e136106f328bf2d028841f09424d8ffd8303821eec995c55918b2c8ac7eb97d9ed24785e95ad3d878b794f5bcf96cc9f783955f8d1ace086a3ca9b61
+DIST renpy-6.15.7-source.tar.bz2 10421736 SHA256 b4280b62f7c8f730a37c7e567b16216b4578fc3640fbcdf5df7c65a73ae52e52 SHA512 d79b1d6b931f281ff208b8ece3889c116ceb05c58fe115e9f7f470788e74e63cfeb3df4f804b4a37a4f1da6ba194c883023808fafc8e8beddf864424958204e6 WHIRLPOOL 202ddb045f440f9abd06f5ac02ebd92a7b0300b14f4755271f1fc4e91bdea21cda19a432f45516f68ba3ad7ead98d7491382ad5c633da277a674f799458795f3
+DIST renpy-6.16.5-source.tar.bz2 14455622 SHA256 5ecb00fa84a048ff6e1f1d8a0114373425375e9c0b2a0596bf2d47e996b9d056 SHA512 1a718d86a689135e5a280f64cdc3c0340d712b7804af2169ed4cb4a12528e01088c919b87d36176b3fb8a05e8201f226146c46c4f4d5ebf1d89c3cebd1263c4d WHIRLPOOL b06638c284089ba79d12d95ba604c40fffe595d67e75551bbe8a08ddc57403f1644dd713c5eb15a39fcc34b92722589437935666d172379bb1164d2a02ef9433
+DIST renpy-6.17.7-source.tar.bz2 17932988 SHA256 fef01de9e482b73d9d409de7a43bada6dd3e2a0549b99dd487306371190ed038 SHA512 22b0e08b18ee35317b11451205233cbd8a29617d9c3d298bbdcfc5757f67c2f0e4c8a748aa83d5c8b43786c062ffca109d07e981efa750fcee26f45f08a33ea2 WHIRLPOOL fef82eb6c958a2525797e5d8bfae3488fba606b70eeed5c94f7afcab4fa46e7a7eb43d91b4bd55f553b65a72b12236e02ecdee55e8852c1fafc055332f9d131d
+DIST renpy-6.18.2-source.tar.bz2 19854257 SHA256 635c7495d5ced298183793cafbe8631981a5a75aec106b4ba145d3dd870a544c SHA512 239de63f7e015076aeb05d4f7da7caa676e151b0f3cbd710b0fe59a592f7af02cd8994ddb0d6225ccec337579eb2de1a5b83759a28572ead631fe3b5df515e8b WHIRLPOOL 85ac745891bf2ab729cb8ad44cab0cdd03399956455a4fbf73d638b87cf49d44c7395658e3882509dc0652492da931f7932297eb39974d7c890e772cfe1f13ff
+DIST renpy-6.18.3-source.tar.bz2 23244450 SHA256 c0c6af79ceb529e69cebfdb0e9849e50dc27e424dc2fd2b322c13d6ec938cba6 SHA512 7ea99adaf1fbea7a499790fb5b37349fc797f383fb633956a43955c80885b259e26570469c430f4c4c103e62444f60082690489ee6400809f5e9024693261e55 WHIRLPOOL 6e4e68228bc38c709af4387f209717e4644efccae47fb04b7071783b0c01d6fbe4ca65d7c712a32e159cd59c663873457e54c3851e9e4a84d3d4e4ed05271102
diff --git a/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch b/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch
new file mode 100644
index 00000000000..c2415a2233a
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.14.1-av_close_input_stream.patch
@@ -0,0 +1,11 @@
+--- module/ffdecode.c
++++ module/ffdecode.c
+@@ -1356,7 +1356,7 @@
+ if (is->video_stream >= 0)
+ stream_component_close(is, is->video_stream);
+ if (is->ic) {
+- av_close_input_stream(is->ic);
++ av_close_input_file(is->ic);
+ is->ic = NULL;
+ }
+
diff --git a/games-engines/renpy/files/renpy-6.14.1-freetype.patch b/games-engines/renpy/files/renpy-6.14.1-freetype.patch
new file mode 100644
index 00000000000..a818912b8c2
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.14.1-freetype.patch
@@ -0,0 +1,17 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Mon Apr 28 22:31:52 UTC 2014
+Subject: fix build
+
+--- renpy-6.14.1-source/module/setup.py
++++ renpy-6.14.1-source/module/setup.py
+@@ -24,8 +24,8 @@
+ include("zlib.h")
+ include("png.h")
+ include("SDL.h", directory="SDL")
+-include("ft2build.h")
+-include("freetype/freetype.h", directory="freetype2")
++include("ft2build.h") or include("ft2build.h", directory="freetype2")
++include("freetype/freetype.h", directory="freetype2") or include("freetype.h", directory="freetype2")
+ include("libavutil/avstring.h")
+ include("libavformat/avformat.h")
+ include("libavcodec/avcodec.h")
diff --git a/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch b/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch
new file mode 100644
index 00000000000..e200746d153
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.14.1-multiple-abi.patch
@@ -0,0 +1,230 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Mon Feb 25 21:35:31 UTC 2013
+Subject: fix multiple abi support
+
+--- /dev/null
++++ renpy-6.14.1-source/renpy/common.py
+@@ -0,0 +1,83 @@
++# Copyright 2004-2012 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.android:
++ return gamedir + "/saves"
++
++ elif renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(sys.argv[0])
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.environ.get('RENPY_BASE', renpy_base)
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+--- renpy-6.14.1-source/renpy.py
++++ renpy-6.14.1-source/renpy.py
+@@ -24,65 +24,9 @@
+ import os
+ import sys
+ import warnings
+-
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.android:
+- return gamedir + "/saves"
+-
+- elif renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(sys.argv[0])
+- renpy_base = os.environ.get('RENPY_BASE', renpy_base)
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -97,21 +41,9 @@
+ print "Ren'Py requires at least python 2.6."
+ sys.exit(0)
+
+-android = ("ANDROID_PRIVATE" in os.environ)
+-
+-# Android requires us to add code to the main module, and to command some
+-# renderers.
+-if android:
+- __main__ = sys.modules["__main__"]
+- __main__.path_to_renpy_base = path_to_renpy_base
+- __main__.path_to_common = path_to_common
+- __main__.path_to_saves = path_to_saves
+- os.environ["RENPY_RENDERER"] = "gl"
+- os.environ["RENPY_GL_ENVIRON"] = "limited"
+-
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+@@ -133,14 +65,9 @@
+ print >>sys.stderr, "Could not import renpy.bootstrap. Please ensure you decompressed Ren'Py"
+ print >>sys.stderr, "correctly, preserving the directory structure."
+ raise
+-
+- if android:
+- renpy.linux = False
+- renpy.android = True
+
+ renpy.bootstrap.bootstrap(renpy_base)
+
+-if __name__ == "__main__":
+- main()
+
+-
++if __name__ == "__main__":
++ main()
+--- renpy-6.14.1-source/renpy/main.py
++++ renpy-6.14.1-source/renpy/main.py
+@@ -27,7 +27,7 @@
+ import zipfile
+ import subprocess
+ from cPickle import loads, dumps
+-import __main__
++import renpy.common as common
+
+
+ def save_persistent():
+@@ -172,7 +172,7 @@
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -227,7 +227,7 @@
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch b/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch
new file mode 100644
index 00000000000..e66106c91fc
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.14.1-remove-AVFormatParameters.patch
@@ -0,0 +1,19 @@
+--- module/ffdecode.c
++++ module/ffdecode.c
+@@ -1152,7 +1152,6 @@
+ AVFormatContext *ic;
+ int err, i, ret, video_index, audio_index;
+ AVPacket pkt1, *pkt = &pkt1;
+- AVFormatParameters params, *ap = &params;
+ int codecs_locked = 0;
+
+ // url_set_interrupt_cb(decode_interrupt_cb);
+@@ -1162,8 +1161,6 @@
+ is->video_stream = -1;
+ is->audio_stream = -1;
+
+- memset(ap, 0, sizeof(*ap));
+-
+ is->io_context = rwops_open(is->rwops);
+
+ codecs_locked = 1;
diff --git a/games-engines/renpy/files/renpy-6.15.7-freetype.patch b/games-engines/renpy/files/renpy-6.15.7-freetype.patch
new file mode 100644
index 00000000000..7865f0c11a4
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.15.7-freetype.patch
@@ -0,0 +1,29 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Mon Apr 28 22:31:52 UTC 2014
+Subject: fix build
+
+--- renpy-6.14.1-source/module/setup.py
++++ renpy-6.14.1-source/module/setup.py
+@@ -24,8 +24,9 @@
+ include("zlib.h")
+ include("png.h")
+ include("SDL.h", directory="SDL")
+-include("ft2build.h")
+-include("freetype/freetype.h", directory="freetype2")
++include("ft2build.h") or include("ft2build.h", directory="freetype2")
++include("freetype/freetype.h", directory="freetype2") or include("freetype.h", directory="freetype2")
++include("freetype/ftotval.h", directory="freetype2") or include("ftotval.h", directory="freetype2")
+ include("libavutil/avstring.h")
+ include("libavformat/avformat.h")
+ include("libavcodec/avcodec.h")
+--- renpy-6.15.7-source/module/ttgsubtable.h
++++ renpy-6.15.7-source/module/ttgsubtable.h
+@@ -3,7 +3,7 @@
+
+ #include <stdint.h>
+ #include <ft2build.h>
+-#include <freetype/ftotval.h>
++#include FT_OPENTYPE_VALIDATE_H
+
+ typedef struct
+ {
diff --git a/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch b/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch
new file mode 100644
index 00000000000..c6b87ac868d
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.15.7-multiple-abi.patch
@@ -0,0 +1,250 @@
+commit ea0351d8bf6404f5e8db2ff872885a19bf8a3f92
+Author: hasufell <hasufell@gentoo.org>
+Date: Thu Jun 27 02:01:17 2013 +0200
+
+ fix multiple abi support
+
+diff --git a/renpy.py b/renpy.py
+index 4ec5324..d873750 100644
+--- a/renpy.py
++++ b/renpy.py
+@@ -28,82 +28,9 @@
+ import os
+ import sys
+ import warnings
+-
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- # Android.
+- if renpy.android:
+- paths = [
+- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+- ]
+-
+- for rv in paths:
+- if os.path.isdir(rv):
+- break
+-
+- print "Using savedir", rv
+-
+- # We return the last path as the default.
+-
+- return rv
+-
+-
+- # No save directory given.
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+- renpy_base = os.environ.get('RENPY_BASE', renpy_base)
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -118,20 +45,9 @@ except:
+ print "Ren'Py requires at least python 2.6."
+ sys.exit(0)
+
+-android = ("ANDROID_PRIVATE" in os.environ)
+-
+-# Android requires us to add code to the main module, and to command some
+-# renderers.
+-if android:
+- __main__ = sys.modules["__main__"]
+- __main__.path_to_renpy_base = path_to_renpy_base
+- __main__.path_to_common = path_to_common
+- __main__.path_to_saves = path_to_saves
+- os.environ["RENPY_RENDERER"] = "gl"
+-
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+@@ -154,10 +70,6 @@ def main():
+ print >>sys.stderr, "correctly, preserving the directory structure."
+ raise
+
+- if android:
+- renpy.linux = False
+- renpy.android = True
+-
+ renpy.bootstrap.bootstrap(renpy_base)
+
+ if __name__ == "__main__":
+diff --git a/renpy/common.py b/renpy/common.py
+new file mode 100644
+index 0000000..475b7e8
+--- /dev/null
++++ b/renpy/common.py
+@@ -0,0 +1,84 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2012 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ # No save directory given.
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.environ.get('RENPY_BASE', renpy_base)
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+diff --git a/renpy/main.py b/renpy/main.py
+index 908e246..61027ec 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -27,7 +27,7 @@ import time
+ import zipfile
+ import subprocess
+ from cPickle import loads, dumps
+-import __main__
++import renpy.common as common
+
+
+ def save_persistent():
+@@ -147,7 +147,7 @@ def main():
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -210,7 +210,7 @@ def main():
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch b/games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch
new file mode 100644
index 00000000000..a1c54901ac6
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.16.5-multiple-abi.patch
@@ -0,0 +1,245 @@
+commit 23f67fe23d7b51e352a500a0e005ae3ef4dbc097
+Author: hasufell <hasufell@gentoo.org>
+Date: Sat Oct 26 22:17:31 2013 +0200
+
+ fix multiple abi support
+
+diff --git a/renpy.py b/renpy.py
+index 9f2977f..394e4e1 100644
+--- a/renpy.py
++++ b/renpy.py
+@@ -28,82 +28,9 @@
+ import os
+ import sys
+ import warnings
+-
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- # Android.
+- if renpy.android:
+- paths = [
+- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+- ]
+-
+- for rv in paths:
+- if os.path.isdir(rv):
+- break
+-
+- print "Using savedir", rv
+-
+- # We return the last path as the default.
+-
+- return rv
+-
+-
+- # No save directory given.
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+- renpy_base = os.environ.get('RENPY_BASE', renpy_base)
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -131,7 +58,7 @@ if android:
+
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+diff --git a/renpy/common.py b/renpy/common.py
+new file mode 100644
+index 0000000..1f15b3c
+--- /dev/null
++++ b/renpy/common.py
+@@ -0,0 +1,103 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2012 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ # Android.
++ if renpy.android:
++ paths = [
++ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
++ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
++ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
++ ]
++
++ for rv in paths:
++ if os.path.isdir(rv):
++ break
++
++ print "Using savedir", rv
++
++ # We return the last path as the default.
++
++ return rv
++
++
++ # No save directory given.
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.environ.get('RENPY_BASE', renpy_base)
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+diff --git a/renpy/main.py b/renpy/main.py
+index d15eefc..b11bba9 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -26,7 +26,7 @@ import sys
+ import time
+ import zipfile
+ import subprocess
+-import __main__
++import renpy.common as common
+
+
+ def run(restart):
+@@ -166,7 +166,7 @@ def main():
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -229,7 +229,7 @@ def main():
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch b/games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch
new file mode 100644
index 00000000000..335af4e9b8d
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.17.7-multiple-abi.patch
@@ -0,0 +1,245 @@
+commit 7451ba936ca2f3358ca51ab562371774199c7052
+Author: hasufell <hasufell@gentoo.org>
+Date: Tue Jan 21 01:02:00 2014 +0100
+
+ fix multiple abi support
+
+diff --git a/renpy.py b/renpy.py
+index 9f2977f..394e4e1 100644
+--- a/renpy.py
++++ b/renpy.py
+@@ -28,82 +28,9 @@
+ import os
+ import sys
+ import warnings
+-
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- # Android.
+- if renpy.android:
+- paths = [
+- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+- ]
+-
+- for rv in paths:
+- if os.path.isdir(rv):
+- break
+-
+- print "Using savedir", rv
+-
+- # We return the last path as the default.
+-
+- return rv
+-
+-
+- # No save directory given.
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+- renpy_base = os.environ.get('RENPY_BASE', renpy_base)
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -131,7 +58,7 @@ if android:
+
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+diff --git a/renpy/common.py b/renpy/common.py
+new file mode 100644
+index 0000000..1f15b3c
+--- /dev/null
++++ b/renpy/common.py
+@@ -0,0 +1,103 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ # Android.
++ if renpy.android:
++ paths = [
++ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
++ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
++ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
++ ]
++
++ for rv in paths:
++ if os.path.isdir(rv):
++ break
++
++ print "Using savedir", rv
++
++ # We return the last path as the default.
++
++ return rv
++
++
++ # No save directory given.
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.environ.get('RENPY_BASE', renpy_base)
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+diff --git a/renpy/main.py b/renpy/main.py
+index 143007d..6c55bbc 100644
+--- a/renpy/main.py
++++ b/renpy/main.py
+@@ -25,7 +25,7 @@ import os
+ import sys
+ import time
+ import zipfile
+-import __main__
++import renpy.common as common
+
+
+ def run(restart):
+@@ -167,7 +167,7 @@ def main():
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -230,7 +230,7 @@ def main():
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch
new file mode 100644
index 00000000000..a569fa4e62d
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.18.2-multiple-abi.patch
@@ -0,0 +1,271 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Tue Jan 21 01:02:00 2014 +0100
+
+ fix multiple abi support
+
+--- renpy.py
++++ renpy.py
+@@ -29,92 +29,9 @@
+ import sys
+ import warnings
+
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- # Makes sure the permissions are right on the save directory.
+- def test_writable(d):
+- try:
+- fn = os.path.join(d, "test.txt")
+- open(fn, "w").close()
+- open(fn, "r").close()
+- os.unlink(fn)
+- return True
+- except:
+- return False
+-
+-
+- # Android.
+- if renpy.android:
+- paths = [
+- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+- ]
+-
+- for rv in paths:
+- if os.path.isdir(rv) and test_writable(rv):
+- break
+-
+- print "Using savedir", rv
+-
+- # We return the last path as the default.
+-
+- return rv
+-
+-
+- # No save directory given.
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -142,7 +59,7 @@
+
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+--- /dev/null
++++ renpy/common.py
+@@ -0,0 +1,127 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ # Makes sure the permissions are right on the save directory.
++ def test_writable(d):
++ try:
++ fn = os.path.join(d, "test.txt")
++ open(fn, "w").close()
++ open(fn, "r").close()
++ os.unlink(fn)
++ return True
++ except:
++ return False
++
++
++ # Makes sure the permissions are right on the save directory.
++ def test_writable(d):
++ try:
++ fn = os.path.join(d, "test.txt")
++ open(fn, "w").close()
++ open(fn, "r").close()
++ os.unlink(fn)
++ return True
++ except:
++ return False
++
++
++
++ # Android.
++ if renpy.android:
++ paths = [
++ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
++ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
++ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
++ ]
++
++ for rv in paths:
++ if os.path.isdir(rv) and test_writable(rv):
++ break
++
++ print "Using savedir", rv
++
++ # We return the last path as the default.
++
++ return rv
++
++
++ # No save directory given.
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+--- renpy/main.py
++++ renpy/main.py
+@@ -25,7 +25,7 @@ import os
+ import sys
+ import time
+ import zipfile
+-import __main__
++import renpy.common as common
+
+
+ def run(restart):
+@@ -167,7 +167,7 @@ def main():
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -230,7 +230,7 @@ def main():
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch
new file mode 100644
index 00000000000..a569fa4e62d
--- /dev/null
+++ b/games-engines/renpy/files/renpy-6.18.3-multiple-abi.patch
@@ -0,0 +1,271 @@
+Author: hasufell <hasufell@gentoo.org>
+Date: Tue Jan 21 01:02:00 2014 +0100
+
+ fix multiple abi support
+
+--- renpy.py
++++ renpy.py
+@@ -29,92 +29,9 @@
+ import sys
+ import warnings
+
+-# Functions to be customized by distributors. ################################
+-
+-# Given the Ren'Py base directory (usually the directory containing
+-# this file), this is expected to return the path to the common directory.
+-def path_to_common(renpy_base):
+- return renpy_base + "/renpy/common"
+-
+-# Given a directory holding a Ren'Py game, this is expected to return
+-# the path to a directory that will hold save files.
+-def path_to_saves(gamedir):
+- import renpy #@UnresolvedImport
+-
+- # Makes sure the permissions are right on the save directory.
+- def test_writable(d):
+- try:
+- fn = os.path.join(d, "test.txt")
+- open(fn, "w").close()
+- open(fn, "r").close()
+- os.unlink(fn)
+- return True
+- except:
+- return False
+-
+-
+- # Android.
+- if renpy.android:
+- paths = [
+- os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
+- os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
+- os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
+- ]
+-
+- for rv in paths:
+- if os.path.isdir(rv) and test_writable(rv):
+- break
+-
+- print "Using savedir", rv
+-
+- # We return the last path as the default.
+-
+- return rv
+-
+-
+- # No save directory given.
+- if not renpy.config.save_directory:
+- return gamedir + "/saves"
+-
+- # Search the path above Ren'Py for a directory named "Ren'Py Data".
+- # If it exists, then use that for our save directory.
+- path = renpy.config.renpy_base
+-
+- while True:
+- if os.path.isdir(path + "/Ren'Py Data"):
+- return path + "/Ren'Py Data/" + renpy.config.save_directory
+-
+- newpath = os.path.dirname(path)
+- if path == newpath:
+- break
+- path = newpath
+-
+- # Otherwise, put the saves in a platform-specific location.
+- if renpy.macintosh:
+- rv = "~/Library/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- elif renpy.windows:
+- if 'APPDATA' in os.environ:
+- return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
+- else:
+- rv = "~/RenPy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+- else:
+- rv = "~/.renpy/" + renpy.config.save_directory
+- return os.path.expanduser(rv)
+-
+-
+-# Returns the path to the Ren'Py base directory (containing common and
+-# the launcher, usually.)
+-def path_to_renpy_base():
+- renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
+- renpy_base = os.path.abspath(renpy_base)
+-
+- return renpy_base
+-
+-##############################################################################
++from distutils.sysconfig import get_python_lib
++sys.path.append(get_python_lib() + "/renpy@SLOT@")
++import renpy.common as common
+
+ # The version of the Mac Launcher and py4renpy that we require.
+ macos_version = (6, 14, 0)
+@@ -142,7 +59,7 @@
+
+ def main():
+
+- renpy_base = path_to_renpy_base()
++ renpy_base = common.path_to_renpy_base()
+
+ # Add paths.
+ if os.path.exists(renpy_base + "/module"):
+--- /dev/null
++++ renpy/common.py
+@@ -0,0 +1,127 @@
++# This file is part of Ren'Py. The license below applies to Ren'Py only.
++# Games and other projects that use Ren'Py may use a different license.
++
++# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
++#
++# Permission is hereby granted, free of charge, to any person
++# obtaining a copy of this software and associated documentation files
++# (the "Software"), to deal in the Software without restriction,
++# including without limitation the rights to use, copy, modify, merge,
++# publish, distribute, sublicense, and/or sell copies of the Software,
++# and to permit persons to whom the Software is furnished to do so,
++# subject to the following conditions:
++#
++# The above copyright notice and this permission notice shall be
++# included in all copies or substantial portions of the Software.
++#
++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
++# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
++# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
++# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
++# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
++# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
++# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++
++import os
++import sys
++import warnings
++from distutils.sysconfig import get_python_lib
++
++# Functions to be customized by distributors. ################################
++
++# Given the Ren'Py base directory (usually the directory containing
++# this file), this is expected to return the path to the common directory.
++def path_to_common(renpy_base):
++ return renpy_base + "/renpy/common"
++
++# Given a directory holding a Ren'Py game, this is expected to return
++# the path to a directory that will hold save files.
++def path_to_saves(gamedir):
++ import renpy #@UnresolvedImport
++
++ # Makes sure the permissions are right on the save directory.
++ def test_writable(d):
++ try:
++ fn = os.path.join(d, "test.txt")
++ open(fn, "w").close()
++ open(fn, "r").close()
++ os.unlink(fn)
++ return True
++ except:
++ return False
++
++
++ # Makes sure the permissions are right on the save directory.
++ def test_writable(d):
++ try:
++ fn = os.path.join(d, "test.txt")
++ open(fn, "w").close()
++ open(fn, "r").close()
++ os.unlink(fn)
++ return True
++ except:
++ return False
++
++
++
++ # Android.
++ if renpy.android:
++ paths = [
++ os.path.join(os.environ["ANDROID_OLD_PUBLIC"], "game/saves"),
++ os.path.join(os.environ["ANDROID_PRIVATE"], "saves"),
++ os.path.join(os.environ["ANDROID_PUBLIC"], "saves"),
++ ]
++
++ for rv in paths:
++ if os.path.isdir(rv) and test_writable(rv):
++ break
++
++ print "Using savedir", rv
++
++ # We return the last path as the default.
++
++ return rv
++
++
++ # No save directory given.
++ if not renpy.config.save_directory:
++ return gamedir + "/saves"
++
++ # Search the path above Ren'Py for a directory named "Ren'Py Data".
++ # If it exists, then use that for our save directory.
++ path = renpy.config.renpy_base
++
++ while True:
++ if os.path.isdir(path + "/Ren'Py Data"):
++ return path + "/Ren'Py Data/" + renpy.config.save_directory
++
++ newpath = os.path.dirname(path)
++ if path == newpath:
++ break
++ path = newpath
++
++ # Otherwise, put the saves in a platform-specific location.
++ if renpy.macintosh:
++ rv = "~/Library/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ elif renpy.windows:
++ if 'APPDATA' in os.environ:
++ return os.environ['APPDATA'] + "/RenPy/" + renpy.config.save_directory
++ else:
++ rv = "~/RenPy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++ else:
++ rv = "~/.renpy/" + renpy.config.save_directory
++ return os.path.expanduser(rv)
++
++
++# Returns the path to the Ren'Py base directory (containing common and
++# the launcher, usually.)
++def path_to_renpy_base():
++ renpy_base = os.path.dirname(os.path.realpath(sys.argv[0]))
++ renpy_base = get_python_lib() + "/renpy@SLOT@"
++ renpy_base = os.path.abspath(renpy_base)
++
++ return renpy_base
+--- renpy/main.py
++++ renpy/main.py
+@@ -25,7 +25,7 @@ import os
+ import sys
+ import time
+ import zipfile
+-import __main__
++import renpy.common as common
+
+
+ def run(restart):
+@@ -167,7 +167,7 @@ def main():
+ renpy.config.searchpath = [ renpy.config.gamedir ]
+
+ # Find the common directory.
+- commondir = __main__.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
++ commondir = common.path_to_common(renpy.config.renpy_base) # E1101 @UndefinedVariable
+
+ if os.path.isdir(commondir):
+ renpy.config.searchpath.append(commondir)
+@@ -230,7 +230,7 @@ def main():
+
+ # Find the save directory.
+ if renpy.config.savedir is None:
+- renpy.config.savedir = __main__.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
++ renpy.config.savedir = common.path_to_saves(renpy.config.gamedir) # E1101 @UndefinedVariable
+
+ if renpy.game.args.savedir: #@UndefinedVariable
+ renpy.config.savedir = renpy.game.args.savedir #@UndefinedVariable
diff --git a/games-engines/renpy/metadata.xml b/games-engines/renpy/metadata.xml
new file mode 100644
index 00000000000..81a8e71705e
--- /dev/null
+++ b/games-engines/renpy/metadata.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <herd>proxy-maintainers</herd>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ <description>Maintainer. Assign bugs to him</description>
+ </maintainer>
+ <maintainer>
+ <email>maksverver@geocities.com</email>
+ <name>Maks Verver</name>
+ <description>Proxy maintainer. CC him on bugs</description>
+ </maintainer>
+ <longdescription>
+ Ren'Py is a free and cross-platform visual novel engine that
+ helps you use words,
+ pictures, and sounds to tell stories with the computer.
+ It`s easy and efficient script language makes it possible for
+ non-programmers to make visual novels,
+ while its Python support allows for complex simulation games.
+ </longdescription>
+ <use>
+ <flag name='development'>Install IDE for game developers and
+ an empty game template</flag>
+ </use>
+ <upstream>
+ <maintainer status='active'>
+ <email>pytom@bishoujo.us</email>
+ <name>Tom Rothamel</name>
+ </maintainer>
+ <changelog>http://www.renpy.org/latest.html</changelog>
+ <bugs-to>https://github.com/renpy/renpy/issues</bugs-to>
+ <doc>http://renpy.org/wiki/renpy/doc</doc>
+ <remote-id type='github'>renpy/renpy</remote-id>
+ </upstream>
+</pkgmetadata>
+
diff --git a/games-engines/renpy/renpy-6.14.1-r1.ebuild b/games-engines/renpy/renpy-6.14.1-r1.ebuild
new file mode 100644
index 00000000000..7e4792340f8
--- /dev/null
+++ b/games-engines/renpy/renpy-6.14.1-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="amd64 x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.1
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $(pkg-config --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch \
+ "${FILESDIR}"/${P}-{av_close_input_stream,remove-AVFormatParameters}.patch \
+ "${FILESDIR}"/${P}-freetype.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy common
+ if use development ; then
+ python_domodule launcher template
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/renpy/renpy-6.15.7.ebuild b/games-engines/renpy/renpy-6.15.7.ebuild
new file mode 100644
index 00000000000..d4f0e706dab
--- /dev/null
+++ b/games-engines/renpy/renpy-6.15.7.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="amd64 x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.2
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch \
+ "${FILESDIR}"/${P}-freetype.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher template
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/renpy/renpy-6.16.5.ebuild b/games-engines/renpy/renpy-6.16.5.ebuild
new file mode 100644
index 00000000000..5cf268b0eff
--- /dev/null
+++ b/games-engines/renpy/renpy-6.16.5.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="amd64 x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.3
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher templates
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/renpy/renpy-6.17.7.ebuild b/games-engines/renpy/renpy-6.17.7.ebuild
new file mode 100644
index 00000000000..a83385a252b
--- /dev/null
+++ b/games-engines/renpy/renpy-6.17.7.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="amd64 x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.4
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher templates
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/images/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/renpy/renpy-6.18.2.ebuild b/games-engines/renpy/renpy-6.18.2.ebuild
new file mode 100644
index 00000000000..0a552af0b28
--- /dev/null
+++ b/games-engines/renpy/renpy-6.18.2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="~amd64 ~x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.5
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher templates
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/images/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/renpy/renpy-6.18.3.ebuild b/games-engines/renpy/renpy-6.18.3.ebuild
new file mode 100644
index 00000000000..0a552af0b28
--- /dev/null
+++ b/games-engines/renpy/renpy-6.18.3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_IN_SOURCE_BUILD=1
+inherit eutils toolchain-funcs python-r1 versionator gnome2-utils games distutils-r1
+
+DESCRIPTION="Visual novel engine written in python"
+HOMEPAGE="http://www.renpy.org"
+SRC_URI="http://www.renpy.org/dl/${PV}/${P}-source.tar.bz2"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+MYSLOT=$(delete_all_version_separators ${SLOT})
+KEYWORDS="~amd64 ~x86"
+IUSE="development doc examples"
+REQUIRED_USE="examples? ( development )"
+
+RDEPEND="
+ >=app-eselect/eselect-renpy-0.5
+ dev-libs/fribidi
+ dev-python/pygame[X,${PYTHON_USEDEP}]
+ >=dev-lang/python-exec-0.3[${PYTHON_USEDEP}]
+ media-libs/glew
+ media-libs/libpng:0
+ media-libs/libsdl[X,video]
+ media-libs/freetype:2
+ sys-libs/zlib
+ virtual/ffmpeg"
+DEPEND="${RDEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${P}-source
+
+pkg_setup() {
+ games_pkg_setup
+ export CFLAGS="${CFLAGS} $($(tc-getPKG_CONFIG) --cflags fribidi)"
+}
+
+python_prepare_all() {
+ # wooosh! this should fix multiple abi
+ epatch "${FILESDIR}"/${P}-multiple-abi.patch
+
+ einfo "Deleting precompiled python files"
+ find . -name '*.py[co]' -print -delete || die
+
+ sed -i \
+ -e "s/@SLOT@/${MYSLOT}/" \
+ renpy.py renpy/common.py || die "setting slot failed!"
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ cd "${S}"/module || die
+ distutils-r1_python_compile
+}
+
+python_install() {
+ cd "${S}"/module || die
+ distutils-r1_python_install --install-lib="$(python_get_sitedir)/renpy${MYSLOT}"
+
+ cd "${S}" || die
+ python_scriptinto "${GAMES_BINDIR}"
+ python_newscript renpy.py ${PN}-${SLOT}
+
+ python_moduleinto renpy${MYSLOT}
+ python_domodule renpy
+ if use development ; then
+ python_domodule launcher templates
+ fi
+ if use examples ; then
+ python_domodule the_question tutorial
+ fi
+}
+
+python_install_all() {
+ if use development; then
+ newicon -s 32 launcher/game/images/logo32.png ${P}.png
+ make_desktop_entry ${PN}-${SLOT} "Ren'Py ${PV}" ${P}
+ fi
+
+ if use doc; then
+ dohtml -r doc
+ fi
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ use development && gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
+
+pkg_postrm() {
+ use development && gnome2_icon_cache_update
+
+ einfo "running: eselect renpy update --if-unset"
+ eselect renpy update --if-unset
+}
diff --git a/games-engines/residualvm/Manifest b/games-engines/residualvm/Manifest
new file mode 100644
index 00000000000..b172037f1d4
--- /dev/null
+++ b/games-engines/residualvm/Manifest
@@ -0,0 +1 @@
+DIST residualvm-0.2.1-sources.tar.bz2 5533814 SHA256 cd2748a665f80b8c527c6dd35f8435e718d2e10440dca10e7765574c7402d924 SHA512 9eed93770ef1ad828934c32e937b861c93f1ebbb0d936f3f56668e654588f734dc88e29446f0a69f8f26475e96b8ce7ca85318758b99aabc9586756692c721da WHIRLPOOL fd055dc5f85ae653f38f6de6a4d80aad32aa77164ab997fb2cc64cd23284b1af7531d9a1076cdd903e6edc8bf48b6e455c42f0adb997ea7eeda660d958e3319b
diff --git a/games-engines/residualvm/metadata.xml b/games-engines/residualvm/metadata.xml
new file mode 100644
index 00000000000..6e55bbad658
--- /dev/null
+++ b/games-engines/residualvm/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">residualvm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/residualvm/residualvm-0.2.1.ebuild b/games-engines/residualvm/residualvm-0.2.1.ebuild
new file mode 100644
index 00000000000..373734a181c
--- /dev/null
+++ b/games-engines/residualvm/residualvm-0.2.1.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils toolchain-funcs gnome2-utils games
+
+DESCRIPTION="A cross-platform 3D game interpreter for play LucasArts' LUA-based 3D adventures"
+HOMEPAGE="http://www.residualvm.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}-sources.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+# TODO: fix dynamic plugin support
+# games crash without media-libs/libsdl[alsa]
+RDEPEND="
+ media-libs/alsa-lib
+ media-libs/freetype:2
+ media-libs/libsdl[X,sound,alsa,joystick,opengl,video]
+ sys-libs/zlib
+ virtual/glu
+ virtual/opengl"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ # not an autotools script
+ # most configure options currently do nothing, recheck on version bump !!!
+ # disable explicitly, otherwise we get unneeded linkage (some copy-paste build system)
+ ./configure \
+ --disable-debug \
+ --enable-all-engines \
+ --backend=sdl \
+ --enable-release-mode \
+ --disable-tremor \
+ --disable-sparkle \
+ --prefix="${GAMES_PREFIX}" \
+ --datadir="${GAMES_DATADIR}/${PN}" \
+ --libdir="$(games_get_libdir)" \
+ --docdir="/usr/share/doc/${PF}" \
+ --disable-libunity \
+ --disable-faad \
+ --disable-flac \
+ --disable-fluidsynth \
+ --disable-mad \
+ --disable-translation \
+ --disable-vorbis \
+ --enable-zlib \
+ || die "configure failed"
+}
+
+src_compile() {
+ emake \
+ VERBOSE_BUILD=1 \
+ AR="$(tc-getAR) cru" \
+ RANLIB=$(tc-getRANLIB)
+}
+
+src_install() {
+ dogamesbin residualvm
+
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins gui/themes/modern.zip dists/engine-data/residualvm-grim-patch.lab
+
+ doicon -s scalable icons/${PN}.svg
+ doicon -s 256 icons/${PN}.png
+ domenu dists/${PN}.desktop
+
+ doman dists/${PN}.6
+ dodoc AUTHORS README.md KNOWN_BUGS TODO
+
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/scummvm-tools/Manifest b/games-engines/scummvm-tools/Manifest
new file mode 100644
index 00000000000..17fa75b6417
--- /dev/null
+++ b/games-engines/scummvm-tools/Manifest
@@ -0,0 +1 @@
+DIST scummvm-tools-1.7.0.tar.bz2 956801 SHA256 b4005c3d68e4c5bda4fa9e31f3998fc5b45b7c9381890ed3d5f0b57f77a62589 SHA512 6a04307912327cb91fb4e1689b67ce621c3e28cbd5460c20974384907d21cb266e9d00b74a6991813366d2c34f966d79dc12e71750d083c82b89a2ec654b04b1 WHIRLPOOL 2034eb3817b5e11b0ba626f2b2b88a2e29a973e538f7a43cafffa0247792c4292821dfa20decd18842155938a65cb74af35b18dbf5d0da61b2d4c18e1b1dc2fc
diff --git a/games-engines/scummvm-tools/files/scummvm-tools-1.7.0-binprefix.patch b/games-engines/scummvm-tools/files/scummvm-tools-1.7.0-binprefix.patch
new file mode 100644
index 00000000000..604db075395
--- /dev/null
+++ b/games-engines/scummvm-tools/files/scummvm-tools-1.7.0-binprefix.patch
@@ -0,0 +1,11 @@
+--- scummvm-tools-1.7.0.orig/Makefile.common
++++ scummvm-tools-1.7.0/Makefile.common
+@@ -312,7 +312,7 @@
+ install: $(TARGETS)
+ $(INSTALL) -p -m 0755 -d $(DESTDIR)$(BINDIR)
+ $(INSTALL) -p -m 0755 -d $(DESTDIR)$(DATADIR)/scummvm-tools
+- for i in $^ ; do $(INSTALL) -p -m 0755 $$i $(DESTDIR)$(BINDIR) ; done
++ for i in $^ ; do $(INSTALL) -p -m 0755 $$i $(DESTDIR)$(BINDIR)/$(EXEPREFIX)$$i ; done
+ $(INSTALL) -m 0755 -d $(DESTDIR)$(DATADIR)/scummvm-tools
+ $(INSTALL) -p -m 0644 $(srcdir)/gui/media/*.* $(DESTDIR)$(DATADIR)/scummvm-tools
+
diff --git a/games-engines/scummvm-tools/metadata.xml b/games-engines/scummvm-tools/metadata.xml
new file mode 100644
index 00000000000..f325c8eea00
--- /dev/null
+++ b/games-engines/scummvm-tools/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">scummvm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/scummvm-tools/scummvm-tools-1.7.0.ebuild b/games-engines/scummvm-tools/scummvm-tools-1.7.0.ebuild
new file mode 100644
index 00000000000..a10bc424a32
--- /dev/null
+++ b/games-engines/scummvm-tools/scummvm-tools-1.7.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+WX_GTK_VER=2.8
+inherit wxwidgets eutils flag-o-matic games
+
+DESCRIPTION="utilities for the SCUMM game engine"
+HOMEPAGE="http://scummvm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/scummvm/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd"
+IUSE="flac iconv mad png vorbis"
+RESTRICT="test" # some tests require external files
+
+RDEPEND="png? ( media-libs/libpng:0 )
+ mad? ( media-libs/libmad )
+ flac? ( media-libs/flac )
+ vorbis? ( media-libs/libvorbis )
+ iconv? ( virtual/libiconv media-libs/freetype:2 )
+ sys-libs/zlib
+ >=dev-libs/boost-1.32
+ x11-libs/wxGTK:2.8"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+src_prepare() {
+ rm -rf *.bat dists/win32
+ sed -ri -e '/^(CC|CXX)\b/d' Makefile || die
+ epatch "${FILESDIR}/${P}-binprefix.patch"
+}
+
+src_configure() {
+ # Not an autoconf script
+ ./configure \
+ --enable-verbose-build \
+ --mandir=/usr/share/man \
+ --prefix="${GAMES_PREFIX}" \
+ --libdir="${GAMES_PREFIX}/lib" \
+ --datadir="${GAMES_DATADIR}" \
+ $(use_enable flac) \
+ $(use_enable iconv) \
+ $(use_enable iconv freetype) \
+ $(use_enable mad) \
+ $(use_enable png) \
+ $(use_enable vorbis) || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" EXEPREFIX="${PN}-" install
+ dodoc README TODO
+ prepgamesdirs
+}
diff --git a/games-engines/scummvm/Manifest b/games-engines/scummvm/Manifest
new file mode 100644
index 00000000000..c25de0bc3a7
--- /dev/null
+++ b/games-engines/scummvm/Manifest
@@ -0,0 +1 @@
+DIST scummvm-1.7.0.tar.bz2 20018016 SHA256 d9ff0e8cf911afa466d5456d28fef692a17d47ddecfd428bf2fef591237c2e66 SHA512 0133feb2df58461fb0e42b1e84cfb309bd964dad239f7ca0c7529edd4f4716895a45491e31597ec6f6d17361b0ce8f73c317399db07a1249b2ab570e4829000e WHIRLPOOL 077eb74cf46dfb15eaa2d473b627d953bc8e13bd0ae87a4fdc16282e468cf237bd9173b761cc9f89b9d6a13ce76db40aa67d5092e2e77eba2a0c6dab097b0fb4
diff --git a/games-engines/scummvm/metadata.xml b/games-engines/scummvm/metadata.xml
new file mode 100644
index 00000000000..f61ea7f15ce
--- /dev/null
+++ b/games-engines/scummvm/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>
+ <use>
+ <flag name="fluidsynth">compile with support for fluidsynth</flag>
+ <flag name="mpeg2">enable mpeg2 codec for cutscenes</flag>
+ <flag name="unsupported">enable unsupported and/or broken game engines (you're on your own)</flag>
+ </use>
+ <upstream>
+ <remote-id type="sourceforge">scummvm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/scummvm/scummvm-1.7.0-r2.ebuild b/games-engines/scummvm/scummvm-1.7.0-r2.ebuild
new file mode 100644
index 00000000000..dfa2bc89ba8
--- /dev/null
+++ b/games-engines/scummvm/scummvm-1.7.0-r2.ebuild
@@ -0,0 +1,110 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit eutils flag-o-matic gnome2-utils toolchain-funcs games
+
+DESCRIPTION="Reimplementation of the SCUMM game engine used in Lucasarts adventures"
+HOMEPAGE="http://scummvm.sourceforge.net/"
+SRC_URI="mirror://sourceforge/scummvm/${P/_/}.tar.bz2"
+
+LICENSE="GPL-2 LGPL-2.1 BSD GPL-3-with-font-exception"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86 ~x86-fbsd"
+IUSE="aac alsa debug flac fluidsynth jpeg mpeg2 mp3 opengl png theora truetype unsupported vorbis zlib"
+RESTRICT="test" # it only looks like there's a test there #77507
+
+RDEPEND=">=media-libs/libsdl-1.2.2[sound,joystick,video]
+ zlib? ( sys-libs/zlib )
+ jpeg? ( virtual/jpeg:0 )
+ png? ( media-libs/libpng:0 )
+ vorbis? ( media-libs/libogg media-libs/libvorbis )
+ theora? ( media-libs/libtheora )
+ aac? ( media-libs/faad2 )
+ alsa? ( media-libs/alsa-lib )
+ mp3? ( media-libs/libmad )
+ mpeg2? ( media-libs/libmpeg2 )
+ flac? ( media-libs/flac )
+ opengl? ( virtual/opengl )
+ truetype? ( media-libs/freetype:2 )
+ fluidsynth? ( media-sound/fluidsynth )"
+DEPEND="${RDEPEND}
+ x86? ( dev-lang/nasm )"
+
+S=${WORKDIR}/${P/_/}
+
+src_prepare() {
+ # -g isn't needed for nasm here
+ sed -i \
+ -e '/NASMFLAGS/ s/-g//' \
+ configure || die
+ sed -i \
+ -e '/INSTALL.*doc/d' \
+ -e '/INSTALL.*\/pixmaps/d' \
+ -e 's/-s //' \
+ ports.mk || die
+}
+
+src_configure() {
+ local myconf
+
+ # bug #137547
+ use fluidsynth || myconf="${myconf} --disable-fluidsynth"
+
+ use x86 && append-ldflags -Wl,-z,noexecstack
+
+ # NOT AN AUTOCONF SCRIPT SO DONT CALL ECONF
+ ./configure \
+ --backend=sdl \
+ --host=$CHOST \
+ --enable-verbose-build \
+ --prefix=/usr \
+ --bindir="${GAMES_BINDIR}" \
+ --datadir="${GAMES_DATADIR}"/${PN} \
+ --libdir="${GAMES_LIBDIR}" \
+ --enable-zlib \
+ $(use_enable debug) \
+ $(use_enable !debug release-mode) \
+ $(use_enable zlib) \
+ $(use_enable aac faad) \
+ $(use_enable alsa) \
+ $(use_enable jpeg) \
+ $(use_enable png) \
+ $(use_enable mp3 mad) \
+ $(use_enable mpeg2) \
+ $(use_enable flac) \
+ $(use_enable opengl) \
+ $(use_enable vorbis) \
+ $(use_enable theora theoradec) \
+ $(use_enable truetype freetype2) \
+ $(use_enable x86 nasm) \
+ $(use unsupported && echo --enable-all-engines) \
+ ${myconf} ${EXTRA_ECONF} || die
+}
+
+src_compile() {
+ emake AR="$(tc-getAR) cru" RANLIB=$(tc-getRANLIB)
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+ dodoc AUTHORS NEWS README TODO
+ doicon -s scalable icons/scummvm.svg
+ make_desktop_entry scummvm ScummVM scummvm "Game;AdventureGame"
+ prepgamesdirs
+}
+
+pkg_preinst() {
+ games_pkg_preinst
+ gnome2_icon_savelist
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+ gnome2_icon_cache_update
+}
+
+pkg_postrm() {
+ gnome2_icon_cache_update
+}
diff --git a/games-engines/solarus/Manifest b/games-engines/solarus/Manifest
new file mode 100644
index 00000000000..9d4d755ea4b
--- /dev/null
+++ b/games-engines/solarus/Manifest
@@ -0,0 +1 @@
+DIST solarus-1.3.1-src.tar.gz 2450599 SHA256 bfdbd909b817722985393869b1e8c18f18081fd0c68b4c3189c50ef0bbc8f55c SHA512 f52a46add1432a98931db8d26496371b5ff843151c8ac0fdaf1e774be37399d9be6c401f263a65aa08b96f3eebda367b4ccb07ef6cb9740b3112b01e4763556b WHIRLPOOL 67b92a03d2d0a69376f63b9aae3367b97d7d34d40ce3e14d835c34333dc0ec9600bb6ff39f19f31b2861f0b3f790bdb2234bbd7df4b04cca443bb2695a7bcdf6
diff --git a/games-engines/solarus/metadata.xml b/games-engines/solarus/metadata.xml
new file mode 100644
index 00000000000..302d78c256a
--- /dev/null
+++ b/games-engines/solarus/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <use>
+ <flag name='doc'>Install doxygen developer documentation.</flag>
+ <flag name='luajit'>Use LuaJIT instead of default Lua.</flag>
+ </use>
+ <upstream>
+ <remote-id type='github'>christopho/solarus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/solarus/solarus-1.3.1.ebuild b/games-engines/solarus/solarus-1.3.1.ebuild
new file mode 100644
index 00000000000..74f5379af9b
--- /dev/null
+++ b/games-engines/solarus/solarus-1.3.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils games
+
+DESCRIPTION="An open-source Zelda-like 2D game engine"
+HOMEPAGE="http://www.solarus-games.org/"
+SRC_URI="http://www.zelda-solarus.com/downloads/${PN}/${P}-src.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc luajit"
+
+RDEPEND="
+ dev-games/physfs
+ media-libs/libmodplug
+ >=media-libs/libsdl2-2.0.1[X,joystick,video]
+ media-libs/libvorbis
+ media-libs/openal
+ media-libs/sdl2-image[png]
+ >=media-libs/sdl2-ttf-2.0.12
+ luajit? ( dev-lang/luajit:2 )
+ !luajit? ( dev-lang/lua:0 )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )"
+
+src_prepare() {
+ cmake-utils_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DSOLARUS_INSTALL_DESTINATION="${GAMES_BINDIR}"
+ $(cmake-utils_use luajit SOLARUS_USE_LUAJIT)
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ if use doc ; then
+ cd doc || die
+ doxygen || die
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+ doman solarus.6
+ use doc && dohtml -r doc/${PV%.*}/html/*
+ prepgamesdirs
+}
diff --git a/games-engines/stratagus/Manifest b/games-engines/stratagus/Manifest
new file mode 100644
index 00000000000..bf863345ef7
--- /dev/null
+++ b/games-engines/stratagus/Manifest
@@ -0,0 +1 @@
+DIST stratagus_2.2.7.orig.tar.gz 939967 SHA256 9bdaf207623b60a5e98451128bb7fb649e00ce4aba507320bde63e60f93e8c9f SHA512 965d7b87db209c03fbdb73bbc4a7a660e1de3073638ddb1883d62bd3f837c5785e130e5328cd704cb2859be5e49b1f5f09cadee42a1b202213f24859bf6dc10e WHIRLPOOL 55c975e75d2838fc3cc553f35a42ac5763243bd4c4970df713cc8f762a3aeb24ed23e291ecba5f948b24c1f6bbb4613706a80770d9baed1847cbb4cfcb4869f4
diff --git a/games-engines/stratagus/files/stratagus-2.2.7-debug.patch b/games-engines/stratagus/files/stratagus-2.2.7-debug.patch
new file mode 100644
index 00000000000..41817865c57
--- /dev/null
+++ b/games-engines/stratagus/files/stratagus-2.2.7-debug.patch
@@ -0,0 +1,19 @@
+From: Julian Ospald <hasufell@gentoo.org>
+Date: Thu Oct 18 14:31:37 UTC 2012
+Subject: build-system
+
+do not rename the target if debug is enabled
+
+--- stratagus_2.2.7.orig/CMakeLists.txt
++++ stratagus_2.2.7.orig/CMakeLists.txt
+@@ -911,10 +911,6 @@
+ add_executable(stratagus WIN32 ${stratagus_SRCS} ${stratagus_HDRS})
+ target_link_libraries(stratagus ${stratagus_LIBS})
+
+-if(CMAKE_BUILD_TYPE STREQUAL "Debug")
+- set_target_properties(stratagus PROPERTIES OUTPUT_NAME stratagus-dbg)
+-endif()
+-
+ if(WIN32 AND MINGW AND ENABLE_STATIC)
+ set_target_properties(stratagus PROPERTIES LINK_FLAGS "${LINK_FLAGS} -static-libgcc -static-libstdc++ -Wl,--stack,10485760")
+ endif()
diff --git a/games-engines/stratagus/files/stratagus-2.2.7-doc.patch b/games-engines/stratagus/files/stratagus-2.2.7-doc.patch
new file mode 100644
index 00000000000..1605b81411f
--- /dev/null
+++ b/games-engines/stratagus/files/stratagus-2.2.7-doc.patch
@@ -0,0 +1,11 @@
+--- stratagus_2.2.7.orig/CMakeLists.txt
++++ stratagus_2.2.7.orig/CMakeLists.txt
+@@ -1050,7 +1050,7 @@
+ doc/media.html
+ doc/metaserver_protocol.txt
+ doc/README-SDL.txt
+- DESTINATION share/doc/stratagus
++ DESTINATION ${DOCDIR}
+ )
+ install(DIRECTORY doc/graphics doc/scripts ${CMAKE_CURRENT_BINARY_DIR}/doxygen DESTINATION ${DOCDIR})
+ endif(ENABLE_DOC AND DOXYGEN_FOUND)
diff --git a/games-engines/stratagus/metadata.xml b/games-engines/stratagus/metadata.xml
new file mode 100644
index 00000000000..9acbc05cff0
--- /dev/null
+++ b/games-engines/stratagus/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="launchpad">stratagus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-engines/stratagus/stratagus-2.2.7.ebuild b/games-engines/stratagus/stratagus-2.2.7.ebuild
new file mode 100644
index 00000000000..0b5caebdbf8
--- /dev/null
+++ b/games-engines/stratagus/stratagus-2.2.7.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit cmake-utils eutils games
+
+DESCRIPTION="A realtime strategy game engine"
+HOMEPAGE="http://stratagus.sourceforge.net/"
+SRC_URI="http://launchpad.net/stratagus/trunk/${PV}/+download/stratagus_${PV}.orig.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="bzip2 debug doc mikmod mng theora vorbis"
+
+RDEPEND="dev-db/sqlite:3
+ >=dev-lang/lua-5:0
+ dev-lua/toluapp
+ media-libs/libpng:0
+ virtual/opengl
+ x11-libs/libX11
+ media-libs/libsdl[sound,opengl,video]
+ sys-libs/zlib
+ bzip2? ( app-arch/bzip2 )
+ mikmod? ( media-libs/libmikmod )
+ mng? ( media-libs/libmng )
+ vorbis? (
+ media-libs/libogg
+ media-libs/libvorbis
+ theora? ( media-libs/libtheora )
+ )"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig"
+
+REQUIRED_USE="theora? ( vorbis )"
+
+S=${WORKDIR}/${PN}_${PV}.orig
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-{debug,doc}.patch
+}
+
+src_configure() {
+ # there are in-source switches
+ use debug && CMAKE_BUILD_TYPE=Debug
+
+ local mycmakeargs=(
+ -DGAMEDIR="${GAMES_BINDIR}"
+ -DBINDIR="${GAMES_BINDIR}"
+ -DSBINDIR="${GAMES_BINDIR}"
+ -DDOCDIR="/usr/share/doc/${PF}"
+ $(cmake-utils_use_with bzip2 BZIP2)
+ $(cmake-utils_use_enable doc DOC)
+ $(cmake-utils_use_with mikmod MIKMOD)
+ $(cmake-utils_use_with mng MNG)
+ $(cmake-utils_use_with vorbis OGGVORBIS)
+ $(cmake-utils_use_with theora THEORA)
+ -DENABLE_DEV=ON
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+}
+
+src_install() {
+ cmake-utils_src_install
+ prepgamesdirs
+}
diff --git a/games-engines/xzip/Manifest b/games-engines/xzip/Manifest
new file mode 100644
index 00000000000..8b4d8b686b0
--- /dev/null
+++ b/games-engines/xzip/Manifest
@@ -0,0 +1 @@
+DIST xzip182.tar.Z 136032 SHA256 46d2cee7bbabce7068034c75df49ec4a03165fcc07490d406c7e33152269ffb2 SHA512 b86099424ff35abd90737461e3d29d515d909b41c6a5411971fedb28f1f3284b13ea972380349f8c44fd39779c34258a99c5a9c0fb6a81e2bf919e9c38107bbd WHIRLPOOL fabcd5ea5cd9a21175a4e2833be8e60e4052cc3b96896616b25965dc3e4904e0fdb362205100f0217d92de68624e8ee3b43ccf3f509c7bb441b467c5339d6ff4
diff --git a/games-engines/xzip/metadata.xml b/games-engines/xzip/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-engines/xzip/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-engines/xzip/xzip-1.8.2-r2.ebuild b/games-engines/xzip/xzip-1.8.2-r2.ebuild
new file mode 100644
index 00000000000..9a08da45703
--- /dev/null
+++ b/games-engines/xzip/xzip-1.8.2-r2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit games
+
+DESCRIPTION="X interface to Z-code based text games"
+HOMEPAGE="http://www.eblong.com/zarf/xzip.html"
+SRC_URI="http://www.eblong.com/zarf/ftp/xzip182.tar.Z"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+RESTRICT="test"
+
+DEPEND="x11-libs/libX11"
+RDEPEND=${DEPEND}
+
+S=${WORKDIR}/xzip
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS} -DAUTO_END_MODE" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dogamesbin xzip
+ dodoc README
+ doman xzip.1
+ prepgamesdirs
+}
diff --git a/games-engines/zoom/Manifest b/games-engines/zoom/Manifest
new file mode 100644
index 00000000000..dc7b94f2d62
--- /dev/null
+++ b/games-engines/zoom/Manifest
@@ -0,0 +1 @@
+DIST zoom-1.1.5.tar.gz 2185098 SHA256 f2967f1c0555df8d4ae90443502d14cf33b6ac65b602f499fbe3e9e38e55dbbc SHA512 800b29e3517ce39000d8c05148d6af0d7c8666db20a06867e35076ffa1914b845e8fa0153571975e59842672572b80826ee8dbe3b2d4bc98c07394054e9bd7ca WHIRLPOOL efe20c16d98874241c421197093819e8929b1a11c11ca6eb6c0ba14966ad062b9489d2e5b793f8ceeef687e9a4cca0af83c4bbeb46ca32aea6f8e1b7c9bb82bd
diff --git a/games-engines/zoom/metadata.xml b/games-engines/zoom/metadata.xml
new file mode 100644
index 00000000000..d3c2cc926f0
--- /dev/null
+++ b/games-engines/zoom/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>games</herd>
+</pkgmetadata>
diff --git a/games-engines/zoom/zoom-1.1.5.ebuild b/games-engines/zoom/zoom-1.1.5.ebuild
new file mode 100644
index 00000000000..498fe46e66d
--- /dev/null
+++ b/games-engines/zoom/zoom-1.1.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit games
+
+DESCRIPTION="A fast, clean, modern Z-code interpreter for X"
+HOMEPAGE="http://www.logicalshift.co.uk/unix/zoom/"
+SRC_URI="http://www.logicalshift.co.uk/unix/zoom/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ppc x86"
+IUSE=""
+
+RDEPEND="x11-libs/libSM
+ x11-libs/libXft
+ media-libs/fontconfig
+ >=media-libs/t1lib-5
+ media-libs/libpng:0"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ x11-proto/xextproto"
+
+src_install() {
+ default
+ dohtml -r manual/*
+ prepgamesdirs
+}