widelands/widelands.spec

144 lines
4.3 KiB
RPMSpec

#
# spec file for package widelands
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define build_launchpad 0
Name: widelands
Version: build16
Release: 1
Summary: Open source realtime-strategy game
Group: Amusements/Games/Strategy/Other
License: GPLv2+
URL: http://www.widelands.org
Source0: %name-build16-src.tar.bz2
Source1: %{name}.desktop
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gcc-c++
BuildRequires: boost-devel
BuildRequires: SDL_mixer-devel
BuildRequires: SDL_image-devel
BuildRequires: SDL_net-devel
BuildRequires: SDL_ttf-devel
BuildRequires: SDL_gfx-devel
BuildRequires: libpng-devel
BuildRequires: libjpeg-devel
BuildRequires: libtiff-devel
BuildRequires: zlib-devel
BuildRequires: ggz-client-libs-devel
BuildRequires: lua-devel
BuildRequires: python-devel
BuildRequires: cmake
BuildRequires: gettext
BuildRequires: optipng
BuildRequires: fdupes
BuildRequires: doxygen
BuildRequires: glew-devel
BuildRequires: update-desktop-files
Requires: %{name}-data = %{version}
%if %build_launchpad
# for launchpad translation update
Requires: perl
Source2: launchpad-export.tar.gz
%endif
%description
Widelands is an open source (GPLed), realtime-strategy game, using SDL and
other free libraries, which is still under development. Widelands is inspired
by Settlers II (Bluebyte) and is partly similar to it, so if you know it, you
perhaps will have a thought, what Widelands is all about.
%package data
Summary: Data files for Widelands
Requires: %{name} = %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description data
Data files for Widelands. Including localization, maps graphics and music.
%prep
%setup -q -n %{name}-%version-src
%if %build_launchpad
# for launchpad translation update
cd ..
tar -xzf %SOURCE2
find po -name "*.po" |perl -ne 'chomp;$a=$_;$a=~s{/[^/]*-}{/}; rename $_,"widelands/$a";'
%endif
%build
# recreate compile.sh contents here
mkdir -p build/locale
cd build
# -DWL_VERSION=%{version} to skip revision check, should be removed for final release
cmake \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DWL_VERSION=%{version} \
-DWL_INSTALL_PREFIX=%{_prefix} \
-DWL_INSTALL_BINDIR=bin \
-DWL_INSTALL_DATADIR=share/%{name} \
-DWL_INSTALL_LOCALEDIR=%{_datadir}/%{name}/locale \
-DCMAKE_BUILD_TYPE="Release" \
-DBoost_USE_STATIC_LIBS=OFF \
..
make %{?_smp_mflags}
%install
cd build
make DESTDIR=$RPM_BUILD_ROOT install
cd ..
for i in 16 32 48 64 128; do
install -D -m 0644 pics/wl-ico-${i}.png $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png
done
install -D -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
%suse_update_desktop_file %{name}
%fdupes $RPM_BUILD_ROOT%{_datadir}
%find_lang %{name} --all-name
%files
%defattr(-,root,root,-)
%doc COPYING CREDITS ChangeLog
%{_bindir}/%{name}
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/128x128
%dir %{_datadir}/icons/hicolor/128x128/apps
%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
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_datadir}/applications/%{name}.desktop
%files data -f %{name}.lang
%defattr(-,root,root,-)
# skip locale subdir, included in .lang file, only valid for < 12.1 as 12.1 detects only in /usr/share/locale
%if 0%{?suse_version} < 1210
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/locale
%{_datadir}/%{name}/[^l]*
%else
%{_datadir}/%{name}
%endif
%changelog