2016-09-27 11:20:21 +02:00
|
|
|
#
|
|
|
|
# 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/
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
Name: ppsspp
|
Accepting request 542857 from home:xenonpk
- Update to version 1.4.2~git20171118:
* Remove trailing whitespace from CMakeLists.txt
* Vulkan: Fix stencil clears to a specific value. Should help #10150
* Silence travis gcc version errors.
- Update to version 1.4.2~git20171117:
* Remove wrong comments
* GPU: Advance the vertex pointer after BBOX vertices are sent. Fixes #6554, finally!
* Win32: Improvements to vulkan init error handling
* Temporarily turn off Vulkan threading on AMD, see issue #10097.
* Vulkan: Forgot to enable our various depth rounding features.
* Vulkan: Flush at display list waits. Fixes #10095
* Minor cleanup, and more terrifying orientation hackery
* Android: When creating shortcuts, put the file path in data, not in Extras.
* Fix the "vulkan not found" message on android. Fixes #10034
* Make remoteiso_subdir and server editable on Android. Fixes #10142. Really need a better mechanism for these fields.
* Workaround orientation bug in Android when unlocking the screen.
* Unify RebindFramebuffer, mostly.
* Vulkan: Fix bug where shader blend texture overwrote normal texture binding. Fixes #10135
* Update .gitignore for libretro builds.
* Fix headless to work better in vulkan mode
* Make test.py python3-compatible, print out command lines better.
* Vulkan screenshots: Fix R/G swap bug. Thanks unknown.
* Make sure the device supports transfers from swapchain images when taking screenshots.
* Windows/Vulkan: implement screenshots. Something is iffy with the red/blue swap though...
* Vulkan: Dual Src blending strikes again! Disable it on nVidia X1 (Shield TV) due to driver bugs, sigh.
* Vulkan: Show the preferred depth-stencil format in the feature list.
* Just more accurate feature flags for Vulkan.
* Headless: Prevent segfaults with Vulkan.
* Headless: Fix crash with null GPU.
* Links from the UI: Change from http:// to https:// wherever possible.
* Add missing ID for CTTR compat hack.
* Fix Memory Leak :D
* spaces->underscores:)
* Fixes problem switching between non-through triangles and rects. Helps a small part of #6554
* More duplicate code removal
* Small changes. Thx [Unknown]
* Change KernelTimeNow to KernelTimeNowFormatted and return nice timestamp.
* Requested changes.
* Blah;p. Buildfix.
* Fix linux build.
* Add an option to allow resetting video/audio dump on save/load state.
* Use gameID and emulated timestamp for Avi/Wav dump filenames.
* Fix texture conversion.
* Vulkan: Use optimal alignment for texture uploads. May help stutter in #10105 ?
* Kill off more unused duplicate code
* Oops
* Delete unused duplicate functions
* Fix annoying little flicker when starting a game.
* Vulkan shader view (debug): Add a simple textural representation (incomplete) of pipelines
* Vulkan: Make sure to clear the pipeline key to avoid padding bytes causing us to allocate duplicate pipelines.
* D3D11: Similarly to the last vulkan commit, don't create lots of dupe vertex input layouts
* Vulkan: Fix bug where we ended up creating duplicate pipelines even if vertices decoded to the same format, if they were created from different formats.
* DevScreens: In shader viewer tabs, show the number of each shader type.
* Unify Execute_Bezier and Execute_Spline
* Minor cleanup, fix a comment.
* Vulkan: Minor validation error fix
* Nitpicking! Correct minor version for non Nvidia.
* Win32: Add (debug) to window title in debug builds
* Fix driver version display on Vulkan. Enable dualsrc blend on newer AMD drivers. Fixes #10109
* SoftGPU: Oops, fix silly typo.
* Vulkan: Remove experimental warning.
* Vulkan: Cut down on asserts during init.
* TexCache: Add NEON alpha checks for Vulkan.
* TexCache: Simplify CheckAlpha funcs and SIMD.
* TexCache: Check alpha before scaling.
* TexCache: Remove simple 0/1 alpha check.
* Vulkan: Avoid checking texture alpha after scale.
* Fix bug where readback buffers would be created too small sometimes. Should help #10098
* Vulkan: Tweak stencil value from clears.
* Vulkan: When deriving stencilref from color, don't forget to update the value.
- Update to version 1.4.2~git20171112:
* UI: Typo fix.
* Buildfixes for Android
* Vulkan: Implement post-processing. The Vulkan backend is now "feature-complete", and GL is now legacy :P
* Vulkan: Speed up and simplify hardware tesselation by using storage buffers.
* hwtess: Shrink Vulkan UV textures
* Make the interface to hw tess slightly more flexible.
* Vulkan: Use a device allocator for tesselation data textures. Add comment about better solutions.
* Vulkan: Support wide lines if available on the GPU.
* Vulkan readback: Resize the readback buffer dynamically as necessary.
* SoftGPU: Add a clear mode fast path.
* Debugger: Prevent clear while stepping.
* SoftGPU: Thread by width for wide polygons.
* SoftGPU: Fix crash when stride is 0.
* Vulkan hw tess: Assorted minor fixes. Works on Mali now.
* Vulkan hw tess: Use pushbuffers instead of temp images to upload data.
* Vulkan hw tess: Don't reuse the same dynamic texture for multiple draws, not safe.
* Remove unused pointer.
* Vulkan: Noticed a framebuffer refcount leak, and changed my mind regarding those :) Let's do it this way instead.
* Reduce a ERROR_LOG_REPORT to a warning (vfpu branches in delay slots)
* SaveState: Avoid clearing shaders in all backends.
* D3D11: Clear input layouts on shader clear.
* D3D11: Avoid clearing shaders on load state.
* SaveState: Fix use-after-resize iterator.
* Vulkan: Enable the "accurate depth" codepath, using the same formula as D3D9.
* Android: Cleaner way to avoid double-resizing the backbuffer.
* Fix blackscreen when resolution is set to auto. Fixes #10081
* Experimenally disable dual source blending on AMD too for Vulkan, see #10065
* MotoGP: Compat hack to disable framebuffer readbacks.
* Buildfix 32-bit
* Ditch a silly vertex count limit that only makes sense for GLES, so move it there.
* Fix race condition.
* Fix a few more device-loss bugs.
* Avoid double-initializing the Vulkan backbuffer on startup.
* Logging improvements, avoid resetting the Android text drawer unnecessarily
* More minor vulkan fixes and cleanups. Don't actually call "Resized" if the size stays the same.
* Change Android logging ID from "NativeApp" to "PPSSPP"
* More logging and tweaking
* Vulkan: Remove duplicate depalShaderCache, fix a number of instances where we didn't use the deleter properly.
* Keep the draw context up to date in a bunch of places. More logging.
* Vulkan: Improve init/shutdown logging on Android. Fix a bug where we'd not run InitDeviceObjects on GPU_Vulkan sometimes.
* Fix some ports
* Upgrade glslang to a fresh version (used to compile Vulkan shaders). Might help #10065 ?)
* Ooops
* Vulkan: Disable dual source blending on Intel GPUs, fixes #10074.
* Show textual names of Vulkan GPU vendors
* Improve Vulkan device selection mechanism to prefer discrete GPUs
* Cleanup gradle output.
* Cheats: Fix pointer command count offset.
* Cheats: Clamp pointer command data to avail.
* Fix 0x6 code types
* Vulkan: Apply simple workaround for Mali driver bug (see #10070), and minor cleanup.
* Fix some minor things found by running Sizer on PPSSPP
* Cheats: Enable for any non-zero number.
* Disable lwl/lwr on ARM64 JIT again. Seems b9b2656e9313 broke things, see #10020
* Count readbacks in a frame and show in GPU debug stats.
* Cheats: Split parsing and execution.
* Try harder to free up memory from the Android native font rendering system. Might help #10069
* Vulkan: If acquiring a frame fails (happens sometimes during window resize), skip swapping the frame. Should help #10063
* Vulkan: Wait for orderly thread stop on resize.
* Vulkan: Fix deadlock on resize.
* Vulkan: Some error handling improvement. Might get us a clue for #10065
* Vulkan: The validation layers don't like zero-size blits.
* Vulkan: Better way to make sure we bind the backbuffer at some point.
* Vulkan: Convert depth format on readback.
* Vulkan: Show textures in GE debugger.
* Vulkan: Add texture image readback.
* Vulkan: Fix non-16 bit indexed drawing.
* Vulkan: Allow clearing the backbuffer to any color.
* D3D11: Show FBO-as-texture in GE debugger.
* TexCache: Warning fix.
* Use W^X on OpenBSD.
* Don't use "threadsafe events" for Ge stuff.
* Vulkan: Fix leak in WipeQueue().
* Turn on multithreaded vulkan
* Remove/deprecate GPU tick sync
* Get rid of GPUCommon's "Internal" functions.
* Delete ProcessEvent and the GPUEvent enum
* Delete GPUCommon::ScheduleEvent
* Get rid of a bunch of sync stuff that's no longer needed.
* Get rid of the sync around curTickEst
* Delete the mutex in GPUCommon.
* Vulkan: Fix framebuffer leak.
* Remove the setting to run the display list interpreter on a separate thread.
* Vulkan: Correct logicop dirtying.
* Vulkan multithread: Fix race condition.
* TexCache: Detect textures in FBO gutters.
* GPU: Properly Release() FBOs.
* SaveState: Correct free on error and uncomp format.
* SaveState: Use malloc to avoid Android OOM crash.
* Vulkan: Make sure backbuffer is bound for UI.
* Vulkan: Resignal unexecuted fences on thread stop.
* Vulkan: Wait for queue idle in DestroyBackbuffers.
* GPU: Restore initial readback on output.
* Vulkan: Refcount framebuffer deletes.
* Vulkan: Account inside frame from push side.
* Add missing Google Maven repository
* Buildfix again. Should fix #10046 this time.
* Unify a little bit of depal code.
* Vulkan: Fix bug in depal causing Sonic Rivals to be grayscale.
* Minor depal state dirtying fix
* Add <cmath> include. Will hopefully help #10046
* Cleanups and fixes around Vulkan stencil upload. thx unknown
* Should be bufferWidth here, not width. Thanks unknown.
* Vulkan: Fix a comment.
* Vulkan: Allow sync when using threading.
* Vulkan: Fix out-of-sync frames on threading.
* Vulkan: Trigger condvar only at frame end.
* Vulkan: Fix segfault on swapchain fail.
* Fix issue in framebuffer size calculation when viewport is bogus in through mode. Fixes #10043.
* Tiny cleanups.
* Vulkan: Minor fixes.
* Stop leaking framebuffers on shutdown. Fix other shutdown issues.
* Minor optimization.
* Remove some code duplication
* Vulkan: Implement stencil upload (for Star Ocean).
OBS-URL: https://build.opensuse.org/request/show/542857
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=19
2017-11-24 10:03:20 +01:00
|
|
|
Version: 1.4.2~git20171118
|
2017-04-13 13:33:57 +02:00
|
|
|
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++
|
2017-05-08 16:05:15 +02:00
|
|
|
BuildRequires: cmake >= 3.3.2
|
2017-04-13 13:33:57 +02:00
|
|
|
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)
|
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
#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)
|
2017-04-13 13:33:57 +02:00
|
|
|
|
|
|
|
#Desktop icon deps
|
|
|
|
BuildRequires: update-desktop-files
|
|
|
|
Requires(post): hicolor-icon-theme
|
|
|
|
Requires(postun): hicolor-icon-theme
|
|
|
|
|
|
|
|
Requires: %{name}-common
|
2016-09-27 11:20:21 +02:00
|
|
|
|
|
|
|
%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).
|
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
%package qt
|
|
|
|
Summary: PPSSPP Qt backend
|
|
|
|
Group: System/Emulators/Other
|
|
|
|
Requires: %{name}-common
|
|
|
|
|
|
|
|
%description qt
|
|
|
|
PPSSPP build using the Qt framework
|
2016-09-27 11:20:21 +02:00
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
%package common
|
|
|
|
Summary: PPSSPP assets
|
|
|
|
Group: System/Emulators/Other
|
|
|
|
|
|
|
|
%description common
|
|
|
|
Required assets for PPSSPP GUI
|
2016-09-27 11:20:21 +02:00
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q
|
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
sed -i 's|cmake_minimum_required(VERSION 3.6)|cmake_minimum_required(VERSION 3.3.2)|g' CMakeLists.txt
|
|
|
|
|
2016-09-27 11:20:21 +02:00
|
|
|
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
|
2017-05-08 16:05:15 +02:00
|
|
|
#Restore -DUSE_SYSTEM_FFMPEG="ON" \ once ffmpeg bug is fixed upstream
|
|
|
|
mkdir build-qt
|
|
|
|
cd build-qt
|
|
|
|
cmake .. \
|
2017-04-13 13:33:57 +02:00
|
|
|
-DUSE_FFMPEG="ON" \
|
|
|
|
-DUSING_QT_UI="ON" \
|
2017-05-08 16:05:15 +02:00
|
|
|
-DCMAKE_C_FLAGS="%optflags" \
|
|
|
|
-DCMAKE_CXX_FLAGS="%optflags" \
|
|
|
|
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
|
|
|
|
-DCMAKE_SKIP_RPATH="YES"
|
2017-04-13 13:33:57 +02:00
|
|
|
%make_jobs
|
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
mkdir ../build
|
|
|
|
cd ../build
|
2017-04-13 13:33:57 +02:00
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
cmake .. \
|
2017-04-13 13:33:57 +02:00
|
|
|
-DUSE_FFMPEG="ON" \
|
2017-05-08 16:05:15 +02:00
|
|
|
-DCMAKE_C_FLAGS="%optflags" \
|
|
|
|
-DCMAKE_CXX_FLAGS="%optflags" \
|
|
|
|
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
|
|
|
|
-DCMAKE_SKIP_RPATH="YES"
|
2016-09-27 11:20:21 +02:00
|
|
|
%make_jobs
|
|
|
|
|
|
|
|
%install
|
2017-05-08 16:05:15 +02:00
|
|
|
mkdir -p %{buildroot}%{_bindir}
|
|
|
|
mkdir -p %{buildroot}%{_libexecdir}/%{name}
|
2017-04-13 13:33:57 +02:00
|
|
|
|
|
|
|
#setup wrapper(s)
|
|
|
|
|
|
|
|
cat > %{buildroot}%{_bindir}/%{name}-qt << 'EOF'
|
|
|
|
#!/bin/sh
|
|
|
|
exec %{_libexecdir}/%{name}/%{name}-qt "$@"
|
|
|
|
|
|
|
|
EOF
|
2016-09-27 11:20:21 +02:00
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
cat > %{buildroot}%{_bindir}/%{name} << 'EOF'
|
|
|
|
#!/bin/sh
|
|
|
|
exec %{_libexecdir}/%{name}/%{name} "$@"
|
2016-09-27 11:20:21 +02:00
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
EOF
|
|
|
|
|
|
|
|
#install files
|
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
install -m 755 -D build-qt/PPSSPPQt %{buildroot}%{_libexecdir}/%{name}/%{name}-qt
|
|
|
|
install -m 755 -D build/PPSSPPSDL %{buildroot}%{_libexecdir}/%{name}/%{name}
|
2017-04-13 13:33:57 +02:00
|
|
|
|
2017-05-08 16:05:15 +02:00
|
|
|
mv assets %{buildroot}%{_libexecdir}/%{name}/
|
|
|
|
mkdir -p %{buildroot}%{_datadir}/pixmaps
|
|
|
|
install -m 444 -D icons/icon.svg %{buildroot}%{_datadir}/pixmaps/%{name}.svg
|
2016-09-27 11:20:21 +02:00
|
|
|
%suse_update_desktop_file -c %{name} PPSSPP 'PSP Emulator' %{name} %{name} System Emulator
|
2017-04-13 13:33:57 +02:00
|
|
|
%suse_update_desktop_file -c %{name}-qt PPSSPPQt 'PSP Emulator' %{name}-qt %{name} System Emulator
|
|
|
|
|
|
|
|
%fdupes %{buildroot}
|
|
|
|
|
|
|
|
%check
|
|
|
|
%ctest
|
2016-09-27 11:20:21 +02:00
|
|
|
|
|
|
|
%post
|
|
|
|
%desktop_database_post
|
|
|
|
%icon_theme_cache_post
|
|
|
|
|
|
|
|
%postun
|
|
|
|
%desktop_database_postun
|
|
|
|
%icon_theme_cache_postun
|
|
|
|
|
2017-04-13 13:33:57 +02:00
|
|
|
%files qt
|
2016-09-27 11:20:21 +02:00
|
|
|
%defattr(-,root,root)
|
2017-04-13 13:33:57 +02:00
|
|
|
%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
|
2016-09-27 11:20:21 +02:00
|
|
|
%doc README.md LICENSE.TXT
|
2017-04-13 13:33:57 +02:00
|
|
|
%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}
|
2016-09-27 11:20:21 +02:00
|
|
|
%{_datadir}/applications/%{name}.desktop
|
|
|
|
|
|
|
|
%changelog
|