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
+}

Reply via email to