File teeworlds.spec of Package teeworlds
#
# spec file for package teeworlds
#
# Copyright (c) 2016 SUSE LINUX 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 http://bugs.opensuse.org/
#
Name: teeworlds
Version: 0.6.4
Release: 0
Summary: A retro multiplayer jump-and-swing shooter
License: Zlib and CC-BY-SA-3.0
Group: Amusements/Games/Action/Arcade
Url: http://www.teeworlds.com
Source: https://downloads.teeworlds.com/%{name}-%{version}-src.tar.gz
# PATCH-FIX-OPENSUSE Allows building with optflags and system libraries.
Patch0: teeworlds-0.6.4-extlibs-optflags.patch
# PATCH-FIX-OPENSUSE teeworlds-0.6.0-datadir.patch -- Set the game asset dir to /usr/share not relative to the binary.
Patch1: %{name}-0.6.0-datadir.patch
# PATCH-FIX-UPSTREAM build with latest bam 0.5
Patch3: bam-0.5.patch
# PATCH-FEATURE-UPSTREAM https://github.com/teeworlds/teeworlds/pull/1469
Patch5: desktop.patch
BuildRequires: ImageMagick
BuildRequires: bam = 0.5.0
BuildRequires: dejavu-fonts
BuildRequires: dos2unix
BuildRequires: fdupes
BuildRequires: fontpackages-devel
BuildRequires: gcc-c++
BuildRequires: hicolor-icon-theme
BuildRequires: pnglite-devel
BuildRequires: python
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(alsa)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(glu)
BuildRequires: pkgconfig(sdl)
BuildRequires: pkgconfig(wavpack)
BuildRequires: pkgconfig(zlib)
Requires: dejavu-fonts
Provides: teewars = %{version}
Obsoletes: teewars < 0.4.0
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Teeworlds is an online multiplayer game. Battles can be played with
up to 16 players in a variety of game modes, including Team
Deathmatch and Capture The Flag. Own maps can be designed.
%prep
%setup -q -n %{name}-%{version}-src
%patch0 -p1
%patch1
%patch3 -p1
%patch5 -p1
# we use system libs instead
rm -rf src/engine/external
# Fix line-endings
dos2unix license.txt readme.txt
%build
CFLAGS="%{optflags} -std=c++98 -fPIC" bam -v release
%install
mkdir -p %{buildroot}%{_datadir}
cp -a data %{buildroot}%{_datadir}/%{name}
install -D -m 0755 %{name} %{buildroot}%{_bindir}/%{name}
install -D -m 0755 %{name}_srv %{buildroot}%{_bindir}/%{name}_srv
install -D -m 0644 other/teeworlds.desktop %{buildroot}%{_datadir}/applications/%{name}.desktop
index=0
for res in 256 128 48 32 24 16; do
mkdir -p "%{buildroot}%{_datadir}/icons/hicolor/$res"x"$res/apps"
convert -strip "other/icons/Teeworlds.ico[$index]" "%{buildroot}%{_datadir}/icons/hicolor/$res"x"$res/apps/%{name}.png"
index=$((index+1))
done
%suse_update_desktop_file %{name}
install -D -m 0644 other/teeworlds.appdata.xml %{buildroot}%{_datadir}/appdata/teeworlds.appdata.xml
# Unbundle DejaVu font
rm -rf %{buildroot}%{_datadir}/%{name}/fonts/*
ln -s %{_ttfontsdir}/DejaVuSans.ttf %{buildroot}%{_datadir}/%{name}/fonts/DejaVuSans.ttf
%fdupes %{buildroot}%{_datadir}
%post
%icon_theme_cache_post
%postun
%icon_theme_cache_postun
%files
%defattr(-,root,root)
%doc license.txt readme.txt
%{_bindir}/%{name}*
%{_datadir}/%{name}/
%{_datadir}/applications/%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%dir %{_datadir}/appdata/
%{_datadir}/appdata/teeworlds.appdata.xml
%changelog