git: 47a713a505c4 - main - emulators/pcsx2: Update to 1.7.4075
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 14 Feb 2023 11:27:56 UTC
The branch main has been updated by martymac:
URL: https://cgit.FreeBSD.org/ports/commit/?id=47a713a505c4386d91c1a32825fc638b5f201597
commit 47a713a505c4386d91c1a32825fc638b5f201597
Author: Ganael LAPLANCHE <martymac@FreeBSD.org>
AuthorDate: 2023-02-14 11:26:55 +0000
Commit: Ganael LAPLANCHE <martymac@FreeBSD.org>
CommitDate: 2023-02-14 11:27:46 +0000
emulators/pcsx2: Update to 1.7.4075
Also, switch to qt build as wx is not supported upstream anymore
---
emulators/pcsx2/Makefile | 45 +++++++++------
emulators/pcsx2/distinfo | 6 +-
.../pcsx2/files/patch-common-Linux-LnxHostSys.cpp | 29 +++-------
.../pcsx2/files/patch-common-Linux-LnxMisc.cpp | 11 ----
.../pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp | 13 -----
.../files/patch-pcsx2-Frontend-CommonHost.cpp | 13 +++++
emulators/pcsx2/files/patch-relocate-resources.txt | 36 ++++++++++++
emulators/pcsx2/pkg-plist | 66 +++-------------------
8 files changed, 96 insertions(+), 123 deletions(-)
diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile
index 0348e11f5fdb..0f2b85b0774b 100644
--- a/emulators/pcsx2/Makefile
+++ b/emulators/pcsx2/Makefile
@@ -1,6 +1,5 @@
PORTNAME= pcsx2
-PORTVERSION= 1.7.3465
-PORTREVISION= 1
+PORTVERSION= 1.7.4075
CATEGORIES= emulators
MAINTAINER= martymac@FreeBSD.org
@@ -16,6 +15,7 @@ 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)
+# - zydis comes from 3rdparty/
LIB_DEPENDS= libpng.so:graphics/png \
libpulse.so:audio/pulseaudio \
libSoundTouch.so:audio/soundtouch \
@@ -24,12 +24,13 @@ LIB_DEPENDS= libpng.so:graphics/png \
libzip.so:archivers/libzip \
libpulse.so:audio/pulseaudio \
libjack.so:audio/jack \
- libsndio.so:audio/sndio
+ libsndio.so:audio/sndio \
+ libcurl.so:ftp/curl
# libryml.so:devel/rapidyaml \
# libglad.so:graphics/glad \
# libzstd.so:archivers/zstd
-USES= cmake desktop-file-utils gl gnome pkgconfig sdl xorg
+USES= cmake desktop-file-utils gl pkgconfig qt:6 sdl xorg
USE_GITHUB= yes
GH_PROJECT= pcsx2
@@ -37,29 +38,39 @@ GH_TAGNAME= v${PORTVERSION}
.include "${.CURDIR}/Makefile.tuples"
USE_GL= egl
-USE_GNOME= glib20 gtk30
USE_SDL= sdl2
USE_XORG= ice x11 xcb xext xpm xrandr
-USE_WX= 3.0+
+USE_QT= base tools
# See: cmake/BuildParameters.cmake
CMAKE_ARGS+= \
-DCMAKE_REQUIRED_INCLUDES:STRING=${LOCALBASE}/include/ \
- -DCMAKE_INSTALL_DOCDIR=${DOCSDIR} \
- -DPACKAGE_MODE:BOOL=ON \
- -DQT_BUILD:BOOL=OFF \
+ -DQT_BUILD:BOOL=ON \
-DUSE_VTUNE:BOOL=OFF \
-DUSE_VULKAN:BOOL=OFF \
-DENABLE_TESTS:BOOL=OFF \
- -DDISABLE_PCSX2_WRAPPER:BOOL=ON \
- -DDISABLE_SETCAP:BOOL=ON
-DATADIR= ${PREFIX}/share/PCSX2
+ -DPCSX2_RESOURCES_PATH:STRING=${DATADIR}/resources
-OPTIONS_DEFINE= DOCS NLS
-OPTIONS_SUB= yes
-NLS_USES= gettext
-NLS_CMAKE_ON= -DNO_TRANSLATION:BOOL=OFF
-NLS_CMAKE_OFF= -DNO_TRANSLATION:BOOL=ON
+OPTIONS_DEFINE= DOCS
+PORTDOCS= Debugger.pdf GameIndex.pdf PCSX2_FAQ.pdf
+
+# - Program and resources are copied from target dir ${CONFIGURE_WRKSRC}/bin
+# because only necessary resources are installed there (e.g. no dx11 stuff)
+do-install:
+ cd ${CONFIGURE_WRKSRC}/bin && \
+ ${COPYTREE_SHARE} resources/ ${STAGEDIR}${DATADIR}/
+ ${INSTALL_PROGRAM} ${CONFIGURE_WRKSRC}/bin/pcsx2-qt \
+ ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_DATA} ${WRKSRC}/pcsx2/Resources/AppIcon64.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/PCSX2.png
+ ${INSTALL_DATA} ${WRKSRC}/.github/workflows/scripts/linux/pcsx2-qt.desktop \
+ ${STAGEDIR}${PREFIX}/share/applications/PCSX2.desktop
+ ${INSTALL_MAN} ${WRKSRC}/bin/docs/PCSX2.1 ${STAGEDIR}${MANPREFIX}/man/man1/
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR} && \
+ ${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/bin/docs/|} \
+ ${STAGEDIR}${DOCSDIR}
# For maintainer (do not forget to clean up Makefile.tuples afterwards to
# remove useless submodules)
diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo
index ee4f71df4910..46af9a781096 100644
--- a/emulators/pcsx2/distinfo
+++ b/emulators/pcsx2/distinfo
@@ -1,6 +1,6 @@
-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
+TIMESTAMP = 1676320977
+SHA256 (pcsx2-pcsx2-1.7.4075-v1.7.4075_GH0.tar.gz) = f4101a0fa703ebc0ff52c4d4bb017c536f97af6ef6907a429512e47f1cc593b6
+SIZE (pcsx2-pcsx2-1.7.4075-v1.7.4075_GH0.tar.gz) = 9193940
SHA256 (rtissera-libchdr-5de1a59019815ccdbba0fe07c71b31406d023248_GH0.tar.gz) = e0df9f88cd93e673d384cbf7cf28ea396aba96c769b41ec149a259768b27b00c
SIZE (rtissera-libchdr-5de1a59019815ccdbba0fe07c71b31406d023248_GH0.tar.gz) = 414409
SHA256 (biojppm-rapidyaml-213b201d264139cd1b887790197e08850af628e3_GH0.tar.gz) = c206d4565ccfa721991a8df90821d1a1f747e68385a0f3f5b9ab995e191c06be
diff --git a/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp b/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp
index 726f5dd334f7..848b8a424690 100644
--- a/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp
+++ b/emulators/pcsx2/files/patch-common-Linux-LnxHostSys.cpp
@@ -1,24 +1,11 @@
---- common/Linux/LnxHostSys.cpp.orig 2022-10-20 13:57:30 UTC
+--- common/Linux/LnxHostSys.cpp.orig 2023-02-10 03:43:10 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
- }
+@@ -100,6 +100,8 @@ static void SysPageFaultSignalFilter(int signal, sigin
- 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)
+ #if defined(__APPLE__) && defined(__x86_64__)
+ void* const exception_pc = reinterpret_cast<void*>(static_cast<ucontext_t*>(ctx)->uc_mcontext->__ss.__rip);
++#elif defined(__FreeBSD__) && defined(__x86_64__)
++ void* const exception_pc = reinterpret_cast<void*>(static_cast<ucontext_t*>(ctx)->uc_mcontext.mc_rip);
+ #elif defined(__x86_64__)
+ void* const exception_pc = reinterpret_cast<void*>(static_cast<ucontext_t*>(ctx)->uc_mcontext.gregs[REG_RIP]);
#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
deleted file mode 100644
index 95208b965839..000000000000
--- a/emulators/pcsx2/files/patch-common-Linux-LnxMisc.cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- 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
deleted file mode 100644
index 4a8f5c3b5f60..000000000000
--- a/emulators/pcsx2/files/patch-pcsx2-DEV9-ConfigUI.cpp
+++ /dev/null
@@ -1,13 +0,0 @@
-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/files/patch-pcsx2-Frontend-CommonHost.cpp b/emulators/pcsx2/files/patch-pcsx2-Frontend-CommonHost.cpp
new file mode 100644
index 000000000000..f6516815a51e
--- /dev/null
+++ b/emulators/pcsx2/files/patch-pcsx2-Frontend-CommonHost.cpp
@@ -0,0 +1,13 @@
+Handle config path on FreeBSD
+
+--- pcsx2/Frontend/CommonHost.cpp.orig 2023-02-10 03:43:10 UTC
++++ pcsx2/Frontend/CommonHost.cpp
+@@ -160,7 +160,7 @@ void CommonHost::SetDataDirectory()
+ EmuFolders::DataRoot = Path::Combine(StringUtil::WideStringToUTF8String(documents_directory), "PCSX2");
+ CoTaskMemFree(documents_directory);
+ }
+-#elif defined(__linux__)
++#elif defined(__linux__) || defined(__FreeBSD__)
+ // Use $XDG_CONFIG_HOME/PCSX2 if it exists.
+ const char* xdg_config_home = getenv("XDG_CONFIG_HOME");
+ if (xdg_config_home && Path::IsAbsolute(xdg_config_home))
diff --git a/emulators/pcsx2/files/patch-relocate-resources.txt b/emulators/pcsx2/files/patch-relocate-resources.txt
new file mode 100644
index 000000000000..1339fab26c1d
--- /dev/null
+++ b/emulators/pcsx2/files/patch-relocate-resources.txt
@@ -0,0 +1,36 @@
+Allow relocation of resource files
+
+--- cmake/BuildParameters.cmake.orig 2023-02-10 03:43:10 UTC
++++ cmake/BuildParameters.cmake
+@@ -260,6 +260,10 @@
+ list(APPEND PCSX2_DEFS DISABLE_BUILD_DATE)
+ endif()
+
++if(DEFINED PCSX2_RESOURCES_PATH)
++ add_compile_definitions(PCSX2_RESOURCES_PATH="${PCSX2_RESOURCES_PATH}")
++endif()
++
+ #-------------------------------------------------------------------------------
+ # MacOS-specific things
+ #-------------------------------------------------------------------------------
+--- pcsx2/Frontend/CommonHost.cpp.orig 2023-02-10 03:43:10 UTC
++++ pcsx2/Frontend/CommonHost.cpp
+@@ -128,6 +128,10 @@
+
+ void CommonHost::SetResourcesDirectory()
+ {
++#ifdef PCSX2_RESOURCES_PATH
++ // Resources' path specified at compile time
++ EmuFolders::Resources = Path::Canonicalize(PCSX2_RESOURCES_PATH);
++#else
+ #ifndef __APPLE__
+ // On Windows/Linux, these are in the binary directory.
+ EmuFolders::Resources = Path::Combine(EmuFolders::AppRoot, "resources");
+@@ -135,6 +139,7 @@
+ // On macOS, this is in the bundle resources directory.
+ EmuFolders::Resources = Path::Canonicalize(Path::Combine(EmuFolders::AppRoot, "../Resources"));
+ #endif
++#endif // PCSX2_RESOURCES_PATH
+ }
+
+ bool CommonHost::ShouldUsePortableMode()
diff --git a/emulators/pcsx2/pkg-plist b/emulators/pcsx2/pkg-plist
index f965d9edcde4..b9a4c78bf633 100644
--- a/emulators/pcsx2/pkg-plist
+++ b/emulators/pcsx2/pkg-plist
@@ -1,4 +1,7 @@
-bin/pcsx2
+bin/pcsx2-qt
+man/man1/PCSX2.1.gz
+share/applications/PCSX2.desktop
+share/pixmaps/PCSX2.png
%%DATADIR%%/resources/GameIndex.yaml
%%DATADIR%%/resources/cover-placeholder.png
%%DATADIR%%/resources/fonts/Roboto-Regular-copyright
@@ -45,59 +48,10 @@ bin/pcsx2
%%DATADIR%%/resources/icons/star-3.png
%%DATADIR%%/resources/icons/star-4.png
%%DATADIR%%/resources/icons/star-5.png
-%%NLS%%%%DATADIR%%/resources/locale/ar_SA/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ar_SA/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/ca_ES/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ca_ES/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/cs_CZ/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/cs_CZ/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/da_DK/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/da_DK/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/de_DE/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/de_DE/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/es_ES/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/es_ES/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/fi_FI/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/fi_FI/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/fr_FR/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/fr_FR/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/hr_HR/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/hr_HR/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/hu_HU/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/hu_HU/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/id_ID/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/id_ID/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/it_IT/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/it_IT/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/ja_JP/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ja_JP/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/ko_KR/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ko_KR/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/lt_LT/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/lt_LT/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/ms_MY/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ms_MY/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/nb_NO/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/nb_NO/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/nl_NL/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/nl_NL/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/pl_PL/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/pl_PL/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/pt_BR/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/pt_BR/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/ru_RU/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/ru_RU/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/sv_SE/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/sv_SE/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/th_TH/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/th_TH/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/tr_TR/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/tr_TR/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/zh_CN/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/zh_CN/pcsx2_Main.mo
-%%NLS%%%%DATADIR%%/resources/locale/zh_TW/pcsx2_Iconized.mo
-%%NLS%%%%DATADIR%%/resources/locale/zh_TW/pcsx2_Main.mo
+%%DATADIR%%/resources/shaders/common/ffx_a.h
+%%DATADIR%%/resources/shaders/common/ffx_cas.h
%%DATADIR%%/resources/shaders/common/fxaa.fx
+%%DATADIR%%/resources/shaders/opengl/cas.glsl
%%DATADIR%%/resources/shaders/opengl/common_header.glsl
%%DATADIR%%/resources/shaders/opengl/convert.glsl
%%DATADIR%%/resources/shaders/opengl/interlace.glsl
@@ -106,6 +60,7 @@ bin/pcsx2
%%DATADIR%%/resources/shaders/opengl/shadeboost.glsl
%%DATADIR%%/resources/shaders/opengl/tfx_fs.glsl
%%DATADIR%%/resources/shaders/opengl/tfx_vgs.glsl
+%%DATADIR%%/resources/shaders/vulkan/cas.glsl
%%DATADIR%%/resources/shaders/vulkan/convert.glsl
%%DATADIR%%/resources/shaders/vulkan/interlace.glsl
%%DATADIR%%/resources/shaders/vulkan/merge.glsl
@@ -116,8 +71,3 @@ bin/pcsx2
%%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
-share/man/man1/PCSX2.1.gz
-share/pixmaps/PCSX2.xpm