diff --git a/emulators/pcsx2/Makefile b/emulators/pcsx2/Makefile index 5ed27e474fe2..ff01c1a8ff2e 100644 --- a/emulators/pcsx2/Makefile +++ b/emulators/pcsx2/Makefile @@ -1,99 +1,99 @@ PORTNAME= pcsx2 -PORTVERSION= 2.4.0 -PORTREVISION= 3 +PORTVERSION= 2.6.3 DISTVERSIONPREFIX= v CATEGORIES= emulators MAINTAINER= martymac@FreeBSD.org COMMENT= Free and open-source PlayStation 2 emulator WWW= https://pcsx2.net LICENSE= GPLv3 LGPL3 LICENSE_COMB= multi ONLY_FOR_ARCHS= amd64 BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers # Notes on dependencies (see cmake/SearchForStuff.cmake): # - glad comes from 3rdparty/ (conflicts with libglvnd) # - fmt, rapidyaml, soundtouch, zydis, libzip # are always included from 3rdparty/ LIB_DEPENDS= libpng.so:graphics/png \ libzstd.so:archivers/zstd \ liblz4.so:archivers/liblz4 \ libwebp.so:graphics/webp \ libfreetype.so:print/freetype2 \ libplutovg.so:graphics/plutovg \ libplutosvg.so:graphics/plutosvg \ libshaderc_shared.so:graphics/shaderc \ + libxkbcommon.so:x11/libxkbcommon \ libcurl.so:ftp/curl \ libavcodec.so:multimedia/ffmpeg \ libavformat.so:multimedia/ffmpeg \ libavutil.so:multimedia/ffmpeg \ libswresample.so:multimedia/ffmpeg \ libswscale.so:multimedia/ffmpeg \ libbacktrace.so:devel/libbacktrace \ libdbus-1.so:devel/dbus \ libpulse.so:audio/pulseaudio \ libjack.so:audio/jack \ libsndio.so:audio/sndio \ libkddockwidgets-qt6.so:x11-toolkits/kddockwidgets \ libsysinfo.so:devel/libsysinfo USES= cmake compiler:c++20-lang \ desktop-file-utils elfctl gl jpeg pkgconfig qt:6 sdl xorg USE_GITHUB= yes GH_PROJECT= pcsx2 USE_GL= egl USE_SDL= sdl3 ttf3 USE_XORG= ice x11 xcb xext xi xpm xrandr xrender USE_QT= base declarative tools ELF_FEATURES= +wxneeded:bin/pcsx2-qt # SSE 4.1 instructions are a hard requirement, if CPUTYPE is defined # use whatever is set and let the build fail if it falls below # baseline requirements. If it's undefined set penryn as target # as it's the oldest CPU arch that supports SSE 4.1 .if defined(CPUTYPE) EXTRA_PATCHES= ${PATCHDIR}/extra-patch-no-march-native .else EXTRA_PATCHES= ${PATCHDIR}/extra-patch-no-march-minimum-req .endif # See: cmake/BuildParameters.cmake # XXX Vulkan comes from 3rdparty/ CMAKE_ARGS+= \ -DCMAKE_REQUIRED_INCLUDES:STRING=${LOCALBASE}/include/ \ -DCMAKE_LOCALBASE:STRING=${LOCALBASE} \ -DPCSX2_RESOURCES_PATH:STRING=${DATADIR}/resources \ -DUSE_VTUNE:BOOL=OFF \ -DWAYLAND_API=OFF \ -DENABLE_TESTS:BOOL=OFF OPTIONS_DEFINE= DOCS -PORTDOCS= Debugger.pdf GameIndex.pdf +PORTDOCS= GameIndex.pdf # Stable releases use an even minor number PORTSCOUT= limit:^v[0-9]+.[02468]. # - 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}/ && \ ${RM} -rf ${STAGEDIR}${DATADIR}/resources/docs/ ${INSTALL_PROGRAM} ${CONFIGURE_WRKSRC}/bin/pcsx2-qt \ ${STAGEDIR}${PREFIX}/bin/ ${INSTALL_DATA} ${WRKSRC}/pcsx2-qt/resources/icons/AppIcon64.png \ ${STAGEDIR}${PREFIX}/share/pixmaps/PCSX2.png ${INSTALL_DATA} ${WRKSRC}/.github/workflows/scripts/linux/pcsx2-qt.desktop \ ${STAGEDIR}${PREFIX}/share/applications/PCSX2.desktop post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR} && \ ${INSTALL_DATA} ${PORTDOCS:S|^|${CONFIGURE_WRKSRC}/bin/resources/docs/|} \ ${STAGEDIR}${DOCSDIR} .include diff --git a/emulators/pcsx2/distinfo b/emulators/pcsx2/distinfo index fc07e9b05e9d..6e94e3a9959e 100644 --- a/emulators/pcsx2/distinfo +++ b/emulators/pcsx2/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1760465569 -SHA256 (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = b18f0f4c28e482e7f88c5f428bd445fd511facabbb426dfd72d55ee904cc74c1 -SIZE (pcsx2-pcsx2-v2.4.0_GH0.tar.gz) = 20096340 +TIMESTAMP = 1779664132 +SHA256 (pcsx2-pcsx2-v2.6.3_GH0.tar.gz) = f77f999d57229720486d12fce98a4cb957cec8a2cabce79f4f936bdae11d24e7 +SIZE (pcsx2-pcsx2-v2.6.3_GH0.tar.gz) = 29166310 diff --git a/emulators/pcsx2/files/patch-3rdparty_rapidyaml_include_c4_yml_common.hpp b/emulators/pcsx2/files/patch-3rdparty_rapidyaml_include_c4_yml_common.hpp new file mode 100644 index 000000000000..6fd0c31051ae --- /dev/null +++ b/emulators/pcsx2/files/patch-3rdparty_rapidyaml_include_c4_yml_common.hpp @@ -0,0 +1,11 @@ +--- 3rdparty/rapidyaml/include/c4/yml/common.hpp.orig 2026-01-28 16:36:27 UTC ++++ 3rdparty/rapidyaml/include/c4/yml/common.hpp +@@ -11,6 +11,8 @@ + + #if defined(C4_MSVC) || defined(C4_MINGW) || defined(_WIN32) || defined(C4_WIN) + #include ++#elif defined(__FreeBSD__) ++#include + #else + #include + #endif diff --git a/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake b/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake index 78085c60ee3c..51deea8ce96e 100644 --- a/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake +++ b/emulators/pcsx2/files/patch-cmake-SearchForStuff.cmake @@ -1,26 +1,15 @@ Backport [1] to fix build with Qt 6.10. [1] https://github.com/PCSX2/pcsx2/commit/8dffc857079e942ca77b091486c20c3c6530e4ed --- cmake/SearchForStuff.cmake.orig 2025-06-29 19:47:12 UTC +++ cmake/SearchForStuff.cmake @@ -1,6 +1,8 @@ #------------------------------------------------------------------------------- # Search all libraries on the system #------------------------------------------------------------------------------- +list(APPEND CMAKE_MODULE_PATH ${CMAKE_LOCALBASE}/lib/cmake/SDL3_ttf) +include(PkgConfigHelper) find_package(Git) # Require threads on all OSes. -@@ -108,6 +110,10 @@ find_package(Qt6 6.7.3 COMPONENTS CoreTools Core GuiTo - - # Find the Qt components that we need. - find_package(Qt6 6.7.3 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets LinguistTools REQUIRED) -+ -+if(Qt6_VERSION VERSION_GREATER_EQUAL 6.10.0) -+ find_package(Qt6 COMPONENTS GuiPrivate REQUIRED) -+endif() - - if(WIN32) - add_subdirectory(3rdparty/rainterface EXCLUDE_FROM_ALL) diff --git a/emulators/pcsx2/files/patch-pcsx2-qt_CMakeLists.txt b/emulators/pcsx2/files/patch-pcsx2-qt_CMakeLists.txt deleted file mode 100644 index 859962dfd714..000000000000 --- a/emulators/pcsx2/files/patch-pcsx2-qt_CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -Back port [1] to fix build with Qt 6.10. - -[1] https://github.com/PCSX2/pcsx2/commit/8dffc857079e942ca77b091486c20c3c6530e4ed - ---- pcsx2-qt/CMakeLists.txt.orig 2025-06-29 19:47:12 UTC -+++ pcsx2-qt/CMakeLists.txt -@@ -265,6 +265,7 @@ target_link_libraries(pcsx2-qt PRIVATE - PCSX2 - Qt6::Core - Qt6::Gui -+ Qt6::GuiPrivate - Qt6::Widgets - KDAB::kddockwidgets - ) diff --git a/emulators/pcsx2/pkg-plist b/emulators/pcsx2/pkg-plist index bb7a5b01dff3..ee31cb37ce35 100644 --- a/emulators/pcsx2/pkg-plist +++ b/emulators/pcsx2/pkg-plist @@ -1,87 +1,107 @@ bin/pcsx2-qt share/applications/PCSX2.desktop %%DATADIR%%/resources/GameIndex.yaml %%DATADIR%%/resources/RedumpDatabase.yaml %%DATADIR%%/resources/cover-placeholder.png +%%DATADIR%%/resources/fonts/NotoColorEmoji-Regular-license +%%DATADIR%%/resources/fonts/NotoColorEmoji-Regular.ttf %%DATADIR%%/resources/fonts/Roboto-Regular-copyright %%DATADIR%%/resources/fonts/Roboto-Regular.ttf %%DATADIR%%/resources/fonts/RobotoMono-Medium.ttf %%DATADIR%%/resources/fonts/fa-solid-900.ttf %%DATADIR%%/resources/fonts/promptfont-license %%DATADIR%%/resources/fonts/promptfont.otf %%DATADIR%%/resources/fullscreenui/applications-system.svg %%DATADIR%%/resources/fullscreenui/back-icon.svg %%DATADIR%%/resources/fullscreenui/desktop-mode.svg %%DATADIR%%/resources/fullscreenui/drive-cdrom.svg %%DATADIR%%/resources/fullscreenui/exit.svg -%%DATADIR%%/resources/fullscreenui/game-list.svg %%DATADIR%%/resources/fullscreenui/media-cdrom.svg %%DATADIR%%/resources/fullscreenui/no-save.png %%DATADIR%%/resources/fullscreenui/placeholder.png %%DATADIR%%/resources/fullscreenui/start-bios.svg %%DATADIR%%/resources/fullscreenui/start-file.svg +%%DATADIR%%/resources/fullscreenui/start-game.svg %%DATADIR%%/resources/game_controller_db.txt %%DATADIR%%/resources/icons/AppBanner.svg +%%DATADIR%%/resources/icons/AppIconLarge.ico %%DATADIR%%/resources/icons/AppIconLarge.png %%DATADIR%%/resources/icons/flags/LICENSE -%%DATADIR%%/resources/icons/flags/NTSC-B.svg -%%DATADIR%%/resources/icons/flags/NTSC-C.svg -%%DATADIR%%/resources/icons/flags/NTSC-HK.svg -%%DATADIR%%/resources/icons/flags/NTSC-J.svg -%%DATADIR%%/resources/icons/flags/NTSC-K.svg -%%DATADIR%%/resources/icons/flags/NTSC-T.svg -%%DATADIR%%/resources/icons/flags/NTSC-U.svg +%%DATADIR%%/resources/icons/flags/LICENSESCN %%DATADIR%%/resources/icons/flags/Other.svg -%%DATADIR%%/resources/icons/flags/PAL-A.svg -%%DATADIR%%/resources/icons/flags/PAL-AF.svg -%%DATADIR%%/resources/icons/flags/PAL-AU.svg -%%DATADIR%%/resources/icons/flags/PAL-BE.svg -%%DATADIR%%/resources/icons/flags/PAL-E.svg -%%DATADIR%%/resources/icons/flags/PAL-F.svg -%%DATADIR%%/resources/icons/flags/PAL-FI.svg -%%DATADIR%%/resources/icons/flags/PAL-G.svg -%%DATADIR%%/resources/icons/flags/PAL-GR.svg -%%DATADIR%%/resources/icons/flags/PAL-I.svg -%%DATADIR%%/resources/icons/flags/PAL-IN.svg -%%DATADIR%%/resources/icons/flags/PAL-M.svg -%%DATADIR%%/resources/icons/flags/PAL-NL.svg -%%DATADIR%%/resources/icons/flags/PAL-NO.svg -%%DATADIR%%/resources/icons/flags/PAL-P.svg -%%DATADIR%%/resources/icons/flags/PAL-PL.svg -%%DATADIR%%/resources/icons/flags/PAL-R.svg -%%DATADIR%%/resources/icons/flags/PAL-S.svg -%%DATADIR%%/resources/icons/flags/PAL-SC.svg -%%DATADIR%%/resources/icons/flags/PAL-SW.svg -%%DATADIR%%/resources/icons/flags/PAL-SWI.svg -%%DATADIR%%/resources/icons/flags/PAL-UK.svg +%%DATADIR%%/resources/icons/flags/at.svg +%%DATADIR%%/resources/icons/flags/au.svg +%%DATADIR%%/resources/icons/flags/be.svg +%%DATADIR%%/resources/icons/flags/br.svg +%%DATADIR%%/resources/icons/flags/ch.svg +%%DATADIR%%/resources/icons/flags/cn.svg +%%DATADIR%%/resources/icons/flags/cz.svg +%%DATADIR%%/resources/icons/flags/de.svg +%%DATADIR%%/resources/icons/flags/dk.svg +%%DATADIR%%/resources/icons/flags/es.svg +%%DATADIR%%/resources/icons/flags/eu.svg +%%DATADIR%%/resources/icons/flags/fi.svg +%%DATADIR%%/resources/icons/flags/fr.svg +%%DATADIR%%/resources/icons/flags/gb.svg +%%DATADIR%%/resources/icons/flags/gr.svg +%%DATADIR%%/resources/icons/flags/hk.svg +%%DATADIR%%/resources/icons/flags/hr.svg +%%DATADIR%%/resources/icons/flags/hu.svg +%%DATADIR%%/resources/icons/flags/id.svg +%%DATADIR%%/resources/icons/flags/il.svg +%%DATADIR%%/resources/icons/flags/in.svg +%%DATADIR%%/resources/icons/flags/ir.svg +%%DATADIR%%/resources/icons/flags/it.svg +%%DATADIR%%/resources/icons/flags/jp.svg +%%DATADIR%%/resources/icons/flags/kr.svg +%%DATADIR%%/resources/icons/flags/lt.svg +%%DATADIR%%/resources/icons/flags/lv.svg +%%DATADIR%%/resources/icons/flags/mx.svg +%%DATADIR%%/resources/icons/flags/nl.svg +%%DATADIR%%/resources/icons/flags/no.svg +%%DATADIR%%/resources/icons/flags/pl.svg +%%DATADIR%%/resources/icons/flags/pt.svg +%%DATADIR%%/resources/icons/flags/ro.svg +%%DATADIR%%/resources/icons/flags/rs.svg +%%DATADIR%%/resources/icons/flags/ru.svg +%%DATADIR%%/resources/icons/flags/sa.svg +%%DATADIR%%/resources/icons/flags/scn.svg +%%DATADIR%%/resources/icons/flags/se.svg +%%DATADIR%%/resources/icons/flags/tr.svg +%%DATADIR%%/resources/icons/flags/tw.svg +%%DATADIR%%/resources/icons/flags/ua.svg +%%DATADIR%%/resources/icons/flags/us.svg +%%DATADIR%%/resources/icons/flags/vn.svg +%%DATADIR%%/resources/icons/flags/za.svg +%%DATADIR%%/resources/icons/ra-icon.svg %%DATADIR%%/resources/icons/star-0.svg %%DATADIR%%/resources/icons/star-1.svg %%DATADIR%%/resources/icons/star-2.svg %%DATADIR%%/resources/icons/star-3.svg %%DATADIR%%/resources/icons/star-4.svg %%DATADIR%%/resources/icons/star-5.svg %%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/convert.glsl %%DATADIR%%/resources/shaders/opengl/imgui.glsl %%DATADIR%%/resources/shaders/opengl/interlace.glsl %%DATADIR%%/resources/shaders/opengl/merge.glsl %%DATADIR%%/resources/shaders/opengl/present.glsl %%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/imgui.glsl %%DATADIR%%/resources/shaders/vulkan/interlace.glsl %%DATADIR%%/resources/shaders/vulkan/merge.glsl %%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/pixmaps/PCSX2.png