File armagetron.spec of Package armagetron

#
# spec file for package armagetron (Version 0.2.7.1)
#
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild

Name:           armagetron
BuildRequires:  SDL_image-devel SDL_mixer-devel kdelibs3-devel
Summary:        OpenGL Game Similar to the Film Tron
Version:        0.2.7.1
Release:        132
License:        GPL v2 or later
Group:          Amusements/Games/3D/Race
Source:         %{name}ad-%{version}.tar.bz2
Source1:        armagetron_add.tar.gz
Source2:        %name.png
Patch1:         armagetron_add.diff
Patch3:         armagetron-64-bit.diff
Patch6:         armagetron-codecleanup.diff
Patch7:         armagetron-autoreconf.diff
Patch8:         armagetron-missing_includes.patch
Url:            http://armagetronad.sourceforge.net
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         sh-utils fileutils

%description
In this game, race against other players on a permanently moving
lightcycle (virtual motorbike), which leaves a wall as a trace. The
lightcycles can make 90 degree turns and accelerate when driven close
to walls. The game is over if you hit a wall. The goal of the game is
to try to make your enemies hit the walls, while you avoid doing the
same. Unlike glTron, this program does not require 3D hardware support.



%prep
%setup -q -a 1 -n armagetronad-%version
find src -name '*.[oa]' | xargs --no-run-if-empty rm
# outdated, does not give any useful configuration:
rm armagetron_add/hardware.ArmageTronrc
%patch1
%patch3
%patch6
%patch7
%patch8
rm -f acconfig.h acinclude.m4
%define _prefix		/usr
%define _bindir		/usr/games
%define _datadir	%_prefix/share/games/%{name}ad
%define applnkdir	/opt/kde3/share/applnk/Games
%define mandir		%_mandir/man6

%build
autoreconf -fi
# Not yet there ...
#export CXXFLAGS="%optflags -fomit-frame-pointer -ffast-math -fexpensive-optimizations -W -Wall"
export CXXFLAGS="%optflags -fomit-frame-pointer -ffast-math -fexpensive-optimizations -W -Wall -fno-strict-aliasing"
./configure --enable-music \
            --prefix=%_prefix/share \
            --bindir=%_bindir \
            --datadir=%_datadir \
            --mandir=%_mandir \
            --infodir=%_infodir \
            --libdir=%{_libdir}
sed -e s%@DATA_DIR@%\"%_datadir\"%g -e 's%@CONFIG_DIR@%\"%_datadir/config\"%g' config.h > config.h.new && mv config.h.new config.h
make %{?jobs:-j%jobs}

%install
for dir in %{_bindir} %{_datadir} %{applnkdir} %{_mandir} %{_prefix}/share/applications
do
	mkdir -p %{buildroot}${dir}
