From 7fa2c3a080782a32ad8d67dc62277b9d90fe4de2 Mon Sep 17 00:00:00 2001 From: Ganael LAPLANCHE Date: Thu, 27 Oct 2022 16:46:51 +0200 Subject: [PATCH] emulators/pcsx2: Update to 1.7.3465 Also: - fix cubeb backend detection - explicitly disable (linux-only) setcap call --- emulators/pcsx2/Makefile | 18 ++++++++------ emulators/pcsx2/Makefile.tuples | 5 ++-- emulators/pcsx2/distinfo | 14 ++++------- .../files/patch-3rdparty-cubeb-CMakeLists.txt | 18 ++++++++++++++ .../files/patch-3rdparty_glad_CMakeLists.txt | 3 +++ .../files/patch-cmake-SearchForStuff.cmake | 18 -------------- .../files/patch-common-Linux-LnxHostSys.cpp | 24 +++++++++++++++++++ .../files/patch-common-Linux-LnxMisc.cpp | 11 +++++++++ .../pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp | 13 ++++++++++ emulators/pcsx2/pkg-plist | 4 ++++ 10 files changed, 91 insertions(+), 37 deletions(-) create mode 100644 emulators/pcsx2/files/patch-3rdparty-cubeb-CMakeLists.txt delete mode 100644 emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake create mode 100644 emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp create mode 100644 emulators/pcsx2/files/patch-common-Linux-LnxMisc.cpp create mode 100644 emulators/pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile index 1c5d764658c8..8b4bec603d4b 100644 --- a/emulators/pcsx2/Makefile +++ b/emulators/pcsx2/Makefile @@ -1,5 +1,5 @@ PORTNAME= pcsx2 -PORTVERSION= 1.7.3344 +PORTVERSION= 1.7.3465 CATEGORIES= emulators MAINTAINER= martymac@FreeBSD.org @@ -15,14 +15,15 @@ ONLY_FOR_ARCHS= amd64 # - rapidyaml (and c4core) come from 3rdparty/ (0.4.0 is needed) # - glad comes from 3rdparty/ (conflicts with libglvnd) # - zstd comes from 3rdparty/ (not detected yet) -# - cubeb comes from 3rdparty/ (not available from ports yet) LIB_DEPENDS= libpng.so:graphics/png \ libpulse.so:audio/pulseaudio \ libSoundTouch.so:audio/soundtouch \ - libsamplerate.so:audio/libsamplerate \ libharfbuzz.so:print/harfbuzz \ libfmt.so:devel/libfmt \ - libzip.so:archivers/libzip + libzip.so:archivers/libzip \ + libpulse.so:audio/pulseaudio \ + libjack.so:audio/jack \ + libsndio.so:audio/sndio # libryml.so:devel/rapidyaml \ # libglad.so:graphics/glad \ # libzstd.so:archivers/zstd @@ -41,13 +42,16 @@ USE_XORG= ice x11 xcb xext xpm xrandr USE_WX= 3.0+ # See: cmake/BuildParameters.cmake -CMAKE_ARGS+= -DCMAKE_INSTALL_DOCDIR=${DOCSDIR} \ +CMAKE_ARGS+= \ + -DCMAKE_REQUIRED_INCLUDES:STRING=${LOCALBASE}/include/ \ + -DCMAKE_INSTALL_DOCDIR=${DOCSDIR} \ -DPACKAGE_MODE:BOOL=ON \ + -DQT_BUILD:BOOL=OFF \ -DUSE_VTUNE:BOOL=OFF \ -DUSE_VULKAN:BOOL=OFF \ - -DQT_BUILD:BOOL=OFF \ -DENABLE_TESTS:BOOL=OFF \ - -DDISABLE_PCSX2_WRAPPER:BOOL=ON + -DDISABLE_PCSX2_WRAPPER:BOOL=ON \ + -DDISABLE_SETCAP:BOOL=ON DATADIR= ${PREFIX}/share/PCSX2 OPTIONS_DEFINE= DOCS NLS diff --git a/emulators/pcsx2/Makefile.tuples b/emulators/pcsx2/Makefile.tuples index a3cb0f09fb72..e9a97511f72f 100644 --- a/emulators/pcsx2/Makefile.tuples +++ b/emulators/pcsx2/Makefile.tuples @@ -1,11 +1,10 @@ GH_TUPLE= \ rtissera:libchdr:5de1a59019815ccdbba0fe07c71b31406d023248:libchdr/3rdparty/libchdr/libchdr \ - mozilla:cubeb:dc511c6b3597b6384d28949285b9289e009830ea:cubeb/3rdparty/cubeb/cubeb \ biojppm:rapidyaml:213b201d264139cd1b887790197e08850af628e3:rapidyaml/3rdparty/rapidyaml/rapidyaml \ facebook:zstd:e47e674cd09583ff0503f0f6defd6d23d8b718d3:zstd/3rdparty/zstd/zstd \ - google:googletest:800f5422ac9d9e0ad59cd860a2ef3a679588acb4:googletest/3rdparty/cubeb/cubeb/googletest \ - arsenm:sanitizers-cmake:aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a:sanitizerscmake/3rdparty/cubeb/cubeb/cmake/sanitizers-cmake \ + RetroAchievements:rcheevos:31f8788fe0e694e99db7ce138d45a655c556fa96:rcheevos/3rdparty/rcheevos/rcheevos \ biojppm:c4core:d35c7c9bf370134595699d791e6ff8db018ddc8d:c4core/3rdparty/rapidyaml/rapidyaml/ext/c4core \ biojppm:cmake:371982300ff5a076d7c3199057ebed77bbe3472f:cmake/3rdparty/rapidyaml/rapidyaml/ext/c4core/cmake \ biojppm:debugbreak:5dcbe41d2bd4712c8014aa7e843723ad7b40fd74:debugbreak/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/debugbreak \ fastfloat:fast_float:32d21dcecb404514f94fb58660b8029a4673c2c1:fast_float/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float + diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo index b058f7d72d02..ee4f71df4910 100644 --- a/emulators/pcsx2/distinfo +++ b/emulators/pcsx2/distinfo @@ -1,18 +1,14 @@ -TIMESTAMP = 1665430531 -SHA256 (pcsx2-pcsx2-1.7.3344-v1.7.3344_GH0.tar.gz) = c60ef26bd6b2aeaa8c41f04c4df3a4d079962d53979900ef94272a427b56a6e9 -SIZE (pcsx2-pcsx2-1.7.3344-v1.7.3344_GH0.tar.gz) = 19384408 +TIMESTAMP = 1666812447 +SHA256 (pcsx2-pcsx2-1.7.3465-v1.7.3465_GH0.tar.gz) = 749cc1b10d5bffe41ecf56b7765e008a6b166e38f016480b8fd570b8eedd88bb +SIZE (pcsx2-pcsx2-1.7.3465-v1.7.3465_GH0.tar.gz) = 19918248 SHA256 (rtissera-libchdr-5de1a59019815ccdbba0fe07c71b31406d023248_GH0.tar.gz) = e0df9f88cd93e673d384cbf7cf28ea396aba96c769b41ec149a259768b27b00c SIZE (rtissera-libchdr-5de1a59019815ccdbba0fe07c71b31406d023248_GH0.tar.gz) = 414409 -SHA256 (mozilla-cubeb-dc511c6b3597b6384d28949285b9289e009830ea_GH0.tar.gz) = e67aae13adcb84b1548e2a6de266e2daadaa26aff86d91e775749748c3894478 -SIZE (mozilla-cubeb-dc511c6b3597b6384d28949285b9289e009830ea_GH0.tar.gz) = 223207 SHA256 (biojppm-rapidyaml-213b201d264139cd1b887790197e08850af628e3_GH0.tar.gz) = c206d4565ccfa721991a8df90821d1a1f747e68385a0f3f5b9ab995e191c06be SIZE (biojppm-rapidyaml-213b201d264139cd1b887790197e08850af628e3_GH0.tar.gz) = 446070 SHA256 (facebook-zstd-e47e674cd09583ff0503f0f6defd6d23d8b718d3_GH0.tar.gz) = 2a7b7e5d3f8c759894f0fea9917a590733600574d20cb53f3be827c7c62862e1 SIZE (facebook-zstd-e47e674cd09583ff0503f0f6defd6d23d8b718d3_GH0.tar.gz) = 1952167 -SHA256 (google-googletest-800f5422ac9d9e0ad59cd860a2ef3a679588acb4_GH0.tar.gz) = 57bc26ac31e1bc47a12e4ae99a0f6e17506ba10f0f82ae16aa52cc7cc215a3b0 -SIZE (google-googletest-800f5422ac9d9e0ad59cd860a2ef3a679588acb4_GH0.tar.gz) = 455806 -SHA256 (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 9f5b073625375322236a94ce8d2d803cdedad321c91e63845f487b9ebfb2c433 -SIZE (arsenm-sanitizers-cmake-aab6948fa863bc1cbe5d0850bc46b9ef02ed4c1a_GH0.tar.gz) = 7234 +SHA256 (RetroAchievements-rcheevos-31f8788fe0e694e99db7ce138d45a655c556fa96_GH0.tar.gz) = ffe7020e443f724299352e72abdd9bee432fc00d3d260fbc0fee9fb28ce4f678 +SIZE (RetroAchievements-rcheevos-31f8788fe0e694e99db7ce138d45a655c556fa96_GH0.tar.gz) = 522855 SHA256 (biojppm-c4core-d35c7c9bf370134595699d791e6ff8db018ddc8d_GH0.tar.gz) = b768c8fb5dd4740317b7e1a3e43a0b32615d4d4e1e974d7ab515a80d2f1f318d SIZE (biojppm-c4core-d35c7c9bf370134595699d791e6ff8db018ddc8d_GH0.tar.gz) = 262210 SHA256 (biojppm-cmake-371982300ff5a076d7c3199057ebed77bbe3472f_GH0.tar.gz) = 1d3ded3a552a5993c8ebe5059a9829e0e26ae4f4780c179a11882d25da203de6 diff --git a/emulators/pcsx2/files/patch-3rdparty-cubeb-CMakeLists.txt b/emulators/pcsx2/files/patch-3rdparty-cubeb-CMakeLists.txt new file mode 100644 index 000000000000..19ab3f3f456d --- /dev/null +++ b/emulators/pcsx2/files/patch-3rdparty-cubeb-CMakeLists.txt @@ -0,0 +1,18 @@ +Help cubeb find local headers: +3rdparty/cubeb/src/cubeb_pulse.c:14:10: fatal error: 'pulse/pulseaudio.h' file not found + +--- 3rdparty/cubeb/CMakeLists.txt.orig 2022-10-20 13:57:30 UTC ++++ 3rdparty/cubeb/CMakeLists.txt +@@ -43,8 +43,10 @@ add_library(cubeb + src/cubeb_strings.c + src/cubeb_utils.cpp + ) +-target_include_directories(cubeb +- PUBLIC $ $ ++target_include_directories(cubeb PUBLIC ++ $ ++ $ ++ $ + ) + set_target_properties(cubeb PROPERTIES + VERSION ${cubeb_VERSION} diff --git a/emulators/pcsx2/files/patch-3rdparty_glad_CMakeLists.txt b/emulators/pcsx2/files/patch-3rdparty_glad_CMakeLists.txt index c8f7fd944f21..9d1c1702a30f 100644 --- a/emulators/pcsx2/files/patch-3rdparty_glad_CMakeLists.txt +++ b/emulators/pcsx2/files/patch-3rdparty_glad_CMakeLists.txt @@ -1,3 +1,6 @@ +Help glad find local headers: +3rdparty/glad/include/glad_egl.h:212:10: fatal error: 'KHR/khrplatform.h' file not found + --- 3rdparty/glad/CMakeLists.txt.orig 2022-09-02 10:21:30 UTC +++ 3rdparty/glad/CMakeLists.txt @@ -12,6 +12,7 @@ elseif(X11_API OR WAYLAND_API) diff --git a/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake b/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake deleted file mode 100644 index f251c7ced6e8..000000000000 --- a/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake +++ /dev/null @@ -1,18 +0,0 @@ -Enable building with WX 3.1 - ---- cmake/SearchForStuff.cmake.orig 2022-09-02 10:21:30 UTC -+++ cmake/SearchForStuff.cmake -@@ -81,7 +81,12 @@ else() - endif() - else() - if (${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") -- set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config") -+ if(EXISTS "/usr/local/bin/wxgtk3u-3.1-config") -+ set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.1-config") -+ endif() -+ if(EXISTS "/usr/local/bin/wxgtk3u-3.0-config") -+ set(wxWidgets_CONFIG_EXECUTABLE "/usr/local/bin/wxgtk3u-3.0-config") -+ endif() - endif() - if(EXISTS "/usr/bin/wx-config-3.2") - set(wxWidgets_CONFIG_EXECUTABLE "/usr/bin/wx-config-3.2") diff --git a/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp b/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp new file mode 100644 index 000000000000..726f5dd334f7 --- /dev/null +++ b/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp @@ -0,0 +1,24 @@ +--- common/Linux/LnxHostSys.cpp.orig 2022-10-20 13:57:30 UTC ++++ common/Linux/LnxHostSys.cpp +@@ -153,7 +153,12 @@ void HostSys::MemProtect(void* baseaddr, size_t size, + std::string HostSys::GetFileMappingName(const char* prefix) + { + const unsigned pid = static_cast(getpid()); ++#if defined(__FreeBSD__) ++ // FreeBSD's shm_open(3) requires name to be absolute ++ return fmt::format("/tmp/{}_{}", prefix, pid); ++#else + return fmt::format("{}_{}", prefix, pid); ++#endif + } + + void* HostSys::CreateSharedMemory(const char* name, size_t size) +@@ -169,7 +174,7 @@ void* HostSys::CreateSharedMemory(const char* name, si + shm_unlink(name); + + // ensure it's the correct size +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + if (ftruncate64(fd, static_cast(size)) < 0) + #else + if (ftruncate(fd, static_cast(size)) < 0) diff --git a/emulators/pcsx2/files/patch-common-Linux-LnxMisc.cpp b/emulators/pcsx2/files/patch-common-Linux-LnxMisc.cpp new file mode 100644 index 000000000000..95208b965839 --- /dev/null +++ b/emulators/pcsx2/files/patch-common-Linux-LnxMisc.cpp @@ -0,0 +1,11 @@ +--- common/Linux/LnxMisc.cpp.orig 2022-10-20 13:57:30 UTC ++++ common/Linux/LnxMisc.cpp +@@ -72,6 +72,8 @@ std::string GetOSVersionString() + + static bool SetScreensaverInhibitX11(const WindowInfo& wi, bool inhibit) + { ++ extern char **environ; ++ + const char* command = "xdg-screensaver"; + const char* operation = inhibit ? "suspend" : "resume"; + std::string id = fmt::format("0x{:X}", static_cast(reinterpret_cast(wi.window_handle))); diff --git a/emulators/pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp b/emulators/pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp new file mode 100644 index 000000000000..4a8f5c3b5f60 --- /dev/null +++ b/emulators/pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp @@ -0,0 +1,13 @@ +Fix crash when clicking on "Network and HDD Settings" + +--- pcsx2/DEV9/ConfigUI.cpp.orig 2022-10-20 13:57:30 UTC ++++ pcsx2/DEV9/ConfigUI.cpp +@@ -366,7 +366,7 @@ class DEV9Dialog : public wxDialog (public) + m_eth_adapter->SetSelection(selection); + // Update minimum sizes for the possibly increased dropdown size + // Nothing else seems to update the minimum size of the window +- SetSizerAndFit(GetSizer(), false); ++ // SetSizerAndFit(GetSizer(), false); + } + + void OnCheck(wxCommandEvent&) diff --git a/emulators/pcsx2/pkg-plist b/emulators/pcsx2/pkg-plist index 756f75747be5..f965d9edcde4 100644 --- a/emulators/pcsx2/pkg-plist +++ b/emulators/pcsx2/pkg-plist @@ -112,6 +112,10 @@ bin/pcsx2 %%DATADIR%%/resources/shaders/vulkan/present.glsl %%DATADIR%%/resources/shaders/vulkan/shadeboost.glsl %%DATADIR%%/resources/shaders/vulkan/tfx.glsl +%%DATADIR%%/resources/sounds/achievements/README.txt +%%DATADIR%%/resources/sounds/achievements/lbsubmit.wav +%%DATADIR%%/resources/sounds/achievements/message.wav +%%DATADIR%%/resources/sounds/achievements/unlock.wav share/applications/PCSX2.desktop %%PORTDOCS%%%%DOCSDIR%%/Configuration_Guide.pdf %%PORTDOCS%%%%DOCSDIR%%/PCSX2_FAQ.pdf