Name: openmsx
Version: 0.6.3
Release: 4%{?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
Patch1: openmsx-0.6.1-flavour.patch
Patch2: openmsx-0.6.3-datadir.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
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
%patch1 -p1
%patch2 -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}
# Dont strip exe, let rpm do it and save debug info
OPENMSX_STRIP:=false
EOF
# Move documentation to a sensible location
echo 'System ROM Dir: %{_datadir}/%{name}/systemroms' > systemroms-README
cat share/systemroms/README >> doc/systemroms-README
rm -f share/systemroms/README
echo '%{_datadir}/%{name}/machines/Boosted_MSX2_EN/roms' > Boosted_MSX2_EN-roms-README
cat share/machines/Boosted_MSX2_EN/roms/README >> doc/Boosted_MSX2_EN-roms-README
rm -f share/machines/Boosted_MSX2_EN/roms/README
echo '%{_datadir}/%{name}/machines/Boosted_MSX2_EN' > Boosted_MSX2_EN-README
cat share/machines/Boosted_MSX2_EN/README >> doc/Boosted_MSX2_EN-README
rm -f share/machines/Boosted_MSX2_EN/README
%build
%configure
make %{?_smp_mflags}
# Build desktop icon
cat >%{name}.desktop <<EOF
[Desktop Entry]
Encoding=UTF-8
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 %{buildroot}
# Some clean ups before installing
rm -f share/systemroms/.cvsignore doc/{node.mk,openmsx.sgml,manual/node.mk} \
share/extensions/msxdos2/roms/SHA1SUMS
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/{16x16,32x32,48x48,64x64,128x128}/apps
mkdir -p %{buildroot}%{_mandir}/man1
install -pm 0755 derived/%{name} %{buildroot}%{_bindir}
install -pm 0644 OPENMSX.1 %{buildroot}%{_mandir}/man1/openmsx.1
cp -a share/{extensions,keymaps,machines,scripts,shaders,skins,systemroms} \
%{buildroot}%{_datadir}/%{name}
install -pm 0644 share/softwaredb.xml %{buildroot}%{_datadir}/%{name}
install -pm 0644 share/init.tcl %{buildroot}%{_datadir}/%{name}
install -pm 0644 share/settings.xml %{buildroot}%{_sysconfdir}/%{name}
ln -s --target-directory=%{buildroot}%{_datadir}/%{name} \
../../../etc/openmsx/settings.xml
# Install icon set
for i in 16 32 48 64 128; do
install -pm 0644 share/icons/openMSX-logo-"$i".png \
%{buildroot}%{_datadir}/icons/hicolor/"$i"x"$i"/apps/%{name}.png
done
rm -f doc/{node.mk,manual/node.mk}
desktop-file-install --vendor fedora \
--dir %{buildroot}%{_datadir}/applications \
%{name}.desktop
%clean
rm -rf %{buildroot}
%post
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%postun
touch --no-create %{_datadir}/icons/hicolor || :
if [ -x %{_bindir}/gtk-update-icon-cache ]; then
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
fi
%files
%defattr(-,root,root,-)
%{_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
%doc AUTHORS ChangeLog GPL README doc/*
%changelog
* 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