Files @ 85f76e7fb4ef
Branch filter:

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

85f76e7fb4ef 3.6 KiB application/vnd.gentoo.ebuild Show Annotation Show as Raw Download as Raw
chain
last rites for net-analyzer/centreon
# 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. "
}