[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: 1e3866a781cb9f13107b17d346ce03fcbc09e10c Author: Michał Górny gentoo org> AuthorDate: Sun Jun 2 17:50:39 2024 + Commit: Michał Górny gentoo org> CommitDate: Sun Jun 2 17:54:06 2024 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e3866a7 games-emulation/dolphin: Backport gcc-14 build fix Thanks to Kostadin Shishmanov for finding the pull request. Closes: https://bugs.gentoo.org/933203 Signed-off-by: Michał Górny gentoo.org> .../dolphin/dolphin-5.0_p20220520-r2.ebuild| 6 - .../files/dolphin-5.0_p20220520-gcc-14.patch | 30 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/games-emulation/dolphin/dolphin-5.0_p20220520-r2.ebuild b/games-emulation/dolphin/dolphin-5.0_p20220520-r2.ebuild index c1f43ed2cbd5..eb77bc5735c5 100644 --- a/games-emulation/dolphin/dolphin-5.0_p20220520-r2.ebuild +++ b/games-emulation/dolphin/dolphin-5.0_p20220520-r2.ebuild @@ -35,7 +35,11 @@ IUSE=" profile pulseaudio systemd upnp vulkan " -PATCHES=("${FILESDIR}/${P}-libfmt-9.0.0-fix-build.patch") +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:= 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 new file mode 100644 index ..44ffb50ae257 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-5.0_p20220520-gcc-14.patch @@ -0,0 +1,30 @@ +From 3da2e15e6b95f02f66df461e87c8b896e450fdab Mon Sep 17 00:00:00 2001 +From: Peter Lafreniere +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:
[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: 65e79039b9cd3898cdb300f36357d5cc82c4f35c Author: Christopher Rudolph b-tu de> AuthorDate: Fri Jul 8 17:23:52 2022 + Commit: Sam James gentoo org> CommitDate: Mon Jul 11 00:08:08 2022 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65e79039 games-emulation/dolphin: fix build w/ libfmt-9 Apply patch to make games-emulation/dolphin-5.0_p20220520 build with dev-libs/libfmt-9. Signed-off-by: Christopher Rudolph b-tu.de> Signed-off-by: Sam James gentoo.org> ...0520.ebuild => dolphin-5.0_p20220520-r1.ebuild} | 4 ++- ...phin-5.0_p20220520-libfmt-9.0.0-fix-build.patch | 32 ++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/games-emulation/dolphin/dolphin-5.0_p20220520.ebuild b/games-emulation/dolphin/dolphin-5.0_p20220520-r1.ebuild similarity index 98% rename from games-emulation/dolphin/dolphin-5.0_p20220520.ebuild rename to games-emulation/dolphin/dolphin-5.0_p20220520-r1.ebuild index 381435640b8f..abcdeec7c45b 100644 --- a/games-emulation/dolphin/dolphin-5.0_p20220520.ebuild +++ b/games-emulation/dolphin/dolphin-5.0_p20220520-r1.ebuild @@ -35,12 +35,14 @@ IUSE=" profile pulseaudio systemd upnp vulkan " +PATCHES=("${FILESDIR}/${P}-libfmt-9.0.0-fix-build.patch") + RDEPEND=" app-arch/bzip2:= app-arch/xz-utils:= app-arch/zstd:= dev-libs/hidapi:= - =dev-libs/libfmt-8*:= + >=dev-libs/libfmt-8:= dev-libs/lzo:= dev-libs/pugixml:= media-libs/cubeb:= 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 new file mode 100644 index ..5bc2ae3877f4 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-5.0_p20220520-libfmt-9.0.0-fix-build.patch @@ -0,0 +1,32 @@ +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 >= 9 ++ static_assert(fmt::detail::is_compile_string::value); ++#else + static_assert(fmt::is_compile_string::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 >= 9 ++ static_assert(fmt::detail::is_compile_string::value); ++#else + static_assert(fmt::is_compile_string::value); ++#endif + auto arg_list = fmt::make_format_args(args...); + return MsgAlertFmtImpl(yes_no, style, log_type, file, line, translated_format, arg_list); + }
[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: e7e66a46b94f8707499ab2c266b3a6ce627cadc5 Author: Sergei Trofimovich gentoo org> AuthorDate: Fri Jul 2 06:42:59 2021 + Commit: Sergei Trofimovich gentoo org> CommitDate: Fri Jul 2 06:43:10 2021 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e7e66a46 games-emulation/dolphin: add missing headers for musl Reported-by: ernsteiswuerfel Closes: https://bugs.gentoo.org/799281 Package-Manager: Portage-3.0.20, Repoman-3.0.3 Signed-off-by: Sergei Trofimovich gentoo.org> .../dolphin/dolphin-5.0_p20210506.ebuild | 2 ++ .../dolphin/files/dolphin-5.0_p20210506-musl.patch | 24 ++ 2 files changed, 26 insertions(+) diff --git a/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild b/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild index 2a9debffb0f..fd44c78fa9e 100644 --- a/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild +++ b/games-emulation/dolphin/dolphin-5.0_p20210506.ebuild @@ -71,6 +71,8 @@ BDEPEND=" RDEPEND="${RDEPEND} vulkan? ( media-libs/vulkan-loader )" +PATCHES=("${FILESDIR}"/${P}-musl.patch) + src_prepare() { cmake_src_prepare diff --git a/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch b/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch new file mode 100644 index 000..51570151c11 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-5.0_p20210506-musl.patch @@ -0,0 +1,24 @@ +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 +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 + #include + #include + #include
[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: 0e0022cf7c98344343eb04454f8309aacff18b9b Author: Sergei Trofimovich gentoo org> AuthorDate: Sat May 25 22:38:31 2019 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sat May 25 22:38:42 2019 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0e0022cf games-emulation/dolphin: fix libsoundtouch build, bug #686752 Reported-and-fixed-by: Sławomir Nizio Closes: https://bugs.gentoo.org/686752 Package-Manager: Portage-2.3.66, Repoman-2.3.12 Signed-off-by: Sergei Trofimovich gentoo.org> games-emulation/dolphin/dolphin-5.0.ebuild| 3 ++- .../files/dolphin-5.0-soundtouch-exceptions.patch | 19 +++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild index 491d92991be..871b1246ade 100644 --- a/games-emulation/dolphin/dolphin-5.0.ebuild +++ b/games-emulation/dolphin/dolphin-5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -75,6 +75,7 @@ PATCHES=( "${FILESDIR}"/${P}-CHAR_WIDTH-collision.patch "${FILESDIR}"/${P}-xgetbv.patch "${FILESDIR}"/${P}-no-pie.patch + "${FILESDIR}"/${P}-soundtouch-exceptions.patch ) src_prepare() { diff --git a/games-emulation/dolphin/files/dolphin-5.0-soundtouch-exceptions.patch b/games-emulation/dolphin/files/dolphin-5.0-soundtouch-exceptions.patch new file mode 100644 index 000..ffd07cf0697 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-5.0-soundtouch-exceptions.patch @@ -0,0 +1,19 @@ +https://bugs.gentoo.org/686752 + +Description: Fix FTBFS with SoundTouch 2.1.2 + Explicitly disable exceptions in SoundTouch headers because Dolphin + is compiled with -fno-exceptions. +Author: James Cowgill +Bug-Debian: https://bugs.debian.org/917671 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Source/Core/AudioCommon/OpenALStream.h b/Source/Core/AudioCommon/OpenALStream.h +@@ -32,6 +32,7 @@ + #define BOOL SoundTouch_BOOL + #endif + ++#define ST_NO_EXCEPTION_HANDLING + #include + #include +
[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: 0440c6f4dc3c200a4b8a6ce08b74dfdd7dc35d7b Author: Sergei Trofimovich gentoo org> AuthorDate: Sun Jul 22 10:16:04 2018 + Commit: Sergei Trofimovich gentoo org> CommitDate: Sun Jul 22 10:16:29 2018 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0440c6f4 games-emulation/dolphin: xgetbv tweak for gcc-8 Package-Manager: Portage-2.3.43, Repoman-2.3.10 games-emulation/dolphin/dolphin-5.0.ebuild | 5 - .../dolphin/files/dolphin-5.0-xgetbv.patch | 24 ++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild index 6110f03b0a0..65b49e8a79d 100644 --- a/games-emulation/dolphin/dolphin-5.0.ebuild +++ b/games-emulation/dolphin/dolphin-5.0.ebuild @@ -70,7 +70,10 @@ DEPEND="${RDEPEND} sys-devel/gettext virtual/pkgconfig" -PATCHES=( "${FILESDIR}"/${P}-CHAR_WIDTH-collision.patch ) +PATCHES=( + "${FILESDIR}"/${P}-CHAR_WIDTH-collision.patch + "${FILESDIR}"/${P}-xgetbv.patch +) src_prepare() { cmake-utils_src_prepare diff --git a/games-emulation/dolphin/files/dolphin-5.0-xgetbv.patch b/games-emulation/dolphin/files/dolphin-5.0-xgetbv.patch new file mode 100644 index 000..ffa7cc81c13 --- /dev/null +++ b/games-emulation/dolphin/files/dolphin-5.0-xgetbv.patch @@ -0,0 +1,24 @@ +Workaround collision of _xgetbv intrinsic redeclaration: + +Source/Core/Common/x64CPUDetect.cpp:45:12: error: ambiguating new declaration of ‘u64 _xgetbv(u32)’ + static u64 _xgetbv(u32 index) +^~~ +In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include/x86intrin.h:74, + from Source/Core/Common/Intrinsics.h:12, + from Source/Core/Common/x64CPUDetect.cpp:10: +/usr/lib/gcc/x86_64-pc-linux-gnu/8.1.0/include/xsaveintrin.h:60:1: note: old declaration ‘long long int _xgetbv(unsigned int)’ + _xgetbv (unsigned int __A) + ^~~ + +Upstream fied it in +commit 823fdda30c38be953c3d425874f2adeabed2b5a8 +intrinsics: stop defining _xgetbv/_XCR_XFEATURE_ENABLED_MASK, which are reserved + +--- a/Source/Core/Common/x64CPUDetect.cpp b/Source/Core/Common/x64CPUDetect.cpp +@@ -45 +45 @@ static inline void __cpuid(int info[4], int function_id) +-static u64 _xgetbv(u32 index) ++static u64 _xgetbv_dolphin(u32 index) +@@ -137 +137 @@ void CPUInfo::Detect() +- if ((_xgetbv(_XCR_XFEATURE_ENABLED_MASK) & 0x6) == 0x6) ++ if ((_xgetbv_dolphin(_XCR_XFEATURE_ENABLED_MASK) & 0x6) == 0x6)
[gentoo-commits] repo/gentoo:master commit in: games-emulation/dolphin/, games-emulation/dolphin/files/
commit: ef8bb10ad88faeaf84a9ff6133507413618bd41d Author: David Seifert gentoo org> AuthorDate: Thu Jan 11 10:24:41 2018 + Commit: David Seifert gentoo org> CommitDate: Thu Jan 11 10:35:38 2018 + URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ef8bb10a games-emulation/dolphin: Fix building with new glibc Closes: https://bugs.gentoo.org/637986 Package-Manager: Portage-2.3.19, Repoman-2.3.6 games-emulation/dolphin/dolphin-5.0.ebuild | 64 -- .../files/dolphin-5.0-CHAR_WIDTH-collision.patch | 49 + 2 files changed, 72 insertions(+), 41 deletions(-) diff --git a/games-emulation/dolphin/dolphin-5.0.ebuild b/games-emulation/dolphin/dolphin-5.0.ebuild index 66b0fe9c7da..19005325105 100644 --- a/games-emulation/dolphin/dolphin-5.0.ebuild +++ b/games-emulation/dolphin/dolphin-5.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2016 Gentoo Foundation +# Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 EAPI=5 @@ -7,7 +7,7 @@ PLOCALES="ar ca cs da_DK de el en es fa fr hr hu it ja ko ms_MY nb nl pl pt pt_B PLOCALE_BACKUP="en" WX_GTK_VER="3.0" -inherit cmake-utils eutils l10n pax-utils toolchain-funcs versionator wxwidgets +inherit cmake-utils desktop l10n pax-utils toolchain-funcs versionator wxwidgets SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${PV}.zip -> ${P}.zip" KEYWORDS="amd64" @@ -17,15 +17,15 @@ HOMEPAGE="https://www.dolphin-emu.org/"; LICENSE="GPL-2" SLOT="0" -IUSE="alsa ao bluetooth doc egl +evdev ffmpeg llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets" +IUSE="alsa ao bluetooth doc egl +evdev ffmpeg libav llvm log lto openal +pch portaudio profile pulseaudio qt5 sdl upnp +wxwidgets" -RDEPEND=">=media-libs/libsfml-2.1 +RDEPEND=" + >=media-libs/libsfml-2.1 >net-libs/enet-1.3.7 >=net-libs/mbedtls-2.1.1 dev-libs/lzo - media-libs/libpng:= - sys-libs/glibc - sys-libs/readline:= + media-libs/libpng:0= + sys-libs/readline:0= sys-libs/zlib x11-libs/libXext x11-libs/libXi @@ -37,14 +37,17 @@ RDEPEND=">=media-libs/libsfml-2.1 bluetooth? ( net-wireless/bluez ) egl? ( media-libs/mesa[egl] ) evdev? ( - dev-libs/libevdev - virtual/udev + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( + libav? ( media-video/libav:= ) + !libav? ( media-video/ffmpeg:= ) ) - ffmpeg? ( virtual/ffmpeg ) llvm? ( sys-devel/llvm ) openal? ( - media-libs/openal - media-libs/libsoundtouch + media-libs/openal + media-libs/libsoundtouch ) portaudio? ( media-libs/portaudio ) profile? ( dev-util/oprofile ) @@ -57,35 +60,20 @@ RDEPEND=">=media-libs/libsfml-2.1 sdl? ( media-libs/libsdl2[haptic,joystick] ) upnp? ( >=net-libs/miniupnpc-1.7 ) wxwidgets? ( - dev-libs/glib:2 - x11-libs/gtk+:2 - x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] - ) - " + dev-libs/glib:2 + x11-libs/gtk+:2 + x11-libs/wxGTK:${WX_GTK_VER}[opengl,X] + )" DEPEND="${RDEPEND} - >=dev-util/cmake-2.8.8 - >=sys-devel/gcc-4.9.0 app-arch/zip media-libs/freetype sys-devel/gettext - virtual/pkgconfig - " - -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 + virtual/pkgconfig" -} +PATCHES=( "${FILESDIR}"/${P}-CHAR_WIDTH-collision.patch ) src_prepare() { + cmake-utils_src_prepare # Remove automatic dependencies to prevent building without flags enabled. if use !alsa; then @@ -139,13 +127,12 @@ src_prepare() { } src_configure() { - if use wxwidgets; then need-wxwidgets unicode fi local mycmakeargs=( - "-DUSE_SHARED_ENET=ON" + -DUSE_SHARED_ENET=ON $( cmake-utils_use ffmpeg ENCODE_FRAMEDUMPS ) $( cmake-utils_use log FASTLOG ) $( cmake-utils_use profile OPROFILING ) @@ -162,12 +149,7 @@ src_configure() { cmake-utils_src_configure } -src_compile() { - - cmake-utils_src_compile -} src_install() { - cmake-utils_src_install dodoc Readme.md diff --git a/games-emulation/dolphin/files/dolphin-5.0-CHAR_WIDTH-collision.patch b/games-emulation/dolphin/files/dolphin-5.0-CHAR_WIDTH-collision.