Files @ 85f76e7fb4ef
Branch filter:

Location: portage-overlay.git/games-emulation/ppsspp/ppsspp-1.2.2.ebuild - annotation

85f76e7fb4ef 3.6 KiB application/vnd.gentoo.ebuild Show Source Show as Raw Download as Raw
chain
last rites for net-analyzer/centreon
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
ab1e52694130
# 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 <USER> games', then have <USER> re-login. "
}