summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2019-09-15 10:36:48 +0200
committerMichał Górny <mgorny@gentoo.org>2019-09-15 11:51:12 +0200
commitf26d0a146b25bff1290aadb1e766dc82883039ae (patch)
tree777906e790a0c71d3ff875a600b90720f2e29a7f /games-emulation/mupen64plus-core
parentgames-emulation/mupen64plus: Switch HOMEPAGE to https (diff)
downloadgentoo-f26d0a146b25bff1290aadb1e766dc82883039ae.tar.gz
gentoo-f26d0a146b25bff1290aadb1e766dc82883039ae.tar.bz2
gentoo-f26d0a146b25bff1290aadb1e766dc82883039ae.zip
games-emulation/mupen64plus-core: Bump to 2.5.9
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'games-emulation/mupen64plus-core')
-rw-r--r--games-emulation/mupen64plus-core/Manifest1
-rw-r--r--games-emulation/mupen64plus-core/metadata.xml1
-rw-r--r--games-emulation/mupen64plus-core/mupen64plus-core-2.5.9.ebuild111
3 files changed, 113 insertions, 0 deletions
diff --git a/games-emulation/mupen64plus-core/Manifest b/games-emulation/mupen64plus-core/Manifest
index 4553448b1152..ed1096b9bffc 100644
--- a/games-emulation/mupen64plus-core/Manifest
+++ b/games-emulation/mupen64plus-core/Manifest
@@ -1 +1,2 @@
+DIST mupen64plus-core-src-2.5.9.tar.gz 1618486 BLAKE2B 6d43789873c6866dc7d268e4a2cc1febc4a8ce6615a51e4dabfc3d3715aaaa6bf8d7c157ddccd45ae3b57852388c591b86d1cf401c7d78962ec6780272ef912d SHA512 8087211eb3301e356e1529c1702c965aca5e9191a5a3efe604f2e2f7470da44c8c3be506ba1f0aa96b209baa8faf011ca153566540e96c278fe63a330b791f20
DIST mupen64plus-core-src-2.5.tar.gz 895890 BLAKE2B 08b55ff5b985838eed19b680635fec074d06aa20366bcc41c512173120b0f76b0cec691d0ee2b02b19eccce03f951c528df30ecbf440601629a5df92fa34db03 SHA512 1bf643798de4f17e2ce4f2a67dfd242a8b24d873c413b49cbcb280e4264131222e3f3bc02c46111868102b0b5174d117ababceab66551cb38b76b22b3a94f697
diff --git a/games-emulation/mupen64plus-core/metadata.xml b/games-emulation/mupen64plus-core/metadata.xml
index b4eccd857610..4e8fd61a24ba 100644
--- a/games-emulation/mupen64plus-core/metadata.xml
+++ b/games-emulation/mupen64plus-core/metadata.xml
@@ -9,6 +9,7 @@
<flag name="debugger">Build the debugger</flag>
<flag name="gles2">Use GLES2 instead of OpenGL</flag>
<flag name="new-dynarec">Enable new experimental dynamic recompiler implementation (only for x86 and arm)</flag>
+ <flag name="opencv">Support video capture via <pkg>media-libs/opencv</pkg></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.
diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9.ebuild
new file mode 100644
index 000000000000..ca45a085896b
--- /dev/null
+++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.5.9.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_P=${PN}-src-${PV}
+inherit toolchain-funcs
+
+DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, core library"
+HOMEPAGE="https://www.mupen64plus.org/"
+SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0/2-sdl2"
+KEYWORDS="~amd64 ~x86"
+IUSE="debugger gles2 lirc new-dynarec opencv +osd cpu_flags_x86_sse"
+
+RDEPEND="media-libs/libpng:0=
+ media-libs/libsdl2:0=[joystick,opengl,video]
+ sys-libs/zlib:0=[minizip]
+ lirc? ( app-misc/lirc:0 )
+ opencv? ( media-libs/opencv:= )
+ osd? (
+ media-fonts/dejavu
+ media-libs/freetype:2=
+ virtual/opengl:0=
+ virtual/glu:0=
+ )
+ !<games-emulation/mupen64plus-2.0"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+# block versions using SDL1
+RDEPEND="${RDEPEND}
+ !<games-emulation/m64py-0.2.3-r1
+ !<games-emulation/mupen64plus-audio-sdl-2.5
+ !<games-emulation/mupen64plus-input-sdl-2.5
+ !<games-emulation/mupen64plus-ui-console-2.5
+ !<games-emulation/mupen64plus-video-glide64mk2-2.5
+ !<games-emulation/mupen64plus-video-rice-2.5"
+
+REQUIRED_USE="gles2? ( !osd )"
+S=${WORKDIR}/${MY_P}
+
+src_prepare() {
+ default
+
+ # avoid implicitly appending CPU flags
+ sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die
+}
+
+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=/usr/$(get_libdir)
+
+ # disable unwanted magic
+ LDCONFIG=:
+ INSTALL_STRIP_FLAG=
+
+ # Package-specific stuff
+
+ # CROSS_COMPILE causes it to look for ${CHOST}-sdl2-config...
+ SDL_CFLAGS="$($(tc-getPKG_CONFIG) --cflags sdl2)"
+ SDL_LDLIBS="$($(tc-getPKG_CONFIG) --libs sdl2)"
+
+ OSD=$(usex osd 1 0)
+ NO_ASM=$(usex cpu_flags_x86_sse 0 1)
+ LIRC=$(usex lirc 1 0)
+ OPENCV=$(usex opencv 1 0)
+ DEBUGGER=$(usex debugger 1 0)
+ NEW_DYNAREC=$(usex new-dynarec 1 0)
+ USE_GLES=$(usex gles2 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
+ dodoc -r CREDITS README RELEASE doc/{emuwiki-api-doc,new_dynarec.mediawiki}
+
+ # replace bundled font with a symlink
+ # TODO: fix the code to not rely on it
+ rm "${ED}/usr/share/mupen64plus/font.ttf" || die
+ if use osd; then
+ dosym ../fonts/dejavu/DejaVuSans.ttf /usr/share/mupen64plus/font.ttf
+ fi
+}