File rpcs3.spec of Package rpcs3

#
# spec file for package rpcs3
#
# Copyright (c) 2021 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/
#


%define ver 0.0.16~git20210501
%define _ver 0.0.16~git2021-05-01

Name:           rpcs3
Version:        %{ver}
Release:        0
Summary:        PS3 emulator/debugger
License:        GPL-2.0-only
Url:            https://rpcs3.net/
Source0:        %{name}-%{version}.tar.xz
ExclusiveArch:	x86_64

BuildRequires:  cmake
BuildRequires:  clang

BuildRequires:  pkgconfig(libpng)
BuildRequires:  pkgconfig(yaml-cpp)
BuildRequires:  pkgconfig(libevdev)
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(libcurl)
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
%autosetup -n %{name}-%{_ver}

#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
%cmake -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_BUILD_TYPE="Release" \
        -DCMAKE_SKIP_RPATH="YES"
# parallel build is broken
make

%post
%desktop_database_post
%icon_theme_cache_post

%postun
%desktop_database_postun
%icon_theme_cache_postun

%install
%cmake_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}.appdata.xml

%exclude %{_libexecdir}
%exclude %{_includedir}
%exclude %{_bindir}/llvm-tblgen
%exclude %{_bindir}/xxhsum
%exclude %{_libdir}/libxxhash.a
%exclude %{_mandir}/man1/xxhsum.1.gz

%changelog
openSUSE Build Service is sponsored by