ppsspp/ppsspp.spec
Ryan Bach 8417635b4d Accepting request 585458 from home:xenonpk
- Update to version 1.5.4~git20180308:
  * Fix #10692 (crash when starting games from command line). Throw in some minor Vulkan fixes as well.
- Update to version 1.5.4~git20180305:
  * MOVUPS to be safe.
  * Minor simplification in X86/X64 vertex decoder jit
  * Optimize the "inner interpreter" for God of War character drawing. Speeds the games up by 4% or so.
  * Move the vertTypeID calculation out of DrawEngine. Need to shorten SubmitPrim as much as possible.
- Update to version 1.5.4~git20180305:
  * Oops, fix hardware tess in Vulkan (after removing hw skinning, we need to adjust the binding number)
  * Fix indentation mistake, minor cleanup.
  * Further cleanup after the removal of hardware skinning.
  * Comment fixes, reindentation.
  * Remove gstate_c.deferredVertTypeDirty
  * Remove further remains of hardware skinning. Fixes #10661
  * VertexLoader: Remove now-unused weights translation code
  * Start removing support for hardware skinning.
  * Remove checks that disabled software skinning if there was morph.
  * Add necessary decode functions to support morph+skin
  * Small refactoring in VertexDecoderCommon
  * Minor cleanup
  * GLES: Support more buffer mapping strategies.
  * GLES: Fix force alignment on buffer map.
  * GL: Use AllocateAlignedMemory to make sure localMemory is always aligned. Fixes #10666
  * GLES: Buffer handling cleanup.

OBS-URL: https://build.opensuse.org/request/show/585458
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=22
2018-03-14 03:56:50 +00:00

188 lines
5.1 KiB
RPMSpec

#
# 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~git20180308
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