# # spec file for package ppsspp # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: ppsspp Version: 1.5.4~git20180412 Release: 0 Summary: PlayStation Portable Emulator License: GPL-2.0+ Group: System/Emulators/Other Url: http://www.ppsspp.org Source: %{name}-%{version}.tar.xz BuildRequires: gcc-c++ BuildRequires: cmake >= 3.6 BuildRequires: Mesa-devel BuildRequires: libzip-devel BuildRequires: snappy-devel BuildRequires: unzip BuildRequires: fdupes BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(glew) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(libpng) BuildRequires: wayland-devel #Qt deps: BuildRequires: pkgconfig(Qt5Core) BuildRequires: pkgconfig(Qt5OpenGL) #ffmpeg deps: (Restore once https://github.com/hrydgard/ppsspp/issues/9026 is closed) #BuildRequires: pkgconfig(libavcodec) #BuildRequires: pkgconfig(libswscale) #BuildRequires: pkgconfig(libavformat) #BuildRequires: pkgconfig(libavutil) #BuildRequires: pkgconfig(libavdevice) #BuildRequires: pkgconfig(libavfilter) #BuildRequires: pkgconfig(libpostproc) #BuildRequires: pkgconfig(libswresample) #Desktop icon deps BuildRequires: update-desktop-files Requires(post): hicolor-icon-theme Requires(postun): hicolor-icon-theme Requires: %{name}-common %description PPSSPP is a PSP emulator written in C++, and translates PSP CPU instructions directly into optimized x86, x64 and ARM machine code, using JIT recompilers (dynarecs). %package qt Summary: PPSSPP Qt backend Group: System/Emulators/Other Requires: %{name}-common %description qt PPSSPP build using the Qt framework %package common Summary: PPSSPP assets Group: System/Emulators/Other %description common Required assets for PPSSPP GUI %prep %setup -q sed -i -e 's|png17|png16|g' CMakeLists.txt echo "// This is a generated file. const char *PPSSPP_GIT_VERSION = \"%{version}\"; // If you don't want this file to update/recompile, change to 1. #define PPSSPP_GIT_VERSION_NO_UPDATE 1 " > git-version.cpp %build #Restore -DUSE_SYSTEM_FFMPEG="ON" \ once ffmpeg bug is fixed upstream mkdir build-qt build cd build-qt cmake .. \ -DUSE_FFMPEG="ON" \ -DUSING_QT_UI="ON" \ -DCMAKE_C_FLAGS="%optflags" \ -DCMAKE_CXX_FLAGS="%optflags" \ -DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \ -DCMAKE_SKIP_RPATH="YES" \ -Wno-dev %make_jobs cd ../build cmake .. \ -DUSE_FFMPEG="ON" \ -DCMAKE_C_FLAGS="%optflags" \ -DCMAKE_CXX_FLAGS="%optflags" \ -DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \ -DCMAKE_SKIP_RPATH="YES" \ -Wno-dev #%%make_jobs %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_libexecdir}/%{name} #setup wrapper(s) cat > %{buildroot}%{_bindir}/%{name}-qt << 'EOF' #!/bin/sh exec %{_libexecdir}/%{name}/%{name}-qt "$@" EOF cat > %{buildroot}%{_bindir}/%{name} << 'EOF' #!/bin/sh exec %{_libexecdir}/%{name}/%{name} "$@" EOF #install files install -m 755 -D build-qt/PPSSPPQt %{buildroot}%{_libexecdir}/%{name}/%{name}-qt ln %{buildroot}%{_libexecdir}/%{name}/%{name}-qt %{buildroot}%{_libexecdir}/%{name}/%{name} #Failing sdl2 build #install -m 755 -D build/PPSSPPSDL %%{buildroot}%%{_libexecdir}/%%{name}/%%{name} mv assets %{buildroot}%{_libexecdir}/%{name}/ mkdir -p %{buildroot}%{_datadir}/pixmaps install -m 444 -D icons/icon.svg %{buildroot}%{_datadir}/pixmaps/%{name}.svg %suse_update_desktop_file -c %{name} PPSSPP 'PSP Emulator' %{name} %{name} System Emulator %suse_update_desktop_file -c %{name}-qt PPSSPPQt 'PSP Emulator' %{name}-qt %{name} System Emulator %fdupes %{buildroot} %check %ctest %post %desktop_database_post %icon_theme_cache_post %postun %desktop_database_postun %icon_theme_cache_postun %files qt %defattr(-,root,root) %attr(755, root, root) %{_bindir}/%{name}-qt %{_libexecdir}/%{name}/%{name}-qt %{_datadir}/applications/%{name}-qt.desktop %files common %defattr(-,root,root) %doc README.md %license LICENSE.TXT %{_libexecdir}/%{name}/assets %{_datadir}/pixmaps/%{name}.svg %files %defattr(-,root,root) %dir %{_libexecdir}/%{name} %attr(755, root, root) %{_bindir}/%{name} %{_libexecdir}/%{name}/%{name} %{_datadir}/applications/%{name}.desktop %changelog