Bug 293572 - emulators/ppsspp: update to 1.20.1
Summary: emulators/ppsspp: update to 1.20.1
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Daniel Engberg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-03-04 00:08 UTC by Kevin Reinholz
Modified: 2026-03-07 21:38 UTC (History)
3 users (show)

See Also:


Attachments
patch to update emulators/ppsspp to version 1.20.1 in ports tree (8.34 KB, patch)
2026-03-04 00:08 UTC, Kevin Reinholz
no flags Details | Diff
emulators/ppsspp: update to 1.20.1; remove deprecated Qt5 GUI option and slave port (10.40 KB, patch)
2026-03-07 15:50 UTC, Kevin Reinholz
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Reinholz 2026-03-04 00:08:45 UTC
Created attachment 268520 [details]
patch to update emulators/ppsspp to version 1.20.1 in ports tree
Comment 1 Vladimir Druzenko freebsd_committer freebsd_triage 2026-03-06 19:05:45 UTC
Port have:
devel/libchdr
print/freetype2
graphics/nanosvg

Why do use bundled versions?
Porters handbook recommends unbundling libraries, especially if they already exist in ports.
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2026-03-06 19:07:14 UTC
graphics/glslang
graphics/spirv-cross
devel/rapidjson
Comment 3 Kevin Reinholz 2026-03-07 04:00:30 UTC
(In reply to Vladimir Druzenko from comment #2)

Re bundled vs shared libs. None of the listed ports/packages have an associated cmake USE_SYSTEM option in PPSSPP's CMakeLists, and without patching, PPSSPP will not get past the ninja configuration stage, much less build.

3 of those 6 bundled dependencies are in addition not based on upstream but on forks maintained by the primary PPSSPP dev:

freetype
glslang
nanosvg

(In fairness, the commits to forked freetype and glslang appear to be cmake build-related, but commit 478dbb8 does alter forked nanosvg behavior to make SVG group IDs override shape IDs and is therefore more likely to break PPSSPP or cause unexpected runtime behavior if the port version is used).

For every dependency where an option to USE_SYSTEM and create a LIB_DEPENDS was available, it was used. While it might be possible to patch the upstream sources to force linking against system libs provided by ports/packages, for these 6 dependencies, PPSSPP devs intended for it to be built with bundled libs at the fixed versions (or forked sources) specified.

Could build against linked libraries provided by ports/packages be made to work even when not supported by PPSSPP's cmake build options? Probably, unless even minor version mismatches would break PPSSPP build or introduce runtime bugs. But that seems like a lot of work and maintenance headache to meet a philosophical preference rather than a blocking rule.

Break.

Qt5 has reached EOL and may be removed from Ports sometime after the final planned maintenance release in June 2026. It might be worth removing the emulators/ppsspp-qt5 slave port and modifying this emulators/ppsspp port to remove Qt5 GUI related options from the Makefile. I can submit an updated patch that accomplishes these tasks, or wait until Qt5 is formally removed from the Ports tree.
Comment 4 Kevin Reinholz 2026-03-07 15:50:56 UTC
Created attachment 268603 [details]
emulators/ppsspp: update to 1.20.1; remove deprecated Qt5 GUI option and slave port

emulators/ppsspp: update to 1.20.1 release.

emulators/ppsspp-qt5: delete deprecated Qt5 GUI option due to Qt5 EOL.