commit:     8afc6bb02d34ca168b1616c48b633fb2d7892aa3
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 15 09:34:24 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 15 10:51:02 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8afc6bb0

games-emulation/mupen64plus-core: Bump to 2.6.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 games-emulation/mupen64plus-core/Manifest          |   1 +
 games-emulation/mupen64plus-core/metadata.xml      |   1 +
 .../mupen64plus-core/mupen64plus-core-2.6.0.ebuild | 117 +++++++++++++++++++++
 3 files changed, 119 insertions(+)

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
+}

Reply via email to