Blob Blame History Raw
Name:           openmsx
Version:        0.7.2
Release:        2%{?dist}
Summary:        An emulator for the MSX home computer system
Group:          Applications/Emulators
License:        GPL+
URL:            http://openmsx.sourceforge.net
Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Patch0:         openmsx-0.6.1-installbase.patch
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  desktop-file-utils
BuildRequires:  docbook-utils
BuildRequires:  glew-devel >= 1.3.2
BuildRequires:  jack-audio-connection-kit-devel
BuildRequires:  libpng-devel
BuildRequires:  libxml2-devel
BuildRequires:  SDL_image-devel SDL_ttf-devel freetype-devel
BuildRequires:  tcl-devel >= 8.4.0
BuildRequires:  zlib-devel
Requires:       cbios-%{name}
Requires:       hicolor-icon-theme

%description
openMSX is an emulator for the MSX home computer system. Its goal is to emulate
all aspects of the MSX with 100% accuracy.


%prep
%setup -q
%patch0 -p1

# Verbose compilation
sed -i 's/@$(COMPILE_ENV)/$(COMPILE_ENV)/' build/main.mk

# Correct some permissions
chmod 0644 share/extensions/{rs232,gfx9000,debugdevice}/hardwareconfig.xml

# Make the custom flavour module, so we can use RPM OPT FLAGS here
cat > build/flavour-rpm.mk << EOF
# $Id: flavour-rpm.mk,v 1.1 2006/08/06 06:32:02 mthuurne Exp $
#
# RPM opt flavour:

# Opt flags.
CXXFLAGS+=%{optflags} -DNDEBUG

# Dont strip exe, let rpm do it and save debug info
OPENMSX_STRIP:=false
EOF

# Give README's a sensible name
echo 'System ROM Dir: %{_datadir}/%{name}/systemroms' > doc/systemroms-README
cat share/systemroms/README >> doc/systemroms-README
touch -r share/systemroms/README doc/systemroms-README

echo '%{_datadir}/%{name}/machines/Boosted_MSX2_EN/roms' > doc/Boosted_MSX2_EN-roms-README
cat share/machines/Boosted_MSX2_EN/roms/README >> doc/Boosted_MSX2_EN-roms-README
touch -r share/machines/Boosted_MSX2_EN/roms/README doc/Boosted_MSX2_EN-roms-README

echo '%{_datadir}/%{name}/machines/Boosted_MSX2_EN' > doc/Boosted_MSX2_EN-README
cat share/machines/Boosted_MSX2_EN/README >> doc/Boosted_MSX2_EN-README
touch -r share/machines/Boosted_MSX2_EN/README doc/Boosted_MSX2_EN-README

# Some clean ups
rm share/extensions/msxdos2/roms/SHA1SUMS


%build
%configure
make %{?_smp_mflags} OPENMSX_FLAVOUR=rpm INSTALL_SHARE_DIR=%{_datadir}/%{name}\
     INSTALL_DOC_DIR=%{_docdir}/%{name}-%{version}

# Build desktop icon
cat >%{name}.desktop <<EOF
[Desktop Entry]
Name=openMSX
GenericName=An MSX Emulator
Comment=%{summary}
Exec=%{name}
Icon=%{name}
Terminal=false
Type=Application
Categories=Game;Emulator;
EOF

# Build the man page
docbook2man doc/openmsx.sgml -o ./


%install
rm -rf $RPM_BUILD_ROOT
make %{?_smp_mflags} OPENMSX_FLAVOUR=rpm INSTALL_SHARE_DIR=%{_datadir}/%{name}\
     INSTALL_DOC_DIR=%{_docdir}/%{name}-%{version} \
     DESTDIR=$RPM_BUILD_ROOT install

# These files are part of the CBIOS package (were they are build from source)
rm -r $RPM_BUILD_ROOT%{_datadir}/%{name}/machines/C-BIOS_MSX*

# Move some things around
rm $(find $RPM_BUILD_ROOT%{_datadir}/%{name} -name README)
install -m 644 doc/*-README $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}

mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
mv $RPM_BUILD_ROOT%{_datadir}/%{name}/settings.xml \
   $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
ln -s --target-directory=$RPM_BUILD_ROOT%{_datadir}/%{name} \
   ../../../etc/openmsx/settings.xml

mkdir -p $RPM_BUILD_ROOT%{_mandir}/man1
install -pm 0644 OPENMSX.1 $RPM_BUILD_ROOT%{_mandir}/man1/openmsx.1

# Install icon set and desktop file
mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64,128x128}/apps
for i in 16 32 48 64 128; do
install -pm 0644 share/icons/openMSX-logo-"$i".png \
    $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/"$i"x"$i"/apps/%{name}.png
done

desktop-file-install --vendor fedora \
                     --dir $RPM_BUILD_ROOT%{_datadir}/applications \
                     %{name}.desktop


%clean
rm -rf $RPM_BUILD_ROOT


%post
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

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


%files
%defattr(-,root,root,-)
%doc %{_docdir}/%{name}-%{version}
%{_bindir}/%{name}
%{_datadir}/%{name}
%{_datadir}/applications/fedora-%{name}.desktop
%{_datadir}/icons/hicolor/*/apps/%{name}.png
%{_mandir}/man1/%{name}.1.gz
%dir %{_sysconfdir}/%{name}
%config(noreplace) %{_sysconfdir}/%{name}/settings.xml


%changelog
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Fri Jul  3 2009 Hans de Goede <hdegoede@redhat.com> 0.7.2-1
- New upstream release 0.7.2

* Fri Apr 10 2009 Hans de Goede <hdegoede@redhat.com> 0.7.0-1
- New upstream release 0.7.0

* Thu Feb 26 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Feb 23 2009 Hans de Goede <hdegoede@redhat.com> 0.6.3-6
- Fix building with gcc-4.4

* Mon Dec 01 2008 Ignacio Vazquez-Abrams <ivazqueznet+rpm@gmail.com> - 0.6.3-5
- Rebuild for Python 2.6

* Sun Sep  7 2008 Hans de Goede <hdegoede@redhat.com> 0.6.3-4
- Fix patch fuzz build failure

* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 0.6.3-3
- Autorebuild for GCC 4.3

* Tue Jan 22 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.3-2
- Rebuild for new glew version in devel

* Wed Jan 09 2008 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.3-1
- Upgrade to 0.6.3
- Use the icons now supplied with openmsx instead of our own
- Harmless permission fix
- Some spec optimisations
- Updated datadir patch

* Sat Jan  5 2008 Alex Lancaster <alexlan[AT]fedoraproject org> - 0.6.2-5
- Rebuild for new Tcl 8.5

* Mon Aug 27 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.2-4
- License field corrected

* Sun Aug 26 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.2-3
- Migration to Fedora
- License field changed due to new guidelines

* Sun May 06 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.2-2
- Rebuild for glew 1.4.0

* Fri Apr 27 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.2-1
- Upgrade to 0.6.2
- Increased compilation verbosity

* Sun Mar 11 2007 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.1-2
- Dropped dribble-menus requirement, due to be obsoleted
- Changed .desktop category to Game;Emulator;
- Create the desktop icon from the skins (instead of using our own)

* Sun Aug 06 2006 Ian Chapman <packages[AT]amiga-hardware.com> 0.6.1-1
- Initial release