X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=freeciv.spec;h=a3650786a566a45d1198ae46104a8ec2d1690576;hb=61fa7de70553bce6be536222319176318fbeb5d1;hp=89e08c722b406bb73ef0a3260cd61f24445b2233;hpb=744dee41be6f0d96b73efcb6b14a9e3bdbd2253c;p=packages%2Ffreeciv.git diff --git a/freeciv.spec b/freeciv.spec index 89e08c7..a365078 100644 --- a/freeciv.spec +++ b/freeciv.spec @@ -1,13 +1,20 @@ # -# 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 +# TODO: # - work on authentication and Freeciv database support (fcdb) +# - patch all packaged desktop files +# - modpack requires gtk2 or gtk3 # # Conditional build: %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) +%bcond_without modpack # build without modpack installer # Summary: FREE CIVilization clone Summary(es.UTF-8): Clon del juego Civilization @@ -15,7 +22,7 @@ Summary(pl.UTF-8): Niekomercyjny klon CIVilization Summary(pt_BR.UTF-8): Clone do jogo Civilization Name: freeciv Version: 2.4.4 -Release: 0.2 +Release: 1 License: GPL v2+ Group: X11/Applications/Games/Strategy Source0: http://downloads.sourceforge.net/freeciv/%{name}-%{version}.tar.bz2 @@ -26,19 +33,23 @@ Patch0: %{name}-link.patch Patch1: %{name}-desktop.patch Patch2: %{name}-ggz.patch URL: http://freeciv.wikia.com/ +%{?with_magickwand:BuildRequires: ImageMagick-devel} +%{?with_sdl:BuildRequires: SDL_image-devel} BuildRequires: SDL_mixer-devel -BuildRequires: SDL_image-devel BuildRequires: autoconf >= 2.52 BuildRequires: automake >= 1:1.9 +BuildRequires: curl-devel BuildRequires: gettext-tools %{?with_ggz_client:BuildRequires: ggz-gtk-client-devel} -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 -BuildRequires: xorg-lib-libXaw-devel +%{?with_xaw:BuildRequires: xorg-lib-libXaw-devel} BuildRequires: zlib-devel BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -63,18 +74,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 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 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 modpack -l pl.UTF-8 +Ten pakiet zawiera instalator dodatków do gry Freeciv dostępnych w +internecie. %package server Summary: Freeciv game server @@ -91,7 +182,7 @@ Ten pakiet zawiera server gry Freeciv. %prep %setup -q %patch0 -p1 -#patch1 -p1 +%patch1 -p1 %patch2 -p1 %build @@ -103,7 +194,10 @@ Ten pakiet zawiera server gry Freeciv. %configure \ --with-ggzd-confdir=%{_sysconfdir}/ggzd \ --disable-silent-rules \ - --enable-client=gtk2,gtk3,sdl,xaw,stub \ + --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_modpack:--enable-fcmp=no} \ + %{?with_system_lua:--enable-sys-lua} \ %{!?with_ggz_client:--without-ggz-client} \ %{!?with_ggz_server:--without-ggz-server} @@ -118,15 +212,15 @@ install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_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 +%{__rm} -f $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} -%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/locale/no -%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/no +%{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules cp -a data/gtk_menus.xml $RPM_BUILD_ROOT%{_datadir}/%{name} @@ -136,10 +230,22 @@ 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%{_datadir}/doc/%{name} +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name} %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfreeciv{,-srv}.{a,la} %{__rm} $RPM_BUILD_ROOT%{_mandir}/man6/freeciv-qt* +# from freeciv-manual man: +# This tool is currently only really of use to the Freeciv maintainers, +# as a starting point for pages on the main Freeciv wiki; +# it's not very useful to end users. +%{__rm} $RPM_BUILD_ROOT%{_bindir}/freeciv-manual +%{__rm} $RPM_BUILD_ROOT%{_mandir}/man6/freeciv-manual* + +%{__rm} $RPM_BUILD_ROOT%{_bindir}/freeciv-stub + +# needed if building --without gtk2,gtk3,sdl +%{__install} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/themes + %find_lang %{name} %clean @@ -159,6 +265,7 @@ rm -rf $RPM_BUILD_ROOT %files server %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/freeciv-server +#attr(755,root,root) %{_bindir}/freeciv-manual %{_desktopdir}/%{name}-server.desktop %{_datadir}/appdata/freeciv-server.appdata.xml %{_datadir}/%{name}/civ1 @@ -170,6 +277,7 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/%{name}/scenarios %{_datadir}/%{name}/*.serv %{_mandir}/man6/freeciv-server.6* +#{_mandir}/man6/freeciv-manual.6* %{_iconsdir}/hicolor/*/apps/freeciv-server.png %{_pixmapsdir}/freeciv-server.png @@ -181,49 +289,73 @@ rm -rf $RPM_BUILD_ROOT %{_sysconfdir}/ggzd/rooms/civserver.room %endif -%files client +%files client-common %defattr(644,root,root,755) -%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}/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 %{_datadir}/%{name}/misc %{_datadir}/%{name}/stdsounds -%{_datadir}/%{name}/themes +%dir %{_datadir}/%{name}/themes %{_datadir}/%{name}/trident %{_datadir}/%{name}/wonders + +%if %{with modpack} +%files 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* +%endif + +%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 +%{_datadir}/%{name}/freeciv.rc-2.0 +%{_datadir}/%{name}/themes/gui-gtk-2.0 %{_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 +%{_datadir}/%{name}/themes/gui-gtk-3.0 %{_mandir}/man6/freeciv-gtk3.6* -%{_mandir}/man6/freeciv-manual.6* -%{_mandir}/man6/freeciv-modpack.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 +%{_datadir}/%{name}/themes/gui-sdl %{_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* -%{_iconsdir}/hicolor/*/apps/freeciv-client.png -%{_iconsdir}/hicolor/*/apps/freeciv-modpack.png -%{_pixmapsdir}/freeciv-client.png -%{_pixmapsdir}/freeciv-modpack.png +%endif