summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root@howl.(none)>2008-06-10 00:05:11 -0400
committerroot <root@howl.(none)>2008-06-10 00:05:11 -0400
commit6d14cc523c32187d251d316aec63915049c8c263 (patch)
tree588544892ca0d39e793fb691e41cfc1f85afab00 /games-emulation
parentAdd alpha sun-jdk-1.7 ebuild. (diff)
downloadeatnumber1-6d14cc523c32187d251d316aec63915049c8c263.tar.gz
eatnumber1-6d14cc523c32187d251d316aec63915049c8c263.tar.bz2
eatnumber1-6d14cc523c32187d251d316aec63915049c8c263.zip
Created a pcsx2 subversion ebuild.
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/pcsx2/files/pcsx2-add-nls.patch21
-rw-r--r--games-emulation/pcsx2/files/pcsx2-custom-cflags.patch34
-rw-r--r--games-emulation/pcsx2/files/pcsx2-plugin-inis.patch15
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild142
4 files changed, 212 insertions, 0 deletions
diff --git a/games-emulation/pcsx2/files/pcsx2-add-nls.patch b/games-emulation/pcsx2/files/pcsx2-add-nls.patch
new file mode 100644
index 0000000..7add9fa
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-add-nls.patch
@@ -0,0 +1,21 @@
+--- configure.ac.old 2008-02-23 22:42:48.751259786 +0000
++++ configure.ac 2008-02-23 22:44:38.140260060 +0000
+@@ -107,7 +107,12 @@
+ AC_CHECK_LIB(stdc++,main,[LIBS="$LIBS -lstdc++"])
+ AC_CHECK_LIB(z,main,[LIBS="$LIBS -lz"])
+
+-AC_CHECK_HEADER([libintl.h], [AC_DEFINE(ENABLE_NLS,1,[__x86_64__])])
++AC_ARG_ENABLE(nls, AC_HELP_STRING([--disable-nls], [Disable nls support]),
++ nls=$enableval,nls=yes)
++if test "x$nls" == xyes
++then
++ AC_CHECK_HEADER([libintl.h], [AC_DEFINE(ENABLE_NLS,1,[__x86_64__])])
++fi
+
+ AC_OUTPUT([
+ Makefile
+@@ -132,3 +137,4 @@
+ echo " Force sse3? $sse3"
+ echo " Recompilers enabled? $recbuild"
+ echo " Virtual memory build? $vmbuild"
++echo " nls support? $nls"
diff --git a/games-emulation/pcsx2/files/pcsx2-custom-cflags.patch b/games-emulation/pcsx2/files/pcsx2-custom-cflags.patch
new file mode 100644
index 0000000..7bc8df3
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-custom-cflags.patch
@@ -0,0 +1,34 @@
+--- configure.ac.old 2008-03-02 14:49:49.564590000 +0000
++++ configure.ac 2008-03-02 14:52:53.589590315 +0000
+@@ -11,10 +11,9 @@
+ dnl necessary for compiling assembly
+ AM_PROG_AS
+
+-CFLAGS=
+-CPPFLAGS=
+-CXXFLAGS=
+-CCASFLAGS=
++CFLAGS="-O1 -finline-functions ${CFLAGS}"
++CXXFLAGS="-O1 -finline-functions ${CXXFLAGS}"
++CCASFLAGS="-O1 -finline-functions ${CCASFLAGS}"
+
+ dnl Check for debug build
+ AC_MSG_CHECKING(debug build)
+@@ -23,16 +22,10 @@
+ if test "x$debug" == xyes
+ then
+ AC_DEFINE(_DEBUG,1,[_DEBUG])
+- CFLAGS+=" -g "
+- CPPFLAGS+=" -g "
+- CXXFLAGS+=" -g "
+- CCASFLAGS+=" -D_DEBUG -g "
++ CCASFLAGS+=" -D_DEBUG "
+ MYOBJDIR="Debug"
+ else
+ AC_DEFINE(NDEBUG,1,[NDEBUG])
+- CFLAGS+=" -O3 -fomit-frame-pointer "
+- CPPFLAGS+=" -O3 -fomit-frame-pointer "
+- CXXFLAGS+=" -O3 -fomit-frame-pointer "
+ MYOBJDIR="Release"
+ fi
+ AC_MSG_RESULT($debug)
diff --git a/games-emulation/pcsx2/files/pcsx2-plugin-inis.patch b/games-emulation/pcsx2/files/pcsx2-plugin-inis.patch
new file mode 100644
index 0000000..93d3155
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-plugin-inis.patch
@@ -0,0 +1,15 @@
+--- Linux.old/GtkGui.c 2007-11-19 07:21:55.000000000 +0000
++++ Linux/GtkGui.c 2008-02-25 11:57:37.167773962 +0000
+@@ -723,12 +723,9 @@
+ strcpy(file, Config.PluginsDir); \
+ strcat(file, plugin); \
+ drv = SysLoadLibrary(file); \
+- getcwd(file, ARRAYSIZE(file)); /* store current dir */ \
+- chdir(Config.PluginsDir); /* change dirs so that plugins can find their config file*/ \
+ if (drv == NULL) return; \
+ conf = (src) SysLoadSym(drv, name); \
+ if (SysLibError() == NULL) conf(); \
+- chdir(file); /* change back*/ \
+ SysCloseLibrary(drv);
+
+ #define TestPlugin(src, confs, plugin, name) \
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
new file mode 100644
index 0000000..3a28c63
--- /dev/null
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+ESVN_REPO_URI="https://pcsx2.svn.sourceforge.net/svnroot/${PN}/${PN}"
+inherit games autotools eutils flag-o-matic subversion
+
+DESCRIPTION="PlayStation2 emulator"
+HOMEPAGE="http://www.pcsx2.net/"
+SVN_PCSX2_BINDIR="https://pcsx2.svn.sourceforge.net/svnroot/${PN}/bin"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+IUSE="alsa debug devbuild nls oss vmbuild"
+
+CDEPEND="sys-libs/zlib
+ >=x11-libs/gtk+-2"
+
+DEPEND="${CDEPEND}
+ x11-proto/xproto"
+
+RDEPEND="${CDEPEND}
+ games-emulation/ps2emu-zerogs
+ games-emulation/ps2emu-zeropad
+ games-emulation/ps2emu-cdvdnull
+ games-emulation/ps2emu-dev9null
+ games-emulation/ps2emu-spu2null
+ games-emulation/ps2emu-fwnull
+ >=games-emulation/ps2emu-usbnull-0.4-r1
+ alsa? ( games-emulation/ps2emu-peopsspu2 )
+ oss? ( games-emulation/ps2emu-peopsspu2 )"
+
+LANGS="ar bg cz de du el es fr hb it ja pe pl po po_BR ro ru sh sw tc tr"
+
+for i in ${LANGS}; do
+ IUSE="${IUSE} linguas_${i}"
+done
+
+S="${WORKDIR}/${P}/${PN}"
+
+pkg_setup() {
+ local x
+
+ if ! use nls; then
+ for x in ${LANGS}; do
+ if [ -n "$(usev linguas_${x})" ]; then
+ eerror "Any language other than English is not supported with USE=\"-nls\""
+ die "Language ${x} not supported with USE=\"-nls\""
+ fi
+ done
+ fi
+
+ if use vmbuild; then
+ ewarn "Warning: Compilation is known to fail with the vmbuild use flag"
+ ewarn "enabled. The recommended use flags are USE=\"sse2 -vmbuild\"."
+ ewarn "Do not file a bug unless you are using the above USE flags."
+ ewarn "If you can get it to compile however, please file a bug or "
+ ewarn "contact me at eatnumber1@gmail.com. (i'll give you a cookie)"
+ ebeep 5
+ fi
+}
+
+src_unpack() {
+ subversion_src_unpack
+ subversion_fetch ${SVN_PCSX2_BINDIR} "../bin"
+ cd "${S}"
+
+ # Preserve custom CFLAGS passed to configure.
+ epatch "${FILESDIR}"/${PN}-custom-cflags.patch
+
+ # Add nls support to the configure script.
+ epatch "${FILESDIR}"/${PN}-add-nls.patch
+
+ # Allow plugin inis to be stored in ~/.pcsx2/inis.
+ epatch "${FILESDIR}"/${PN}-plugin-inis.patch
+
+ epatch "${FILESDIR}"/${PN}-gcc43.patch
+
+ eautoreconf -v --install || die
+}
+
+src_compile() {
+ local myconf
+ filter-flags -O0
+
+ if ! use x86 && ! use amd64; then
+ einfo "Recompiler not supported on this architecture. Disabling."
+ myconf=" --disable-recbuild"
+ fi
+
+ egamesconf \
+ $(use_enable devbuild) \
+ $(use_enable debug) \
+ $(use_enable nls) \
+ $(use_enable vmbuild) \
+ ${myconf} \
+ || die
+
+ emake || die
+}
+
+src_install() {
+ local x
+
+ keepdir "$(games_get_libdir)/ps2emu/plugins"
+ dodoc Docs/*.txt || die "dodoc failed"
+ newgamesbin Linux/${PN} ${PN}.bin || die
+
+ sed \
+ -e "s:%GAMES_BINDIR%:${GAMES_BINDIR}:" \
+ -e "s:%GAMES_DATADIR%:${GAMES_DATADIR}:" \
+ -e "s:%GAMES_LIBDIR%:$(games_get_libdir):" \
+ "${FILESDIR}/${PN}" > "${D}${GAMES_BINDIR}/${PN}" || die
+
+ cd ../bin
+ dohtml -r compat_list/* || die
+ insinto "${GAMES_DATADIR}/${PN}"
+ doins -r *.xml .pixmaps patches || die
+ insinto "${GAMES_DATADIR}/${PN}/Langs"
+
+ for x in ${LANGS}; do
+ if use linguas_${x}; then
+ [[ "${x/_/}" == "${x}" ]] && x=${x}_$(echo ${x} | tr 'a-z' 'A-Z')
+ doins -r Langs/${x} || die "doins for language ${x} failed"
+ fi
+ done
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ if ! use devbuild; then
+ ewarn "If this package exhibits random crashes, recompile ${PN}"
+ ewarn "with the devbuild use flag enabled. If that fixes it, file a bug."
+ echo
+ fi
+
+ elog "Please note that this ebuild does not install all the available plugins."
+ elog "You will need to install other ps2emu plugins in order for the emulator"
+ elog "to be usable."
+}