+# TODO: Fix issue with the WORDS_BIGENDIAN macro of autoconf-2.63
+# fuse built using autotools is unusable because of it.
#
# 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
+%bcond_with svga # svgalib version
+%bcond_without fb # framebuffer version
+%bcond_without gtk # GTK+ 2 version
+%bcond_without gtk3 # GTK+ 3 version
+%bcond_without sdl # SDL version
#
Summary: Free Unix Spectrum Emulator
-Summary(pl): Darmowy uniksowy emulator ZX Spectrum
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum
Name: fuse
-Version: 0.7.0
-Release: 1
-License: GPL
+Version: 1.1.1
+Release: 2
+License: GPL v2+
Group: Applications/Emulators
-Source0: ftp://ftp.worldofspectrum.org/pub/sinclair/emulators/unix/%{name}-%{version}.tar.gz
-# Source0-md5: d81ad260cd6a8dd533af01ee6a5f9527
+Source0: http://download.sourceforge.net/fuse-emulator/%{name}-%{version}.tar.gz
+# Source0-md5: 858e530ffc04a2ed62dce76ac29b5762
URL: http://fuse-emulator.sourceforge.net/
-%{?with_sdl:BuildRequires: SDL-devel >= 1.2.4}
-BuildRequires: autoconf
+BuildRequires: SDL-devel >= 1.2.4
+BuildRequires: alsa-lib-devel
+BuildRequires: autoconf >= 2.59-9
BuildRequires: automake
-%{?with_x:BuildRequires: gtk+2-devel >= 1:2.0.0}
-BuildRequires: lib765-devel
-BuildRequires: libjsw-devel
+BuildRequires: glib2-devel >= 1:2.20.0
+%{?with_gtk:BuildRequires: gtk+2-devel >= 2:2.18.0}
+%{?with_gtk3:BuildRequires: gtk+3-devel}
+%{?with_fb:BuildRequires: gpm-devel}
BuildRequires: libpng-devel
-BuildRequires: libspectrum-devel >= 0.2.1
+BuildRequires: libsamplerate-devel
+BuildRequires: libspectrum-devel >= 1.1.1
+BuildRequires: libtool >= 2:2
BuildRequires: libxml2-devel >= 2.0.0
-BuildRequires: perl
+BuildRequires: perl-base
+BuildRequires: pkgconfig
%{?with_svga:BuildRequires: svgalib-devel}
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
stuff).
* Support for loading from .tzx files.
* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
-%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.
+* Emulacja kilku drukarek przeznaczonych dla ZX Spectrum.
%package common
Summary: Free Unix Spectrum Emulator (common files)
-Summary(pl): Darmowy uniksowy emulator ZX Spectrum (pliki wspólne)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (pliki wspólne)
Group: Applications/Emulators
+Requires: glib2 >= 1:2.20.0
+Requires: libspectrum >= 0.4.0
%description common
fuse is Free Unix Spectrum Emulator.
speed on a SparcStation 4 unless you do too much graphics intensive
stuff).
* Support for loading from .tzx files.
-* Sound.
+* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
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 wszystkich wersji.
+W tym pakiecie znajdują się wspólne pliki dla wszystkich wersji.
%package fb
Summary: Free Unix Spectrum Emulator (framebuffer version)
-Summary(pl): Darmowy uniksowy emulator ZX Spectrum (wersja na framebuffer)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na framebuffer)
Group: Applications/Emulators
Requires: %{name}-common = %{version}-%{release}
speed on a SparcStation 4 unless you do too much graphics intensive
stuff).
* Support for loading from .tzx files.
-* Sound.
+* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
This package contains files for framebuffer version.
-%description fb -l pl
+%description fb -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ê pliki dla wersji korzystaj±cej z
+W tym pakiecie znajdują się pliki dla wersji korzystającej z
framebuffera.
%package sdl
Summary: Free Unix Spectrum Emulator (SDL version)
-Summary(pl): Darmowy uniksowy emulator ZX Spectrum (wersja na SDL)
+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
speed on a SparcStation 4 unless you do too much graphics intensive
stuff).
* Support for loading from .tzx files.
-* Sound.
+* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
This package contains files for SDL version.
-%description sdl -l pl
+%description sdl -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ê pliki dla wersji korzystaj±cej z SDL.
+W tym pakiecie znajdują się pliki dla wersji korzystającej z SDL.
%package svga
Summary: Free Unix Spectrum Emulator (svga version)
-Summary(pl): Darmowy 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}-%{release}
speed on a SparcStation 4 unless you do too much graphics intensive
stuff).
* Support for loading from .tzx files.
-* Sound.
+* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
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:
+
+* Emulacja ZX Spectrum 48K/128K/+2/+2A.
+* Możliwość ładowania programów z plików .tzx.
+* Dźwięk.
+* Emulacja kilku drukarek przeznaczonych dla ZX Spectrum.
+
+W tym pakiecie znajdują się pliki dla wersji korzystającej z svgalib.
+
+%package gtk
+Summary: Free Unix Spectrum Emulator (GTK+ 2 version)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja GTK+ 2)
+Group: Applications/Emulators
+Requires: %{name}-common = %{version}-%{release}
+Requires: gtk+2 >= 2:2.18.0
+Obsoletes: fuse-X11
+
+%description gtk
+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 emulation.
+* Emulation of several printers for ZX Spectrum.
+
+This package contains files for GTK+ 2 version.
+
+%description gtk -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ê pliki dla wersji korzystaj±cej z svgalib.
+W tym pakiecie znajdują się pliki dla wersji GTK+ 2.
-%package X11
-Summary: Free Unix Spectrum Emulator (X11 version)
-Summary(pl): Darmowy uniksowy emulator ZX Spectrum (wersja na XWindow)
+%package gtk3
+Summary: Free Unix Spectrum Emulator (GTK+ 3 version)
+Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja GTK+ 3)
Group: Applications/Emulators
Requires: %{name}-common = %{version}-%{release}
+Obsoletes: fuse-X11
-%description X11
+%description gtk3
fuse is Free Unix Spectrum Emulator.
What Fuse does have:
speed on a SparcStation 4 unless you do too much graphics intensive
stuff).
* Support for loading from .tzx files.
-* Sound.
+* Sound emulation.
+* Emulation of several printers for ZX Spectrum.
-This package contains files for X11 version.
+This package contains files for GTK+ 3 version.
-%description X11 -l pl
+%description gtk3 -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ê pliki dla wersji X11.
+W tym pakiecie znajdują się pliki dla wersji GTK+ 3.
%prep
%setup -q
%build
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-
-# X11
-%if %{with x}
-%configure \
- --disable-ui-joystick \
- --with-joystick \
- --with-gtk
-%{__make} clean
-%{__make}
-cp -f ./fuse ./fuse-x11
-%endif
+#%{__libtoolize}
+#%{__aclocal}
+#%{__autoheader}
+#%{__autoconf}
+#%{__automake}
# SDL
%if %{with sdl}
%configure \
- --disable-ui-joystick \
- --with-joystick \
--with-sdl
%{__make} clean
%{__make}
-cp -f ./fuse ./fuse-sdl
+cp -f fuse fuse-sdl
%endif
# svga
%if %{with svga}
%configure \
- --disable-ui-joystick \
- --with-joystick \
--with-svgalib
%{__make} clean
%{__make}
-cp -f ./fuse ./fuse-svga
+cp -f fuse fuse-svga
%endif
# framebuffer
%if %{with fb}
%configure \
- --with-joystick \
--with-fb
%{__make} clean
%{__make}
-cp -f ./fuse ./fuse-fb
+cp -f fuse fuse-fb
+%endif
+
+# These two must be the last, because they install menu_data.ui
+# gtk
+%if %{with gtk}
+%configure \
+ --with-gtk
+%{__make} clean
+%{__make}
+cp -f fuse fuse-gtk
+%endif
+
+# gtk3
+%if %{with gtk3}
+%configure \
+ --with-gtk \
+ --enable-gtk3
+%{__make} clean
+%{__make}
+cp -f fuse fuse-gtk3
%endif
%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_gtk:install fuse-gtk $RPM_BUILD_ROOT%{_bindir}}
+%{?with_gtk3:install fuse-gtk3 $RPM_BUILD_ROOT%{_bindir}}
+%{?with_fb:install fuse-fb $RPM_BUILD_ROOT%{_bindir}}
%{?with_sdl:install fuse-sdl $RPM_BUILD_ROOT%{_bindir}}
+install ui/widget/fuse.font $RPM_BUILD_ROOT%{_datadir}/%{name}
%clean
rm -rf $RPM_BUILD_ROOT
%files common
%defattr(644,root,root,755)
-%doc README THANKS AUTHORS keysyms.dat keysyms.pl hacking/*
+%doc README THANKS AUTHORS keysyms.dat keysyms.pl hacking/ChangeLog hacking/*.txt
%{_datadir}/%{name}
-%{_mandir}/man1/*
+%{_mandir}/man1/fuse.1*
%if %{with fb}
%files fb
%attr(755,root,root) %{_bindir}/fuse-fb
%endif
+%if %{with gtk}
+%files gtk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fuse-gtk
+%endif
+
+%if %{with gtk3}
+%files gtk3
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/fuse-gtk3
+%endif
+
%if %{with sdl}
%files sdl
%defattr(644,root,root,755)
%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) %{_bindir}/fuse-x11
-%endif