#
+# TODO: - try to create bconds for supported clients
+# - separate desktop files for all clients
+# - gtk3 client is broken:
+# GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
+# - work on authentication and Freeciv database support (fcdb)
+# - patch all packaged destkop files
+#
# Conditional build:
-%bcond_without gtk # do not build gtk client
%bcond_without ggz_client # build without ggz client
%bcond_without ggz_server # build without ggz server
-
+%bcond_without magickwand # build without MagickWand map image toolkit support
+#
Summary: FREE CIVilization clone
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.1.11
-Release: 2
+Version: 2.4.4
+Release: 0.2
License: GPL v2+
Group: X11/Applications/Games/Strategy
Source0: http://downloads.sourceforge.net/freeciv/%{name}-%{version}.tar.bz2
-# Source0-md5: b064e5949d211a46a9d6d050f3c98959
-Source1: ftp://ftp.freeciv.org/pub/freeciv/contrib/audio/soundsets/stdsounds3.tar.gz
-# Source1-md5: 77215914712f2f351092918f5e41e39e
-Source2: ftp://ftp.freeciv.org/pub/freeciv/contrib/tilesets/freeland/freeland-normal-2.0.0.tar.gz
-# Source2-md5: c9f061fca82aa50a19fbbc89c06ff81d
+# Source0-md5: 038c53184497fcf31bcd268418dbe4f6
+# 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/
+%{?with_magickwand:BuildRequires: ImageMagick-devel}
+BuildRequires: SDL_image-devel
BuildRequires: SDL_mixer-devel
BuildRequires: autoconf >= 2.52
-BuildRequires: automake
-BuildRequires: esound-devel
+BuildRequires: automake >= 1:1.9
+BuildRequires: curl-devel
+BuildRequires: gettext-tools
%{?with_ggz_client:BuildRequires: ggz-gtk-client-devel}
-%{?with_ggz_server:BuildRequires: ggz-server-devel}
-%{?with_gtk:BuildRequires: gtk+2-devel}
+BuildRequires: gtk+2-devel
+BuildRequires: gtk+3-devel
BuildRequires: libggz-devel
+BuildRequires: libpng-devel
+BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: readline-devel
+BuildRequires: xorg-lib-libXaw-devel
BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Ten pakiet zawiera server gry Freeciv.
%prep
-%setup -q -a1 -a2
+%setup -q
%patch0 -p1
%patch1 -p1
%patch2 -p1
%build
+%{__libtoolize}
%{__aclocal} -I m4
%{__autoconf}
%{__autoheader}
%{__automake}
%configure \
--with-ggzd-confdir=%{_sysconfdir}/ggzd \
- %{?with_gtk:--enable-client=gtk} \
+ --disable-silent-rules \
+ --enable-client=gtk2,gtk3,sdl,xaw,stub \
+ --enable-mapimg=%{?with_magickwand:magickwand}%{!?with_magickwand:no} \
%{!?with_ggz_client:--without-ggz-client} \
%{!?with_ggz_server:--without-ggz-server}
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
+%{__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 -a freeland.tilespec $RPM_BUILD_ROOT%{_datadir}/%{name}
+#cp -a freeland $RPM_BUILD_ROOT%{_datadir}/%{name}
-rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/no
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules
+%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/no
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules
+
+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.room $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/rooms/civserver.room
%endif
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/libfreeciv{,-srv}.{a,la}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man6/freeciv-qt*
+
%find_lang %{name}
%clean
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc AUTHORS README ChangeLog NEWS
+%doc AUTHORS doc/BUGS ChangeLog doc/FAQ doc/HOWTOPLAY
+%doc NEWS NEWS-2.4
+%doc doc/README.SDLClient doc/README.cma doc/README.effects doc/README.fcdb
+%doc doc/README.graphics doc/README.sound
+%doc doc/README.ruleset_experimental doc/README.ruleset_multiplayer doc/README.rulesets
+%doc doc/TODO
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/helpdata.txt
-%{_pixmapsdir}/*.png
%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}/appdata/freeciv-server.appdata.xml
%{_datadir}/%{name}/civ1
%{_datadir}/%{name}/civ2
%{_datadir}/%{name}/default
+%{_datadir}/%{name}/experimental
+%{_datadir}/%{name}/multiplayer
%{_datadir}/%{name}/nation
-%{_datadir}/%{name}/scenario
+%{_datadir}/%{name}/scenarios
%{_datadir}/%{name}/*.serv
-%{_mandir}/man6/civserver.6*
+%{_mandir}/man6/freeciv-server.6*
+%{_iconsdir}/hicolor/*/apps/freeciv-server.png
+%{_pixmapsdir}/freeciv-server.png
%if %{with ggz_server}
%dir %{_sysconfdir}/ggzd
%files client
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/civclient
-%attr(755,root,root) %{_bindir}/civmanual
+%attr(755,root,root) %{_bindir}/freeciv-gtk2
+%attr(755,root,root) %{_bindir}/freeciv-gtk3
+%attr(755,root,root) %{_bindir}/freeciv-sdl
+%attr(755,root,root) %{_bindir}/freeciv-stub
+%attr(755,root,root) %{_bindir}/freeciv-xaw
+%attr(755,root,root) %{_bindir}/freeciv-manual
+%attr(755,root,root) %{_bindir}/freeciv-modpack
%{_desktopdir}/%{name}-client.desktop
+%{_desktopdir}/%{name}-gtk3.desktop
+%{_desktopdir}/%{name}-modpack.desktop
+%{_desktopdir}/%{name}-sdl.desktop
+%{_datadir}/appdata/freeciv-gtk2.appdata.xml
+%{_datadir}/appdata/freeciv-gtk3.appdata.xml
+%{_datadir}/appdata/freeciv-modpack.appdata.xml
+%{_datadir}/appdata/freeciv-sdl.appdata.xml
+%{_datadir}/%{name}/Freeciv
%{_datadir}/%{name}/*.*spec
-%{_datadir}/%{name}/amplio
+%{_datadir}/%{name}/amplio2
%{_datadir}/%{name}/buildings
+%{_datadir}/%{name}/cimpletoon
%{_datadir}/%{name}/flags
%{_datadir}/%{name}/freeciv.rc*
-%{_datadir}/%{name}/freeland
+#%%{_datadir}/%{name}/freeland
+%{_datadir}/%{name}/gtk_menus.xml
%{_datadir}/%{name}/hex2t
%{_datadir}/%{name}/isophex
%{_datadir}/%{name}/isotrident
%{_datadir}/%{name}/themes
%{_datadir}/%{name}/trident
%{_datadir}/%{name}/wonders
-%{_mandir}/man6/civclient.6*
-%{_iconsdir}/hicolor/*/apps/*.png
+%{_mandir}/man6/freeciv-client.6*
+%{_mandir}/man6/freeciv-gtk2.6*
+%{_mandir}/man6/freeciv-gtk3.6*
+%{_mandir}/man6/freeciv-manual.6*
+%{_mandir}/man6/freeciv-modpack.6*
+%{_mandir}/man6/freeciv-sdl.6*
+%{_mandir}/man6/freeciv-xaw.6*
+%{_iconsdir}/hicolor/*/apps/freeciv-client.png
+%{_iconsdir}/hicolor/*/apps/freeciv-modpack.png
+%{_pixmapsdir}/freeciv-client.png
+%{_pixmapsdir}/freeciv-modpack.png
+