diff options
Diffstat (limited to 'games-emulation/mupen64plus-core')
-rw-r--r-- | games-emulation/mupen64plus-core/Manifest | 3 | ||||
-rw-r--r-- | games-emulation/mupen64plus-core/metadata.xml | 20 | ||||
-rw-r--r-- | games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild | 111 |
3 files changed, 134 insertions, 0 deletions
diff --git a/games-emulation/mupen64plus-core/Manifest b/games-emulation/mupen64plus-core/Manifest new file mode 100644 index 000000000000..05e71b1c2773 --- /dev/null +++ b/games-emulation/mupen64plus-core/Manifest @@ -0,0 +1,3 @@ +DIST mupen64plus-core-src-2.5.tar.gz 895890 BLAKE2B 08b55ff5b985838eed19b680635fec074d06aa20366bcc41c512173120b0f76b0cec691d0ee2b02b19eccce03f951c528df30ecbf440601629a5df92fa34db03 SHA512 1bf643798de4f17e2ce4f2a67dfd242a8b24d873c413b49cbcb280e4264131222e3f3bc02c46111868102b0b5174d117ababceab66551cb38b76b22b3a94f697 +EBUILD mupen64plus-core-2.5-r1.ebuild 2741 BLAKE2B 0e72eff2cd6936ad0e0078d8781fb92323acffe3dc54828dddfbeb941258a91096879bf0a4b3e9d29b5859030ba0297d1eee8b6a6080b751e98f031caca53c25 SHA512 b2afc35676acd02b99048331174ab8e8518d9f7c11f9e22b7794769685d31ed0c77d9e4e671cac70fc54cbd2ba291bd225c8837501f833e81e3bfb86cc8d2a3a +MISC metadata.xml 958 BLAKE2B 33daa914e745751489e0b44160e14b6c9d065b0119872b0c4989b71d3ab7cdba9fdad1381f3248651542f7f31f14fdd9831726abc5c6b9255cf2ee4158c20527 SHA512 f6cc31a8d152fc50d9bbb285acc34e04f6ffb4f4b1ed9e0fe572183c68d382f757a18f6ed00b76ab90a5204afc1712d02f92194b714330548f73f1015541b7ae diff --git a/games-emulation/mupen64plus-core/metadata.xml b/games-emulation/mupen64plus-core/metadata.xml new file mode 100644 index 000000000000..b4eccd857610 --- /dev/null +++ b/games-emulation/mupen64plus-core/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mgorny@gentoo.org</email> + <name>Michał Górny</name> + </maintainer> + <use> + <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="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> + <remote-id type="github">mupen64plus/mupen64plus-core</remote-id> + </upstream> +</pkgmetadata> diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild new file mode 100644 index 000000000000..8efaa9ff810e --- /dev/null +++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.5-r1.ebuild @@ -0,0 +1,111 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +MY_P=${PN}-src-${PV} +inherit eutils multilib toolchain-funcs + +DESCRIPTION="A fork of Mupen64 Nintendo 64 emulator, core library" +HOMEPAGE="http://www.mupen64plus.org/" +SRC_URI="https://github.com/mupen64plus/${PN}/releases/download/${PV}/${MY_P}.tar.gz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0/2-sdl2" +KEYWORDS="~amd64 ~x86" +IUSE="debugger gles2 lirc new-dynarec +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 ) + 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() { + epatch_user + + # 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) + 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 + 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=/usr/share/mupen64plus/font.ttf + rm "${D%/}/${font_path}" || die + if use osd; then + dosym /usr/share/fonts/dejavu/DejaVuSans.ttf "${font_path}" + fi +} |