SHA256
1
0
forked from pool/rpcs3
rpcs3/rpcs3.spec
Yunhe Guo f397f7830b - Added xpadneo recommends to support Xbox One/Series wireless controllers
- Update to version 0.0.31~git20240314:
  * HLE: clear lower bits of Free Disk Space value
  * Qt: add search bar to save manager
  * Qt: replace refresh progress slot with timer
  * Fix sceNpScoreGetRankingByNpId
  * Qt: only connect refresh watcher signals once
  * Qt: remove redundant progress dialog code. This already happens in Refresh
  * appimage: Do not bundle libvulkan.so
  * VS: move libpng, libusb and hidapi lib output to proper build configiguration dir
  * VS: Fix libpng build configuration names
  * VS: fix linking XAudio in debug builds
  * VS: use MultiThreadedDebugDLL in debug builds
  * VS: use common RuntimeLibrary settings in 3rdparty
  * Cleanup and set -Werror=delete-non-virtual-dtor
  * rsx: Fix invalid iterator comparison (asserts on debug builds)
  * GL: fix debug build: creation of QOffscreenSurface sends signals from wrong thread
  * LV2: Longer thread creation delay for low prio threads
  * Qt: accept downloader progress dialog instead of closing it
  * Qt: make sure to actually delete the progress dialog when it is closed
  * Qt: make sure the gamelist refresh progress dialog runs on the main thread
  * Qt: replace sstr with regular toStdString
  * Qt: fix weird return value warning on VS
  * Qt: don't close the progress dialog if it is already being closed anyway
  * Qt: check for updates if the update message is empty
  * Qt: don't deleteLater the progress_dialog
  * SPU LLVM: More compilation threads
  * SPU LLVM: Notify workers prematurely if there is considerable excess
  * SPU LLVM: Postpone cache writes until compiled
  * SPU analyzer: Detect 'argument passing' block before the function

OBS-URL: https://build.opensuse.org/package/show/Emulators/rpcs3?expand=0&rev=103
2024-03-16 05:03:24 +00:00

176 lines
4.8 KiB
RPMSpec

#
# spec file for package rpcs3
#
# Copyright (c) 2024 SUSE LLC
#
# 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/
#
Name: rpcs3
Version: 0.0.31~git20240314
Release: 0
Summary: PS3 emulator/debugger
License: GPL-2.0-only
URL: https://rpcs3.net
Source0: %{name}-%{version}.tar.xz
Source1: intel-ittapi.tar.xz
Patch1: fix-test-files.patch
Patch2: fix-toolbar-color.patch
BuildRequires: gcc-c++
BuildRequires: llvm16-devel
BuildRequires: cmake(x86-64) >= 3.14.1
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libedit)
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(yaml-cpp)
BuildRequires: pkgconfig(zlib)
#graphics backend dependencies:
#-------------------------------------------------
##opengl:
BuildRequires: pkgconfig(glew) >= 1.13.0
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(sdl2)
##vulkan:
BuildRequires: pkgconfig(vulkan) >= 1.1.126
#-------------------------------------------------
#audio backend dependencies:
#-------------------------------------------------
##alsa:
BuildRequires: pkgconfig(alsa)
##pulseaudio:
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libpulse-mainloop-glib)
BuildRequires: pkgconfig(libpulse-simple)
##openal:
BuildRequires: pkgconfig(openal)
##faudio:
BuildRequires: pkgconfig(sdl2)
#-------------------------------------------------
#ffmpeg dependencies
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libswscale)
#qt dependencies
BuildRequires: pkgconfig(Qt6Concurrent)
BuildRequires: qt6-base-private-devel
BuildRequires: pkgconfig(Qt6Core)
BuildRequires: pkgconfig(Qt6DBus)
BuildRequires: pkgconfig(Qt6Multimedia)
BuildRequires: pkgconfig(Qt6MultimediaWidgets)
BuildRequires: pkgconfig(Qt6Network)
BuildRequires: pkgconfig(Qt6Qml)
BuildRequires: pkgconfig(Qt6Svg)
BuildRequires: pkgconfig(Qt6Widgets)
ExclusiveArch: x86_64
Requires(post): hicolor-icon-theme
Requires(post): update-desktop-files
Requires(postun): hicolor-icon-theme
Requires(postun): update-desktop-files
# Xbox One/Series controller wireless driver
Recommends: xpadneo
%description
An open-source PlayStation 3 emulator/debugger written in C++.
%prep
%autosetup -p1 -a 1
#Generate Version Strings
GIT_VERSION=$(echo %{version} | sed 's|.*git|git~|g')
echo "// This is a generated file.
#define RPCS3_GIT_VERSION \"$GIT_VERSION\"
#define RPCS3_GIT_BRANCH \"master\"
#define RPCS3_GIT_FULL_BRANCH \"RPCS3/rpcs3/master\"
// If you don't want this file to update/recompile, change to 1.
#define RPCS3_GIT_VERSION_NO_UPDATE 1
" > %{name}/git-version.h
%build
## llvm intel-ittapi workarounds
# Work around git revision issues
#sed -i -e 's:FATAL_ERROR:WARNING:g' llvm/lib/ExecutionEngine/IntelJITEvents/CMakeLists.txt
# Fix paths
mv intel-ittapi ittapi && mkdir intel-ittapi && mv ittapi intel-ittapi/
export ITTAPI_DIR="$(pwd)/intel-ittapi"
mkdir ../%{name}_build
cd ../%{name}_build
# FIXME: you should use the %%cmake macros
%__cmake ../%{name}-%{version} \
-DITTAPI_SOURCE_DIR="${ITTAPI_DIR}" \
-DUSE_PCH=OFF \
-DENABLE_PCH=OFF \
-DSKIP_PRECOMPILE_HEADERS=ON \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DUSE_SYSTEM_CURL=ON \
-DUSE_SYSTEM_FFMPEG=ON \
-DUSE_SYSTEM_LIBPNG=ON \
-DUSE_SYSTEM_LIBUSB=ON \
-DUSE_SYSTEM_SDL=ON \
-DUSE_SYSTEM_ZLIB=ON \
-DUSE_NATIVE_INSTRUCTIONS=OFF \
-DCMAKE_INSTALL_PREFIX="%{_prefix}" \
-DCMAKE_INSTALL_LIBEXEC="%{_libexecdir}" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_SKIP_RPATH="YES"
%make_jobs
%post
%desktop_database_post
%icon_theme_cache_post
%postun
%desktop_database_postun
%icon_theme_cache_postun
%install
cd ../%{name}_build
%make_install
%files
%doc README.md
%license LICENSE
%attr(755, root, root) %{_bindir}/%{name}
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/scalable/apps/%{name}.svg
%{_datadir}/icons/hicolor/48x48/apps/%{name}.png
%{_datadir}/%{name}
%{_datadir}/metainfo/%{name}.metainfo.xml
%changelog