]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_with svga # svgalib version | |
4 | %bcond_without fb # framebuffer version | |
5 | %bcond_without gtk2 # GTK+ 2 version | |
6 | %bcond_without gtk3 # GTK+ 3 version | |
7 | %bcond_without sdl # SDL version | |
8 | %bcond_without libao # libao instead of alsa | |
9 | # | |
10 | %define libspectrum_ver 1.5.0 | |
11 | Summary: Free Unix Spectrum Emulator | |
12 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum | |
13 | Name: fuse | |
14 | Version: 1.6.0 | |
15 | Release: 5 | |
16 | License: GPL v2+ | |
17 | Group: Applications/Emulators | |
18 | Source0: http://downloads.sourceforge.net/fuse-emulator/%{name}-%{version}.tar.gz | |
19 | # Source0-md5: 393ae137e76de66e6a1bf66959a39e99 | |
20 | Source1: ti_m397.rom | |
21 | # Source1-md5: 8c61b20e1f7666ff80ad7f48bb2b10c0 | |
22 | Patch0: http://downloads.sourceforge.net/fdd3000e/v_0.2.1/fuse-1.6.0-fdd3000-0.2.1.diff | |
23 | # Patch0-md5: 4a75f5c445921feb2c12a8406f71c44e | |
24 | URL: http://fuse-emulator.sourceforge.net/ | |
25 | BuildRequires: SDL-devel >= 1.2.4 | |
26 | %{!?with_libao:BuildRequires: alsa-lib-devel} | |
27 | BuildRequires: autoconf >= 2.59-9 | |
28 | BuildRequires: automake >= 1:1.11 | |
29 | BuildRequires: glib2-devel >= 1:2.20.0 | |
30 | %{?with_fb:BuildRequires: gpm-devel} | |
31 | %{?with_gtk2:BuildRequires: gtk+2-devel >= 2:2.18.0} | |
32 | %{?with_gtk3:BuildRequires: gtk+3-devel >= 3.0} | |
33 | %{?with_libao:BuildRequires: libao-devel} | |
34 | BuildRequires: libjsw-devel | |
35 | BuildRequires: libpng-devel | |
36 | BuildRequires: libspectrum-devel >= %{libspectrum_ver} | |
37 | BuildRequires: libtool >= 2:2 | |
38 | BuildRequires: libxml2-devel >= 1:2.6.0 | |
39 | BuildRequires: perl-base | |
40 | BuildRequires: pkgconfig | |
41 | BuildRequires: rpmbuild(macros) >= 1.697 | |
42 | BuildRequires: sed >= 4.0 | |
43 | %{?with_svga:BuildRequires: svgalib-devel} | |
44 | BuildRequires: xorg-lib-libX11-devel | |
45 | BuildRequires: zlib-devel | |
46 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
47 | ||
48 | %description | |
49 | fuse is Free Unix Spectrum Emulator. | |
50 | What Fuse does have: | |
51 | ||
52 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
53 | speed on any computer you're likely to try it on (it runs at full | |
54 | speed on a SparcStation 4 unless you do too much graphics intensive | |
55 | stuff). | |
56 | * Support for loading from .tzx files. | |
57 | * Sound emulation. | |
58 | * Emulation of several printers for ZX Spectrum. | |
59 | ||
60 | %description -l pl.UTF-8 | |
61 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
62 | Jego właściwości to: | |
63 | ||
64 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
65 | * Możliwość ładowania programów z plików .tzx. | |
66 | * Dźwięk. | |
67 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
68 | ||
69 | %package common | |
70 | Summary: Free Unix Spectrum Emulator (common files) | |
71 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (pliki wspólne) | |
72 | Group: Applications/Emulators | |
73 | # actually -common doesn't require these libraries, but all the frontends do | |
74 | Requires: glib2 >= 1:2.20.0 | |
75 | Requires: libspectrum >= %{libspectrum_ver} | |
76 | Requires: libxml2-devel >= 1:2.6.0 | |
77 | Suggests: fdd3000e | |
78 | ||
79 | %description common | |
80 | fuse is Free Unix Spectrum Emulator. | |
81 | What Fuse does have: | |
82 | ||
83 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
84 | speed on any computer you're likely to try it on (it runs at full | |
85 | speed on a SparcStation 4 unless you do too much graphics intensive | |
86 | stuff). | |
87 | * Support for loading from .tzx files. | |
88 | * Sound emulation. | |
89 | * Emulation of several printers for ZX Spectrum. | |
90 | ||
91 | This package contains common files for all versions. | |
92 | ||
93 | %description common -l pl.UTF-8 | |
94 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
95 | Jego właściwości to: | |
96 | ||
97 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
98 | * Możliwość ładowania programów z plików .tzx. | |
99 | * Dźwięk. | |
100 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
101 | ||
102 | W tym pakiecie znajdują się wspólne pliki dla wszystkich wersji. | |
103 | ||
104 | %package fb | |
105 | Summary: Free Unix Spectrum Emulator (framebuffer version) | |
106 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na framebuffer) | |
107 | Group: Applications/Emulators | |
108 | Requires: %{name}-common = %{version}-%{release} | |
109 | ||
110 | %description fb | |
111 | fuse is Free Unix Spectrum Emulator. | |
112 | What Fuse does have: | |
113 | ||
114 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
115 | speed on any computer you're likely to try it on (it runs at full | |
116 | speed on a SparcStation 4 unless you do too much graphics intensive | |
117 | stuff). | |
118 | * Support for loading from .tzx files. | |
119 | * Sound emulation. | |
120 | * Emulation of several printers for ZX Spectrum. | |
121 | ||
122 | This package contains files for framebuffer version. | |
123 | ||
124 | %description fb -l pl.UTF-8 | |
125 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
126 | Jego właściwości to: | |
127 | ||
128 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
129 | * Możliwość ładowania programów z plików .tzx. | |
130 | * Dźwięk. | |
131 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
132 | ||
133 | W tym pakiecie znajdują się pliki dla wersji korzystającej z | |
134 | framebuffera. | |
135 | ||
136 | %package sdl | |
137 | Summary: Free Unix Spectrum Emulator (SDL version) | |
138 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na SDL) | |
139 | Group: Applications/Emulators | |
140 | Requires: %{name}-common = %{version}-%{release} | |
141 | Requires: SDL >= 1.2.4 | |
142 | ||
143 | %description sdl | |
144 | fuse is Free Unix Spectrum Emulator. | |
145 | What Fuse does have: | |
146 | ||
147 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
148 | speed on any computer you're likely to try it on (it runs at full | |
149 | speed on a SparcStation 4 unless you do too much graphics intensive | |
150 | stuff). | |
151 | * Support for loading from .tzx files. | |
152 | * Sound emulation. | |
153 | * Emulation of several printers for ZX Spectrum. | |
154 | ||
155 | This package contains files for SDL version. | |
156 | ||
157 | %description sdl -l pl.UTF-8 | |
158 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
159 | Jego właściwości to: | |
160 | ||
161 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
162 | * Możliwość ładowania programów z plików .tzx. | |
163 | * Dźwięk. | |
164 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
165 | ||
166 | W tym pakiecie znajdują się pliki dla wersji korzystającej z SDL. | |
167 | ||
168 | %package svga | |
169 | Summary: Free Unix Spectrum Emulator (svga version) | |
170 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja na svgalib) | |
171 | Group: Applications/Emulators | |
172 | Requires: %{name}-common = %{version}-%{release} | |
173 | ||
174 | %description svga | |
175 | fuse is Free Unix Spectrum Emulator. | |
176 | What Fuse does have: | |
177 | ||
178 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
179 | speed on any computer you're likely to try it on (it runs at full | |
180 | speed on a SparcStation 4 unless you do too much graphics intensive | |
181 | stuff). | |
182 | * Support for loading from .tzx files. | |
183 | * Sound emulation. | |
184 | * Emulation of several printers for ZX Spectrum. | |
185 | ||
186 | This package contains files for svga version. | |
187 | ||
188 | %description svga -l pl.UTF-8 | |
189 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
190 | Jego właściwości to: | |
191 | ||
192 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
193 | * Możliwość ładowania programów z plików .tzx. | |
194 | * Dźwięk. | |
195 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
196 | ||
197 | W tym pakiecie znajdują się pliki dla wersji korzystającej z svgalib. | |
198 | ||
199 | %package gtk | |
200 | Summary: Free Unix Spectrum Emulator (GTK+ 2 version) | |
201 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja GTK+ 2) | |
202 | Group: Applications/Emulators | |
203 | Requires: %{name}-common = %{version}-%{release} | |
204 | Requires: gtk+2 >= 2:2.18.0 | |
205 | Obsoletes: fuse-X11 | |
206 | ||
207 | %description gtk | |
208 | fuse is Free Unix Spectrum Emulator. | |
209 | What Fuse does have: | |
210 | ||
211 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
212 | speed on any computer you're likely to try it on (it runs at full | |
213 | speed on a SparcStation 4 unless you do too much graphics intensive | |
214 | stuff). | |
215 | * Support for loading from .tzx files. | |
216 | * Sound emulation. | |
217 | * Emulation of several printers for ZX Spectrum. | |
218 | ||
219 | This package contains files for GTK+ 2 version. | |
220 | ||
221 | %description gtk -l pl.UTF-8 | |
222 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
223 | Jego właściwości to: | |
224 | ||
225 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
226 | * Możliwość ładowania programów z plików .tzx. | |
227 | * Dźwięk. | |
228 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
229 | ||
230 | W tym pakiecie znajdują się pliki dla wersji GTK+ 2. | |
231 | ||
232 | %package gtk3 | |
233 | Summary: Free Unix Spectrum Emulator (GTK+ 3 version) | |
234 | Summary(pl.UTF-8): Darmowy uniksowy emulator ZX Spectrum (wersja GTK+ 3) | |
235 | Group: Applications/Emulators | |
236 | Requires: %{name}-common = %{version}-%{release} | |
237 | Obsoletes: fuse-X11 | |
238 | ||
239 | %description gtk3 | |
240 | fuse is Free Unix Spectrum Emulator. | |
241 | What Fuse does have: | |
242 | ||
243 | * Working 48K/128K/+2/+2A Speccy emulation, running at true Speccy | |
244 | speed on any computer you're likely to try it on (it runs at full | |
245 | speed on a SparcStation 4 unless you do too much graphics intensive | |
246 | stuff). | |
247 | * Support for loading from .tzx files. | |
248 | * Sound emulation. | |
249 | * Emulation of several printers for ZX Spectrum. | |
250 | ||
251 | This package contains files for GTK+ 3 version. | |
252 | ||
253 | %description gtk3 -l pl.UTF-8 | |
254 | fuse (Free Unix Spectrum Emulator) jest emulatorem ZX Spectrum. | |
255 | Jego właściwości to: | |
256 | ||
257 | * Emulacja ZX Spectrum 48K/128K/+2/+2A. | |
258 | * Możliwość ładowania programów z plików .tzx. | |
259 | * Dźwięk. | |
260 | * Emulacja kilku drukarek przeznaczonych dla ZX Spectrum. | |
261 | ||
262 | W tym pakiecie znajdują się pliki dla wersji GTK+ 3. | |
263 | ||
264 | %package -n bash-completion-fuse | |
265 | Summary: Bash completion for FUSE emulator commands | |
266 | Summary(pl.UTF-8): Bashowe dopełnianie składni poleceń emulatora FUSE | |
267 | Group: Applications/Shells | |
268 | Requires: %{name}-common = %{version}-%{release} | |
269 | Requires: bash-completion >= 2.0 | |
270 | ||
271 | %description -n bash-completion-fuse | |
272 | Bash completion for FUSE emulator commands. | |
273 | ||
274 | %description -n bash-completion-fuse -l pl.UTF-8 | |
275 | Bashowe dopełnianie składni poleceń emulatora FUSE. | |
276 | ||
277 | %prep | |
278 | %setup -q | |
279 | %patch0 -p1 | |
280 | ||
281 | # PLD uses per-backend fuse program instead of just "fuse" | |
282 | %{__sed} -i -e '/^complete /s/ fuse$/ fuse-fb fuse-gtk fuse-gtk3 fuse-sdl fuse-svga/' data/shell-completion/bash/fuse | |
283 | %{__rm} -f settings.c settings.h options.h | |
284 | ||
285 | %build | |
286 | autoreconf | |
287 | ||
288 | %define common_opts \\\ | |
289 | --disable-silent-rules \\\ | |
290 | --with-bash-completion-dir=%{bash_compdir} \\\ | |
291 | %{nil} | |
292 | # SDL | |
293 | %if %{with sdl} | |
294 | mkdir build-sdl | |
295 | cd build-sdl | |
296 | ../%configure \ | |
297 | %{common_opts} \ | |
298 | --program-suffix=-sdl \ | |
299 | --with-sdl | |
300 | %{__make} | |
301 | cd .. | |
302 | %endif | |
303 | ||
304 | # svga | |
305 | %if %{with svga} | |
306 | mkdir build-svga | |
307 | cd build-svga | |
308 | ../%configure \ | |
309 | %{common_opts} \ | |
310 | --program-suffix=-svga \ | |
311 | --with-svgalib | |
312 | %{__make} | |
313 | cd .. | |
314 | %endif | |
315 | ||
316 | # framebuffer | |
317 | %if %{with fb} | |
318 | mkdir build-fb | |
319 | cd build-fb | |
320 | ../%configure \ | |
321 | %{common_opts} \ | |
322 | --program-suffix=-fb \ | |
323 | %if %{with libao} | |
324 | --with-audio-driver=libao \ | |
325 | %endif | |
326 | --with-fb | |
327 | %{__make} | |
328 | cd .. | |
329 | %endif | |
330 | ||
331 | # gtk | |
332 | %if %{with gtk2} | |
333 | mkdir build-gtk2 | |
334 | cd build-gtk2 | |
335 | ../%configure \ | |
336 | %{common_opts} \ | |
337 | --program-suffix=-gtk \ | |
338 | %if %{with libao} | |
339 | --with-audio-driver=libao \ | |
340 | %endif | |
341 | --with-gtk | |
342 | %{__make} | |
343 | cd .. | |
344 | %endif | |
345 | ||
346 | # gtk3 | |
347 | %if %{with gtk3} | |
348 | mkdir build-gtk3 | |
349 | cd build-gtk3 | |
350 | ../%configure \ | |
351 | %{common_opts} \ | |
352 | --enable-gtk3 \ | |
353 | --program-suffix=-gtk3 \ | |
354 | %if %{with libao} | |
355 | --with-audio-driver=libao \ | |
356 | %endif | |
357 | --with-gtk | |
358 | %{__make} | |
359 | cd .. | |
360 | %endif | |
361 | ||
362 | %install | |
363 | rm -rf $RPM_BUILD_ROOT | |
364 | %if %{with sdl} | |
365 | %{__make} -C build-sdl install \ | |
366 | DESTDIR=$RPM_BUILD_ROOT | |
367 | %endif | |
368 | ||
369 | %if %{with svga} | |
370 | %{__make} -C build-svga install \ | |
371 | DESTDIR=$RPM_BUILD_ROOT | |
372 | %endif | |
373 | ||
374 | %if %{with fb} | |
375 | %{__make} -C build-fb install \ | |
376 | DESTDIR=$RPM_BUILD_ROOT | |
377 | %endif | |
378 | ||
379 | %if %{with gtk2} | |
380 | %{__make} -C build-gtk2 install \ | |
381 | DESTDIR=$RPM_BUILD_ROOT | |
382 | %endif | |
383 | ||
384 | %if %{with gtk3} | |
385 | %{__make} -C build-gtk3 install \ | |
386 | DESTDIR=$RPM_BUILD_ROOT | |
387 | %endif | |
388 | ||
389 | cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/%{name} | |
390 | ||
391 | %clean | |
392 | rm -rf $RPM_BUILD_ROOT | |
393 | ||
394 | %files common | |
395 | %defattr(644,root,root,755) | |
396 | %doc README THANKS AUTHORS ChangeLog keysyms.dat keysyms.pl hacking/*.txt | |
397 | %{_datadir}/%{name} | |
398 | ||
399 | %if %{with fb} | |
400 | %files fb | |
401 | %defattr(644,root,root,755) | |
402 | %attr(755,root,root) %{_bindir}/fuse-fb | |
403 | %{_mandir}/man1/fuse-fb.1* | |
404 | %endif | |
405 | ||
406 | %if %{with gtk2} | |
407 | %files gtk | |
408 | %defattr(644,root,root,755) | |
409 | %attr(755,root,root) %{_bindir}/fuse-gtk | |
410 | %{_mandir}/man1/fuse-gtk.1* | |
411 | %endif | |
412 | ||
413 | %if %{with gtk3} | |
414 | %files gtk3 | |
415 | %defattr(644,root,root,755) | |
416 | %attr(755,root,root) %{_bindir}/fuse-gtk3 | |
417 | %{_mandir}/man1/fuse-gtk3.1* | |
418 | %endif | |
419 | ||
420 | %if %{with sdl} | |
421 | %files sdl | |
422 | %defattr(644,root,root,755) | |
423 | %attr(755,root,root) %{_bindir}/fuse-sdl | |
424 | %{_mandir}/man1/fuse-sdl.1* | |
425 | %endif | |
426 | ||
427 | %if %{with svga} | |
428 | %files svga | |
429 | %defattr(644,root,root,755) | |
430 | %attr(755,root,root) %{_bindir}/fuse-svga | |
431 | %{_mandir}/man1/fuse-svga.1* | |
432 | %endif | |
433 | ||
434 | %files -n bash-completion-fuse | |
435 | %defattr(644,root,root,755) | |
436 | %{bash_compdir}/fuse |