%global desktop_file_utils_version 0.2.90
%global patched_tarball 1
%if %patched_tarball
%global patch_ext .p
%else
%global patch_ext %{nil}
%endif
%if %{?fedora}%{!?fedora:21} >= 21
%bcond_with font_compat
%else
%bcond_without font_compat
%endif
Summary: High speed arctic racing game
Name: extremetuxracer
Version: 0.6.0
Release: 7%{?dist}
License: GPLv2+
Group: Amusements/Games
URL: http://extremetuxracer.sourceforge.net
# This is really
# http://downloads.sourceforge.net/extremetuxracer/etr-%{version}.tar.xz, but
# with a badly licensed font file removed. Use etr-clean-tarball.sh to
# regenerate from the upstream tarball.
Source0: etr-%{version}%{patch_ext}.tar.xz
Source1: etr-clean-tarball.sh
Source2: etr.appdata.xml
Source3: %{name}.metainfo.xml
Source4: %{name}-papercuts.metainfo.xml
Source5: %{name}-papercuts-outline.metainfo.xml
# Don't reference removed files
Patch0: etr-0.6.0-clean-tarball.patch
# Don't crash on treeless levels (#1183260)
Patch1: etr-0.6.0-notrees-segv.patch
# Recreated files after patch 0
Patch10: etr-0.6.0-1-autofoo.patch.xz
BuildRequires: libGL-devel
BuildRequires: libGLU-devel
BuildRequires: SDL-devel >= 1.2
BuildRequires: SDL_image-devel >= 1.2
BuildRequires: SDL_mixer-devel >= 1.2
BuildRequires: freetype-devel
BuildRequires: pkgconfig
BuildRequires: desktop-file-utils >= %{desktop_file_utils_version}
BuildRequires: fontpackages-devel
BuildRequires: symlinks
Requires: opengl-games-utils
Requires: extremetuxracer-common = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: extremetuxracer-papercuts-fonts = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: extremetuxracer-papercuts-outline-fonts = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: gnu-free-sans-fonts
%description
Extreme Tux Racer is an open-source downhill racing game starring Tux, the
Linux mascot.
%package common
Summary: Common files for Extreme Tux Racer and its fonts
BuildArch: noarch
%description common
This package consists of files used by other %{name} packages.
%package papercuts-fonts
Summary: PaperCuts 2.0 font
BuildArch: noarch
Requires: extremetuxracer-common = %{?epoch:%{epoch}:}%{version}-%{release}
%description papercuts-fonts
This package contains the PaperCuts 2.0 font which is used by Extreme Tux
Racer.
%if %{with font_compat}
%_font_pkg -n papercuts pc_20.ttf PaperCuts20.ttf
%{_datadir}/appdata/%{name}-papercuts.metainfo.xml
%else
%_font_pkg -n papercuts pc_20.ttf
%{_datadir}/appdata/%{name}-papercuts.metainfo.xml
%endif
%package papercuts-outline-fonts
Summary: PaperCuts Outline 2.0 font
BuildArch: noarch
Requires: extremetuxracer-common = %{?epoch:%{epoch}:}%{version}-%{release}
%description papercuts-outline-fonts
This package contains the PaperCuts Outline 2.0 font which is used by Extreme
Tux Racer.
%if %{with font_compat}
%_font_pkg -n papercuts-outline pc_outline.ttf PaperCuts_outline.ttf
%{_datadir}/appdata/%{name}-papercuts-outline.metainfo.xml
%else
%_font_pkg -n papercuts-outline pc_outline.ttf
%{_datadir}/appdata/%{name}-papercuts-outline.metainfo.xml
%endif
%prep
%setup -q -n etr-%{version}%{?patch_ext}
%patch0 -p1 -b .clean-tarball
%patch1 -p1 -b .notrees-segv
%patch10 -p1 -b .autofoo
%build
%configure
make %{?_smp_mflags}
%install
make DESTDIR="%{buildroot}" install
ln -snf opengl-game-wrapper.sh %{buildroot}%{_bindir}/etr-wrapper
desktop-file-edit --set-key=Exec --set-value=etr-wrapper \
%{buildroot}%{_datadir}/applications/etr.desktop
mkdir -p %{buildroot}%{_fontdir}
pushd %{buildroot}%{_datadir}/etr/fonts
rm -f stdbold.ttf stditalic.ttf std.ttf
for i in *.ttf; do
mv "$i" %{buildroot}%{_fontdir}/
ln -s "%{buildroot}%{_fontdir}/$i" "$i"
done
# Trick symlinks into making symlinks relative which are dangling in the
# buildroot
mkdir -p "%{buildroot}%{_fontbasedir}/gnu-free"
for i in FreeSansBold.ttf FreeSansOblique.ttf FreeSans.ttf; do
touch "%{buildroot}%{_fontbasedir}/gnu-free/$i"
done
ln -s "%{buildroot}%{_fontbasedir}/gnu-free/FreeSansBold.ttf" stdbold.ttf
ln -s "%{buildroot}%{_fontbasedir}/gnu-free/FreeSansOblique.ttf" stditalic.ttf
ln -s "%{buildroot}%{_fontbasedir}/gnu-free/FreeSans.ttf" std.ttf
symlinks -c -s .
rm -rf "%{buildroot}%{_fontbasedir}/gnu-free"
popd
%if %{with font_compat}
# compat symlinks for 3rd party users
ln -s pc_20.ttf "%{buildroot}%{_fontdir}/PaperCuts20.ttf"
ln -s pc_outline.ttf "%{buildroot}%{_fontdir}/PaperCuts_outline.ttf"
%endif
# move docs in correct location
mv -f %{buildroot}%{_docdir}/etr %{buildroot}%{_pkgdocdir}
# install appdata file
install -DT -m0644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/etr.appdata.xml
# Add AppStream metadata
install -Dm 0644 -p %{SOURCE3} \
%{buildroot}%{_datadir}/appdata/%{name}.metainfo.xml
install -Dm 0644 -p %{SOURCE4} \
%{buildroot}%{_datadir}/appdata/%{name}-papercuts.metainfo.xml
install -Dm 0644 -p %{SOURCE5} \
%{buildroot}%{_datadir}/appdata/%{name}-papercuts-outline.metainfo.xml
%clean
rm -rf %{buildroot}
%files
%doc %{_pkgdocdir}/*
%{_bindir}/etr
%{_bindir}/etr-wrapper
%{_datadir}/etr
%{_datadir}/applications/etr.desktop
%{_datadir}/pixmaps/etr.png
%{_datadir}/appdata
%files common
%doc AUTHORS COPYING ChangeLog
%{_datadir}/appdata/%{name}.metainfo.xml
%changelog
* Tue May 12 2015 Nils Philippsen <nils@redhat.com> - 0.6.0-7
- don't crash in treeless levels (#1183260, thanks to Jakub Vaněk for the
original patch)
* Tue Nov 18 2014 Parag Nemade <pnemade AT redhat DOT com> - 0.6.0-6
- Add metainfo file to show this font in gnome-software
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Dec 12 2013 Nils Philippsen <nils@redhat.com> - 0.6.0-3
- phase out font compat symlinks from Fedora 21 on
* Wed Dec 11 2013 Nils Philippsen <nils@redhat.com> - 0.6.0-2
- install appdata file (#1036330)
* Wed Dec 11 2013 Nils Philippsen <nils@redhat.com> - 0.6.0-1
- version 0.6.0
- use patched tarball cleaned from dubiously licensed font
- drop obsolete patches, build requirements and age-old compat cruft
- use %%global instead of %%define
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Mar 08 2013 Jon Ciesla <limburgher@gmail.com> - 0.4-12
- Drop desktop vendor tag.
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-9
- Rebuilt for c++ ABI breakage
* Tue Jan 10 2012 Nils Philippsen <nils@redhat.com> - 0.4-8
- rebuild for gcc 4.7
* Wed Nov 09 2011 Nils Philippsen <nils@redhat.com> - 0.4-7
- comment patches
- patch and rebuild for libpng-1.5
- fix use of memset()
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Nov 15 2010 Nils Philippsen <nils@redhat.com> 0.4-5
- don't call null members (#652913)
* Mon Nov 15 2010 Nils Philippsen <nils@redhat.com> 0.4-4
- rebuild against new toolchain
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Tue Feb 24 2009 Nils Philippsen <nils@redhat.com> 0.4-2
- package fonts separately to comply with font packaging guidelines (#477383)
* Wed Mar 05 2008 Nils Philippsen <nphilipp@redhat.com> 0.4-1
- Package Review (#436126):
- remove BR: sed, zlib-devel
- add BR: pkgconfig
- use icon name without extension in desktop file
* Wed Mar 05 2008 manuel wolfshant <wolfy@fedoraproject.org>
- add --with-tcl=... to %%configure line
* Wed Mar 05 2008 Nils Philippsen <nphilipp@redhat.com> 0.4-0
- version 0.4
- initial packaging based on ppracer