%global vernumber 079 Name: bsnes Version: 0.%{vernumber} Release: 1%{?dist} Summary: SNES emulator focused on accuracy Group: Applications/Emulators License: GPLv2 URL: http://byuu.org/bsnes/ Source0: http://bsnes.googlecode.com/files/%{name}_v%{vernumber}-source.tar.bz2 Source2: README.bsnes Patch0: bsnes-0.072-nocheats.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) #bsnes does not use system snes_ntsc because the modified video processing #filter algorithm calls back into bsnes specific c++ colortable code, that #isn't available when the library is built stand alone BuildRequires: desktop-file-utils BuildRequires: freealut-devel BuildRequires: libao-devel BuildRequires: libXv-devel BuildRequires: pulseaudio-libs-devel BuildRequires: SDL-devel BuildRequires: qt-devel Obsoletes: %{name}-pixelshaders < 0.064 %description bsnes is an emulator that began development on 2004-10-14. The purpose of the emulator is a bit different from other emulators: it focuses on accuracy, debugging functionality, and clean code. The emulator does not focus on things that would hinder accuracy. This includes speed and game-specific hacks for compatibility. As a result, the minimum system requirements for bsnes are quite high. %package snesfilter Summary: Visual filters for %{name} Group: Applications/Emulators Requires: %{name} = %{version}-%{release} %description snesfilter This subpackage contains various video filters for bsnes. %package snesreader Summary: Compressed ROM images support for %{name} Group: Applications/Emulators Requires: %{name} = %{version}-%{release} %description snesreader This subpackage enables support for various compressed images, like .zip, .7z, .rar and others. %package supergameboy Summary: Super Game Boy emulation for %{name} Group: Applications/Emulators Requires: %{name} = %{version}-%{release} %description supergameboy This package includes gambatte-based Super Game Boy emulation. %prep %setup -q -n %{name}_v%{vernumber}-source %patch0 -p1 -b .nocheats #fix permissions find . -type f -not -name \*.sh -exec chmod 644 {} \; #use system optflags sed -i "s/-O3/$RPM_OPT_FLAGS/" bsnes/Makefile sed -i "s/-O3/$RPM_OPT_FLAGS -fPIC/" snesfilter/Makefile sed -i "s/-O3/$RPM_OPT_FLAGS/" snespurify/cc-qt.sh #don't strip the binaries prematurely sed -i "s/link += -s/link +=/" bsnes/Makefile sed -i "s/link := -s/link :=/" snesfilter/Makefile sed -i "s/-s //" snespurify/cc-qt.sh #use the proper compiler and moc commands sed -i "s/g++-4.5/g++/" snespurify/cc-qt.sh sed -i "s/moc/moc-qt4/" snespurify/cc-qt.sh #install fedora-specific readme install -pm 644 %{SOURCE2} README.Fedora %build pushd bsnes make %{?_smp_mflags} compiler=gcc popd pushd snesfilter make %{?_smp_mflags} compiler=gcc popd pushd snespurify ./cc-qt.sh popd %install rm -rf $RPM_BUILD_ROOT pushd bsnes make install DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} desktop-file-install --vendor=rpmfusion \ --delete-original --dir $RPM_BUILD_ROOT%{_datadir}/applications \ $RPM_BUILD_ROOT%{_datadir}/applications/bsnes.desktop popd install -Dpm 755 snesfilter/out/*.filter $RPM_BUILD_ROOT%{_datadir}/%{name}/filters install -pm 755 snespurify/snespurify-qt $RPM_BUILD_ROOT%{_bindir} install -Dpm 755 snesshader/*.shader $RPM_BUILD_ROOT%{_datadir}/%{name}/shaders %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %doc README.Fedora %{_bindir}/bsnes %{_bindir}/snespurify-qt %{_datadir}/pixmaps/bsnes.png %{_datadir}/applications/rpmfusion-bsnes.desktop %files snesfilter %defattr(-,root,root,-) %{_datadir}/%{name}\ %changelog * Sun Nov 21 2010 Julian Sikorski - 0.072-1 - Updated to 0.072 - Dropped gconf patch, added cheats one * Wed Sep 29 2010 Julian Sikorski - 0.070-1 - Updated to 0.070 - Don't change the way menus look - Updated the qt folder path again - Removed the executable suffix * Mon Aug 23 2010 Julian Sikorski - 0.068-1 - Updated to 0.068 - Updated both ppc elf patches - Adapted to new source structure * Sun Aug 01 2010 Julian Sikorski - 0.067-1 - Updated to 0.067 * Sat Jul 03 2010 Julian Sikorski - 0.065-1 - Updated to 0.065 - Updated Source0 to reflect new host (Google Code) * Wed May 19 2010 Julian Sikorski - 0.064-2 - Enabled snesreader unconditionally (#1214). Credit goes to Chris Moeller. * Sat Apr 17 2010 Julian Sikorski - 0.064-1 - Updated to 0.064 - Rediffed the patches - Dropped pixelshaders subpackage since upstream did not ship it * Sun Mar 28 2010 Julian Sikorski - 0.063-1 - Updated to 0.063 - Dropped upstreamed dso patch * Sun Feb 21 2010 Julian Sikorski - 0.060-1 - Updated to 0.060 - Use sed to prevent premature binaries stripping - Included supergameboy, snesfilter, pixelshaders and optionally snesreader - Added patch to explicitly link against libdl * Thu Jan 07 2010 Julian Sikorski - 0.059-1 - Updated to 0.059 - Updated the strip patch - Disabled the better pulseaudio driver on everything below Fedora 12 * Sat Dec 12 2009 Julian Sikorski - 0.058-1 - Updated to 0.058 * Sat Nov 28 2009 Julian Sikorski - 0.057-1 - Updated to 0.057 * Mon Nov 02 2009 Julian Sikorski - 0.055-1 - Updated to 0.055 * Wed Oct 28 2009 Julian Sikorski - 0.054-2 - Fixed the ppc-elf issue properly * Wed Oct 21 2009 Julian Sikorski - 0.054-1 - Updated to 0.054 - Disabled ppc-elf.c until we figure out why it does not build * Mon Oct 19 2009 Julian Sikorski - 0.053-1 - Updated to 0.053 * Tue Sep 29 2009 Julian Sikorski - 0.052-1 - Updated to 0.052 - Given that bsnes is GPL now, the Qt requirement can be unversioned - Cleaned up the make line - Use %%global instead of %%define - Dropped minizip-devel from BuildRequires * Sun Sep 27 2009 Julian Sikorski - 0.051-1 - Updated to 0.051 - Updated the strip patch - Updated the license tag - Dropped the system zlib patch, not needed anymore - Updated the sed optflags line to catch all -O3 occurrences * Sun Aug 29 2009 Julian Sikorski - 0.050-1 - Updated to 0.050 * Mon Aug 24 2009 Julian Sikorski - 0.049-1 - Updated to 0.049 * Tue Jul 14 2009 Julian Sikorski - 0.048-1 - Updated to 0.048 - Updated the Fedora readme * Sun Jun 07 2009 Julian Sikorski - 0.047-1 - Updated to 0.047 - Updated the strip patch - Dropped the line endings fix and updated the patches accordingly - Dropped the no longer required profiler fix * Sun May 10 2009 Julian Sikorski - 0.046-1 - Updated to 0.046 - Dropped libXtst-devel BuildRequires - Updated the strip patch again - Updated the zlib patch again - Updated the optflags fix - Disabled profiling * Mon Apr 20 2009 Julian Sikorski - 0.045-1 - Updated to 0.045 * Tue Mar 31 2009 Julian Sikorski - 0.042-1 - Updated to 0.042 - Use Qt build on all branches, hiro ui is no more - Updated the strip patch - Updated the URL and Source0 addresses * Sun Mar 29 2009 Thorsten Leemhuis - 0.041-2 - rebuild for new F11 features * Sun Mar 15 2009 Julian Sikorski - 0.041-1 - Updated to 0.041 - Re-added documentation * Mon Mar 09 2009 Julian Sikorski - 0.040-1 - Updated to 0.040 - The desktop file now comes with the tarball - Icon is now installed to %%{_datadir}/pixmaps - The Qt ui is only built when it is legal to do so - Updated the strip patch - Fixed the last %%changelog entry * Sun Feb 22 2009 Julian Sikorski - 0.039-2 - Dropped the ExclusiveArch, libco has a C fallback - Use macros consistently * Tue Jan 20 2009 Julian Sikorski - 0.039-1 - Updated to 0.039 * Wed Dec 17 2008 Julian Sikorski - 0.038-1 - Updated to 0.038 - Updated system zlib patch (.h → .hpp) - License and readme are now accessible through the executable - Added pulseaudio-libs-devel to BuildRequires, dropped yasm - Updated README.Fedora (PulseAudio driver) * Fri Dec 5 2008 Julian Sikorski - 0.037a-5 - Explained why system snes_ntsc is not used - Explained why ExclusiveArch is used * Sun Nov 30 2008 Julian Sikorski - 0.037a-4 - Fixed README.Fedora permissions - Added information concerning pulseaudio issues * Sat Nov 29 2008 Julian Sikorski - 0.037a-3 - Keep -fomit-frame-pointer - $(strip) can stay - Re-added system zlib patch * Thu Nov 27 2008 Julian Sikorski - 0.037a-2 - Patched the Makefile not to strip the binaries * Sun Nov 23 2008 Julian Sikorski - 0.037a-1 - Updated to 0.037a - Dropped system zlib patch since bsnes uses zlib modified to support non-ansi filenames - Added libXtst-devel to BuildRequires - s/%%{ix86}/i386 to work around plague problem * Tue Sep 16 2008 Julian Sikorski - 0.036-1 - Updated to 0.036 * Mon Aug 25 2008 Julian Sikorski - 0.035-1 - Updated to 0.035 * Sun Aug 10 2008 Julian Sikorski - 0.033-1 - Updated to 0.033 * Wed May 28 2008 Julian Sikorski - 0.032a-1 - Updated to 0.032a * Sun May 25 2008 Julian Sikorski - 0.032-1 - Updated to 0.032 * Mon Apr 14 2008 Julian Sikorski - 0.031-1 - Updated to 0.031 * Thu Mar 27 2008 Julian Sikorski - 0.030-1 - Updated to 0.030 * Mon Mar 17 2008 Julian Sikorski - 0.029-1 - Updated to 0.029 - Dropped usleep patch - Dropped destdir patch - Updated system zlib patch - Included patch approval * Fri Feb 15 2008 Julian Sikorski - 0.028.01-2 - Patched to fix CPU usage when idle - Patched to use system zlib - Dropped hicolor-icon-theme from Requires * Sun Feb 10 2008 Julian Sikorski - 0.028.01-1 - Updated to 0.028.01 - Updated the Makefile patch - Added freealut-devel and SDL-devel to BuildRequires * Tue Dec 25 2007 Julian Sikorski - 0.027-1 - Updated to 0.027 - Updated the Makefile patch - Switched to yasm for all supported architectures * Sun Nov 18 2007 Julian Sikorski - 0.026-1 - Updated to 0.026 - Dropped icon conversion, PNG is now shipped in the tarball - Icon is now installed to %%{_datadir}/pixmaps - Dropped the icon cache scriptlets - Dropped the wrapper, it is no longer necessary - Added zip/gzip and jma support * Mon Nov 5 2007 Julian Sikorski - 0.025-4 - Fixed permissions and line endings of source files as well - Fixed cart.db permissions, got missing in previous release - Fixed date in %%changelog * Mon Nov 5 2007 Julian Sikorski - 0.025-3 - Updated the scriptlets to be in par with current guidelines - Changed to convert the icon at build time - Use the wrapper to avoid putting cart.db into %%{_bindir} * Sun Nov 4 2007 Julian Sikorski - 0.025-2 - Install cart.db - Use system optflags - Adjusted the License tag * Sun Nov 4 2007 Julian Sikorski - 0.025-1 - Initial RPM release