]> git.pld-linux.org Git - packages/freeciv.git/blob - freeciv.spec
added bcond for modpack
[packages/freeciv.git] / freeciv.spec
1 #
2 # TODO:
3 #       - gtk3 client is broken:
4 #               GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
5 #       - work on authentication and Freeciv database support (fcdb)
6 #       - patch all packaged desktop files
7 #       - modpack requires gtk2 or gtk3
8 #
9 # Conditional build:
10 %bcond_without  ggz_client      # build without ggz client
11 %bcond_without  ggz_server      # build without ggz server
12 %bcond_without  magickwand      # build without MagickWand map image toolkit support
13 %bcond_without  system_lua      # build with bundled lua
14 %bcond_without  gtk2            # build without gtk2 client
15 %bcond_without  gtk3            # build without gtk3 client
16 %bcond_without  sdl             # build without sdl client
17 %bcond_without  xaw             # build without xaw client
18 %bcond_with     qt              # build with qt client (broken)
19 %bcond_without  modpack         # build without modpack installer
20 #
21 Summary:        FREE CIVilization clone
22 Summary(es.UTF-8):      Clon del juego Civilization
23 Summary(pl.UTF-8):      Niekomercyjny klon CIVilization
24 Summary(pt_BR.UTF-8):   Clone do jogo Civilization
25 Name:           freeciv
26 Version:        2.4.4
27 Release:        0.3
28 License:        GPL v2+
29 Group:          X11/Applications/Games/Strategy
30 Source0:        http://downloads.sourceforge.net/freeciv/%{name}-%{version}.tar.bz2
31 # Source0-md5:  038c53184497fcf31bcd268418dbe4f6
32 # NOTE: current version of freeland tiles does not work with newest freeciv version
33 #Source1:       http://download.gna.org/freeciv/contrib/tilesets/freeland/freeland-normal-2.0.0.tar.gz
34 Patch0:         %{name}-link.patch
35 Patch1:         %{name}-desktop.patch
36 Patch2:         %{name}-ggz.patch
37 URL:            http://freeciv.wikia.com/
38 %{?with_magickwand:BuildRequires:       ImageMagick-devel}
39 %if %{with sdl}
40 BuildRequires:  SDL_image-devel
41 BuildRequires:  SDL_mixer-devel
42 %endif
43 BuildRequires:  autoconf >= 2.52
44 BuildRequires:  automake >= 1:1.9
45 BuildRequires:  curl-devel
46 BuildRequires:  gettext-tools
47 %{?with_ggz_client:BuildRequires:       ggz-gtk-client-devel}
48 %{?with_gtk2:BuildRequires:     gtk+2-devel}
49 %{?with_gtk3:BuildRequires:     gtk+3-devel}
50 BuildRequires:  libggz-devel
51 BuildRequires:  libpng-devel
52 BuildRequires:  libtool
53 %{?with_system_lua:BuildRequires:       lua51-devel}
54 BuildRequires:  pkgconfig
55 BuildRequires:  readline-devel
56 %{?with_xaw:BuildRequires:      xorg-lib-libXaw-devel}
57 BuildRequires:  zlib-devel
58 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
60 %define         specflags       -O1
61
62 %description
63 Free clone of Sid Meier's Civilization. Free Civilization clone for
64 Unix and X. This is multiplayer strategic game and you can also play
65 against computer-AI players.
66
67 %description -l es.UTF-8
68 Clon del juego Civilization.
69
70 %description -l pl.UTF-8
71 Freeciv jest to niekomercyjny (GPL) klon gry Civilization Sida Meiera.
72 Jest to gra strategiczna dla systemu X Window. Można grać w nią z
73 innymi osobami poprzez sieć, a także przeciwko "graczom" zarządzanym
74 przez komputer.
75
76 %description -l pt_BR.UTF-8
77 O FreeCiv é uma implementação do Civilization II para o Sistema X
78 Window.
79
80 %package client
81 Summary:        GTK2 Freeciv game client
82 Summary(pl.UTF-8):      Klient gry Freeciv korzystający z GTK2
83 Group:          X11/Applications/Games/Strategy
84 Requires:       %{name} = %{version}-%{release}
85 Requires:       %{name}-client-common = %{version}-%{release}
86 Suggests:       %{name}-server = %{version}-%{release}
87
88 %description client
89 This package contains GTK2-based Freeciv game client.
90
91 %description client -l pl.UTF-8
92 Ten pakiet zawiera klienta gry Freeciv korzystającego z GTK2.
93
94 %package client-common
95 Summary:        Freeciv game client common files
96 Summary(pl.UTF-8):      Wspólne pliki klientów gry Freeciv
97 Group:          X11/Applications/Games/Strategy
98 Requires:       %{name} = %{version}-%{release}
99 Requires:       %{name}-client-common = %{version}-%{release}
100 Suggests:       %{name}-server = %{version}-%{release}
101
102 %description client-common
103 This package contains common files for Freeciv game clients.
104
105 %description client-common -l pl.UTF-8
106 Ten pakiet zawiera wspólne pliki dla klientów gry Freeciv.
107
108 %package client-gtk3
109 Summary:        GTK3 Freeciv game client
110 Summary(pl.UTF-8):      Klient gry Freeciv korzystający z GTK3
111 Group:          X11/Applications/Games/Strategy
112 Requires:       %{name} = %{version}-%{release}
113 Suggests:       %{name}-server = %{version}-%{release}
114
115 %description client-gtk3
116 This package contains GTK3-based Freeciv game client.
117
118 %description client-gtk3 -l pl.UTF-8
119 Ten pakiet zawiera klienta gry Freeciv korzystającego z GTK3.
120
121 %package client-sdl
122 Summary:        SDL Freeciv game client
123 Summary(pl.UTF-8):      Klient gry Freeciv korzystający z SDL
124 Group:          X11/Applications/Games/Strategy
125 Requires:       %{name} = %{version}-%{release}
126 Requires:       %{name}-client-common = %{version}-%{release}
127 Requires:       SDL_mixer
128 Suggests:       %{name}-server = %{version}-%{release}
129
130 %description client-sdl
131 This package contains SDL-based Freeciv game client.
132
133 %description client-sdl -l pl.UTF-8
134 Ten pakiet zawiera klienta gry Freeciv korzystającego z SDL.
135
136 %package client-xaw
137 Summary:        XAW Freeciv game client
138 Summary(pl.UTF-8):      Klient gry Freeciv korzystający z XAW
139 Group:          X11/Applications/Games/Strategy
140 Requires:       %{name} = %{version}-%{release}
141 Requires:       %{name}-client-common = %{version}-%{release}
142 Suggests:       %{name}-server = %{version}-%{release}
143
144 %description client-xaw
145 This package contains based Freeciv game client using XAW (X Athena
146 Widgets).
147
148 %description client-xaw -l pl.UTF-8
149 Ten pakiet zawiera klienta gry Freeciv korzystającego z biblioteki XAW
150 (X Athena Widgets)
151
152 %package client-modpack
153 Summary:        Custom content installer for the Freeciv game
154 Summary(pl.UTF-8):      Instalator dodatków do gry Freeciv
155 Group:          X11/Applications/Games/Strategy
156 Requires:       %{name} = %{version}-%{release}
157 Requires:       %{name}-client-common = %{version}-%{release}
158 Suggests:       %{name}-server = %{version}-%{release}
159
160 %description client-modpack
161 Custom content installer for the Freeciv game.
162
163 This program allows users to select and download add-on content
164 ("modpacks") for Freeciv from the Internet, either from a list
165 maintained by the Freeciv team, or by using a URL obtained by other
166 means. It takes care of installing the files in the correct place
167 under the user's home directory for this version of Freeciv; it does
168 not install anything for system-wide use.
169
170 %description client-modpack -l pl.UTF-8
171 Ten pakiet zawiera instalator dodatków do gry Freeciv dostępnych w
172 internecie.
173
174 %package server
175 Summary:        Freeciv game server
176 Summary(pl.UTF-8):      Serwer gry Freeciv
177 Group:          X11/Applications/Games/Strategy
178 Requires:       %{name} = %{version}-%{release}
179
180 %description server
181 This package contans Freeciv game server.
182
183 %description server -l pl.UTF-8
184 Ten pakiet zawiera server gry Freeciv.
185
186 %prep
187 %setup -q
188 %patch0 -p1
189 %patch1 -p1
190 %patch2 -p1
191
192 %build
193 %{__libtoolize}
194 %{__aclocal} -I m4
195 %{__autoconf}
196 %{__autoheader}
197 %{__automake}
198 %configure \
199         --with-ggzd-confdir=%{_sysconfdir}/ggzd \
200         --disable-silent-rules \
201         --enable-client=stub,%{?with_gtk2:gtk2},%{?with_gtk3:gtk3},%{?with_qt:qt},%{?with_sdl:sdl},%{?with_xaw:xaw} \
202         --enable-mapimg=%{?with_magickwand:magickwand}%{!?with_magickwand:no} \
203         %{!?with_modpack:--enable-fcmp=no} \
204         %{?with_system_lua:--enable-sys-lua} \
205         %{!?with_ggz_client:--without-ggz-client} \
206         %{!?with_ggz_server:--without-ggz-server}
207
208 %{__make}
209
210 %install
211 rm -rf $RPM_BUILD_ROOT
212 install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir}}
213
214 %{__make} install \
215         DESTDIR=$RPM_BUILD_ROOT
216
217 cp -a client/%{name}.desktop $RPM_BUILD_ROOT%{_desktopdir}/%{name}-client.desktop
218 cp -a server/%{name}-server.desktop $RPM_BUILD_ROOT%{_desktopdir}
219 %{__rm} -f $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
220
221 cp -a data/icons/32x32/*.png $RPM_BUILD_ROOT%{_pixmapsdir}
222 cp -a data/stdsounds{,.soundspec} $RPM_BUILD_ROOT%{_datadir}/%{name}
223 #cp -a freeland.tilespec $RPM_BUILD_ROOT%{_datadir}/%{name}
224 #cp -a freeland $RPM_BUILD_ROOT%{_datadir}/%{name}
225
226 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/no
227 %{__rm} -f $RPM_BUILD_ROOT%{_sysconfdir}/ggz.modules
228
229 cp -a data/gtk_menus.xml $RPM_BUILD_ROOT%{_datadir}/%{name}
230
231 %if %{with ggz_server}
232 install -d $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/{games,rooms}
233 cp -a data/civserver.dsc $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/games/civserver.dsc
234 cp -a data/civserver.room $RPM_BUILD_ROOT%{_sysconfdir}/ggzd/rooms/civserver.room
235 %endif
236
237 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
238 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libfreeciv{,-srv}.{a,la}
239 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man6/freeciv-qt*
240
241 # from freeciv-manual man:
242 #      This tool is currently only really of use to the Freeciv maintainers, 
243 #      as a starting point for  pages  on  the  main Freeciv wiki; 
244 #      it's not very useful to end users.
245 %{__rm} $RPM_BUILD_ROOT%{_bindir}/freeciv-manual
246 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man6/freeciv-manual*
247
248 %{__rm} $RPM_BUILD_ROOT%{_bindir}/freeciv-stub
249
250 # needed if building --without gtk2,gtk3,sdl
251 %{__install} -d $RPM_BUILD_ROOT%{_datadir}/%{name}/themes
252
253 %find_lang %{name}
254
255 %clean
256 rm -rf $RPM_BUILD_ROOT
257
258 %files -f %{name}.lang
259 %defattr(644,root,root,755)
260 %doc AUTHORS doc/BUGS ChangeLog doc/FAQ doc/HOWTOPLAY
261 %doc NEWS NEWS-2.4
262 %doc doc/README.SDLClient doc/README.cma doc/README.effects doc/README.fcdb
263 %doc doc/README.graphics doc/README.sound
264 %doc doc/README.ruleset_experimental doc/README.ruleset_multiplayer doc/README.rulesets
265 %doc doc/TODO
266 %dir %{_datadir}/%{name}
267 %{_datadir}/%{name}/helpdata.txt
268
269 %files server
270 %defattr(644,root,root,755)
271 %attr(755,root,root) %{_bindir}/freeciv-server
272 #attr(755,root,root) %{_bindir}/freeciv-manual
273 %{_desktopdir}/%{name}-server.desktop
274 %{_datadir}/appdata/freeciv-server.appdata.xml
275 %{_datadir}/%{name}/civ1
276 %{_datadir}/%{name}/civ2
277 %{_datadir}/%{name}/default
278 %{_datadir}/%{name}/experimental
279 %{_datadir}/%{name}/multiplayer
280 %{_datadir}/%{name}/nation
281 %{_datadir}/%{name}/scenarios
282 %{_datadir}/%{name}/*.serv
283 %{_mandir}/man6/freeciv-server.6*
284 #{_mandir}/man6/freeciv-manual.6*
285 %{_iconsdir}/hicolor/*/apps/freeciv-server.png
286 %{_pixmapsdir}/freeciv-server.png
287
288 %if %{with ggz_server}
289 %dir %{_sysconfdir}/ggzd
290 %dir %{_sysconfdir}/ggzd/games
291 %dir %{_sysconfdir}/ggzd/rooms
292 %{_sysconfdir}/ggzd/games/civserver.dsc
293 %{_sysconfdir}/ggzd/rooms/civserver.room
294 %endif
295
296 %files client-common
297 %defattr(644,root,root,755)
298 %{_datadir}/%{name}/*.*spec
299 %{_datadir}/%{name}/amplio2
300 %{_datadir}/%{name}/buildings
301 %{_datadir}/%{name}/cimpletoon
302 %{_datadir}/%{name}/flags
303 %{_datadir}/%{name}/gtk_menus.xml
304 %{_datadir}/%{name}/hex2t
305 %{_datadir}/%{name}/isophex
306 %{_datadir}/%{name}/isotrident
307 %{_datadir}/%{name}/misc
308 %{_datadir}/%{name}/stdsounds
309 %dir %{_datadir}/%{name}/themes
310 %{_datadir}/%{name}/trident
311 %{_datadir}/%{name}/wonders
312
313 %if %{with modpack}
314 %files client-modpack
315 %defattr(644,root,root,755)
316 %attr(755,root,root) %{_bindir}/freeciv-modpack
317 %{_desktopdir}/%{name}-modpack.desktop
318 %{_datadir}/appdata/freeciv-modpack.appdata.xml
319 %{_iconsdir}/hicolor/*/apps/freeciv-modpack.png
320 %{_pixmapsdir}/freeciv-modpack.png
321 %{_mandir}/man6/freeciv-modpack.6*
322 %endif
323
324 %if %{with gtk2}
325 %files client
326 %defattr(644,root,root,755)
327 %attr(755,root,root) %{_bindir}/freeciv-gtk2
328 %{_desktopdir}/%{name}-client.desktop
329 %{_datadir}/appdata/freeciv-gtk2.appdata.xml
330 %{_datadir}/%{name}/freeciv.rc-2.0
331 %{_datadir}/%{name}/themes/gui-gtk-2.0
332 %{_mandir}/man6/freeciv-client.6*
333 %{_mandir}/man6/freeciv-gtk2.6*
334 %{_iconsdir}/hicolor/*/apps/freeciv-client.png
335 %{_pixmapsdir}/freeciv-client.png
336 %endif
337
338 %if %{with gtk3}
339 %files client-gtk3
340 %defattr(644,root,root,755)
341 %attr(755,root,root) %{_bindir}/freeciv-gtk3
342 %{_desktopdir}/%{name}-gtk3.desktop
343 %{_datadir}/appdata/freeciv-gtk3.appdata.xml
344 %{_datadir}/%{name}/themes/gui-gtk-3.0
345 %{_mandir}/man6/freeciv-gtk3.6*
346 %endif
347
348 %if %{with sdl}
349 %files client-sdl
350 %defattr(644,root,root,755)
351 %attr(755,root,root) %{_bindir}/freeciv-sdl
352 %{_desktopdir}/%{name}-sdl.desktop
353 %{_datadir}/appdata/freeciv-sdl.appdata.xml
354 %{_datadir}/%{name}/themes/gui-sdl
355 %{_mandir}/man6/freeciv-sdl.6*
356 %endif
357
358 %if %{with xaw}
359 %files client-xaw
360 %defattr(644,root,root,755)
361 %attr(755,root,root) %{_bindir}/freeciv-xaw
362 %{_datadir}/%{name}/Freeciv
363 %{_mandir}/man6/freeciv-xaw.6*
364 %endif
365
This page took 0.09294 seconds and 3 git commands to generate.