summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation/m64py/m64py-0.2.1.ebuild')
-rw-r--r--games-emulation/m64py/m64py-0.2.1.ebuild74
1 files changed, 74 insertions, 0 deletions
diff --git a/games-emulation/m64py/m64py-0.2.1.ebuild b/games-emulation/m64py/m64py-0.2.1.ebuild
new file mode 100644
index 000000000000..38ffbbff3e05
--- /dev/null
+++ b/games-emulation/m64py/m64py-0.2.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit distutils-r1 games
+
+DESCRIPTION="A frontend for Mupen64Plus"
+HOMEPAGE="http://m64py.sourceforge.net/"
+SRC_URI="mirror://sourceforge/m64py/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3 public-domain GPL-2 BSD CC-BY-SA-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+# SDL & libmupen64plus are through ctypes, so they rely on specific ABI
+RDEPEND="media-libs/libsdl:0/0[joystick]
+ dev-python/PyQt4[opengl,${PYTHON_USEDEP}]
+ games-emulation/mupen64plus-core:0/2"
+
+python_prepare_all() {
+ # set the correct search path
+ cat >> src/m64py/platform.py <<-_EOF_
+ SEARCH_DIRS = ["$(games_get_libdir)/mupen64plus"]
+_EOF_
+
+ # comment out SDL2 support since our mupen64plus uses SDL1
+ sed -e '/from m64py\.SDL2/s:^:#:' \
+ -e '/QT2SDL2\[/s:^:#:' \
+ -e '/KEYCODE2SCANCODE\[/s:^:#:' \
+ -e '/SCANCODE2KEYCODE\[/s:^:#:' \
+ -i src/m64py/frontend/keymap.py || die
+ sed -e '/--sdl2/d' \
+ -e '/SDL2/s:=.*$:= False:' \
+ -i src/m64py/opts.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install \
+ --install-scripts="${GAMES_BINDIR}"
+}
+
+# games.eclass ABSOLUTELY MUST come last, so we need to clean up the mess
+src_prepare() { distutils-r1_src_prepare; }
+src_configure() { distutils-r1_src_configure; }
+src_compile() { distutils-r1_src_compile; }
+src_test() { distutils-r1_src_test; }
+
+src_install() {
+ distutils-r1_src_install
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if ! type -P rar >/dev/null && ! type -P unrar >/dev/null; then
+ elog
+ elog "In order to gain RAR archive support, please install either app-arch/rar"
+ elog "or app-arch/unrar."
+ fi
+
+ if ! type -P 7z >/dev/null \
+ && ! has_version "dev-python/pylzma[${PYTHON_USEDEP}]"; then
+ elog
+ elog "In order to gain 7z archive support, please install either app-arch/p7zip"
+ elog "or dev-python/pylzma."
+ fi
+}