Merge remote-tracking branch 'remotes/hhoffstaette/mpv-python35'
[gentoo.git] / games-emulation / ppsspp / ppsspp-1.1.1-r1.ebuild
1 # Copyright 1999-2016 Gentoo Foundation
2 # Distributed under the terms of the GNU General Public License v2
3 # $Id$
4
5 EAPI=5
6
7 inherit eutils cmake-utils qt4-r2 git-r3
8
9 DESCRIPTION="A PSP emulator written in C++."
10 HOMEPAGE="http://www.ppsspp.org/"
11 EGIT_REPO_URI="git://github.com/hrydgard/${PN}.git"
12 EGIT_COMMIT="v${PV}"
13
14 LICENSE="GPL-2"
15 SLOT="0"
16 KEYWORDS="~amd64 ~x86"
17 IUSE="qt4 qt5 +sdl"
18 REQUIRED_USE="
19         ?? ( qt4 qt5 sdl )
20 "
21
22 RDEPEND=""
23
24 DEPEND="
25         sys-libs/zlib
26         sdl? (
27                 dev-util/cmake
28                 media-libs/libsdl
29                 media-libs/libsdl2
30         )
31         qt4? (
32                 dev-qt/qtsvg:4
33                 dev-qt/qtgui:4
34                 dev-qt/qtcore:4
35                 dev-qt/qtopengl:4
36                 dev-qt/qtmultimedia:4
37                 dev-qt/qt-mobility[multimedia]
38         )
39         qt5? (
40                 dev-qt/qtsvg:5
41                 dev-qt/qtgui:5
42                 dev-qt/qtcore:5
43                 dev-qt/qtopengl:5
44                 dev-qt/qtmultimedia:5
45                 dev-qt/qtwidgets:5
46                 dev-qt/qt-mobility[multimedia]
47         )
48 "
49
50 src_unpack() {
51         git-r3_fetch
52         git-r3_checkout
53         if use qt4 ; then
54                 cd "${WORKDIR}"/"${P}"/Qt || die
55                 qt4-r2_src_unpack
56         elif use qt5 ; then
57                 cd "${WORKDIR}"/"${P}"/Qt || die
58                 qt4-r2_src_unpack
59         fi
60 }
61
62 src_prepare() {
63         epatch "$FILESDIR"/ppsspp-cmake.patch
64         epatch "$FILESDIR"/ppsspp-ffmpeg-x86_64.patch
65         epatch "$FILESDIR"/ppsspp-ffmpeg-x86.patch
66         epatch "$FILESDIR"/ppsspp-qt.patch
67         if use qt4 ; then
68                 cd "${WORKDIR}"/"${P}"/Qt || die
69                 qt4-r2_src_prepare
70         elif use qt5 ; then
71                 cd "${WORKDIR}"/"${P}"/Qt || die
72                 qt4-r2_src_prepare
73         else
74                 cmake-utils_src_prepare
75         fi
76 }
77
78 src_configure() {
79         if use qt4 ; then
80                 cd "${WORKDIR}"/"${P}"/Qt || die
81                 qt4-r2_src_configure
82                 eqmake4 "${WORKDIR}"/"${P}"/Qt/PPSSPPQt.pro
83         elif use qt5 ; then
84                 cd "${WORKDIR}"/"${P}"/Qt || die
85                 qt4-r2_src_configure
86                 eqmake5 "${WORKDIR}"/"${P}"/Qt/PPSSPPQt.pro
87         else
88                 cmake-utils_src_configure
89         fi
90 }
91
92 src_compile() {
93         if use qt4 ; then
94                 cd "${WORKDIR}"/"${P}"/Qt || die
95                 qt4-r2_src_compile
96         elif use qt5 ; then
97                 cd "${WORKDIR}"/"${P}"/Qt || die
98                 qt4-r2_src_compile
99         else
100                 cmake-utils_src_compile
101         fi
102 }
103
104 src_install() {
105         if use qt4 ; then
106                 into /usr/games/bin
107                 newexe "${WORKDIR}"/"${P}"/Qt/ppsspp ppsspp
108         elif use qt5 ; then
109                 exeinto /usr/games/bin
110                 newexe "${WORKDIR}"/"${P}"/Qt/ppsspp ppsspp
111         else
112                 exeinto /usr/games
113                 dobin "${FILESDIR}"/ppsspp
114                 exeinto /usr/share/games/"${PN}"
115                 doexe "${WORKDIR}"/"${P}"_build/PPSSPPSDL
116                 insinto /usr/share/games/"${PN}"
117                 doins -r "${WORKDIR}"/"${P}"_build/assets
118                 doins -r "${WORKDIR}"/"${P}"/lang
119         fi
120         insinto /usr/share/icons/
121         newins "${WORKDIR}"/"${P}"/source_assets/image/icon_regular_72.png ppsspp-icon.png
122         domenu "${FILESDIR}"/ppsspp.desktop
123 }
124
125 pkg_postinst() {
126         elog "Remember, in order to play games, you have to "
127         elog "be in the 'games' group. "
128         elog "Just run 'gpasswd -a <USER> games', then have <USER> re-login. "
129 }