-%define _version b9
+# TODO:
+# - create bcond for ggz
+# - check locales
+#
+%define buildver 16
Summary: Game like Settlers II
-Summary(pl): Remake gry Settlers II
+Summary(pl.UTF-8): Remake gry Settlers II
Name: widelands
-Version: 0.%{_version}
-Release: 0.1
-License: GPL
+Version: 0.build%{buildver}
+Release: 10
+License: GPL v2+
Group: X11/Applications/Games
-Source0: http://dl.sourceforge.net/widelands/%{name}-%{_version}-source.tar.bz2
-# Source0-md5: 0efaa379795496c05feee47de27b5dae
+Source0: http://launchpad.net/widelands/build%{buildver}/build%{buildver}/+download/%{name}-build%{buildver}-src.tar.bz2
+# Source0-md5: 3d8c28e145b73c64d8ed1625319d25a2
Source1: %{name}.desktop
+Patch0: %{name}-libpng15.patch
URL: http://widelands.sourceforge.net/
-BuildRequires: SDL-devel
+BuildRequires: SDL-devel >= 1.2.11
+BuildRequires: SDL_gfx-devel
BuildRequires: SDL_image-devel
+BuildRequires: SDL_mixer-devel >= 1.2.7
BuildRequires: SDL_net-devel
-BuildRequires: SDL_ttf-devel
+BuildRequires: SDL_ttf-devel >= 2.0.0
+BuildRequires: boost-devel >= 1.35
+BuildRequires: cmake
+BuildRequires: gettext-tools
+BuildRequires: glew-devel
+BuildRequires: ggz-client-libs-devel
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel
BuildRequires: libstdc++-devel
+BuildRequires: libtiff-devel
+BuildRequires: lua51-devel
+BuildRequires: python
+BuildRequires: python-modules
+BuildRequires: rpmbuild(macros) >= 1.600
+Requires: %{name}-data = %{version}-%{release}
+Requires: SDL_image >= 1.2.10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
trade with you. However, if you want to rule the world, you will have
to train soldiers and fight.
-%description -l pl
-W grze Widelands jeste¶ regentem niewielkiego plemienia. Rozpoczynasz
-grê tylko z kwater± g³ówn±, czym¶ w rodzaju zamku, w której
-przechowywane s± wszystkie Twoje zasoby. Ka¿dy cz³onek plemienia
-wykona swoje zadanie w procesie produkcji tych¿e zasobów - drewna,
-¿ywno¶ci, ¿elaza, z³ota i wielu innych - aby zapewniæ rozwój. Jednak
-nie jeste¶ sam na tym ¶wiecie i wcze¶niej lub pó¼niej bêdziesz musia³
-spotkaæ siê z innymi plemionami. Niektóre z nich mog± byæ przyja¼nie
-nastawione i rozpocz±æ z Tob± handel. Jednak, je¶li chcesz rz±dziæ
-¶wiatem, bêdziesz musia³ wyszkoliæ ¿o³nierzy i walczyæ.
+%description -l pl.UTF-8
+W grze Widelands jesteś regentem niewielkiego plemienia. Rozpoczynasz
+grę tylko z kwaterą główną, czymś w rodzaju zamku, w której
+przechowywane są wszystkie Twoje zasoby. Każdy członek plemienia
+wykona swoje zadanie w procesie produkcji tychże zasobów - drewna,
+żywności, żelaza, złota i wielu innych - aby zapewnić rozwój. Jednak
+nie jesteś sam na tym świecie i wcześniej lub później będziesz musiał
+spotkać się z innymi plemionami. Niektóre z nich mogą być przyjaźnie
+nastawione i rozpocząć z Tobą handel. Jednak, jeśli chcesz rządzić
+światem, będziesz musiał wyszkolić żołnierzy i walczyć.
+
+%package data
+Summary: Game like Settlers II - data files
+License: GPL v2+
+Group: X11/Applications/Games
+%if "%{_rpmversion}" >= "5"
+BuildArch: noarch
+%endif
+
+%description data
+Game like Settlers II - data files.
%prep
-%setup -q -n %{name}
+%setup -q -n %{name}-build%{buildver}-src
+%patch0 -p1
%build
-rm -f widelands
-%{__make} \
- CXX="%{__cxx}" \
- CXXFLAGS="%{rpmcflags} -Isrc/ui/ui_basic -Isrc -Isrc/editor -Isrc/editor/ui_menus -Isrc/ui/ui_fs_menus -Isrc/editor/tools `sdl-config --cflags`"
+install -d build
+cd build
+%cmake \
+ -DWL_INSTALL_BINDIR=%{_bindir} \
+ -DWL_INSTALL_DATADIR=%{_datadir}/games/%{name} \
+ -DWL_INSTALL_LOCALEDIR=%{_datadir}/games/%{name}/locale \
+ ..
+
+%{__make}
+%{__make} lang
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_datadir}/%{name},%{_desktopdir}}
+%{__make} -C build install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+install -d $RPM_BUILD_ROOT{%{_datadir}/games/%{name},%{_desktopdir},%{_pixmapsdir}}
-install widelands $RPM_BUILD_ROOT%{_bindir}
-cp -r fonts maps pics tribes worlds $RPM_BUILD_ROOT%{_datadir}/%{name}
+# install data
+cp -a campaigns fonts global maps music pics scripting sound tribes txts worlds $RPM_BUILD_ROOT%{_datadir}/games/%{name}
-cp %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
+# locales
+cp -a build/locale $RPM_BUILD_ROOT%{_datadir}/games/%{name}
+
+# unsupported locales
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/games/%{name}/locale/en_AU
+%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/games/%{name}/locale/en_CA
+
+# desktop and icon
+cp -p pics/wl-ico-128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc README COPYING AUTHORS
-%attr(755,root,root) %{_bindir}/widelands
-%{_datadir}/widelands
-%{_desktopdir}/widelands.desktop
+%doc ChangeLog CREDITS
+%attr(755,root,root) %{_bindir}/%{name}
+%{_desktopdir}/%{name}.desktop
+%{_pixmapsdir}/%{name}.png
+
+%files data
+%defattr(644,root,root,755)
+%dir %{_datadir}/games/%{name}
+%{_datadir}/games/%{name}/campaigns
+%{_datadir}/games/%{name}/fonts
+%{_datadir}/games/%{name}/global
+%{_datadir}/games/%{name}/maps
+%{_datadir}/games/%{name}/music
+%{_datadir}/games/%{name}/pics
+%{_datadir}/games/%{name}/scripting
+%{_datadir}/games/%{name}/sound
+%{_datadir}/games/%{name}/tribes
+%{_datadir}/games/%{name}/txts
+%{_datadir}/games/%{name}/worlds
+%dir %{_datadir}/games/%{name}/locale
+%lang(ar) %{_datadir}/games/%{name}/locale/ar
+%lang(ast) %{_datadir}/games/%{name}/locale/ast
+%lang(ca) %{_datadir}/games/%{name}/locale/ca
+%lang(cs) %{_datadir}/games/%{name}/locale/cs
+%lang(da) %{_datadir}/games/%{name}/locale/da
+%lang(de) %{_datadir}/games/%{name}/locale/de
+%lang(en_GB) %{_datadir}/games/%{name}/locale/en_GB
+%lang(eo) %{_datadir}/games/%{name}/locale/eo
+%lang(es) %{_datadir}/games/%{name}/locale/es
+%lang(et) %{_datadir}/games/%{name}/locale/et
+%lang(eu) %{_datadir}/games/%{name}/locale/eu
+%lang(fa) %{_datadir}/games/%{name}/locale/fa
+%lang(fi) %{_datadir}/games/%{name}/locale/fi
+%lang(fr) %{_datadir}/games/%{name}/locale/fr
+%lang(gl) %{_datadir}/games/%{name}/locale/gl
+%lang(he) %{_datadir}/games/%{name}/locale/he
+%lang(hu) %{_datadir}/games/%{name}/locale/hu
+%lang(ia) %{_datadir}/games/%{name}/locale/ia
+%lang(id) %{_datadir}/games/%{name}/locale/id
+%lang(it) %{_datadir}/games/%{name}/locale/it
+%lang(ja) %{_datadir}/games/%{name}/locale/ja
+%lang(ko) %{_datadir}/games/%{name}/locale/ko
+%lang(la) %{_datadir}/games/%{name}/locale/la
+%lang(ms) %{_datadir}/games/%{name}/locale/ms
+%lang(nb) %{_datadir}/games/%{name}/locale/nb
+%lang(nl) %{_datadir}/games/%{name}/locale/nl
+%lang(nn) %{_datadir}/games/%{name}/locale/nn
+%lang(oc) %{_datadir}/games/%{name}/locale/oc
+%lang(pl) %{_datadir}/games/%{name}/locale/pl
+%lang(pt) %{_datadir}/games/%{name}/locale/pt
+%lang(pt_BR) %{_datadir}/games/%{name}/locale/pt_BR
+%lang(ru) %{_datadir}/games/%{name}/locale/ru
+%lang(si) %{_datadir}/games/%{name}/locale/si
+%lang(sk) %{_datadir}/games/%{name}/locale/sk
+%lang(sl) %{_datadir}/games/%{name}/locale/sl
+%lang(sr) %{_datadir}/games/%{name}/locale/sr
+%lang(sv) %{_datadir}/games/%{name}/locale/sv
+%lang(tr) %{_datadir}/games/%{name}/locale/tr
+%lang(uk) %{_datadir}/games/%{name}/locale/uk
+%lang(vi) %{_datadir}/games/%{name}/locale/vi
+%lang(zh_CN) %{_datadir}/games/%{name}/locale/zh_CN