commit: 92d58bdb8449fb3cc5a5e569487fe131c24433e9 Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org> AuthorDate: Wed Mar 12 08:31:45 2025 +0000 Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org> CommitDate: Wed Mar 12 10:11:44 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92d58bdb
games-emulation/ppsspp: use ffmpeg-compat It is possible fixes already exist for ffmpeg-7 for this, but not planning to look into that myself. Arguably instead using bundled on ppsspp would not be a bad idea given playing PSP's videos properly is flaky and ppsspp bundles ffmpeg3 intentionally even though it could use newer. Then again that's assuming the bundled copy even builds fine. That aside, given no code changes here, plans are to sync keywords back with stable when ready. Bug: https://bugs.gentoo.org/948816 Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org> games-emulation/ppsspp/ppsspp-1.18.1-r1.ebuild | 97 ++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) diff --git a/games-emulation/ppsspp/ppsspp-1.18.1-r1.ebuild b/games-emulation/ppsspp/ppsspp-1.18.1-r1.ebuild new file mode 100644 index 000000000000..79a7ae0733b7 --- /dev/null +++ b/games-emulation/ppsspp/ppsspp-1.18.1-r1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) + +inherit ffmpeg-compat flag-o-matic python-any-r1 xdg cmake + +DESCRIPTION="A PSP emulator written in C++" +HOMEPAGE="https://www.ppsspp.org/ + https://github.com/hrydgard/ppsspp/" + +if [[ "${PV}" == *9999* ]] ; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/hrydgard/${PN}.git" +else + SRC_URI="https://github.com/hrydgard/${PN}/releases/download/v${PV}/${P}.tar.xz" + + KEYWORDS="~amd64" +fi + +LICENSE="Apache-2.0 BSD BSD-2 GPL-2 JSON MIT" +SLOT="0" +IUSE="discord qt5 test wayland" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/snappy:= + app-arch/zstd:= + dev-libs/libzip:= + media-libs/glew:= + media-libs/libpng:= + media-libs/libsdl2[joystick] + media-video/ffmpeg-compat:6= + sys-libs/zlib:= + virtual/opengl + qt5? ( + dev-qt/qtcore:5 + dev-qt/qtgui:5[-gles2-only] + dev-qt/qtmultimedia:5[-gles2-only] + dev-qt/qtopengl:5[-gles2-only] + dev-qt/qtwidgets:5[-gles2-only] + ) + !qt5? ( + media-libs/libsdl2[X,opengl,sound,video,wayland?] + ) +" +DEPEND=" + ${RDEPEND} +" +BDEPEND=" + ${PYTHON_DEPS} +" + +PATCHES=( + "${FILESDIR}/${PN}-1.17.1-SpvBuilder-cstdint.patch" + "${FILESDIR}/${PN}-1.17.1-cmake-cxx.patch" + "${FILESDIR}/${PN}-CMakeLists-flags.patch" +) + +pkg_setup() { + python-any-r1_pkg_setup +} + +src_configure() { + # bug https://bugs.gentoo.org/926079 + filter-lto + + local -a mycmakeargs=( + -DBUILD_SHARED_LIBS="OFF" + -DCMAKE_SKIP_RPATH="ON" + -DHEADLESS="OFF" + -DUSE_CCACHE="OFF" + -DUSE_SYSTEM_FFMPEG="ON" + -DUSE_SYSTEM_LIBZIP="ON" + -DUSE_SYSTEM_SNAPPY="ON" + -DUSE_SYSTEM_ZSTD="ON" + -DUSE_DISCORD="$(usex discord)" + -DUSE_WAYLAND_WSI="$(usex wayland)" + -DUSING_QT_UI="$(usex qt5)" + -DUNITTEST="$(usex test)" + ) + + # TODO: fix with >=ffmpeg-7 then drop compat (bug #948816). + # Unfortunately not using pkg-config and needs both flags and dir. + ffmpeg_compat_setup 6 + ffmpeg_compat_add_flags + mycmakeargs+=( -DFFMPEG_DIR="${SYSROOT}$(ffmpeg_compat_get_prefix 6)" ) + + cmake_src_configure +} + +src_test() { + cmake_src_test -E glslang-testsuite +}
