emulators/ppsspp: Update to 1.19

* Fix build with system miniupnpc
* Properly use ${LOCALBASE} instead of hardcoding /usr/local
  for multimedia/ffmpeg3 build dependency
* Misc cleanup (missing USES= flag for desktop-file-utils, correct typo
  in rapidjson external module commit tag)

Changelog: https://www.ppsspp.org/news/release-1.19/
This commit is contained in:
Kevin Reinholz
2025-06-06 18:51:54 +02:00
committed by Daniel Engberg
parent 74859c0e11
commit eca93dbd6d
5 changed files with 54 additions and 58 deletions
+12 -10
View File
@@ -1,7 +1,6 @@
PORTNAME= ppsspp
DISTVERSIONPREFIX= v
DISTVERSION?= 1.18.1
PORTREVISION?= 1
DISTVERSION?= 1.19
CATEGORIES= emulators
# XXX Get from Debian once #697821 lands
MASTER_SITES= https://bazaar.launchpad.net/~sergio-br2/${PORTNAME}/debian-sdl/download/5/${PORTNAME}.1-20140802045408-dd26dik367ztj5xg-8/:manpage
@@ -19,30 +18,32 @@ 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= /usr/local/ffmpeg3/lib/libavcodec.a:multimedia/ffmpeg3
BUILD_DEPENDS= ${LOCALBASE}/ffmpeg3/lib/libavcodec.a:multimedia/ffmpeg3
LIB_DEPENDS= libzip.so:archivers/libzip \
libsnappy.so:archivers/snappy \
libzstd.so:archivers/zstd \
libminiupnpc.so:net/miniupnpc \
libopenxr_loader.so:graphics/openxr
RUN_DEPENDS= xdg-open:devel/xdg-utils
USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig
USES= cmake compiler:c++11-lib gl localbase:ldflags pkgconfig \
desktop-file-utils
USE_GITHUB= yes
GH_ACCOUNT= hrydgard
GH_TUPLE?= hrydgard:glslang:8.13.3743-948-gb34f619e:glslang/ext/glslang \
GH_TUPLE?= hrydgard:glslang:8.13.3743-948-g50e0708:glslang/ext/glslang \
google:cpu_features:v0.8.0-27-gfd4ffc1:cpu_features/ext/cpu_features \
rtissera:libchdr:26d27ca:libchdr/ext/libchdr \
unknownbrackets:ppsspp-debugger:d358a87:debugger/assets/debugger \
KhronosGroup:SPIRV-Cross:sdk-1.3.239.0:SPIRV/ext/SPIRV-Cross \
Kingcom:armips:v0.11.0-195-ga8d71f0:armips/ext/armips \
Kingcom:filesystem:v1.3.2-12-g3f1c185:filesystem/ext/armips/ext/filesystem \
RetroAchievements:rcheevos:v11.6.0-g32917bd:rcheevos/ext/rcheevos \
Tencent:rapidjson:v1.1.0-415-g73063f50:rapidjson/ext/rapidjson \
miniupnp:miniupnp:miniupnpd_2_3_7-g27d13ca:miniupnp/ext/miniupnp
EXCLUDE= libzip zlib
RetroAchievements:rcheevos:v11.6.0-gef0e22b:rcheevos/ext/rcheevos \
Tencent:rapidjson:v1.1.0-415-g73063f5:rapidjson/ext/rapidjson \
hrydgard:ppsspp-lua:7648485:lua/ext/lua
EXCLUDE= libpng17 libzip zlib
USE_GL= glew opengl
CMAKE_ON= ${LIBZIP SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR
CMAKE_ON= ${LIBZIP MINIUPNPC SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR
CMAKE_OFF= USE_DISCORD
LDFLAGS+= -Wl,--as-needed # ICE/SM/X11/Xext, Qt5Network
CONFLICTS_INSTALL= ${PORTNAME}-*
@@ -86,6 +87,7 @@ 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}
+11 -11
View File
@@ -1,10 +1,10 @@
TIMESTAMP = 1731811906
TIMESTAMP = 1749222382
SHA256 (ppsspp.1) = 64a7cca4c3a5fc6ad5b63399edef9056b0c85ea68fed00fb7e97f4b2724e503b
SIZE (ppsspp.1) = 1598
SHA256 (hrydgard-ppsspp-v1.18.1_GH0.tar.gz) = cc9425202552cbce8bc7ee5b883670703761011ab5c987c426887f7c2ef2703f
SIZE (hrydgard-ppsspp-v1.18.1_GH0.tar.gz) = 37089272
SHA256 (hrydgard-glslang-8.13.3743-948-gb34f619e_GH0.tar.gz) = 8f002c902a5bc5a9d3c7e58b82ba2a6845ee08a01b756eaf4afefff806d109c7
SIZE (hrydgard-glslang-8.13.3743-948-gb34f619e_GH0.tar.gz) = 3689872
SHA256 (hrydgard-ppsspp-v1.19_GH0.tar.gz) = 329f50bdc405b8fa761ee25f1b2df1df9a96f37e638fdbdead7ee539dc4c617b
SIZE (hrydgard-ppsspp-v1.19_GH0.tar.gz) = 38794742
SHA256 (hrydgard-glslang-8.13.3743-948-g50e0708_GH0.tar.gz) = c5d7837395b5c076371d74d9d8adf0d0408c002f2e4fe08bc3eef1db6f608ceb
SIZE (hrydgard-glslang-8.13.3743-948-g50e0708_GH0.tar.gz) = 3689922
SHA256 (google-cpu_features-v0.8.0-27-gfd4ffc1_GH0.tar.gz) = 0bcb1a537b8fc184b9df9ddde9d15868efe7f651139ea84d3e20ac9900a43c60
SIZE (google-cpu_features-v0.8.0-27-gfd4ffc1_GH0.tar.gz) = 109044
SHA256 (rtissera-libchdr-26d27ca_GH0.tar.gz) = 49e028fadd0640926da158408c9eafb22fc89ccb0de69c67b167ef0a11f6a0c5
@@ -17,9 +17,9 @@ SHA256 (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 8a46d92b070de90cefcd89
SIZE (Kingcom-armips-v0.11.0-195-ga8d71f0_GH0.tar.gz) = 223306
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 (RetroAchievements-rcheevos-v11.6.0-g32917bd_GH0.tar.gz) = 0cf21acaa01f3fc55718e5fd04cfd55a03d3135ec52f928dcd5956a11e78d660
SIZE (RetroAchievements-rcheevos-v11.6.0-g32917bd_GH0.tar.gz) = 673529
SHA256 (Tencent-rapidjson-v1.1.0-415-g73063f50_GH0.tar.gz) = 45e801225dd7a8d09bde7e5a2dc52c18d630f07bbbec7587017ca19bac9446fe
SIZE (Tencent-rapidjson-v1.1.0-415-g73063f50_GH0.tar.gz) = 1054127
SHA256 (miniupnp-miniupnp-miniupnpd_2_3_7-g27d13ca_GH0.tar.gz) = d44ea2ea688ff851e55d9408bc64b4c81363a9d6646246b9cbcd2c2c057ec8bc
SIZE (miniupnp-miniupnp-miniupnpd_2_3_7-g27d13ca_GH0.tar.gz) = 464237
SHA256 (RetroAchievements-rcheevos-v11.6.0-gef0e22b_GH0.tar.gz) = 5d424b58ae280f56ee04a846d7f5e90e289f747e9ae4ac2d29e46761133d009e
SIZE (RetroAchievements-rcheevos-v11.6.0-gef0e22b_GH0.tar.gz) = 417751
SHA256 (Tencent-rapidjson-v1.1.0-415-g73063f5_GH0.tar.gz) = bfc1c1d5fbd9dbc78600798d8a8bfcb93f9d308d55564e012b64e8ca272ecea4
SIZE (Tencent-rapidjson-v1.1.0-415-g73063f5_GH0.tar.gz) = 1054127
SHA256 (hrydgard-ppsspp-lua-7648485_GH0.tar.gz) = e7dba820ddd788976810b4f21d1c4781a617e66c7bd67ee71acedd5d60db608e
SIZE (hrydgard-ppsspp-lua-7648485_GH0.tar.gz) = 239547
@@ -7,7 +7,7 @@
- if(DEFINED ENV{FFMPEG_DIR})
- set(FFMPEG_DIR $ENV{FFMPEG_DIR})
- endif()
+ set(FFMPEG_DIR /usr/local/ffmpeg3)
+ set(FFMPEG_DIR %%LOCALBASE%%/ffmpeg3)
if(FFMPEG_DIR)
list(APPEND INCLUDE_PATHS
@@ -22,15 +22,15 @@
- /usr/include/lib${LIBNAME}
- /usr/include/ffmpeg/lib${LIBNAME}
+ list(SET INCLUDE_PATHS
+ /usr/local/ffmpeg3/include/ffmpeg
+ /usr/local/ffmpeg3/include/lib${LIBNAME}
+ %%LOCALBASE%%/ffmpeg3/include/ffmpeg
+ %%LOCALBASE%%/ffmpeg3/include/lib${LIBNAME}
)
- list(APPEND LIB_PATHS
- /usr/local/lib
- /usr/lib
+ list(SET LIB_PATHS
+ /usr/local/ffmpeg3/lib
+ %%LOCALBASE%%/ffmpeg3/lib
)
endif()
+27
View File
@@ -0,0 +1,27 @@
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}")
@@ -1,33 +0,0 @@
EGL hangs on X11 and doesn't build without GLESv2.
https://github.com/hrydgard/ppsspp/issues/10626
--- CMakeLists.txt.orig 2024-11-04 16:16:10 UTC
+++ CMakeLists.txt
@@ -79,12 +79,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_definitions(-D__STDC_CONSTANT_MACROS)
@@ -383,8 +377,12 @@ if(NOT MSVC)
add_definitions(-DPNG_ARM_NEON_OPT=0)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type -Wno-unused-function -Wno-sign-compare -Wno-unused-but-set-variable -Wno-reorder -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-variable")
- # This one is very useful but has many false positives.
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-class-memaccess")
+ if(NOT CLANG)
+ # This one is very useful but has many false positives.
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-class-memaccess")
+ else()
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
+ endif()
if(ANDROID)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++17")