File edgar.spec of Package edgar
%define	myrelease		2
%define mybuild			1
%define _rel			%{myrelease}.%{mybuild}
# define the package groups. If they all followed the same naming convention,
# these would be the same. They don't, and so they aren't :(
#
%define	suse_group		Games/Arcade
%define	mandriva_group		Games/Arcade
%define	fedora_group		Games/Arcade
# defaults
#
%define	group			Games/Arcade
%define	rel			%{_rel}
%define	my_suse			0
%define	my_mandriva		0
%define	my_fedora		0
%define	my_centos		0
%if 0%{?suse_version:1}%{?sles_version:1}
%define	my_suse			1
%endif
# if present, use %distversion to find out which Mandriva version is being built
#
%if 0%{?distversion:1}
%if 0%{?!mandriva_version:1}
%define	mandriva_version	%(echo $[%{distversion}/10])
%endif
%endif
%if 0%{?mandriva_version:1}
%define	my_mandriva		1
%define my_vendor		mandriva
%endif
# if present, decode %dist to find out which OS package is being built on
#
%if 0%{?dist:1}
# Centos or Fedora
#
%define	my_which_os		%(i=%{dist} ; if [ "${i::3}" == ".fc" ] ; then echo "1" ; else echo "0" ; fi )
%if %{my_which_os}
%if 0%{?!fedora_version:1}
%define fedora_version		%(i=%{dist} ; echo "${i:3}" )
%endif
%else
%if 0%{?!centos_version:1}
%define centos_version		%(i=%{dist} ; echo "${i:3}00" )
%endif
%endif
%endif
%if 0%{?fedora_version:1}
%define	my_fedora		1
%define my_vendor		fedora
%endif
%if 0%{?centos_version:1}
%define	my_centos		1
%define my_vendor		centos
%endif
%if %{my_suse}
%if %{suse_version}
%define	rel			%{myrelease}.suse%(echo $[%suse_version/10]).%{mybuild}
%else
%define	rel			%{myrelease}.sles%{sles_version}.%{mybuild}
%endif
%define	group			%{suse_group}
%endif
# building on a Mandriva/Mandrake Linux system.
#
# this should create a release that conforms to the Mandriva naming conventions.
#
%if %{my_mandriva}
%define rel			%{myrelease}.mdv%{mandriva_version}.%{mybuild}
%define group			%{mandriva_group}
%endif
# building on a Fedora Core Linux system.
#
# this should create a release that conforms to the Fedora naming conventions.
#
%if %{my_fedora}
%if 0%{?!fedora_version:1}
%define	fedora_version		%(i="%dist" ; echo "${i:3}")
%endif
%if 0%{?!dist:1}
%define	dist			.fc%{fedora_version}
%endif
%define	rel			%{myrelease}%{dist}.%{mybuild}
%define	group			%{fedora_group}
%endif
# building on a Centos Linux system.
#
# this should create a release that conforms to the Centos naming conventions.
#
%if %{my_centos}
%if 0%{?!centos_version:1}
%define	centos_version		%(i="%dist" ; echo "${i:3}")
%endif
%if 0%{?!dist:1}
%define	dist			.el%{centos_version}
%endif
%define	rel			%{myrelease}%{dist}.%{mybuild}
%define	group			%{fedora_group}
%endif
%if 0%{?!_icondir:1}
%define	_icondir		%{_datadir}/icons/hicolor
%endif
%if 0%{?!_gamesbindir:1}
%define _gamesbindir		%{_prefix}/games/
%endif
%if 0%{?!_gamesdatadir:1}
%define _gamesdatadir		%{_datadir}/games/
%endif
%if %{my_fedora}
BuildRequires:			pkgconfig
BuildRequires:			SDL-devel	>= 1.2.4
BuildRequires:			SDL_image-devel	>= 1.2.2
BuildRequires:			SDL_mixer-devel	>= 1.2.4
BuildRequires:			SDL_ttf-devel	>= 1.2
BuildRequires:			SDL_net-devel	>= 1.2
%endif
%if %{my_mandriva}
BuildRequires:			pkgconfig
%ifarch %ix86
BuildRequires:			libSDL-devel		>= 1.2.4
BuildRequires:			libSDL_image-devel	>= 1.2.2
BuildRequires:			libSDL_mixer-devel	>= 1.2.4
BuildRequires:			libSDL_ttf-devel	>= 1.2
BuildRequires:			libSDL_net-devel	>= 1.2
%else
BuildRequires:			lib64SDL-devel		>= 1.2.4
BuildRequires:			lib64SDL_image-devel	>= 1.2.2
BuildRequires:			lib64SDL_mixer-devel	>= 1.2.4
BuildRequires:			lib64SDL_ttf-devel	>= 1.2
BuildRequires:			lib64SDL_net-devel	>= 1.2
%endif
%endif
%if %{my_suse}
BuildRequires:			pkg-config
BuildRequires:			update-desktop-files
BuildRequires:			SDL-devel	>= 1.2.4
BuildRequires:			SDL_image-devel	>= 1.2.2
BuildRequires:			SDL_mixer-devel	>= 1.2.4
BuildRequires:			SDL_ttf-devel	>= 1.2
BuildRequires:			SDL_net-devel	>= 1.2
%endif
# Now for the meat of the spec file
#
Name:			edgar
Version:		0.77
Summary:		2D Platform Game
License:		GPLv2
URL:			http://www.parallelrealities.co.uk/projects/edgar.php
Group:			%{group}
Release:		%{rel}
Source0:		%{name}-%{version}-1.tar.gz
Source1:		%{name}-icons.tar
BuildRoot:		%{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires:		desktop-file-utils
#Requires:		hicolor-icon-theme
BuildRequires:		hicolor-icon-theme
Patch0:			edgar-0.59_makefile.diff
%description
The Legend of Edgar. When his father fails to return home after venturing
out one stormy night, Edgar sets off on a quest to rescue him.
In The Legend of Edgar, you take on the role of Edgar as he ventures across
the world, battling fearsome creatures and solving puzzles whilst trying to
find and rescue his father.
%prep
%setup -q
%setup -q -a 1
%ifarch x86_64
%endif
%patch0
%build
%{__make} %{?jobs:-j%jobs} VERSION=%{version} RELEASE=%{myrelease}
%install
# pack up the datafiles
#
./pak data gfx music sound font %{name}.pak
install -D -m 755 %{name} %{buildroot}%{_gamesbindir}/%{name}
install -D -m 644 %{name}.pak %{buildroot}%{_gamesdatadir}/%{name}/%{name}.pak
for i in 16 32 48 64
do
	mkdir -p %{buildroot}%{_icondir}/${i}x${i}/apps
	cp icons/%{name}-${i}.png %{buildroot}%{_icondir}/${i}x${i}/apps/%{name}.png
done
# no translations as yet, so this doesn't really do anything yet
#
#pushd locale
#for f in *.po
#do
#	if [ "${f}" == "*.po" ]
#	then
#		break
#	fi
#	lang=$(echo ${f} | sed -e 's/\.po$//')
#	mkdir -p %{buildroot}%{_datadir}/locale/${lang}/LC_MESSAGES/
#	install -m 644 ${f} %{buildroot}%{_datadir}/locale/${lang}/LC_MESSAGES/%{name}.po
#done
#popd
mkdir -p %{buildroot}%{_datadir}/applications
cat <<_EOF_ >icons/%{name}.desktop
[Desktop Entry]
Name=The Legend of Edgar
Comment=The Legend of Edgar
Type=Application
Exec=edgar
Icon=edgar
Categories=Game;ArcadeGame;
Terminal=false
_EOF_
%if %{my_suse}
install -D -m644 icons/%{name}.desktop %{buildroot}/%{_datadir}/applications/%{name}.desktop
%suse_update_desktop_file -i %{name}
%endif
%if %{my_fedora}%{my_centos}%{my_mandriva}
install -m644 icons/%{name}.desktop %{buildroot}%{_datadir}/applications/%{my_vendor}-%{name}.desktop
desktop-file-install                                    \
 --delete-original                                      \
 --vendor %{my_vendor}                                  \
 --dir %{buildroot}%{_datadir}/applications             \
%if %{my_fedora}
 --add-category X-Fedora                                \
%endif
 --add-category Game                                    \
 --add-category ArcadeGame                              \
 %{buildroot}/%{_datadir}/applications/%{my_vendor}-%{name}.desktop
%endif
%post
%if %{my_mandriva}
%update_menus
%endif
%postun
%if %{my_mandriva}
%clean_menus
%endif
%files
%defattr(-,root,root)
%{_datadir}/applications/*%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.*
%dir %{_gamesdatadir}/%{name}
%doc doc/*
%attr(-,root,games) %{_gamesbindir}/%{name}
%attr(-,root,games) %{_gamesdatadir}/%{name}/%{name}.pak
#%{_datadir}/locale/*/LC_MESSAGES/%{name}.po
%clean
%{__rm} -rf %{buildroot}
%{__rm} -rf %{_builddir}/%{name}-%{version}-%{release}-buildroot
%changelog
* Wed May 19 2010 David Bolt <davjam@davjam.org> 0.56
- Updated to version 0.56
-
* Wed Mar 10 2010 David Bolt <davjam@davjam.org> 0.51
- Updated to version 0.51
-
* Tue Dec  1 2009 David Bolt <davjam@davjam.org> 0.41
- Updated to version 0.41
-
* Thu Oct 15 2009 David Bolt <davjam@davjam.org> 0.33
- Updated to version 0.33
-
* Sat Aug 22 2009 David Bolt <davjam@davjam.org> 0.25
- Updated to version 0.25
-
* Wed Jul 22 2009 David Bolt <davjam@davjam.org> 0.20
- Updated to version 0.20
- Fixes most 64bit issues
-
* Wed Jun 24 2009 David Bolt <davjam@davjam.org> 0.11
- First version for openSUSE