+#
+# Conditional build:
+%bcond_without svga # do not build svgalib version
+%bcond_without x # do not build X11 version
+%bcond_without fb # do not build framebuffer version
+%bcond_without sdl # do not build SDL version
+#
Summary: Free Unix Spectrum Emulator
-Summary(pl): "Wolny" uniksowy emulator ZX Spectrum
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum
Name: fuse
-Version: 0.5.0
-Release: 3
+Version: 0.7.0
+Release: 2
License: GPL
Group: Applications/Emulators
-Source0: http://www.srcf.ucam.org/~pak21/spectrum/%{name}-%{version}.tar.gz
-URL: http://www.srcf.ucam.org/~pak21/spectrum/fuse.html
+Source0: ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/%{name}-%{version}.tar.gz
+# Source0-md5: d81ad260cd6a8dd533af01ee6a5f9527
+Patch0: %{name}-gcc4.patch
+Patch1: %{name}-fb.patch
+URL: http://fuse-emulator.sourceforge.net/
+%{?with_sdl:BuildRequires: SDL-devel >= 1.2.4}
BuildRequires: autoconf
BuildRequires: automake
-BuildRequires: glib-devel
+%{?with_x:BuildRequires: gtk+2-devel >= 1:2.0.0}
+BuildRequires: lib765-devel
+BuildRequires: libjsw-devel
+BuildRequires: libpng-devel
+BuildRequires: libspectrum-devel >= 0.2.1
+BuildRequires: libxml2-devel >= 2.0.0
BuildRequires: perl
-%ifarch %{ix86} alpha ppc
-BuildRequires: svgalib-devel
-%endif
+%{?with_svga:BuildRequires: svgalib-devel}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
* Support for loading from .tzx files.
* Sound emulation.
-%description -l pl
+%description -l pl.UTF-8
fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
-Jego w³a¶ciwo¶ci to:
+Jego właściwości to:
* Emulacja ZX Spectrum 48K/128K/+2/+2A.
-* Mo¿liwo¶æ ³adowania programów z plików .tzx.
-* D¼wiêk.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
%package common
Summary: Free Unix Spectrum Emulator (common files)
-Summary(pl): "Wolny" uniksowy emulator ZX Spectrum (pliki wspólne)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (pliki wspólne)
Group: Applications/Emulators
%description common
* Support for loading from .tzx files.
* Sound.
-This package contains common files for X11 and svga version.
+This package contains common files for all versions.
-%description common -l pl
+%description common -l pl.UTF-8
fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
-Jego w³a¶ciwo¶ci to:
+Jego właściwości to:
* Emulacja ZX Spectrum 48K/128K/+2/+2A.
-* Mo¿liwo¶æ ³adowania programów z plików .tzx.
-* D¼wiêk.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
* Emulacja kilku drukarek przeznaczonych dla ZX Spectrum.
-W tym pakiecie znajduj± siê wspólne pliki dla wersji X11 i svga.
+W tym pakiecie znajdują się wspólne pliki dla wszystkich wersji.
+
+%package fb
+Summary: Free Unix Spectrum Emulator (framebuffer version)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na framebuffer)
+Group: Applications/Emulators
+Requires: %{name}-common = %{version}-%{release}
+
+%description fb
+fuse is Free Unix Spectrum Emulator.
+What Fuse does have:
+
+* Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy
+ speed on any computer you're likely to try it on (it runs at full
+ speed on a SparcStation 4 unless you do too much graphics intensive
+ stuff).
+* Support for loading from .tzx files.
+* Sound.
+
+This package contains files for framebuffer version.
+
+%description fb -l pl.UTF-8
+fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
+Jego właściwości to:
+
+* Emulacja ZX Spectrum 48K/128K/+2/+2A.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
+
+W tym pakiecie znajdują się pliki dla wersji korzystającej z
+framebuffera.
+
+%package sdl
+Summary: Free Unix Spectrum Emulator (SDL version)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na SDL)
+Group: Applications/Emulators
+Requires: %{name}-common = %{version}-%{release}
+Requires: SDL >= 1.2.4
+
+%description sdl
+fuse is Free Unix Spectrum Emulator.
+What Fuse does have:
+
+* Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy
+ speed on any computer you're likely to try it on (it runs at full
+ speed on a SparcStation 4 unless you do too much graphics intensive
+ stuff).
+* Support for loading from .tzx files.
+* Sound.
+
+This package contains files for SDL version.
+
+%description sdl -l pl.UTF-8
+fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
+Jego właściwości to:
+
+* Emulacja ZX Spectrum 48K/128K/+2/+2A.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
+
+W tym pakiecie znajdują się pliki dla wersji korzystającej z SDL.
%package svga
Summary: Free Unix Spectrum Emulator (svga version)
-Summary(pl): "Wolny" uniksowy emulator ZX Spectrum (wersja na svgalib)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na svgalib)
Group: Applications/Emulators
-Requires: %{name}-common = %{version}
+Requires: %{name}-common = %{version}-%{release}
%description svga
fuse is Free Unix Spectrum Emulator.
This package contains files for svga version.
-%description svga -l pl
+%description svga -l pl.UTF-8
fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
-Jego w³a¶ciwo¶ci to:
+Jego właściwości to:
* Emulacja ZX Spectrum 48K/128K/+2/+2A.
-* Mo¿liwo¶æ ³adowania programów z plików .tzx.
-* D¼wiêk.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
-W tym pakiecie znajduj± siê pliki dla wersji korzystaj±cej z svgalib.
+W tym pakiecie znajdują się pliki dla wersji korzystającej z svgalib.
%package X11
Summary: Free Unix Spectrum Emulator (X11 version)
-Summary(pl): "Wolny" uniksowy emulator ZX Spectrum (wersja na XWindow)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na XWindow)
Group: Applications/Emulators
-Requires: %{name}-common = %{version}
+Requires: %{name}-common = %{version}-%{release}
%description X11
fuse is Free Unix Spectrum Emulator.
This package contains files for X11 version.
-%description X11 -l pl
+%description X11 -l pl.UTF-8
fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum.
-Jego w³a¶ciwo¶ci to:
+Jego właściwości to:
* Emulacja ZX Spectrum 48K/128K/+2/+2A.
-* Mo¿liwo¶æ ³adowania programów z plików .tzx.
-* D¼wiêk.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
-W tym pakiecie znajduj± siê pliki dla wersji X11.
+W tym pakiecie znajdują się pliki dla wersji X11.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
%build
-rm -f missing
%{__aclocal}
+%{__autoheader}
%{__autoconf}
%{__automake}
-# version for X11
+
+# X11
+%if %{with x}
%configure \
- --with-x \
- --with-glib \
- --without-svgalib \
- --without-fb
+ --disable-ui-joystick \
+ --with-joystick \
+ --with-gtk
%{__make} clean
%{__make}
cp -f ./fuse ./fuse-x11
+%endif
-#version for svga
-%ifarch %{ix86} alpha ppc
+# SDL
+%if %{with sdl}
+%configure \
+ --disable-ui-joystick \
+ --with-joystick \
+ --with-sdl
%{__make} clean
+%{__make}
+cp -f ./fuse ./fuse-sdl
+%endif
+
+# svga
+%if %{with svga}
%configure \
- --without-x \
- --without-glib \
- --without-fb \
+ --disable-ui-joystick \
+ --with-joystick \
--with-svgalib
+%{__make} clean
%{__make}
cp -f ./fuse ./fuse-svga
%endif
+# framebuffer
+%if %{with fb}
+%configure \
+ --with-joystick \
+ --with-fb
+%{__make} clean
+%{__make}
+cp -f ./fuse ./fuse-fb
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
-%define _xbindir /usr/X11R6/bin
-%{__make} install DESTDIR=$RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_xbindir}
-%ifarch %{ix86} alpha ppc
-install fuse-svga $RPM_BUILD_ROOT%{_bindir}
-%endif
-install fuse-x11 $RPM_BUILD_ROOT%{_xbindir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+%{?with_svga:install fuse-svga $RPM_BUILD_ROOT%{_bindir}}
+%{?with_x:install fuse-x11 $RPM_BUILD_ROOT%{_bindir}}
+%{?with_fb:install fuse-fb $RPM_BUILD_ROOT%{_bindir}}
+%{?with_sdl:install fuse-sdl $RPM_BUILD_ROOT%{_bindir}}
%clean
rm -rf $RPM_BUILD_ROOT
%files common
%defattr(644,root,root,755)
-%doc README THANKS AUTHORS keysyms.dat keysyms.pl hacking/*
-%dir %{_datadir}/%{name}
-%attr(755,root,root) %{_bindir}/tzxlist
-%{_datadir}/%{name}/*
+%doc README THANKS AUTHORS keysyms.dat keysyms.pl hacking/*
+%{_datadir}/%{name}
%{_mandir}/man1/*
-%ifarch %{ix86} alpha ppc
+%if %{with fb}
+%files fb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fuse-fb
+%endif
+
+%if %{with sdl}
+%files sdl
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fuse-sdl
+%endif
+
+%if %{with svga}
%files svga
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/fuse-svga
%endif
+%if %{with x}
%files X11
%defattr(644,root,root,755)
-%attr(755,root,root) %{_xbindir}/fuse-x11
+%attr(755,root,root) %{_bindir}/fuse-x11
+%endif