+++ /dev/null
---- widelands-build16-src/src/graphic/SDL_mng.cc.orig 2012-02-11 10:20:23.248971926 +0100
-+++ widelands-build16-src/src/graphic/SDL_mng.cc 2012-02-11 10:21:08.652535416 +0100
-@@ -239,7 +239,7 @@
- SDL_Surface * MNG_read_frame(SDL_RWops * const src)
- {
- png_uint_32 width, height;
-- int bit_depth, color_type, interlace_type;
-+ int bit_depth, color_type, interlace_type, num_palette;
- Uint32 Rmask;
- Uint32 Gmask;
- Uint32 Bmask;
-@@ -247,6 +247,7 @@
- SDL_Palette * palette;
- volatile int ckey = -1;
- png_color_16 * transv;
-+ png_colorp png_palette;
-
- /* Initialize the data we will clean up when we're done */
- png_structp png_ptr = 0;
-@@ -276,7 +277,7 @@
- * the normal method of doing things with libpng). REQUIRED unless you
- * set up your own error handlers in png_create_read_struct() earlier.
- */
-- if (setjmp(png_ptr->jmpbuf)) {
-+ if (setjmp(png_jmpbuf(png_ptr))) {
- SDL_SetError("Error reading the PNG file.");
- goto done;
- }
-@@ -356,9 +357,9 @@
- Rmask = 0x000000FF;
- Gmask = 0x0000FF00;
- Bmask = 0x00FF0000;
-- Amask = (info_ptr->channels == 4) ? 0xFF000000 : 0;
-+ Amask = (png_get_channels(png_ptr, info_ptr) == 4) ? 0xFF000000 : 0;
- } else {
-- int const s = (info_ptr->channels == 4) ? 0 : 8;
-+ int const s = (png_get_channels(png_ptr, info_ptr) == 4) ? 0 : 8;
- Rmask = 0xFF000000 >> s;
- Gmask = 0x00FF0000 >> s;
- Bmask = 0x0000FF00 >> s;
-@@ -370,7 +370,7 @@
- SDL_AllocSurface
- (SDL_SWSURFACE,
- width, height,
-- bit_depth * info_ptr->channels,
-+ bit_depth * png_get_channels(png_ptr, info_ptr),
- Rmask, Gmask, Bmask, Amask);
- if (not surface) {
- SDL_SetError("Out of memory");
-@@ -408,6 +409,7 @@
- png_read_end(png_ptr, info_ptr);
-
- /* Load the palette, if any */
-+ png_get_PLTE(png_ptr, info_ptr, &png_palette, &num_palette);
- if ((palette = surface->format->palette)) {
- if (color_type == PNG_COLOR_TYPE_GRAY) {
- palette->ncolors = 256;
-@@ -416,12 +418,12 @@
- palette->colors[i].g = i;
- palette->colors[i].b = i;
- }
-- } else if (info_ptr->num_palette > 0) {
-- palette->ncolors = info_ptr->num_palette;
-- for (uint32_t i = 0; i < info_ptr->num_palette; ++i) {
-- palette->colors[i].b = info_ptr->palette[i].blue;
-- palette->colors[i].g = info_ptr->palette[i].green;
-- palette->colors[i].r = info_ptr->palette[i].red;
-+ } else if (num_palette > 0) {
-+ palette->ncolors = num_palette;
-+ for (uint32_t i = 0; i < num_palette; ++i) {
-+ palette->colors[i].b = png_palette[i].blue;
-+ palette->colors[i].g = png_palette[i].green;
-+ palette->colors[i].r = png_palette[i].red;
- }
- }
- }
# TODO:
-# - create bcond for ggz
# - check locales
+# - use system fonts where possible
#
-%define buildver 16
+%define buildver 19
Summary: Game like Settlers II
Summary(pl.UTF-8): Remake gry Settlers II
Name: widelands
Version: 0.build%{buildver}
-Release: 10
+Release: 1
License: GPL v2+
Group: X11/Applications/Games
+#Source0Download: https://wl.widelands.org/wiki/Download/#release
Source0: http://launchpad.net/widelands/build%{buildver}/build%{buildver}/+download/%{name}-build%{buildver}-src.tar.bz2
-# Source0-md5: 3d8c28e145b73c64d8ed1625319d25a2
+# Source0-md5: 0ef7ccf021b8001056739f755500366d
Source1: %{name}.desktop
-Patch0: %{name}-libpng15.patch
-URL: http://widelands.sourceforge.net/
-BuildRequires: SDL-devel >= 1.2.11
-BuildRequires: SDL_gfx-devel
-BuildRequires: SDL_image-devel
-BuildRequires: SDL_mixer-devel >= 1.2.7
-BuildRequires: SDL_net-devel
-BuildRequires: SDL_ttf-devel >= 2.0.0
-BuildRequires: boost-devel >= 1.35
-BuildRequires: cmake
+Patch0: %{name}-pld.patch
+URL: https://wl.widelands.org/
+BuildRequires: OpenGL-devel
+BuildRequires: SDL2-devel >= 2
+BuildRequires: SDL2_image-devel >= 2
+BuildRequires: SDL2_mixer-devel >= 2
+BuildRequires: SDL2_net-devel >= 2
+BuildRequires: SDL2_ttf-devel >= 2.0.12
+BuildRequires: boost-devel >= 1.48
+BuildRequires: cmake >= 2.8.7
BuildRequires: gettext-tools
BuildRequires: glew-devel
-BuildRequires: ggz-client-libs-devel
-BuildRequires: libjpeg-devel
+BuildRequires: libicu-devel
BuildRequires: libpng-devel
-BuildRequires: libstdc++-devel
-BuildRequires: libtiff-devel
-BuildRequires: lua51-devel
-BuildRequires: python
-BuildRequires: python-modules
-BuildRequires: rpmbuild(macros) >= 1.600
+BuildRequires: libstdc++-devel >= 6:4.7
+BuildRequires: python >= 2
+BuildRequires: python-modules >= 2
+BuildRequires: rpmbuild(macros) >= 1.605
+BuildRequires: zlib-devel
Requires: %{name}-data = %{version}-%{release}
-Requires: SDL_image >= 1.2.10
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
%package data
Summary: Game like Settlers II - data files
-License: GPL v2+
+Summary(pl.UTF-8): Remake gry Settlers II - pliki danych
Group: X11/Applications/Games
%if "%{_rpmversion}" >= "5"
BuildArch: noarch
%description data
Game like Settlers II - data files.
+%description data -l pl.UTF-8
+Remake gry Settlers II - pliki danych.
+
%prep
%setup -q -n %{name}-build%{buildver}-src
%patch0 -p1
%build
install -d build
cd build
-%cmake \
+%cmake .. \
+ -DWL_INSTALL_BASEDIR=%{_prefix} \
-DWL_INSTALL_BINDIR=%{_bindir} \
- -DWL_INSTALL_DATADIR=%{_datadir}/games/%{name} \
- -DWL_INSTALL_LOCALEDIR=%{_datadir}/games/%{name}/locale \
- ..
+ -DWL_INSTALL_DATADIR=%{_datadir}/games/%{name}
%{__make}
-%{__make} lang
%install
rm -rf $RPM_BUILD_ROOT
+
%{__make} -C build install \
DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_datadir}/games/%{name},%{_desktopdir},%{_pixmapsdir}}
-
-# install data
-cp -a campaigns fonts global maps music pics scripting sound tribes txts worlds $RPM_BUILD_ROOT%{_datadir}/games/%{name}
-
-# locales
-cp -a build/locale $RPM_BUILD_ROOT%{_datadir}/games/%{name}
-
-# unsupported locales
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/games/%{name}/locale/en_AU
-%{__rm} -r $RPM_BUILD_ROOT%{_datadir}/games/%{name}/locale/en_CA
-
-# desktop and icon
-cp -p pics/wl-ico-128.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+# desktop and icons
+install -d $RPM_BUILD_ROOT%{_desktopdir}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}/%{name}.desktop
+for s in 16 32 48 64 128 ; do
+ install -d $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${s}x${s}/apps
+ cp -p data/images/logos/wl-ico-${s}.png $RPM_BUILD_ROOT%{_iconsdir}/hicolor/${s}x${s}/apps/widelands.png
+done
+
+# VERSION unneeded, COPYING generic GPL v2, the rest packaged as %doc
+%{__rm} $RPM_BUILD_ROOT%{_prefix}/{COPYING,CREDITS,ChangeLog,VERSION}
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc ChangeLog CREDITS
-%attr(755,root,root) %{_bindir}/%{name}
-%{_desktopdir}/%{name}.desktop
-%{_pixmapsdir}/%{name}.png
+%attr(755,root,root) %{_bindir}/widelands
+%attr(755,root,root) %{_bindir}/wl_map_info
+%attr(755,root,root) %{_bindir}/wl_map_object_info
+%attr(755,root,root) %{_bindir}/wl_render_richtext
+%{_desktopdir}/widelands.desktop
+%{_iconsdir}/hicolor/*x*/apps/widelands.png
%files data
%defattr(644,root,root,755)
%dir %{_datadir}/games/%{name}
%{_datadir}/games/%{name}/campaigns
-%{_datadir}/games/%{name}/fonts
-%{_datadir}/games/%{name}/global
-%{_datadir}/games/%{name}/maps
-%{_datadir}/games/%{name}/music
-%{_datadir}/games/%{name}/pics
-%{_datadir}/games/%{name}/scripting
-%{_datadir}/games/%{name}/sound
-%{_datadir}/games/%{name}/tribes
-%{_datadir}/games/%{name}/txts
-%{_datadir}/games/%{name}/worlds
+%dir %{_datadir}/games/%{name}/i18n
+%{_datadir}/games/%{name}/i18n/fonts.lua
+%{_datadir}/games/%{name}/i18n/locales.lua
+%dir %{_datadir}/games/%{name}/i18n/fonts
+# font-set=hebrew
+%lang(he) %{_datadir}/games/%{name}/i18n/fonts/Culmus
+# font-set=default
+%{_datadir}/games/%{name}/i18n/fonts/DejaVu
+# font-set=cjk
+%lang(ja,ko,zh_CN,zh_TW) %{_datadir}/games/%{name}/i18n/fonts/MicroHei
+# font-set=devanagari
+%lang(hi,mr) %{_datadir}/games/%{name}/i18n/fonts/Nakula
+# font-set=sinhala
+%lang(si) %{_datadir}/games/%{name}/i18n/fonts/Sinhala
+%{_datadir}/games/%{name}/i18n/fonts/Widelands
+# font-set=arabic
+%lang(ar,fa,ms) %{_datadir}/games/%{name}/i18n/fonts/amiri
+# font-set=myanmar
+%lang(my) %{_datadir}/games/%{name}/i18n/fonts/mmrCensus
+%dir %{_datadir}/games/%{name}/i18n/locales
+%lang(ar) %{_datadir}/games/%{name}/i18n/locales/ar.json
+%lang(ast) %{_datadir}/games/%{name}/i18n/locales/ast.json
+%lang(bg) %{_datadir}/games/%{name}/i18n/locales/bg.json
+%lang(br) %{_datadir}/games/%{name}/i18n/locales/br.json
+%lang(ca) %{_datadir}/games/%{name}/i18n/locales/ca.json
+%lang(cs) %{_datadir}/games/%{name}/i18n/locales/cs.json
+%lang(da) %{_datadir}/games/%{name}/i18n/locales/da.json
+%lang(de) %{_datadir}/games/%{name}/i18n/locales/de.json
+%lang(el) %{_datadir}/games/%{name}/i18n/locales/el.json
+%lang(en_CA) %{_datadir}/games/%{name}/i18n/locales/en_CA.json
+%lang(en_GB) %{_datadir}/games/%{name}/i18n/locales/en_GB.json
+%lang(en_US) %{_datadir}/games/%{name}/i18n/locales/en_US.json
+%lang(eo) %{_datadir}/games/%{name}/i18n/locales/eo.json
+%lang(es) %{_datadir}/games/%{name}/i18n/locales/es.json
+%lang(et) %{_datadir}/games/%{name}/i18n/locales/et.json
+%lang(eu) %{_datadir}/games/%{name}/i18n/locales/eu.json
+%lang(fa) %{_datadir}/games/%{name}/i18n/locales/fa.json
+%lang(fi) %{_datadir}/games/%{name}/i18n/locales/fi.json
+%lang(fr) %{_datadir}/games/%{name}/i18n/locales/fr.json
+%lang(gd) %{_datadir}/games/%{name}/i18n/locales/gd.json
+%lang(gl) %{_datadir}/games/%{name}/i18n/locales/gl.json
+%lang(he) %{_datadir}/games/%{name}/i18n/locales/he.json
+%lang(hi) %{_datadir}/games/%{name}/i18n/locales/hi.json
+%lang(hr) %{_datadir}/games/%{name}/i18n/locales/hr.json
+%lang(hu) %{_datadir}/games/%{name}/i18n/locales/hu.json
+%lang(ia) %{_datadir}/games/%{name}/i18n/locales/ia.json
+%lang(id) %{_datadir}/games/%{name}/i18n/locales/id.json
+%lang(it) %{_datadir}/games/%{name}/i18n/locales/it.json
+%lang(ja) %{_datadir}/games/%{name}/i18n/locales/ja.json
+%lang(jv) %{_datadir}/games/%{name}/i18n/locales/jv.json
+%lang(ka) %{_datadir}/games/%{name}/i18n/locales/ka.json
+%lang(ko) %{_datadir}/games/%{name}/i18n/locales/ko.json
+%lang(krl) %{_datadir}/games/%{name}/i18n/locales/krl.json
+%lang(la) %{_datadir}/games/%{name}/i18n/locales/la.json
+%{_datadir}/games/%{name}/i18n/locales/locales_translators.json
+%lang(lt) %{_datadir}/games/%{name}/i18n/locales/lt.json
+%lang(mr) %{_datadir}/games/%{name}/i18n/locales/mr.json
+%lang(ms) %{_datadir}/games/%{name}/i18n/locales/ms.json
+%lang(my) %{_datadir}/games/%{name}/i18n/locales/my.json
+%lang(nb) %{_datadir}/games/%{name}/i18n/locales/nb.json
+%lang(nds) %{_datadir}/games/%{name}/i18n/locales/nds.json
+%lang(nl) %{_datadir}/games/%{name}/i18n/locales/nl.json
+%lang(nn) %{_datadir}/games/%{name}/i18n/locales/nn.json
+%lang(oc) %{_datadir}/games/%{name}/i18n/locales/oc.json
+%lang(pl) %{_datadir}/games/%{name}/i18n/locales/pl.json
+%lang(pt) %{_datadir}/games/%{name}/i18n/locales/pt.json
+%lang(pt_BR) %{_datadir}/games/%{name}/i18n/locales/pt_BR.json
+%lang(ro) %{_datadir}/games/%{name}/i18n/locales/ro.json
+%lang(ru) %{_datadir}/games/%{name}/i18n/locales/ru.json
+%lang(rw) %{_datadir}/games/%{name}/i18n/locales/rw.json
+%lang(si) %{_datadir}/games/%{name}/i18n/locales/si.json
+%lang(sk) %{_datadir}/games/%{name}/i18n/locales/sk.json
+%lang(sl) %{_datadir}/games/%{name}/i18n/locales/sl.json
+%lang(sr) %{_datadir}/games/%{name}/i18n/locales/sr.json
+%lang(sv) %{_datadir}/games/%{name}/i18n/locales/sv.json
+%lang(tr) %{_datadir}/games/%{name}/i18n/locales/tr.json
+%lang(uk) %{_datadir}/games/%{name}/i18n/locales/uk.json
+%lang(vi) %{_datadir}/games/%{name}/i18n/locales/vi.json
+%lang(zh_CN) %{_datadir}/games/%{name}/i18n/locales/zh_CN.json
+%lang(zh_TW) %{_datadir}/games/%{name}/i18n/locales/zh_TW.json
+%{_datadir}/games/%{name}/images
%dir %{_datadir}/games/%{name}/locale
%lang(ar) %{_datadir}/games/%{name}/locale/ar
%lang(ast) %{_datadir}/games/%{name}/locale/ast
+%lang(bg) %{_datadir}/games/%{name}/locale/bg
+%lang(br) %{_datadir}/games/%{name}/locale/br
%lang(ca) %{_datadir}/games/%{name}/locale/ca
%lang(cs) %{_datadir}/games/%{name}/locale/cs
%lang(da) %{_datadir}/games/%{name}/locale/da
%lang(de) %{_datadir}/games/%{name}/locale/de
+%lang(el) %{_datadir}/games/%{name}/locale/el
+%lang(en_CA) %{_datadir}/games/%{name}/locale/en_CA
%lang(en_GB) %{_datadir}/games/%{name}/locale/en_GB
+%lang(en_US) %{_datadir}/games/%{name}/locale/en_US
%lang(eo) %{_datadir}/games/%{name}/locale/eo
%lang(es) %{_datadir}/games/%{name}/locale/es
%lang(et) %{_datadir}/games/%{name}/locale/et
%lang(fa) %{_datadir}/games/%{name}/locale/fa
%lang(fi) %{_datadir}/games/%{name}/locale/fi
%lang(fr) %{_datadir}/games/%{name}/locale/fr
+%lang(gd) %{_datadir}/games/%{name}/locale/gd
%lang(gl) %{_datadir}/games/%{name}/locale/gl
%lang(he) %{_datadir}/games/%{name}/locale/he
+%lang(hi) %{_datadir}/games/%{name}/locale/hi
+%lang(hr) %{_datadir}/games/%{name}/locale/hr
%lang(hu) %{_datadir}/games/%{name}/locale/hu
%lang(ia) %{_datadir}/games/%{name}/locale/ia
%lang(id) %{_datadir}/games/%{name}/locale/id
%lang(it) %{_datadir}/games/%{name}/locale/it
%lang(ja) %{_datadir}/games/%{name}/locale/ja
+%lang(jv) %{_datadir}/games/%{name}/locale/jv
+%lang(ka) %{_datadir}/games/%{name}/locale/ka
%lang(ko) %{_datadir}/games/%{name}/locale/ko
+%lang(krl) %{_datadir}/games/%{name}/locale/krl
%lang(la) %{_datadir}/games/%{name}/locale/la
+%lang(lt) %{_datadir}/games/%{name}/locale/lt
+%lang(mr) %{_datadir}/games/%{name}/locale/mr
%lang(ms) %{_datadir}/games/%{name}/locale/ms
+%lang(my) %{_datadir}/games/%{name}/locale/my
%lang(nb) %{_datadir}/games/%{name}/locale/nb
+%lang(nds) %{_datadir}/games/%{name}/locale/nds
%lang(nl) %{_datadir}/games/%{name}/locale/nl
%lang(nn) %{_datadir}/games/%{name}/locale/nn
%lang(oc) %{_datadir}/games/%{name}/locale/oc
%lang(pl) %{_datadir}/games/%{name}/locale/pl
%lang(pt) %{_datadir}/games/%{name}/locale/pt
%lang(pt_BR) %{_datadir}/games/%{name}/locale/pt_BR
+%lang(ro) %{_datadir}/games/%{name}/locale/ro
%lang(ru) %{_datadir}/games/%{name}/locale/ru
+%lang(rw) %{_datadir}/games/%{name}/locale/rw
%lang(si) %{_datadir}/games/%{name}/locale/si
%lang(sk) %{_datadir}/games/%{name}/locale/sk
%lang(sl) %{_datadir}/games/%{name}/locale/sl
%lang(uk) %{_datadir}/games/%{name}/locale/uk
%lang(vi) %{_datadir}/games/%{name}/locale/vi
%lang(zh_CN) %{_datadir}/games/%{name}/locale/zh_CN
+%lang(zh_TW) %{_datadir}/games/%{name}/locale/zh_TW
+%{_datadir}/games/%{name}/maps
+%{_datadir}/games/%{name}/music
+%{_datadir}/games/%{name}/scripting
+%{_datadir}/games/%{name}/shaders
+%{_datadir}/games/%{name}/sound
+%{_datadir}/games/%{name}/tribes
+%{_datadir}/games/%{name}/txts
+%{_datadir}/games/%{name}/world