File bzflag.spec of Package bzflag

# spec file for package bzflag (Version 2.0.16)
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           bzflag
BuildRequires:  bc curl-devel fdupes freeglut-devel gcc-c++ libSDL-devel libcares-devel libdrm-devel ncurses-devel update-desktop-files
License:        GPLv2+
Group:          Amusements/Games/3D/Shoot
Version:        2.0.16
Release:        1
Summary:        3D Networked Multiplayer Tank Battle Game
Source:         %{name}-%{version}.tar.bz2
Source2:        rc.bzflagserver
Source3:        %{name}-maps.tar.bz2
Source4:        sysconfig.bzflagserver-bzflag
Source5:        %{name}.desktop
Source6:        %{name}.png
Patch:          %{name}-1.10.4-ncursespollution.patch
Patch1:         %{name}-decl.patch
Patch3:         %{name}-char-signedness.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
PreReq:         %insserv_prereq %fillup_prereq

BZFlag is a 3D multiplayer tank battle game that allows users to play
against each other in a networked environment. Because it makes heavy
use of 3D graphics (OpenGL), a fast CPU or a supported 3D video card is
heavily recommended.

Find server maps in /usr/share/bzflag/maps.

    Chris Schoeneman <>
    Tim Riker <>

%setup -q -a 3
%patch -p1
%patch3 -p1
cp %SOURCE2 .

autoreconf -fiv
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
export CXXFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure \
make %{?jobs:-j %jobs} all

%stop_on_removal bzflagserver

%fillup_only -an bzflagserver

%restart_on_update bzflagserver

#Init script for the BZFlag server
install -D -m 755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/init.d/bzflagserver
mkdir -p $RPM_BUILD_ROOT%{_sbindir}
ln -s %{_sysconfdir}/init.d/bzflagserver $RPM_BUILD_ROOT%{_sbindir}/rcbzflagserver
make MKDIR_P="mkdir -p --" DESTDIR=$RPM_BUILD_ROOT install
install -D -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_localstatedir}/adm/fillup-templates/sysconfig.bzflagserver-bzflag
mkdir -p $RPM_BUILD_ROOT%{_datadir}/bzflag/maps
install -m 644 maps/*bzmap $RPM_BUILD_ROOT%{_datadir}/bzflag/maps
install -D -m 644 %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/pixmaps/bzflag.png
%suse_update_desktop_file -i %{name}
%fdupes %buildroot


%defattr(-, root, root)
%doc RELNOTES TODO README.Linux misc/bzfs.conf
%dir %{_datadir}/%{name}