Blob Blame History Raw
%if (0%{?fedora} && 0%{?fedora} < 19) || (0%{?rhel} && 0%{?rhel} < 7)
%global with_desktop_vendor_tag 1
%endif

Summary: An Atari ST emulator suitable for playing games
Name: hatari
Version: 1.7.0
Release: 1%{?dist}
License: GPLv2+
URL: http://hatari.tuxfamily.org/
Source0: http://download.tuxfamily.org/%{name}/%{version}/%{name}-%{version}.tar.bz2
Source1: hatari.desktop
BuildRequires: cmake
BuildRequires: SDL-devel >= 1.2.0
BuildRequires: zlib-devel
BuildRequires: libpng-devel
BuildRequires: readline-devel
BuildRequires: portaudio-devel
BuildRequires: python2-devel
BuildRequires: libicns-utils
BuildRequires: desktop-file-utils
Requires: hicolor-icon-theme
# Required by zip2st and atari-hd-image
Requires: unzip
Requires: mtools
Requires: dosfstools


%package ui
Summary: External user interface for Hatari
Group: Applications/Emulators
Requires: %{name} = %{version}-%{release}
Requires: python2
Requires: pygtk2
Requires: hicolor-icon-theme


%description
Hatari is an emulator for the Atari ST, STE, TT and Falcon computers.
More precisely, it is an adaption of the WinSTon source code to 
Linux, using the UAE CPU core instead of the original, non-portable 
assembler CPU core.

The Atari ST was a 16/32 bit computer system which was first released 
by Atari in 1985. Using the Motorola 68000 CPU, it was a very popular 
computer having quite a lot of CPU power at that time.

Unlike many other Atari ST emulators which try to give you a good 
environment for running GEM applications, Hatari tries to emulate the 
hardware of a ST as close as possible so that it is able to run most 
of the old ST games and demos.


%description ui

Hatari UI is an out-of-process user interface for the Hatari emulator and its 
built-in debugger which can (optionally) embed the Hatari emulator window. 


%prep
%setup -q

# Remove shebang from non executable scripts
for pyfile in dialogs.py hatari.py uihelpers.py config.py
do
  sed -i -e '/^#!\//, 1d' python-ui/$pyfile
done

# Fix hataiui to get doc files
sed -i 's/"hatari" + sep/"%{name}-%{version}" + sep/' python-ui/uihelpers.py


%build
%cmake \
  -DCMAKE_VERBOSE_MAKEFILE=TRUE \
  -DCMAKE_BUILD_TYPE:STRING=None \
  -DDOCDIR:PATH=%{_docdir}/%{name}-%{version} \
  -DBUILD_SHARED_LIBS:BOOL=OFF .
# It does not compile with smp_mflags
make


%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot} 

# Fix file permissions
chmod 644 %{buildroot}%{_datadir}/%{name}/hatariui/conftypes.py

# Install French man page
install -d -m 755 %{buildroot}%{_mandir}/fr/man1
install -p -m 644 doc/fr/hatari.1 %{buildroot}%{_mandir}/fr/man1

# Install desktop file
install -d -m 755 %{buildroot}%{_datadir}/applications
desktop-file-install \
%if %{with desktop_vendor_tag} 
  --vendor fedora \
%endif
  --dir %{buildroot}%{_datadir}/applications \
  %{SOURCE1}

# Extract Mac OS X icons
icns2png -x src/gui-osx/Hatari.icns 

