diff --git a/emulators/Makefile b/emulators/Makefile index e8c2bbf70a68..cd47e3d38bea 100644 --- a/emulators/Makefile +++ b/emulators/Makefile @@ -1,212 +1,211 @@ COMMENT = Emulators for other operating systems SUBDIR += 86Box SUBDIR += Ymir SUBDIR += adamem SUBDIR += almostti SUBDIR += amiberry SUBDIR += anese SUBDIR += aqemu SUBDIR += aranym SUBDIR += ares SUBDIR += atari800 SUBDIR += bfe SUBDIR += bochs SUBDIR += bsvc SUBDIR += cannonball SUBDIR += catapult SUBDIR += cemu SUBDIR += cingb SUBDIR += cpmtools SUBDIR += cpmtools2 SUBDIR += darcnes SUBDIR += dgen-sdl SUBDIR += dolphin-emu SUBDIR += dosbox SUBDIR += dosbox-staging SUBDIR += dosbox-x SUBDIR += dps8m SUBDIR += dynamips-community SUBDIR += edumips64 SUBDIR += elliott-803 SUBDIR += emu64 SUBDIR += emulationstation SUBDIR += emutos SUBDIR += es-de SUBDIR += fbneo SUBDIR += fbsd-duckstation SUBDIR += fceux SUBDIR += firebird SUBDIR += flexemu SUBDIR += flycast SUBDIR += fmsx SUBDIR += frodo SUBDIR += fs-uae SUBDIR += fs-uae-launcher SUBDIR += fuse SUBDIR += fuse-roms SUBDIR += fuse-utils SUBDIR += gbe SUBDIR += gens SUBDIR += gngb SUBDIR += gxemul SUBDIR += hatari SUBDIR += hercules SUBDIR += higan SUBDIR += hv_kvp_cmd SUBDIR += javatari SUBDIR += joytran SUBDIR += jzintv SUBDIR += klh10 SUBDIR += lib765 SUBDIR += libc6-shim SUBDIR += libdsk SUBDIR += libretro-bsnes SUBDIR += libretro-flycast SUBDIR += libretro-kronos SUBDIR += libretro-pcsx2 SUBDIR += libretro-ppsspp SUBDIR += libretro-reicast SUBDIR += libretro-vice SUBDIR += libspectrum SUBDIR += linux-c7 SUBDIR += linux-power10-functional-sim SUBDIR += linux-power9-functional-sim SUBDIR += linux-rl9 SUBDIR += linux_base-c7 SUBDIR += linux_base-rl9 SUBDIR += magia SUBDIR += mame SUBDIR += mastergear SUBDIR += mednafen SUBDIR += mesen SUBDIR += mgba SUBDIR += mupen64plus SUBDIR += mupen64plus-audio-sdl SUBDIR += mupen64plus-core SUBDIR += mupen64plus-input-sdl SUBDIR += mupen64plus-plugins SUBDIR += mupen64plus-qt SUBDIR += mupen64plus-rsp-cxd4 SUBDIR += mupen64plus-rsp-hle SUBDIR += mupen64plus-rsp-z64 SUBDIR += mupen64plus-ui-console SUBDIR += mupen64plus-video-arachnoid SUBDIR += mupen64plus-video-glide64 SUBDIR += mupen64plus-video-glide64mk2 SUBDIR += mupen64plus-video-rice SUBDIR += mupen64plus-video-z64 SUBDIR += nemu SUBDIR += nestopia SUBDIR += o2em SUBDIR += ods2reader SUBDIR += open-simh SUBDIR += open-vm-kmod SUBDIR += open-vm-tools SUBDIR += openmsx SUBDIR += p5-Acme-6502 SUBDIR += parallels-tools SUBDIR += pcem SUBDIR += pcemu SUBDIR += pcsx2 SUBDIR += playonbsd SUBDIR += ppsspp - SUBDIR += ppsspp-qt5 SUBDIR += py-gns3-converter SUBDIR += py-m64py SUBDIR += py-unicorn SUBDIR += qemu SUBDIR += qemu-cheri SUBDIR += qemu-devel SUBDIR += qemu-powernv SUBDIR += qemu-user-static SUBDIR += qemu-user-static-devel SUBDIR += qmc2 SUBDIR += quasi88 SUBDIR += reicast SUBDIR += ripes SUBDIR += riscv-isa-sim SUBDIR += rpcs3 SUBDIR += rubygem-fission SUBDIR += rvvm SUBDIR += rvvm-devel SUBDIR += sameboy SUBDIR += simh SUBDIR += simh-hp2100 SUBDIR += simh-hp3000 SUBDIR += simh-hpdoc SUBDIR += snes9x-gtk SUBDIR += spim SUBDIR += stella SUBDIR += stonx SUBDIR += teo SUBDIR += tic-80 SUBDIR += tiemu3 SUBDIR += tilem SUBDIR += tme SUBDIR += tnylpo SUBDIR += tpm-emulator SUBDIR += uae SUBDIR += ucon64 SUBDIR += uconvert SUBDIR += ukncbtl SUBDIR += unicorn SUBDIR += vba SUBDIR += vboxtool SUBDIR += vgb-bin SUBDIR += vgba-bin SUBDIR += vice SUBDIR += virtualbox-ose SUBDIR += virtualbox-ose-70 SUBDIR += virtualbox-ose-71 SUBDIR += virtualbox-ose-72 SUBDIR += virtualbox-ose-additions SUBDIR += virtualbox-ose-additions-70 SUBDIR += virtualbox-ose-additions-71 SUBDIR += virtualbox-ose-additions-72 SUBDIR += virtualbox-ose-additions-legacy SUBDIR += virtualbox-ose-additions-nox11 SUBDIR += virtualbox-ose-additions-nox11-70 SUBDIR += virtualbox-ose-additions-nox11-71 SUBDIR += virtualbox-ose-additions-nox11-72 SUBDIR += virtualbox-ose-additions-nox11-legacy SUBDIR += virtualbox-ose-kmod SUBDIR += virtualbox-ose-kmod-70 SUBDIR += virtualbox-ose-kmod-71 SUBDIR += virtualbox-ose-kmod-72 SUBDIR += virtualbox-ose-kmod-legacy SUBDIR += virtualbox-ose-legacy SUBDIR += virtualbox-ose-nox11 SUBDIR += virtualbox-ose-nox11-70 SUBDIR += virtualbox-ose-nox11-71 SUBDIR += virtualbox-ose-nox11-72 SUBDIR += virtualbox-ose-nox11-legacy SUBDIR += visualboyadvance-m SUBDIR += vmips SUBDIR += vmsbackup SUBDIR += vmw SUBDIR += vt100 SUBDIR += wine SUBDIR += wine-devel SUBDIR += wine-gecko SUBDIR += wine-gecko-devel SUBDIR += wine-mono SUBDIR += wine-mono-devel SUBDIR += wine-proton SUBDIR += winetricks SUBDIR += x16-emulator SUBDIR += x16-rom SUBDIR += x48 SUBDIR += x49gp SUBDIR += xbraitenberg SUBDIR += xcpc SUBDIR += xen-kernel SUBDIR += xhomer SUBDIR += xsystem35 SUBDIR += xzx SUBDIR += yaze-ag SUBDIR += yuzu SUBDIR += z80pack SUBDIR += zsnes .include diff --git a/emulators/ppsspp-qt5/Makefile b/emulators/ppsspp-qt5/Makefile deleted file mode 100644 index 7a72424875bd..000000000000 --- a/emulators/ppsspp-qt5/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -PKGNAMESUFFIX= -qt5 - -MASTERDIR= ${.CURDIR}/../ppsspp - -# XXX No VULKAN per https://github.com/hrydgard/ppsspp/blob/v1.10/Qt/QtMain.cpp#L711-L712 -OPTIONS_EXCLUDE= ${OPTIONS_DEFINE} -OPTIONS_SLAVE= QT5 - -.include "${MASTERDIR}/Makefile" diff --git a/emulators/ppsspp/Makefile b/emulators/ppsspp/Makefile index 532d819af086..0d2e7b680dc1 100644 --- a/emulators/ppsspp/Makefile +++ b/emulators/ppsspp/Makefile @@ -1,108 +1,106 @@ PORTNAME= ppsspp DISTVERSIONPREFIX= v -DISTVERSION?= 1.19.3 -PORTREVISION= 1 +DISTVERSION?= 1.20.2 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= mips mips64 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 +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 + 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 \ - hrydgard:glslang:2.3-3991-g50e0708e:glslang/ext/glslang \ - KhronosGroup:SPIRV-Cross:4212eef67ed0ca048cb726a6767185504e7695e5:SPIRVCross/ext/SPIRV-Cross \ - Tencent:rapidjson:73063f5002612c6bf64fe24f851cd5cc0d83eef9:rapidjson/ext/rapidjson \ + 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:v11.6.0-61-gef0e22b:rcheevos/ext/rcheevos \ - rtissera:libchdr:26d27ca:libchdr/ext/libchdr \ + RetroAchievements:rcheevos:v12.3.0:rcheevos/ext/rcheevos \ + erkkah:naett:5f695cfa9fcbf30668a4d3ac4b4abf1cd89a1302:naett/ext/naett \ hrydgard:ppsspp-lua:7648485f14e8e5ee45e8e39b1eb4d3206dbd405a:ppsspplua/ext/lua \ - Kingcom:filesystem:v1.1.2-171-g3f1c185:filesystem/ext/armips/ext/filesystem - + 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 EXCLUDE= libzip zlib USE_GL= glew opengl -CMAKE_ON= ${LIBZIP MINIUPNPC SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR +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, Qt5Network +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 QT5 SDL +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= -QT5_LIB_DEPENDS= libpng.so:graphics/png -QT5_USES= desktop-file-utils qt:5 shared-mime-info sdl -QT5_USE= QT=qmake:build,buildtools:build,linguisttools:build,core,gui,multimedia,opengl,widgets -QT5_USE+= SDL=sdl2 # audio, joystick -QT5_CMAKE_BOOL= USING_QT_UI -QT5_VARS= EXENAME=PPSSPPQt 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-QT5-on do-install-SDL-on: +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 bfe6f531f0ef..d6837e405d12 100644 --- a/emulators/ppsspp/distinfo +++ b/emulators/ppsspp/distinfo @@ -1,23 +1,27 @@ -TIMESTAMP = 1752627057 -SHA256 (hrydgard-ppsspp-v1.19.3_GH0.tar.gz) = 2e02c3e0a7f5a2311f6e37f3e2fc9760d14eb7af5051bc251f168505f1ca9ad8 -SIZE (hrydgard-ppsspp-v1.19.3_GH0.tar.gz) = 38805948 +TIMESTAMP = 1773182792 +SHA256 (hrydgard-ppsspp-v1.20.2_GH0.tar.gz) = c145f8da40575506b93ca97ba80b2fb72dc1a6c80b8629a878d87558c28cdf65 +SIZE (hrydgard-ppsspp-v1.20.2_GH0.tar.gz) = 38231035 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 (Tencent-rapidjson-73063f5002612c6bf64fe24f851cd5cc0d83eef9_GH0.tar.gz) = 896eb817fb2bc62a0a84ca65fac3e3c385b410e6dbf70d69c411e25776663e39 -SIZE (Tencent-rapidjson-73063f5002612c6bf64fe24f851cd5cc0d83eef9_GH0.tar.gz) = 1054419 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-v11.6.0-61-gef0e22b_GH0.tar.gz) = 11c12a5ce2e61917edbd4634fc0623528267c51dae2303bfc55cbbb7ee7299fa -SIZE (RetroAchievements-rcheevos-v11.6.0-61-gef0e22b_GH0.tar.gz) = 417819 -SHA256 (rtissera-libchdr-26d27ca_GH0.tar.gz) = 49e028fadd0640926da158408c9eafb22fc89ccb0de69c67b167ef0a11f6a0c5 -SIZE (rtissera-libchdr-26d27ca_GH0.tar.gz) = 4274377 +SHA256 (RetroAchievements-rcheevos-v12.3.0_GH0.tar.gz) = bc7ab9985aee7b6a29e3d65492de9371c866236c5873a1c4493ec9cb6d2603d2 +SIZE (RetroAchievements-rcheevos-v12.3.0_GH0.tar.gz) = 436181 +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 (Kingcom-filesystem-v1.1.2-171-g3f1c185_GH0.tar.gz) = 9f3866efc8b8b29cd9ff51c0cce8a281ff88cd34694d8da0d064cb82d95b8b71 -SIZE (Kingcom-filesystem-v1.1.2-171-g3f1c185_GH0.tar.gz) = 163405 +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 (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-no-egl b/emulators/ppsspp/files/patch-no-egl deleted file mode 100644 index 9ddc70081066..000000000000 --- a/emulators/ppsspp/files/patch-no-egl +++ /dev/null @@ -1,27 +0,0 @@ -EGL hangs on X11 and doesn't build without GLESv2. -https://github.com/hrydgard/ppsspp/issues/10626 - ---- CMakeLists.txt.orig 2025-05-30 21:23:20 UTC -+++ CMakeLists.txt -@@ -83,12 +83,6 @@ endif() - set(USE_SYSTEM_FFMPEG ON) - endif() - --if(NOT ANDROID AND NOT IOS) -- if(ARM_DEVICE OR SIMULATOR) -- set(USING_EGL ON) -- endif() --endif() -- - if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" AND NOT USE_LIBNX) - set(LINUX ON) - add_compile_definitions(__STDC_CONSTANT_MACROS) -@@ -1009,6 +1003,8 @@ if(USE_FFMPEG) - elseif(X86) - set(PLATFORM_ARCH "Windows/x86") - endif() -+ else() -+ set(PLATFORM_ARCH "FreeBSD/%%ARCH%%") - endif() - if(PLATFORM_ARCH) - set(FFMPEG_DIR "ffmpeg/${PLATFORM_ARCH}") diff --git a/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson b/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson new file mode 100644 index 000000000000..8399eb267988 --- /dev/null +++ b/emulators/ppsspp/files/patch-use-system-freetype-libchdr-rapidjson @@ -0,0 +1,130 @@ +--- 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 new file mode 100644 index 000000000000..f23ac1a008a8 --- /dev/null +++ b/emulators/ppsspp/files/patch-without-extraneous-sse2-flag @@ -0,0 +1,18 @@ +--- 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() diff --git a/emulators/ppsspp/pkg-plist b/emulators/ppsspp/pkg-plist index a2dc9f0cfb3e..7512220bcea0 100644 --- a/emulators/ppsspp/pkg-plist +++ b/emulators/ppsspp/pkg-plist @@ -1,14 +1,13 @@ bin/ppsspp @comment share/applications/PPSSPPSDL.desktop -@comment share/applications/PPSSPPQt.desktop share/icons/hicolor/128x128/apps/ppsspp.png share/icons/hicolor/16x16/apps/ppsspp.png share/icons/hicolor/24x24/apps/ppsspp.png share/icons/hicolor/256x256/apps/ppsspp.png share/icons/hicolor/32x32/apps/ppsspp.png share/icons/hicolor/48x48/apps/ppsspp.png share/icons/hicolor/512x512/apps/ppsspp.png share/icons/hicolor/64x64/apps/ppsspp.png share/icons/hicolor/96x96/apps/ppsspp.png share/icons/hicolor/scalable/apps/ppsspp.svg share/mime/packages/ppsspp.xml