2665d54d06
- Update to version 1.4.2~git20170903: * Add Sony PS3 controller mappings - Update to version 1.4.2~git20170901: * Integrate sceUsbGps and sceUsbCam with Android * Integrate sceUsbGps and sceUsbCam with Android - 2 * More mingw patches * More mingw patches pt. 2 * Simplify this conditional * PACK should be defined different for Win32 based on whether we compile with Mingw or MSVC * Revert "PACK should be defined different for Win32 based on whether" * Get rid of ugly alignment macros and some other cruft, we now have alignas(16) from C++11 * Remove snprintf compatibility hacks for MSVC versions before 2015 * Remove Globals.h * Buildfix * Linux buildfix * mingw patches - Update to version 1.4.2~git20170830: * Assorted cleanup of Vulkan init code. Show Vulkan extensions in system info. * Separate VulkanContext::CreateDevice into ChooseDevice and CreateDevice to give an opportunity to enable extensions. * Buildfix * Minor cleanups * Fix bug in vulkan init. Add some sanity checks to GL shader cache loading. * Add a hack to override the default framebuffer on non-iOS, to unblock the new RetroArch port attempt (#9936) * Fix a PIC compliance bug in the VFPU. Comment other cases properly (for easy searching). * apple buildfix * Patches to make it possible to compile with mingw, pt. 1 * Removed MSVC check * Change this to _MSC_VER * Remove this too - we will use UNICODE and _UNICODE defines for mingw build * SafeMem: Remove the "far" optimization that saves 3 bytes sometimes but is really dangerous and not worth the complexity. - Update to version 1.4.2~git20170825: * Another couple of control mappings, see #9825 * Fix possible crash when loading GL shader caches. Should help #9930. - Update to version 1.4.2~git20170824: * Bump the GL shader cache version - Update to version 1.4.2~git20170821: * Make keys names translatable in pop-up * Reuse some already translated strings * Add a new translation category for the remote ISO feature * Oops, forgot this one * Implement vertex caching for Vulkan. * Vulkan vertex cache: Fix bug with "pure prim" draws (where we avoid the index buffer) * Make FLAG_FLUSHBEFORE a no-op, move flushes into the execution functions. * Fastpath in fastrunloop when diff=0. Remove need for Execute for UV scale/offset. * Minor cleanups * Buildfix for X86 Android * Crashfix on older devices * Vulkan: Add code (disabled) to be able to run with more in-flight frames. Only improves performance marginally and needs more testing. * FRAGMENT_SHADER needs to be marked dirty if shademode changes. Fixes #9904. * Make control mapping pop-up title translatable * Make dev menu pop-up title translatable * Fixed invalid preprocessor directive * ARM: Delete obsolete comments and check * More vulkan microoptimizations. Add more profiler scopes. * Vulkan: Fix some inefficient command pool usage, might also fix a race condition * Vulkan: Fix bug sometimes causing the wrong renderpass to be ended at exit, causing crashes. * Add hooks for Marvel video copy func. * Replace the most critical unordered_maps and maps with two new maps: FastHashMap and PrehashMap. * SIMD-optimize some data conv routines used in uniform updates. * Include Hashmaps.h in CMakeLists.txt. * Maintain the hashmap from time to time. Fix a bug in count reset on grow. * Optimize uniform uploads for D3D9 and GL as well. * Buildfix * 32-bit buildfix * And yet another buildfix. * Minor optimizations (use the new hashmap in a few more places) * ... And also for the vertex decoder (DenseHashMap) * Switch over the GL shader manager to the new hashmaps. * Buildfix * Fix some missing dirty flags (affects FS_BIT_LMODE) * Keeping descriptorsets around between frames can cause problems if we run out.. Try to prevent that. Need a better method than this though. * Linux buildfix * GPU: Consider bbox failed with zero verts. * GPU: Fix alignment on signal jump/call. * This might not always be 16-byte aligned. - Update to version 1.4.2~git20170816: * Simple micro-optimization in AdvanceVerts * Can't dirty VERTEXSHADER_STATE before the flush in Execute_VertexTypeSkinning, causes obscure bugs when software skinning is enabled * NEON-optimize bone matrix loads * Vulkan: More minor optimization (avoid pipeline cache lookups when possible) * NEON-optimize CLUT loads * Neon-optimize the audio s32->s16 packing function * Initial work on supporting sustained perf mode * Cleaner Vulkan shutdown * Add controller entries from gabomdq/SDL_GameControllerDB * Oops, forgot to update NativeQueryConfig, thanks unknown * Spacing - Update to version 1.4.2~git20170815: * Ensure everything is dirty on frame start. * All: Only convert blend state if "dirty" * All: Only convert depth stencil state if dirty * All: Only convert raster state if dirty * Dirty RASTER_STATE when switching between rect and non-rect primitives (culling) * All: Only convert viewportscissor state if dirty * Dirty viewport state on framebuf resize. * Add some missing VIEWPORTSCISSOR dirtying. * D3D11: Make better use of the dirty flags to avoid state calls * All: Only recompute the vertex shader ID when dirty * Dirty vertexshader state on hw bezier/spline. * Dirty things on stencil buffer upload. * Dirty-flag the fragment shader ID. * Add some missing fragment shader state changes. * Dirty on various framebuf state helpers. * Oops, broke Vulkan in the rebase somehow. Fixed. * Use dirty-flags more in Vulkan state setting * Dirty-track the current pipeline to avoid many vkBindPipeline calls. * Fix minor blendstate oversight, restore a disabled optimization * Vulkan: Fix some more state dirtying issues. OBS-URL: https://build.opensuse.org/request/show/522274 OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=15
185 lines
5.0 KiB
RPMSpec
185 lines
5.0 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.4.2~git20170903
|
|
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.3.2
|
|
BuildRequires: Mesa-devel
|
|
BuildRequires: libzip-devel
|
|
BuildRequires: snappy-devel
|
|
BuildRequires: unzip
|
|
BuildRequires: fdupes
|
|
BuildRequires: pkgconfig(gl)
|
|
BuildRequires: pkgconfig(glew)
|
|
BuildRequires: pkgconfig(sdl2)
|
|
BuildRequires: pkgconfig(zlib)
|
|
BuildRequires: pkgconfig(libpng)
|
|
|
|
#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 's|cmake_minimum_required(VERSION 3.6)|cmake_minimum_required(VERSION 3.3.2)|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
|
|
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"
|
|
%make_jobs
|
|
|
|
mkdir ../build
|
|
cd ../build
|
|
|
|
cmake .. \
|
|
-DUSE_FFMPEG="ON" \
|
|
-DCMAKE_C_FLAGS="%optflags" \
|
|
-DCMAKE_CXX_FLAGS="%optflags" \
|
|
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
|
|
-DCMAKE_SKIP_RPATH="YES"
|
|
%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
|
|
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)
|
|
#Fix SLE_12_SP2 and LEAP 42.1 builds
|
|
%if 0%{?sle_version} <= 120200 && 0%{?suse_version} <= 1320
|
|
%doc README.md LICENSE.TXT
|
|
%else
|
|
%doc README.md
|
|
%license LICENSE.TXT
|
|
%endif
|
|
%{_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
|