%global forgeurl https://github.com/SourMesen/Mesen2 %global version %(date +%Y%m%d) %global commit fabc9a62174f8734a113df6d244f5539ef6b8fcf %global _forgeversionsuffix %{scm}%(printf %.7s %{commit}) %global source_date_epoch_from_changelog 0 %global _enable_debug_packages 0 %global __brp_strip_comment_note %{nil} %forgemeta Name: mesen Version: %{forgeversion} Release: %{autorelease} Summary: Multi-system emulator License: GPL-3.0-or-later URL: %{forgeurl} Source0: %{forgesource} BuildRequires: make BuildRequires: clang BuildRequires: dotnet-sdk-8.0 BuildRequires: sdl2-compat-devel BuildRequires: libstdc++-static BuildRequires: desktop-file-utils Requires: dotnet-runtime-8.0 Requires: sdl2-compat Requires: libICE Requires: libSM %description Mesen is a multi-system emulator. It supports the following platforms: - NES - SNES - Game Boy - Game Boy Advance - PC Engine - SMS / Game Gear - WonderSwan %prep %forgesetup %__sed -i -e '/\.UpdateFileAssociations()/d' \ UI/ViewModels/ConfigViewModel.cs UI/Windows/MainWindow.axaml.cs %__sed -i -r -e '/\s(CreateShortcut|CheckForUpdates)\s/s/true/false/' \ UI/ViewModels/SetupWizardViewModel.cs %__cat << EOI > %{name}.xml $(%__sed -n -e '/^\s*CreateMimeType/p' UI/Config/FileAssociationHelper.cs \ | while IFS='"' read -r SKIP TYPE SKIP EXT SKIP DESCR SKIP do %__cat << EOC ${DESCR} EOC done) EOI %build %make_build USE_AOT=false %install %__install -p -m 755 -D -t %{buildroot}%{_bindir} \ bin/linux-x64/Release/linux-x64/publish/Mesen %__install -p -m 644 -D -t %{buildroot}%{_licensedir}/%{name} LICENSE %__install -p -m 644 -D -t %{buildroot}%{_pkgdocdir} *.md %__install -p -m 644 -D -t %{buildroot}%{_datadir}/mime/packages %{name}.xml %__install -p -m 644 -D -T Linux/appimage/Mesen.48x48.png \ %{buildroot}%{_iconsdir}/hicolor/48x48/apps/Mesen.png desktop-file-install --dir=%{buildroot}%{_datadir}/applications \ $(printf " --add-mime-type=%s " $(%__sed -n -r -e \ 's/^$/\1/p' %{name}.xml)) \ Linux/appimage/Mesen.desktop %files %license %{_licensedir}/* %doc %{_pkgdocdir} %{_bindir}/* %{_datadir}/applications/* %{_datadir}/mime/packages/* %{_iconsdir}/hicolor/*/apps/*