ppsspp 1.18.1
OBS-URL: https://build.opensuse.org/package/show/Emulators/ppsspp?expand=0&rev=385
This commit is contained in:
commit
83b7957bab
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
8
_constraints
Normal file
8
_constraints
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">6</size>
|
||||
</disk>
|
||||
</hardware>
|
||||
</constraints>
|
123
ppsspp-1.14.4-system-png.patch
Normal file
123
ppsspp-1.14.4-system-png.patch
Normal file
@ -0,0 +1,123 @@
|
||||
From: Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||
Date: Tue, 04 Apr 2023 20:38:05 +0000
|
||||
Subject: [PATCH] use system libpng
|
||||
Upstream: no
|
||||
|
||||
Previously in spec file:
|
||||
|
||||
sed -i -e 's|png17|png16|g' CMakeLists.txt
|
||||
find ./ \
|
||||
-type f \( -name "*.cpp" -o -name "*.h" \) -exec \
|
||||
sed -i \
|
||||
-e 's|^#include [\"<]libpng1[0-9]/png.h[\">]|#include <png.h>|g' \
|
||||
{} \;
|
||||
|
||||
Index: ppsspp-1.18.1/CMakeLists.txt
|
||||
===================================================================
|
||||
--- ppsspp-1.18.1.orig/CMakeLists.txt
|
||||
+++ ppsspp-1.18.1/CMakeLists.txt
|
||||
@@ -379,7 +379,7 @@ foreach (LANGUAGE C CXX)
|
||||
endforeach()
|
||||
|
||||
if(NOT MSVC)
|
||||
- # NEON optimizations in libpng17 seem to cause PNG load errors, see #14485.
|
||||
+ # NEON optimizations in libpng16 seem to cause PNG load errors, see #14485.
|
||||
add_definitions(-DPNG_ARM_NEON_OPT=0)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror=return-type -Wno-unused-function -Wno-sign-compare -Wno-unused-but-set-variable -Wno-reorder -Wno-unknown-pragmas -Wno-unused-value -Wno-unused-variable")
|
||||
@@ -1205,7 +1205,7 @@ else()
|
||||
set(LIBZIP_LIBRARY libzip)
|
||||
endif()
|
||||
|
||||
-# Arm platforms require at least libpng17.
|
||||
+# Arm platforms require at least libpng16.
|
||||
if(ANDROID OR ARMV7 OR ARM64 OR ARM OR IOS)
|
||||
set(PNG_REQUIRED_VERSION 1.7)
|
||||
else()
|
||||
@@ -1220,43 +1220,43 @@ if(PNG_FOUND)
|
||||
else()
|
||||
if(ARM)
|
||||
set(PNG_ARM_INCLUDES
|
||||
- ext/libpng17/arm/arm_init.c
|
||||
- ext/libpng17/arm/filter_neon.S
|
||||
- ext/libpng17/arm/filter_neon_intrinsics.c
|
||||
+ ext/libpng16/arm/arm_init.c
|
||||
+ ext/libpng16/arm/filter_neon.S
|
||||
+ ext/libpng16/arm/filter_neon_intrinsics.c
|
||||
)
|
||||
elseif(ARM64)
|
||||
set(PNG_ARM_INCLUDES
|
||||
- ext/libpng17/arm/arm_init.c
|
||||
- ext/libpng17/arm/filter_neon_intrinsics.c
|
||||
+ ext/libpng16/arm/arm_init.c
|
||||
+ ext/libpng16/arm/filter_neon_intrinsics.c
|
||||
)
|
||||
endif()
|
||||
- add_library(png17 STATIC
|
||||
- ext/libpng17/pngconf.h
|
||||
- ext/libpng17/pngdebug.h
|
||||
- ext/libpng17/png.c
|
||||
- ext/libpng17/png.h
|
||||
- ext/libpng17/pngerror.c
|
||||
- ext/libpng17/pngget.c
|
||||
- ext/libpng17/pnginfo.h
|
||||
- ext/libpng17/pnglibconf.h
|
||||
- ext/libpng17/pngmem.c
|
||||
- ext/libpng17/pngpread.c
|
||||
- ext/libpng17/pngpriv.h
|
||||
- ext/libpng17/pngread.c
|
||||
- ext/libpng17/pngrio.c
|
||||
- ext/libpng17/pngrtran.c
|
||||
- ext/libpng17/pngrutil.c
|
||||
- ext/libpng17/pngset.c
|
||||
- ext/libpng17/pngstruct.h
|
||||
- ext/libpng17/pngtrans.c
|
||||
- ext/libpng17/pngwio.c
|
||||
- ext/libpng17/pngwrite.c
|
||||
- ext/libpng17/pngwtran.c
|
||||
- ext/libpng17/pngwutil.c
|
||||
+ add_library(png16 STATIC
|
||||
+ ext/libpng16/pngconf.h
|
||||
+ ext/libpng16/pngdebug.h
|
||||
+ ext/libpng16/png.c
|
||||
+ ext/libpng16/png.h
|
||||
+ ext/libpng16/pngerror.c
|
||||
+ ext/libpng16/pngget.c
|
||||
+ ext/libpng16/pnginfo.h
|
||||
+ ext/libpng16/pnglibconf.h
|
||||
+ ext/libpng16/pngmem.c
|
||||
+ ext/libpng16/pngpread.c
|
||||
+ ext/libpng16/pngpriv.h
|
||||
+ ext/libpng16/pngread.c
|
||||
+ ext/libpng16/pngrio.c
|
||||
+ ext/libpng16/pngrtran.c
|
||||
+ ext/libpng16/pngrutil.c
|
||||
+ ext/libpng16/pngset.c
|
||||
+ ext/libpng16/pngstruct.h
|
||||
+ ext/libpng16/pngtrans.c
|
||||
+ ext/libpng16/pngwio.c
|
||||
+ ext/libpng16/pngwrite.c
|
||||
+ ext/libpng16/pngwtran.c
|
||||
+ ext/libpng16/pngwutil.c
|
||||
${PNG_ARM_INCLUDES}
|
||||
)
|
||||
- set(PNG_LIBRARIES png17)
|
||||
- include_directories(ext/libpng17)
|
||||
+ set(PNG_LIBRARIES png16)
|
||||
+ include_directories(ext/libpng16)
|
||||
endif()
|
||||
|
||||
add_library(basis_universal STATIC
|
||||
Index: ppsspp-1.18.1/ext/native/tools/atlastool.cpp
|
||||
===================================================================
|
||||
--- ppsspp-1.18.1.orig/ext/native/tools/atlastool.cpp
|
||||
+++ ppsspp-1.18.1/ext/native/tools/atlastool.cpp
|
||||
@@ -19,7 +19,7 @@
|
||||
// dist-per-pixel
|
||||
|
||||
#include <assert.h>
|
||||
-#include <libpng17/png.h>
|
||||
+#include <png.h>
|
||||
#include <ft2build.h>
|
||||
#include <freetype/ftbitmap.h>
|
||||
#include <set>
|
3
ppsspp-1.17.1.tar.xz
Normal file
3
ppsspp-1.17.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:23e0b8649cc8124b0c22a62d4d41b592b6bd4064bce8c09b0d4abce895e132ae
|
||||
size 54663108
|
3
ppsspp-1.18.1.tar.xz
Normal file
3
ppsspp-1.18.1.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:78c5d17f09443d7ea450fce9fdc0581b520cf206c42095dd855e94be2e09bdcf
|
||||
size 54239412
|
14245
ppsspp.changes
Normal file
14245
ppsspp.changes
Normal file
File diff suppressed because it is too large
Load Diff
260
ppsspp.spec
Normal file
260
ppsspp.spec
Normal file
@ -0,0 +1,260 @@
|
||||
#
|
||||
# spec file for package ppsspp
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 Andreas Stieger <Andreas.Stieger@gmx.de>
|
||||
#
|
||||
# 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 https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%define _lto_cflags %{nil}
|
||||
Name: ppsspp
|
||||
Version: 1.18.1
|
||||
Release: 0
|
||||
Summary: PlayStation Portable Emulator
|
||||
License: Apache-2.0 AND BSD-1-Clause AND BSL-1.0 AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND (BSD-2-Clause OR GPL-2.0-or-later) AND (BSD-3-Clause OR GPL-2.0-only) AND CC0-1.0 AND GPL-2.0-or-later WITH Autoconf-exception-3.0 AND GPL-3.0-or-later WITH Bison-exception-2.2 AND Libpng AND ISC AND IJG AND Zlib AND MIT AND CC-BY-4.0 AND FTL
|
||||
Group: System/Emulators/Other
|
||||
URL: https://www.ppsspp.org
|
||||
Source: https://github.com/hrydgard/ppsspp/releases/download/v%{version}/%{name}-%{version}.tar.xz
|
||||
Patch0: ppsspp-1.14.4-system-png.patch
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: cmake >= 3.6
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glslang-devel
|
||||
# Does not build with FFmpeg 5.0 yet
|
||||
# https://github.com/hrydgard/ppsspp/issues/15308
|
||||
BuildRequires: libavcodec-devel < 5
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: snappy-devel
|
||||
BuildRequires: unzip
|
||||
#Desktop icon deps
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: wayland-devel
|
||||
#Qt deps:
|
||||
BuildRequires: pkgconfig(Qt5Core)
|
||||
BuildRequires: pkgconfig(Qt5Multimedia)
|
||||
BuildRequires: pkgconfig(Qt5OpenGL)
|
||||
BuildRequires: pkgconfig(gl)
|
||||
BuildRequires: pkgconfig(glew)
|
||||
BuildRequires: pkgconfig(libavcodec)
|
||||
BuildRequires: pkgconfig(libavdevice)
|
||||
BuildRequires: pkgconfig(libavfilter)
|
||||
BuildRequires: pkgconfig(libavformat)
|
||||
BuildRequires: pkgconfig(libavutil)
|
||||
BuildRequires: pkgconfig(libpng)
|
||||
BuildRequires: pkgconfig(libpostproc)
|
||||
BuildRequires: pkgconfig(libswresample)
|
||||
BuildRequires: pkgconfig(libswscale)
|
||||
BuildRequires: pkgconfig(libzip)
|
||||
BuildRequires: pkgconfig(libzstd)
|
||||
BuildRequires: pkgconfig(sdl2)
|
||||
BuildRequires: pkgconfig(vulkan)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Requires: %{name}-common
|
||||
Requires(post): hicolor-icon-theme
|
||||
Requires(postun): hicolor-icon-theme
|
||||
# never built for PowerPC/Arm on 20200721
|
||||
ExcludeArch: aarch64 %{arm} ppc ppc64 ppc64le s390x
|
||||
|
||||
%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 headless
|
||||
Summary: PPSSPP headless
|
||||
Group: System/Emulators/Other
|
||||
Requires: %{name}-common
|
||||
|
||||
%description headless
|
||||
PPSSPP headless build
|
||||
|
||||
%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
|
||||
BuildArch: noarch
|
||||
|
||||
%description common
|
||||
Required assets for PPSSPP GUI and assorted configuration files
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
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
|
||||
|
||||
mkdir build-headless build-qt build
|
||||
|
||||
cd build-headless
|
||||
# FIXME: you should use the %%cmake macros
|
||||
cmake .. \
|
||||
-DUSE_SYSTEM_FFMPEG="ON" \
|
||||
-DHEADLESS="ON" \
|
||||
-DCMAKE_C_FLAGS="%{optflags}" \
|
||||
-DCMAKE_CXX_FLAGS="%{optflags}" \
|
||||
-DCMAKE_BUILD_TYPE="Release|RelWithDebugInfo" \
|
||||
-DCMAKE_SKIP_RPATH="YES" \
|
||||
-Wno-dev
|
||||
%make_jobs
|
||||
|
||||
cd ../build-qt
|
||||
# FIXME: you should use the %%cmake macros
|
||||
cmake .. \
|
||||
-DUSE_SYSTEM_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
|
||||
# FIXME: you should use the %%cmake macros
|
||||
cmake .. \
|
||||
-DUSE_SYSTEM_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}
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
||||
|
||||
#setup wrapper(s)
|
||||
|
||||
##----------------####----------------####----------------####----------------##
|
||||
|
||||
touch %{buildroot}%{_sysconfdir}/%{name}/%{name}-headless.env
|
||||
|
||||
cat > %{buildroot}%{_bindir}/%{name}-headless << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
#Mark all sourced variables for export
|
||||
set -a
|
||||
|
||||
#Do not edit this file!
|
||||
#Use %{_sysconfdir}/%{name}/%{name}-headless.env to set environment variables
|
||||
. %{_sysconfdir}/%{name}/%{name}-headless.env
|
||||
|
||||
exec %{_libexecdir}/%{name}/%{name}-headless "$@"
|
||||
|
||||
EOF
|
||||
|
||||
##----------------####----------------####----------------####----------------##
|
||||
|
||||
touch %{buildroot}%{_sysconfdir}/%{name}/%{name}-qt.env
|
||||
|
||||
cat > %{buildroot}%{_bindir}/%{name}-qt << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
#Mark all sourced variables for export
|
||||
set -a
|
||||
|
||||
#Do not edit this file!
|
||||
#Use %{_sysconfdir}/%{name}/%{name}-qt.env to set environment variables
|
||||
. %{_sysconfdir}/%{name}/%{name}-qt.env
|
||||
|
||||
exec %{_libexecdir}/%{name}/%{name}-qt "$@"
|
||||
|
||||
EOF
|
||||
|
||||
##----------------####----------------####----------------####----------------##
|
||||
|
||||
touch %{buildroot}%{_sysconfdir}/%{name}/%{name}.env
|
||||
|
||||
cat > %{buildroot}%{_bindir}/%{name} << 'EOF'
|
||||
#!/bin/sh
|
||||
|
||||
#Mark all sourced variables for export
|
||||
set -a
|
||||
|
||||
#Do not edit this file!
|
||||
#Use %{_sysconfdir}/%{name}/%{name}.env to set environment variables
|
||||
. %{_sysconfdir}/%{name}/%{name}.env
|
||||
|
||||
exec %{_libexecdir}/%{name}/%{name} "$@"
|
||||
|
||||
EOF
|
||||
|
||||
##----------------####----------------####----------------####----------------##
|
||||
|
||||
#install files
|
||||
install -m 755 -D build-headless/PPSSPPHeadless %{buildroot}%{_libexecdir}/%{name}/%{name}-headless
|
||||
|
||||
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}
|
||||
|
||||
%post
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
|
||||
%postun
|
||||
%desktop_database_postun
|
||||
%icon_theme_cache_postun
|
||||
|
||||
%files headless
|
||||
%license LICENSE.TXT
|
||||
%attr(755,root,root) %{_bindir}/%{name}-headless
|
||||
%attr(755,root,root) %{_libexecdir}/%{name}/%{name}-headless
|
||||
|
||||
%files qt
|
||||
%license LICENSE.TXT
|
||||
%attr(755, root, root) %{_bindir}/%{name}-qt
|
||||
%attr(755, root, root) %{_libexecdir}/%{name}/%{name}-qt
|
||||
%{_datadir}/applications/%{name}-qt.desktop
|
||||
|
||||
%files common
|
||||
%doc README.md
|
||||
%license LICENSE.TXT
|
||||
%{_libexecdir}/%{name}/assets
|
||||
%{_datadir}/pixmaps/%{name}.svg
|
||||
|
||||
%config(noreplace) %{_sysconfdir}/%{name}
|
||||
|
||||
%files
|
||||
%license LICENSE.TXT
|
||||
%dir %{_libexecdir}/%{name}
|
||||
%attr(755, root, root) %{_bindir}/%{name}
|
||||
%attr(755, root, root) %{_libexecdir}/%{name}/%{name}
|
||||
%{_datadir}/applications/%{name}.desktop
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user