diff --git a/emulators/rpcs3/Makefile b/emulators/rpcs3/Makefile index d249b3f07796..276de5e941dc 100644 --- a/emulators/rpcs3/Makefile +++ b/emulators/rpcs3/Makefile @@ -1,131 +1,130 @@ PORTNAME= rpcs3 DISTVERSIONPREFIX= v -DISTVERSION= 0.0.26 # git rev-list --count HEAD -DISTVERSIONSUFFIX= -14525-gdf718bcb0f +DISTVERSION= 0.0.27 # git rev-list --count HEAD +DISTVERSIONSUFFIX= -14783-g0178b20983 CATEGORIES= emulators wayland -PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ -PATCHFILES+= b0ee533b3216.patch:-p1 # https://github.com/RPCS3/rpcs3/pull/13257 - MAINTAINER= jbeich@FreeBSD.org COMMENT= PS3 emulator/debugger WWW= https://rpcs3.net/ LICENSE= APACHE20 ISCL GPLv2 MIT ZLIB LICENSE_COMB= multi LICENSE_FILE_ISCL= ${WRKSRC_cubeb}/LICENSE LICENSE_FILE_ZLIB= ${WRKSRC_asmjit}/LICENSE.md FLAVORS= qt5 qt6 BUILD_DEPENDS= flatc:devel/flatbuffers LIB_DEPENDS= libxxhash.so:devel/xxhash \ libcurl.so:ftp/curl \ libpng.so:graphics/png \ libavcodec.so:multimedia/ffmpeg \ libpugixml.so:textproc/pugixml ONLY_FOR_ARCHS= aarch64 amd64 ONLY_FOR_ARCHS_REASON= requires int128 and SSE2 USE_GITHUB= yes GH_ACCOUNT= RPCS3 -GH_TUPLE= RPCS3:hidapi:hidapi-0.13.0-2-ga3ce129:hidapi/3rdparty/hidapi/hidapi \ +GH_TUPLE= RPCS3:hidapi:hidapi-0.13.1-2-gecf1b62:hidapi/3rdparty/hidapi/hidapi \ RPCS3:llvm-mirror:9b52b6c39ae9:llvm/llvm \ RPCS3:soundtouch:2.3.1-16-g83cfba6:soundtouch/3rdparty/SoundTouch/soundtouch \ asmjit:asmjit:06d0bad:asmjit/3rdparty/asmjit/asmjit \ jbeder:yaml-cpp:yaml-cpp-0.7.0-1-g0b67821:yamlcpp/3rdparty/yaml-cpp/yaml-cpp \ KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-187-g85a1ed2:spirv_headers/3rdparty/SPIRV/SPIRV-Headers \ KhronosGroup:SPIRV-Tools:v2022.4:spirv_tools/3rdparty/SPIRV/SPIRV-Tools \ KhronosGroup:glslang:11.11.0-2-g10423ec6:glslang/3rdparty/glslang/glslang \ - kinetiknz:cubeb:cubeb-0.2-1391-gdc511c6:cubeb/3rdparty/cubeb/cubeb \ - wolfSSL:wolfssl:v5.5.0-stable:wolfssl/3rdparty/wolfssl/wolfssl + kinetiknz:cubeb:cubeb-0.2-1427-g70b4e3d:cubeb/3rdparty/cubeb/cubeb \ + miniupnp:miniupnp:miniupnpd_2_3_2:miniupnp/3rdparty/miniupnp/miniupnp \ + wolfSSL:wolfssl:v5.5.4-stable:wolfssl/3rdparty/wolfssl/wolfssl USES= cmake elfctl gl iconv:wchar_t localbase:ldflags \ openal:soft pkgconfig python:3.4+,build qt:5 xorg USE_GL= gl glew USE_QT= qmake:build buildtools:build core concurrent dbus gui multimedia svg widgets USE_XORG= x11 CMAKE_ON= CMAKE_SKIP_RPATH ${CURL FFMPEG FLATBUFFERS LIBPNG PUGIXML XXHASH:L:S/^/USE_SYSTEM_/} CMAKE_ON+= BUNDLE_SPEEX # only used by cubeb tests CMAKE_OFF= USE_NATIVE_INSTRUCTIONS USE_PRECOMPILED_HEADERS LDFLAGS+= -Wl,--as-needed # GLU ELF_FEATURES= +noaslr,wxneeded:bin/${PORTNAME} .if ${FLAVOR:U} == qt6 || make(makesum) || make(fetch) PATCH_SITES+= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/:qt6 -PATCHFILES+= 07549bfdfcfd.patch:-p1:qt6 # https://github.com/RPCS3/rpcs3/pull/12471 +PATCHFILES+= 98a2f373fd59.patch:-p1:qt6 # https://github.com/RPCS3/rpcs3/pull/12471 PKGNAMESUFFIX= -${FLAVOR} USES:= ${USES:S/qt:5/qt:6/} USE_QT= base multimedia svg PKGMESSAGE= ${.CURDIR}/pkg-message.${FLAVOR} CONFLICTS_INSTALL= ${PORTNAME} post-patch: ${FLAVOR}-post-patch ${FLAVOR}-post-patch: # patch(1) doesn't support renames unlike git-apply(1) @${MV} ${WRKSRC}/rpcs3/rpcs3qt/qt_camera_video_surface.cpp \ ${WRKSRC}/rpcs3/rpcs3qt/qt_camera_video_sink.cpp @${MV} ${WRKSRC}/rpcs3/rpcs3qt/qt_camera_video_surface.h \ ${WRKSRC}/rpcs3/rpcs3qt/qt_camera_video_sink.h .else CONFLICTS_INSTALL= ${PORTNAME}-qt6 .endif OPTIONS_DEFINE= ALSA EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN OPTIONS_DEFAULT=EVDEV FAUDIO PULSEAUDIO JACK SNDIO VULKAN ALSA_BUILD_DEPENDS= alsa-lib>0:audio/alsa-lib ALSA_CMAKE_BOOL= USE_ALSA EVDEV_DESC= libevdev-based joystick support EVDEV_CMAKE_BOOL= USE_LIBEVDEV EVDEV_BUILD_DEPENDS= evdev-proto>0:devel/evdev-proto -EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev +EVDEV_LIB_DEPENDS= libevdev.so:devel/libevdev \ + libudev.so:devel/libudev-devd FAUDIO_DESC= FAudio audio support FAUDIO_LIB_DEPENDS= libFAudio.so:audio/faudio FAUDIO_CMAKE_BOOL= USE_FAUDIO USE_SYSTEM_FAUDIO JACK_BUILD_DEPENDS= jackit>0:audio/jack JACK_CMAKE_BOOL= USE_JACK PULSEAUDIO_BUILD_DEPENDS=pulseaudio>0:audio/pulseaudio PULSEAUDIO_CMAKE_BOOL= USE_PULSE SNDIO_BUILD_DEPENDS= sndio>0:audio/sndio SNDIO_CMAKE_BOOL= USE_SNDIO VULKAN_DESC= Vulkan renderer VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader VULKAN_CMAKE_BOOL= USE_VULKAN post-patch: @${REINPLACE_CMD} -e '/GIT_BRANCH/s/local_build/master/' \ -e '/GIT_FULL_BRANCH/s/local_build/${GH_ACCOUNT}\/${GH_PROJECT}\/master/' \ -e '/GIT_VERSION/s/local_build/${GH_TAGNAME:C/[^-]*-//}/' \ ${WRKSRC}/${PORTNAME}/git-version.cmake # XXX Drop after FreeBSD 12.3 EOL around 2023-03-01 (don't forget distinfo) .if !exists(/usr/include/c++/v1/concepts) || make(makesum) || make(fetch) USES+= llvm:13,build CC= clang${LLVM_VERSION} CXX= clang++${LLVM_VERSION} CPP= clang-cpp${LLVM_VERSION} # XXX Move into separate port and standardize via USES GH_TUPLE+= llvm:llvm-project:llvmorg-13.0.1:libcxx CXXFLAGS+= -nostdinc++ -isystem${WRKDIR}/libcxx_prefix/include/c++/v1 LDFLAGS+= -nostdlib++ -L${WRKDIR}/libcxx_prefix/lib -l:libc++.a -lcxxrt pre-configure: bundled-libcxx bundled-libcxx: @${SETENV} ${CONFIGURE_ENV} ${CMAKE_BIN} ${CMAKE_ARGS:M*Ninja*} \ -DCMAKE_INSTALL_PREFIX:PATH=${WRKDIR}/libcxx_prefix \ -B ${WRKDIR}/libcxx_build -S ${WRKSRC_libcxx}/libcxx @${DO_MAKE_BUILD:NDESTDIR*} install -C ${WRKDIR}/libcxx_build .endif .include diff --git a/emulators/rpcs3/distinfo b/emulators/rpcs3/distinfo index 2618af507c33..423bde029cd1 100644 --- a/emulators/rpcs3/distinfo +++ b/emulators/rpcs3/distinfo @@ -1,29 +1,29 @@ -TIMESTAMP = 1673131661 -SHA256 (RPCS3-rpcs3-v0.0.26-14525-gdf718bcb0f_GH0.tar.gz) = 5d386755986f6e8bedfe167c147d5e540a0b09fc35d97a0d64df28f7322b0781 -SIZE (RPCS3-rpcs3-v0.0.26-14525-gdf718bcb0f_GH0.tar.gz) = 8721162 -SHA256 (RPCS3-hidapi-hidapi-0.13.0-2-ga3ce129_GH0.tar.gz) = d230e3fbbc6ef0e04b083d3a3ddfa4f1ddcaaef2aa8bb1fdb2c064b1d5b2f677 -SIZE (RPCS3-hidapi-hidapi-0.13.0-2-ga3ce129_GH0.tar.gz) = 245124 +TIMESTAMP = 1677707762 +SHA256 (RPCS3-rpcs3-v0.0.27-14783-g0178b20983_GH0.tar.gz) = 095b9b18804dff41ac341843a519bc9d9ebdb5e4b7dba8c3d9aa7890a2dcfd4a +SIZE (RPCS3-rpcs3-v0.0.27-14783-g0178b20983_GH0.tar.gz) = 8775500 +SHA256 (RPCS3-hidapi-hidapi-0.13.1-2-gecf1b62_GH0.tar.gz) = a45fdf93aeb913407f0e707769b3ee7ac58bef6d44e299065ea1df038261ac1c +SIZE (RPCS3-hidapi-hidapi-0.13.1-2-gecf1b62_GH0.tar.gz) = 245283 SHA256 (RPCS3-llvm-mirror-9b52b6c39ae9_GH0.tar.gz) = 9df78a8282453a0e1a3653664ef11ef47b8ab4d2b86e486922770ed2240788b0 SIZE (RPCS3-llvm-mirror-9b52b6c39ae9_GH0.tar.gz) = 29968896 SHA256 (RPCS3-soundtouch-2.3.1-16-g83cfba6_GH0.tar.gz) = 56863dbed27510742ed4ced54e9a5fba8658bcbfbb1cc5cdb978d7d537a3a874 SIZE (RPCS3-soundtouch-2.3.1-16-g83cfba6_GH0.tar.gz) = 524625 SHA256 (asmjit-asmjit-06d0bad_GH0.tar.gz) = e48728f90c17ddd785b2a94489bd0396dffe086195fc046b547619b2fd363e3c SIZE (asmjit-asmjit-06d0bad_GH0.tar.gz) = 972948 SHA256 (jbeder-yaml-cpp-yaml-cpp-0.7.0-1-g0b67821_GH0.tar.gz) = 97ed209bb218153ba1cd8096e4d259e559ce7119bfc93013fc843c83651047ae SIZE (jbeder-yaml-cpp-yaml-cpp-0.7.0-1-g0b67821_GH0.tar.gz) = 1033619 SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-187-g85a1ed2_GH0.tar.gz) = 2a8b49657434cbb96c20e0c1558a70d32fc8eadf80e1d611c73ff721fb3d8212 SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-187-g85a1ed2_GH0.tar.gz) = 440065 SHA256 (KhronosGroup-SPIRV-Tools-v2022.4_GH0.tar.gz) = a156215a2d7c6c5b267933ed691877a9a66f07d75970da33ce9ad627a71389d7 SIZE (KhronosGroup-SPIRV-Tools-v2022.4_GH0.tar.gz) = 3043339 SHA256 (KhronosGroup-glslang-11.11.0-2-g10423ec6_GH0.tar.gz) = 444052c288ee2507f6bc22409333d90f2d91d3272e13f619b6b61ce2bac61dde SIZE (KhronosGroup-glslang-11.11.0-2-g10423ec6_GH0.tar.gz) = 3543809 -SHA256 (kinetiknz-cubeb-cubeb-0.2-1391-gdc511c6_GH0.tar.gz) = 904cbd1e3abc0983efa99cf0b21af211d827ce9232bac20eed60ee7219443f75 -SIZE (kinetiknz-cubeb-cubeb-0.2-1391-gdc511c6_GH0.tar.gz) = 223020 -SHA256 (wolfSSL-wolfssl-v5.5.0-stable_GH0.tar.gz) = c34b74b5f689fac7becb05583b044e84d3b10d39f38709f0095dd5d423ded67f -SIZE (wolfSSL-wolfssl-v5.5.0-stable_GH0.tar.gz) = 18814382 +SHA256 (kinetiknz-cubeb-cubeb-0.2-1427-g70b4e3d_GH0.tar.gz) = d0dba91b1e280e0ab26e869d359c5716efd38abea60a96259e0aa0189832328e +SIZE (kinetiknz-cubeb-cubeb-0.2-1427-g70b4e3d_GH0.tar.gz) = 226795 +SHA256 (miniupnp-miniupnp-miniupnpd_2_3_2_GH0.tar.gz) = 3b8567490c50e698b91c657c5eada79d05de7d18c266bb600371707643d0ce3c +SIZE (miniupnp-miniupnp-miniupnpd_2_3_2_GH0.tar.gz) = 455225 +SHA256 (wolfSSL-wolfssl-v5.5.4-stable_GH0.tar.gz) = b7ee150e49def77c765bc02aac92ddeb0bebefd4cb12aa263d8f95e405221fb8 +SIZE (wolfSSL-wolfssl-v5.5.4-stable_GH0.tar.gz) = 19288452 SHA256 (llvm-llvm-project-llvmorg-13.0.1_GH0.tar.gz) = 09c50d558bd975c41157364421820228df66632802a4a6a7c9c17f86a7340802 SIZE (llvm-llvm-project-llvmorg-13.0.1_GH0.tar.gz) = 147290251 -SHA256 (b0ee533b3216.patch) = 74e0c849a404397b77cde8c8f6897955783482a8a0d0aad6320b2a17d79fa3ea -SIZE (b0ee533b3216.patch) = 1266 -SHA256 (07549bfdfcfd.patch) = 134b759d303f47c45b1bd092a7d78e630408f06ff71e05c2853313f11f190e5a -SIZE (07549bfdfcfd.patch) = 112687 +SHA256 (98a2f373fd59.patch) = 22535803eca460d45607c303f66db085f59bbe07f1e23509b5e097ed25ad3dae +SIZE (98a2f373fd59.patch) = 103152 diff --git a/emulators/rpcs3/files/patch-libc++13 b/emulators/rpcs3/files/patch-libc++13 new file mode 100644 index 000000000000..b4f61b5f22b4 --- /dev/null +++ b/emulators/rpcs3/files/patch-libc++13 @@ -0,0 +1,26 @@ +Drop after FreeBSD 12.4 EOL around 2023-12-31. + +Utilities/Config.cpp:194:23: error: no matching function for call to 'to_chars' + if (auto [ptr, ec] = std::to_chars(str.data(), str.data() + str.size(), value, std::chars_format::fixed); ec == std::errc()) + ^~~~~~~~~~~~~ +/usr/include/c++/v1/charconv:166:6: note: candidate function not viable: no known conversion from 'std::chars_format' to 'int' for 4th argument +void to_chars(char*, char*, bool, int = 10) = delete; + ^ +/usr/include/c++/v1/charconv:458:1: note: candidate template ignored: requirement 'is_integral::value' was not satisfied [with _Tp = double] +to_chars(char* __first, char* __last, _Tp __value, int __base) +^ +/usr/include/c++/v1/charconv:450:1: note: candidate function template not viable: requires 3 arguments, but 4 were provided +to_chars(char* __first, char* __last, _Tp __value) +^ + +--- Utilities/Config.cpp.orig 2023-02-25 10:23:07 UTC ++++ Utilities/Config.cpp +@@ -185,7 +185,7 @@ bool try_to_string(std::string* out, const f64& value) + + bool try_to_string(std::string* out, const f64& value) + { +-#ifdef __APPLE__ ++#if defined(_LIBCPP_VERSION) && _LIBCPP_VERSION < 14000 + if (out) *out = std::to_string(value); + return true; + #else diff --git a/emulators/rpcs3/pkg-plist b/emulators/rpcs3/pkg-plist index 20e0cfa3b800..ba42a187a405 100644 --- a/emulators/rpcs3/pkg-plist +++ b/emulators/rpcs3/pkg-plist @@ -1,56 +1,57 @@ bin/rpcs3 share/applications/rpcs3.desktop share/icons/hicolor/48x48/apps/rpcs3.png share/icons/hicolor/scalable/apps/rpcs3.svg share/metainfo/rpcs3.metainfo.xml %%DATADIR%%/GuiConfigs/Classic (Bright).qss %%DATADIR%%/GuiConfigs/Darker Style by TheMitoSan.qss %%DATADIR%%/GuiConfigs/Envy.qss %%DATADIR%%/GuiConfigs/Kuroi (Dark) by Ani.qss %%DATADIR%%/GuiConfigs/ModernBlue Theme by TheMitoSan.qss %%DATADIR%%/GuiConfigs/Nekotekina by GooseWing.qss %%DATADIR%%/GuiConfigs/Skyline (Nightfall).qss %%DATADIR%%/GuiConfigs/Skyline.qss %%DATADIR%%/GuiConfigs/YoRHa by Ani.qss %%DATADIR%%/GuiConfigs/YoRHa-background.jpg %%DATADIR%%/GuiConfigs/kot-bg.jpg %%DATADIR%%/GuiConfigs/list_arrow_blue.png %%DATADIR%%/GuiConfigs/list_arrow_down_blue.png %%DATADIR%%/GuiConfigs/list_arrow_down_green.png %%DATADIR%%/GuiConfigs/list_arrow_down_white.png %%DATADIR%%/GuiConfigs/list_arrow_green.png %%DATADIR%%/GuiConfigs/list_arrow_white.png %%DATADIR%%/Icons/ui/L1.png %%DATADIR%%/Icons/ui/L2.png %%DATADIR%%/Icons/ui/R1.png %%DATADIR%%/Icons/ui/R2.png %%DATADIR%%/Icons/ui/circle.png %%DATADIR%%/Icons/ui/cross.png %%DATADIR%%/Icons/ui/dpad.png %%DATADIR%%/Icons/ui/dpad_down.png %%DATADIR%%/Icons/ui/dpad_left.png %%DATADIR%%/Icons/ui/dpad_right.png %%DATADIR%%/Icons/ui/dpad_up.png %%DATADIR%%/Icons/ui/fade_bottom.png %%DATADIR%%/Icons/ui/fade_top.png %%DATADIR%%/Icons/ui/left_stick.png %%DATADIR%%/Icons/ui/new.png %%DATADIR%%/Icons/ui/right_stick.png %%DATADIR%%/Icons/ui/save.png %%DATADIR%%/Icons/ui/select.png +%%DATADIR%%/Icons/ui/spinner-24.png %%DATADIR%%/Icons/ui/square.png %%DATADIR%%/Icons/ui/start.png %%DATADIR%%/Icons/ui/triangle.png %%DATADIR%%/git/README.md %%DATADIR%%/git/commits.lst %%DATADIR%%/test/dump_stack.elf %%DATADIR%%/test/gs_gcm_basic_triangle.elf %%DATADIR%%/test/gs_gcm_cube.elf %%DATADIR%%/test/gs_gcm_handle_system_cmd.elf %%DATADIR%%/test/gs_gcm_hello_world.elf %%DATADIR%%/test/gs_gcm_tetris.elf %%DATADIR%%/test/pad_test.elf %%DATADIR%%/test/ppu_thread.elf %%DATADIR%%/test/pspgame.elf %%DATADIR%%/test/rpcsp.elf %%DATADIR%%/test/spurs_test.self