#
# spec file for package RPCS3
# 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: rpcs3
Version: 0.0.14~git20210118
Release: 0
Summary: PS3 emulator/debugger
License: GPL-2.0
Url: https://rpcs3.net/
Source0: %{name}-%{version}.tar.xz
ExclusiveArch: x86_64
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: pkgconfig(libpng)
BuildRequires: pkgconfig(yaml-cpp)
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(x11)
BuildRequires: -post-build-checks
#graphics backend dependencies:
#-------------------------------------------------
#opengl:
BuildRequires: pkgconfig(glew)
BuildRequires: pkgconfig(glu)
#vulkan:
BuildRequires: vulkan-devel
#audio backend dependencies:
##faudio:
BuildRequires: pkgconfig(sdl2)
##openal:
BuildRequires: pkgconfig(openal)
##alsa:
#BuildRequires: pkgconfig(alsa)
##pulseaudio:
#BuildRequires: pkgconfig(libpulse-simple)
#ffmpeg dependencies
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libavformat)
#qt dependencies
BuildRequires: pkgconfig(Qt5Core) >= 5.13
BuildRequires: pkgconfig(Qt5Widgets) >= 5.13
BuildRequires: pkgconfig(Qt5DBus) >= 5.13
BuildRequires: pkgconfig(Qt5Network) >= 5.13
BuildRequires: pkgconfig(Qt5Qml) >= 5.13
BuildRequires: libqt5-qtbase-private-headers-devel >= 5.13
#LLVM dependencies
#BuildRequires: llvm4-devel
#BuildRequires: libLLVM4
Requires(post): hicolor-icon-theme
Requires(postun): hicolor-icon-theme
Requires(post): update-desktop-files
Requires(postun): update-desktop-files
%description
An open-source PlayStation 3 emulator/debugger written in C++.
%prep
%setup -q
#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 \"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
mkdir ../%{name}_build
cd ../%{name}_build
cmake ../%{name}-%{version} \
-DUSE_PCH=OFF -DENABLE_PCH=OFF \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DSKIP_PRECOMPILE_HEADERS=ON \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DUSE_SYSTEM_FFMPEG="ON" \
-DUSE_SYSTEM_LIBPNG="OFF" \
-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
%make_install
%files
%defattr(-,root,root)
%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}.appdata.xml
%exclude %{_libexecdir}
%exclude %{_includedir}
%exclude %{_bindir}/llvm-tblgen
%exclude %{_bindir}/xxhsum
%exclude %{_libdir}/libxxhash.a
%exclude %{_datadir}/man/man1/xxhsum.1.gz
%changelog