## START: Set by rpmautospec ## (rpmautospec version 0.2.6) %define autorelease(e:s:pb:) %{?-p:0.}%{lua: release_number = 3; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{?dist} ## END: Set by rpmautospec # src/types.h is set to issue error on i386 and warning on other architectures # when trying to enable position-independent code. It is not recommended for # performance reasons %undefine _hardened_build %global unstable 0 Name: mednafen Version: 1.29.0 %if %{unstable} == 1 Release: %autorelease -p -e UNSTABLE %else Release: %autorelease %endif Summary: A multi-system emulator utilizing OpenGL and SDL #mednafen incorporates several emulators hence the colourful licensing License: GPLv2+ and BSD and ISC and LGPLv2+ and MIT and zlib URL: https://mednafen.github.io/ %if %{?unstable} == 1 Source0: https://mednafen.github.io/releases/files/%{name}-%{version}-UNSTABLE.tar.xz %else Source0: https://mednafen.github.io/releases/files/%{name}-%{version}.tar.xz %endif BuildRequires: gcc-c++ BuildRequires: gettext #1.3.0 is required #BuildRequires: libmpcdec-devel BuildRequires: make BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(flac) => 1.3.0 BuildRequires: pkgconfig(jack) => 1.0.2 #2.09 is required %if 0%{?fedora} >= 32 BuildRequires: pkgconfig(lzo2) %endif BuildRequires: pkgconfig(sdl2) => 2.0.5 BuildRequires: pkgconfig(zlib) %description A portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator. Mednafen has the ability to remap hotkey functions and virtual system inputs to a keyboard, a joystick, or both simultaneously. Save states are supported, as is real-time game rewinding. Screen snapshots may be taken, in the PNG file format, at the press of a button. Mednafen can record audiovisual movies in the QuickTime file format, with several different lossless codecs supported. The following systems are supported(refer to the emulation module documentation for more details): * Apple II/II+ * Atari Lynx * Neo Geo Pocket (Color) * WonderSwan * GameBoy (Color) * GameBoy Advance * Nintendo Entertainment System * Super Nintendo Entertainment System/Super Famicom * Virtual Boy * PC Engine/TurboGrafx 16 (CD) * SuperGrafx * PC-FX * Sega Game Gear * Sega Genesis/Megadrive * Sega Master System * Sega Saturn (experimental, x86_64 only) * Sony PlayStation Due to the threaded model of emulation used in Mednafen, and limitations of SDL, a joystick is preferred over a keyboard to play games, as the joystick will have slightly less latency, although the latency differences may not be perceptible to most people. %prep %autosetup -p1 -n %{name} # Permission cleanup find \( -name \*.c\* -or -name \*.h\* -or -name \*.inc \) -exec chmod -x {} \; %build # This package has a configure test which uses ASMs, but does not link the # resultant .o files. As such the ASM test is always successful in pure # LTO mode. We can use -ffat-lto-objects to force code generation. # # -ffat-lto-objects is the default for F33, but is expected to be removed # in F34. So we list it explicitly here. %define _lto_cflags -flto=auto -ffat-lto-objects CFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro -Wl,-z,now" CXXFLAGS="$RPM_OPT_FLAGS -Wl,-z,relro -Wl,-z,now" export CFLAGS export CXXFLAGS %configure --disable-rpath \ %if 0%{?fedora} >= 32 --with-external-lzo %endif #to be added once dependencies become available # --with-external-mpcdec # --with-external-tremor # --with-external-trio %make_build %install %make_install # Documentation cleanup rm -rf Documentation/*.def Documentation/*.php Documentation/generate.sh \ Documentation/Makefile.* Documentation/docgen.inc %find_lang %{name} %files -f %{name}.lang %license COPYING %doc ChangeLog TODO Documentation/* %{_bindir}/%{name} %changelog * Wed Sep 14 2022 Michel Alexandre Salim 1.29.0-3 - Rebuilt for flac 1.4.0 * Thu Jul 21 2022 Fedora Release Engineering 1.29.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Fri Jan 21 2022 Julian Sikorski 1.29.0-1 - Update to 1.29.0 * Thu Jan 20 2022 Fedora Release Engineering 1.28.0-0.3.UNSTABLE - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Mon Nov 15 2021 Julian Sikorski 1.28.0-0.2.UNSTABLE - Fix ppc64le build * Sun Nov 14 2021 Julian Sikorski 1.28.0-0.1.UNSTABLE - Update to 1.28.0-UNSTABLE * Thu Jul 22 2021 Fedora Release Engineering - 1.27.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Sun Jun 13 2021 Julian Sikorski - 1.27.1-1 - Update to 1.27.1 * Fri Apr 02 2021 Julian Sikorski - 1.27.0-0.1.UNSTABLE - Update to 1.27.0-UNSTABLE - Drop sndfile BuildRequires, add flac * Tue Jan 26 2021 Fedora Release Engineering - 1.26.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Nov 11 07:48:27 CET 2020 Julian Sikorski - 1.26.1-1 - Update to 1.26.1 * Sun Nov 1 11:16:26 CET 2020 Julian Sikorski - 1.26.0-0.1.UNSTABLE - Update to 1.26.0-UNSTABLE * Thu Aug 20 2020 Jeff Law - 1.25.0-0.2.UNSTABLE - Re-enable LTO * Tue Jul 28 2020 Julian Sikorski - 1.25.0-0.1.UNSTABLE - Update to 1.25.0-UNSTABLE * Tue Jul 28 2020 Fedora Release Engineering - 1.24.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Tue Jul 14 2020 Jeff Law - 1.24.3-2 - Disable LTO * Mon May 04 2020 Julian Sikorski - 1.24.3-1 - Update to 1.24.3 * Sun May 03 2020 Julian Sikorski - 1.24.2-1 - Update to 1.24.2 * Wed Mar 18 2020 Julian Sikorski - 1.24.1-1 - Update to 1.24.1 - Drop ppc detection fix patch - Enable system lzo on f32 and later * Wed Jan 29 2020 Fedora Release Engineering - 1.24.0-0.2.UNSTABLE - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Fri Dec 27 2019 Julian Sikorski - 1.24.0-0.1.UNSTABLE - Update to 1.24.0-UNSTABLE - Dropped included patch - Fix ppc detection on ppc64le * Thu Sep 05 2019 Julian Sikorski - 1.23.0-0.1.UNSTABLE - Update to 1.23.0-UNSTABLE - Work around gcc compiler bug 91678 * Thu Jul 25 2019 Fedora Release Engineering - 1.22.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Wed Apr 24 2019 Julian Sikorski - 1.22.2-1 - Update to 1.22.2 * Fri Feb 01 2019 Fedora Release Engineering - 1.22.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Tue Jan 29 2019 Julian Sikorski - 1.22.1-1 - Update to 1.22.1 * Mon Dec 24 2018 Julian Sikorski - 1.22.0-0.1.UNSTABLE - Update to 1.22.0-UNSTABLE * Fri Jul 20 2018 Julian Sikorski - 1.21.3-4 - Fixed FTBFS: BR gcc-c++, gcc is not enough * Fri Jul 13 2018 Fedora Release Engineering - 1.21.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Mon May 14 2018 Julian Sikorski - 1.21.3-2 - Added an explanation why hardened build is disabled - Bumped release so that the Fedora package is newer than RPM Fusion one * Tue May 01 2018 Julian Sikorski - 1.21.3-1 - Updated to 1.21.3 * Mon Apr 23 2018 Julian Sikorski - 1.21.2-2 - Added pkgconfig(alsa) to BuildRequires as it is no longer pulled implicitly * Sun Apr 15 2018 Julian Sikorski - 1.21.2-1 - Updated to 1.21.2 - Switched to SDL2 - Added placeholders for system libs to be enabled once dependencies become available * Fri Mar 02 2018 RPM Fusion Release Engineering - 0.9.48-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild * Sat Oct 07 2017 Julian Sikorski - 0.9.48-1 - Updated to 0.9.48 * Thu Sep 07 2017 Julian Sikorski - 0.9.47-1 - Updated to 0.9.47 * Thu Aug 31 2017 RPM Fusion Release Engineering - 0.9.43-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Apr 02 2017 Julian Sikorski - 0.9.43-1 - Updated to 0.9.43 * Sun Mar 26 2017 RPM Fusion Release Engineering - 0.9.39.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild * Sat Oct 29 2016 Julian Sikorski - 0.9.39.2-1 - Updated to 0.9.39.2 - Updated %%description - Dropped gcc-6 fix - Cleaned up the .spec file - Disabled hardened build, see types.h * Mon Jul 04 2016 Sérgio Basto - 0.9.38.7-2 - Fix error compiling with GCC 6.x on Fedora 24 * Thu Dec 31 2015 Julian Sikorski - 0.9.38.7-1 - Updated to 0.9.38.7 * Sun Sep 27 2015 Julian Sikorski - 0.9.38.6-1 - Updated to 0.9.38.6 * Tue Jul 14 2015 Julian Sikorski - 0.9.38.5-1 - Updated to 0.9.38.5 * Mon Sep 01 2014 Sérgio Basto - 0.9.33.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Tue Apr 29 2014 Julian Sikorski - 0.9.33.3-1 - Updated to 0.9.33.3 - Updared the Source URL * Sun Nov 10 2013 Julian Sikorski - 0.9.32-0.1 - Updated to 0.9.32-WIP * Tue May 14 2013 Julian Sikorski - 0.9.28-0.1 - Updated to 0.9.28-WIP * Mon Apr 29 2013 Nicolas Chauvet - 0.9.25-0.3 - https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Dec 09 2012 Julian Sikorski - 0.9.25-0.1 - Updated to 0.9.25-WIP * Sat Aug 25 2012 Julian Sikorski - 0.9.24-0.1 - Updated to 0.9.24-WIP * Mon Jul 02 2012 Julian Sikorski - 0.9.22-0.1 - Updated to 0.9.22-WIP * Wed May 02 2012 Julian Sikorski - 0.9.21-0.1 - Updated to 0.9.21-WIP - Dropped upstreamed gcc-47 patch * Fri Feb 10 2012 Julian Sikorski - 0.9.19-0.1 - Updated to 0.9.19-WIP - Dropped obsolete Group, Buildroot, %%clean and %%defattr - Updated %%description * Thu Feb 09 2012 Nicolas Chauvet - 0.9.18-0.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Sun Nov 27 2011 Julian Sikorski - 0.9.18-0.1 - Updated to 0.9.18-WIP - Dropped the NES sound patch * Sat Aug 27 2011 Julian Weissgerber - 0.9.17-0.2 - Patch to fix segfault when NES sound is enabled * Wed Jun 15 2011 Julian Sikorski - 0.9.17-0.1 - Updated to 0.9.17-WIP - Updated the License tag * Thu Apr 29 2010 Julian Sikorski - 0.8.12-2.0.8.C - Rebuilt for new libcdio * Thu Jul 09 2009 Julian Sikorski - 0.8.12-1.0.8.C - Updated to 0.8.C - Dropped the upstreamed gcc44 patch * Sun Mar 29 2009 Thorsten Leemhuis - 0.8.11-2.0.8.B - rebuild for new F11 features * Sun Mar 08 2009 Julian Sikorski - 0.8.11-1.0.8.B - Updated to 0.8.B - ExcludeArch: ppc64 on Fedora 11+ * Thu Nov 6 2008 Julian Sikorski - 0.8.10-2.0.8.A - Rebuilt. Something has mangled the x86_64 rpm * Sun Nov 2 2008 Julian Sikorski - 0.8.10-1.0.8.A - Updated to 0.8.A * Sat Sep 20 2008 Julian Sikorski - 0.8.9-1 - Updated to 0.8.9 - Dropped the rpath patch, does not seem to be necessary * Tue Jan 08 2008 Ian Chapman 0.8.7-1 - Upgrade to 0.8.7 * Sun Nov 25 2007 Ian Chapman 0.8.5-1 - Upgrade to 0.8.5 * Sun Nov 18 2007 Ian Chapman 0.8.4-1 - Upgrade to 0.8.4 - Removed several patches which have been applied upstream - License change due to new guidelines - New URL as project homepage has changed * Sat Apr 28 2007 Ian Chapman 0.8.1-2 - Added patch to fix crashes with wonderswan roms - Added patch to fix compilation on ppc * Thu Apr 26 2007 Ian Chapman 0.8.1-1 - Upgrade to 0.8.1 * Tue Feb 13 2007 Ian Chapman 0.7.2-1 - Upgrade to 0.7.2 * Wed Jan 03 2007 Ian Chapman 0.7.1-1 - Upgrade to 0.7.1 - Updated rpath patch - Added support for jack * Fri Oct 06 2006 Ian Chapman 0.6.5-2 - Rebuild for new version of libcdio in fc6 * Thu Sep 07 2006 Ian Chapman 0.6.5-1 - Upgrade to 0.6.5 * Wed Aug 23 2006 Ian Chapman 0.6.4-1 - Upgrade to 0.6.4 - Minor alteration to RPM description due to new features * Sat Aug 12 2006 Ian Chapman 0.6.3-1 - Upgrade to 0.6.3 - Drop the libtool buildrequire and use the patch for fixing rpath * Mon Jun 19 2006 Ian Chapman 0.6.2-1 - Upgrade to 0.6.2 * Sun Jun 04 2006 Ian Chapman 0.6.1-2 - Removed gawk buildrequire. Doesn't seem to be needed. - Removed bison buildrequire. Doesn't seem to be needed. - Replaced xorg-x11-devel with libGLU-devel for compatibility reasons with modular and non modular X - Removed SDL-devel buildrequire, implied by SDL_net-devel * Tue May 23 2006 Ian Chapman 0.6.1-1.iss - Initial Release