File retroarch.spec of Package retroarch

# spec file for package retroarch
# Copyright (c) 2017 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

Name:           retroarch
Version:        1.6.7
Release:        0
Summary:        Emulator frontend
License:        GPL-3.0
Group:          Emulators
Source0:        %{name}-%{version}.tar.xz
Source9:        %{name}.desktop
BuildRequires:  gcc-c++
BuildRequires:  fdupes
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(freetype2)
BuildRequires:  pkgconfig(gbm)
BuildRequires:  pkgconfig(gl)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xinerama)
BuildRequires:  pkgconfig(xkbcommon)
BuildRequires:  pkgconfig(xv)
BuildRequires:  pkgconfig(wayland-egl)
BuildRequires:  pkgconfig(libass)
BuildRequires:  pkgconfig(libudev)
BuildRequires:  pkgconfig(libusb-1.0)
BuildRequires:  pkgconfig(libv4l2)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(alsa)
BuildRequires:  pkgconfig(jack)
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(openal)
BuildRequires:  pkgconfig(sdl2)
BuildRequires:  pkgconfig(SDL2_gfx)
BuildRequires:  pkgconfig(SDL2_image)
BuildRequires:  pkgconfig(SDL2_mixer)
BuildRequires:  pkgconfig(SDL2_net)
BuildRequires:  pkgconfig(SDL2_ttf)
BuildRequires:  pkgconfig(zlib)
BuildRequires:  python3-devel
BuildRequires:  systemd-devel
BuildRequires:  unzip p7zip

%if ( 0%{?suse_version} || 0%{?leap_version} )
BuildRequires:  pkgconfig(libavcodec)
BuildRequires:  pkgconfig(libavdevice)
BuildRequires:  pkgconfig(libavformat)
BuildRequires:  pkgconfig(libavutil)
BuildRequires:  pkgconfig(libswscale)
BuildRequires:  update-desktop-files
BuildRequires:  vulkan-devel

RetroArch is a modular multi-system emulator system that is designed to be
fast, lightweight, and portable. It has features few other emulators frontends
have, such as real-time rewinding and game-aware shading.

%setup -q -n %{name}-%{version}

./configure --prefix=%{_prefix} \
    --enable-materialui \
    --enable-xmb \
    --enable-sdl2 \
    --enable-libusb \
    --enable-udev \
    --with-man_dir=%{_mandir} \
    --enable-threads \
    --enable-thread_storage \
    --enable-ffmpeg \
    --enable-ssa \
    --enable-dylib \
    --enable-networking \
    --enable-networkgamepad \
    --enable-opengl \
    --enable-x11 \
    --enable-kms \
    --enable-wayland \
    --enable-egl \
    --enable-libxml2 \
    --enable-zlib \
    --enable-fbo \
    --enable-alsa \
    --enable-al \
    --enable-jack \
    --enable-pulse \
    --enable-freetype \
    --enable-xvideo \
    --enable-python \
    --enable-v4l2 \
%ifarch x86
    --enable-sse \
%if ( 0%{?suse_version} || 0%{?leap_version} )
    --enable-vulkan \
    --enable-7zip \
make %{?jobs:-j%jobs}


mkdir -p %{buildroot}%{_datadir}/applications
install -m 644 %{SOURCE9} %{buildroot}%{_datadir}/applications/
%if 0%{?suse_version}
%suse_update_desktop_file -r -G %{name} %{name} System Emulator
%fdupes %{buildroot}

%config(noreplace) %{_sysconfdir}/%{name}.cfg