File spirits.spec of Package spirits

Name:           spirits
Version:        1.0
Release:        0
Summary:        Remake of the 1987 game from Topo Soft
License:        Freeware
Group:          Amusements/Games
URL:            http://www.masoftware.es/
# http://www.masoftware.es/ccount/index.php?cid=juegos&xrl=http://www.masoftware.es/descargas/spirits/spirits.tar.gz
Source0:        %{name}.tar.bz2
Patch0:         %{name}-%{version}-system_libs.patch
Patch1:         %{name}-%{version}-compilation_fixes.patch
Patch2:         %{name}-%{version}-dirs.patch
Patch3:         %{name}-%{version}-nonvoid_return.patch
Patch4:         %{name}-%{version}-segfault.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  libalfont-devel liballegroOGG-devel liballeg-devel lua-devel
BuildRequires:  libpng-devel gcc-c++ pkg-config update-desktop-files

%description
Remake of the 1987 game from Topo Soft where you control a wizard through a
mansion.

%prep
%setup -q -n Spirits
%patch0
%patch1
%patch2
%patch3
%patch4
sed -i 's/^#include "..\/lua\/lua_inc.h"$/#include "lua_inc.h"/' src/misc/luaspirits.h
%{__mv} src/lua/lua_inc.h src/misc/
%{__rm} -rf src/lua
%{__rm} -rf src/alogg src/ma_allegro/alogg
%{__rm} -f src/ma_allegro/alfont*.h
for FILE in $(find src -iname "*.cpp" -o -iname "*.h"); do
  iconv -f WINDOWS-1252 -t UTF-8 -o "$FILE.UTF-8" "$FILE" && \
  %{__mv} -f "$FILE.UTF-8" "$FILE"
done
for FILE in data/lang/*/LC_MESSAGES/spirits.pot; do
  sed -i 's/charset=CHARSET/charset=CP1252/' "$FILE"
  msgconv -t UTF-8 "$FILE" -o "$FILE"
done

%build
CXXFLAGS='%{optflags} -DDFLT_DATA_DIR=\"%{_datadir}/games/%{name}/\" \
         -DDFLT_LANG_DIR=\"%{_datadir}/locale/\"' %{__make} %{?jobs:-j%{jobs}}
xgettext -k_ -d %{name} $(find src -iname "*.cpp" -o -iname "*.h") && \
mv %{name}.po %{name}.pot
for FILE in data/lang/*/LC_MESSAGES/spirits.pot; do
  msgmerge "$FILE" %{name}.pot -o %{name}.po
  sed -i 's/charset=CHARSET/charset=CP1252/' %{name}.po
  msgfmt %{name}.po -o ${FILE%.pot}.mo
  %{__rm} -f %{name}.po
done
%{__rm} -f %{name}.pot

%install
%{__install} -p -D -m 0755 '%{name}' '%{buildroot}%{_prefix}/games/%{name}'
%{__install} -d -m 0755 '%{buildroot}%{_datadir}/games/%{name}'
%{__cp} -pr data/{end.mpb,spirits.mpb,font,music,pics,sound} '%{buildroot}%{_datadir}/games/%{name}/'
%{__install} -p -D -m 0644 data/lang/lang.lst '%{buildroot}%{_datadir}/games/%{name}/lang/lang.lst'
for L in chi en es it; do
  %{__install} -p -D -m 0755 data/lang/${L}/LC_MESSAGES/%{name}.mo "%{buildroot}%{_datadir}/locale/${L}/LC_MESSAGES/%{name}.mo"
done
%find_lang %{name}
%{__install} -p -D -m 0755 '%{name}.png' '%{buildroot}%{_datadir}/pixmaps/%{name}.png'
%suse_update_desktop_file -c %{name} Spirits Spirits %{name} %{name} 'Game;ArcadeGame;'

%clean
%{__rm} -rf '%{buildroot}'

%files -f %{name}.lang
%defattr(-, root, root, 0755)
%{_prefix}/games/%{name}
%{_datadir}/games/%{name}
# Chiquitistaní, spanish joke language
%dir %{_datadir}/locale/chi
%dir %{_datadir}/locale/chi/LC_MESSAGES
%{_datadir}/applications/%{name}.desktop
%{_datadir}/pixmaps/%{name}.png

%changelog
* Mon Mar 30 2009 - cmorve69@yahoo.es
- initial package
openSUSE Build Service is sponsored by