diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index d5756d1f0f73..0f0d2a42773a 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -1,107 +1,106 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v -DISTVERSION?= 1.20.2 -PORTREVISION= 2 +DISTVERSION?= 1.20.4 CATEGORIES= emulators MAINTAINER= kreinholz@gmail.com COMMENT= PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS WWW= https://www.ppsspp.org/ LICENSE= GPLv2+ BSD3CLAUSE LICENSE_COMB= multi LICENSE_FILE= ${WRKSRC}/LICENSE.TXT # Bi-endian architectures default to big for some reason NOT_FOR_ARCHS= powerpc powerpc64 powerpcspe NOT_FOR_ARCHS_REASON= only little-endian is supported, see \ https://github.com/hrydgard/ppsspp/issues/8823 BUILD_DEPENDS= ${LOCALBASE}/ffmpeg3/lib/libavcodec.a:multimedia/ffmpeg3 \ rapidjson>0:devel/rapidjson LIB_DEPENDS= libzip.so:archivers/libzip \ libsnappy.so:archivers/snappy \ libzstd.so:archivers/zstd \ libminiupnpc.so:net/miniupnpc \ libopenxr_loader.so:graphics/openxr \ libfreetype.so:print/freetype2 \ libchdr.so:devel/libchdr RUN_DEPENDS= xdg-open:devel/xdg-utils USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig \ desktop-file-utils USE_GITHUB= yes GH_ACCOUNT= hrydgard -GH_TUPLE?= Kingcom:armips:v0.11.0-195-ga8d71f0:armips/ext/armips \ +GH_TUPLE?= libretro:libretro-common:76a3d54feb0ee0ce9d59b90aa24694f3782063d3:libretrocommon/libretro/libretro-common \ + Kingcom:armips:v0.11.0-195-ga8d71f0:armips/ext/armips \ hrydgard:glslang:2.3-3991-g50e0708e:glslang/ext/glslang \ KhronosGroup:SPIRV-Cross:4212eef67ed0ca048cb726a6767185504e7695e5:SPIRVCross/ext/SPIRV-Cross \ unknownbrackets:ppsspp-debugger:9776332f720c854ef26f325a0cf9e32c02115a9c:ppssppdebugger/assets/debugger \ google:cpu_features:v0.4.1-211-gfd4ffc1:cpu_features/ext/cpu_features \ - RetroAchievements:rcheevos:v12.3.0:rcheevos/ext/rcheevos \ + RetroAchievements:rcheevos:v12.3.0-8-gebfe8ca:rcheevos/ext/rcheevos \ erkkah:naett:5f695cfa9fcbf30668a4d3ac4b4abf1cd89a1302:naett/ext/naett \ hrydgard:ppsspp-lua:7648485f14e8e5ee45e8e39b1eb4d3206dbd405a:ppsspplua/ext/lua \ hrydgard:nanosvg:478dbb8f7ed11c3d9b20b3986a8ee2283f483ef7:nanosvg/ext/nanosvg \ - Kethen:aemu_postoffice:f5ae0ce8cac89cfc592047925f2064a84536eeb4:aemu_postoffice/ext/aemu_postoffice \ - Kingcom:filesystem:v1.3.2-12-g3f1c185:filesystem/ext/armips/ext/filesystem \ - libretro:libretro-common:76a3d54feb0ee0ce9d59b90aa24694f3782063d3:libretrocommon/libretro/libretro-common + Kethen:aemu_postoffice:530fee545c27ffb8524a8f496cbbcfdb687fe8c5:aemu_postoffice/ext/aemu_postoffice \ + Kingcom:filesystem:v1.3.2-12-g3f1c185:filesystem/ext/armips/ext/filesystem EXCLUDE= libzip zlib USE_GL= glew opengl CMAKE_ON= ${FREETYPE LIBCHDR LIBZIP MINIUPNPC RAPIDJSON SNAPPY \ ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR CMAKE_OFF= USE_DISCORD LDFLAGS+= -Wl,--as-needed # ICE/SM/X11/Xext CONFLICTS_INSTALL= ${PORTNAME}-* DESKTOP_ENTRIES= "PPSSPP" \ "" \ "${PORTNAME}" \ "${PORTNAME} %f" \ "Game;Emulator;" \ "" EXTRACT_AFTER_ARGS= ${EXCLUDE:S,^,--exclude ,} SUB_FILES= pkg-message PORTDATA= assets OPTIONS_DEFINE= VULKAN OPTIONS_DEFAULT= VULKAN OPTIONS_SINGLE= GUI OPTIONS_SINGLE_GUI= LIBRETRO SDL OPTIONS_EXCLUDE:= ${OPTIONS_EXCLUDE} ${OPTIONS_SINGLE_GUI} OPTIONS_SLAVE?= SDL LIBRETRO_DESC= libretro core for games/retroarch VULKAN_DESC= Vulkan renderer LIBRETRO_LIB_DEPENDS= libpng.so:graphics/png LIBRETRO_CMAKE_BOOL= LIBRETRO LIBRETRO_PLIST_FILES= lib/libretro/${PORTNAME}_libretro.so LIBRETRO_VARS= CONFLICTS_INSTALL= DESKTOP_ENTRIES= PLIST= PORTDATA= PKGMESSAGE= SUB_FILES= SDL_CATEGORIES= wayland SDL_LIB_DEPENDS= libpng.so:graphics/png SDL_USES= shared-mime-info sdl SDL_USE= SDL=sdl2 SDL_VARS= EXENAME=PPSSPPSDL VULKAN_RUN_DEPENDS= ${LOCALBASE}/lib/libvulkan.so:graphics/vulkan-loader post-patch: @${REINPLACE_CMD} -e 's/Linux/${OPSYS}/' ${WRKSRC}/assets/gamecontrollerdb.txt @${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' ${WRKSRC}/UI/NativeApp.cpp @${REINPLACE_CMD} -e 's/"unknown"/"${DISTVERSIONFULL}"/' ${WRKSRC}/git-version.cmake @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' ${WRKSRC}/cmake/Modules/FindFFmpeg.cmake do-install-LIBRETRO-on: ${MKDIR} ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} ${INSTALL_LIB} ${BUILD_WRKSRC}/lib/${LIBRETRO_PLIST_FILES:T} \ ${STAGEDIR}${PREFIX}/${LIBRETRO_PLIST_FILES:H} .if ${OPTIONS_SLAVE} == LIBRETRO . for d in applications icons mime ${PORTNAME} ${RM} -r ${STAGEDIR}${PREFIX}/share/${d} . endfor .endif do-install-SDL-on: .if exists(/usr/bin/elfctl) ${ELFCTL} -e +wxneeded ${STAGEDIR}${PREFIX}/bin/* .endif ${MV} ${STAGEDIR}${PREFIX}/bin/${EXENAME} ${STAGEDIR}${PREFIX}/bin/${PORTNAME} .include diff --git a/emulators/ppsspp/distinfo b/emulators/ppsspp/distinfo index d6837e405d12..db5ab9364c16 100644 --- a/emulators/ppsspp/distinfo +++ b/emulators/ppsspp/distinfo @@ -1,27 +1,27 @@ -TIMESTAMP = 1773182792 -SHA256 (hrydgard-ppsspp-v1.20.2_GH0.tar.gz) = c145f8da40575506b93ca97ba80b2fb72dc1a6c80b8629a878d87558c28cdf65 -SIZE (hrydgard-ppsspp-v1.20.2_GH0.tar.gz) = 38231035 +TIMESTAMP = 1778956906 +SHA256 (hrydgard-ppsspp-v1.20.4_GH0.tar.gz) = d09ceb1cb041319424d72ba20bd865a04208b903247dd66ec6a4a7222e1b6f3f +SIZE (hrydgard-ppsspp-v1.20.4_GH0.tar.gz) = 38470429 +SHA256 (libretro-libretro-common-76a3d54feb0ee0ce9d59b90aa24694f3782063d3_GH0.tar.gz) = da3c61d2d47df12536a7977443387c1c3d7a750fe8c916c943860788b590db7e +SIZE (libretro-libretro-common-76a3d54feb0ee0ce9d59b90aa24694f3782063d3_GH0.tar.gz) = 769418 SHA256 (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 8a46d92b070de90cefcd89c2894344d040481e1cf6216b31f4a5e531254fed88 SIZE (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 223306 SHA256 (hrydgard-glslang-2.3-3991-g50e0708e_GH0.tar.gz) = 720e01f16e5ee2f7ada49ba0464232380bf71339c836cc4fabbabef2a741818b SIZE (hrydgard-glslang-2.3-3991-g50e0708e_GH0.tar.gz) = 3689100 SHA256 (KhronosGroup-SPIRV-Cross-4212eef67ed0ca048cb726a6767185504e7695e5_GH0.tar.gz) = a7adf77b5680795302aee160309c6cb81b0da341d92bd7face01f9a156b65aeb SIZE (KhronosGroup-SPIRV-Cross-4212eef67ed0ca048cb726a6767185504e7695e5_GH0.tar.gz) = 1703767 SHA256 (unknownbrackets-ppsspp-debugger-9776332f720c854ef26f325a0cf9e32c02115a9c_GH0.tar.gz) = 495db15fa9716d78c4958004df5a1487a94155694cceabd61fb40a2d0090fea3 SIZE (unknownbrackets-ppsspp-debugger-9776332f720c854ef26f325a0cf9e32c02115a9c_GH0.tar.gz) = 810347 SHA256 (google-cpu_features-v0.4.1-211-gfd4ffc1_GH0.tar.gz) = 20115fd59cf2db71594d71acf3dacfdaf6c1bdf54c1656f781fce4844a803e08 SIZE (google-cpu_features-v0.4.1-211-gfd4ffc1_GH0.tar.gz) = 109042 -SHA256 (RetroAchievements-rcheevos-v12.3.0_GH0.tar.gz) = bc7ab9985aee7b6a29e3d65492de9371c866236c5873a1c4493ec9cb6d2603d2 -SIZE (RetroAchievements-rcheevos-v12.3.0_GH0.tar.gz) = 436181 +SHA256 (RetroAchievements-rcheevos-v12.3.0-8-gebfe8ca_GH0.tar.gz) = 8f6d077b3faaa92fd55aeaf681887066b1d5fea6e69803d6fe9051d210c9b0e4 +SIZE (RetroAchievements-rcheevos-v12.3.0-8-gebfe8ca_GH0.tar.gz) = 438202 SHA256 (erkkah-naett-5f695cfa9fcbf30668a4d3ac4b4abf1cd89a1302_GH0.tar.gz) = 65b68d645290ecd7478747d52feebf73b390021137a10897cc2a692bf6446afe SIZE (erkkah-naett-5f695cfa9fcbf30668a4d3ac4b4abf1cd89a1302_GH0.tar.gz) = 88388 SHA256 (hrydgard-ppsspp-lua-7648485f14e8e5ee45e8e39b1eb4d3206dbd405a_GH0.tar.gz) = ee31027159979d7be564e19710e10339179992f6d663d38337e78340dd31987b SIZE (hrydgard-ppsspp-lua-7648485f14e8e5ee45e8e39b1eb4d3206dbd405a_GH0.tar.gz) = 239843 SHA256 (hrydgard-nanosvg-478dbb8f7ed11c3d9b20b3986a8ee2283f483ef7_GH0.tar.gz) = 0f5702795d506807c82a3d933827a3988cf4b9ffa6032cb67538de90791fc0a6 SIZE (hrydgard-nanosvg-478dbb8f7ed11c3d9b20b3986a8ee2283f483ef7_GH0.tar.gz) = 298163 -SHA256 (Kethen-aemu_postoffice-f5ae0ce8cac89cfc592047925f2064a84536eeb4_GH0.tar.gz) = f41fe40e4e4548e182442b35350fba72aa028146758ca47fb94a75a76f0c80ff -SIZE (Kethen-aemu_postoffice-f5ae0ce8cac89cfc592047925f2064a84536eeb4_GH0.tar.gz) = 29798 +SHA256 (Kethen-aemu_postoffice-530fee545c27ffb8524a8f496cbbcfdb687fe8c5_GH0.tar.gz) = b3eb2372c5f4f611ab66e3b596be7ba12fe96b9bb347e7b2bcd4d7c979363e53 +SIZE (Kethen-aemu_postoffice-530fee545c27ffb8524a8f496cbbcfdb687fe8c5_GH0.tar.gz) = 232057 SHA256 (Kingcom-filesystem-v1.3.2-12-g3f1c185_GH0.tar.gz) = 9fa5a690e341bea1935a7f6b256e1bbd864abee988f834f10307f646dc38e604 SIZE (Kingcom-filesystem-v1.3.2-12-g3f1c185_GH0.tar.gz) = 163401 -SHA256 (libretro-libretro-common-76a3d54feb0ee0ce9d59b90aa24694f3782063d3_GH0.tar.gz) = da3c61d2d47df12536a7977443387c1c3d7a750fe8c916c943860788b590db7e -SIZE (libretro-libretro-common-76a3d54feb0ee0ce9d59b90aa24694f3782063d3_GH0.tar.gz) = 769418 diff --git a/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson b/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson deleted file mode 100644 index 8399eb267988..000000000000 --- a/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson +++ /dev/null @@ -1,130 +0,0 @@ ---- CMakeLists.txt.orig -+++ CMakeLists.txt -@@ -202,9 +202,12 @@ option(USE_DISCORD "Build with Discord support" ON) - option(USE_MINIUPNPC "Build with miniUPnPc support" ON) - option(USE_SYSTEM_SNAPPY "Dynamically link against system snappy" ${USE_SYSTEM_SNAPPY}) - option(USE_SYSTEM_FFMPEG "Dynamically link against system FFMPEG" ${USE_SYSTEM_FFMPEG}) -+option(USE_SYSTEM_FREETYPE "Dynamically link against system freetype" ${USE_SYSTEM_FREETYPE}) -+option(USE_SYSTEM_LIBCHDR "Dynamically link against system libchdr" ${USE_SYSTEM_LIBCHDR}) - option(USE_SYSTEM_LIBZIP "Dynamically link against system libzip" ${USE_SYSTEM_LIBZIP}) - option(USE_SYSTEM_LIBSDL2 "Dynamically link against system SDL2" ${DEFAULT_USE_SYSTEM_LIBSDL2}) - option(USE_SYSTEM_LIBPNG "Dynamically link against system libpng" ON) -+option(USE_SYSTEM_RAPIDJSON "Build using system rapidjson" ${USE_SYSTEM_RAPIDJSON}) - option(USE_SYSTEM_ZSTD "Dynamically link against system zstd" ${USE_SYSTEM_ZSTD}) - option(USE_SYSTEM_MINIUPNPC "Dynamically link against system miniUPnPc" ${USE_SYSTEM_MINIUPNPC}) - option(USE_ASAN "Use address sanitizer" OFF) -@@ -218,6 +221,10 @@ if(USE_CCACHE) - include(ccache) - endif() - -+if(USE_SYSTEM_RAPIDJSON) -+ add_compile_definitions(SYSTEM_RAPIDJSON) -+endif() -+ - if(WEBOS) - set(ARMV7 ON) - set(USING_X11_VULKAN OFF) -@@ -1024,6 +1031,8 @@ if(USE_FFMPEG) - elseif(X86) - set(PLATFORM_ARCH "Windows/x86") - endif() -+ else() -+ set(PLATFORM_ARCH "FreeBSD/%%ARCH%%") - endif() - if(WEBOS) - set(PLATFORM_ARCH "linux/webos") -@@ -2077,7 +2086,7 @@ if(WIN32) - ) - endif() - --if(LINUX OR ANDROID OR MACOSX OR IOS) -+if(LINUX OR ANDROID OR MACOSX OR IOS OR BSD) - list(APPEND aemu_postoffice - ext/aemu_postoffice/client/sock_impl_linux.c - ) -@@ -2577,7 +2586,14 @@ else() - include_directories(ext/zstd/lib) - endif() - --include_directories(ext/libchdr/include) -+if(USE_SYSTEM_LIBCHDR) -+ find_package(PkgConfig) -+ if(PkgConfig_FOUND) -+ pkg_check_modules(libchdr_PKGCONFIG IMPORTED_TARGET libchdr) -+ endif() -+else() -+ include_directories(ext/libchdr/include) -+endif() - - target_link_libraries(${CoreLibName} Common native chdr kirk cityhash sfmt19937 xbrz xxhash rcheevos minimp3 at3_standalone lua ${GlslangLibs} - ${CoreExtraLibs} ${OPENGL_LIBRARIES} ${X11_LIBRARIES} ${CMAKE_DL_LIBS}) -@@ -2952,7 +2968,13 @@ if(UNITTEST) - endif() - - if(ATLAS_TOOL) -- include_directories(ext/freetype/include) -+ if(USE_SYSTEM_FREETYPE) -+ find_package(Freetype REQUIRED) -+ include_directories(${FREETYPE_INCLUDE_DIRS}) -+ add_compile_definitions(SYSTEM_FREETYPE) -+ else() -+ include_directories(ext/freetype/include) -+ endif() - - set(AtlasToolSource - ext/native/tools/atlastool.cpp - ---- Core/RetroAchievements.cpp.orig -+++ Core/RetroAchievements.cpp -@@ -25,7 +25,11 @@ - #include "ext/rcheevos/include/rc_api_request.h" - #include "ext/rcheevos/include/rc_api_runtime.h" - -+#ifdef SYSTEM_RAPIDJSON -+#include -+#else - #include "ext/rapidjson/include/rapidjson/document.h" -+#endif - - #include "Common/Crypto/md5.h" - #include "Common/Log.h" - ---- ext/CMakeLists.txt.orig -+++ ext/CMakeLists.txt -@@ -42,7 +42,7 @@ set(FT_REQUIRE_BZIP2 OFF CACHE BOOL "" FORCE) - set(FT_REQUIRE_PNG OFF CACHE BOOL "" FORCE) - set(FT_REQUIRE_HARFBUZZ OFF CACHE BOOL "" FORCE) - set(FT_REQUIRE_BROTLI OFF CACHE BOOL "" FORCE) --if(NOT LIBRETRO) -+if(NOT LIBRETRO AND NOT USE_SYSTEM_FREETYPE) - add_subdirectory(freetype) - endif() - -@@ -56,7 +56,9 @@ if(USE_DISCORD AND NOT IOS AND NOT LIBRETRO) - add_subdirectory(discord-rpc-build) - endif() - --add_subdirectory(libchdr-build) -+if(NOT USE_SYSTEM_LIBCHDR) -+ add_subdirectory(libchdr-build) -+endif() - - if(ANDROID) - if (ARM64) - ---- ext/native/tools/atlastool.cpp.orig -+++ ext/native/tools/atlastool.cpp -@@ -25,8 +25,13 @@ - #include - #include - #include -+#ifdef SYSTEM_FREETYPE -+#include -+#include -+#else - #include "ft2build.h" - #include "freetype/ftbitmap.h" -+#endif - #include "zstd.h" - - #include "Common/Render/AtlasGen.h" diff --git a/emulators/ppsspp/files/patch-without-extraneous-sse2-flag b/emulators/ppsspp/files/patch-without-extraneous-sse2-flag deleted file mode 100644 index f23ac1a008a8..000000000000 --- a/emulators/ppsspp/files/patch-without-extraneous-sse2-flag +++ /dev/null @@ -1,18 +0,0 @@ ---- CMakeLists.txt.orig -+++ CMakeLists.txt -@@ -478,12 +478,12 @@ if(NOT MSVC) - - add_compile_options(-fno-math-errno) - -- if(X86 OR X86_64) -- # enable sse2 code generation -+ if(X86) -+ # enable sse2 code generation (enabled by default on X86_64) - if(NOT MACOSX) - add_compile_options(-msse2) - endif() -- if(NOT X86_64 AND NOT CLANG) -+ if(NOT CLANG) - add_compile_options(-mfpmath=sse) - # add_compile_options(-mstackrealign) - endif()