diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3de2608 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +abuse-0.7.1.tar.gz diff --git a/abuse.spec b/abuse.spec new file mode 100644 index 0000000..cd9ab92 --- /dev/null +++ b/abuse.spec @@ -0,0 +1,96 @@ +Name: abuse +Version: 0.7.1 +Release: 3%{?dist} +Summary: The classic Crack-Dot-Com game +Group: Amusements/Games +License: GPLv2+ +URL: http://abuse.zoy.org/ +# no URL, as downloading requires a parameter, this file is: +# http://abuse.zoy.org/attachment/wiki/Downloads/abuse-0.7.1.tar.gz?format=raw +Source0: %{name}-%{version}.tar.gz +Patch1: abuse_sdl-0.7.0-fixes.patch +Patch2: abuse_sdl-0.7.0-exit-intro-crash.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: SDL-devel alsa-lib-devel libGLU-devel +# abuse-data >= 0.7.1 as the included desktop files needs to be updated for the +# fact thar out binary was renamed from abuse.sdl to just abuse +Requires: abuse-data >= 0.7.1, hicolor-icon-theme + +%description +This is the SDL version of Abuse, the classic Crack-Dot-Com game. It can run in +a window or fullscreen and it has stereo sound with sound panning. + + +%prep +%setup -q +%patch1 -p1 -z .fix +%patch2 -p1 -z .intro + + +%build +%configure +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps +mv $RPM_BUILD_ROOT%{_datadir}/games/%{name}/%{name}.png \ + $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/32x32/apps +rm -fr $RPM_BUILD_ROOT%{_datadir}/games + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ]; then + %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + + +%files +%defattr(-,root,root,-) +%doc AUTHORS README TODO COPYING +%{_bindir}/%{name} +%{_mandir}/man6/%{name}.6.gz +%{_datadir}/icons/hicolor/32x32/apps/%{name}.png + + +%changelog +* Mon Feb 23 2009 Fedora Release Engineering - 0.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Sun Sep 7 2008 Hans de Goede 0.7.1-2 +- Fix patch fuzz build failure + +* Mon Mar 3 2008 Hans de Goede 0.7.1-1 +- Upstream is alive again, new upstream release 0.7.1, yeah! + +* Tue Feb 19 2008 Fedora Release Engineering - 0.7.0-6 +- Autorebuild for GCC 4.3 + +* Thu Aug 2 2007 Hans de Goede 0.7.0-5 +- Update License tag for new Licensing Guidelines compliance + +* Sun May 20 2007 Hans de Goede 0.7.0-4 +- Fix broken URL field (bz 240592) + +* Mon Aug 28 2006 Hans de Goede 0.7.0-3 +- FE6 Rebuild + +* Thu Aug 24 2006 Hans de Goede 0.7.0-2 +- Fix abuse from crashing on exit when you try to close the window while the + intro is still playing + +* Wed Aug 16 2006 Hans de Goede 0.7.0-1 +- Initial FE submission diff --git a/abuse_sdl-0.7.0-exit-intro-crash.patch b/abuse_sdl-0.7.0-exit-intro-crash.patch new file mode 100644 index 0000000..7c7e44a --- /dev/null +++ b/abuse_sdl-0.7.0-exit-intro-crash.patch @@ -0,0 +1,20 @@ +--- abuse_sdl-0.7.0/src/game.cpp.shit 2006-08-24 16:39:45.000000000 +0200 ++++ abuse_sdl-0.7.0/src/game.cpp 2006-08-24 16:43:22.000000000 +0200 +@@ -1269,9 +1269,14 @@ + if( DEFINEDP( logo_snd ) && ( sound_avail & SFX_INITIALIZED ) ) + cash.sfx( lnumber_value( logo_snd ) )->play( sfx_volume ); + +- image blank( 2, 2 ); +- blank.clear(); +- eh->set_mouse_shape( blank.copy(), 0, 0 ); // don't show mouse ++ /* This must be a dynamic allocated image because if it ++ is not and the window gets closed during do_title, then ++ exit() will try to delete (through the desctructor of ++ image_list in image.cpp) the image on the stack -> boom. */ ++ image *blank = new image( 2, 2 ); ++ blank->clear(); ++ eh->set_mouse_shape( blank->copy(), 0, 0 ); // don't show mouse ++ delete blank; + fade_in( cash.img( cdc_logo ), 32 ); + + milli_wait( 900 ); diff --git a/abuse_sdl-0.7.0-fixes.patch b/abuse_sdl-0.7.0-fixes.patch new file mode 100644 index 0000000..3f3cdb6 --- /dev/null +++ b/abuse_sdl-0.7.0-fixes.patch @@ -0,0 +1,18 @@ +diff -up abuse-0.7.1/src/stack.hpp.foo abuse-0.7.1/src/stack.hpp +--- abuse-0.7.1/src/stack.hpp.foo 2008-09-07 15:14:12.000000000 +0200 ++++ abuse-0.7.1/src/stack.hpp 2008-09-07 15:14:18.000000000 +0200 +@@ -25,8 +25,13 @@ template class grow_stack + long son; + long smax; + ++ /* the max_size parameter is the number of bytes of the pointerstack ++ instead of the number of entries which it ofcourse should have been. ++ This breaks on 64 bit since the caller assumes 4 bytes per pointer and ++ thus on 64 bit allocates not enough memory. Instead of fixing all callers ++ we work around this by multiplying maxsize by 2 on 64 bit. */ + grow_stack(int max_size) { +- smax=max_size; ++ smax=max_size/sizeof(int32_t); + son=0; + sdata=(T **)jmalloc(sizeof(T *)*smax,"pointer stack"); + } diff --git a/dead.package b/dead.package deleted file mode 100644 index 9ed503f..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -abuse's data contains the claudio addon, which turns out to contain a no-commercial use clause, and removing the addon completely break abuse, see: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=648272 diff --git a/sources b/sources new file mode 100644 index 0000000..411ed3c --- /dev/null +++ b/sources @@ -0,0 +1 @@ +439b607f291560a8f9698a2f09cffa63 abuse-0.7.1.tar.gz