1 |
# As per the policy on emulators, this should be submitted to tainted |
2 |
|
3 |
Summary: Sony PlayStation Portable (PSP) emulator |
4 |
Name: ppsspp |
5 |
Version: 1.7.5 |
6 |
Release: %mkrel 1 |
7 |
License: GPLv2+ |
8 |
Group: Emulators |
9 |
Url: http://www.ppsspp.org |
10 |
# git clone https://github.com/hrydgard/ppsspp && cd ppsspp |
11 |
# git submodule update --init --recursive assets/lang ext/SPIRV-Cross ext/armips ext/discord-rpc ext/glslang |
12 |
# git archive-all --prefix=ppsspp-%%{version}/ ppsspp-%%{version}.tar.xz |
13 |
Source0: %{name}-%{version}.tar.xz |
14 |
Patch1: ppsspp-1.1.0-git-version.patch |
15 |
Patch2: ppsspp-1.4.0-datapath.patch |
16 |
Patch3: ppsspp-1.7.2-mga-system-rapidjson.patch |
17 |
Patch4: ppsspp-1.7.2-mga-opengl-arm.patch |
18 |
# Temporary hack to workaround https://github.com/hrydgard/ppsspp/issues/11490 |
19 |
Patch5: ppsspp-1.7.2-mga-workaround-ffmpeg-3.1-or-later.patch |
20 |
# https://github.com/hrydgard/ppsspp/pull/11541 (merged for 1.8.0) |
21 |
Patch6: ppsspp-1.7.2-mga-arm-x11.patch |
22 |
|
23 |
BuildRequires: cmake |
24 |
BuildRequires: imagemagick |
25 |
BuildRequires: ffmpeg-devel |
26 |
BuildRequires: pkgconfig(gl) |
27 |
BuildRequires: pkgconfig(glew) |
28 |
# Needs libpng 1.7+, not packaged in mga7 for now |
29 |
#BuildRequires: pkgconfig(libpng) >= 1.7 |
30 |
BuildRequires: pkgconfig(libzip) |
31 |
BuildRequires: pkgconfig(RapidJSON) |
32 |
BuildRequires: pkgconfig(sdl2) |
33 |
BuildRequires: pkgconfig(snappy) |
34 |
BuildRequires: pkgconfig(zlib) |
35 |
# TODO: Try to unbundled glslang now that we package it. |
36 |
|
37 |
%description |
38 |
PPSSPP is a cross-platform Sony PlayStation Portable (PSP) emulator. |
39 |
|
40 |
PPSSPP can run your PSP games on your PC in full HD resolution, and play |
41 |
them on Android too. It can even upscale textures that would otherwise be |
42 |
too blurry as they were made for the small screen of the original PSP. |
43 |
|
44 |
This package is in tainted as per the policy on emulators. |
45 |
|
46 |
%files |
47 |
%doc LICENSE.TXT README.md |
48 |
%{_datadir}/applications/%{name}.desktop |
49 |
%{_gamesbindir}/%{name} |
50 |
%{_gamesdatadir}/%{name}/ |
51 |
%{_iconsdir}/hicolor/*/apps/%{name}.png |
52 |
|
53 |
#---------------------------------------------------------------------------- |
54 |
|
55 |
%prep |
56 |
%autosetup -p1 |
57 |
|
58 |
# Fix version string |
59 |
sed s,"unknown_version","%{version}-%{release}",g -i git-version.cmake |
60 |
|
61 |
# Make sure those are not used |
62 |
rm -rf ext/zlib |
63 |
rm -rf ext/native/ext/libzip |
64 |
#rm -rf ext/native/ext/libpng17 |
65 |
# We need to keep the CMakeLists.txt for USE_SYSTEM_SNAPPY and GLEW_FOUND |
66 |
rm -rf ext/glew/{GL,*.c} |
67 |
rm -rf ext/snappy/*.{cpp,h} |
68 |
|
69 |
%build |
70 |
%cmake \ |
71 |
-DBUILD_SHARED_LIBS=OFF \ |
72 |
-DHEADLESS=OFF \ |
73 |
-DUSE_FFMPEG=ON \ |
74 |
-DUSE_SYSTEM_FFMPEG=ON \ |
75 |
-DUSE_SYSTEM_LIBZIP=ON \ |
76 |
-DUSE_SYSTEM_SNAPPY=ON |
77 |
%make_build |
78 |
|
79 |
%install |
80 |
# no make install for ppsspp, only for its bundled deps |
81 |
install -D -m755 build/PPSSPPSDL %{buildroot}%{_gamesbindir}/%{name} |
82 |
|
83 |
install -d %{buildroot}%{_gamesdatadir}/%{name} |
84 |
cp -a build/assets %{buildroot}%{_gamesdatadir}/%{name} |
85 |
|
86 |
install -d %{buildroot}%{_datadir}/applications |
87 |
cat << EOF > %{buildroot}%{_datadir}/applications/%{name}.desktop |
88 |
[Desktop Entry] |
89 |
Type=Application |
90 |
Name=PPSSPP |
91 |
GenericName=PSP Emulator |
92 |
Comment=PlayStation Portable Simulator Suitable for Playing Portably (PPSSPP) |
93 |
Exec=ppsspp %f |
94 |
Icon=ppsspp |
95 |
Categories=Game;Emulator; |
96 |
EOF |
97 |
|
98 |
install -d %{buildroot}%{_iconsdir} |
99 |
cp -a icons/hicolor %{buildroot}%{_iconsdir} |