commit 77eca9eb511038405d20f509edeaca750e710f3c
Author: sagitter <sagitter(a)fedoraproject.org>
Date: Fri Jul 10 14:03:13 2020 +0200
Release 1.10.2| Create a Qt and a SDL version
.gitignore | 1 +
ppsspp-1.1.0-git-version.patch | 15 +--
ppsspp-1.10.0-bug13058.patch | 41 --------
ppsspp-qt-wayland.desktop | 12 +++
ppsspp-qt.appdata.xml | 41 ++++++++
ppsspp-qt.desktop | 12 +++
ppsspp.appdata.xml | 2 +-
ppsspp.desktop | 2 +-
ppsspp.spec | 232 +++++++++++++++++++++++++++--------------
sources | 2 +-
10 files changed, 228 insertions(+), 132 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 724c0d3..9791246 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,4 @@
/ppsspp-1.9.0.tar.gz
/ppsspp-1.9.4.tar.gz
/ppsspp-1.10.0.tar.gz
+/ppsspp-1.10.2.tar.gz
diff --git a/ppsspp-1.1.0-git-version.patch b/ppsspp-1.1.0-git-version.patch
index e2faa01..3e9f2d7 100644
--- a/ppsspp-1.1.0-git-version.patch
+++ b/ppsspp-1.1.0-git-version.patch
@@ -1,7 +1,7 @@
-diff -urN ppsspp-1.1.0/git-version.cmake ppsspp-1.1.0-patched/git-version.cmake
---- ppsspp-1.1.0/git-version.cmake 2015-10-05 02:52:23.000000000 +1000
-+++ ppsspp-1.1.0-patched/git-version.cmake 2015-10-05 23:23:47.691228897 +1000
-@@ -1,37 +1,7 @@
+diff -urN a/git-version.cmake b/git-version.cmake
+--- a/git-version.cmake 2015-10-05 02:52:23.000000000 +1000
++++ b/git-version.cmake 2015-10-05 23:23:47.691228897 +1000
+@@ -1,30 +1,7 @@
set(GIT_VERSION_FILE "${SOURCE_DIR}/git-version.cpp")
-set(GIT_VERSION "unknown")
+set(GIT_VERSION "@@unknown_version@@")
@@ -28,13 +28,6 @@ diff -urN ppsspp-1.1.0/git-version.cmake
ppsspp-1.1.0-patched/git-version.cmake
- if(NOT ${match} EQUAL "")
- set(GIT_VERSION_UPDATE "0")
- endif()
--
-- # Don't update if it's already the same.
-- file(STRINGS ${GIT_VERSION_FILE} match
-- REGEX "${GIT_VERSION}")
-- if(NOT ${match} EQUAL "")
-- set(GIT_VERSION_UPDATE "0")
-- endif()
-endif()
-
set(code_string "// This is a generated file.\n\n"
diff --git a/ppsspp-qt-wayland.desktop b/ppsspp-qt-wayland.desktop
new file mode 100644
index 0000000..e6a3275
--- /dev/null
+++ b/ppsspp-qt-wayland.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Terminal=false
+Name=PPSSPP Qt for Wayland
+Exec=env QT_QPA_PLATFORM=xcb /usr/bin/PPSSPPQt
+Icon=/usr/share/icons/ppsspp/ppsspp.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
+Name[en_US]=PPSSPP Qt for Wayland
+Categories=Game;Simulation;
diff --git a/ppsspp-qt.appdata.xml b/ppsspp-qt.appdata.xml
new file mode 100644
index 0000000..d6bf72f
--- /dev/null
+++ b/ppsspp-qt.appdata.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop">
+ <id type="desktop">ppsspp.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <summary>A PSP emulator</summary>
+ <name>PPSSPP</name>
+ <project_license>GPL-2.0+ and BSD</project_license>
+ <categories>
+ <category>Games</category>
+ <category>ActionGame</category>
+ <category>Simulation</category>
+ </categories>
+ <description>
+ <p>
+ PPSSPP - a fast and portable PSP emulator with Qt5 frontend wrapper.
+ </p>
+ </description>
+ <releases>
+ <release version="1.10.2" date="2020-07-07">
+ <description>
+ <p>This is the current stable release</p>
+ </description>
+ </release>
+ </releases>
+ <url
type="homepage">https://www.ppsspp.org//</url>
+ <screenshots>
+ <screenshot type="default">
+
<
image>https://www.ppsspp.org/img/screens/Ace_Combat_X2_Joint_Assault_-...
+ </screenshot>
+ <screenshot>
+
<
image>https://www.ppsspp.org/img/screens/Armored_Core_Silent_Line_-_Ab...
+ </screenshot>
+ <screenshot>
+
<
image>https://www.ppsspp.org/img/screens/Assassins_Creed_Bloodlines_-_...
+ </screenshot>
+ <screenshot>
+
<
image>https://www.ppsspp.org/img/screens/Metal_Gear_Solid_Peace_Walker...
+ </screenshot>
+ </screenshots>
+ <updatecontact>sagitter_at_fedoraproject.org</updatecontact>
+</component>
diff --git a/ppsspp-qt.desktop b/ppsspp-qt.desktop
new file mode 100644
index 0000000..c50b444
--- /dev/null
+++ b/ppsspp-qt.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Terminal=false
+Name=PPSSPP Qt
+Exec=/usr/bin/PPSSPPQt
+Icon=/usr/share/icons/ppsspp/ppsspp.png
+X-Window-Icon=
+X-HildonDesk-ShowInToolbar=true
+X-Osso-Type=application/x-executable
+Name[en_US]=PPSSPP Qt
+Categories=Game;Simulation;
diff --git a/ppsspp.appdata.xml b/ppsspp.appdata.xml
index e1dae96..3169499 100644
--- a/ppsspp.appdata.xml
+++ b/ppsspp.appdata.xml
@@ -16,7 +16,7 @@
</p>
</description>
<releases>
- <release version="1.6.3" date="2018-06-05">
+ <release version="1.10.2" date="2020-07-07">
<description>
<p>This is the current stable release</p>
</description>
diff --git a/ppsspp.desktop b/ppsspp.desktop
index 6f741b9..c86adab 100644
--- a/ppsspp.desktop
+++ b/ppsspp.desktop
@@ -8,5 +8,5 @@ Icon=/usr/share/icons/ppsspp/ppsspp.png
X-Window-Icon=
X-HildonDesk-ShowInToolbar=true
X-Osso-Type=application/x-executable
-Name[en_US]=ppsspp
+Name[en_US]=PPSSPP
Categories=Game;Simulation;
diff --git a/ppsspp.spec b/ppsspp.spec
index f1524db..4947747 100644
--- a/ppsspp.spec
+++ b/ppsspp.spec
@@ -1,25 +1,54 @@
#
https://github.com/hrydgard/ppsspp/issues/8823
ExcludeArch: %{power64}
+%if 0%{?el7}
+%global dts devtoolset-9-
+%endif
+
# -Wl,--as-needed breaks linking on fedora 30+
%undefine _ld_as_needed
-%global commit 401df203844465b84015d4710c6f02914b890589
+%global commit 9ec2c2baff0894d2b998254d52389d253d1dd386
%global shortcommit %(c=%{commit}; echo ${c:0:7})
-%global date 20200627
+%global date 20200707
%bcond_with debug
# Note:
-# SDL version works disabling EGL support.
-# Qt version works disabling both EGL and GLES2 support.
-%bcond_without qt
-
-# EGL/GLES2 support.
-%bcond_with egles2
-
+# SDL version with EGL/GLES2 and libretro support: Ok on X11. Ok on Wayland.
+# Qt version with EGL and without GLES2 support: Ok on X11, bad sound. Crashed on
Wayland.
+# Qt version without EGL/GLES2 support: Ok on X11, bad sound. Crashed on Wayland.
+
+%global common_build_options \\\
+ -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib}/%{name} \\\
+ -DPYTHON_EXECUTABLE:FILEPATH=%{__python3} \\\
+ -Wno-dev -DARMIPS_REGEXP:BOOL=OFF \\\
+ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \\\
+ -DUSE_FFMPEG:BOOL=ON -DUSE_SYSTEM_FFMPEG:BOOL=ON \\\
+ -DUSE_SYSTEM_LIBZIP:BOOL=ON \\\
+ -DUSE_SYSTEM_SNAPPY:BOOL=ON \\\
+ %ifarch %{ix86} \
+ -DX86:BOOL=ON \\\
+ %endif \
+ %ifarch %{arm} aarch64 \
+ -DARM:BOOL=ON \\\
+ %endif \
+ %ifarch armv7l armv7hl armv7hnl \
+ -DARMV7:BOOL=ON \\\
+ %endif \
+ %ifarch x86_64 \
+ -DX86_64:BOOL=ON \\\
+ %endif \
+ -DBUILD_TESTING:BOOL=OFF \\\
+ -DENABLE_GLSLANG_BINARIES:BOOL=OFF \\\
+ -DENABLE_HLSL:BOOL=OFF \\\
+ -DOPENGL_xmesa_INCLUDE_DIR:PATH= \\\
+ -DHEADLESS=OFF -DZLIB_INCLUDE_DIR:PATH=%{_includedir} \\\
+ -DPNG_PNG_INCLUDE_DIR:PATH=%{_includedir}/libpng16
-DPNG_LIBRARY:FILEPATH=%{_libdir}/libpng.so
+
+
Name: ppsspp
-Version: 1.10.0
+Version: 1.10.2
Release: 1%{?dist}
Summary: A PSP emulator
License: BSD and GPLv2+
@@ -44,41 +73,38 @@ URL:
https://www.ppsspp.org/
Source0: ppsspp-%{version}.tar.gz
Source1: %{name}.desktop
Source2: %{name}.appdata.xml
+Source3: %{name}-qt.desktop
+Source4: %{name}-qt.appdata.xml
+Source5: %{name}-qt-wayland.desktop
# Fix version
Patch0: %{name}-1.1.0-git-version.patch
Patch1: %{name}-1.10.0-remove_unrecognized_flag.patch
-Patch2: %{name}-1.10.0-bug13058.patch
-
-%if %{with egles2}
-BuildRequires: mesa-libEGL-devel
-BuildRequires: mesa-libGLES-devel
-%endif
+BuildRequires: pkgconfig(egl)
+BuildRequires: pkgconfig(glesv2)
+BuildRequires: pkgconfig(opengl)
+BuildRequires: pkgconfig(glew)
BuildRequires: cmake3
+BuildRequires: python%{python3_pkgversion}-devel
+BuildRequires: python%{python3_pkgversion}-setuptools
BuildRequires: chrpath
BuildRequires: desktop-file-utils
BuildRequires: ffmpeg-devel
BuildRequires: wayland-devel
BuildRequires: snappy-devel
BuildRequires: SDL2-devel
-BuildRequires: gcc, gcc-c++
+BuildRequires: %{?dts}gcc, %{?dts}gcc-c++
BuildRequires: libzip-devel
+BuildRequires: snappy-devel
BuildRequires: libpng-devel
BuildRequires: zlib-devel
-BuildRequires: glew-devel
-BuildRequires: libGL-devel
-%if %{with qt}
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qttools-devel
BuildRequires: qt5-qtmultimedia-devel
-%endif
BuildRequires: libappstream-glib
BuildRequires: rapidjson-devel
-Requires: %{name}-data = %{version}-%{release}
-Requires: hicolor-icon-theme
-
%description
PPSSPP - a fast and portable PSP emulator.
@@ -86,10 +112,31 @@ PPSSPP - a fast and portable PSP emulator.
%package data
Summary: Data files of %{name}
BuildArch: noarch
-
+Requires: hicolor-icon-theme
%description data
Data files of %{name}.
+%package libs
+Summary: PPSSPP private libraries
+%description libs
+Private libraries used by PPSSPP.
+
+%package sdl
+Summary: PPSSPP with SDL frontend
+Requires: %{name}-data = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Obsoletes: %{name} < 0:1.10.2
+%description sdl
+PPSSPP with SDL frontend.
+
+%package qt
+Summary: PPSSPP with Qt5 frontend wrapper
+Requires: %{name}-data = %{version}-%{release}
+Requires: %{name}-libs%{?_isa} = %{version}-%{release}
+Obsoletes: %{name} < 0:1.10.2
+%description qt
+PPSSPP with Qt5 frontend wrapper.
+
%prep
%autosetup -n %{name} -p1
@@ -120,10 +167,14 @@ find ext Core -perm /755 -type f \( -name "*.cpp" -o -name
"*.h" -o -name "*.hpp
%build
mkdir build && pushd build
-export LDFLAGS="%{__global_ldflags} -lGL -fPIC"
+export LDFLAGS="%{__global_ldflags} -fPIC"
export CC=gcc
export CXX=g++
+%if 0%{?el7}
+%{?dts:source /opt/rh/devtoolset-9/enable}
+%endif
+
%if %{with debug}
export CXXFLAGS="-O0 -g -fPIC"
export CFLAGS="-O0 -g -fPIC"
@@ -131,63 +182,71 @@ export CFLAGS="-O0 -g -fPIC"
%else
%cmake3 -DCMAKE_BUILD_TYPE:STRING=Release \
%endif
- -DCMAKE_INSTALL_LIBDIR:PATH=%{_lib}/%{name} \
- -Wno-dev -DARMIPS_REGEXP:BOOL=OFF \
- -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \
- -DUSE_FFMPEG:BOOL=ON -DUSE_SYSTEM_FFMPEG:BOOL=ON \
- -DUSE_SYSTEM_LIBZIP:BOOL=ON -DUSE_WAYLAND_WSI:BOOL=ON \
-%if %{with egles2}
- -DUSING_EGL:BOOL=ON -DUSING_GLES2:BOOL=ON \
- -DOPENGL_EGL_INCLUDE_DIR:PATH="%{_includedir}/EGL -I%{_includedir}/GLES2" \
-%endif
- -DUSING_X11_VULKAN=ON \
- -DENABLE_GLSLANG_BINARIES:BOOL=OFF \
- -DLIBRETRO:BOOL=ON -DENABLE_HLSL:BOOL=OFF \
- -DOPENGL_xmesa_INCLUDE_DIR:PATH="%{_includedir}/GL" \
- -DHEADLESS=OFF -DZLIB_INCLUDE_DIR:PATH=%{_includedir} \
-%if %{with qt}
- -DUSING_QT_UI:BOOL=ON \
- -DPNG_PNG_INCLUDE_DIR:PATH=%{_includedir}/libpng16
-DPNG_LIBRARY:FILEPATH=%{_libdir}/libpng.so \
-%else
+ -DOpenGL_GL_PREFERENCE:STRING=GLVND \
+ -DUSING_EGL:BOOL=OFF \
+ -DUSING_GLES2:BOOL=OFF \
+ -DUSING_X11_VULKAN:BOOL=ON \
+ -DUSE_WAYLAND_WSI:BOOL=ON \
+ -DLIBRETRO:BOOL=OFF \
-DUSING_QT_UI:BOOL=OFF \
- -DPNG_PNG_INCLUDE_DIR:PATH=../ext/native/ext/libpng17 \
-%endif
-%ifarch %{ix86}
- -DX86:BOOL=ON \
-%endif
-%ifarch %{arm} aarch64
- -DARM:BOOL=ON \
-%endif
-%ifarch armv7l armv7hl armv7hnl
- -DARMV7:BOOL=ON \
-%endif
-%ifarch x86_64
- -DX86_64:BOOL=ON \
-%endif
- -DBUILD_TESTING:BOOL=OFF ..
+ %{common_build_options} ..
+%make_build
+popd
+
+mkdir build2 && pushd build2
+
+export LDFLAGS="%{__global_ldflags} -fPIC"
+export CC=gcc
+export CXX=g++
-%make_build V=1
+%if 0%{?el7}
+%{?dts:source /opt/rh/devtoolset-9/enable}
+%endif
+%if %{with debug}
+export CXXFLAGS="-O0 -g -fPIC"
+export CFLAGS="-O0 -g -fPIC"
+%cmake3 -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
-DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-O0 -g -DDEBUG"
-DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-O0 -g -DDEBUG" \
+%else
+%cmake3 -DCMAKE_BUILD_TYPE:STRING=Release \
+%endif
+ -DOpenGL_GL_PREFERENCE:STRING=GLVND \
+ -DUSING_EGL:BOOL=OFF \
+ -DUSING_GLES2:BOOL=OFF \
+ -DUSING_X11_VULKAN:BOOL=ON \
+ -DUSE_WAYLAND_WSI:BOOL=ON \
+ -DUSING_QT_UI:BOOL=ON \
+ -DLIBRETRO:BOOL=ON \
+ %{common_build_options} ..
+%make_build
popd
%install
%make_install -C build
# Install PPSSPP executable
-%if %{with qt}
-install -Dpm 755 build/PPSSPPQt %{buildroot}%{_bindir}/PPSSPPQt
-%else
-install -Dpm 755 build/PPSSPPSDL %{buildroot}%{_bindir}/PPSSPPSDL
-%endif
+mkdir -p %{buildroot}%{_bindir}
+install -pm 755 build2/PPSSPPQt %{buildroot}%{_bindir}/
+install -pm 755 build/PPSSPPSDL %{buildroot}%{_bindir}/
-# Set rpath
+# Install libraries
+mkdir -p %{buildroot}%{_libdir}/%{name}
+cp -a build2/lib/*.a %{buildroot}%{_libdir}/%{name}/
+cp -a build2/lib/*.so %{buildroot}%{_libdir}/%{name}/
+
+cp -u build/lib/*.a %{buildroot}%{_libdir}/%{name}/
+cp -u build/lib/*.so %{buildroot}%{_libdir}/%{name}/
+
+# Fix rpaths
chrpath -r %{_libdir}/%{name} %{buildroot}%{_bindir}/PPSSPP*
+chrpath -d %{buildroot}%{_libdir}/%{name}/*.so
# Install data files
mkdir -p %{buildroot}%{_datadir}/%{name}
-cp -a build/assets %{buildroot}%{_datadir}/%{name}/
+cp -a build2/assets %{buildroot}%{_datadir}/%{name}/
install -pm 644 ppsspp-lang/*.ini %{buildroot}%{_datadir}/%{name}/assets/lang/
+install -pm 644 Qt/languages/*.ts %{buildroot}%{_datadir}/%{name}/assets/lang/
install -pm 644 korean.txt %{buildroot}%{_datadir}/%{name}/assets/lang/korean.ini
install -pm 644 chinese.txt %{buildroot}%{_datadir}/%{name}/assets/lang/chinese.ini
@@ -202,13 +261,13 @@ install -pm 644 icons/icon-114.png
%{buildroot}%{_datadir}/icons/%{name}/%{name}
# Install desktop file
mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install -m 644 %SOURCE1 --dir=%{buildroot}%{_datadir}/applications
-%if %{with qt}
-desktop-file-edit --set-key=Exec --set-value=%{_bindir}/PPSSPPQt
%{buildroot}%{_datadir}/applications/ppsspp.desktop
-%endif
+desktop-file-install -m 644 %SOURCE3 --dir=%{buildroot}%{_datadir}/applications
+desktop-file-install -m 644 %SOURCE5 --dir=%{buildroot}%{_datadir}/applications
# Install appdata file
mkdir -p %{buildroot}%{_metainfodir}
install -pm 644 %SOURCE2 %{buildroot}%{_metainfodir}/
+install -pm 644 %SOURCE4 %{buildroot}%{_metainfodir}/
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml
%if 0%{?rhel}
@@ -225,23 +284,42 @@ fi
/usr/bin/gtk-update-icon-cache %{_datadir}/icons/%{name} &>/dev/null || :
%endif
-
-%files
-%{_bindir}/PPSSPP*
-%{_datadir}/icons/hicolor/*/apps/%{name}.png
-%{_datadir}/icons/%{name}/
+%files sdl
+%doc README.md
+%license LICENSE.TXT
+%{_bindir}/PPSSPPSDL
%{_datadir}/applications/%{name}.desktop
%{_metainfodir}/%{name}.appdata.xml
-%{_libdir}/%{name}/
+%files qt
+%doc README.md
+%license LICENSE.TXT
+%{_bindir}/PPSSPPQt
+%{_datadir}/applications/%{name}-qt.desktop
+%{_datadir}/applications/%{name}-qt-wayland.desktop
+%{_metainfodir}/%{name}-qt.appdata.xml
+
+%files libs
+%doc README.md
+%license LICENSE.TXT
+%{_libdir}/%{name}/
%files data
%doc README.md
%license LICENSE.TXT
%{_datadir}/%{name}/
-
+%{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{_datadir}/icons/%{name}/
%changelog
+* Fri Jul 10 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 1.10.2-1
+- Release 1.10.2
+- Create a Qt and a SDL version
+
+* Sun Jun 28 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 1.10.0-2
+- BuildRequires python3-devel explicitly
+- Use devtoolset-9 on EPEL7
+
* Sat Jun 27 2020 Antonio Trande <sagitter(a)fedoraproject.org> - 1.10.0-1
- Release 1.10.0
diff --git a/sources b/sources
index e439f8b..d5d021e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (ppsspp-1.10.0.tar.gz) =
01972a986491a4a00a56244ed7e43d217dc6d8aff03ec16c15c8894dcadae881d660b00fd436d727a31e7ef91985724f22ff1c55d5f294cd9e22ca149b2be86f
+SHA512 (ppsspp-1.10.2.tar.gz) =
033a7f3263afe8c07acb34c8d87a0d40321085720a209bd27c2e9ab1289351293fcd58b515d57cb1b57db06e450dfd299aa1fb459ab9426b76c8ada858e16acb