summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIonen Wolkens <ionen@gentoo.org>2024-07-02 00:48:07 -0400
committerIonen Wolkens <ionen@gentoo.org>2024-07-02 01:17:04 -0400
commit1109347a0b07161d08e96bf82608361d24a18a3f (patch)
tree37382f466ac2b5b45010de72f9a3a43ecb1dfcba /games-emulation
parentdev-python/tornado: Remove old (diff)
downloadgentoo-1109347a0b07161d08e96bf82608361d24a18a3f.tar.gz
gentoo-1109347a0b07161d08e96bf82608361d24a18a3f.tar.bz2
gentoo-1109347a0b07161d08e96bf82608361d24a18a3f.zip
games-emulation/pcsx2: fix build with musl
Originally thought would only need _GNU_SOURCE, but there is a bit more to the fix 7zip upstream did in bug #928730. Could still patch but can go for the easy solution which will use neither cpu_set_t nor (more importantly) pthread_attr_setaffinity_np that musl lacks. Also fix a different musl issue only affecting >=pcsx2-1.7.5913, workaround imported from Chimera Linux. Closes: https://bugs.gentoo.org/935298 Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/pcsx2/files/pcsx2-1.7.5913-musl-cache.patch20
-rw-r--r--games-emulation/pcsx2/pcsx2-1.7.5835.ebuild4
-rw-r--r--games-emulation/pcsx2/pcsx2-1.7.5913.ebuild5
-rw-r--r--games-emulation/pcsx2/pcsx2-9999.ebuild5
4 files changed, 34 insertions, 0 deletions
diff --git a/games-emulation/pcsx2/files/pcsx2-1.7.5913-musl-cache.patch b/games-emulation/pcsx2/files/pcsx2-1.7.5913-musl-cache.patch
new file mode 100644
index 000000000000..3383904fee48
--- /dev/null
+++ b/games-emulation/pcsx2/files/pcsx2-1.7.5913-musl-cache.patch
@@ -0,0 +1,20 @@
+Patch adapted from [1]:
+
+ musl doesn't expose these sysconf values, so just use the loop
+ below that reads them out of sysfs coherency_line_size only
+
+[1] https://github.com/chimera-linux/cports/blob/114b576aee3ebc25b48ac120da1a1093dcc4365f/user/pcsx2/patches/cache.patch
+--- a/common/Linux/LnxHostSys.cpp
++++ b/common/Linux/LnxHostSys.cpp
+@@ -143,7 +143,11 @@
+ size_t HostSys::GetRuntimeCacheLineSize()
+ {
++ #if defined(__GLIBC__)
+ int l1i = sysconf(_SC_LEVEL1_DCACHE_LINESIZE);
+ int l1d = sysconf(_SC_LEVEL1_ICACHE_LINESIZE);
+ int res = (l1i > l1d) ? l1i : l1d;
++ #else
++ int res = 0;
++ #endif
+ for (int index = 0; index < 16; index++)
+ {
diff --git a/games-emulation/pcsx2/pcsx2-1.7.5835.ebuild b/games-emulation/pcsx2/pcsx2-1.7.5835.ebuild
index 87e19f866161..ece5dfc93cc5 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.5835.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.5835.ebuild
@@ -105,6 +105,10 @@ src_configure() {
strip-unsupported-flags
fi
+ # pthread_attr_setaffinity_np is not supported on musl, may be possible
+ # to remove if bundled lzma code is updated like 7zip did (bug #935298)
+ use elibc_musl && append-cppflags -DZ7_AFFINITY_DISABLE
+
local mycmakeargs=(
-DBUILD_SHARED_LIBS=no
-DDISABLE_ADVANCE_SIMD=yes
diff --git a/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild b/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild
index f8d4b9f5a3aa..deabb28cc4af 100644
--- a/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild
+++ b/games-emulation/pcsx2/pcsx2-1.7.5913.ebuild
@@ -81,6 +81,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.7.5232-cubeb-automagic.patch
"${FILESDIR}"/${PN}-1.7.5835-vanilla-shaderc.patch
"${FILESDIR}"/${PN}-1.7.5855-no-libbacktrace.patch
+ "${FILESDIR}"/${PN}-1.7.5913-musl-cache.patch
)
src_prepare() {
@@ -107,6 +108,10 @@ src_configure() {
strip-unsupported-flags
fi
+ # pthread_attr_setaffinity_np is not supported on musl, may be possible
+ # to remove if bundled lzma code is updated like 7zip did (bug #935298)
+ use elibc_musl && append-cppflags -DZ7_AFFINITY_DISABLE
+
local mycmakeargs=(
-DBUILD_SHARED_LIBS=no
-DDISABLE_ADVANCE_SIMD=yes
diff --git a/games-emulation/pcsx2/pcsx2-9999.ebuild b/games-emulation/pcsx2/pcsx2-9999.ebuild
index f8d4b9f5a3aa..deabb28cc4af 100644
--- a/games-emulation/pcsx2/pcsx2-9999.ebuild
+++ b/games-emulation/pcsx2/pcsx2-9999.ebuild
@@ -81,6 +81,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.7.5232-cubeb-automagic.patch
"${FILESDIR}"/${PN}-1.7.5835-vanilla-shaderc.patch
"${FILESDIR}"/${PN}-1.7.5855-no-libbacktrace.patch
+ "${FILESDIR}"/${PN}-1.7.5913-musl-cache.patch
)
src_prepare() {
@@ -107,6 +108,10 @@ src_configure() {
strip-unsupported-flags
fi
+ # pthread_attr_setaffinity_np is not supported on musl, may be possible
+ # to remove if bundled lzma code is updated like 7zip did (bug #935298)
+ use elibc_musl && append-cppflags -DZ7_AFFINITY_DISABLE
+
local mycmakeargs=(
-DBUILD_SHARED_LIBS=no
-DDISABLE_ADVANCE_SIMD=yes