git: 7fa2c3a08078 - main - emulators/pcsx2: Update to 1.7.3465

From: Ganael LAPLANCHE <martymac_at_FreeBSD.org>
Date: Thu, 27 Oct 2022 14:47:37 UTC
The branch main has been updated by martymac:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7fa2c3a080782a32ad8d67dc62277b9d90fe4de2

commit 7fa2c3a080782a32ad8d67dc62277b9d90fe4de2
Author:     Ganael LAPLANCHE <martymac@FreeBSD.org>
AuthorDate: 2022-10-27 14:46:51 +0000
Commit:     Ganael LAPLANCHE <martymac@FreeBSD.org>
CommitDate: 2022-10-27 14:46:51 +0000

    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 ++++++++++++++++
 .../pcsx2/files/patch-3rdparty_glad_CMakeLists.txt |  3 +++
 .../pcsx2/files/patch-cmake-SearchForStuff.cmake   | 18 ----------------
 .../pcsx2/files/patch-common-Linux-LnxHostSys.cpp  | 24 ++++++++++++++++++++++
 .../pcsx2/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(-)

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 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>
++target_include_directories(cubeb PUBLIC
++  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
++  $<BUILD_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>
++  $<INSTALL_INTERFACE:include>
+ )
+ 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<unsigned>(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<off64_t>(size)) < 0)
+ #else
+ 	if (ftruncate(fd, static_cast<off_t>(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<u64>(reinterpret_cast<uintptr_t>(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