#
# Conditional build:
-%bcond_without gtk2 # build gtk1 client, not gtk2
-
+%bcond_without gtk # do not build gtk client
+%bcond_without ggz_client # build without ggz client
+%bcond_without ggz_server # build without ggz server
+#
Summary: FREE CIVilization clone
-Summary(es): Clon del juego Civilization
-Summary(pl): Niekomercyjny klon CIVilization
-Summary(pt_BR): Clone do jogo Civilization
+Summary(es.UTF-8): Clon del juego Civilization
+Summary(pl.UTF-8): Niekomercyjny klon CIVilization
+Summary(pt_BR.UTF-8): Clone do jogo Civilization
Name: freeciv
-Version: 2.0.1
+Version: 2.2.3
Release: 2
-License: GPL
+License: GPL v2+
Group: X11/Applications/Games/Strategy
-Source0: ftp://ftp.freeciv.org/freeciv/stable/%{name}-%{version}.tar.bz2
-# Source0-md5: b1a2d0b493af74f40179ef78ed2b6070
-Source1: ftp://ftp.freeciv.org/freeciv/contrib/sounds/sets/stdsounds3.tar.gz
-# Source1-md5: 77215914712f2f351092918f5e41e39e
-Source2: %{name}-client.desktop
-Source3: %{name}-server.desktop
-Source4: %{name}.png
-URL: http://www.freeciv.org/
+Source0: http://downloads.sourceforge.net/freeciv/%{name}-%{version}.tar.bz2
+# Source0-md5: b324e3c59f029d0566482f584181a4b2
+# NOTE: current version of freeland tiles does not work with newest freeciv version
+#Source1: http://download.gna.org/freeciv/contrib/tilesets/freeland/freeland-normal-2.0.0.tar.gz
+Patch0: %{name}-link.patch
+Patch1: %{name}-desktop.patch
+Patch2: %{name}-ggz.patch
+URL: http://freeciv.wikia.com/
BuildRequires: SDL_mixer-devel
+BuildRequires: autoconf >= 2.52
BuildRequires: automake
-BuildRequires: esound-devel
-%{!?with_gtk2:BuildRequires: gtk+-devel > 1.2.1}
-%{?with_gtk2:BuildRequires: gtk+2-devel}
-%{!?with_gtk2:BuildRequires: imlib-devel >= 1.9.2}
+BuildRequires: gettext-devel
+%{?with_ggz_client:BuildRequires: ggz-gtk-client-devel}
+%{?with_gtk:BuildRequires: gtk+2-devel}
+BuildRequires: libggz-devel
+BuildRequires: libpng-devel
+BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: readline-devel
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define specflags -O1
+
%description
Free clone of Sid Meier's Civilization. Free Civilization clone for
-unix and X. This is multiplayer strategic game and you can also play
+Unix and X. This is multiplayer strategic game and you can also play
against computer-AI players.
-%description -l es
+%description -l es.UTF-8
Clon del juego Civilization.
-%description -l pl
+%description -l pl.UTF-8
Freeciv jest to niekomercyjny (GPL) klon gry Civilization Sida Meiera.
-Jest to gra strategiczna dla systemu X Window. Mo¿na graæ w ni± z
-innymi osobami poprzez sieæ, a tak¿e przeciwko "graczom" zarz±dzanym
+Jest to gra strategiczna dla systemu X Window. Można grać w nią z
+innymi osobami poprzez sieć, a także przeciwko "graczom" zarządzanym
przez komputer.
-%description -l pt_BR
-O FreeCiv é uma implementação do Civilization II para o Sistema X
+%description -l pt_BR.UTF-8
+O FreeCiv é uma implementação do Civilization II para o Sistema X
Window.
%package client
Summary: Freeciv game client
-Summary(pl): Klient gry Freeciv
+Summary(pl.UTF-8): Klient gry Freeciv
Group: X11/Applications/Games/Strategy
Requires: %{name} = %{version}-%{release}
Requires: SDL_mixer
-Requires: esound
-%{!?with_gtk2:Requires: gtk+ > 1.2.1}
-%{!?with_gtk2:Requires: imlib >= 1.9.2}
+Suggests: %{name}-server = %{version}-%{release}
%description client
This package contains Freeciv game client.
-%description client -l pl
+%description client -l pl.UTF-8
Ten pakiet zawiera klienta gry Freeciv.
%package server
Summary: Freeciv game server
-Summary(pl): Serwer gry Freeciv
+Summary(pl.UTF-8): Serwer gry Freeciv
Group: X11/Applications/Games/Strategy
Requires: %{name} = %{version}-%{release}
%description server
This package contans Freeciv game server.
-%description server -l pl
+%description server -l pl.UTF-8
Ten pakiet zawiera server gry Freeciv.
%prep
-%setup -q -a1
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
%build
-cp -f /usr/share/automake/config.sub bootstrap
-%configure2_13 \
-%{!?with_gtk2: --enable-client=gtk} \
-%{?with_gtk2: --enable-client=gtk2}
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
+%configure \
+ --with-ggzd-confdir=%{_sysconfdir}/ggzd \
+ %{?with_gtk:--enable-client=gtk} \
+ %{!?with_ggz_client:--without-ggz-client} \
+ %{!?with_ggz_server:--without-ggz-server}
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_libdir}/X11/app-defaults \
- $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install %{SOURCE2} %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
-install %{SOURCE4} $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -a client/%{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}/%{name}-client.desktop
+cp -a server/%{name}-server.desktop $RPM_BUILD_ROOT%{_desktopdir}
+rm $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+
+cp -a data/icons/32x32/*.png $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -a data/stdsounds{,.soundspec} $RPM_BUILD_ROOT%{_datadir}/%{name}
+cp -a freeland.tilespec $RPM_BUILD_ROOT%{_datadir}/%{name}
+cp -a freeland $RPM_BUILD_ROOT%{_datadir}/%{name}
-cp -rf data/stdsounds{,.soundspec} $RPM_BUILD_ROOT%{_datadir}/%{name}
+rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/no
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules
+
+%{?with_gtk:cp -a data/gtk_menus.xml $RPM_BUILD_ROOT%{_datadir}/%{name}}
+
+%if %{with ggz_server}
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/{games,rooms}
+cp -a data/civserver.dsc $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/games/civserver.dsc
+cp -a data/civserver.room $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/rooms/civserver.room
+%endif
%find_lang %{name}
%files -f %{name}.lang
%defattr(644,root,root,755)
%doc AUTHORS README ChangeLog NEWS
-%{_pixmapsdir}/*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/helpdata.txt
%files server
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/civserver
+%attr(755,root,root) %{_bindir}/freeciv-server
%{_desktopdir}/%{name}-server.desktop
%{_datadir}/%{name}/civ1
%{_datadir}/%{name}/civ2
%{_datadir}/%{name}/default
-%{_datadir}/%{name}/history
%{_datadir}/%{name}/nation
%{_datadir}/%{name}/scenario
%{_datadir}/%{name}/*.serv
-%{_mandir}/man6/civserver.6.gz
+%{_mandir}/man6/freeciv-server.6*
+%{_iconsdir}/hicolor/*/apps/freeciv-server.png
+%{_pixmapsdir}/freeciv-server.png
+
+%if %{with ggz_server}
+%dir %{_sysconfdir}/ggzd
+%dir %{_sysconfdir}/ggzd/games
+%dir %{_sysconfdir}/ggzd/rooms
+%{_sysconfdir}/ggzd/games/civserver.dsc
+%{_sysconfdir}/ggzd/rooms/civserver.room
+%endif
%files client
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/civclient
+%attr(755,root,root) %{_bindir}/freeciv-gtk2
+%attr(755,root,root) %{_bindir}/civmanual
%{_desktopdir}/%{name}-client.desktop
+%{_datadir}/%{name}/*.*spec
+%{_datadir}/%{name}/amplio
+%{_datadir}/%{name}/buildings
+%{_datadir}/%{name}/flags
%{_datadir}/%{name}/freeciv.rc*
+#%%{_datadir}/%{name}/freeland
+%{?with_gtk:%{_datadir}/%{name}/gtk_menus.xml}
+%{_datadir}/%{name}/hex2t
+%{_datadir}/%{name}/isophex
%{_datadir}/%{name}/isotrident
%{_datadir}/%{name}/misc
-%{_datadir}/%{name}/trident
-%{_datadir}/%{name}/isophex
-%{_datadir}/%{name}/flags
-%{_datadir}/%{name}/*.*spec
%{_datadir}/%{name}/stdsounds
-%{_mandir}/man6/civclient.6.gz
-%{_bindir}/civmanual
+%{_datadir}/%{name}/themes
+%{_datadir}/%{name}/trident
+%{_datadir}/%{name}/wonders
+%{_mandir}/man6/freeciv-client.6*
+%{_mandir}/man6/freeciv-ftwl.6*
+%{_mandir}/man6/freeciv-gtk2.6*
+%{_mandir}/man6/freeciv-sdl.6*
+%{_mandir}/man6/freeciv-win32.6*
+%{_mandir}/man6/freeciv-xaw.6*
+%{_iconsdir}/hicolor/*/apps/freeciv-client.png
+%{_pixmapsdir}/freeciv-client.png