diff options
author | soredake <fdsfgs@krutt.org> | 2017-06-02 17:08:59 +0300 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2017-06-18 09:40:54 +0200 |
commit | 83bb5089128de61c84b619dc6cd433b38a61e9a0 (patch) | |
tree | f9ea811047ec42b64385557d867eb8e7eded8d0b /games-emulation | |
parent | media-video/kamoso: version bump 3.2.4 (diff) | |
download | gentoo-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/Manifest | 1 | ||||
-rw-r--r-- | games-emulation/ppsspp/metadata.xml | 1 | ||||
-rw-r--r-- | games-emulation/ppsspp/ppsspp-1.4.ebuild | 28 | ||||
-rw-r--r-- | games-emulation/ppsspp/ppsspp-9999.ebuild | 27 |
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 +} |