From: Stuart Henderson Subject: emulators/ppsspp (sdl2-ttf breakage) [tfrohwein@fastmail.com: Re: CVS: cvs.openbsd.org: ports] To: ports , "Anthony J. Bentley" Cc: Thomas Frohwein Date: Thu, 4 Sep 2025 12:42:45 +0100 forwarding to ports for better visibility; the sdl2-ttf update broke ppsspp, this is a diff from thfr updating ppsspp to fix. eyeballing the diff it looks good to me (and unless there are red flags I'd generally prefer updates rather than patches), but I don't use this. CC'ing bentley@ who has committed most things to ppsspp ----- Forwarded message from Thomas Frohwein ----- <...snip...> > emulators/ppsspp Fixes attached for both. Valyriatear is trivial. I fixed ppsspp by including an update to the latest release. This was slightly more involved because it now bundles a new library in ext/cpu_features that ignores OpenBSD. It builds fine with this diff that basically hijacks the FreeBSD code in cpu_features. I tested it briefly with the Cave Story ROM without issues. An alternative fix would be backporting of https://github.com/hrydgard/ppsspp/commit/bd84c7bf7dcefc991aa2af14ca1f42f2c842c54b and https://github.com/hrydgard/ppsspp/commit/1ba304d83f5b3154928cff4169e812f4eedc3b6e Could I get eyes and an ok on the ppsspp update? (I'll go ahead with the other 3 because they are trivial) <...snip...> Index: Makefile =================================================================== RCS file: /cvs/ports/emulators/ppsspp/Makefile,v diff -u -p -r1.31 Makefile --- Makefile 10 Nov 2024 14:52:12 -0000 1.31 +++ Makefile 1 Sep 2025 18:19:37 -0000 @@ -4,8 +4,7 @@ NOT_FOR_ARCHS = ${BE_ARCHS} COMMENT = Sony PlayStation Portable emulator DISTNAME = ppsspp-$V -V = 1.18.1 -REVISION = 0 +V = 1.19.3 SITES = https://github.com/hrydgard/ppsspp/releases/download/v$V/ EXTRACT_SUFX = .tar.xz Index: distinfo =================================================================== RCS file: /cvs/ports/emulators/ppsspp/distinfo,v diff -u -p -r1.15 distinfo --- distinfo 6 Nov 2024 09:19:15 -0000 1.15 +++ distinfo 1 Sep 2025 18:19:37 -0000 @@ -1,2 +1,2 @@ -SHA256 (ppsspp-1.18.1.tar.xz) = eMXRfwlEPX6kUPzp/cBYG1IM8gbEIJXdhV6Uvi4Jvc8= -SIZE (ppsspp-1.18.1.tar.xz) = 54239412 +SHA256 (ppsspp-1.19.3.tar.xz) = BUQB+n//vZm3/YDpiilR1vDD3oPLS1RxmJnJi/rZlhQ= +SIZE (ppsspp-1.19.3.tar.xz) = 58131440 Index: patches/patch-CMakeLists_txt =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-CMakeLists_txt,v diff -u -p -r1.17 patch-CMakeLists_txt --- patches/patch-CMakeLists_txt 6 Nov 2024 09:19:15 -0000 1.17 +++ patches/patch-CMakeLists_txt 1 Sep 2025 18:19:37 -0000 @@ -4,25 +4,24 @@ Index: CMakeLists.txt --- CMakeLists.txt.orig +++ CMakeLists.txt -@@ -423,13 +423,13 @@ if(NOT MSVC) - endif() - endif() +@@ -1080,16 +1080,6 @@ add_library(cityhash STATIC + ) + target_include_directories(cityhash PRIVATE ext/cityhash) -- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -D_DEBUG") -+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG") - set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Os -D_NDEBUG") -- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -D_NDEBUG") -+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_NDEBUG") - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG") -- set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -D_DEBUG") -+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG") - set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os -D_NDEBUG") -- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2 -D_NDEBUG") -+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D_NDEBUG") - set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -D_NDEBUG") - - # Enable checking printf-like format strings (also works for logging functions) -@@ -1206,7 +1206,7 @@ else() +-if(NOT MSVC) +- # These can be fast even for debug. +- target_compile_options(udis86 PRIVATE "-O2") +- target_compile_options(cityhash PRIVATE "-O2") +- if(NOT ZLIB_FOUND) +- target_compile_options(zlib PRIVATE "-O2") +- endif() +-endif() +- +- + find_package(LIBZIP) + if(LIBZIP_FOUND AND USE_SYSTEM_LIBZIP) + include_directories(${LIBZIP_INCLUDE_DIRS}) +@@ -1233,7 +1223,7 @@ else() endif() # Arm platforms require at least libpng17. Index: patches/patch-Core_AVIDump_cpp =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_AVIDump_cpp,v diff -u -p -r1.6 patch-Core_AVIDump_cpp --- patches/patch-Core_AVIDump_cpp 10 Nov 2024 14:52:13 -0000 1.6 +++ patches/patch-Core_AVIDump_cpp 1 Sep 2025 18:19:37 -0000 @@ -3,7 +3,7 @@ Build with newer FFmpeg Index: Core/AVIDump.cpp --- Core/AVIDump.cpp.orig +++ Core/AVIDump.cpp -@@ -93,7 +93,7 @@ bool AVIDump::Start(int w, int h) +@@ -94,7 +94,7 @@ bool AVIDump::Start(int w, int h) bool AVIDump::CreateAVI() { #ifdef USE_FFMPEG Index: patches/patch-Core_HLE_sceMpeg_cpp =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HLE_sceMpeg_cpp,v diff -u -p -r1.7 patch-Core_HLE_sceMpeg_cpp --- patches/patch-Core_HLE_sceMpeg_cpp 10 Nov 2024 14:52:13 -0000 1.7 +++ patches/patch-Core_HLE_sceMpeg_cpp 1 Sep 2025 18:19:37 -0000 @@ -3,12 +3,12 @@ Build with newer FFmpeg Index: Core/HLE/sceMpeg.cpp --- Core/HLE/sceMpeg.cpp.orig +++ Core/HLE/sceMpeg.cpp -@@ -805,7 +805,7 @@ static bool InitPmp(MpegContext * ctx){ +@@ -719,7 +719,7 @@ static bool InitPmp(MpegContext * ctx){ pmp_want_pix_fmt = AV_PIX_FMT_RGBA; // Create H264 video codec - AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264); + const AVCodec * pmp_Codec = avcodec_find_decoder(AV_CODEC_ID_H264); if (pmp_Codec == NULL){ - ERROR_LOG(Log::ME, "Can not find H264 codec, please update ffmpeg"); + ERROR_LOG(Log::Mpeg, "Can not find H264 codec, please update ffmpeg"); return false; Index: patches/patch-Core_HW_MediaEngine_cpp =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HW_MediaEngine_cpp,v diff -u -p -r1.10 patch-Core_HW_MediaEngine_cpp --- patches/patch-Core_HW_MediaEngine_cpp 10 Nov 2024 14:52:13 -0000 1.10 +++ patches/patch-Core_HW_MediaEngine_cpp 1 Sep 2025 18:19:37 -0000 @@ -3,7 +3,7 @@ Build with newer FFmpeg Index: Core/HW/MediaEngine.cpp --- Core/HW/MediaEngine.cpp.orig +++ Core/HW/MediaEngine.cpp -@@ -416,7 +416,7 @@ bool MediaEngine::addVideoStream(int streamNum, int st +@@ -406,7 +406,7 @@ bool MediaEngine::addVideoStream(int streamNum, int st // no need to add an existing stream. if ((u32)streamNum < m_pFormatCtx->nb_streams) return true; @@ -12,7 +12,7 @@ Index: Core/HW/MediaEngine.cpp if (!h264_codec) return false; AVStream *stream = avformat_new_stream(m_pFormatCtx, h264_codec); -@@ -439,7 +439,7 @@ bool MediaEngine::addVideoStream(int streamNum, int st +@@ -429,7 +429,7 @@ bool MediaEngine::addVideoStream(int streamNum, int st } #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(59, 16, 100) @@ -21,7 +21,7 @@ Index: Core/HW/MediaEngine.cpp AVCodecContext *codecCtx = avcodec_alloc_context3(codec); #else AVCodecContext *codecCtx = stream->codec; -@@ -527,7 +527,7 @@ bool MediaEngine::setVideoStream(int streamNum, bool f +@@ -517,7 +517,7 @@ bool MediaEngine::setVideoStream(int streamNum, bool f AVStream *stream = m_pFormatCtx->streams[streamNum]; #if LIBAVFORMAT_VERSION_INT >= AV_VERSION_INT(57, 33, 100) Index: patches/patch-Core_HW_SimpleAudioDec_cpp =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-Core_HW_SimpleAudioDec_cpp,v diff -u -p -r1.6 patch-Core_HW_SimpleAudioDec_cpp --- patches/patch-Core_HW_SimpleAudioDec_cpp 10 Nov 2024 14:52:13 -0000 1.6 +++ patches/patch-Core_HW_SimpleAudioDec_cpp 1 Sep 2025 18:19:37 -0000 @@ -3,7 +3,7 @@ Build with newer FFmpeg Index: Core/HW/SimpleAudioDec.cpp --- Core/HW/SimpleAudioDec.cpp.orig +++ Core/HW/SimpleAudioDec.cpp -@@ -118,7 +118,7 @@ class FFmpegAudioDecoder : public AudioDecoder { (priv +@@ -133,7 +133,7 @@ class FFmpegAudioDecoder : public AudioDecoder { (priv int channels_; AVFrame *frame_ = nullptr; Index: patches/patch-UI_NativeApp_cpp =================================================================== RCS file: /cvs/ports/emulators/ppsspp/patches/patch-UI_NativeApp_cpp,v diff -u -p -r1.12 patch-UI_NativeApp_cpp --- patches/patch-UI_NativeApp_cpp 27 Apr 2024 10:57:29 -0000 1.12 +++ patches/patch-UI_NativeApp_cpp 1 Sep 2025 18:19:37 -0000 @@ -1,7 +1,7 @@ Index: UI/NativeApp.cpp --- UI/NativeApp.cpp.orig +++ UI/NativeApp.cpp -@@ -386,12 +386,7 @@ void NativeInit(int argc, const char *argv[], const ch +@@ -383,12 +383,7 @@ void NativeInit(int argc, const char *argv[], const ch g_VFS.Register("", new DirectoryReader(Path(ASSETS_DIR))); #endif #if !defined(MOBILE_DEVICE) && !defined(_WIN32) && !PPSSPP_PLATFORM(SWITCH) Index: patches/patch-ext_cpu_features_include_cpu_features_macros_h =================================================================== RCS file: patches/patch-ext_cpu_features_include_cpu_features_macros_h diff -N patches/patch-ext_cpu_features_include_cpu_features_macros_h --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-ext_cpu_features_include_cpu_features_macros_h 1 Sep 2025 18:19:37 -0000 @@ -0,0 +1,14 @@ +hijack FreeBSD codepaths + +Index: ext/cpu_features/include/cpu_features_macros.h +--- ext/cpu_features/include/cpu_features_macros.h.orig ++++ ext/cpu_features/include/cpu_features_macros.h +@@ -91,7 +91,7 @@ + // Os + //////////////////////////////////////////////////////////////////////////////// + +-#if (defined(__freebsd__) || defined(__FreeBSD__)) ++#if (defined(__freebsd__) || defined(__FreeBSD__) || defined(__OpenBSD__)) + #define CPU_FEATURES_OS_FREEBSD + #endif + Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/emulators/ppsspp/pkg/PLIST,v diff -u -p -r1.12 PLIST --- pkg/PLIST 6 Nov 2024 09:19:15 -0000 1.12 +++ pkg/PLIST 1 Sep 2025 18:19:37 -0000 @@ -58,9 +58,11 @@ share/ppsspp/assets/font_atlas.meta share/ppsspp/assets/font_atlas.zim share/ppsspp/assets/gamecontrollerdb.txt share/ppsspp/assets/icon_regular_72.png +share/ppsspp/assets/infra-dns.json share/ppsspp/assets/lang/ share/ppsspp/assets/lang/ar_AE.ini share/ppsspp/assets/lang/az_AZ.ini +share/ppsspp/assets/lang/be_BY.ini share/ppsspp/assets/lang/bg_BG.ini share/ppsspp/assets/lang/ca_ES.ini share/ppsspp/assets/lang/cz_CZ.ini @@ -158,8 +160,10 @@ share/ppsspp/assets/shaders/videoAA.fsh share/ppsspp/assets/shaders/vignette.fsh share/ppsspp/assets/themes/ share/ppsspp/assets/themes/1995.ini +share/ppsspp/assets/themes/alpine.ini share/ppsspp/assets/themes/defaultthemes.ini share/ppsspp/assets/themes/slateforest.ini +share/ppsspp/assets/themes/strawberry.ini share/ppsspp/assets/themes/vinewood.ini share/ppsspp/assets/ui_atlas.meta share/ppsspp/assets/ui_atlas.zim ----- End forwarded message -----