commit:     051286e08843fc07d1561486ad0fb2eabdf0472b
Author:     soredake <fdsfgs <AT> krutt <DOT> org>
AuthorDate: Tue Apr  4 13:11:03 2017 +0000
Commit:     Patrice Clement <monsieurp <AT> gentoo <DOT> org>
CommitDate: Tue Apr  4 21:14:02 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=051286e0

games-emulation/ppsspp: update 9999 version.

Closes: https://github.com/gentoo/gentoo/pull/4342

 games-emulation/ppsspp/ppsspp-9999.ebuild | 138 +++++++++---------------------
 1 file changed, 42 insertions(+), 96 deletions(-)

diff --git a/games-emulation/ppsspp/ppsspp-9999.ebuild 
b/games-emulation/ppsspp/ppsspp-9999.ebuild
index 16ca5dd693f..ff8656b6a2d 100644
--- a/games-emulation/ppsspp/ppsspp-9999.ebuild
+++ b/games-emulation/ppsspp/ppsspp-9999.ebuild
@@ -1,127 +1,73 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=5
+EAPI=6
 
-inherit eutils cmake-utils qt4-r2 git-r3
+inherit eutils cmake-utils git-r3
 
 DESCRIPTION="A PSP emulator written in C++."
-HOMEPAGE="http://www.ppsspp.org/";
-EGIT_REPO_URI="git://github.com/hrydgard/${PN}.git"
+HOMEPAGE="https://www.ppsspp.org/";
+EGIT_REPO_URI="https://github.com/hrydgard/${PN}.git";
 
 LICENSE="GPL-2"
 SLOT="0"
-KEYWORDS=""
-IUSE="qt4 qt5 +sdl"
+IUSE="+qt5 sdl headless libav"
 REQUIRED_USE="
-       ?? ( qt4 qt5 sdl )
+       !headless? ( || ( qt5 sdl ) )
+       ?? ( qt5 sdl )
 "
+EGIT_SUBMODULES=( '*' '-ffmpeg' )
 
-RDEPEND=""
-
-DEPEND="
-       sys-libs/zlib
+RDEPEND="sys-libs/zlib
+       !libav? ( media-video/ffmpeg:= )
+       libav? ( media-video/libav:= )
        sdl? (
-               dev-util/cmake
                media-libs/libsdl
                media-libs/libsdl2
        )
-       qt4? (
-               dev-qt/qtsvg:4
-               dev-qt/qtgui:4
-               dev-qt/qtcore:4
-               dev-qt/qtopengl:4
-               dev-qt/qtmultimedia:4
-               dev-qt/qt-mobility[multimedia]
-       )
        qt5? (
-               dev-qt/qtsvg:5
-               dev-qt/qtgui:5
+               dev-db/sqlite
+               dev-qt/assistant:5
                dev-qt/qtcore:5
-               dev-qt/qtopengl:5
+               dev-qt/qtdeclarative:5
+               dev-qt/qtgui:5
                dev-qt/qtmultimedia:5
+               dev-qt/qtopengl:5
+               dev-qt/qtsvg:5
+               dev-qt/qtwebkit:5
                dev-qt/qtwidgets:5
-               dev-qt/qt-mobility[multimedia]
-       )
-"
+       )"
 
-src_unpack() {
-       git-r3_fetch
-       git-r3_checkout
-       if use qt4 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_unpack
-       elif use qt5 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_unpack
-       fi
-}
+DEPEND="${RDEPEND}"
 
 src_prepare() {
-       sed -i -e "s#-O3#-O2#g;" "${S}"/CMakeLists.txt || die
-       sed -i -e "s#-O3#-O2#g;" "${S}"/Qt/Settings.pri || die
-       sed -i -e "s#-O3#-O2#g;" "${S}"/ffmpeg/linux_*.sh || die
+       # 
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"
 
-       if use qt4 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_prepare
-       elif use qt5 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_prepare
-       else
-               cmake-utils_src_prepare
-       fi
+       sed -i -e "s#-O3#-O2#g;" "${S}"/CMakeLists.txt || die
+       cmake-utils_src_prepare
 }
 
 src_configure() {
-       if use qt4 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_configure
-               eqmake4 "${WORKDIR}"/"${P}"/Qt/PPSSPPQt.pro
-       elif use qt5 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_configure
-               eqmake5 "${WORKDIR}"/"${P}"/Qt/PPSSPPQt.pro
-       else
-               cmake-utils_src_configure
-       fi
-}
-
-src_compile() {
-       if use qt4 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_compile
-       elif use qt5 ; then
-               cd "${WORKDIR}"/"${P}"/Qt || die
-               qt4-r2_src_compile
-       else
-               cmake-utils_src_compile
-       fi
+       local mycmakeargs=(
+               -DUSING_QT_UI=$(usex qt5)
+               -DUSE_SYSTEM_FFMPEG=ON
+               -DHEADLESS=$(usex headless)
+               )
+       cmake-utils_src_configure
 }
 
 src_install() {
-       if use qt4 ; then
-               exeinto /usr/games/bin
-               newexe "${WORKDIR}"/"${P}"/Qt/ppsspp ppsspp
-       elif use qt5 ; then
-               exeinto /usr/games/bin
-               newexe "${WORKDIR}"/"${P}"/Qt/ppsspp ppsspp
-       else
-               exeinto /usr/games
-               dobin "${FILESDIR}"/ppsspp
-               exeinto /usr/share/games/"${PN}"
-               doexe "${WORKDIR}"/"${P}"_build/PPSSPPSDL
-               insinto /usr/share/games/"${PN}"
-               doins -r "${WORKDIR}"/"${P}"_build/assets
-               doins -r "${WORKDIR}"/"${P}"/lang
+       use headless && dobin "${BUILD_DIR}/PPSSPPHeadless"
+       insinto /usr/share/"${PN}"
+       doins -r "${BUILD_DIR}/assets"
+       if use qt5 || use sdl ; then
+               dobin "${BUILD_DIR}/PPSSPP$(usex qt5 Qt SDL)"
+               local i
+               for i in 16 24 32 48 64 96 128 256 512 ; do
+                       doicon -s ${i} "icons/hicolor/${i}x${i}/apps/${PN}.png"
+               done
+               make_desktop_entry "PPSSPP$(usex qt5 Qt SDL)" "PPSSPP ($(usex 
qt5 Qt SDL))" "${PN}" "Game"
        fi
-       insinto /usr/share/icons/
-       newins "${WORKDIR}"/"${P}"/source_assets/image/icon_regular_72.png 
ppsspp-icon.png
-       domenu "${FILESDIR}"/ppsspp.desktop
-}
-
-pkg_postinst() {
-       elog "Remember, in order to play games, you have to "
-       elog "be in the 'games' group. "
-       elog "Just run 'gpasswd -a <USER> games', then have <USER> re-login. "
 }

Reply via email to