File ryujinx.spec of Package ryujinx
Name: ryujinx
Version: 1.3.2
Release: 1%{?dist}
Summary: Experimental Nintendo Switch Emulator written in C# (master build channel release)
License: MIT
URL: https://git.ryujinx.app/ryubing/ryujinx
Source0: https://git.ryujinx.app/api/v4/projects/1/packages/generic/Ryubing/%{version}/ryujinx-%{version}-linux_x64.tar.gz
Source1: Ryujinx.desktop
Source2: Logo.svg
Source3: Ryujinx.xml
BuildArch: x86_64
%description
Ryujinx is an experimental Nintendo Switch emulator written in C#. This package installs the master build channel release.
%prep
%setup -q -n publish
%build
# No build step needed
%install
# Create installation directories
mkdir -p %{buildroot}/opt/ryujinx
mkdir -p %{buildroot}/usr/bin
mkdir -p %{buildroot}/usr/share/applications
mkdir -p %{buildroot}/usr/share/icons/hicolor/scalable/apps
mkdir -p %{buildroot}/usr/share/mime/packages
# Copy application files to /opt/ryujinx
cp -R * %{buildroot}/opt/ryujinx
chmod +x %{buildroot}/opt/ryujinx/Ryujinx
# Create writable logs directory
install -d -m 777 %{buildroot}/opt/ryujinx/Logs
# Create symlinks
ln -s /opt/ryujinx/Ryujinx %{buildroot}/usr/bin/Ryujinx
ln -s /opt/ryujinx/Ryujinx.sh %{buildroot}/usr/bin/Ryujinx.sh
# Install desktop file, icon, and MIME type
install -m 644 %{SOURCE1} %{buildroot}/usr/share/applications/Ryujinx.desktop
install -m 644 %{SOURCE2} %{buildroot}/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg
install -m 644 %{SOURCE3} %{buildroot}/usr/share/mime/packages/Ryujinx.xml
%files
%defattr(-,root,root,-)
%dir /opt/ryujinx
/opt/ryujinx/*
/usr/bin/Ryujinx
/usr/bin/Ryujinx.sh
%dir /usr/share/icons/hicolor
%dir /usr/share/icons/hicolor/scalable
%dir /usr/share/icons/hicolor/scalable/apps
/usr/share/applications/Ryujinx.desktop
/usr/share/icons/hicolor/scalable/apps/Ryujinx.svg
/usr/share/mime/packages/Ryujinx.xml
%changelog