summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /games-emulation/mupen64plus
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'games-emulation/mupen64plus')
-rw-r--r--games-emulation/mupen64plus/Manifest3
-rw-r--r--games-emulation/mupen64plus/files/README.gentoo-patches-2009112355
-rw-r--r--games-emulation/mupen64plus/files/README.gentoo-patches-2010050759
-rw-r--r--games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch27
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch11
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch34
-rw-r--r--games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch35
-rw-r--r--games-emulation/mupen64plus/metadata.xml28
-rw-r--r--games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild130
-rw-r--r--games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild138
-rw-r--r--games-emulation/mupen64plus/mupen64plus-2.0.ebuild23
11 files changed, 543 insertions, 0 deletions
diff --git a/games-emulation/mupen64plus/Manifest b/games-emulation/mupen64plus/Manifest
new file mode 100644
index 000000000000..bf3a3996592c
--- /dev/null
+++ b/games-emulation/mupen64plus/Manifest
@@ -0,0 +1,3 @@
+DIST Mupen64Plus-1-5-src.tar.gz 2348443 SHA256 58b2da6095ed8f3bcdcb5d7612bb0f1ba81cda1861ca784ef7e46991fd73cf3f SHA512 548be341e69eee543288a0a347ee117341847a032cc0a668a75ab7aaa881e876b6d143d2da9f8ec7580e4b1bbd2b36a3c8f99a0cb8c2301e4b03b593cdee5eb4 WHIRLPOOL fe5e63f07cc50676ef796a96d19e51eef38744f40e1626fd59471a65e530ac78109253ceb4f25cb9df2b4d33f4eecd47be1b9c7fa1a5d7a2304b98bdab0ef137
+DIST mupen64plus-1.5-patches-20091123.tar.bz2 25579 SHA256 b4bebb8105d7ca083b1e3d96d23dea9f2170703d53b0ea75e09b428e73e43187 SHA512 1fccfaed0d0a6d4bc3382a21b1529a173faa4fc718fd4dc6d94a850f5ad3788103041a202774c09f6db9a409b4de256a8b4a746f58860f13c8f69cc6243a9c3f WHIRLPOOL 5ed3fa14eb8a9c0b4fad71d70495125ebfe2313d23edf6155b7056fe9b583ceaeb860cf6b6df574caca315db54af786fda66871621bc1547f929f8f6e6161193
+DIST mupen64plus-1.5-patches-20100507.tar.bz2 33484 SHA256 372e437ab9d53eda23fd63cede33be38114efe527f239ef41b0c904fe208e2ce SHA512 f0265cbcc2e60bac906611a74bb7f5ea94a625d3abeee127fa105a308e9388258e2854ad91256fe14343f9b8837dfe43cb4eca16176a375f07c1259729045213 WHIRLPOOL c3fa3562bda7bd8a01fbc1644fbc7caa511bffec0efde7da479e40066bb8e31952bf98c718ab96b12211429835c458a9ab94c8fe8da540c301c83806e3bb1af1
diff --git a/games-emulation/mupen64plus/files/README.gentoo-patches-20091123 b/games-emulation/mupen64plus/files/README.gentoo-patches-20091123
new file mode 100644
index 000000000000..96994d798b7a
--- /dev/null
+++ b/games-emulation/mupen64plus/files/README.gentoo-patches-20091123
@@ -0,0 +1,55 @@
+All patches below 500 are from the Debian git repository (Nov 23 12:35 CET 2009):
+
+http://git.debian.org/?p=collab-maint/mupen64plus.git;a=tree;f=debian/patches;hb=master
+
+Patches included:
+=================
+
+fix-desktop-file.patch
+destdir.patch
+dejavu-font.patch
+as-needed.patch
+system-libpng.patch
+system-zlib.patch
+system-libbz2.patch
+remove-gln64.patch
+remove-nondfsg-icons.patch
+glide64-noasm.patch
+rice-texturepack-crash.patch
+rice-screenflickering.patch
+static-binutils-libs.patch
+fix-7z-subfolder.patch
+ftbfs-dynarec.patch
+ftbfs-kfreebsd.patch
+ftbfs-debugger.patch
+debian-archs.patch
+ftbfs-glibc210.patch
+version-string.patch
+default-optimisations.patch
+gtk-open-filter.patch
+noexecstack.patch
+fix_readpng.patch
+jttl_fix_romclosed.patch
+rice_nodebug.patch
+interpreter_x86_fldcw.patch
+correct_fpr32_mapping.patch
+load_aidacrate.patch
+load_vistatus.patch
+fix_r0_override.patch
+resume_on_start.patch
+osd-pause-crash.patch
+system-liblzma.patch
+- system-liblzma got changed to work without the droped xdg-basedir.patch
+
+Patches excluded:
+=================
+
+plugin-searchpath.patch
+xdg-basedir.patch
+- Because Gentoo uses different locations like /usr/games/lib(64) and /usr/share/games.
+ The usage of xdg patch location standards would ne nice though.
+
+A big thanks to all the authors of the patches.
+
+Have fun
+Christian Birchinger <joker@gentoo.org>
diff --git a/games-emulation/mupen64plus/files/README.gentoo-patches-20100507 b/games-emulation/mupen64plus/files/README.gentoo-patches-20100507
new file mode 100644
index 000000000000..e6b857a07d48
--- /dev/null
+++ b/games-emulation/mupen64plus/files/README.gentoo-patches-20100507
@@ -0,0 +1,59 @@
+All patches below 500 are from the Debian git repository (May 07 2010):
+
+http://git.debian.org/?p=collab-maint/mupen64plus.git;a=tree;f=debian/patches;hb=master
+
+Patches included:
+=================
+
+fix-desktop-file.patch
+destdir.patch
+- dejavu-font.patch adjusted the font path to the font location on Gentoo systems
+as-needed.patch
+system-libpng.patch
+system-zlib.patch
+system-libbz2.patch
+remove-gln64.patch
+remove-nondfsg-icons.patch
+glide64-noasm.patch
+rice-texturepack-crash.patch
+rice-screenflickering.patch
+static-binutils-libs.patch
+fix-7z-subfolder.patch
+ftbfs-dynarec.patch
+ftbfs-kfreebsd.patch
+ftbfs-debugger.patch
+debian-archs.patch
+ftbfs-glibc210.patch
+version-string.patch
+default-optimisations.patch
+gtk-open-filter.patch
+noexecstack.patch
+fix_readpng.patch
+jttl_fix_romclosed.patch
+rice_nodebug.patch
+interpreter_x86_fldcw.patch
+correct_fpr32_mapping.patch
+load_aidacrate.patch
+load_vistatus.patch
+fix_r0_override.patch
+resume_on_start.patch
+osd-pause-crash.patch
+system-liblzma.patch
+ftbfs-gvariant-type-conflicts.path
+rsp_ucode2_reset.patch
+rsp_hle_bigendian.patch
+rice-crash-vendorstring.patch
+- system-liblzma got changed to work without the droped xdg-basedir.patch
+
+Patches excluded:
+=================
+
+plugin-searchpath.patch
+xdg-basedir.patch
+- Because Gentoo uses different locations like /usr/games/lib(64) and /usr/share/games.
+ The usage of xdg patch location standards would ne nice though.
+
+A big thanks to all the authors of the patches.
+
+Have fun
+Christian Birchinger <joker@gentoo.org>
diff --git a/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch b/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch
new file mode 100644
index 000000000000..e76da1707285
--- /dev/null
+++ b/games-emulation/mupen64plus/files/ftbfs-gvariant-type-conflicts.patch
@@ -0,0 +1,27 @@
+Description: Fix FTBFS due to glib gvariant type definitions
+Forwarded: not-needed
+Bug-Debian: http://bugs.debian.org/577329
+Author: Sven Eckelmann <sven.eckelmann@gmx.de>
+
+---
+diff --git a/rice_video/typedefs.h b/rice_video/typedefs.h
+index 4cded542b06445f043fa1fabf77e4d20c9d52920..b7e16e9c4ba3248f9fed9762f79349c137ee2026 100644
+--- a/rice_video/typedefs.h
++++ b/rice_video/typedefs.h
+@@ -20,10 +20,12 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ #ifndef _TYPEDEFS_H_
+ #define _TYPEDEFS_H_
+
+-#define uchar unsigned char
+-#define uint16 unsigned short
+-#define uint32 unsigned int
+-#define uint64 unsigned long long
++#include <stdint.h>
++
++typedef uint8_t uchar;
++typedef uint16_t uint16;
++typedef uint32_t uint32;
++typedef uint64_t uint64;
+
+ typedef unsigned char uint8;
+
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch
new file mode 100644
index 000000000000..2608fcd32a77
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-gcc46.patch
@@ -0,0 +1,11 @@
+--- pre.mk.old 2011-04-14 20:39:21.000000000 +0200
++++ pre.mk 2011-04-14 20:39:57.000000000 +0200
+@@ -319,7 +319,7 @@
+ # tweak flags for 32-bit build on 64-bit system
+ ifeq ($(ARCH), 64BITS_32)
+ CFLAGS += -m32
+- LDFLAGS += -m32 -m elf_i386
++ LDFLAGS += -m32 -Wl,-m,elf_i386
+ endif
+ endif
+ ifeq ($(CPU_ENDIANNESS), BIG)
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch
new file mode 100644
index 000000000000..8d0b447fe96b
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-libpng14.patch
@@ -0,0 +1,34 @@
+http://bugs.gentoo.org/show_bug.cgi?id=308753
+
+--- rice_video/liblinux/pngrw.c
++++ rice_video/liblinux/pngrw.c
+@@ -136,9 +136,9 @@
+ if (end_info != NULL)
+ png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, (png_infop *) &end_info);
+ else if (info_ptr != NULL)
+- png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, png_infopp_NULL);
++ png_destroy_read_struct((png_structp *) &png_ptr, (png_infop *) &info_ptr, NULL);
+ else if (png_ptr != NULL)
+- png_destroy_read_struct((png_structp *) &png_ptr, png_infopp_NULL, png_infopp_NULL);
++ png_destroy_read_struct((png_structp *) &png_ptr, NULL, NULL);
+ if (rows)
+ {
+ if (rows[0])
+@@ -162,7 +162,7 @@
+
+ /* check the signature */
+ fread( signature, 1, 8, file );
+- if ( !png_check_sig( signature, 8 ) )
++ if ( png_sig_cmp( signature, 0, 8 ) )
+ longjmp( err_jmp, (int)errUnsupportedFileFormat );
+
+ /* create a pointer to the png read structure */
+@@ -199,7 +199,7 @@
+
+ /* extract the data we need to form the HBITMAP from the PNG header */
+ png_get_IHDR( png_ptr, info_ptr, &Width, &Height, &BitDepth, &ColorType,
+- &InterlaceType, int_p_NULL, int_p_NULL);
++ &InterlaceType, (int *) NULL, (int *) NULL);
+
+ img->width = Width;
+ img->height = Height;
diff --git a/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch b/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch
new file mode 100644
index 000000000000..9ed3d7a0b256
--- /dev/null
+++ b/games-emulation/mupen64plus/files/mupen64plus-1.5-minizip.patch
@@ -0,0 +1,35 @@
+use minizip from system zlib
+
+https://bugs.gentoo.org/383845
+
+--- a/Makefile
++++ b/Makefile
+@@ -101,8 +101,6 @@
+ main/plugin.o \
+ main/rom.o \
+ main/savestates.o \
+- main/zip/ioapi.o \
+- main/zip/unzip.o \
+ main/7zip/7zAlloc.o \
+ main/7zip/7zBuffer.o \
+ main/7zip/7zCrc.o \
+@@ -229,7 +227,7 @@
+ # set primary objects and libraries for all outputs
+ ALL = mupen64plus $(PLUGINS)
+ OBJECTS = $(OBJ_CORE) $(OBJ_DYNAREC) $(OBJ_OPENGL)
+-LIBS = $(SDL_LIBS) $(LIBGL_LIBS) $(LZMA_LIBS) -lbz2
++LIBS = $(SDL_LIBS) $(LIBGL_LIBS) $(LZMA_LIBS) -lbz2 -lminizip
+ STATIC_LIBS =
+ CFLAGS+= $(LZMA_FLAGS)
+
+--- a/main/rom.c
++++ b/main/rom.c
+@@ -27,7 +27,7 @@
+ #include <limits.h>
+ #include <zlib.h>
+
+-#include "zip/unzip.h"
++#include "minizip/unzip.h"
+ #include <bzlib.h>
+ #include <lzma.h>
+ #include "7zip/7zExtract.h"
diff --git a/games-emulation/mupen64plus/metadata.xml b/games-emulation/mupen64plus/metadata.xml
new file mode 100644
index 000000000000..8d1417ef3b1c
--- /dev/null
+++ b/games-emulation/mupen64plus/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <maintainer>
+ <email>joker@gentoo.org</email>
+ <name>Christian Birchinger</name>
+ </maintainer>
+ <use>
+ <flag name='audio-sdl'>Enable SDL audio plugin.</flag>
+ <flag name='input-sdl'>Enable SDL input plugin.</flag>
+ <flag name='rsp-hle'>Enable HLE RSP plugin.</flag>
+ <flag name='ui-console'>Enable default console UI.</flag>
+ <flag name='ui-m64py'>Enable PyQt4 UI using <pkg>games-emulation/m64py</pkg>.</flag>
+ <flag name='video-glide64mk2'>Enable Glide64mk2 video plugin.</flag>
+ <flag name='video-rice'>Enable Rice video plugin.</flag>
+ </use>
+ <longdescription>Mupen64Plus is a plugin-based N64 emulator for Linux which is capable of accurately playing many games.
+Included are four MIPS R4300 CPU emulators, with dynamic recompilers for 32-bit x86 and 64-bit amd64 systems,
+and necessary plugins for audio, graphical rendering (RDP), signal co-processor (RSP), and input.
+There are 3 OpenGL video plugins included: glN64, RiceVideoLinux, and Glide64.</longdescription>
+ <upstream>
+ <remote-id type="google-code">mupen64plus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild b/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild
new file mode 100644
index 000000000000..8f348ac98236
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-1.5-r1.ebuild
@@ -0,0 +1,130 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils flag-o-matic games
+
+MY_P="Mupen64Plus-${PV/./-}-src"
+
+PATCH_VERSION="20091123"
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator"
+HOMEPAGE="http://code.google.com/p/mupen64plus/"
+SRC_URI="http://mupen64plus.googlecode.com/files/${MY_P}.tar.gz mirror://gentoo/${P}-patches-${PATCH_VERSION}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gtk libsamplerate lirc qt4 cpu_flags_x86_sse"
+
+# GTK+ is currently required by plugins even if no GUI support is enabled
+RDEPEND="virtual/opengl
+ media-libs/freetype:2
+ media-libs/libpng
+ media-libs/libsdl
+ media-libs/sdl-ttf
+ sys-libs/zlib
+ x11-libs/gtk+:2
+ libsamplerate? ( media-libs/libsamplerate )
+ lirc? ( app-misc/lirc )
+ qt4? ( dev-qt/qtgui:4
+ dev-qt/qtcore:4 )
+ app-arch/xz-utils"
+
+DEPEND="${RDEPEND}
+ dev-lang/yasm
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if ! use gtk && ! use qt4; then
+ ewarn "Building ${PN} without any GUI! To get one, enable USE=gtk or USE=qt4."
+ elif use gtk && use qt4; then
+ ewarn "Only one GUI can be built, using GTK+ one."
+ fi
+
+ games_pkg_setup
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ epatch
+
+ epatch "${FILESDIR}"/${P}-libpng14.patch
+
+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=577329
+ epatch "${FILESDIR}"/ftbfs-gvariant-type-conflicts.patch
+
+ sed -i \
+ -e "s:/usr/local/share/mupen64plus:${GAMES_DATADIR}/mupen64plus:" \
+ -e "s:%PUT_PLUGIN_PATH_HERE%:$(games_get_libdir)/${PN}/plugins/:" \
+ main/main.c || die "sed failed"
+
+ # Fix 010_all_fix-desktop-file.patch instead of using sed on the next major bump
+ sed -i \
+ -e "s:^Icon=mupen64plus-large.xpm:Icon=mupen64plus:" \
+ mupen64plus.desktop.in || die "sed failed"
+}
+
+get_opts() {
+ if use amd64 || use x86 ; then
+ echo -n "CPU=X86 ARCH=64BITS$(use x86 && echo -n _32) "
+ fi
+
+ use libsamplerate || echo -n "NO_RESAMP=1 "
+ use lirc && echo -n "LIRC=1 "
+ use cpu_flags_x86_sse || echo -n "NO_ASM=1 "
+
+ echo -n GUI=
+ if use gtk; then
+ echo -n GTK2
+ elif use qt4; then
+ echo -n QT4
+ else
+ echo -n NONE
+ fi
+}
+
+src_compile() {
+ use x86 && use cpu_flags_x86_sse && append-flags -fomit-frame-pointer
+ emake $(get_opts) DBGSYM=1 all || die "make failed"
+}
+
+src_install() {
+ # These are:
+ # 1) prefix - not used really, printed only
+ # 2) SHAREDIR
+ # 3) BINDIR
+ # 4) 'LIBDIR' - where to put plugins in
+ # 5) 'MANDIR' - exact directory to put man file in
+ # 6) APPLICATIONSDIR - where to put .desktop in
+
+ ./install.sh "${D}" \
+ "${D}${GAMES_DATADIR}/${PN}" \
+ "${D}${GAMES_BINDIR}" \
+ "${D}$(games_get_libdir)/${PN}/plugins" \
+ "${D}/usr/share/man/man1" \
+ "${D}/usr/share/applications" \
+ || or die "install.sh failed"
+
+ # Copy icon into system-wide location
+ newicon icons/mupen64plus-large.png ${PN}.png || die "newicon failed"
+
+ # 'Move' docs into correct dir
+ rm -r "${D}${GAMES_DATADIR}/${PN}/doc"
+ dodoc README RELEASE TODO doc/*.txt "${FILESDIR}/README.gentoo-patches-${PATCH_VERSION}" || die "dodoc failed"
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if use lirc; then
+ elog "For lirc configuration see:"
+ elog "http://code.google.com/p/mupen64plus/wiki/LIRC"
+ fi
+}
diff --git a/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild b/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild
new file mode 100644
index 000000000000..bc5b6ec852a9
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-1.5-r2.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="2"
+
+inherit eutils flag-o-matic games toolchain-funcs
+
+MY_P="Mupen64Plus-${PV/./-}-src"
+
+PATCH_VERSION="20100507"
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator"
+HOMEPAGE="http://code.google.com/p/mupen64plus/"
+SRC_URI="http://mupen64plus.googlecode.com/files/${MY_P}.tar.gz mirror://gentoo/${P}-patches-${PATCH_VERSION}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="+gtk libsamplerate lirc qt4 cpu_flags_x86_sse"
+
+# GTK+ is currently required by plugins even if no GUI support is enabled
+RDEPEND="virtual/opengl
+ media-libs/freetype:2
+ media-libs/libpng
+ media-libs/libsdl
+ media-libs/sdl-ttf
+ media-fonts/dejavu
+ sys-libs/zlib[minizip]
+ x11-libs/gtk+:2
+ libsamplerate? ( media-libs/libsamplerate )
+ lirc? ( app-misc/lirc )
+ qt4? ( dev-qt/qtgui:4
+ dev-qt/qtcore:4 )
+ app-arch/xz-utils"
+
+DEPEND="${RDEPEND}
+ dev-lang/yasm
+ virtual/pkgconfig"
+
+S="${WORKDIR}/${MY_P}"
+
+pkg_setup() {
+ if [[ ! $(tc-getCC) =~ gcc ]]; then
+ eerror
+ eerror "Compilers like clang and icc are not supported at this point"
+ eerror
+ die "You need gcc to build ${PN}"
+ fi
+
+ if ! use gtk && ! use qt4; then
+ ewarn "Building ${PN} without any GUI! To get one, enable USE=gtk or USE=qt4."
+ elif use gtk && use qt4; then
+ ewarn "Only one GUI can be built, using GTK+ one."
+ fi
+
+ games_pkg_setup
+}
+
+src_prepare() {
+ EPATCH_SOURCE="${WORKDIR}/patches" EPATCH_SUFFIX="patch" \
+ epatch
+
+ rm -rf main/zip
+ epatch "${FILESDIR}"/${P}-minizip.patch #383845
+
+ sed -i \
+ -e "s:/usr/local/share/mupen64plus:${GAMES_DATADIR}/mupen64plus:" \
+ -e "s:%PUT_PLUGIN_PATH_HERE%:$(games_get_libdir)/${PN}/plugins/:" \
+ main/main.c || die "sed failed"
+
+ # Fix 010_all_fix-desktop-file.patch instead of using sed on the next major bump
+ sed -i \
+ -e "s:^Icon=mupen64plus-large.xpm:Icon=mupen64plus:" \
+ mupen64plus.desktop.in || die "sed failed"
+ epatch "${FILESDIR}"/${P}-gcc46.patch
+}
+
+get_opts() {
+ if use amd64 || use x86 ; then
+ echo -n "CPU=X86 ARCH=64BITS$(use x86 && echo -n _32) "
+ fi
+
+ use libsamplerate || echo -n "NO_RESAMP=1 "
+ use lirc && echo -n "LIRC=1 "
+ use cpu_flags_x86_sse || echo -n "NO_ASM=1 "
+
+ echo -n GUI=
+ if use gtk; then
+ echo -n GTK2
+ elif use qt4; then
+ echo -n QT4
+ else
+ echo -n NONE
+ fi
+}
+
+src_compile() {
+ tc-export CC CXX
+ use x86 && use cpu_flags_x86_sse && append-flags -fomit-frame-pointer
+ emake $(get_opts) DBGSYM=1 CC="${CC}" CXX="${CXX}" LD="${CC}" all || die "make failed"
+}
+
+src_install() {
+ # These are:
+ # 1) prefix - not used really, printed only
+ # 2) SHAREDIR
+ # 3) BINDIR
+ # 4) 'LIBDIR' - where to put plugins in
+ # 5) 'MANDIR' - exact directory to put man file in
+ # 6) APPLICATIONSDIR - where to put .desktop in
+
+ ./install.sh "${D}" \
+ "${D}${GAMES_DATADIR}/${PN}" \
+ "${D}${GAMES_BINDIR}" \
+ "${D}$(games_get_libdir)/${PN}/plugins" \
+ "${D}/usr/share/man/man1" \
+ "${D}/usr/share/applications" \
+ || or die "install.sh failed"
+
+ # Copy icon into system-wide location
+ newicon icons/mupen64plus-large.png ${PN}.png || die "newicon failed"
+
+ # 'Move' docs into correct dir
+ rm -r "${D}${GAMES_DATADIR}/${PN}/doc"
+ dodoc README RELEASE TODO doc/*.txt "${FILESDIR}/README.gentoo-patches-${PATCH_VERSION}" || die "dodoc failed"
+
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+ if use lirc; then
+ elog "For lirc configuration see:"
+ elog "http://code.google.com/p/mupen64plus/wiki/LIRC"
+ fi
+}
diff --git a/games-emulation/mupen64plus/mupen64plus-2.0.ebuild b/games-emulation/mupen64plus/mupen64plus-2.0.ebuild
new file mode 100644
index 000000000000..a40068a28b4b
--- /dev/null
+++ b/games-emulation/mupen64plus/mupen64plus-2.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, meta-package"
+HOMEPAGE="http://code.google.com/p/mupen64plus/"
+SRC_URI=""
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+audio-sdl +input-sdl +rsp-hle +ui-console +ui-m64py +video-glide64mk2 +video-rice"
+
+RDEPEND="games-emulation/mupen64plus-core
+ audio-sdl? ( games-emulation/mupen64plus-audio-sdl )
+ input-sdl? ( games-emulation/mupen64plus-input-sdl )
+ rsp-hle? ( games-emulation/mupen64plus-rsp-hle )
+ ui-console? ( games-emulation/mupen64plus-ui-console )
+ ui-m64py? ( games-emulation/m64py )
+ video-glide64mk2? ( games-emulation/mupen64plus-video-glide64mk2 )
+ video-rice? ( games-emulation/mupen64plus-video-rice )"