]> git.pld-linux.org Git - packages/freeciv.git/blobdiff - freeciv.spec
TODO about freeciv-stub
[packages/freeciv.git] / freeciv.spec
index 042d54e30868ebd5695d2e1cce5779ed652bc232..7537b48a8cf525a8f9637d2e36c303ad50c54521 100644 (file)
@@ -1,10 +1,22 @@
 #
-# TODO: - try to create bconds for supported clients
-#      - separate desktop files for all clients
+# 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  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
@@ -12,7 +24,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.1
+Release:       0.3
 License:       GPL v2+
 Group:         X11/Applications/Games/Strategy
 Source0:       http://downloads.sourceforge.net/freeciv/%{name}-%{version}.tar.bz2
@@ -23,19 +35,25 @@ Patch0:             %{name}-link.patch
 Patch1:                %{name}-desktop.patch
 Patch2:                %{name}-ggz.patch
 URL:           http://freeciv.wikia.com/
-BuildRequires: SDL_mixer-devel
+%{?with_magickwand:BuildRequires:      ImageMagick-devel}
+%if %{with sdl}
 BuildRequires: SDL_image-devel
+BuildRequires: SDL_mixer-devel
+%endif
 BuildRequires: autoconf >= 2.52
-BuildRequires: automake
+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)
 
@@ -60,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
@@ -88,7 +186,7 @@ Ten pakiet zawiera server gry Freeciv.
 %prep
 %setup -q
 %patch0 -p1
-#patch1 -p1
+%patch1 -p1
 %patch2 -p1
 
 %build
@@ -100,7 +198,9 @@ Ten pakiet zawiera server gry Freeciv.
 %configure \
        --with-ggzd-confdir=%{_sysconfdir}/ggzd \
        --disable-silent-rules \
-       --enable-client=all \
+       --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}
 
@@ -122,7 +222,7 @@ 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} -r $RPM_BUILD_ROOT%{_localedir}/no
 %{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules
 
 cp -a data/gtk_menus.xml $RPM_BUILD_ROOT%{_datadir}/%{name}
@@ -133,6 +233,10 @@ 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
@@ -140,7 +244,12 @@ rm -rf $RPM_BUILD_ROOT
 
 %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
 
@@ -148,13 +257,14 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %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/freeciv-server.6*
 %{_iconsdir}/hicolor/*/apps/freeciv-server.png
@@ -168,21 +278,16 @@ 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-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
 %{_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
@@ -192,11 +297,52 @@ rm -rf $RPM_BUILD_ROOT
 %{_datadir}/%{name}/themes
 %{_datadir}/%{name}/trident
 %{_datadir}/%{name}/wonders
+%{_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-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
+%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
+
This page took 0.400198 seconds and 4 git commands to generate.