# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ EAPI=5 inherit eutils cmake-utils qt4-r2 DESCRIPTION="A PSP emulator written in C++." HOMEPAGE="http://www.ppsspp.org/" GITHUB_BASEURI="https://github.com" SRC_URI="${GITHUB_BASEURI}/hrydgard/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" SUBMODULES=( "hrydgard/ppsspp-ffmpeg a7cae9c5a5b48e903ae97f4c8afecc82b41eb218 ffmpeg" "hrydgard/ppsspp-lang 16a50e33001aa4bff80e4f55c3a01e314b65755f lang" "hrydgard/pspautotests e18cface3db64ccb96738dc128fe769b28fff65c pspautotests" "hrydgard/minidx9 ec19e643461c84dbb256f6faaaab02cba61d4edc dx9sdk" "hrydgard/ppsspp-glslang 7aaea5a33ba0c4165cdffb008e7cda2858d0c985 ext/glslang" "Kingcom/armips 9b225d99a5eb1eef957544dc422b08ba3b6efbae ext/armips" ) for module in "${SUBMODULES[@]}"; do module=(${module}) SRC_URI="${SRC_URI} ${GITHUB_BASEURI}/${module[0]}/archive/${module[1]}.tar.gz -> ${P}-${module[2]//\//_}.tar.gz" done LICENSE="GPL-2" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="qt4 qt5 +sdl" REQUIRED_USE=" ?? ( qt4 qt5 sdl ) " RDEPEND="" DEPEND=" sys-libs/zlib 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-qt/qtcore:5 dev-qt/qtopengl:5 dev-qt/qtmultimedia:5 dev-qt/qtwidgets:5 dev-qt/qt-mobility[multimedia] ) " src_unpack() { unpack "${P}.tar.gz" cd "${S}" for i in ffmpeg lang pspautotests dx9sdk ext_glslang ext_armips; do tar xf "${DISTDIR}/${P}-${i}.tar.gz" --strip-components 1 -C "${i//_//}" || die "Failed to unpack ${P}-${i}.tar.gz" done 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 } 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 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 } 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 } 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 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 games', then have re-login. " }