mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-13 07:10:57 +00:00
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
|