done
make install DESTDIR=%buildroot
install armagetron_add/*.desktop       %{buildroot}%{_prefix}/share/applications/
mkdir -p $RPM_BUILD_ROOT%{_prefix}/share/pixmaps/
install -m 644 $RPM_SOURCE_DIR/%name.png %{buildroot}%{_prefix}/share/pixmaps
%suse_update_desktop_file Armagetron Game ArcadeGame
rm -f %buildroot/usr/share/games/armagetronad/bin/uninstall
rm -fr %buildroot/etc/armagetronad/.orig
rm -fr %buildroot/usr/share/games/armagetronad/doc
rm %buildroot/usr/share/games/armagetronad/COPYING.txt
mv %buildroot/usr/share/bin/* %{buildroot}%{_bindir}
rmdir %buildroot/usr/share/bin
mv %buildroot/usr/share/games/armagetronad/bin/* %{buildroot}%{_bindir}
rmdir %buildroot/usr/share/games/armagetronad/bin

%files
%defattr(-,root,root)
%doc README bindist/doc/* armagetron_add/README.SuSE
/etc/armagetronad
%{_bindir}/*
%_datadir
%attr(644,root,root) /usr/share/applications/*
/usr/share/pixmaps/%name.png

%post
if [ ! -e usr/share/games/armagetron/music/fire.xm ]; then
    if [ -r usr/share/games/gltron/music/song_revenge_of_cats.it ]; then
	cp -a usr/share/games/gltron/music/song_revenge_of_cats.it \
		usr/share/games/armagetron/music/fire.xm
    fi
fi

%clean
#rm -rf %{buildroot}
%changelog
* Fri Oct 26 2007 - pth@suse.de
- Add missing includes.
* Mon Jun 04 2007 - pth@suse.de
- Move binary files to their correct place.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Thu Dec 01 2005 - pth@suse.de
- Use -fno-strict-aliasing for now as the source is too convoluted.
- Fix uninitialized usage.
- Minor code cleanups
* Tue May 24 2005 - yxu@suse.de
- fixed for GCC4
* Thu Apr 14 2005 - pth@suse.de
- Update to 0.2.7.1 which obsoletes most patches.
- Modify the autotools configury so that autoreconf can be used.
* Tue Feb 15 2005 - lnussel@suse.de
- fixes for DoS bugs found by Luigi Auriemma (#50850)
* Tue Jan 25 2005 - uli@suse.de
- update -> 0.2.7.0 ("A. Advanced")
* Sat Jan 10 2004 - adrian@suse.de
- build as user
* Sat Aug 30 2003 - sndirsch@suse.de
- added desktop icon
* Mon Aug 25 2003 - ro@suse.de
- try to fix compilation
* Mon Aug 11 2003 - sndirsch@suse.de
- improved desktop category
* Sun Aug 10 2003 - sndirsch@suse.de
- install (adjusted) desktop file according to the new policy
* Fri Jun 20 2003 - ro@suse.de
- added kdelibs3 to neededforbuild
- added directories to filelist
* Wed Jan 29 2003 - ro@suse.de
- fix build with gcc-3.3
* Wed Sep 11 2002 - bk@suse.de
- use 20 as initial AI IQ like in software.Armagetronrc, it's easyer
  to begin and they adapt to the player anyway if he is good.
* Wed Sep 11 2002 - bk@suse.de
- fix software.Armagetronrc and remove oudated hardware.ArmageTronrc
* Tue Sep 10 2002 - bk@suse.de
- fix mode arg of the mkdir for creating the conf dir(bug #18192)
- fix broken installation of cfg files for arrow keys to %%datadir
- improve game fun: limited wall length, four players by default
  and walls that burn down slowly after a half second delay.. :-)
* Tue Aug 20 2002 - mmj@suse.de
- Correct PreReq
* Wed Jul 31 2002 - sf@suse.de
-  added 64-bit fixes
* Tue Jul 23 2002 - bk@suse.de
- updated to 0.2.0.pre_020721, pushes performance and fun by factor
* Mon Mar 18 2002 - bk@suse.de
- fix menu path to binary in Armagetron.desktop(fix for bug 14987)
- allow menu wrap also in default config(was already in hw-cfg)
* Fri Feb 01 2002 - ro@suse.de
- changed neededforbuild <libpng> to <libpng-devel-packages>
* Fri Jan 11 2002 - bk@suse.de
- polished the default config, hardware.ArmageTronrc and README.SuSE
- software.ArmageTronrc is obsoleted
* Fri Jan 11 2002 - ro@suse.de
- no subdirs in /usr/games
* Fri Nov 16 2001 - bk@suse.de
- remove src/engine/test from tarball, saves 150k compressed size
- enable WRAP_MENU in the default Armatetronrc settings files
* Thu Nov 08 2001 - ro@suse.de
- use mesa-devel-packages in neededforbuild
* Mon Sep 03 2001 - schwab@suse.de
- Fix to compile on ia64.
* Wed Aug 08 2001 - ro@suse.de
- changed neededforbuild <kdelibs kdelibs-devel> to <kdelibs-artsd>
* Wed Aug 08 2001 - ro@suse.de
- changed neededforbuild <sdl> to <SDL>
- changed neededforbuild <sdl-devel> to <SDL-devel>
* Thu Jul 19 2001 - bk@suse.de
- update to 0.1.4.9 which includes some fixes and merges patches
* Wed Jul 04 2001 - ro@suse.de
- added kdelibs for artsd
* Wed May 09 2001 - mfabian@suse.de
- bzip2 sources
* Mon Mar 26 2001 - ro@suse.de
- changed neededforbuild <sdl> to <sdl sdl-devel>
* Thu Mar 15 2001 - ro@suse.de
- changed neededforbuild <mesaglu> to <xf86glu>
- changed neededforbuild <mesaglu-devel> to <xf86glu-devel>
* Thu Mar 08 2001 - uli@suse.de
- added xf86, mesaglu* to neededforbuild
* Wed Mar 07 2001 - ro@suse.de
- changed neededforbuild <mesadev> to <mesa-devel>
* Tue Mar 06 2001 - bk@suse.de
- fix installation paths to for FHS compliance, use marcos and wildcards
- improved default.cfg(now 3 AI players and better screenmode, cool!)
- added patch to make manual chdir to datadir obsolete
- added dedicated armagetron-server program
- added man pages for armagetron and armagetron-server
- added README.SuSE
- added config examples (hardware.ArmageTronrc, software.ArmageTronrc)
- packaed all additional source files into armagetron_add.tar.bz2
- removed unneccesary glib and glib-devel from neededforbuild
* Tue Mar 06 2001 - bk@suse.de
- initial version