198 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
			
		
		
	
	
			198 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			RPMSpec
		
	
	
	
	
	
%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
 |