%define dedicated 0 %define binname openttd %define srcver 1.2.0 %if %{dedicated} Name: %{binname}-dedicated %else Name: %{binname} %endif Version: %{srcver} Release: 1%{?dist} Group: Amusements/Games/Strategy/Other License: GPLv2 URL: http://www.openttd.org Summary: An open source clone of Chris Sawyer's Transport Tycoon Deluxe Source: openttd%{?branch:-%{branch}}-%{srcver}-source.tar.bz2 # the main package works with the exact same data package version only Requires: %{binname}-data = %{version} BuildRequires: gcc-c++ BuildRequires: libpng-devel BuildRequires: zlib-devel %if 0%{?mdkversion} BuildRequires: liblzo-devel BuildRequires: liblzma-devel %else BuildRequires: lzo-devel BuildRequires: xz-devel %endif #needed by libdrm %if 0%{?rhel_version} >= 600 BuildRequires: kernel %endif # for lzma detection %if 0%{?suse_version} BuildRequires: pkg-config %endif # Desktop specific tags, not needed for dedicated %if !%{dedicated} BuildRequires: fontconfig-devel BuildRequires: SDL-devel BuildRequires: grfcodec # vendor specific dependencies %if !0%{?rhel_version} BuildRequires: libicu-devel %endif %if 0%{?rhel_version} || 0%{?fedora} BuildRequires: freetype-devel %endif %if 0%{?suse_version} || 0%{?mdkversion} BuildRequires: freetype2-devel %endif %if 0%{?suse_version} BuildRequires: update-desktop-files %endif %endif %if %{dedicated} Conflicts: %{binname} %{binname}-gui %else Provides: %{binname}-gui Conflicts: %{binname}-dedicated Requires: openttd-opensfx # recommends works for suse (not sles9) and mandriva, only %if 0%{?suse_version} || 0%{?mdkversion} # require timidity is part of openmsx Recommends: openttd-openmsx %endif %endif # Recommends would fit better but not well supported... Requires: openttd-opengfx >= 0.3.2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot %description OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe" with lots of new features and enhancements. To play the game you need either the original data from the game or install the recommend subackages OpenGFX for free graphics, OpenSFX for free sounds and OpenMSX for free music. OpenTTD is licensed under the GNU General Public License version 2.0. For more information, see the file 'COPYING' included with every release and source download of the game. # the subpackage data needs only to build once, the dedicated version # can reuse the data package of the gui package %if !%{dedicated} %package data Summary: Data package for OpenTTD Group: Amusements/Games/Strategy/Other %if 0%{?suse_version} >= 1120 || 0%{?fedora} || 0%{?mdkversion} BuildArch: noarch %endif BuildRequires: grfcodec %description data OpenTTD is a reimplementation of the Microprose game "Transport Tycoon Deluxe" with lots of new features and enhancements. To play the game you need either the original data from the game or the required package OpenGFX and OpenSFX. This package is required by openttd gui and openttd dedicated package. This way it is possible to install a openttd version without SDL requirement. %endif %prep %setup -qn openttd%{?branch:-%{branch}}-%{srcver} # we build the grfs from sources but validate the result with the existing data md5sum bin/baseset/* > validate.data %build ./configure \ --prefix-dir="%{_prefix}" \ --binary-name="%{binname}" \ --binary-dir="bin" \ --data-dir="share/%{binname}" \ --doc-dir="share/doc/%{binname}" \ --menu-name="OpenTTD%{?branch: %{branch}}" \ --menu-group="Game;StrategyGame;" \ --enable-dedicated="%{dedicated}" \ make %{?_smp_mflags} %install %if %{dedicated} # dedicated package needs binary only install -D -m0755 bin/openttd %{buildroot}/%{_bindir}/%{binname} %else make install INSTALL_DIR="%{buildroot}" %if 0%{?suse_version} %suse_update_desktop_file -r %{binname} Game StrategyGame %endif %endif %clean rm -rf "%{buildroot}" %check md5sum -c validate.data %files %attr(755, root, root) %{_bindir}/%{binname} # all other files are for the gui version only, also no # subpackage needed for the dedicated version %if !%{dedicated} %defattr(-, root, root) %dir %{_datadir}/icons/hicolor %dir %{_datadir}/icons/hicolor/16x16 %dir %{_datadir}/icons/hicolor/16x16/apps %dir %{_datadir}/icons/hicolor/32x32 %dir %{_datadir}/icons/hicolor/32x32/apps %dir %{_datadir}/icons/hicolor/48x48 %dir %{_datadir}/icons/hicolor/48x48/apps %dir %{_datadir}/icons/hicolor/64x64 %dir %{_datadir}/icons/hicolor/64x64/apps %dir %{_datadir}/icons/hicolor/128x128 %dir %{_datadir}/icons/hicolor/128x128/apps %dir %{_datadir}/icons/hicolor/256x256 %dir %{_datadir}/icons/hicolor/256x256/apps %{_datadir}/applications/%{binname}.desktop %{_datadir}/icons/hicolor/16x16/apps/%{binname}.png %{_datadir}/icons/hicolor/32x32/apps/%{binname}.png %{_datadir}/icons/hicolor/48x48/apps/%{binname}.png %{_datadir}/icons/hicolor/64x64/apps/%{binname}.png %{_datadir}/icons/hicolor/128x128/apps/%{binname}.png %{_datadir}/icons/hicolor/256x256/apps/%{binname}.png %{_datadir}/pixmaps/%{binname}.32.xpm %files data %defattr(-, root, root) %dir %{_datadir}/doc/%{binname} %dir %{_datadir}/%{binname} %dir %{_datadir}/%{binname}/lang %dir %{_datadir}/%{binname}/baseset %dir %{_datadir}/%{binname}/scripts %dir %{_datadir}/%{binname}/ai %{_datadir}/doc/%{binname}/* %{_datadir}/%{binname}/lang/* %{_datadir}/%{binname}/baseset/* %{_datadir}/%{binname}/scripts/* %{_datadir}/%{binname}/ai/* %doc %{_mandir}/man6/%{binname}.6.* %endif %changelog