File vulture.spec of Package vultures
#
# spec file for package vulture
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define _gamelist nethack slashem unnethack
Name: vulture
Version: 2.3.67
Release: 0
Summary: Isometric graphical interface for NetHack, Slash'EM and UnNetHack
License: NGPL
Group: Amusements/Games/RPG
Url: http://www.darkarts.co.za/vulture/
#Source0: http://www.darkarts.co.za/vulture/download/vulture-%{version}.7z
Source0: vulture-%{version}.tar.bz2
%if 0%{?suse_version}
Source1: vulture.png
Source2: vulture-nethack.desktop
Source3: vulture-slashem.desktop
Source4: vulture-unnethack.desktop
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch0: suse-nethack-config.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch1: suse-nethack-decl.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch2: suse-nethack-misc.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch3: disable-pcmusic.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch4: suse-nethack-implicit.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch5: nethack-vultures-overflow-fix.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch6: vulture-png15.patch
%endif
%if 0%{?fedora_version}
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch0: nethack-vultures-1.11.0-optflags.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch1: nethack-vultures-1.11.0-config.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch2: nethack-vultures-1.10.1-clawguide.patch
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
Patch3: nethack-vultures-overflow-fix.patch
%endif
BuildRequires: SDL-devel
BuildRequires: SDL_image-devel
BuildRequires: SDL_mixer-devel
BuildRequires: SDL_ttf-devel
BuildRequires: SDL_ttf-devel
BuildRequires: desktop-file-utils
BuildRequires: flex
BuildRequires: gcc-c++
BuildRequires: groff
BuildRequires: libpng-devel
BuildRequires: ncurses-devel
BuildRequires: p7zip
%if 0%{?suse_version}
BuildRequires: bison
BuildRequires: bitstream-vera
BuildRequires: fdupes
BuildRequires: update-desktop-files
%endif
%if 0%{?fedora_version}
BuildRequires: byacc
%endif
Requires: gzip
%if 0%{?suse_version}
Requires(pre): permissions
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Isometric graphical interface for NetHack, Slash'EM and UnNetHack.
Previously known as Vulture's Eye and Vulture's Claw for the NetHack and Slash'EM variants respectively, the project's isometric engine is now known as Vulture with all references to Eye and Claw being removed from the project pending the addition of the SporkHack and UnNetHack variants as well.
%package -n vulture-data
Summary: Shared data files for Vulture
Group: Amusements/Games/RPG
%if 0%{?suse_version}
Requires: bitstream-vera
%endif
Obsoletes: nethack-falconseye <= 1.9.4-6.a
Obsoletes: nethack-vultures <= 2.2.100
%description -n vulture-data
Shared data files for the different Vulture versions.
%package -n vulture-nethack
Summary: Vulture for NetHack
Group: Amusements/Games/RPG
Requires: bzip2
Requires: gzip
Requires: vulture-data = %{version}
Obsoletes: nethack-falconseye <= 1.9.4-6.a
Obsoletes: nethack-vultures <= 2.2.100
%description -n vulture-nethack
Isometric graphical interface for NetHack.
Previously known as Vulture's Eye.
%package -n vulture-slashem
Summary: Vulture for Slash'Em
Group: Amusements/Games/RPG
Requires: bzip2
Requires: gzip
Requires: vulture-data = %{version}
Obsoletes: nethack-falconseye <= 1.9.4-6.a
Obsoletes: nethack-vultures <= 2.2.100
%description -n vulture-slashem
Isometric graphical interface for Slash'Em.
Previously known as Vulture's Claw.
%package -n vulture-unnethack
Summary: Vulture for UnNetHack
Group: Amusements/Games/RPG
Requires: bzip2
Requires: gzip
Requires: vulture-data = %{version}
Obsoletes: nethack-falconseye <= 1.9.4-6.a
Obsoletes: nethack-vultures <= 2.2.100
%description -n vulture-unnethack
Isometric graphical interface for UnNetHack.
%prep
%setup -q -n vulture-%{version}
%if %{?suse_version:1}0
%if 0%{?suse_version}
%patch0 -p1
%patch1
%patch2
%patch3 -p1
%endif
%endif
%patch4 -p1
%patch5 -p1
%patch6 -p1
%if 0%{?suse_version}
for game in %{_gamelist}; do
sed -i "s/^CFLAGS.*/& %{optflags}/" $game/sys/unix/Makefile*
sed -i -e "s|/usr/games/lib/nethackdir|/var/games/vulture-$game|g" \
$game/doc/{nethack,recover}.6 $game/include/config.h
sed -i -e "s|/var/lib/games/nethack|/var/games/vulture-$game|g" \
$game/include/unixconf.h
done
%endif
%if 0%{?fedora_version}
%patch0 -p1
%patch1 -p1
%patch2
%patch3 -p1
for game in %{_gamelist}; do
sed -i -e "s|/usr/games/lib/nethackdir|%{_datadir}/vulture-$game|g" \
$game/doc/{nethack,recover}.6 $game/include/config.h
sed -i -e "s|/var/lib/games/nethack|%{_localstatedir}/games/vulture-$game|g" \
$game/include/unixconf.h
done
%endif
%build
%if 0%{?suse_version}
for game in %{_gamelist}; do
# create symlinks to makefiles
cd $game
sh sys/unix/setup.sh 1
## tty
sed -i "s/^CFLAGS.*/& %{optflags}/" src/Makefile* sys/unix/Makefile.top
cd ..
done
# Note: no %{?_smp_mflags} in any of these: various parallel build issues.
for i in %{_gamelist}; do
make $i/Makefile
make -C $i
make -C $i/util recover dlb dgn_comp lev_comp
make -C $i/dat spec_levs quest_levs
done
%endif
%if 0%{?fedora_version}
# Note: no %{?_smp_mflags} in any of these: various parallel build issues.
for i in %{_gamelist}; do
make $i/Makefile
make -C $i
make -C $i/util recover dlb dgn_comp lev_comp
make -C $i/dat spec_levs quest_levs
done
%endif
%install
#
%if 0%{?suse_version}
for game in %{_gamelist}; do
make -C $game install CHGRP=: CHOWN=: \
GAMEDIR=%{buildroot}%{_datadir}/vulture-$game \
VARDIR=%{buildroot}%{_localstatedir}/games/vulture-$game \
SHELLDIR=%{buildroot}%{_bindir}
%fdupes %{buildroot}%{_datadir}/vulture-$game/
done
# man pages
install -D -d -m 755 %{buildroot}%{_mandir}/man6/
for game in %{_gamelist}; do
install -m 644 $game/doc/nethack.6 %{buildroot}%{_mandir}/man6/vulture-$game.6
install -m 644 $game/doc/recover.6 %{buildroot}%{_mandir}/man6/vulture-$game-recover.6
done
# BLG-boyd
#install -m 755 -d %{buildroot}%{_sysconfdir}/vultures
#install -m 644 vulturesrc %{buildroot}%{_sysconfdir}/vultures/vulturesrc.$STYLE
# Install desktop files
install -dm 755 %{buildroot}%{_datadir}/applications/
install -D -m 644 %{SOURCE2} %{SOURCE3} %{SOURCE4} %{buildroot}%{_datadir}/applications/
install -dm 755 %{buildroot}%{_datadir}/pixmaps/
%if %{?suse_version:1}0
for game in %{_gamelist}; do
%suse_update_desktop_file vulture-$game
done
%endif
# Icon
install -D -m 644 %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/
for game in %{_gamelist}; do
i=vulture-$game
# BLG-boyd
mv %{buildroot}%{_datadir}/$i/recover \
%{buildroot}%{_bindir}/$i-recover
# Added by Vincent Petry
# Moving binaries out of the data dir
mv %{buildroot}%{_datadir}/$i/$i %{buildroot}%{_bindir}/
# Bitstream font link
ln -sf %{_datadir}/fonts/truetype/VeraSe.ttf %{buildroot}%{_datadir}/$i/fonts/
# Log file
touch %{buildroot}%{_localstatedir}/games/$i/vultures_log.txt
# Symlinks to var files
for j in perm record logfile vultures_log.txt; do
ln -sf %{_localstatedir}/games/$i/$j %{buildroot}%{_datadir}/$i/
done
done
# Create a shared data directory
# and make symbolic links for each game point there
install -D -d %{buildroot}%{_datadir}/vulture-data/
for f in graphics music sound tiles manual; do
mv %{buildroot}%{_datadir}/vulture-nethack/$f %{buildroot}%{_datadir}/vulture-data/
for game in %{_gamelist}; do
rm -rf %{buildroot}%{_datadir}/vulture-$game/$f
ln -s %{_datadir}/vulture-data/$f \
%{buildroot}%{_datadir}/vulture-$game/$f
done
done
# Clean up
for game in %{_gamelist}; do
chmod -R 0775 %{buildroot}%{_localstatedir}/games/vulture-$game
sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/vulture-$game
# Remove license from data dir, since already present in doc dir
rm %{buildroot}%{_datadir}/vulture-$game/license
done
%fdupes %{buildroot}
%post
%run_permissions
%files -n vulture-data
%defattr(-,root,root)
%dir %{_datadir}/vulture-data/
%{_datadir}/vulture-data/*
%{_datadir}/pixmaps/vulture*.png
%files -n vulture-nethack
%defattr(-,root,root)
%doc LICENSE README
%attr(755,root,root) %{_bindir}/vulture-nethack
%attr(755,root,root) %{_bindir}/vulture-nethack-recover
%attr(755,root,games) %dir %{_datadir}/vulture-nethack/
%{_datadir}/vulture-nethack/*
%{_datadir}/applications/vulture-nethack.desktop
%defattr(664,root,games,775)
%dir %{_localstatedir}/games/vulture-nethack/
%config(noreplace) %{_localstatedir}/games/vulture-nethack/record
%config(noreplace) %{_localstatedir}/games/vulture-nethack/perm
%config(noreplace) %{_localstatedir}/games/vulture-nethack/logfile
%config(noreplace) %{_localstatedir}/games/vulture-nethack/vultures_log.txt
%dir %{_localstatedir}/games/vulture-nethack/save/
%defattr(644,root,root,755)
%{_mandir}/man6/vulture-nethack-recover.6.gz
%{_mandir}/man6/vulture-nethack.6.gz
%files -n vulture-slashem
%defattr(-,root,root)
%doc slashem/readme.txt slashem/history.txt slashem/slamfaq.txt LICENSE README
%attr(755,root,root) %{_bindir}/vulture-slashem
%attr(755,root,root) %{_bindir}/vulture-slashem-recover
%attr(755,root,games) %dir %{_datadir}/vulture-slashem/
%{_datadir}/vulture-slashem/*
%{_datadir}/applications/vulture-slashem.desktop
%defattr(664,root,games,775)
%dir %{_localstatedir}/games/vulture-slashem/
%config(noreplace) %{_localstatedir}/games/vulture-slashem/record
%config(noreplace) %{_localstatedir}/games/vulture-slashem/perm
%config(noreplace) %{_localstatedir}/games/vulture-slashem/logfile
%config(noreplace) %{_localstatedir}/games/vulture-slashem/vultures_log.txt
%dir %{_localstatedir}/games/vulture-slashem/save/
%defattr(644,root,root,755)
%{_mandir}/man6/vulture-slashem-recover.6.gz
%{_mandir}/man6/vulture-slashem.6.gz
%files -n vulture-unnethack
%defattr(-,root,root)
%doc LICENSE README
%attr(755,root,root) %{_bindir}/vulture-unnethack
%attr(755,root,root) %{_bindir}/vulture-unnethack-recover
%attr(755,root,games) %dir %{_datadir}/vulture-unnethack/
%{_datadir}/vulture-unnethack/*
%{_datadir}/applications/vulture-unnethack.desktop
%defattr(664,root,games,775)
%dir %{_localstatedir}/games/vulture-unnethack/
%config(noreplace) %{_localstatedir}/games/vulture-unnethack/record
%config(noreplace) %{_localstatedir}/games/vulture-unnethack/perm
%config(noreplace) %{_localstatedir}/games/vulture-unnethack/logfile
%config(noreplace) %{_localstatedir}/games/vulture-unnethack/vultures_log.txt
%dir %{_localstatedir}/games/vulture-unnethack/save/
%defattr(644,root,root,755)
%{_mandir}/man6/vulture-unnethack-recover.6.gz
%{_mandir}/man6/vulture-unnethack.6.gz
%endif
%if 0%{?fedora_version}
make -C nethack install CHGRP=: CHOWN=: \
GAMEDIR=%{buildroot}%{_prefix}/games/vultureseye \
VARDIR=%{buildroot}%{_localstatedir}/games/vultureseye \
SHELLDIR=%{buildroot}%{_bindir}
make -C slashem install CHGRP=: CHOWN=: \
GAMEDIR=%{buildroot}%{_prefix}/games/vulturesclaw \
VARDIR=%{buildroot}%{_localstatedir}/games/vulturesclaw \
SHELLDIR=%{buildroot}%{_bindir}
install -dm 755 %{buildroot}%{_mandir}/man6
install -pm 644 nethack/doc/nethack.6 \
%{buildroot}%{_mandir}/man6/vultureseye.6
install -pm 644 nethack/doc/recover.6 \
%{buildroot}%{_mandir}/man6/vultureseye-recover.6
install -pm 644 slashem/doc/nethack.6 \
%{buildroot}%{_mandir}/man6/vulturesclaw.6
install -pm 644 slashem/doc/recover.6 \
%{buildroot}%{_mandir}/man6/vulturesclaw-recover.6
install -dm 755 %{buildroot}%{_datadir}/icons/hicolor/48x48/apps
for i in vultureseye vulturesclaw ; do
desktop-file-install \
--vendor=fedora \
--dir=%{buildroot}%{_datadir}/applications \
--mode=644 \
--add-category=X-Fedora \
dist/unix/desktop/$i.desktop
mv %{buildroot}%{_prefix}/games/$i/*.png \
%{buildroot}%{_datadir}/icons/hicolor/48x48/apps/$i.png
mv %{buildroot}%{_prefix}/games/$i/recover \
%{buildroot}%{_bindir}/$i-recover
done
rm -r %{buildroot}%{_prefix}/games/vultureseye/manual
rm -r %{buildroot}%{_prefix}/games/vulturesclaw/manual
# Save some space
for f in graphics music sound tiles; do
rm -r %{buildroot}%{_prefix}/games/vulturesclaw/$f
ln -s ../vultureseye/$f \
%{buildroot}%{_prefix}/games/vulturesclaw/$f
done
chmod -s %{buildroot}%{_prefix}/games/vultures*/vultures* # for stripping
# Clean up
sed -i -e "s|%{buildroot}||g" %{buildroot}%{_bindir}/vultures{eye,claw}
rm %{buildroot}%{_prefix}/games/vultures*/*.ico
%post
[ $1 -eq 1 ] && \
gtk-update-icon-cache -qf %{_datadir}/icons/hicolor &>/dev/null || :
%postun
gtk-update-icon-cache -qf %{_datadir}/icons/hicolor &>/dev/null || :
%files
%defattr(-,root,root,-)
%doc nethack/README nethack/dat/license nethack/dat/history nethack/dat/*help
%doc slashem/readme.txt slashem/history.txt slashem/slamfaq.txt
%{_bindir}/vultures*
%dir %{_prefix}/games/vultureseye/
%{_prefix}/games/vultureseye/config/
%{_prefix}/games/vultureseye/defaults.nh
%{_prefix}/games/vultureseye/graphics/
%{_prefix}/games/vultureseye/license
%{_prefix}/games/vultureseye/music/
%{_prefix}/games/vultureseye/nhdat
%{_prefix}/games/vultureseye/sound/
%attr(2755,root,games) %{_prefix}/games/vultureseye/vultureseye
%dir %{_prefix}/games/vulturesclaw/
%{_prefix}/games/vulturesclaw/config/
%{_prefix}/games/vulturesclaw/defaults.nh
%{_prefix}/games/vulturesclaw/graphics/
%{_prefix}/games/vulturesclaw/Guidebook.txt
%{_prefix}/games/vulturesclaw/license
%{_prefix}/games/vulturesclaw/music/
%{_prefix}/games/vulturesclaw/nh*share
%{_prefix}/games/vulturesclaw/sound/
%attr(2755,root,games) %{_prefix}/games/vulturesclaw/vulturesclaw
%{_datadir}/applications/*vultures*.desktop
%{_datadir}/icons/hicolor/
%{_datadir}/icons/hicolor/48x48/
%{_datadir}/icons/hicolor/48x48/apps/
%{_datadir}/icons/hicolor/48x48/apps/vultures*.png
%{_mandir}/man6/vultures*.6*
%defattr(664,root,games,775)
%dir %{_localstatedir}/games/vultureseye/
%config(noreplace) %{_localstatedir}/games/vultureseye/record
%config(noreplace) %{_localstatedir}/games/vultureseye/perm
%config(noreplace) %{_localstatedir}/games/vultureseye/logfile
%dir %{_localstatedir}/games/vultureseye/save/
%dir %{_localstatedir}/games/vulturesclaw/
%config(noreplace) %{_localstatedir}/games/vulturesclaw/record
%config(noreplace) %{_localstatedir}/games/vulturesclaw/perm
%config(noreplace) %{_localstatedir}/games/vulturesclaw/logfile
%dir %{_localstatedir}/games/vulturesclaw/save/
%{_prefix}/games/vulturesclaw/fonts/VeraSe.ttf
%{_prefix}/games/vultureseye/fonts/VeraSe.ttf
%endif
%changelog