diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-07-15 11:34:24 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-07-15 12:51:02 +0200 |
commit | 8afc6bb02d34ca168b1616c48b633fb2d7892aa3 (patch) | |
tree | f9fbe429cd579aa7f39c4aa92668ad6d8bb00e6f /games-emulation | |
parent | sys-devel/llvm: Backport a patch to fix kernel build (diff) | |
download | gentoo-8afc6bb02d34ca168b1616c48b633fb2d7892aa3.tar.gz gentoo-8afc6bb02d34ca168b1616c48b633fb2d7892aa3.tar.bz2 gentoo-8afc6bb02d34ca168b1616c48b633fb2d7892aa3.zip |
games-emulation/mupen64plus-core: Bump to 2.6.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/mupen64plus-core/Manifest | 1 | ||||
-rw-r--r-- | games-emulation/mupen64plus-core/metadata.xml | 1 | ||||
-rw-r--r-- | games-emulation/mupen64plus-core/mupen64plus-core-2.6.0.ebuild | 117 |
3 files changed, 119 insertions, 0 deletions
diff --git a/games-emulation/mupen64plus-core/Manifest b/games-emulation/mupen64plus-core/Manifest index 986603232baf..6644c1c40cbd 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.6.0.tar.gz 1754271 BLAKE2B 69f63a965bf3172c661979022ca8b1c3dddd4d35ca4453233c883e85db9e988c56509fed44221a6ab6f513ac6d8400bd055227e37225a2636f6f3e919075feea SHA512 2e43e4c337199afbc5ba4ae9b0490a133fd09ef1252390858ff9594f512b75a8a6a5b0331dc3eee794f9445484e6046b19a0bf6df17f21243c80960340f80f34 diff --git a/games-emulation/mupen64plus-core/metadata.xml b/games-emulation/mupen64plus-core/metadata.xml index 92b6f728925d..28aedc766663 100644 --- a/games-emulation/mupen64plus-core/metadata.xml +++ b/games-emulation/mupen64plus-core/metadata.xml @@ -7,6 +7,7 @@ </maintainer> <use> <flag name="debugger">Build the debugger</flag> + <flag name="netplay">Enable netplay functionality</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> diff --git a/games-emulation/mupen64plus-core/mupen64plus-core-2.6.0.ebuild b/games-emulation/mupen64plus-core/mupen64plus-core-2.6.0.ebuild new file mode 100644 index 000000000000..b5f1e2e7a02f --- /dev/null +++ b/games-emulation/mupen64plus-core/mupen64plus-core-2.6.0.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit toolchain-funcs + +MY_P=${PN}-src-${PV} +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 +" +S=${WORKDIR}/${MY_P} + +LICENSE="GPL-2+" +SLOT="0/2-sdl2" +KEYWORDS="~amd64 ~x86" +IUSE=" + debugger gles2-only lirc netplay new-dynarec opencv +osd +vulkan + cpu_flags_x86_sse +" +REQUIRED_USE="gles2-only? ( !osd )" + +DEPEND=" + media-libs/libpng:= + media-libs/libsdl2[joystick,opengl,video] + sys-libs/zlib[minizip] + gles2-only? ( media-libs/libsdl2[gles2] ) + lirc? ( app-misc/lirc ) + netplay? ( media-libs/sdl2-net ) + opencv? ( media-libs/opencv:= ) + osd? ( + media-fonts/dejavu + media-libs/freetype:2 + virtual/opengl + virtual/glu + ) + vulkan? ( media-libs/vulkan-loader ) +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + cpu_flags_x86_sse? ( dev-lang/nasm ) + virtual/pkgconfig +" + +src_prepare() { + default + + # avoid implicitly appending CPU flags + sed -i -e 's:-mmmx::g' -e 's:-msse::g' projects/unix/Makefile || die + # fix building against opencv-4 + sed -i -e '/PKG_CONFIG/s:opencv:&4:' 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-only 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 +} |