]> git.pld-linux.org Git - packages/wesnoth.git/blob - wesnoth.spec
2943ebf66536d7d3201bc70f4050a2248ea96142
[packages/wesnoth.git] / wesnoth.spec
1 # TODO
2 # - system lua?
3 # - unpackaged language files
4 #
5 # Conditional build
6 %bcond_without  server  # without server
7 %bcond_without  fribidi # without Bidirectional language support
8
9 Summary:        Strategy game with a fantasy theme
10 Summary(hu.UTF-8):      Fantasy környezetben játszódó stratégiai játék
11 Summary(pl.UTF-8):      Gra strategiczna z motywem fantasy
12 Name:           wesnoth
13 Version:        1.14.16
14 Release:        1
15 Epoch:          1
16 License:        GPL v2+
17 Group:          X11/Applications/Games/Strategy
18 Source0:        http://downloads.sourceforge.net/wesnoth/%{name}-%{version}.tar.bz2
19 # Source0-md5:  769733a55ab5742815e0acf8c51e13e4
20 Source1:        %{name}d.init
21 Source2:        %{name}.tmpfiles
22 Source3:        %{name}.sysconfig
23 Source4:        %{name}d.service
24 URL:            http://www.wesnoth.org/
25 BuildRequires:  SDL2-devel >= 2.0.4
26 BuildRequires:  SDL2_image-devel >= 2.0.0
27 BuildRequires:  SDL2_mixer-devel >= 2.0.0
28 BuildRequires:  SDL2_ttf-devel >= 2.0.12
29 BuildRequires:  boost-devel >= 1.50.0
30 BuildRequires:  bzip2-devel
31 BuildRequires:  cairo-devel >= 1.10.0
32 BuildRequires:  cmake >= 2.8.5
33 BuildRequires:  dbus-devel
34 BuildRequires:  fontconfig-devel >= 2.4.1
35 %{?with_fribidi:BuildRequires:  fribidi-devel >= 0.10.9}
36 BuildRequires:  gettext-tools
37 BuildRequires:  libicu-devel
38 BuildRequires:  libpng-devel
39 BuildRequires:  libstdc++-devel >= 6:4.7
40 BuildRequires:  libvorbis-devel
41 BuildRequires:  openssl-devel >= 1.0
42 BuildRequires:  pango-devel >= 1:1.22.0
43 BuildRequires:  pkgconfig
44 BuildRequires:  readline-devel
45 BuildRequires:  rpm-build >= 4.6
46 BuildRequires:  rpm-pythonprov
47 BuildRequires:  rpmbuild(macros) >= 1.605
48 BuildRequires:  sed >= 4.0
49 BuildRequires:  systemd-devel
50 BuildRequires:  xorg-lib-libICE-devel
51 BuildRequires:  xorg-lib-libSM-devel
52 BuildRequires:  xorg-lib-libX11-devel
53 BuildRequires:  xorg-lib-libXext-devel
54 BuildRequires:  zlib-devel
55 Requires(post,postun):  desktop-file-utils
56 Requires(post,postun):  gtk-update-icon-cache
57 Requires:       %{name}-data = %{epoch}:%{version}
58 Requires:       SDL2 >= 2.0.4
59 Requires:       fontconfig >= 2.4.1
60 %{?with_fribidi:Requires:       fribidi >= 0.10.9}
61 Requires:       pango >= 1:1.22.8
62 Obsoletes:      wesnoth-tools < 1:1.14
63 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65 %description
66 Battle for Wesnoth is a fantasy strategy game. Battle for control of
67 villages, using variety of units which have advantages and
68 disadvantages in different types of terrains and against different
69 types of attacks. Units gain experience and advance levels, and are
70 carried over from one scenario to the next campaign.
71
72 %description -l hu.UTF-8
73 Battle for Wesnoth (Harc Wesnothért) egy fantasy környezetben játszódó
74 stratégiai játék. Harc a falvak megszerzéséért, különböző egységek
75 felhasználásával, amelyeknek különböző előnyeik és hátrányaik vannak a
76 különféle terepeken és a különböző támadási stílusok ellen. Az
77 egységek tapasztalatot gyűjtenek, és fejlődnek, amelyek átvihetők a
78 következő pályára.
79
80 %description -l pl.UTF-8
81 Bitwa o Wesnoth jest strategiczną grą fantasy. Batalia o kontrolę nad
82 wsiami przy pomocy różnego rodzaju oddziałów, które mają przewagę lub
83 jej brak w odmiennym ukształtowaniu terenu i przeciwko różnym sposobom
84 ataku. Oddziały zdobywają doświadczenie i poziomy zaawansowania i są
85 przenoszone z jednej scenerii do następnej kampanii.
86
87 %package server
88 Summary:        Network server for Wesnoth
89 Summary(hu.UTF-8):      Hálózati szerver Wesnoth-hoz
90 Summary(pl.UTF-8):      Sieciowy serwer dla Wesnoth
91 Group:          X11/Applications/Games/Strategy
92 Requires(post,preun):   /sbin/chkconfig
93 Requires(postun):       /usr/sbin/groupdel
94 Requires(postun):       /usr/sbin/userdel
95 Requires(pre):  /usr/sbin/groupadd
96 Requires(pre):  /usr/sbin/useradd
97 Requires:       rc-scripts >= 0.4.0.17
98 Provides:       group(wesnothd)
99 Provides:       user(wesnothd)
100
101 %description server
102 Server for playing networked games of Wesnoth.
103
104 %description server -l hu.UTF-8
105 Szerver a Wesnoth hálózati játékához.
106
107 %description server -l pl.UTF-8
108 Serwer do prowadzenia sieciowych gier Wesnoth.
109
110 %package data
111 Summary:        Strategy game with a fantasy theme - data files
112 Summary(pl.UTF-8):      Gra strategiczna z motywem fantasy - pliki danych
113 Group:          Applications/Games
114 BuildArch:      noarch
115
116 %description data
117 This package contains the data files for Wesnoth.
118
119 %description data -l pl.UTF-8
120 Ten pakiet zawiera pliki danych dla gry Wesnoth.
121
122 %global debug_package %{nil}
123
124 %prep
125 %setup -q
126
127 # don't install locales in %{_datadir}/%{name}
128 %{__sed} -i 's,${DATADIR}/${LOCALEDIR},${LOCALEDIR},' CMakeLists.txt
129
130 %{__sed} -i '1s,/usr/bin/env python3$,%{__python3},' \
131         data/tools/{GUI.pyw,about_cfg_to_wiki,addon_manager/__init__.py,addon_manager/html.py,campaign2wiki.py,extractbindings,hexometer.py,imgcheck,steam-changelog,terrain2wiki.py,unit_tree/TeamColorizer,unit_tree/__init__.py,unit_tree/animations.py,unit_tree/helpers.py,unit_tree/html_output.py,unit_tree/overview.py,unit_tree/wiki_output.py,wesnoth/campaignserver_client.py,wesnoth/libgithub.py,wesnoth/wescamp.py,wesnoth/wmliterator3.py,wesnoth/wmlparser3.py,wesnoth/wmltools3.py,wesnoth_addon_manager,wmlindent,wmllint,wmllint-1.4,wmlscope,wmlunits,wmlxgettext}
132 %{__sed} -i '1s,/usr/bin/env python2$,%{__python},' \
133         data/tools/{expand-terrain-macros.py,journeylifter,rmtrans/rmtrans.py,scoutDefault.py,trackplacer,wesnoth/wmldata.py,wesnoth/wmlgrammar.py,wesnoth/wmliterator.py,wesnoth/wmlparser.py,wesnoth/wmlparser2.py,wesnoth/wmltools.py,wmlflip,wmlvalidator}
134
135 %build
136 install -d build
137 cd build
138 %cmake \
139         .. \
140         -DCMAKE_BUILD_TYPE="Release" \
141         -DENABLE_STRICT_COMPILATION="off" \
142         -DBINDIR="%{_bindir}" \
143         -DMANDIR="%{_mandir}" \
144         -DLOCALEDIR="%{_localedir}" \
145         %{!?with_server:-DENABLE_SERVER="off"} \
146         %{?with_server:-DENABLE_CAMPAIGN_SERVER="on"} \
147         %{!?with_fribidi:-DENABLE_FRIBIDI="off"}
148
149 %{__make}
150
151 %install
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/var/run/wesnothd,/etc/rc.d/init.d,/etc/sysconfig} \
154         $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{_docdir}/%{name}-%{version}} \
155         $RPM_BUILD_ROOT%{systemdunitdir}
156
157 %{__make} -C build install \
158         DESTDIR=$RPM_BUILD_ROOT
159
160 %if %{with server}
161 cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/wesnothd
162 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
163 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/wesnoth
164 cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/wesnothd.service
165 %endif
166
167 %{__mv} $RPM_BUILD_ROOT%{_docdir}/html $RPM_BUILD_ROOT%{_docdir}/%{name}
168
169 # unify
170 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{ca_ES@valencia,ca@valencia}
171 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{nb_NO,nb}
172 %{__mv} $RPM_BUILD_ROOT%{_localedir}/{fur_IT,fur}
173 %{__mv} $RPM_BUILD_ROOT%{_mandir}/{ca_ES@valencia,ca@valencia}
174
175 # unsupported(?)
176 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ang@latin
177 %{__rm} -r $RPM_BUILD_ROOT%{_localedir}/racv
178 %{__rm} -r $RPM_BUILD_ROOT%{_mandir}/sr@ijekavian
179 %{__rm} -r $RPM_BUILD_ROOT%{_mandir}/sr@ijekavianlatin
180
181 # the same as manuals from %{_mandir}/man?
182 %{__rm} -r $RPM_BUILD_ROOT%{_mandir}/en_GB
183
184 %find_lang %{name} --all-name
185
186 %clean
187 rm -rf $RPM_BUILD_ROOT
188
189 %post
190 %update_desktop_database
191 %update_icon_cache hicolor
192
193 %postun
194 %update_desktop_database
195 %update_icon_cache hicolor
196
197 %pre server
198 %groupadd -P %{name}-server -g 178  wesnothd
199 %useradd -P %{name}-server -u 178 -d /var/run/wesnothd -c "Wesnothd User" -g wesnothd wesnothd
200
201 %post server
202 /sbin/chkconfig --add wesnothd
203 %service wesnothd restart
204 %systemd_post wesnothd.service
205
206 %preun server
207 if [ "$1" = "0" ]; then
208         %service wesnothd stop
209         /sbin/chkconfig --del wesnothd
210 fi
211 %systemd_preun wesnothd.service
212
213 %postun server
214 if [ "$1" = "0" ]; then
215         %userremove wesnothd
216         %groupremove wesnothd
217 fi
218 %systemd_reload
219
220 %files -f %{name}.lang
221 %defattr(644,root,root,755)
222 %doc README.md changelog.md
223 %doc %{_docdir}/%{name}
224 %attr(755,root,root) %{_bindir}/wesnoth
225 %{_mandir}/man6/wesnoth.6*
226 %lang(ca) %{_mandir}/ca/man6/wesnoth.6*
227 %lang(de) %{_mandir}/de/man6/wesnoth.6*
228 %lang(es) %{_mandir}/es/man6/wesnoth.6*
229 %lang(fr) %{_mandir}/fr/man6/wesnoth.6*
230 %lang(hu) %{_mandir}/hu/man6/wesnoth.6*
231 %lang(it) %{_mandir}/it/man6/wesnoth.6*
232 %lang(ja) %{_mandir}/ja/man6/wesnoth.6*
233 %lang(lt) %{_mandir}/lt/man6/wesnoth.6*
234 %lang(pt_BR) %{_mandir}/pt_BR/man6/wesnoth.6*
235 %lang(ru) %{_mandir}/ru/man6/wesnoth.6*
236 %lang(tr) %{_mandir}/tr/man6/wesnoth.6*
237 %lang(zh_CN) %{_mandir}/zh_CN/man6/wesnoth.6*
238 %lang(zh_TW) %{_mandir}/zh_TW/man6/wesnoth.6*
239 %{_desktopdir}/wesnoth.desktop
240 %{_iconsdir}/hicolor/*x*/apps/wesnoth-icon.png
241 %{_datadir}/metainfo/wesnoth.appdata.xml
242
243 %if %{with server}
244 %files server
245 %defattr(644,root,root,755)
246 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
247 %attr(755,root,root) %{_bindir}/campaignd
248 %attr(755,root,root) %{_bindir}/wesnothd
249 %attr(754,root,root) /etc/rc.d/init.d/wesnothd
250 %attr(644,root,root) %{systemdunitdir}/wesnothd.service
251 %{_mandir}/man6/wesnothd.6*
252 %lang(ca) %{_mandir}/ca/man6/wesnothd.6*
253 %lang(cs) %{_mandir}/cs/man6/wesnothd.6*
254 %lang(de) %{_mandir}/de/man6/wesnothd.6*
255 %lang(es) %{_mandir}/es/man6/wesnothd.6*
256 %lang(et) %{_mandir}/et/man6/wesnothd.6*
257 %lang(fi) %{_mandir}/fi/man6/wesnothd.6*
258 %lang(fr) %{_mandir}/fr/man6/wesnothd.6*
259 %lang(gl) %{_mandir}/gl/man6/wesnothd.6*
260 %lang(hu) %{_mandir}/hu/man6/wesnothd.6*
261 %lang(id) %{_mandir}/id/man6/wesnothd.6*
262 %lang(it) %{_mandir}/it/man6/wesnothd.6*
263 %lang(ja) %{_mandir}/ja/man6/wesnothd.6*
264 %lang(lt) %{_mandir}/lt/man6/wesnothd.6*
265 %lang(pl) %{_mandir}/pl/man6/wesnothd.6*
266 %lang(pt) %{_mandir}/pt/man6/wesnothd.6*
267 %lang(pt_BR) %{_mandir}/pt_BR/man6/wesnothd.6*
268 %lang(ru) %{_mandir}/ru/man6/wesnothd.6*
269 %lang(sk) %{_mandir}/sk/man6/wesnothd.6*
270 %lang(sr) %{_mandir}/sr/man6/wesnothd.6*
271 %lang(sr@latin) %{_mandir}/sr@latin/man6/wesnothd.6*
272 %lang(tr) %{_mandir}/tr/man6/wesnothd.6*
273 %lang(uk) %{_mandir}/uk/man6/wesnothd.6*
274 %lang(vi) %{_mandir}/vi/man6/wesnothd.6*
275 %lang(zh_CN) %{_mandir}/zh_CN/man6/wesnothd.6*
276 %lang(zh_TW) %{_mandir}/zh_TW/man6/wesnothd.6*
277 %attr(770,wesnothd,wesnothd) %dir /var/run/wesnothd
278 %{systemdtmpfilesdir}/%{name}.conf
279 %endif
280
281 %files data
282 %defattr(644,root,root,755)
283 %{_datadir}/%{name}
This page took 0.097213 seconds and 2 git commands to generate.