X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=freeciv.spec;h=7537b48a8cf525a8f9637d2e36c303ad50c54521;hb=21d7c5ed7fc2864ee90fb6e22f264fbba7018991;hp=3fc3c7d8088fa4e54c7b846e30ca841d832888f6;hpb=975f9fee5a24bdc5694b48d79c6d4a3fede8a122;p=packages%2Ffreeciv.git diff --git a/freeciv.spec b/freeciv.spec index 3fc3c7d..7537b48 100644 --- a/freeciv.spec +++ b/freeciv.spec @@ -1,38 +1,59 @@ # +# TODO: +# - 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 desktop files +# - get rid freeciv-manual (or not) +# - get rid freeciv-stub (or not) +# # 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 +%bcond_without system_lua # build with bundled lua +%bcond_without gtk2 # build without gtk2 client +%bcond_without gtk3 # build without gtk3 client +%bcond_without sdl # build without sdl client +%bcond_without xaw # build without xaw client +%bcond_with qt # build with qt client (broken) # 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: 1 +Version: 2.4.4 +Release: 0.3 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 +URL: http://freeciv.wikia.com/ +%{?with_magickwand:BuildRequires: ImageMagick-devel} +%if %{with sdl} +BuildRequires: SDL_image-devel BuildRequires: SDL_mixer-devel +%endif 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} +%{?with_gtk2:BuildRequires: gtk+2-devel} +%{?with_gtk3:BuildRequires: gtk+3-devel} BuildRequires: libggz-devel +BuildRequires: libpng-devel +BuildRequires: libtool +%{?with_system_lua:BuildRequires: lua51-devel} BuildRequires: pkgconfig BuildRequires: readline-devel +%{?with_xaw:BuildRequires: xorg-lib-libXaw-devel} BuildRequires: zlib-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -57,18 +78,98 @@ O FreeCiv é uma implementação do Civilization II para o Sistema X Window. %package client -Summary: Freeciv game client -Summary(pl.UTF-8): Klient gry Freeciv +Summary: GTK2 Freeciv game client +Summary(pl.UTF-8): Klient gry Freeciv korzystający z GTK2 Group: X11/Applications/Games/Strategy Requires: %{name} = %{version}-%{release} -Requires: SDL_mixer +Requires: %{name}-client-common = %{version}-%{release} Suggests: %{name}-server = %{version}-%{release} %description client -This package contains Freeciv game client. +This package contains GTK2-based Freeciv game client. %description client -l pl.UTF-8 -Ten pakiet zawiera klienta gry Freeciv. +Ten pakiet zawiera klienta gry Freeciv korzystającego z GTK2. + +%package client-common +Summary: Freeciv game client common files +Summary(pl.UTF-8): Wspólne pliki klientów gry Freeciv +Group: X11/Applications/Games/Strategy +Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-common = %{version}-%{release} +Suggests: %{name}-server = %{version}-%{release} + +%description client-common +This package contains common files for Freeciv game clients. + +%description client-common -l pl.UTF-8 +Ten pakiet zawiera wspólne pliki dla klientów gry Freeciv. + +%package client-gtk3 +Summary: GTK3 Freeciv game client +Summary(pl.UTF-8): Klient gry Freeciv korzystający z GTK3 +Group: X11/Applications/Games/Strategy +Requires: %{name} = %{version}-%{release} +Suggests: %{name}-server = %{version}-%{release} + +%description client-gtk3 +This package contains GTK3-based Freeciv game client. + +%description client-gtk3 -l pl.UTF-8 +Ten pakiet zawiera klienta gry Freeciv korzystającego z GTK3. + +%package client-sdl +Summary: SDL Freeciv game client +Summary(pl.UTF-8): Klient gry Freeciv korzystający z SDL +Group: X11/Applications/Games/Strategy +Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-common = %{version}-%{release} +Requires: SDL_mixer +Suggests: %{name}-server = %{version}-%{release} + +%description client-sdl +This package contains SDL-based Freeciv game client. + +%description client-sdl -l pl.UTF-8 +Ten pakiet zawiera klienta gry Freeciv korzystającego z SDL. + +%package client-xaw +Summary: XAW Freeciv game client +Summary(pl.UTF-8): Klient gry Freeciv korzystający z XAW +Group: X11/Applications/Games/Strategy +Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-common = %{version}-%{release} +Suggests: %{name}-server = %{version}-%{release} + +%description client-xaw +This package contains based Freeciv game client using XAW (X Athena +Widgets). + +%description client-xaw -l pl.UTF-8 +Ten pakiet zawiera klienta gry Freeciv korzystającego z biblioteki XAW +(X Athena Widgets) + +%package client-modpack +Summary: Custom content installer for the Freeciv game +Summary(pl.UTF-8): Instalator dodatków do gry Freeciv +Group: X11/Applications/Games/Strategy +Requires: %{name} = %{version}-%{release} +Requires: %{name}-client-common = %{version}-%{release} +Suggests: %{name}-server = %{version}-%{release} + +%description client-modpack +Custom content installer for the Freeciv game. + +This program allows users to select and download add-on content +("modpacks") for Freeciv from the Internet, either from a list +maintained by the Freeciv team, or by using a URL obtained by other +means. It takes care of installing the files in the correct place +under the user's home directory for this version of Freeciv; it does +not install anything for system-wide use. + +%description client-modpack -l pl.UTF-8 +Ten pakiet zawiera instalator dodatków do gry Freeciv dostępnych w +internecie. %package server Summary: Freeciv game server @@ -83,21 +184,25 @@ This package contans Freeciv game server. 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} \ - %{!?with_ggz_client: --without-ggz-client} \ - %{!?with_ggz_server: --without-ggz-server} + --disable-silent-rules \ + --enable-client=stub,%{?with_gtk2:gtk2},%{?with_gtk3:gtk3},%{?with_qt:qt},%{?with_sdl:sdl},%{?with_xaw:xaw} \ + --enable-mapimg=%{?with_magickwand:magickwand}%{!?with_magickwand:no} \ + %{?with_system_lua:--enable-sys-lua} \ + %{!?with_ggz_client:--without-ggz-client} \ + %{!?with_ggz_server:--without-ggz-server} %{__make} @@ -108,24 +213,30 @@ install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -cp -f client/%{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}/%{name}-client.desktop -cp -f server/%{name}-server.desktop $RPM_BUILD_ROOT%{_desktopdir} -rm $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop +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 -f data/icons/32x32/*.png $RPM_BUILD_ROOT%{_pixmapsdir} -cp -rf data/stdsounds{,.soundspec} $RPM_BUILD_ROOT%{_datadir}/%{name} -cp -f freeland.tilespec $RPM_BUILD_ROOT%{_datadir}/%{name} -cp -rf freeland $RPM_BUILD_ROOT%{_datadir}/%{name} +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/no +%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules -rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/no -rm -f $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} -install data/civserver.dsc $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/games/civserver.dsc -install data/civserver.room $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/rooms/civserver.room +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 +%{__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 @@ -133,38 +244,51 @@ rm -rf $RPM_BUILD_ROOT %files -f %{name}.lang %defattr(644,root,root,755) -%doc AUTHORS README ChangeLog NEWS -%{_pixmapsdir}/* +%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 %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* -%{?with_ggz_server:%dir %{_sysconfdir}/ggzd/games} -%{?with_ggz_server:%dir %{_sysconfdir}/ggzd/rooms} -%{?with_ggz_server:%{_sysconfdir}/ggzd/games/civserver.dsc} -%{?with_ggz_server:%{_sysconfdir}/ggzd/rooms/civserver.room} +%{_mandir}/man6/freeciv-server.6* +%{_iconsdir}/hicolor/*/apps/freeciv-server.png +%{_pixmapsdir}/freeciv-server.png -%files client +%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-common %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/civclient -%attr(755,root,root) %{_bindir}/civmanual -%{_desktopdir}/%{name}-client.desktop +%attr(755,root,root) %{_bindir}/freeciv-stub +%attr(755,root,root) %{_bindir}/freeciv-manual %{_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}/gtk_menus.xml %{_datadir}/%{name}/hex2t %{_datadir}/%{name}/isophex %{_datadir}/%{name}/isotrident @@ -173,5 +297,52 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/%{name}/themes %{_datadir}/%{name}/trident %{_datadir}/%{name}/wonders -%{_mandir}/man6/civclient.6* -%{_iconsdir}/hicolor/*/apps/* +%{_mandir}/man6/freeciv-manual.6* + +%files client-modpack +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/freeciv-modpack +%{_desktopdir}/%{name}-modpack.desktop +%{_datadir}/appdata/freeciv-modpack.appdata.xml +%{_iconsdir}/hicolor/*/apps/freeciv-modpack.png +%{_pixmapsdir}/freeciv-modpack.png +%{_mandir}/man6/freeciv-modpack.6* + +%if %{with gtk2} +%files client +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/freeciv-gtk2 +%{_desktopdir}/%{name}-client.desktop +%{_datadir}/appdata/freeciv-gtk2.appdata.xml +%{_mandir}/man6/freeciv-client.6* +%{_mandir}/man6/freeciv-gtk2.6* +%{_iconsdir}/hicolor/*/apps/freeciv-client.png +%{_pixmapsdir}/freeciv-client.png +%endif + +%if %{with gtk3} +%files client-gtk3 +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/freeciv-gtk3 +%{_desktopdir}/%{name}-gtk3.desktop +%{_datadir}/appdata/freeciv-gtk3.appdata.xml +%{_mandir}/man6/freeciv-gtk3.6* +%endif + +%if %{with sdl} +%files client-sdl +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/freeciv-sdl +%{_desktopdir}/%{name}-sdl.desktop +%{_datadir}/appdata/freeciv-sdl.appdata.xml +%{_mandir}/man6/freeciv-sdl.6* +%endif + +%if %{with xaw} +%files client-xaw +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/freeciv-xaw +%{_datadir}/%{name}/Freeciv +%{_mandir}/man6/freeciv-xaw.6* +%endif +