summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2013-12-15 12:07:24 +0000
committerMichał Górny <mgorny@gentoo.org>2013-12-15 12:07:24 +0000
commitabdd3451d53eb893f86e7408e43e787eba42227c (patch)
tree40c207ee4b40530b3213acbfdcccc83407f3a10d /games-emulation/mupen64plus-core
parentMask mupen64plus new dynamic recompiler since it does not work on amd64. (diff)
downloadgentoo-2-abdd3451d53eb893f86e7408e43e787eba42227c.tar.gz
gentoo-2-abdd3451d53eb893f86e7408e43e787eba42227c.tar.bz2
gentoo-2-abdd3451d53eb893f86e7408e43e787eba42227c.zip
Introduce the core library for mupen64plus-2.0.
(Portage version: 2.2.7/cvs/Linux x86_64, signed Manifest commit with key EFB4464E!)
Diffstat (limited to 'games-emulation/mupen64plus-core')
-rw-r--r--games-emulation/mupen64plus-core/ChangeLog9
-rw-r--r--games-emulation/mupen64plus-core/metadata.xml22
-rw-r--r--games-emulation/mupen64plus-core/mupen64plus-core-2.0.ebuild97
3 files changed, 128 insertions, 0 deletions
diff --git a/games-emulation/mupen64plus-core/ChangeLog b/games-emulation/mupen64plus-core/ChangeLog
new file mode 100644
index 000000000000..29e2ba0e0b21
--- /dev/null
+++ b/games-emulation/mupen64plus-core/ChangeLog
@@ -0,0 +1,9 @@
+# ChangeLog for games-emulation/mupen64plus-core
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/mupen64plus-core/ChangeLog,v 1.1 2013/12/15 12:07:24 mgorny Exp $
+
+*mupen64plus-core-2.0 (15 Dec 2013)
+
+ 15 Dec 2013; Michał Górny <mgorny@gentoo.org> +metadata.xml,
+ +mupen64plus-core-2.0.ebuild:
+ Introduce the core library for mupen64plus-2.0.
diff --git a/games-emulation/mupen64plus-core/metadata.xml b/games-emulation/mupen64plus-core/metadata.xml
new file mode 100644
index 000000000000..03105a006bdd
--- /dev/null
+++ b/games-emulation/mupen64plus-core/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>games</herd>
+ <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='new-dynarec'>Enable new experimental dynamic recompiler implementation (only for x86 and arm)</flag>
+ <flag name='osd'>Overlay emulator messages using on-screen-display</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.</longdescription>
+ <upstream>
+ <remote-id type="google-code">mupen64plus</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.0.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.0.ebuild
new file mode 100644
index 000000000000..1f650845adfe
--- /dev/null
+++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/games-emulation/mupen64plus-core/mupen64plus-core-2.0.ebuild,v 1.1 2013/12/15 12:07:24 mgorny Exp $
+
+EAPI=5
+
+MY_P=${PN}-src-${PV}
+inherit eutils toolchain-funcs games
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, core library"
+HOMEPAGE="http://code.google.com/p/mupen64plus/"
+SRC_URI="mirror://bitbucket/richard42/${PN}/downloads/${MY_P}.tar.gz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/2"
+KEYWORDS="~amd64 ~x86"
+IUSE="lirc new-dynarec +osd sse"
+
+RDEPEND="media-libs/libpng:0=
+ media-libs/libsdl:0=[joystick,video]
+ sys-libs/zlib:0=[minizip]
+ lirc? ( app-misc/lirc:0 )
+ osd? (
+ media-fonts/ttf-bitstream-vera
+ media-libs/freetype:2=
+ virtual/opengl:0=
+ virtual/glu:0=
+ )
+ !<games-emulation/mupen64plus-2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+S=${WORKDIR}/${MY_P}
+
+src_compile() {
+ MAKEARGS=(
+ # Note: please keep this in sync in all of mupen64plus-* packages
+
+ -C projects/unix
+
+ # this basically means: GNU userspace
+ UNAME=Linux
+
+ # verbose output
+ V=1
+
+ CROSS_COMPILE="${CHOST}-"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+ PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ # usual CFLAGS, CXXFLAGS and LDFLAGS are respected
+ # so we can leave OPTFLAGS empty
+ OPTFLAGS=
+
+ # paths, some of them are used at compile time
+ PREFIX=/usr
+ LIBDIR="$(games_get_libdir)"
+ SHAREDIR="${GAMES_DATADIR}"/mupen64plus
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl)"
+
+ OSD=$(usex osd 1 0)
+ NO_ASM=$(usex sse 0 1)
+ LIRC=$(usex lirc 1 0)
+ # (it does not build)
+ # DEBUGGER=$(usex debug 1 0)
+ NEW_DYNAREC=$(usex new-dynarec 1 0)
+ )
+
+ use amd64 && MAKEARGS+=( HOST_CPU=x86_64 )
+ use x86 && MAKEARGS+=( HOST_CPU=i386 )
+
+ emake "${MAKEARGS[@]}" all
+}
+
+src_install() {
+ emake "${MAKEARGS[@]}" DESTDIR="${D}" install
+ einstalldocs
+ dodoc -r doc/{emuwiki-api-doc,new_dynarec.txt}
+
+ # replace bundled font with a symlink
+ # TODO: fix the code to not rely on it
+ local font_path=${GAMES_DATADIR}/mupen64plus/font.ttf
+ rm "${D%/}/${font_path}" || die
+ if use osd; then
+ dosym /usr/share/fonts/ttf-bitstream-vera/Vera.ttf "${font_path}"
+ fi
+ prepgamesdirs
+}