File teeworlds.spec of Package teeworlds

#
# spec file for package teeworlds
#
# Copyright (c) 2018 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.5
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
Patch0:         0001-use-system-pnglite.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-FEATURE-UPSTREAM https://github.com/teeworlds/teeworlds/pull/1469
Patch5:         desktop.patch
Patch99:        ghost.diff
BuildRequires:  ImageMagick
BuildRequires:  cmake >= 2.8
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
%patch5 -p1
%patch99

# we use system libs instead
rm -rf src/engine/external/*[!md5]

# Fix line-endings
dos2unix license.txt readme.txt

%build
%cmake
make %{?_smp_mflags}

%install
mkdir -p %{buildroot}%{_datadir}
cp -a data %{buildroot}%{_datadir}/%{name}
install -D -m 0755 build/%{name} %{buildroot}%{_bindir}/%{name}
install -D -m 0755 build/%{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
openSUSE Build Service is sponsored by