summaryrefslogtreecommitdiff
path: root/games-emulation/mupen64plus-core
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-16 12:27:58 +0100
commitb6fa31c964a602f8461a77d5b83355e8750c12eb (patch)
tree323fa7af31640b3ea8bb57fa7a927713f3d64769 /games-emulation/mupen64plus-core
parent868fd5dc8aab84930cfaa5252b8be06b35552765 (diff)
gentoo auto-resync : 16:07:2024 - 12:27:58
Diffstat (limited to 'games-emulation/mupen64plus-core')
-rw-r--r--games-emulation/mupen64plus-core/Manifest4
-rw-r--r--games-emulation/mupen64plus-core/metadata.xml1
-rw-r--r--games-emulation/mupen64plus-core/mupen64plus-core-2.6.0.ebuild117
3 files changed, 121 insertions, 1 deletions
diff --git a/games-emulation/mupen64plus-core/Manifest b/games-emulation/mupen64plus-core/Manifest
index b879513154ec..b2cbfc5bd733 100644
--- a/games-emulation/mupen64plus-core/Manifest
+++ b/games-emulation/mupen64plus-core/Manifest
@@ -2,5 +2,7 @@ AUX mupen64plus-core-2.5.9-debugger-fix-binutils-2.39-compat.patch 2335 BLAKE2B
AUX mupen64plus-core-2.5.9-fix-gcc10-fno-common.patch 520 BLAKE2B 1a72237a46105840d90e25a551e5ffab3f35f8df9f975da6f65c135847aac71fbf2e7fb9899c05720cb29b31ea85a15d86167c95993b93d763fea585ae0a4bff SHA512 95860397c764a6a21faaab45e13f68aa6b5da15ff1b96a430a263aaac918495b27a923c639166a9f124c0e3f3d2af6a3947aed34c3a590abc2e3033ef8460bd9
AUX mupen64plus-core-2.5.9-pitch.patch 1257 BLAKE2B bc0852417539f391fa73aff7b63dfee7bfb8f99a7b7e06b90163f39093878f361701354ff5901e8366f8f99236d6a50dde2ddaaf9aec7e48cbc27dc414f8e0af SHA512 e84bce7d9b017eda8818444c99037f6c6ee069329d944658f6f500564e45bf080818f8dd05975f20a0ef835d7934c7ea8c92f4183668fba7120d0343f2cc5678
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
EBUILD mupen64plus-core-2.5.9-r4.ebuild 2831 BLAKE2B 4462626b1e012f9ac7bbaf43fc131ac206ac6a20a430fe8cceaac3b5b63610ff6f737486d726b218b7e48f206c8da59e17a68d09a7a14467ddf21e22c127bd14 SHA512 3eca1827a711b5192cad3ee282fa60b70bb84702b70b6fb1c380c328a747846e42783dcbeac6ef336faea90bf372f39c954b752aabf386fbd96a49df1c263a25
-MISC metadata.xml 987 BLAKE2B d2c505ca12b65934e5debaa4f52876cc4a3903cf3ce084dacaf9be307a41c3ab1f6a1fb165377fe37b31065e6a901fd8432f92814eba4c4bdd43ad30da3a7467 SHA512 e0aa4b6c8f2b60c7c8aac793995b17de3892df48e3b4a8bd3ff8a938fc64a3bc7e4dcd4a659dce94dba1debc2beb71971187fed03ff0c723c4ba7b0a57d34db4
+EBUILD mupen64plus-core-2.6.0.ebuild 2710 BLAKE2B 9f8fab65b35dd6c1584f5f830cd46d869d79b77ae00833c680c3341c4c21ce2d3e94404998d2ab1aa1c91d3c5197f5498cf621feee021d0659dde3ae9e2ce1be SHA512 f132c236c182a4483a3250f08b8cb3b90fcc66e3811437dde03b070d7339a27599375969f5cb675180fc8780f8f0a451620ef0d1f746de795870e325da159509
+MISC metadata.xml 1046 BLAKE2B 1a645fcca1f3795a5cd7c3bf37975cb34c5984f86edb196acad02430b11149adfb4aab445c0ab216539c49821e30a34a8f7a14e492d7d1d09c889f5f4fc3caed SHA512 a6c0427e0fad78e2cef3aa1d104733550d4b917c58b9cec9bac803033ea776955f986adc55114cc01652132f71e1ac0c59141dded8156711d07cd9d6075844b5
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
+}