emulators/ppsspp: Update to 1.18.1

* Use to multimedia/ffmpeg3 for compatibility and stability
* Submitter becomes maintainer

Changelog: https://www.ppsspp.org/news/release-1.18/

Reset PORTREVISION for slave ports, emulators/libretro-ppsspp and
emulators/ppsspp-qt5

PR:		282792
This commit is contained in:
Kevin Reinholz 2024-12-04 21:23:26 +01:00 committed by Daniel Engberg
parent 24febed25a
commit 29fccbe5a0
9 changed files with 88 additions and 74 deletions

View file

@ -1,4 +1,3 @@
PORTREVISION= 1
PKGNAMEPREFIX= libretro-
MASTERDIR= ${.CURDIR}/../ppsspp

View file

@ -1,4 +1,3 @@
PORTREVISION= 1
PKGNAMESUFFIX= -qt5
MASTERDIR= ${.CURDIR}/../ppsspp

View file

@ -1,14 +1,13 @@
PORTNAME= ppsspp
DISTVERSIONPREFIX= v
DISTVERSION?= 1.17.1
PORTREVISION?= 1
DISTVERSION?= 1.18.1
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
DISTFILES= ${PORTNAME}.1:manpage
EXTRACT_ONLY= ${DISTFILES:N*\:manpage:C/:.*//}
MAINTAINER= ports@FreeBSD.org
MAINTAINER= kreinholz@gmail.com
COMMENT= PSP emulator in C++ with dynarec JIT for x86, ARM, MIPS
WWW= https://www.ppsspp.org/
@ -19,11 +18,12 @@ 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
LIB_DEPENDS= libzip.so:archivers/libzip \
libsnappy.so:archivers/snappy \
libzstd.so:archivers/zstd \
libavcodec.so:multimedia/ffmpeg \
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
@ -32,15 +32,16 @@ GH_ACCOUNT= hrydgard
GH_TUPLE?= hrydgard:glslang:8.13.3743-948-gb34f619e: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:9776332:debugger/assets/debugger \
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.0.0-26-ge7989c3:rcheevos/ext/rcheevos \
Tencent:rapidjson:v1.1.0-415-g73063f50:rapidjson/ext/rapidjson
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
USE_GL= glew opengl
CMAKE_ON= ${FFMPEG LIBZIP MINIUPNPC SNAPPY ZSTD:L:S/^/USE_SYSTEM_/} USE_VULKAN_DISPLAY_KHR
CMAKE_ON= ${LIBZIP 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}-*

View file

@ -1,23 +1,25 @@
TIMESTAMP = 1707052082
TIMESTAMP = 1731811906
SHA256 (ppsspp.1) = 64a7cca4c3a5fc6ad5b63399edef9056b0c85ea68fed00fb7e97f4b2724e503b
SIZE (ppsspp.1) = 1598
SHA256 (hrydgard-ppsspp-v1.17.1_GH0.tar.gz) = dd65e7a317cd461386a1641ddf475686d8bdb2f408bdae910386d8b3ca6a8195
SIZE (hrydgard-ppsspp-v1.17.1_GH0.tar.gz) = 41876096
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 (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
SIZE (rtissera-libchdr-26d27ca_GH0.tar.gz) = 4274377
SHA256 (unknownbrackets-ppsspp-debugger-9776332_GH0.tar.gz) = adc88664cb127b7797b03ffe07274096ac8ac037f143bf636b6208084c47e4d7
SIZE (unknownbrackets-ppsspp-debugger-9776332_GH0.tar.gz) = 810213
SHA256 (unknownbrackets-ppsspp-debugger-d358a87_GH0.tar.gz) = 468ec2ca27aefa81657bc679c0983dbbd693b99e8b803a465bb42cd8e2993cb2
SIZE (unknownbrackets-ppsspp-debugger-d358a87_GH0.tar.gz) = 815889
SHA256 (KhronosGroup-SPIRV-Cross-sdk-1.3.239.0_GH0.tar.gz) = a1695022880e7ef3c2d407647f79876045dc2a3ed012753adc71ead5cc5178ba
SIZE (KhronosGroup-SPIRV-Cross-sdk-1.3.239.0_GH0.tar.gz) = 1707048
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 (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.0.0-26-ge7989c3_GH0.tar.gz) = 9b1374b2c82c67850481dbee21946d5b4acb5c45d0284e85e58fa0e68f7d24f8
SIZE (RetroAchievements-rcheevos-v11.0.0-26-ge7989c3_GH0.tar.gz) = 650457
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

View file

@ -1,25 +0,0 @@
--- Core/Util/PortManager.cpp.orig 2024-02-04 13:08:02 UTC
+++ Core/Util/PortManager.cpp
@@ -161,7 +161,21 @@ bool PortManager::Initialize(const unsigned int timeou
// Get LAN IP address that connects to the router
char lanaddr[64] = "unset";
- int status = UPNP_GetValidIGD(devlist, urls, datas, lanaddr, sizeof(lanaddr)); //possible "status" values, 0 = NO IGD found, 1 = A valid connected IGD has been found, 2 = A valid IGD has been found but it reported as not connected, 3 = an UPnP device has been found but was not recognized as an IGD
+/*
+possible "status" values:
+-1 = Internal error
+ 0 = NO IGD found
+ 1 = A valid connected IGD has been found
+ 2 = A valid connected IGD has been found but its IP address is reserved (non routable)
+ 3 = A valid IGD has been found but it reported as not connected
+ 4 = an UPnP device has been found but was not recognized as an IGD
+*/
+ int status =
+#if (MINIUPNPC_API_VERSION >= 18)
+ UPNP_GetValidIGD(devlist, urls, datas, lanaddr, sizeof(lanaddr), nullptr, 0);
+#else
+ UPNP_GetValidIGD(devlist, urls, datas, lanaddr, sizeof(lanaddr));
+#endif
m_lanip = std::string(lanaddr);
INFO_LOG(SCENET, "PortManager - Detected LAN IP: %s", m_lanip.c_str());

View file

@ -0,0 +1,36 @@
--- cmake/Modules/FindFFmpeg.cmake.orig 2024-02-04 13:08:02 UTC
+++ cmake/Modules/FindFFmpeg.cmake
@@ -56,9 +56,7 @@ function(find_ffmpeg LIBNAME)
set(_FFmpeg_HEADER_swscale swscale)
function(find_ffmpeg LIBNAME)
- if(DEFINED ENV{FFMPEG_DIR})
- set(FFMPEG_DIR $ENV{FFMPEG_DIR})
- endif()
+ set(FFMPEG_DIR /usr/local/ffmpeg3)
if(FFMPEG_DIR)
list(APPEND INCLUDE_PATHS
@@ -79,17 +77,13 @@ function(find_ffmpeg LIBNAME)
NO_CMAKE_FIND_ROOT_PATH
)
else()
- list(APPEND INCLUDE_PATHS
- /usr/local/include/ffmpeg
- /usr/local/include/lib${LIBNAME}
- /usr/include/ffmpeg
- /usr/include/lib${LIBNAME}
- /usr/include/ffmpeg/lib${LIBNAME}
+ list(SET INCLUDE_PATHS
+ /usr/local/ffmpeg3/include/ffmpeg
+ /usr/local/ffmpeg3/include/lib${LIBNAME}
)
- list(APPEND LIB_PATHS
- /usr/local/lib
- /usr/lib
+ list(SET LIB_PATHS
+ /usr/local/ffmpeg3/lib
)
endif()

View file

@ -1,13 +0,0 @@
https://github.com/hrydgard/ppsspp/issues/15308
--- Core/HW/SimpleAudioDec.h.orig 2023-01-03 10:14:31 UTC
+++ Core/HW/SimpleAudioDec.h
@@ -78,7 +78,7 @@ class SimpleAudio { (private)
int wanted_resample_freq; // wanted resampling rate/frequency
AVFrame *frame_;
- AVCodec *codec_;
+ const AVCodec *codec_;
AVCodecContext *codecCtx_;
SwrContext *swrCtx_;

View file

@ -1,18 +0,0 @@
EGL hangs on X11 and doesn't build without GLESv2.
https://github.com/hrydgard/ppsspp/issues/10626
--- CMakeLists.txt.orig 2022-07-08 09:11:27 UTC
+++ CMakeLists.txt
@@ -77,12 +77,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)

View file

@ -0,0 +1,33 @@
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")