diff options
author | 2008-06-10 00:05:11 -0400 | |
---|---|---|
committer | 2008-06-10 00:05:11 -0400 | |
commit | 6d14cc523c32187d251d316aec63915049c8c263 (patch) | |
tree | 588544892ca0d39e793fb691e41cfc1f85afab00 /games-emulation | |
parent | Add alpha sun-jdk-1.7 ebuild. (diff) | |
download | eatnumber1-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.patch | 21 | ||||
-rw-r--r-- | games-emulation/pcsx2/files/pcsx2-custom-cflags.patch | 34 | ||||
-rw-r--r-- | games-emulation/pcsx2/files/pcsx2-plugin-inis.patch | 15 | ||||
-rw-r--r-- | games-emulation/pcsx2/pcsx2-9999.ebuild | 142 |
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." +} |