X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=wesnoth.spec;h=8b80969dbc32e2c45d27f63c84af746638e0b96f;hb=78fe2aa;hp=6894bc29f6ea9ffe7d0a81432e8c366e4d8a41ec;hpb=18b24caf92dfe04bbe95cfdc7033f1e78c452719;p=packages%2Fwesnoth.git diff --git a/wesnoth.spec b/wesnoth.spec index 6894bc2..8b80969 100644 --- a/wesnoth.spec +++ b/wesnoth.spec @@ -1,46 +1,61 @@ # TODO -# - rename language files sr@latin to sr@Latn and include them -# - use desktop file included with project (consider which one are better) -# - dont know what should I do with sr@latin man pages +# - system lua? +# - unpackaged language files +# # Conditional build %bcond_without server # without server -%bcond_without tools # without tools %bcond_without fribidi # without Bidirectional language support -# + Summary: Strategy game with a fantasy theme Summary(hu.UTF-8): Fantasy környezetben játszódó stratégiai játék -Summary(pl.UTF-8): Strategiczna gra z motywem fantasy +Summary(pl.UTF-8): Gra strategiczna z motywem fantasy Name: wesnoth -Version: 1.4.5 -Release: 3 +Version: 1.14.16 +Release: 1 Epoch: 1 License: GPL v2+ Group: X11/Applications/Games/Strategy -Source0: http://www.wesnoth.org/files/%{name}-%{version}.tar.bz2 -# Source0-md5: 09b7b76d4a4eedf502f38df9d551d827 -Source1: %{name}.desktop -Source2: %{name}_editor.desktop -Source3: %{name}d.init -Patch0: %{name}-Makefile.patch -Patch1: %{name}-locale_dir.patch +Source0: http://downloads.sourceforge.net/wesnoth/%{name}-%{version}.tar.bz2 +# Source0-md5: 769733a55ab5742815e0acf8c51e13e4 +Source1: %{name}d.init +Source2: %{name}.tmpfiles +Source3: %{name}.sysconfig +Source4: %{name}d.service URL: http://www.wesnoth.org/ -BuildRequires: SDL-devel >= 1.2.7 -BuildRequires: SDL_image-devel >= 1.2 -BuildRequires: SDL_mixer-devel >= 1.2 -BuildRequires: SDL_net-devel >= 1.2 -BuildRequires: SDL_ttf-devel >= 2.0 -BuildRequires: autoconf >= 2.59 -BuildRequires: automake >= 1:1.9 -BuildRequires: boost-devel >= 1.33 +BuildRequires: SDL2-devel >= 2.0.4 +BuildRequires: SDL2_image-devel >= 2.0.0 +BuildRequires: SDL2_mixer-devel >= 2.0.0 +BuildRequires: SDL2_ttf-devel >= 2.0.12 +BuildRequires: boost-devel >= 1.50.0 +BuildRequires: bzip2-devel +BuildRequires: cairo-devel >= 1.10.0 +BuildRequires: cmake >= 2.8.5 +BuildRequires: dbus-devel +BuildRequires: fontconfig-devel >= 2.4.1 %{?with_fribidi:BuildRequires: fribidi-devel} -BuildRequires: gettext-devel +BuildRequires: gettext-tools +BuildRequires: libicu-devel BuildRequires: libpng-devel BuildRequires: libstdc++-devel -BuildRequires: libtool >= 2:1.5 -BuildRequires: python-devel +BuildRequires: libvorbis-devel +BuildRequires: openssl-devel +BuildRequires: pango-devel >= 1:1.22.0 +BuildRequires: pkgconfig BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.268 -BuildRequires: zipios++-devel +BuildRequires: rpmbuild(macros) >= 1.605 +BuildRequires: sed >= 4.0 +BuildRequires: systemd-devel +BuildRequires: xorg-lib-libICE-devel +BuildRequires: xorg-lib-libSM-devel +BuildRequires: xorg-lib-libX11-devel +BuildRequires: xorg-lib-libXext-devel +BuildRequires: zlib-devel +Requires(post,postun): desktop-file-utils +Requires(post,postun): gtk-update-icon-cache +Requires: %{name}-data = %{epoch}:%{version} +Requires: SDL2 >= 2.0.4 +Requires: fontconfig >= 2.4.1 +Requires: pango >= 1:1.22.8 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %description @@ -67,6 +82,7 @@ przenoszone z jednej scenerii do następnej kampanii. %package server Summary: Network server for Wesnoth +Summary(hu.UTF-8): Hálózati szerver Wesnoth-hoz Summary(pl.UTF-8): Sieciowy serwer dla Wesnoth Group: X11/Applications/Games/Strategy Requires(post,preun): /sbin/chkconfig @@ -75,6 +91,8 @@ Requires(postun): /usr/sbin/userdel Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd Requires: rc-scripts >= 0.4.0.17 +Provides: group(wesnothd) +Provides: user(wesnothd) %description server Server for playing networked games of Wesnoth. @@ -85,73 +103,91 @@ Szerver a Wesnoth hálózati játékához. %description server -l pl.UTF-8 Serwer do prowadzenia sieciowych gier Wesnoth. -%package tools -Summary: Tools for Wesnoth -Summary(hu.UTF.8): Eszközök a Wesnoth-hoz -Summary(pl.UTF-8): Narzędzia dla Wesnoth -Group: X11/Applications/Games/Strategy -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description tools -Map editor and translations tools. +%package data +Summary: Strategy game with a fantasy theme - data files +Summary(pl.UTF-8): Gra strategiczna z motywem fantasy - pliki danych +Group: Applications/Games +BuildArch: noarch -%description tools -l hu.UTF-8 -Pályaszerkesztők és fordítási eszközök. +%description data +This package contains the data files for Wesnoth. -%description tools -l pl.UTF-8 -Edytor map i narzędzia do tłumaczeń. +%description data -l pl.UTF-8 +Ten pakiet zawiera pliki danych dla gry Wesnoth. %prep %setup -q -%patch0 -p1 -%patch1 -p1 + +# don't install locales in %{_datadir}/%{name} +%{__sed} -i 's,${DATADIR}/${LOCALEDIR},${LOCALEDIR},' CMakeLists.txt + +%{__sed} -i '1s,/usr/bin/env python3$,%{__python3},' \ + 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} +%{__sed} -i '1s,/usr/bin/env python2$,%{__python},' \ + 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} %build -%{__gettextize} -%{__aclocal} -I m4 -%{__autoconf} -%{__autoheader} -%{__automake} -%configure \ - %{?with_server:--enable-server} \ - %{?with_tools:--enable-editor} \ - %{?with_tools:--enable-tools} \ - --with%{!?with_fribidi:out}-fribidi \ - --docdir=%{_docdir}/%{name}-%{version} \ - --with-icondir=%{_pixmapsdir} \ - --with-zipios +install -d build +cd build +%cmake \ + .. \ + -DCMAKE_BUILD_TYPE="Release" \ + -DENABLE_STRICT_COMPILATION="off" \ + -DBINDIR="%{_bindir}" \ + -DMANDIR="%{_mandir}" \ + -DLOCALEDIR="%{_localedir}" \ + %{!?with_server:-DENABLE_SERVER="off"} \ + %{?with_server:-DENABLE_CAMPAIGN_SERVER="on"} \ + %{!?with_fribidi:-DENABLE_FRIBIDI="off"} + %{__make} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/var/run/wesnothd,/etc/rc.d/init.d,%{_docdir}/%{name}-%{version}} +install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/var/run/wesnothd,/etc/rc.d/init.d,/etc/sysconfig} \ + $RPM_BUILD_ROOT{%{systemdtmpfilesdir},%{_docdir}/%{name}-%{version}} \ + $RPM_BUILD_ROOT%{systemdunitdir} -%{__make} install \ +%{__make} -C build install \ DESTDIR=$RPM_BUILD_ROOT -# install additional docs -install changelog README $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version} -gzip -9nf $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/{changelog,README} +%if %{with server} +cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/wesnothd +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/wesnoth +cp -p %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/wesnothd.service +%endif -install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir} -install %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir} -install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/wesnothd +%{__mv} $RPM_BUILD_ROOT%{_docdir}/html $RPM_BUILD_ROOT%{_docdir}/%{name} -mv -f $RPM_BUILD_ROOT%{_datadir}/locale/{nb_NO,nb} +# unify +%{__mv} $RPM_BUILD_ROOT%{_localedir}/{ca_ES@valencia,ca@valencia} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/{nb_NO,nb} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/{fur_IT,fur} +%{__mv} $RPM_BUILD_ROOT%{_mandir}/{ca_ES@valencia,ca@valencia} # unsupported(?) -rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/ca_ES@valencia -rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/la -rm -rf $RPM_BUILD_ROOT%{_mandir}/ca_ES@valencia +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/ang@latin +%{__rm} -r $RPM_BUILD_ROOT%{_localedir}/racv +%{__rm} -r $RPM_BUILD_ROOT%{_mandir}/sr@ijekavian +%{__rm} -r $RPM_BUILD_ROOT%{_mandir}/sr@ijekavianlatin # the same as manuals from %{_mandir}/man? -rm -rf $RPM_BUILD_ROOT%{_mandir}/en_GB +%{__rm} -r $RPM_BUILD_ROOT%{_mandir}/en_GB %find_lang %{name} --all-name %clean rm -rf $RPM_BUILD_ROOT +%post +%update_desktop_database +%update_icon_cache hicolor + +%postun +%update_desktop_database +%update_icon_cache hicolor + %pre server %groupadd -P %{name}-server -g 178 wesnothd %useradd -P %{name}-server -u 178 -d /var/run/wesnothd -c "Wesnothd User" -g wesnothd wesnothd @@ -159,94 +195,83 @@ rm -rf $RPM_BUILD_ROOT %post server /sbin/chkconfig --add wesnothd %service wesnothd restart +%systemd_post wesnothd.service %preun server if [ "$1" = "0" ]; then %service wesnothd stop /sbin/chkconfig --del wesnothd +fi +%systemd_preun wesnothd.service + +%postun server +if [ "$1" = "0" ]; then %userremove wesnothd %groupremove wesnothd fi +%systemd_reload %files -f %{name}.lang %defattr(644,root,root,755) -%doc %{_docdir}/%{name}-%{version} +#%doc README changelog +%doc %{_docdir}/%{name} %attr(755,root,root) %{_bindir}/wesnoth %{_mandir}/man6/wesnoth.6* -%lang(cs) %{_mandir}/cs/man6/wesnoth.6* -%lang(da) %{_mandir}/da/man6/wesnoth.6* +%lang(ca) %{_mandir}/ca/man6/wesnoth.6* %lang(de) %{_mandir}/de/man6/wesnoth.6* %lang(es) %{_mandir}/es/man6/wesnoth.6* %lang(fr) %{_mandir}/fr/man6/wesnoth.6* -%lang(gl) %{_mandir}/gl/man6/wesnoth.6* %lang(hu) %{_mandir}/hu/man6/wesnoth.6* %lang(it) %{_mandir}/it/man6/wesnoth.6* %lang(ja) %{_mandir}/ja/man6/wesnoth.6* %lang(lt) %{_mandir}/lt/man6/wesnoth.6* -%lang(nl) %{_mandir}/nl/man6/wesnoth.6* -%lang(pl) %{_mandir}/pl/man6/wesnoth.6* -%lang(sk) %{_mandir}/sk/man6/wesnoth.6* -%lang(sr) %{_mandir}/sr/man6/wesnoth.6* -%lang(sv) %{_mandir}/sv/man6/wesnoth.6* +%lang(pt_BR) %{_mandir}/pt_BR/man6/wesnoth.6* +%lang(ru) %{_mandir}/ru/man6/wesnoth.6* %lang(tr) %{_mandir}/tr/man6/wesnoth.6* %lang(zh_CN) %{_mandir}/zh_CN/man6/wesnoth.6* -%{_datadir}/%{name} -%{_desktopdir}/%{name}.desktop -%{_pixmapsdir}/%{name}-icon.png +%lang(zh_TW) %{_mandir}/zh_TW/man6/wesnoth.6* +%{_desktopdir}/wesnoth.desktop +%{_iconsdir}/hicolor/*x*/apps/wesnoth-icon.png +%{_datadir}/metainfo/wesnoth.appdata.xml %if %{with server} %files server %defattr(644,root,root,755) +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} +%attr(755,root,root) %{_bindir}/campaignd %attr(755,root,root) %{_bindir}/wesnothd %attr(754,root,root) /etc/rc.d/init.d/wesnothd +%attr(644,root,root) %{systemdunitdir}/wesnothd.service %{_mandir}/man6/wesnothd.6* +%lang(ca) %{_mandir}/ca/man6/wesnothd.6* %lang(cs) %{_mandir}/cs/man6/wesnothd.6* -%lang(da) %{_mandir}/da/man6/wesnothd.6* %lang(de) %{_mandir}/de/man6/wesnothd.6* %lang(es) %{_mandir}/es/man6/wesnothd.6* +%lang(et) %{_mandir}/et/man6/wesnothd.6* +%lang(fi) %{_mandir}/fi/man6/wesnothd.6* %lang(fr) %{_mandir}/fr/man6/wesnothd.6* %lang(gl) %{_mandir}/gl/man6/wesnothd.6* %lang(hu) %{_mandir}/hu/man6/wesnothd.6* +%lang(id) %{_mandir}/id/man6/wesnothd.6* %lang(it) %{_mandir}/it/man6/wesnothd.6* %lang(ja) %{_mandir}/ja/man6/wesnothd.6* %lang(lt) %{_mandir}/lt/man6/wesnothd.6* -%lang(nl) %{_mandir}/nl/man6/wesnothd.6* %lang(pl) %{_mandir}/pl/man6/wesnothd.6* +%lang(pt) %{_mandir}/pt/man6/wesnothd.6* +%lang(pt_BR) %{_mandir}/pt_BR/man6/wesnothd.6* +%lang(ru) %{_mandir}/ru/man6/wesnothd.6* %lang(sk) %{_mandir}/sk/man6/wesnothd.6* %lang(sr) %{_mandir}/sr/man6/wesnothd.6* -%lang(sv) %{_mandir}/sv/man6/wesnothd.6* +%lang(sr@latin) %{_mandir}/sr@latin/man6/wesnothd.6* %lang(tr) %{_mandir}/tr/man6/wesnothd.6* +%lang(uk) %{_mandir}/uk/man6/wesnothd.6* +%lang(vi) %{_mandir}/vi/man6/wesnothd.6* %lang(zh_CN) %{_mandir}/zh_CN/man6/wesnothd.6* +%lang(zh_TW) %{_mandir}/zh_TW/man6/wesnothd.6* %attr(770,wesnothd,wesnothd) %dir /var/run/wesnothd +%{systemdtmpfilesdir}/%{name}.conf %endif -%if %{with tools} -%files tools +%files data %defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/cutter -%attr(755,root,root) %{_bindir}/exploder -%attr(755,root,root) %{_bindir}/wesnoth_editor -%attr(755,root,root) %{_bindir}/wmlindent -%attr(755,root,root) %{_bindir}/wmllint -%attr(755,root,root) %{_bindir}/wmlscope -%{_mandir}/man6/wesnoth_editor.6* -%lang(cs) %{_mandir}/cs/man6/wesnoth_editor.6* -%lang(da) %{_mandir}/da/man6/wesnoth_editor.6* -%lang(de) %{_mandir}/de/man6/wesnoth_editor.6* -%lang(es) %{_mandir}/es/man6/wesnoth_editor.6* -%lang(fr) %{_mandir}/fr/man6/wesnoth_editor.6* -%lang(gl) %{_mandir}/gl/man6/wesnoth_editor.6* -%lang(hu) %{_mandir}/hu/man6/wesnoth_editor.6* -%lang(it) %{_mandir}/it/man6/wesnoth_editor.6* -%lang(ja) %{_mandir}/ja/man6/wesnoth_editor.6* -%lang(lt) %{_mandir}/lt/man6/wesnoth_editor.6* -%lang(nl) %{_mandir}/nl/man6/wesnoth_editor.6* -%lang(pl) %{_mandir}/pl/man6/wesnoth_editor.6* -%lang(sk) %{_mandir}/sk/man6/wesnoth_editor.6* -%lang(sr) %{_mandir}/sr/man6/wesnoth_editor.6* -%lang(sv) %{_mandir}/sv/man6/wesnoth_editor.6* -%lang(tr) %{_mandir}/tr/man6/wesnoth_editor.6* -%lang(zh_CN) %{_mandir}/zh_CN/man6/wesnoth_editor.6* -%{_desktopdir}/%{name}_editor.desktop -%{_pixmapsdir}/%{name}_editor-icon.png -%endif +%{_datadir}/%{name}