# Install icons
for i in 16 32 48 128; do
  install -d -m 755 %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps
  install -m 644 Hatari_${i}x${i}x32.png \
    %{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/hatari.png
done

# Install hatari-ui desktop file
desktop-file-install \
  --delete-original \
  --remove-key Encoding \
  --add-category Game \
  --add-category Emulator \
  --dir %{buildroot}%{_datadir}/applications \
  %{buildroot}%{_datadir}/applications/hatariui.desktop

# Install license among docs
install -p -m 644 gpl.txt %{buildroot}%{_docdir}/%{name}-%{version}


%post
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :


%post ui
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :


%postun
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi


%postun ui
if [ $1 -eq 0 ] ; then
    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
fi


%posttrans
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%posttrans ui
gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :


%files
%{_bindir}/*
%{_datadir}/%{name}
%{_mandir}/man1/*
%{_mandir}/fr/man1/*
%if %{with desktop_vendor_tag}
%{_datadir}/applications/fedora-%{name}.desktop
%else
%{_datadir}/applications/%{name}.desktop
%endif
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%doc %{_docdir}/%{name}-%{version} 
%exclude %{_bindir}/hatariui
%exclude %{_datadir}/%{name}/hatariui
%exclude %{_datadir}/%{name}/hconsole
%exclude %{_mandir}/man1/hatariui.1*
%exclude %{_mandir}/man1/hconsole.1*

%files ui
%{_bindir}/hatariui
%{_datadir}/%{name}/hatariui
%{_datadir}/%{name}/hconsole
%{_mandir}/man1/hatariui.1*
%{_mandir}/man1/hconsole.1*
%{_datadir}/applications/hatariui.desktop
%{_datadir}/icons/hicolor/32x32/apps/hatari-icon.png
%doc python-ui/{README,release-notes.txt,TODO}
%exclude %{_datadir}/%{name}/hatariui/README
%exclude %{_datadir}/%{name}/hatariui/release-notes.txt
%exclude %{_datadir}/%{name}/hatariui/TODO
%exclude %{_datadir}/%{name}/hconsole/release-notes.txt


%changelog
* Thu Jun 27 2013 Andrea Musuruane <musuruan@gmail.com> 1.7.0-1
- Updated to upstream 1.7.0
- Fixed vendor tag logic in a prettier way
- Dropped obsolete Group, Buildroot, %%clean and %%defattr

* Wed Apr 24 2013 Jon Ciesla <limburgher@gmail.com> - 1.6.2-4
- Drop desktop vendor tag.

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Thu Jul 05 2012 Andrea Musuruane <musuruan@gmail.com> 1.6.2-1
- updated to upstream 1.6.2

* Sat Jan 14 2012 Andrea Musuruane <musuruan@gmail.com> 1.6.1-1
- updated to upstream 1.6.1

* Fri Jan 06 2012 Andrea Musuruane <musuruan@gmail.com> 1.6.0-1
- updated upstream URL
- updated upstream Source0

* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 1.5.0-2
- Rebuild for new libpng

* Sun Sep 25 2011 Andrea Musuruane <musuruan@gmail.com> 1.5.0-1
- updated to upstream 1.5.0
- added patches to include hatari window at hatariui startup (SF #18340)
- dropped Debian man pages now that hatari has its own

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.4.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Sun Nov 14 2010 Andrea Musuruane <musuruan@gmail.com> 1.4.0-4
- added license among docs

* Sun Nov 14 2010 Andrea Musuruane <musuruan@gmail.com> 1.4.0-3
- ui subpackage now requires the fully versioned base package
- more consistent macro usage

* Fri Nov 12 2010 Andrea Musuruane <musuruan@gmail.com> 1.4.0-2
- fixed Requires
- added manpages from Debian
- removed script extensions (.sh, .py) from scripts installed into /usr/bin
- macro usage is more consistent now

* Sun Jul 18 2010 Andrea Musuruane <musuruan@gmail.com> 1.4.0-1
- updated to upstream 1.4.0
- dropped README.tos now that emutos.txt is supplied

* Sat Mar 06 2010 Andrea Musuruane <musuruan@gmail.com> 1.3.1-2
- link against libm (BZ #564801)

* Sat Sep 12 2009 Andrea Musuruane <musuruan@gmail.com> 1.3.1-1
- updated to upstream 1.3.1

* Sat Aug 22 2009 Andrea Musuruane <musuruan@gmail.com> 1.3.0-1
- updated to upstream 1.3.0
- disabled new upstream python UI
- updated icon cache snippets
- used upstream Mac OS X icons
- preserved french man page timestamp

* Mon Aug 10 2009 Andrea Musuruane <musuruan@gmail.com> 1.2.0-4
- updated Source0 URL

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Sat Jan 24 2009 Andrea Musuruane <musuruan@gmail.com> 1.2.0-1
- updated to upstream 1.2.0
- dropped no longer needed hmsa tool patch
- updated upstream URL
- updated Source0 URL

* Sat Nov 29 2008 Andrea Musuruane <musuruan@gmail.com> 1.1.0-1
- updated to upstream 1.1.0

* Sat Apr 05 2008 Andrea Musuruane <musuruan@gmail.com> 1.0.1-1
- updated to upstream 1.0.1

* Mon Mar 17 2008 Andrea Musuruane <musuruan@gmail.com> 1.0.0-1
- updated to upstream 1.0.0
- removed icon extension from desktop file to match Icon Theme Specification

* Sun Feb 10 2008 Andrea Musuruane <musuruan@gmail.com> 0.95-5
- Rebuilt against gcc 4.3

* Sat Oct 06 2007 Andrea Musuruane <musuruan@gmail.com> 0.95-4
- Fixed doc/authors.txt file encoding
- Updated icon cache scriptlets to be compliant to new guidelines

* Wed Aug 29 2007 Fedora Release Engineering <rel-eng at fedoraproject dot org> - 0.95-3
- Rebuild for selinux ppc32 issue.

* Mon Aug 20 2007 Andrea Musuruane <musuruan@gmail.com> 0.95-2
- changed license due to new guidelines 
- removed %%{?dist} tag from changelog

* Sat Jun 23 2007 Andrea Musuruane <musuruan@gmail.com> 0.95-1
- updated to upstream 0.95
- updated description
- README.tos and hatari.desktop are no longer built in the spec file
- added new upstream hmsa tool
- added new upstream french man page
- updated icon cache scriptlets to be compliant to new guidelines
- cosmetic changes

* Sat Mar 17 2007 Andrea Musuruane <musuruan@gmail.com> 0.90-6
- dropped --add-category X-Fedora from desktop-file-install
- changed .desktop category to Game;Emulator;
- now using sed to fix makefile not to strip binaries during make install
- cosmetic changes to BR section

* Mon Oct 23 2006 Andrea Musuruane <musuruan@gmail.com> 0.90-5
- added a patch not to strip binaries during make install
- added hicolor-icon-theme to Requires

* Sat Oct 21 2006 Andrea Musuruane <musuruan@gmail.com> 0.90-4
- added README.tos to explain that Hatari is shipped with EmuTOS

* Fri Oct 20 2006 Andrea Musuruane <musuruan@gmail.com> 0.90-3
- new release for FE migration

* Sun Oct 08 2006 Andrea Musuruane <musuruan@gmail.com> 0.90-2
- replaced %%_mandir with %%{_mandir}
- full URL is now specified in the Source tag
- added .desktop file and icons

* Sat Sep 30 2006 Andrea Musuruane <musuruan@gmail.com> 0.90-1
- initial package