summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsoredake <fdsfgs@krutt.org>2017-06-02 17:08:59 +0300
committerMichał Górny <mgorny@gentoo.org>2017-06-18 09:40:54 +0200
commit83bb5089128de61c84b619dc6cd433b38a61e9a0 (patch)
treef9ea811047ec42b64385557d867eb8e7eded8d0b /games-emulation
parentmedia-video/kamoso: version bump 3.2.4 (diff)
downloadgentoo-83bb5089128de61c84b619dc6cd433b38a61e9a0.tar.gz
gentoo-83bb5089128de61c84b619dc6cd433b38a61e9a0.tar.bz2
gentoo-83bb5089128de61c84b619dc6cd433b38a61e9a0.zip
games-emulation/ppsspp: add system-ffmpeg USE flag
Closes: https://github.com/gentoo/gentoo/pull/4832
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/ppsspp/Manifest1
-rw-r--r--games-emulation/ppsspp/metadata.xml1
-rw-r--r--games-emulation/ppsspp/ppsspp-1.4.ebuild28
-rw-r--r--games-emulation/ppsspp/ppsspp-9999.ebuild27
4 files changed, 48 insertions, 9 deletions
diff --git a/games-emulation/ppsspp/Manifest b/games-emulation/ppsspp/Manifest
index 7e6ecd2e2427..50368322c2c0 100644
--- a/games-emulation/ppsspp/Manifest
+++ b/games-emulation/ppsspp/Manifest
@@ -4,5 +4,6 @@ DIST ppsspp-1.4-ext_SPIRV-Cross.tar.gz 193267 SHA256 00737747996ebfa09d9d5d66e29
DIST ppsspp-1.4-ext_armips.tar.gz 163666 SHA256 a5cc0e9aa3bdf4bb4334def685751f03aaed0aa0d23f317dc2a242bd60be1c64 SHA512 9423bdbc1428700979c13276a427975733a07908fdf021dc6ab88cec0d37e9523aacd4a2a03eef23638070293dde3f1641647c47095ef2751982b9f9893c1baa WHIRLPOOL b5f2201e8e3b604282818a946a729f73ed538cd8f98e57c1fffad8ba219569bf47b1f6714c9af9dfd483b1b71eb045533e0be58a664a8a934ab0b4651fbbcbf6
DIST ppsspp-1.4-ext_armips_ext_tinyformat.tar.gz 22284 SHA256 9db9bc16e9fafede493b5890b935a57ee6e5e284a9d6e8fa6d9329790a96b8c6 SHA512 fb063ea9b632c8a9a0203c181830cb2feed9142fcf4d69c11cc0a3e8dcbb3cea51dde6bb351df567b3f105a4da99fd2e72ba3572d3fc0e9a45364f4115d6c3d1 WHIRLPOOL 18135420bab7b06a10941ca5039b67899f90e7d2a175eae9ebadf579c1838cb60744d08fd40bb3fe859d108b7af8a17335ce77979ff9e083cc341dd629d7682e
DIST ppsspp-1.4-ext_glslang.tar.gz 1685246 SHA256 c7e41726e2d9d6c47e7e2654d4354b1a61527e86158c9ad5e8a9e8f9d7f6a788 SHA512 3605fb8a3c5dafcab97578030be4af3703f1475c8e9fd58412a514dcaa0ea6c7bf3a279510759496ab34b979a3d260d3da3d6f00d504c9c5e0f9a7b5a61399bc WHIRLPOOL e78e25b94cb3724e0e013203b27c757896b858779a8f85900dcaa2919482d146f64465166deb25749865d67b66fe2c37876061fd3cc6fcc796d9767ebbb51da3
+DIST ppsspp-1.4-ffmpeg.tar.gz 311610961 SHA256 b75ccf7f740577c1eb6c66c0551919cea5cd71c56cd100a31ae1524803b40236 SHA512 d4bdb3c5a13bc64d7b22e38b416355d302a4401a1d8f6bd57a4d8502823dc9a2987df92b8e781ddab6de8ded9b59b268ef1b33f8f43a0be7b1c57d4ffbee6871 WHIRLPOOL 656d08ad6c2654498cd662ec6a73fb5e2b559a0c69158d8a42d8cc8ba7b7387d8dd210bf31821870b9fd5171830dd6bbf244e7d3139d6a9c5f8a7083350a2430
DIST ppsspp-1.4-pspautotests.tar.gz 34389722 SHA256 e25ec80dcb50c7a7816afecda5cbe9c15c5fc23dbbc063d697378dcb4134c845 SHA512 70b0c4ee9775ee8179d7993b0162a8fb95aa6b0bf1c2cc49e6e6ec03be6d72c615a8a233235028ce29e715e0ba64f9d60efcb2fadd1b9e6d92a9f435e0c86bbf WHIRLPOOL b108707bf73b4e82808b10cad98992a5026c1c5013908c71bb19c58883cec131f643c333f0b93d29d97157921f842f3be863100032748e021024c0e50791df41
DIST ppsspp-1.4.tar.gz 18909397 SHA256 d801fbdc0063cd351392af488a65fc66021f45eb1edbabe7bce069ce0d68d5a6 SHA512 986bb4cf9756dba3874838bed9cf5721a2025c19d5c7c936aa8f7dca7848102a10dc924f1900b0ab90a5742ef2b96e3895f085f4ffb471648fb15135c1947580 WHIRLPOOL a02c594378ca01199423596440bdd052c2a75ea61036895c214dd73dad5ffeb95e5f44546939c9a3a812e1cb208ef9ef6e84164f8177f87e02900ca8f7122edc
diff --git a/games-emulation/ppsspp/metadata.xml b/games-emulation/ppsspp/metadata.xml
index ee0867329263..83e3a6dff698 100644
--- a/games-emulation/ppsspp/metadata.xml
+++ b/games-emulation/ppsspp/metadata.xml
@@ -15,6 +15,7 @@
</maintainer>
<use>
<flag name="headless">Build headless version of the PPSSPP</flag>
+ <flag name="system-ffmpeg">Use the system-wide media-video/ffmpeg instead of bundled</flag>
</use>
<upstream>
<bugs-to>https://github.com/hrydgard/ppsspp/issues</bugs-to>
diff --git a/games-emulation/ppsspp/ppsspp-1.4.ebuild b/games-emulation/ppsspp/ppsspp-1.4.ebuild
index 1879b5ea6f33..f1855879f56c 100644
--- a/games-emulation/ppsspp/ppsspp-1.4.ebuild
+++ b/games-emulation/ppsspp/ppsspp-1.4.ebuild
@@ -9,6 +9,7 @@ DESCRIPTION="A PSP emulator written in C++."
HOMEPAGE="https://www.ppsspp.org/"
SRC_URI="
https://github.com/hrydgard/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ !system-ffmpeg? ( https://github.com/hrydgard/ppsspp-ffmpeg/archive/a2e98d7ba4c7c5cac08608732c3058cb46e3e0ef.tar.gz -> ${P}-ffmpeg.tar.gz )
https://github.com/hrydgard/ppsspp-lang/archive/ed0bbfb389da213bd891d179d1d92e95b8f05e43.tar.gz -> ${P}-assets_lang.tar.gz
https://github.com/hrydgard/pspautotests/archive/905c3018d01af9dfb511c87e65e07a49257a33ac.tar.gz -> ${P}-pspautotests.tar.gz
https://github.com/hrydgard/minidx9/archive/7751cf73f5c06f1be21f5f31c3e2d9a7bacd3a93.tar.gz -> ${P}-dx9sdk.tar.gz
@@ -21,15 +22,17 @@ SRC_URI="
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE="+qt5 sdl headless libav"
+IUSE="+qt5 sdl headless libav +system-ffmpeg"
REQUIRED_USE="
!headless? ( || ( qt5 sdl ) )
?? ( qt5 sdl )
"
RDEPEND="sys-libs/zlib
- !libav? ( media-video/ffmpeg:= )
- libav? ( media-video/libav:= )
+ system-ffmpeg? (
+ !libav? ( media-video/ffmpeg:= )
+ libav? ( media-video/libav:= )
+ )
sdl? (
media-libs/libsdl
media-libs/libsdl2
@@ -58,15 +61,25 @@ src_unpack() {
unpack "${P}.tar.gz"
cd "${S}" || die
local i list=( assets_lang pspautotests dx9sdk ext_glslang ext_armips ext_SPIRV-Cross ext_armips_ext_tinyformat )
+ if ! use system-ffmpeg; then
+ list+=( ffmpeg )
+ fi
for i in "${list[@]}"; do
tar xf "${DISTDIR}/${P}-${i}.tar.gz" --strip-components 1 -C "${i//_//}" || die "Failed to unpack ${P}-${i}.tar.gz"
done
}
+src_prepare() {
+ if ! use system-ffmpeg; then
+ sed -i -e "s#-O3#-O2#g;" "${S}"/ffmpeg/linux_*.sh || die
+ fi
+ cmake-utils_src_prepare
+}
+
src_configure() {
local mycmakeargs=(
-DUSING_QT_UI=$(usex qt5)
- -DUSE_SYSTEM_FFMPEG=ON
+ -DUSE_SYSTEM_FFMPEG=$(usex system-ffmpeg)
-DHEADLESS=$(usex headless)
)
cmake-utils_src_configure
@@ -85,3 +98,10 @@ src_install() {
make_desktop_entry "PPSSPP$(usex qt5 Qt SDL)" "PPSSPP ($(usex qt5 Qt SDL))" "${PN}" "Game"
fi
}
+
+pkg_postinst() {
+ if use system-ffmpeg; then
+ ewarn "system-ffmpeg USE flag is enabled, some bugs might arise due to it."
+ ewarn "See https://github.com/hrydgard/ppsspp/issues/9026 for more informations."
+ fi
+}
diff --git a/games-emulation/ppsspp/ppsspp-9999.ebuild b/games-emulation/ppsspp/ppsspp-9999.ebuild
index ff8656b6a2db..acd37286ab88 100644
--- a/games-emulation/ppsspp/ppsspp-9999.ebuild
+++ b/games-emulation/ppsspp/ppsspp-9999.ebuild
@@ -11,16 +11,18 @@ EGIT_REPO_URI="https://github.com/hrydgard/${PN}.git"
LICENSE="GPL-2"
SLOT="0"
-IUSE="+qt5 sdl headless libav"
+IUSE="+qt5 sdl headless libav +system-ffmpeg"
REQUIRED_USE="
!headless? ( || ( qt5 sdl ) )
?? ( qt5 sdl )
"
-EGIT_SUBMODULES=( '*' '-ffmpeg' )
+EGIT_SUBMODULES=( '*' )
RDEPEND="sys-libs/zlib
- !libav? ( media-video/ffmpeg:= )
- libav? ( media-video/libav:= )
+ system-ffmpeg? (
+ !libav? ( media-video/ffmpeg:= )
+ libav? ( media-video/libav:= )
+ )
sdl? (
media-libs/libsdl
media-libs/libsdl2
@@ -40,19 +42,27 @@ RDEPEND="sys-libs/zlib
DEPEND="${RDEPEND}"
+src_unpack() {
+ use system-ffmpeg && EGIT_SUBMODULES+=( '-ffmpeg' )
+ git-r3_src_unpack
+}
+
src_prepare() {
# https://github.com/hrydgard/ppsspp/blob/150619c5a341f372266bec86fd874ac5a1343a43/UI/NativeApp.cpp#L318
# patch ppsspp to use /usr/share instead of working dir to find the assets
sed -i 's|VFSRegister("", new AssetsAssetReader());|VFSRegister("", new DirectoryAssetReader("/usr/share/ppsspp/assets/"));|g' UI/NativeApp.cpp || die "Patching qt assets path failed"
sed -i -e "s#-O3#-O2#g;" "${S}"/CMakeLists.txt || die
+ if ! use system-ffmpeg; then
+ sed -i -e "s#-O3#-O2#g;" "${S}"/ffmpeg/linux_*.sh || die
+ fi
cmake-utils_src_prepare
}
src_configure() {
local mycmakeargs=(
-DUSING_QT_UI=$(usex qt5)
- -DUSE_SYSTEM_FFMPEG=ON
+ -DUSE_SYSTEM_FFMPEG=$(usex system-ffmpeg)
-DHEADLESS=$(usex headless)
)
cmake-utils_src_configure
@@ -71,3 +81,10 @@ src_install() {
make_desktop_entry "PPSSPP$(usex qt5 Qt SDL)" "PPSSPP ($(usex qt5 Qt SDL))" "${PN}" "Game"
fi
}
+
+pkg_postinst() {
+ if use system-ffmpeg; then
+ ewarn "system-ffmpeg USE flag is enabled, some bugs might arise due to it."
+ ewarn "See https://github.com/hrydgard/ppsspp/issues/9026 for more informations."
+ fi
+}