public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/
@ 2015-12-12  4:59 Devan Franchini
  0 siblings, 0 replies; 5+ messages in thread
From: Devan Franchini @ 2015-12-12  4:59 UTC (permalink / raw
  To: gentoo-commits

commit:     793914c32d038d8aba300c0be19418a2a0b85394
Author:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
AuthorDate: Sat Dec 12 04:57:24 2015 +0000
Commit:     Devan Franchini <twitch153 <AT> gentoo <DOT> org>
CommitDate: Sat Dec 12 04:58:47 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=793914c3

games-emulation/dolphin - Bumps to version 5.0

Package-Manager: portage-2.2.24

 games-emulation/dolphin/Manifest                   |   1 +
 games-emulation/dolphin/dolphin-5.0.ebuild         | 153 +++++++++++++++++++++
 .../files/dolphin-5.0-dynamic-llvm-detect.patch    |  54 ++++++++
 .../files/dolphin-5.0-miniupnpc-abi-14.patch       | 137 ++++++++++++++++++
 4 files changed, 345 insertions(+)

diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest
index e127728..7bdb097 100644
--- a/games-emulation/dolphin/Manifest
+++ b/games-emulation/dolphin/Manifest
@@ -1,2 +1,3 @@
 DIST dolphin-4.0.2.zip 28261421 SHA256 f20c824ee83c3a495fd019747d2f8254477b94c135415b386142f89716d05d66 SHA512 5b1931a133fd431b8f03f47c4c1cfe89f752de17f792e2729421df439564d15a8e35b17e82e31cef99230157de4aa16b2572b28ad67f23ca23c5492972df2938 WHIRLPOOL 48dcc47de02e6aa25e5318bc2564df1ab510210556e3e7c9442f405abd04879b8cff85afb5f1fa7a36364902a472f18bf5fa8da3a9db59b915d41d4e60f3b235
 DIST dolphin-4.0.zip 23439392 SHA256 a698caf05f47a55c30e09d0aab053a412df683de2e139a6348156b03c502a0ec SHA512 02e366c2fa95ab5f37b0a66b94a5b56a632ef81e13febd982d6385cfaf7fa3edb4364180d4b8312e82bc7b8f150d02cde10248996f6a12286a20d684024aca20 WHIRLPOOL 0cb7b28b911111f4b7bf93c56f2dd31d080e7e0418fb53d9cc9093ca995d2c99a1fa7d5d82111e2c8db363e2b07384be39ec0062ab0252233f480b8e45e9304e
+DIST dolphin-5.0.zip 28317729 SHA256 2b1003360d52baf12a1bcd4d75f379749b0fd4001948ec1a24d0539c37aae055 SHA512 1b1c0dd6da4ba7e9ffe30499fae582b922c9bbd8b3d8159fbf9f4bfa1e744ef5b4c00a85d34f7cdd6e01efa32133f59b2a1f42cafc9d620f7fc7462c4ba73615 WHIRLPOOL 73cc25bafcb0d32592e8ad799b0a3d458cfa944ad15380a3b8f1cf27f3e024c314b08469a17f6d92edced95631bba38e39e1ccd625227c0520813abbd399e0f4

diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild
new file mode 100644
index 0000000..9ef670f
--- /dev/null
+++ b/games-emulation/dolphin/dolphin-5.0.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+WX_GTK_VER="3.0"
+
+inherit cmake-utils eutils pax-utils toolchain-funcs versionator wxwidgets games
+
+SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}-rc.zip -> ${P}.zip"
+KEYWORDS="~amd64"
+
+DESCRIPTION="Gamecube and Wii game emulator"
+HOMEPAGE="https://www.dolphin-emu.org/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="alsa ao bluetooth doc ffmpeg lto +lzo openal opengl openmp portaudio pulseaudio"
+
+S=${WORKDIR}/${P}-rc/
+RDEPEND=">=media-libs/glew-1.10
+	>=media-libs/libsfml-2.1
+	>=net-libs/miniupnpc-1.8
+	sys-libs/readline:=
+	x11-libs/libXext
+	x11-libs/libXrandr
+	media-libs/libsdl2[haptic,joystick]
+	net-libs/polarssl[havege]
+	alsa? ( media-libs/alsa-lib )
+	ao? ( media-libs/libao )
+	bluetooth? ( net-wireless/bluez )
+	ffmpeg? ( virtual/ffmpeg
+			!!>=media-video/libav-10 )
+	lzo? ( dev-libs/lzo )
+	openal? ( media-libs/openal )
+	opengl? ( virtual/opengl )
+	portaudio? ( media-libs/portaudio )
+	pulseaudio? ( media-sound/pulseaudio )
+	"
+DEPEND="${RDEPEND}
+	app-arch/zip
+	media-gfx/nvidia-cg-toolkit
+	media-libs/freetype
+	media-libs/libsoundtouch
+	>net-libs/enet-1.3.7
+	>=sys-devel/gcc-4.9.0
+	x11-libs/wxGTK:${WX_GTK_VER}
+	"
+
+pkg_pretend() {
+
+	local ver=4.9.0
+	local msg="${PN} needs at least GCC ${ver} set to compile."
+
+	if [[ ${MERGE_TYPE} != binary ]]; then
+		if ! version_is_at_least ${ver} $(gcc-fullversion); then
+			eerror ${msg}
+			die ${msg}
+		fi
+	fi
+
+}
+
+src_prepare() {
+
+	epatch "${FILESDIR}"/"${P}"-dynamic-llvm-detect.patch
+	epatch "${FILESDIR}"/"${P}"-miniupnpc-abi-14.patch
+
+	# Remove automatic dependencies to prevent building without flags enabled.
+	if use !alsa; then
+		sed -i -e '/include(FindALSA/d' CMakeLists.txt || die
+	fi
+	if use !ao; then
+		sed -i -e '/check_lib(AO/d' CMakeLists.txt || die
+	fi
+	if use !bluetooth; then
+		sed -i -e '/check_lib(BLUEZ/d' CMakeLists.txt || die
+	fi
+	if use !openal; then
+		sed -i -e '/include(FindOpenAL/d' CMakeLists.txt || die
+	fi
+	if use !portaudio; then
+		sed -i -e '/CMAKE_REQUIRED_LIBRARIES portaudio/d' CMakeLists.txt || die
+	fi
+	if use !pulseaudio; then
+		sed -i -e '/check_lib(PULSEAUDIO/d' CMakeLists.txt || die
+	fi
+
+	# Remove ALL the bundled libraries, aside from:
+	# - SOIL: The sources are not public.
+	# - Bochs-disasm: Don't know what it is.
+	# - GL: A custom gl.h file is used.
+	# - gtest: Their build set up solely relies on the build in gtest.
+	# - xxhash: Not on the tree.
+	mv Externals/SOIL . || die
+	mv Externals/Bochs_disasm . || die
+	mv Externals/GL . || die
+	mv Externals/gtest . || die
+	mv Externals/xxhash . || die
+	rm -r Externals/* || die "Failed to delete Externals dir."
+	mv Bochs_disasm Externals || die
+	mv SOIL Externals || die
+	mv GL Externals || die
+	mv gtest Externals || die
+	mv xxhash Externals || die
+}
+
+src_configure() {
+
+	local mycmakeargs=(
+		"-DDOLPHIN_WC_REVISION=${PV}"
+		"-DCMAKE_INSTALL_PREFIX=${GAMES_PREFIX}"
+		"-Dprefix=${GAMES_PREFIX}"
+		"-Ddatadir=${GAMES_DATADIR}/${PN}"
+		"-Dplugindir=$(games_get_libdir)/${PN}"
+		"-DUSE_SHARED_ENET=ON"
+		$( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS )
+		$( cmake-utils_use_enable lto LTO )
+		$( cmake-utils_use openmp OPENMP )
+	)
+
+	cmake-utils_src_configure
+}
+
+src_compile() {
+
+	cmake-utils_src_compile
+}
+src_install() {
+
+	cmake-utils_src_install
+
+	dodoc Readme.md
+	if use doc; then
+		dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
+	fi
+
+	doicon Installer/dolphin-emu.xpm
+	make_desktop_entry "dolphin-emu" "Dolphin Emulator" "dolphin-emu" "Game;Emulator;"
+
+	prepgamesdirs
+}
+
+pkg_postinst() {
+	# Add pax markings for hardened systems
+	pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu
+
+	if ! use portaudio; then
+		ewarn "If you want microphone capabilities in dolphin-emu, rebuild with"
+		ewarn "USE=\"portaudio\""
+	fi
+}

diff --git a/games-emulation/dolphin/files/dolphin-5.0-dynamic-llvm-detect.patch b/games-emulation/dolphin/files/dolphin-5.0-dynamic-llvm-detect.patch
new file mode 100644
index 0000000..798ec56
--- /dev/null
+++ b/games-emulation/dolphin/files/dolphin-5.0-dynamic-llvm-detect.patch
@@ -0,0 +1,54 @@
+From 1515497ab88dc2452ed0db20a4610663cd04ff21 Mon Sep 17 00:00:00 2001
+From: comex <comexk@gmail.com>
+Date: Tue, 7 Jul 2015 07:49:46 -0400
+Subject: [PATCH] Make the LLVM detect script verify that the dynamic library actually exists.
+
+For some dumb reason, llvm-config doesn't provide the flags to link
+against the dynamic library copy of LLVM (as opposed to static), so the
+script has to guess the library name.  However, in some installations
+(such as mine), there is no dynamic copy, which caused Dolphin to fail
+to link.  Change the script to do a link test.  If it fails, one option
+would be to fall back on static linking, but I just have it fail to
+detect LLVM, because statically linking Dolphin against LLVM is really
+not a great idea - huge binary, long link time.
+---
+ CMakeTests/FindLLVM.cmake | 12 +++++++++---
+ 1 file changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeTests/FindLLVM.cmake b/CMakeTests/FindLLVM.cmake
+index 7fe664f..cfcfaed 100644
+--- a/CMakeTests/FindLLVM.cmake
++++ b/CMakeTests/FindLLVM.cmake
+@@ -1,6 +1,9 @@
+ # This file only exists because LLVM's cmake files are broken.
+ # This affects both LLVM 3.4 and 3.5.
+ # Hopefully when they fix their cmake system we don't need this garbage.
++
++include(CheckLibraryExists)
++
+ list(APPEND LLVM_CONFIG_EXECUTABLES "llvm-config")
+ list(APPEND LLVM_CONFIG_EXECUTABLES "llvm-config-3.5")
+ list(APPEND LLVM_CONFIG_EXECUTABLES "llvm-config-3.4")
+@@ -11,13 +14,16 @@ foreach(LLVM_CONFIG_NAME ${LLVM_CONFIG_EXECUTABLES})
+ 		execute_process(COMMAND ${LLVM_CONFIG_EXE} --version OUTPUT_VARIABLE LLVM_PACKAGE_VERSION
+ 			OUTPUT_STRIP_TRAILING_WHITESPACE )
+ 		if (${LLVM_PACKAGE_VERSION} VERSION_GREATER "3.3")
+-			set(LLVM_FOUND 1)
+ 			execute_process(COMMAND ${LLVM_CONFIG_EXE} --includedir OUTPUT_VARIABLE LLVM_INCLUDE_DIRS
+ 				OUTPUT_STRIP_TRAILING_WHITESPACE )
+ 			execute_process(COMMAND ${LLVM_CONFIG_EXE} --ldflags OUTPUT_VARIABLE LLVM_LDFLAGS
+ 				OUTPUT_STRIP_TRAILING_WHITESPACE )
+-			set(LLVM_LIBRARIES "${LLVM_LDFLAGS} -lLLVM-${LLVM_PACKAGE_VERSION}")
+-			break()
++			check_library_exists(LLVM-${LLVM_PACKAGE_VERSION} LLVMVerifyFunction "${LLVM_LDFLAGS}" HAVE_DYNAMIC_LLVM_${LLVM_PACKAGE_VERSION})
++			if (HAVE_DYNAMIC_LLVM_${LLVM_PACKAGE_VERSION})
++				set(LLVM_LIBRARIES "${LLVM_LDFLAGS} -lLLVM-${LLVM_PACKAGE_VERSION}")
++				set(LLVM_FOUND 1)
++				break()
++			endif()
+ 		endif()
+ 	endif()
+ endforeach()
+-- 
+2.6.2
+

diff --git a/games-emulation/dolphin/files/dolphin-5.0-miniupnpc-abi-14.patch b/games-emulation/dolphin/files/dolphin-5.0-miniupnpc-abi-14.patch
new file mode 100644
index 0000000..ecb6abb
--- /dev/null
+++ b/games-emulation/dolphin/files/dolphin-5.0-miniupnpc-abi-14.patch
@@ -0,0 +1,137 @@
+From 8c5744bca705a0895bd51c966a30171ee2bab43a Mon Sep 17 00:00:00 2001
+From: Marisa Kirisame <marisa@sayachan.org>
+Date: Tue, 29 Sep 2015 23:10:31 +0200
+Subject: [PATCH] miniupnpc API version 14 changed the upnpDiscover functions,
+ adding an argument for TTL (should default to 2) this enables support for
+ that should the build system have that specific version installed, the
+ miniupnpc bundled in the project is unchanged
+
+---
+ CMakeLists.txt                     |  5 ++++-
+ CMakeTests/FindMiniupnpc.cmake     | 39 +++++++++++++++++++++++++++++++++-----
+ Source/Core/Core/NetPlayServer.cpp |  4 ++++
+ 3 files changed, 42 insertions(+), 6 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 291efee..7ac0679 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -690,9 +690,12 @@ if(USE_UPNP)
+ 	if(NOT APPLE AND NOT ANDROID)
+ 		include(FindMiniupnpc)
+ 	endif()
+-	if(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER)
++	if(MINIUPNP_FOUND AND (MINIUPNPC_VERSION_1_7_OR_HIGHER OR MINIUPNPC_VERSION_API14_OR_HIGHER))
+ 		message("Using shared miniupnpc")
+ 		include_directories(${MINIUPNP_INCLUDE_DIR})
++		if (MINIUPNPC_VERSION_API14_OR_HIGHER)
++			add_definitions(-DUPNPDISCOVER_HAS_TTL)
++		endif()
+ 	else()
+ 		message("Using static miniupnpc from Externals")
+ 		add_subdirectory(Externals/miniupnpc)
+diff --git a/CMakeTests/FindMiniupnpc.cmake b/CMakeTests/FindMiniupnpc.cmake
+index bb1048c..5301d40 100644
+--- a/CMakeTests/FindMiniupnpc.cmake
++++ b/CMakeTests/FindMiniupnpc.cmake
+@@ -58,6 +58,30 @@ if (MINIUPNP_FOUND)
+ 	#include <stdio.h>
+ 	int main()
+ 	{
++	struct UPNPDev *devlist = NULL;
++	int upnp_delay = 5000;
++	const char *upnp_multicastif = NULL;
++	const char *upnp_minissdpdsock = NULL;
++	int upnp_sameport = 0;
++	int upnp_ipv6 = 0;
++	unsigned char upnp_ttl = 2;
++	int upnp_error = 0;
++	devlist = upnpDiscover(upnp_delay, upnp_multicastif, upnp_minissdpdsock, upnp_sameport, upnp_ipv6, upnp_ttl, &upnp_error);
++
++	return 0;
++	}"
++	MINIUPNPC_VERSION_API14_OR_HIGHER)
++
++IF (NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
++	set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
++	set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
++	check_cxx_source_runs("
++	#include <miniwget.h>
++	#include <miniupnpc.h>
++	#include <upnpcommands.h>
++	#include <stdio.h>
++	int main()
++	{
+ 	static struct UPNPUrls urls;
+ 	static struct IGDdatas data;
+ 
+@@ -66,8 +90,9 @@ if (MINIUPNP_FOUND)
+ 	return 0;
+ 	}"
+ 	MINIUPNPC_VERSION_1_7_OR_HIGHER)
++   ENDIF()
+ 
+-IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ 	set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ 	set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ 	check_cxx_source_runs("
+@@ -91,7 +116,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ 	MINIUPNPC_VERSION_PRE1_7)
+    ENDIF()
+ 
+-   IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++   IF (NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ 	   set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ 	   set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ 	   check_cxx_source_runs("
+@@ -116,7 +141,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ 
+    ENDIF()
+ 
+-   IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++   IF (NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ 	   set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ 	   set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ 	   check_cxx_source_runs("
+@@ -136,7 +161,7 @@ IF (NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
+ 	   MINIUPNPC_VERSION_1_5_OR_HIGHER)
+ 	ENDIF()
+ 
+-	IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++	IF (NOT MINIUPNPC_VERSION_1_5_OR_HIGHER AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ 		set(CMAKE_REQUIRED_INCLUDES ${MINIUPNP_INCLUDE_DIR})
+ 		set(CMAKE_REQUIRED_LIBRARIES ${MINIUPNP_LIBRARY})
+ 		check_cxx_source_runs("
+@@ -167,10 +192,14 @@ IF(MINIUPNPC_VERSION_PRE1_7)
+ 	message(STATUS "Found miniupnpc version is pre v1.7")
+ ENDIF()
+ 
+-IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7)
++IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_API14_OR_HIGHER)
+ 	message(STATUS "Found miniupnpc version is v1.7 or higher")
+ ENDIF()
+ 
++IF(NOT MINIUPNPC_VERSION_PRE1_5 AND NOT MINIUPNPC_VERSION_PRE1_6 AND NOT MINIUPNPC_VERSION_PRE1_7 AND NOT MINIUPNPC_VERSION_1_7_OR_HIGHER)
++	message(STATUS "Found miniupnpc version is v1.9 API version 14 or higher")
++ENDIF()
++
+ else ()
+ 	message (STATUS "Could not find miniupnp")
+ endif ()
+diff --git a/Source/Core/Core/NetPlayServer.cpp b/Source/Core/Core/NetPlayServer.cpp
+index 7ed283a..27b46c9 100644
+--- a/Source/Core/Core/NetPlayServer.cpp
++++ b/Source/Core/Core/NetPlayServer.cpp
+@@ -904,7 +904,11 @@ bool NetPlayServer::initUPnP()
+ 	memset(&m_upnp_data, 0, sizeof(IGDdatas));
+ 
+ 	// Find all UPnP devices
++#ifdef UPNPDISCOVER_HAS_TTL
++	UPNPDev *devlist = upnpDiscover(2000, nullptr, nullptr, 0, 0, 2, &upnperror);
++#else
+ 	UPNPDev *devlist = upnpDiscover(2000, nullptr, nullptr, 0, 0, &upnperror);
++#endif
+ 	if (!devlist)
+ 	{
+ 		WARN_LOG(NETPLAY, "An error occured trying to discover UPnP devices.");


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/
@ 2018-07-22 21:06 Sergei Trofimovich
  0 siblings, 0 replies; 5+ messages in thread
From: Sergei Trofimovich @ 2018-07-22 21:06 UTC (permalink / raw
  To: gentoo-commits

commit:     5c1629567172efd3e05e6b9629d18f8fb98c485e
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 20:59:04 2018 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sun Jul 22 21:06:31 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c162956

games-emulation/dolphin: fix crash on pie-by-default profiles

Disable PIE-compatible code generation via CXXFLAGS+=-fno-pie.

Before upstream fix:
https://github.com/dolphin-emu/dolphin/commit/daa03cd1060cc826aca93a1dffc6e94bc6af6d5f
dolphin assumed executable image to be in low addresses (<2GB)
and hardcoded 32-bit absolute addresses during JIT phase.

PIE-compatible code does not have this restriction and
allows mapping binaries above 2GB area (and breaks dolphin's JIT).

Strictly speaking -no-pie (link-time flag) does not or guarantee
or require low address mapping for binary if it was already built
as PIC/PIE.

But -fno-pie imposes additional restrictions on generated code by GCC
and makes -no-pie to take effect.

We don't need this fix for live ebuild.

Closes: https://bugs.gentoo.org/640124
Package-Manager: Portage-2.3.43, Repoman-2.3.10

 games-emulation/dolphin/dolphin-5.0.ebuild         |  1 +
 .../dolphin/files/dolphin-5.0-no-pie.patch         | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild
index 65b49e8a79d..908b571cf42 100644
--- a/games-emulation/dolphin/dolphin-5.0.ebuild
+++ b/games-emulation/dolphin/dolphin-5.0.ebuild
@@ -73,6 +73,7 @@ DEPEND="${RDEPEND}
 PATCHES=(
 	"${FILESDIR}"/${P}-CHAR_WIDTH-collision.patch
 	"${FILESDIR}"/${P}-xgetbv.patch
+	"${FILESDIR}"/${P}-no-pie.patch
 )
 
 src_prepare() {

diff --git a/games-emulation/dolphin/files/dolphin-5.0-no-pie.patch b/games-emulation/dolphin/files/dolphin-5.0-no-pie.patch
new file mode 100644
index 00000000000..949e42e50de
--- /dev/null
+++ b/games-emulation/dolphin/files/dolphin-5.0-no-pie.patch
@@ -0,0 +1,26 @@
+Disable PIE-compatible code generation via -fno-pie.
+
+Before upstream fix:
+https://github.com/dolphin-emu/dolphin/commit/daa03cd1060cc826aca93a1dffc6e94bc6af6d5f
+dolphin assumed executable image to be in low addresses (<2GB)
+and hardcoded 32-bit absolute addresses during JIT phase.
+
+PIE-compatible code does not have this restriction and
+allows mapping binaries above 2GB area (and breaks dolphin's JIT).
+
+Strictly speaking -no-pie (link-time flag) does not or guarantee
+or require low address mapping for binary if it was already built
+as PIC/PIE.
+
+But -fno-pie imposes additional restrictions on generated code by GCC
+and makes -no-pie to take effect.
+Bug: https://bugs.gentoo.org/640124
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -189,4 +189,4 @@ if(NOT ENABLE_GENERIC)
+ 			set(_M_X86_64 1)
+-			add_definitions(-D_M_X86=1 -D_M_X86_64=1 -msse2)
+-			set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie")
++			add_definitions(-D_M_X86=1 -D_M_X86_64=1 -msse2 -fno-pie)
++			set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-pie -no-pie")
+ 		else()


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/
@ 2022-09-05  5:33 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2022-09-05  5:33 UTC (permalink / raw
  To: gentoo-commits

commit:     aef1e63af94bd8da749aaef6ad6baf04c683622d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep  5 05:31:20 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep  5 05:31:37 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=aef1e63a

games-emulation/dolphin: Remove old

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

 games-emulation/dolphin/Manifest                   |   1 -
 .../dolphin/dolphin-5.0_p20210506-r3.ebuild        | 196 ---------------------
 .../dolphin/files/dolphin-5.0_p20210506-musl.patch |  24 ---
 3 files changed, 221 deletions(-)

diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest
index eaf5b6495ec4..a50d52217ba3 100644
--- a/games-emulation/dolphin/Manifest
+++ b/games-emulation/dolphin/Manifest
@@ -1,3 +1,2 @@
-DIST dolphin-5.0_p20210506.tar.gz 42098693 BLAKE2B bb9e5b5eb344bd944753c0198d5835109399fdfae46e6858833e5f279ff1979d39e0c512bedb96a91a1241fff525c6f945d16ce1a6b6cc22798490d73b853862 SHA512 5d23e9356995011a0e7b07622d58c8dddc5134a4ec83b3d9343b9eca8d0d2c200ea8c9a299c6aa2550ca74d8e28e258531368f7c167fe620053eb2a0f73b1f2f
 DIST dolphin-5.0_p20220520.tar.gz 34880474 BLAKE2B 925cddfe8a5d6febced5721bea6ced7c8d2855619f74ca8940b95dc78ea523b4a1083b9ef6efe3561d833b8e9ecb742cb2adf5a1864c06b629b3ecd9e92cc871 SHA512 4993cb10061b142f6627c96493885a5f9d88857d8949c2e8e8d5df5ba6e19b4f98d199da5e641d3d61294884e1cbbe8191bc5b4445c60bf80723046b2524aad5
 DIST mgba-40d4c430fc36caeb7ea32fd39624947ed487d2f2.tar.gz 12921593 BLAKE2B 8c5cf7b9b53f897f6248ad6bc51efafaa8a9d5df137d42d30f4b042b6d1527049644595938626c8cae1385d329bc45bf42db8dcc4424b963a3899e0df53246eb SHA512 26d7b60cbc7415652bb9ca2a42ccd532856867db57bf6dd91d8204551970109b6b9f4a96c42d643ea96b9d071d6aec924d3c1bb79c251c95183b7fb8536456c9

diff --git a/games-emulation/dolphin/dolphin-5.0_p20210506-r3.ebuild b/games-emulation/dolphin/dolphin-5.0_p20210506-r3.ebuild
deleted file mode 100644
index 6ff4a8dd29b9..000000000000
--- a/games-emulation/dolphin/dolphin-5.0_p20210506-r3.ebuild
+++ /dev/null
@@ -1,196 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake desktop xdg-utils pax-utils
-
-if [[ ${PV} == *9999 ]]
-then
-	EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
-	inherit git-r3
-else
-	EGIT_COMMIT=eb5cd9be78c76b9ccbab9e5fbd1721ef6876cd68
-	SRC_URI="
-		https://github.com/dolphin-emu/dolphin/archive/${EGIT_COMMIT}.tar.gz
-			-> ${P}.tar.gz"
-	S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-	KEYWORDS="amd64 ~arm64"
-fi
-
-DESCRIPTION="Gamecube and Wii game emulator"
-HOMEPAGE="https://dolphin-emu.org/"
-
-LICENSE="GPL-2+ Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT ZLIB"
-SLOT="0"
-IUSE="alsa bluetooth discord-presence doc +evdev ffmpeg +gui log
-	profile pulseaudio systemd upnp vulkan"
-
-RDEPEND="
-	dev-libs/hidapi:0=
-	<dev-libs/libfmt-8.1:0=
-	dev-libs/lzo:2=
-	dev-libs/pugixml:0=
-	media-libs/libpng:0=
-	media-libs/libsfml
-	media-libs/mesa[egl(+)]
-	net-libs/enet:1.3
-	net-libs/mbedtls:0=
-	net-misc/curl:0=
-	sys-libs/readline:0=
-	sys-libs/zlib:0=
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	virtual/libusb:1
-	virtual/opengl
-	alsa? ( media-libs/alsa-lib )
-	bluetooth? ( net-wireless/bluez )
-	evdev? (
-		dev-libs/libevdev
-		virtual/udev
-	)
-	ffmpeg? ( media-video/ffmpeg:= )
-	gui? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtwidgets:5
-	)
-	profile? ( dev-util/oprofile )
-	pulseaudio? ( media-sound/pulseaudio )
-	systemd? ( sys-apps/systemd:0= )
-	upnp? ( net-libs/miniupnpc )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	sys-devel/gettext
-	virtual/pkgconfig"
-
-# vulkan-loader required for vulkan backend which can be selected
-# at runtime.
-RDEPEND="${RDEPEND}
-	vulkan? ( media-libs/vulkan-loader )"
-
-PATCHES=("${FILESDIR}"/${P}-musl.patch)
-
-# [directory]=license
-declare -A KEEP_BUNDLED=(
-	[Bochs_disasm]=LGPL-2.1+
-	[FreeSurround]=GPL-2+
-
-	# vulkan's API is not backwards-compatible:
-	# new release dropped VK_PRESENT_MODE_RANGE_SIZE_KHR
-	# but dolphin still relies on it, bug #729832
-	[Vulkan]=Apache-2.0
-
-	[cpp-optparse]=MIT
-	# no support for for using system library
-	[glslang]=BSD
-	[imgui]=MIT
-
-	# not packaged, tiny header library
-	[rangeset]=ZLIB
-
-	# FIXME: xxhash can't be found by cmake
-	[xxhash]=BSD-2
-	# no support for for using system library
-	[minizip]=ZLIB
-	# soundtouch uses shorts, not floats
-	[soundtouch]=LGPL-2.1+
-	[cubeb]=ISC
-	[discord-rpc]=MIT
-	# Their build set up solely relies on the build in gtest.
-	[gtest]= # (build-time only)
-	# gentoo's version requires exception support.
-	# dolphin disables exceptions and fails the build.
-	[picojson]=BSD-2
-	# No code to detect shared library.
-	[zstd]=BSD
-)
-
-src_prepare() {
-	cmake_src_prepare
-
-	local s remove=()
-	for s in Externals/*; do
-		[[ -f ${s} ]] && continue
-		if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
-			remove+=( "${s}" )
-		fi
-	done
-
-	einfo "removing sources: ${remove[*]}"
-	rm -r "${remove[@]}" || die
-
-	# About 50% compile-time speedup
-	if ! use vulkan; then
-		sed -i -e '/Externals\/glslang/d' CMakeLists.txt || die
-	fi
-
-	# Remove dirty suffix: needed for netplay
-	sed -i -e 's/--dirty/&=""/' CMakeLists.txt || die
-
-	# Force Qt5 rather than automagic until support is properly handled here
-	sed -i -e '/NAMES Qt6 COMP/d' Source/Core/DolphinQt/CMakeLists.txt || die
-}
-
-src_configure() {
-	local mycmakeargs=(
-		# Use ccache only when user did set FEATURES=ccache (or similar)
-		# not when ccache binary is present in system (automagic).
-		-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
-		-DENABLE_ALSA=$(usex alsa)
-		-DENABLE_BLUEZ=$(usex bluetooth)
-		-DENABLE_EVDEV=$(usex evdev)
-		-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-		-DENABLE_LLVM=OFF
-		# just adds -flto, user can do that via flags
-		-DENABLE_LTO=OFF
-		-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-		-DENABLE_QT=$(usex gui)
-		-DENABLE_SDL=OFF # not supported: #666558
-		-DENABLE_VULKAN=$(usex vulkan)
-		-DFASTLOG=$(usex log)
-		-DOPROFILING=$(usex profile)
-		-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-		-DUSE_SHARED_ENET=ON
-		-DUSE_UPNP=$(usex upnp)
-
-		# Undo cmake.eclass's defaults.
-		# All dolphin's libraries are private
-		# and rely on circular dependency resolution.
-		-DBUILD_SHARED_LIBS=OFF
-
-		# Avoid warning spam around unset variables.
-		-Wno-dev
-	)
-
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_build unittests
-}
-
-src_install() {
-	cmake_src_install
-
-	dodoc Readme.md
-	if use doc; then
-		dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
-	fi
-
-	doicon -s 48 Data/dolphin-emu.png
-	doicon -s scalable Data/dolphin-emu.svg
-	doicon Data/dolphin-emu.svg
-}
-
-pkg_postinst() {
-	# Add pax markings for hardened systems
-	pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu
-	xdg_icon_cache_update
-}
-
-pkg_postrm() {
-	xdg_icon_cache_update
-}

diff --git a/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch b/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch
deleted file mode 100644
index 51570151c112..000000000000
--- a/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://bugs.gentoo.org/799281
-https://github.com/dolphin-emu/dolphin/commit/7a1922fd8f0f6686188d179732c9757faf2d1b4f.patch
-
-From 7a1922fd8f0f6686188d179732c9757faf2d1b4f Mon Sep 17 00:00:00 2001
-From: thyrc <thyrc@users.noreply.github.com>
-Date: Mon, 14 Jun 2021 10:18:34 +0200
-Subject: [PATCH] Fix includes for musl libc
-
----
- Source/Core/Core/MemoryWatcher.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/Source/Core/Core/MemoryWatcher.cpp b/Source/Core/Core/MemoryWatcher.cpp
-index 491ecd83150a..13843e2021ca 100644
---- a/Source/Core/Core/MemoryWatcher.cpp
-+++ b/Source/Core/Core/MemoryWatcher.cpp
-@@ -2,6 +2,7 @@
- // Licensed under GPLv2+
- // Refer to the license.txt file included.
- 
-+#include <cstring>
- #include <fstream>
- #include <iostream>
- #include <sstream>


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/
@ 2025-01-18 16:45 Michał Górny
  0 siblings, 0 replies; 5+ messages in thread
From: Michał Górny @ 2025-01-18 16:45 UTC (permalink / raw
  To: gentoo-commits

commit:     d5b8ac03b4e18add500686f7a49f015546c04f05
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 18 16:43:41 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Jan 18 16:43:41 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d5b8ac03

games-emulation/dolphin: Rename patches to use .patch suffix

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

 games-emulation/dolphin/dolphin-2412.ebuild                             | 2 +-
 ...n-2412-fix-libfmt-11.1.ebuild => dolphin-2412-fix-libfmt-11.1.patch} | 0
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/games-emulation/dolphin/dolphin-2412.ebuild b/games-emulation/dolphin/dolphin-2412.ebuild
index 43af88d4f93b..ed35d8d995a4 100644
--- a/games-emulation/dolphin/dolphin-2412.ebuild
+++ b/games-emulation/dolphin/dolphin-2412.ebuild
@@ -157,7 +157,7 @@ declare -A KEEP_BUNDLED=(
 
 PATCHES=(
 	"${FILESDIR}"/dolphin-2407-minizip.patch
-	"${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.ebuild
+	"${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.patch
 	"${FILESDIR}"/dolphin-2412-fix-build-without-retro-achievements.patch
 )
 

diff --git a/games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.ebuild b/games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.patch
similarity index 100%
rename from games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.ebuild
rename to games-emulation/dolphin/files/dolphin-2412-fix-libfmt-11.1.patch


^ permalink raw reply related	[flat|nested] 5+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/
@ 2025-03-04 23:15 Andreas Sturmlechner
  0 siblings, 0 replies; 5+ messages in thread
From: Andreas Sturmlechner @ 2025-03-04 23:15 UTC (permalink / raw
  To: gentoo-commits

commit:     4dc34dcb37ac697d2e3b0d17ef338affd5895317
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  4 20:52:20 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Mar  4 23:14:48 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4dc34dcb

games-emulation/dolphin: drop 5.0_p20220520-r4

Bug: https://bugs.gentoo.org/945757
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 games-emulation/dolphin/Manifest                   |   2 -
 .../dolphin/dolphin-5.0_p20220520-r4.ebuild        | 223 ---------------------
 .../files/dolphin-5.0_p20220520-gcc-14.patch       |  30 ---
 ...phin-5.0_p20220520-libfmt-9.0.0-fix-build.patch |  32 ---
 4 files changed, 287 deletions(-)

diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest
index 99d2614d0e16..95a91365476c 100644
--- a/games-emulation/dolphin/Manifest
+++ b/games-emulation/dolphin/Manifest
@@ -2,9 +2,7 @@ DIST Vulkan-Headers-05fe2cc910a68c9ba5dac07db46ef78573acee72.tar.gz 2288519 BLAK
 DIST VulkanMemoryAllocator-009ecd192c1289c7529bff248a16cfe896254816.tar.gz 904841 BLAKE2B 64966d40b86197a18f86c9715acb2ea649ea6b69d3de38d9385a8130e35519036eca49b7503886123284be58d5c248dd9d7c5cb16a489c64d385439c382dcd30 SHA512 3a47a4bc81562b96f598f357b803d2219fa167e6eb87779837efa6e85fc6eaff8e1cfbdea0935117a7b3c630cc99944b94e91823eafa8a94d80b2c459f33c317
 DIST dolphin-2407.tar.gz 19773792 BLAKE2B a6de162479d45e6b1cba5444df5abdeafd92773d1e49cc837dfc6c1ab45ed11d7a3f72a582ddb56d0ecc6b550d03c1a02a9389852ba438d8a9235d5ea3285d4b SHA512 8bb8459d8b653708e34d5df184d96ba9705e8c50b00d066862d4012f78b7e71938207979b3bd900dd14c35c3b6c0258bb5c8fad9ba73267188e98d8a2edfb73f
 DIST dolphin-2412.tar.gz 19926717 BLAKE2B 89036561987283067a1f116aa38a94c92d0c8e3114d28a0545787f63b389cb204b265bdd4c2452ec02ca3fe90fccf5fc0fd55be3acb9b8bd346e3738f3f96767 SHA512 3025e24b4cdc8cf3493e23a7968064cb9090d622a3a830b0a964fc87af840227125de8c0f69243c7d3975fc5ea2dd0c485d870301c25e8fa078abe83ae88bca9
-DIST dolphin-5.0_p20220520.tar.gz 34880474 BLAKE2B 925cddfe8a5d6febced5721bea6ced7c8d2855619f74ca8940b95dc78ea523b4a1083b9ef6efe3561d833b8e9ecb742cb2adf5a1864c06b629b3ecd9e92cc871 SHA512 4993cb10061b142f6627c96493885a5f9d88857d8949c2e8e8d5df5ba6e19b4f98d199da5e641d3d61294884e1cbbe8191bc5b4445c60bf80723046b2524aad5
 DIST implot-cc5e1daa5c7f2335a9460ae79c829011dc5cef2d.tar.gz 137924 BLAKE2B c830275b05a74e8a60a7164f22c01dd9a5a35f9219736785c9cc17830dae809eb8cba65604b0388c3966d7658c9fe71cb9a8468c23d3ed17b7890581a2222cb8 SHA512 ab9935e759f38d19e6f60ed195c22018929ba46fccf783f4486346d7ffb7040b6097bc4c3d3b3577cc91f0c413684e07449a24bebf3db9c937638092c181de92
-DIST mgba-40d4c430fc36caeb7ea32fd39624947ed487d2f2.tar.gz 12921593 BLAKE2B 8c5cf7b9b53f897f6248ad6bc51efafaa8a9d5df137d42d30f4b042b6d1527049644595938626c8cae1385d329bc45bf42db8dcc4424b963a3899e0df53246eb SHA512 26d7b60cbc7415652bb9ca2a42ccd532856867db57bf6dd91d8204551970109b6b9f4a96c42d643ea96b9d071d6aec924d3c1bb79c251c95183b7fb8536456c9
 DIST mgba-8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51.tar.gz 14488880 BLAKE2B 5beec2de9a0999a93a4ad704f45246b551824a9ddd576a5b77e731b269fb8f7d311d1c4e2cfb217f34e22a49050498c70e52d714d9c0bb7b4e4d178f49f15c3d SHA512 782d456b7bf827591c774f146a88821b41b3b936faefddb5aee82bb0dd16ca7ad7228a1c331e1e517eac40a71cc4c94cc44bee12560946328c8433e1c6327225
 DIST minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz 770054 BLAKE2B 7d5b24a5be7134ac17178869883625b28fa80a55f878231ca4156901057db72b20b4d342f8d0bb04a436fcd72d7ccbb0f79adc8503a16e1197a84f3a476da730 SHA512 f76a2cefd7d9ad47f8c3c73b3483b657fab0507605e0b29895eaec759718a65f0d2915ea7022831f3f98493891a1ab4f5035971bf09d4860abbf4cde0b091869
 DIST tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz 5903179 BLAKE2B 0ef4b36cf26f3a5a544d0c739317b8cce041121b1dec58d1d9dbc3bbc892df284d80aa4c45ec1ebc332ba96b151230a5b0dbf95b95aefcf86ee7878c393eda5d SHA512 486bcf32be137dea5746117074dc51bc978290698de7831e1c4bbaa4acb56ed99fc34c38e69878a955b3e5f10f43eab07b0637164f822beae0fddd099aa0c56d

diff --git a/games-emulation/dolphin/dolphin-5.0_p20220520-r4.ebuild b/games-emulation/dolphin/dolphin-5.0_p20220520-r4.ebuild
deleted file mode 100644
index 4294f15f1643..000000000000
--- a/games-emulation/dolphin/dolphin-5.0_p20220520-r4.ebuild
+++ /dev/null
@@ -1,223 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake desktop flag-o-matic xdg-utils pax-utils
-
-if [[ ${PV} == *9999 ]]
-then
-	EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin"
-	EGIT_SUBMODULES=( Externals/mGBA/mgba )
-	inherit git-r3
-else
-	EGIT_COMMIT=0f2540a0d1133950467845f20b1e003181147781
-	MGBA_COMMIT=40d4c430fc36caeb7ea32fd39624947ed487d2f2
-	SRC_URI="
-		https://github.com/dolphin-emu/dolphin/archive/${EGIT_COMMIT}.tar.gz
-			-> ${P}.tar.gz
-		mgba? (
-			https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz
-				-> mgba-${MGBA_COMMIT}.tar.gz
-		)
-	"
-	S=${WORKDIR}/${PN}-${EGIT_COMMIT}
-	KEYWORDS="amd64 ~arm64"
-fi
-
-DESCRIPTION="Gamecube and Wii game emulator"
-HOMEPAGE="https://dolphin-emu.org/"
-
-LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB"
-SLOT="0"
-IUSE="
-	alsa bluetooth discord-presence doc +evdev ffmpeg +gui log mgba
-	profile pulseaudio systemd upnp vulkan
-"
-
-PATCHES=(
-	"${FILESDIR}/${P}-libfmt-9.0.0-fix-build.patch"
-	# https://github.com/dolphin-emu/dolphin/pull/12575
-	"${FILESDIR}/${P}-gcc-14.patch"
-)
-
-RDEPEND="
-	app-arch/bzip2:=
-	app-arch/xz-utils:=
-	app-arch/zstd:=
-	dev-libs/hidapi:=
-	<dev-libs/libfmt-10:=
-	dev-libs/lzo:=
-	dev-libs/pugixml:=
-	media-libs/cubeb:=
-	media-libs/libpng:=
-	media-libs/libsfml:=
-	media-libs/mesa[egl(+)]
-	net-libs/enet:1.3
-	net-libs/mbedtls:0=
-	net-misc/curl:=
-	sys-libs/readline:=
-	sys-libs/zlib:=[minizip]
-	x11-libs/libXext
-	x11-libs/libXi
-	x11-libs/libXrandr
-	virtual/libusb:1
-	virtual/opengl
-	alsa? ( media-libs/alsa-lib )
-	bluetooth? ( net-wireless/bluez )
-	evdev? (
-		dev-libs/libevdev
-		virtual/udev
-	)
-	ffmpeg? ( media-video/ffmpeg:= )
-	gui? (
-		dev-qt/qtcore:5
-		dev-qt/qtgui:5
-		dev-qt/qtwidgets:5
-	)
-	profile? ( dev-util/oprofile )
-	pulseaudio? ( media-sound/pulseaudio )
-	systemd? ( sys-apps/systemd:0= )
-	upnp? ( net-libs/miniupnpc )
-"
-DEPEND="
-	${RDEPEND}
-"
-BDEPEND="
-	sys-devel/gettext
-	virtual/pkgconfig
-"
-
-# vulkan-loader required for vulkan backend which can be selected
-# at runtime.
-RDEPEND+="
-	vulkan? ( media-libs/vulkan-loader )
-"
-
-# [directory]=license
-declare -A KEEP_BUNDLED=(
-	# please keep this list in CMakeLists.txt order
-
-	[Bochs_disasm]=LGPL-2.1+
-	[cpp-optparse]=MIT
-	[imgui]=MIT
-	[glslang]=BSD
-
-	# FIXME: xxhash can't be found by cmake
-	[xxhash]=BSD-2
-
-	# FIXME: requires minizip-ng
-	#[minizip]=ZLIB
-
-	[FreeSurround]=GPL-2+
-	[soundtouch]=LGPL-2.1+
-
-	# FIXME: discord-rpc not packaged
-	[discord-rpc]=MIT
-
-	[mGBA]=MPL-2.0
-
-	[picojson]=BSD-2
-	[rangeset]=ZLIB
-	[gtest]= # (build-time only)
-)
-
-src_prepare() {
-	if use mgba && [[ ${PV} != *9999 ]]; then
-		rmdir Externals/mGBA/mgba || die
-		mv "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die
-	fi
-
-	cmake_src_prepare
-
-	local s remove=()
-	for s in Externals/*; do
-		[[ -f ${s} ]] && continue
-		if ! has "${s#Externals/}" "${!KEEP_BUNDLED[@]}"; then
-			remove+=( "${s}" )
-		fi
-	done
-
-	einfo "removing sources: ${remove[*]}"
-	rm -r "${remove[@]}" || die
-
-	# About 50% compile-time speedup
-	if ! use vulkan; then
-		sed -i -e '/Externals\/glslang/d' CMakeLists.txt || die
-	fi
-
-	# Allow regular minizip.
-	sed -i -e '/minizip/s:>=2[.]0[.]0::' CMakeLists.txt || die
-
-	# Remove dirty suffix: needed for netplay
-	sed -i -e 's/--dirty/&=""/' CMakeLists.txt || die
-
-	# Force Qt5 rather than automagic until support is properly handled here
-	sed -i -e '/NAMES Qt6 COMP/d' Source/Core/DolphinQt/CMakeLists.txt || die
-}
-
-src_configure() {
-	# bug #891225 (https://bugs.dolphin-emu.org/issues/11481, QTBUG-61710)
-	use gui && filter-lto
-
-	local mycmakeargs=(
-		# Use ccache only when user did set FEATURES=ccache (or similar)
-		# not when ccache binary is present in system (automagic).
-		-DCCACHE_BIN=CCACHE_BIN-NOTFOUND
-		-DENABLE_ALSA=$(usex alsa)
-		-DENABLE_AUTOUPDATE=OFF
-		-DENABLE_BLUEZ=$(usex bluetooth)
-		-DENABLE_EVDEV=$(usex evdev)
-		-DENCODE_FRAMEDUMPS=$(usex ffmpeg)
-		-DENABLE_LLVM=OFF
-		# just adds -flto, user can do that via flags
-		-DENABLE_LTO=OFF
-		-DUSE_MGBA=$(usex mgba)
-		-DENABLE_PULSEAUDIO=$(usex pulseaudio)
-		-DENABLE_QT=$(usex gui)
-		-DENABLE_SDL=OFF # not supported: #666558
-		-DENABLE_VULKAN=$(usex vulkan)
-		-DFASTLOG=$(usex log)
-		-DOPROFILING=$(usex profile)
-		-DUSE_DISCORD_PRESENCE=$(usex discord-presence)
-		-DUSE_SHARED_ENET=ON
-		-DUSE_UPNP=$(usex upnp)
-
-		# Undo cmake.eclass's defaults.
-		# All dolphin's libraries are private
-		# and rely on circular dependency resolution.
-		-DBUILD_SHARED_LIBS=OFF
-
-		# Avoid warning spam around unset variables.
-		-Wno-dev
-	)
-
-	cmake_src_configure
-}
-
-src_test() {
-	cmake_build unittests
-}
-
-src_install() {
-	cmake_src_install
-
-	dodoc Readme.md
-	if use doc; then
-		dodoc -r docs/ActionReplay docs/DSP docs/WiiMote
-	fi
-
-	doicon -s 48 Data/dolphin-emu.png
-	doicon -s scalable Data/dolphin-emu.svg
-	doicon Data/dolphin-emu.svg
-}
-
-pkg_postinst() {
-	# Add pax markings for hardened systems
-	pax-mark -m "${EPREFIX}"/usr/games/bin/"${PN}"-emu
-	xdg_icon_cache_update
-}
-
-pkg_postrm() {
-	xdg_icon_cache_update
-}

diff --git a/games-emulation/dolphin/files/dolphin-5.0_p20220520-gcc-14.patch b/games-emulation/dolphin/files/dolphin-5.0_p20220520-gcc-14.patch
deleted file mode 100644
index 44ffb50ae257..000000000000
--- a/games-emulation/dolphin/files/dolphin-5.0_p20220520-gcc-14.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 3da2e15e6b95f02f66df461e87c8b896e450fdab Mon Sep 17 00:00:00 2001
-From: Peter Lafreniere <peter@n8pjl.ca>
-Date: Sun, 11 Feb 2024 20:55:31 -0500
-Subject: [PATCH] IOFile: avoid clearing errors on null file struct
-
-When performing a default compilation with recent GCC & glibc,
-the use of -Werror=nonnull causes a build error.
-
-The error is given as IOFile::ClearError() can call std::clearerr()
-with a null file, which can trigger a null-pointer dereference in libc.
-
-Change the std::clearerr() call to be conditional on a file being open.
----
- Source/Core/Common/IOFile.h | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/Source/Core/Common/IOFile.h b/Source/Core/Common/IOFile.h
-index 4b12c3188853..b5895333b1be 100644
---- a/Source/Core/Common/IOFile.h
-+++ b/Source/Core/Common/IOFile.h
-@@ -116,7 +116,8 @@ class IOFile
-   void ClearError()
-   {
-     m_good = true;
--    std::clearerr(m_file);
-+    if (IsOpen())
-+      std::clearerr(m_file);
-   }
- 
- private:

diff --git a/games-emulation/dolphin/files/dolphin-5.0_p20220520-libfmt-9.0.0-fix-build.patch b/games-emulation/dolphin/files/dolphin-5.0_p20220520-libfmt-9.0.0-fix-build.patch
deleted file mode 100644
index 5bc2ae3877f4..000000000000
--- a/games-emulation/dolphin/files/dolphin-5.0_p20220520-libfmt-9.0.0-fix-build.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Christopher Rudolph
-Fix build with libfmt-9.0.0
-Upstream report: https://github.com/dolphin-emu/dolphin/pull/10825
-
-diff --git a/Source/Core/Common/MsgHandler.h b/Source/Core/Common/MsgHandler.h
-index 750da51..1d6a467 100644
---- a/Source/Core/Common/MsgHandler.h
-+++ b/Source/Core/Common/MsgHandler.h
-@@ -41,7 +41,11 @@ bool MsgAlertFmt(bool yes_no, MsgType style, Common::Log::LogType log_type, cons
-   static_assert(NumFields == sizeof...(args),
-                 "Unexpected number of replacement fields in format string; did you pass too few or "
-                 "too many arguments?");
-+#if FMT_VERSION >= 90000
-+  static_assert(fmt::detail::is_compile_string<S>::value);
-+#else
-   static_assert(fmt::is_compile_string<S>::value);
-+#endif
-   return MsgAlertFmtImpl(yes_no, style, log_type, file, line, format,
-                          fmt::make_format_args(args...));
- }
-@@ -56,7 +60,11 @@ bool MsgAlertFmtT(bool yes_no, MsgType style, Common::Log::LogType log_type, con
-   static_assert(NumFields == sizeof...(args),
-                 "Unexpected number of replacement fields in format string; did you pass too few or "
-                 "too many arguments?");
-+#if FMT_VERSION >= 90000
-+  static_assert(fmt::detail::is_compile_string<S>::value);
-+#else
-   static_assert(fmt::is_compile_string<S>::value);
-+#endif
-   auto arg_list = fmt::make_format_args(args...);
-   return MsgAlertFmtImpl(yes_no, style, log_type, file, line, translated_format, arg_list);
- }


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-04 23:15 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-12-12  4:59 [gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/files/, games-emulation/dolphin/ Devan Franchini
  -- strict thread matches above, loose matches on Subject: below --
2018-07-22 21:06 Sergei Trofimovich
2022-09-05  5:33 Michał Górny
2025-01-18 16:45 Michał Górny
2025-03-04 23:15 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox