3eeade5
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
3eeade5
ExcludeArch: %{ix86}
0f3debb
# Please fix upstream this if you need it and no downstream Fedora patch
0f3debb
ExcludeArch: s390x
3eeade5
960e8a6
# Free/Freeworld/Non-Free version
50099c1
%bcond_with freeworld
50099c1
%bcond_with nonfree
50099c1
93f4c22
%global appname retroarch
ef27a66
%global uuid    com.libretro.RetroArch
960e8a6
960e8a6
# Freeworld package
960e8a6
%if %{with freeworld}
93f4c22
%global p_suffix    -freeworld
93f4c22
%global sum_suffix  Freeworld version.
960e8a6
%else
93f4c22
%global p_suffix    %{nil}
93f4c22
%global sum_suffix  %{nil}
960e8a6
%endif
960e8a6
93f4c22
%global short_url https://github.com/libretro
50099c1
960e8a6
# Assets
58d5cc5
# * https://github.com/libretro/retroarch-assets
0c9e979
# * https://github.com/libretro/retroarch-assets/issues/414
25d257b
%global commit1     7b735ef18bcc6508b1c9a626eb237779ff787179
25d257b
%global date        20230911
93f4c22
%global shortcommit1 %(c=%{commit1}; echo ${c:0:7})
93f4c22
ea9c960
Name:           %{appname}%{?p_suffix}
25d257b
Version:        1.16.0.3
25d257b
%global         version_addons 1.16.0
9fd008b
Release:        %autorelease
ea9c960
Summary:        Cross-platform, sophisticated frontend for the libretro API. %{?sum_suffix}
50099c1
0a880b1
# CC-BY:        Assets
0a880b1
# CC0:          AppData manifest
17ba0fc
# MIT:          Libretro's core info
93f4c22
#               Joypad Autoconfig Files
9c83bb4
#
0a880b1
# Apache License (v2.0)
0a880b1
# ------------------------------------
0a880b1
# deps/SPIRV-Cross/
0a880b1
# retroarch-assets/xmb/flatui/
0a880b1
# deps/glslang/glslang/
0a880b1
# gfx/include/vulkan/
9c83bb4
#
0a880b1
# Creative Commons Attribution Public License (v4.0)
0a880b1
# -----------------------------------------------------------------
0a880b1
# retroarch-assets/rgui/wallpaper/
9c83bb4
#
0a880b1
# Creative Commons Attribution-NonCommercial Public License (v3.0)
0a880b1
# -------------------------------------------------------------------------------
0a880b1
# retroarch-assets/sounds/
9c83bb4
#
0a880b1
# Creative Commons Attribution-ShareAlike Public License (v3.0)
0a880b1
# ----------------------------------------------------------------------------
0a880b1
# retroarch-assets/rgui/wallpaper/
9c83bb4
#
0a880b1
# Expat License
0a880b1
# ----------------------------
0a880b1
# libretro-common/glsym/
9c83bb4
#
0a880b1
# GNU General Public License (v2)
0a880b1
# ----------------------------------------------
0a880b1
# memory/ngc/ssaram.c
9c83bb4
#
0a880b1
# GNU Lesser General Public License
0a880b1
# ------------------------------------------------
0a880b1
# memory/neon/memcpy-neon.S
9c83bb4
#
0a880b1
# SIL Open Font License
0a880b1
# ------------------------------------
0a880b1
# retroarch-assets/xmb/automatic/
0a880b1
# retroarch-assets/xmb/neoactive/
0a880b1
# retroarch-assets/xmb/retroactive/
9c83bb4
#
0a880b1
# BSD 2-clause "Simplified" License
0a880b1
# ---------------------------------
9c83bb4
# cores/
9c83bb4
# gfx/
9c83bb4
# libretro-common/
9c83bb4
#
0a880b1
# BSD 2-clause "Simplified" License GPL (v2 or later)
0a880b1
# ---------------------------------------------------
9c83bb4
# gfx/
9c83bb4
#
0a880b1
# BSD 3-clause "New" or "Revised" License
0a880b1
# ---------------------------------------
9c83bb4
# deps/discord-rpc/
9c83bb4
# deps/glslang/
9c83bb4
# deps/ibxm/
9c83bb4
# gfx/
9c83bb4
# libretro-common/
0a880b1
#
6646931
License:        GPL-3.0-or-later and GPL-2.0-only and CC-BY-3.0 and CC-BY-4.0 and CC0-1.0 and BSD-2-Clause and BSD-3-Clause and Apache-2.0 and MIT
50099c1
50099c1
URL:            https://www.libretro.com/
50099c1
Source0:        %{short_url}/RetroArch/archive/v%{version}/%{appname}-%{version}.tar.gz
50099c1
960e8a6
# Assets
93f4c22
Source1:        %{short_url}/%{appname}-assets/archive/%{commit1}/%{appname}-assets-%{date}git%{shortcommit1}.tar.gz
50099c1
960e8a6
# AppData manifest
ef27a66
# Upstreamed so should be easier now to maintain and automate updates for both
ef27a66
# Fedora and RPM Fusion repo.  There is still UUID inconsistency but upstream
ef27a66
# notified.  Keep old one for fallback.
ef27a66
# * https://github.com/libretro/RetroArch/pull/13113
ef27a66
#
ef27a66
# Old (+ line 408):
960e8a6
# * https://github.com/flathub/org.libretro.RetroArch/blob/master/org.libretro.RetroArch.appdata.xml
ef27a66
%dnl Source2:        https://raw.githubusercontent.com/flathub/%{uuid}/63af0e2449891e40c6ab6feae5d27845768b26fb/%{uuid}.appdata.xml
50099c1
17ba0fc
# Libretro's core info
25d257b
Source3:        %{short_url}/libretro-core-info/archive/v%{version_addons}/libretro-core-info-%{version_addons}.tar.gz
17ba0fc
93f4c22
# Joypad Autoconfig Files
25d257b
Source4:        %{short_url}/%{appname}-joypad-autoconfig/archive/v%{version_addons}/%{appname}-joypad-autoconfig-%{version_addons}.tar.gz
93f4c22
b52dce3
# Database files (cheatcode, content data, cursors)
25d257b
Source5:        %{short_url}/libretro-database/archive/v%{version_addons}/libretro-database-%{version_addons}.tar.gz
b52dce3
2ed0cbb
# Script for enabling network access which allows downloading more libretro
2ed0cbb
# cores
2ed0cbb
Source10:       %{name}-enable-network-access.sh
2ed0cbb
2ed0cbb
Source11:       README.fedora.md
2ed0cbb
50099c1
BuildRequires:  desktop-file-utils
50099c1
BuildRequires:  gcc-c++ >= 7
32f1689
BuildRequires:  glslang-devel
50099c1
BuildRequires:  libappstream-glib
99f34a6
BuildRequires:  make
50099c1
BuildRequires:  mbedtls-devel
50099c1
BuildRequires:  mesa-libEGL-devel
32f1689
BuildRequires:  spirv-tools-libs
50099c1
BuildRequires:  systemd-devel
c91d12f
32f1689
BuildRequires:  pkgconfig(alsa)
50099c1
BuildRequires:  pkgconfig(caca)
99f34a6
BuildRequires:  pkgconfig(dbus-1)
50099c1
BuildRequires:  pkgconfig(flac)
50099c1
BuildRequires:  pkgconfig(freetype2)
32f1689
BuildRequires:  pkgconfig(gbm)
32f1689
BuildRequires:  pkgconfig(gl)
32f1689
BuildRequires:  pkgconfig(jack)
50099c1
BuildRequires:  pkgconfig(libass)
32f1689
BuildRequires:  pkgconfig(libdecor-0)
50099c1
BuildRequires:  pkgconfig(libpulse)
50099c1
BuildRequires:  pkgconfig(libusb)
32f1689
BuildRequires:  pkgconfig(libv4l2)
50099c1
BuildRequires:  pkgconfig(libxml-2.0)
50099c1
BuildRequires:  pkgconfig(miniupnpc)
50099c1
BuildRequires:  pkgconfig(openal)
50099c1
BuildRequires:  pkgconfig(openssl)
50099c1
BuildRequires:  pkgconfig(Qt5Concurrent) >= 5.2
50099c1
BuildRequires:  pkgconfig(Qt5Core) >= 5.2
50099c1
BuildRequires:  pkgconfig(Qt5Gui) >= 5.2
50099c1
BuildRequires:  pkgconfig(Qt5Network) >= 5.2
50099c1
BuildRequires:  pkgconfig(Qt5Widgets) >= 5.2
50099c1
BuildRequires:  pkgconfig(sdl2)
50099c1
BuildRequires:  pkgconfig(vulkan)
32f1689
BuildRequires:  pkgconfig(wayland-egl)
32f1689
BuildRequires:  pkgconfig(wayland-protocols)
50099c1
BuildRequires:  pkgconfig(xinerama)
50099c1
BuildRequires:  pkgconfig(xkbcommon)
32f1689
BuildRequires:  pkgconfig(xrandr)
32f1689
BuildRequires:  pkgconfig(xxf86vm)
50099c1
BuildRequires:  pkgconfig(zlib)
99f34a6
50099c1
%if %{with freeworld}
960e8a6
# Available in Freeworld repo
50099c1
BuildRequires:  ffmpeg-devel
abd3cec
# Since F36 ffmpeg-free available in official repos
abd3cec
%else
023554c
%if 0%{?fedora} >= 37
abd3cec
BuildRequires:  ffmpeg-free-devel
abd3cec
BuildRequires:  libavcodec-free-devel
abd3cec
BuildRequires:  libavdevice-free-devel
abd3cec
BuildRequires:  libavformat-free-devel
abd3cec
BuildRequires:  libavutil-free-devel
abd3cec
BuildRequires:  libswresample-free-devel
abd3cec
BuildRequires:  libswscale-free-devel
abd3cec
%endif
50099c1
%endif
50099c1
%if %{with nonfree}
960e8a6
# Available in Non-Free repo
50099c1
BuildRequires:  Cg
50099c1
BuildRequires:  libCg
50099c1
BuildRequires:  xv
50099c1
%endif
aa79aa6
362dfc0
Requires:       perl(Net::DBus)
362dfc0
Requires:       perl(X11::Protocol)
aa79aa6
c8413d0
Recommends:     %{name}-assets              = %{?epoch:%{epoch}:}%{version}-%{release}
84265bc
Recommends:     %{name}-database            = %{?epoch:%{epoch}:}%{version}-%{release}
c8413d0
Recommends:     %{name}-filters%{?_isa}     = %{?epoch:%{epoch}:}%{version}-%{release}
f2b6b36
Recommends:     gamemode
362dfc0
Recommends:     libretro-beetle-ngp
362dfc0
Recommends:     libretro-beetle-pce-fast
362dfc0
Recommends:     libretro-beetle-vb
362dfc0
Recommends:     libretro-beetle-wswan
362dfc0
Recommends:     libretro-bsnes-mercury
362dfc0
Recommends:     libretro-desmume2015
362dfc0
Recommends:     libretro-gambatte
362dfc0
Recommends:     libretro-gw
362dfc0
Recommends:     libretro-handy
362dfc0
Recommends:     libretro-mgba
362dfc0
Recommends:     libretro-nestopia
362dfc0
Recommends:     libretro-pcsx-rearmed
362dfc0
Recommends:     libretro-prosystem
362dfc0
Recommends:     libretro-stella2014
50099c1
%if %{with freeworld}
960e8a6
# Non-Free cores
960e8a6
# * Dummy for future
50099c1
%endif
aa79aa6
50099c1
Provides:       bundled(7zip) = 9.20
50099c1
Provides:       bundled(discord-rpc)
50099c1
Provides:       bundled(dr)
50099c1
Provides:       bundled(glslang)
50099c1
Provides:       bundled(ibxm)
50099c1
960e8a6
# https://github.com/libretro/RetroArch/issues/8153
50099c1
Provides:       bundled(lua) = 5.3.5
50099c1
25d257b
Provides:       bundled(rcheevos) = 10.7
50099c1
Provides:       bundled(SPIRV-Cross)
50099c1
Provides:       bundled(stb)
50099c1
50099c1
%global _description %{expand:
50099c1
libretro is an API that exposes generic audio/video/input callbacks. A frontend
50099c1
for libretro (such as RetroArch) handles video output, audio output, input and
50099c1
application lifecycle. A libretro core written in portable C or C++ can run
50099c1
seamlessly on many platforms with very little to no porting effort.
50099c1
50099c1
While RetroArch is the reference frontend for libretro, several other projects
50099c1
have used the libretro interface to include support for emulators and/or game
24fc24d
engines. libretro is completely open and free for anyone to use.
24fc24d
24fc24d
To download and install more libretro cores please read included README.Fedora
24fc24d
file:
24fc24d
24fc24d
  $ xdg-open %{_docdir}/%{name}/README.fedora.md}
50099c1
50099c1
%description %{_description}
50099c1
50099c1
960e8a6
# Assets package
50099c1
%package        assets
960e8a6
Summary:        Assets files for %{name}
50099c1
BuildArch:      noarch
50099c1
960e8a6
Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
50099c1
Requires:       dejavu-sans-mono-fonts
50099c1
Recommends:     open-sans-fonts
50099c1
960e8a6
# * Bundled fonts
50099c1
Provides:       bundled(inter-ui-fonts)
50099c1
Provides:       bundled(metrophobic-fonts)
50099c1
Provides:       bundled(sf-atarian-system-fonts)
50099c1
Provides:       bundled(titilium-web-fonts)
50099c1
50099c1
%description    assets
960e8a6
Assets files for %{name}.
50099c1
50099c1
960e8a6
# Filters package
50099c1
%package        filters
960e8a6
Summary:        Audio and video filters for %{name}
50099c1
960e8a6
Requires:       %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
50099c1
50099c1
%description    filters
960e8a6
Audio and video filters for %{name}.
50099c1
50099c1
b52dce3
# Database package
b52dce3
%package        database
b52dce3
Summary:        Database files (cheatcode, content data, cursors) for %{name}
b52dce3
BuildArch:      noarch
b52dce3
2104dc0
Requires:       %{name} = %{?epoch:%{epoch}:}%{version}-%{release}
b52dce3
b52dce3
%description    database
b52dce3
RetroArch incoporates a ROM scanning system to automatically produce playlists.
b52dce3
Each ROM that is scanned by the playlist generator is checked against a
b52dce3
database of ROMs that are known to be good copies.
b52dce3
b52dce3
50099c1
%prep
50099c1
%setup -n RetroArch-%{version} -q
50099c1
%setup -n RetroArch-%{version} -q -D -T -a1
17ba0fc
%setup -n RetroArch-%{version} -q -D -T -a3
93f4c22
%setup -n RetroArch-%{version} -q -D -T -a4
b52dce3
%setup -n RetroArch-%{version} -q -D -T -a5
50099c1
960e8a6
# Unbundling
50099c1
pushd deps
99f34a6
rm -rf                      \
99f34a6
        libfat              \
17ba0fc
        libFLAC             \
17ba0fc
        libiosuhax          \
17ba0fc
        libvita2d           \
17ba0fc
        libz                \
17ba0fc
        peglib              \
17ba0fc
        pthreads            \
99f34a6
        wayland-protocols   \
99f34a6
        %{nil}
50099c1
popd
50099c1
960e8a6
# * Not part of the 'mbedtls' upstream source
50099c1
find deps/mbedtls/ ! -name 'cacert.h' -type f -exec rm -f {} +
50099c1
b52dce3
# Use system assets, libretro cores, libretro's core info and audio/video,
b52dce3
# filters, database files (cheatcode, content data, cursors)
960e8a6
sed -e 's|# libretro_directory =|libretro_directory = %{_libdir}/libretro/|g' \
960e8a6
    -i retroarch.cfg
960e8a6
%if %{with freeworld}
b52dce3
sed -e 's|# assets_directory =|assets_directory = %{_datadir}/libretro/assets-freeworld/|g'                 \
b52dce3
    -e 's|# video_filter_dir =|video_filter_dir = %{_libdir}/retroarch/filters/video-freeworld/|g'          \
b52dce3
    -e 's|# audio_filter_dir =|audio_filter_dir = %{_libdir}/retroarch/filters/audio-freeworld/|g'          \
b52dce3
    -e 's|# libretro_info_path =|libretro_info_path = %{_datadir}/libretro/info-freeworld/|g'               \
b52dce3
    -e 's|# joypad_autoconfig_dir =|joypad_autoconfig_dir = %{_datadir}/libretro/autoconfig-freeworld/|g'   \
07fc2e5
    -e 's|# content_database_path =|content_database_path = %{_datadir}/libretro/database-freeworld/rdb/|g' \
07fc2e5
    -e 's|# cheat_database_path =|cheat_database_path = %{_datadir}/libretro/database-freeworld/cht/|g'     \
07fc2e5
    -e 's|# cursor_directory =|cursor_directory = %{_datadir}/libretro/database-freeworld/cursors/|g'       \
960e8a6
%else
b52dce3
sed -e 's|# assets_directory =|assets_directory = %{_datadir}/libretro/assets/|g'                   \
b52dce3
    -e 's|# video_filter_dir =|video_filter_dir = %{_libdir}/retroarch/filters/video/|g'            \
b52dce3
    -e 's|# audio_filter_dir =|audio_filter_dir = %{_libdir}/retroarch/filters/audio/|g'            \
b52dce3
    -e 's|# libretro_info_path =|libretro_info_path = %{_datadir}/libretro/info/|g'                 \
b52dce3
    -e 's|# joypad_autoconfig_dir =|joypad_autoconfig_dir = %{_datadir}/libretro/autoconfig/|g'     \
b52dce3
    -e 's|# content_database_path =|content_database_path = %{_datadir}/libretro/database/rdb/|g'   \
b52dce3
    -e 's|# cheat_database_path =|cheat_database_path = %{_datadir}/libretro/database/cht/|g'       \
b52dce3
    -e 's|# cursor_directory =|cursor_directory = %{_datadir}/libretro/database/cursors/|g'         \
960e8a6
%endif
50099c1
    -i retroarch.cfg
50099c1
960e8a6
# Disable online update feature due security reasons
960e8a6
sed -e 's|# menu_show_online_updater = true|menu_show_online_updater = false|g' \
17ba0fc
    -e 's|# menu_show_core_updater = true|menu_show_core_updater = false|g'     \
50099c1
    -i retroarch.cfg
960e8a6
sed -e 's|HAVE_UPDATE_ASSETS=yes|HAVE_UPDATE_ASSETS=no|g' -i qb/config.params.sh
960e8a6
960e8a6
# Freeworld config file
960e8a6
%if %{with freeworld}
17ba0fc
sed -e 's|retroarch.cfg|%{name}.cfg|g'  \
17ba0fc
    -i retroarch.c                      \
17ba0fc
       configuration.c                  \
eddec1a
       %{nil}
960e8a6
%endif
50099c1
50099c1
50099c1
%build
17ba0fc
./configure                     \
17ba0fc
    --prefix=%{_prefix}         \
17ba0fc
    --disable-builtinflac       \
17ba0fc
    --disable-builtinmbedtls    \
99f34a6
    --disable-builtinzlib       \
99f34a6
    --enable-dbus               \
81059bd
    --enable-libdecor           \
81059bd
    --enable-wayland            \
99f34a6
    %{nil}
50099c1
%set_build_flags
50099c1
%make_build
50099c1
960e8a6
# Assets
93f4c22
%make_build -C %{appname}-assets-%{commit1} \
93f4c22
    GIT_VERSION=%{shortcommit1}
50099c1
960e8a6
# Audio filters
50099c1
%make_build -C libretro-common/audio/dsp_filters
50099c1
960e8a6
# Video filters
50099c1
%make_build -C gfx/video_filters
50099c1
17ba0fc
# Libretro's core info
25d257b
%make_build -C libretro-core-info-%{version_addons}
17ba0fc
93f4c22
# Joypad Autoconfig Files
25d257b
%make_build -C %{appname}-joypad-autoconfig-%{version_addons}
93f4c22
b52dce3
# Database files (cheatcode, content data, cursors)
25d257b
%make_build -C libretro-database-%{version_addons}
b52dce3
50099c1
50099c1
%install
50099c1
%make_install
9c83bb4
rm  %{buildroot}%{_docdir}/%{appname}/COPYING \
9c83bb4
    %{buildroot}%{_docdir}/%{appname}/README.md
50099c1
960e8a6
# Assets
93f4c22
%make_install -C %{appname}-assets-%{commit1}
960e8a6
%if %{with freeworld}
960e8a6
mv  %{buildroot}%{_datadir}/libretro/assets/ \
960e8a6
    %{buildroot}%{_datadir}/libretro/assets-freeworld/
960e8a6
%endif
50099c1
960e8a6
# * Move assets license file in proper location
960e8a6
mkdir -p    %{buildroot}%{_licensedir}/%{name}-assets/
ea9c960
mv          %{buildroot}%{_datadir}/libretro/assets%{?p_suffix}/COPYING \
960e8a6
            %{buildroot}%{_licensedir}/%{name}-assets/COPYING
50099c1
960e8a6
# * Remove duplicate fonts which available in Fedora repos
ea9c960
rm  %{buildroot}%{_datadir}/libretro/assets%{?p_suffix}/pkg/osd-font.ttf \
ea9c960
    %{buildroot}%{_datadir}/libretro/assets%{?p_suffix}/xmb/flatui/font.ttf
50099c1
960e8a6
# Audio filters
17ba0fc
%make_install -C libretro-common/audio/dsp_filters              \
17ba0fc
    PREFIX=%{_prefix}                                           \
ea9c960
    INSTALLDIR=%{_libdir}/retroarch/filters%{?p_suffix}/audio
50099c1
960e8a6
# Video filters
17ba0fc
%make_install -C gfx/video_filters                              \
17ba0fc
    PREFIX=%{_prefix}                                           \
ea9c960
    INSTALLDIR=%{_libdir}/retroarch/filters%{?p_suffix}/video
50099c1
17ba0fc
# Libretro's core info
25d257b
%make_install -C libretro-core-info-%{version_addons} \
ea9c960
    INSTALLDIR=%{_datadir}/libretro/info%{?p_suffix}
17ba0fc
960e8a6
# AppData manifest
ef27a66
%dnl install -m 0644 -Dp %{SOURCE2} %{buildroot}%{_metainfodir}/%{uuid}.appdata.xml
50099c1
93f4c22
# Joypad Autoconfig Files
25d257b
%make_install -C %{appname}-joypad-autoconfig-%{version_addons} \
33d64bb
    DOC_DIR=%{_datadir}/libretro/autoconfig/doc
93f4c22
%if %{with freeworld}
93f4c22
mv  %{buildroot}%{_datadir}/libretro/autoconfig/ \
93f4c22
    %{buildroot}%{_datadir}/libretro/autoconfig-freeworld/
93f4c22
%endif
93f4c22
b52dce3
# Database files (cheatcode, content data, cursors)
25d257b
%make_install -C libretro-database-%{version_addons} \
b52dce3
    INSTALLDIR=%{_datadir}/libretro/database%{?p_suffix}
b52dce3
960e8a6
# Rename desktop file to UUID for compatibility
9c83bb4
mv  %{buildroot}%{_datadir}/applications/%{appname}.desktop \
9c83bb4
    %{buildroot}%{_datadir}/applications/%{uuid}.desktop
50099c1
50099c1
%if %{with freeworld}
960e8a6
# Rename binary, desktop file, appdata manifest, manpage and config file
9c83bb4
mv  %{buildroot}%{_bindir}/%{appname} \
9c83bb4
    %{buildroot}%{_bindir}/%{appname}-freeworld
960e8a6
mv  %{buildroot}%{_bindir}/%{appname}-cg2glsl \
960e8a6
    %{buildroot}%{_bindir}/%{appname}-cg2glsl-freeworld
9c83bb4
mv  %{buildroot}%{_datadir}/applications/%{uuid}.desktop \
9c83bb4
    %{buildroot}%{_datadir}/applications/%{uuid}-freeworld.desktop
9c83bb4
mv  %{buildroot}%{_metainfodir}/%{uuid}.appdata.xml \
9c83bb4
    %{buildroot}%{_metainfodir}/%{uuid}-freeworld.appdata.xml
960e8a6
mv  %{buildroot}%{_sysconfdir}/%{appname}.cfg \
960e8a6
    %{buildroot}%{_sysconfdir}/%{name}.cfg
960e8a6
mv  %{buildroot}%{_mandir}/man6/%{appname}.6 \
960e8a6
    %{buildroot}%{_mandir}/man6/%{appname}-freeworld.6
960e8a6
mv  %{buildroot}%{_mandir}/man6/%{appname}-cg2glsl.6 \
960e8a6
    %{buildroot}%{_mandir}/man6/%{appname}-cg2glsl-freeworld.6
960e8a6
sed -i 's|Exec=retroarch|Exec=retroarch-freeworld|' \
9c83bb4
    %{buildroot}%{_datadir}/applications/%{uuid}-freeworld.desktop
960e8a6
sed -i 's|org.libretro.RetroArch.desktop|org.libretro.RetroArch-freeworld.desktop|' \
9c83bb4
    %{buildroot}%{_metainfodir}/%{uuid}-freeworld.appdata.xml
50099c1
%endif
50099c1
2ed0cbb
install -Dpm0755 %{SOURCE10} -t %{buildroot}%{_bindir}
2ed0cbb
install -Dpm0644 %{SOURCE11} -t %{buildroot}%{_docdir}/%{name}
50099c1
50099c1
%check
50099c1
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop
50099c1
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
50099c1
50099c1
50099c1
%files
50099c1
%license COPYING
2ed0cbb
%doc README.md README.fedora.md README-exynos.md README-OMAP.md README-mali_fbdev_r4p0.md CHANGES.md CONTRIBUTING.md
960e8a6
%{_bindir}/%{appname}*
50099c1
%{_datadir}/applications/*.desktop
93f4c22
%{_datadir}/libretro/autoconfig%{?p_suffix}/
ea9c960
%{_datadir}/libretro/info%{?p_suffix}/
50099c1
%{_datadir}/pixmaps/*.svg
c8413d0
%{_mandir}/man6/*.6*
960e8a6
%{_metainfodir}/*.xml
17ba0fc
%dir %{_datadir}/libretro/
960e8a6
960e8a6
# Things may changed in future and it's safe to replace system config since old
960e8a6
# one will be saved in home dir
960e8a6
%config %{_sysconfdir}/%{name}.cfg
50099c1
93f4c22
50099c1
%files assets
960e8a6
# Incorrect-fsf-address
960e8a6
# * https://github.com/libretro/retroarch-assets/issues/335
960e8a6
%{_licensedir}/%{name}-assets/
960e8a6
ea9c960
%{_datadir}/libretro/assets%{?p_suffix}/
50099c1
%dir %{_datadir}/libretro/
50099c1
93f4c22
50099c1
%files filters
ea9c960
%{_libdir}/%{appname}/filters%{?p_suffix}/
960e8a6
%dir %{_libdir}/%{appname}/
50099c1
50099c1
b52dce3
%files database
07fc2e5
%{_datadir}/libretro/database%{?p_suffix}/cht/
07fc2e5
%{_datadir}/libretro/database%{?p_suffix}/cursors/
07fc2e5
%{_datadir}/libretro/database%{?p_suffix}/rdb/
b52dce3
b52dce3
50099c1
%changelog
9fd008b
%autochangelog