]> git.pld-linux.org Git - packages/qemu.git/blame - qemu.spec
- rel 8
[packages/qemu.git] / qemu.spec
CommitLineData
0b920c52 1# TODO:
98a1a188 2# - update patches
01b9430c 3# - qemu-system-ppc -hda ac-ppc.img says:
fabf5a9c 4# qemu: could not open disk image ac-ppc.img: error "Success"
01b9430c 5# qemu-0.12.2-2.x86_64.rpm - broken
cef095a4 6# qemu-0.12.3-3.x86_64/qemu-0.12.4-1.x86_64 - stops on "returning from prom_init"
fabf5a9c
ER
7# qemu-0.15.0-2.x86_64.rpm - qemu-system-sparc/ppc booting with -kernel, -initrd options stalls in openbios prompt
8# qemu-0.11.1-*.x86_64.rpm - OK
0b920c52 9#
6aef4654 10# Conditional build:
161ffd93 11%bcond_with cflags_passing # with passing rpmcflags to Makefiles
a6d3659e 12%bcond_with nosdlgui # do not use SDL gui (use X11 instead)
007877cb 13
cd19124e 14Summary: QEMU CPU Emulator
eec0535a 15Summary(pl.UTF-8): QEMU - emulator procesora
7b81d160 16Name: qemu
b74098c4 17Version: 1.0
4999ef54 18Release: 8
5a2da1d0
JB
19License: GPL
20Group: Applications/Emulators
06dce779 21Source0: http://wiki.qemu.org/download/%{name}-%{version}.tar.gz
b74098c4 22# Source0-md5: a64b36067a191451323b0d34ebb44954
7b81d160 23Patch6: %{name}-nosdlgui.patch
81a493f2 24# Proof of concept, for reference, do not remove
7b81d160 25Patch8: %{name}-kde_virtual_workspaces_hack.patch
ba4329df 26Patch17: %{name}-whitelist.patch
d6bd22e9 27URL: http://wiki.qemu.org/Index.html
867764ba 28BuildRequires: SDL-devel >= 1.2.1
b0b3ca8d 29BuildRequires: alsa-lib-devel
b99b1652
AM
30BuildRequires: bluez-libs-devel
31BuildRequires: gnutls-devel
98a1a188 32BuildRequires: ncurses-devel
995bac8b 33BuildRequires: perl-Encode
2fb8ea02 34BuildRequires: perl-tools-pod
ba84a935 35BuildRequires: pkgconfig
8bb1261c 36BuildRequires: sed >= 4.0
a1146336 37BuildRequires: texi2html
22f71ecb 38BuildRequires: texinfo
cad677a4 39BuildRequires: which
ba84a935 40BuildRequires: xorg-lib-libX11-devel
fabf5a9c
ER
41Requires: %{name}-img = %{version}-%{release}
42Requires: %{name}-system-alpha = %{version}-%{release}
43Requires: %{name}-system-arm = %{version}-%{release}
44Requires: %{name}-system-cris = %{version}-%{release}
45Requires: %{name}-system-lm32 = %{version}-%{release}
46Requires: %{name}-system-m68k = %{version}-%{release}
47Requires: %{name}-system-microblaze = %{version}-%{release}
48Requires: %{name}-system-mips = %{version}-%{release}
49Requires: %{name}-system-ppc = %{version}-%{release}
50Requires: %{name}-system-s390x = %{version}-%{release}
51Requires: %{name}-system-sh4 = %{version}-%{release}
52Requires: %{name}-system-sparc = %{version}-%{release}
53Requires: %{name}-system-x86 = %{version}-%{release}
54Requires: %{name}-system-xtensa = %{version}-%{release}
55Requires: %{name}-user = %{version}-%{release}
2ef13cb9 56# sparc is currently unsupported (missing cpu_get_real_ticks() impl in vl.c)
007877cb 57ExclusiveArch: %{ix86} %{x8664} %{?with_userspace:ppc}
cd19124e 58BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
59
98a1a188 60# some PPC/SPARC boot image in ELF format
22f71ecb 61%define _noautostrip .*%{_datadir}/qemu/.*-.*
a154aede 62
cd19124e 63%description
64QEMU is a FAST! processor emulator. By using dynamic translation it
65achieves a reasonnable speed while being easy to port on new host
66CPUs. QEMU has two operating modes:
67
68- User mode emulation. In this mode, QEMU can launch Linux processes
69 compiled for one CPU on another CPU. Linux system calls are converted
70 because of endianness and 32/64 bit mismatches. Wine (Windows
71 emulation) and DOSEMU (DOS emulation) are the main targets for QEMU.
72
73- Full system emulation. In this mode, QEMU emulates a full system,
8799423b
ER
74 including a processor and various peripherials. It can also be used to
75 provide virtual hosting of several virtual PC on a single server.
cd19124e 76
27b30e9c
JR
77%description -l pl.UTF-8
78QEMU to szybki(!) emulator procesora. Poprzez użycie dynamicznego
79tłumaczenia osiąga rozsądną szybkość i jest łatwy do przeportowania,
80aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
5a2da1d0 81
27b30e9c 82- Emulacja trybu użytkownika. W tym trybie QEMU może uruchamiać
5a2da1d0 83 procesy linuksowe skompilowane dla jednego procesora na innym
27b30e9c
JR
84 procesorze. Linuksowe wywołania systemowe są tłumaczone ze względu na
85 niezgodność kolejności bajtów w słowie i 32/64-bitowego rozmiaru
86 słowa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to główne
5a2da1d0
JB
87 cele QEMU.
88
27b30e9c
JR
89- Pełna emulacja systemu. W tym trybie QEMU emuluje cały system,
90 włączając w to procesor i różne urządzenia peryferyjne. Może być także
91 używane do wirtualnego hostowania kilku wirtualnych pecetów na
8799423b 92 pojedynczym serwerze.
5a2da1d0 93
fabf5a9c
ER
94%package common
95Summary: QEMU common files needed by all QEMU targets
96Group: Development/Tools
97Requires: SDL >= 1.2.1
98Conflicts: qemu < 1.0-2
99
100%description common
101QEMU is a generic and open source processor emulator which achieves a
102good emulation speed by using dynamic translation.
103
104This package provides the common files needed by all QEMU targets.
105
106%package img
107Summary: QEMU command line tool for manipulating disk images
108Group: Development/Tools
109Conflicts: qemu < 1.0-2
110
111%description img
112This package provides a command line tool for manipulating disk images
113
114%package user
115Summary: QEMU user mode emulation of qemu targets
116Group: Development/Tools
117Requires: %{name}-common = %{version}-%{release}
118
119%description user
120QEMU is a generic and open source processor emulator which achieves a
121good emulation speed by using dynamic translation.
122
123This package provides the user mode emulation of QEMU targets.
124
125%package system-alpha
126Summary: QEMU system emulator for alpha
127Group: Development/Tools
128Requires: %{name}-common = %{version}-%{release}
129
130%description system-alpha
131QEMU is a generic and open source processor emulator which achieves a
132good emulation speed by using dynamic translation.
133
134This package provides the system emulator for alpha.
135
136%package system-arm
137Summary: QEMU system emulator for arm
138Group: Development/Tools
139Requires: %{name}-common = %{version}-%{release}
140
141%description system-arm
142QEMU is a generic and open source processor emulator which achieves a
143good emulation speed by using dynamic translation.
144
145This package provides the system emulator for arm.
146
147%package system-cris
148Summary: QEMU system emulator for cris
149Group: Development/Tools
150Requires: %{name}-common = %{version}-%{release}
151
152%description system-cris
153QEMU is a generic and open source processor emulator which achieves a
154good emulation speed by using dynamic translation.
155
156This package provides the system emulator for cris.
157
158%package system-lm32
159Summary: QEMU system emulator for lm32
160Group: Development/Tools
161Requires: %{name}-common = %{version}-%{release}
162
163%description system-lm32
164QEMU is a generic and open source processor emulator which achieves a
165good emulation speed by using dynamic translation.
166
167This package provides the system emulator for lm32.
168
169%package system-m68k
170Summary: QEMU system emulator for m68k
171Group: Development/Tools
172Requires: %{name}-common = %{version}-%{release}
173
174%description system-m68k
175QEMU is a generic and open source processor emulator which achieves a
176good emulation speed by using dynamic translation.
177
178This package provides the system emulator for m68k.
179
180%package system-microblaze
181Summary: QEMU system emulator for microblaze
182Group: Development/Tools
183Requires: %{name}-common = %{version}-%{release}
184
185%description system-microblaze
186QEMU is a generic and open source processor emulator which achieves a
187good emulation speed by using dynamic translation.
188
189This package provides the system emulator for microblaze.
190
191%package system-mips
192Summary: QEMU system emulator for mips
193Group: Development/Tools
194Requires: %{name}-common = %{version}-%{release}
195
196%description system-mips
197QEMU is a generic and open source processor emulator which achieves a
198good emulation speed by using dynamic translation.
199
200This package provides the system emulator for mips.
201
202%package system-ppc
203Summary: QEMU system emulator for ppc
204Group: Development/Tools
205Requires: %{name}-common = %{version}-%{release}
206
207%description system-ppc
208QEMU is a generic and open source processor emulator which achieves a
209good emulation speed by using dynamic translation.
210
211This package provides the system emulator for ppc.
212
213%package system-s390x
214Summary: QEMU system emulator for s390x
215Group: Development/Tools
216Requires: %{name}-common = %{version}-%{release}
217
218%description system-s390x
219QEMU is a generic and open source processor emulator which achieves a
220good emulation speed by using dynamic translation.
221
222This package provides the system emulator for s390x.
223
224%package system-sh4
225Summary: QEMU system emulator for sh4
226Group: Development/Tools
227Requires: %{name}-common = %{version}-%{release}
228
229%description system-sh4
230QEMU is a generic and open source processor emulator which achieves a
231good emulation speed by using dynamic translation.
232
233This package provides the system emulator for sh4.
234
235%package system-sparc
236Summary: QEMU system emulator for sparc
237Group: Development/Tools
238Requires: %{name}-common = %{version}-%{release}
239
240%description system-sparc
241QEMU is a generic and open source processor emulator which achieves a
242good emulation speed by using dynamic translation.
243
244This package provides the system emulator for sparc/sparc64.
245
246%package system-x86
247Summary: QEMU system emulator for x86
248Group: Development/Tools
249Requires: %{name}-common = %{version}-%{release}
fabf5a9c
ER
250
251%description system-x86
252QEMU is a generic and open source processor emulator which achieves a
253good emulation speed by using dynamic translation.
254
255This package provides the system emulator for x86. When being run in a
256x86 machine that supports it, this package also provides the KVM
257virtualization platform.
258
259%package system-xtensa
260Summary: QEMU system emulator for xtensa
261Group: Development/Tools
262Requires: %{name}-common = %{version}-%{release}
263
264%description system-xtensa
265QEMU is a generic and open source processor emulator which achieves a
266good emulation speed by using dynamic translation.
267
268This package provides the system emulator for xtensa.
269
cd19124e 270%prep
c21a255a 271%setup -q
8d073aaa 272%{?with_nosdlgui:%patch6 -p1}
7b81d160 273#patch8 -p1
137653c3 274%patch17 -p0
0b920c52
275
276%{__sed} -i -e 's/sdl_static=yes/sdl_static=no/' configure
8bb1261c 277%{__sed} -i 's/.*MAKE) -C kqemu$//' Makefile
cd19124e 278
c3048014 279# cannot use optflags on x86 - they cause "no register to spill" errors
0b920c52 280%if %{with cflags_passing}
f0ac4619 281%{__sed} -i -e 's/-g $CFLAGS/-Wall %{rpmcflags}/' configure
57d8430f 282%else
f0ac4619 283%{__sed} -i 's/-g $CFLAGS/-Wall -fno-var-tracking-assignments/' configure
0b920c52 284%endif
c3048014 285
bd30ad73
GP
286# workaround for conflict with alsa/error.h
287ln -s ../error.h qapi/error.h
288
80bac37e 289%build
c3048014 290# --extra-cflags don't work (overridden by CFLAGS in Makefile*)
0b920c52 291# they can be passed if the cflags_passing bcond is used
8bd2aee2 292./configure \
7c0786d1 293 --sysconfdir=%{_sysconfdir} \
8bd2aee2 294 --prefix=%{_prefix} \
98a1a188
AM
295 --cc="%{__cc}" \
296 --host-cc="%{__cc}" \
b99b1652 297 --enable-mixemu \
98a1a188 298 --audio-drv-list="alsa" \
7b81d160 299 --interp-prefix=%{_libdir}/%{name}
b74098c4 300%{__make} V=1
cd19124e 301
302%install
303rm -rf $RPM_BUILD_ROOT
5a2da1d0 304
cd19124e 305%{__make} install \
306 DESTDIR=$RPM_BUILD_ROOT
ac6e5743 307
a91fea76 308install -d $RPM_BUILD_ROOT%{_sysconfdir}
309cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup
ac6e5743 310#!/bin/sh
a91fea76 311
ac6e5743 312EOF
a62a2d89 313
c33439fc
ER
314# already packaged
315rm -rf $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{doc,tech}.html
316
cd19124e 317%clean
318rm -rf $RPM_BUILD_ROOT
319
320%files
321%defattr(644,root,root,755)
fabf5a9c
ER
322
323%files common
324%defattr(644,root,root,755)
867764ba 325%doc README qemu-doc.html qemu-tech.html
a91fea76 326%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
fabf5a9c 327%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu/target-*.conf
7c0786d1 328%dir %{_sysconfdir}/qemu
fabf5a9c 329%attr(755,root,root) %{_bindir}/qemu-nbd
cd19124e 330%{_mandir}/man1/qemu.1*
98a1a188 331%{_mandir}/man8/qemu-nbd.8*
fabf5a9c
ER
332
333%dir %{_datadir}/qemu
334%{_datadir}/%{name}/keymaps
335# various bios images
336%{_datadir}/%{name}/*.bin
337%{_datadir}/%{name}/*.rom
338%{_datadir}/%{name}/*.dtb
339%{_datadir}/%{name}/openbios-ppc
340%{_datadir}/%{name}/openbios-sparc*
341%{_datadir}/%{name}/palcode-clipper
342
343%files img
344%defattr(644,root,root,755)
345%attr(755,root,root) %{_bindir}/qemu-img
346%{_mandir}/man1/qemu-img.1*
347
348%files user
349%defattr(644,root,root,755)
350%attr(755,root,root) %{_bindir}/qemu-x86_64
351%attr(755,root,root) %{_bindir}/qemu-i386
352%attr(755,root,root) %{_bindir}/qemu-alpha
353%attr(755,root,root) %{_bindir}/qemu-arm
354%attr(755,root,root) %{_bindir}/qemu-armeb
355%attr(755,root,root) %{_bindir}/qemu-cris
356%attr(755,root,root) %{_bindir}/qemu-ga
357%attr(755,root,root) %{_bindir}/qemu-io
358%attr(755,root,root) %{_bindir}/qemu-m68k
359%attr(755,root,root) %{_bindir}/qemu-microblaze
360%attr(755,root,root) %{_bindir}/qemu-microblazeel
361%attr(755,root,root) %{_bindir}/qemu-mips
362%attr(755,root,root) %{_bindir}/qemu-mipsel
363%attr(755,root,root) %{_bindir}/qemu-ppc
364%attr(755,root,root) %{_bindir}/qemu-ppc64
365%attr(755,root,root) %{_bindir}/qemu-ppc64abi32
366%attr(755,root,root) %{_bindir}/qemu-s390x
367%attr(755,root,root) %{_bindir}/qemu-sh4
368%attr(755,root,root) %{_bindir}/qemu-sh4eb
369%attr(755,root,root) %{_bindir}/qemu-sparc
370%attr(755,root,root) %{_bindir}/qemu-sparc32plus
371%attr(755,root,root) %{_bindir}/qemu-sparc64
372%attr(755,root,root) %{_bindir}/qemu-unicore32
373
374%files system-alpha
375%defattr(644,root,root,755)
376%attr(755,root,root) %{_bindir}/qemu-system-alpha
377
378%files system-arm
379%defattr(644,root,root,755)
380%attr(755,root,root) %{_bindir}/qemu-system-arm
381
382%files system-cris
383%defattr(644,root,root,755)
384%attr(755,root,root) %{_bindir}/qemu-system-cris
385
386%files system-lm32
387%defattr(644,root,root,755)
388%attr(755,root,root) %{_bindir}/qemu-system-lm32
389
390%files system-m68k
391%defattr(644,root,root,755)
392%attr(755,root,root) %{_bindir}/qemu-system-m68k
393
394%files system-microblaze
395%defattr(644,root,root,755)
396%attr(755,root,root) %{_bindir}/qemu-system-microblaze
397%attr(755,root,root) %{_bindir}/qemu-system-microblazeel
398
399%files system-mips
400%defattr(644,root,root,755)
401%attr(755,root,root) %{_bindir}/qemu-system-mips
402%attr(755,root,root) %{_bindir}/qemu-system-mipsel
403%attr(755,root,root) %{_bindir}/qemu-system-mips64
404%attr(755,root,root) %{_bindir}/qemu-system-mips64el
405
406%files system-ppc
407%defattr(644,root,root,755)
408%attr(755,root,root) %{_bindir}/qemu-system-ppc
409%attr(755,root,root) %{_bindir}/qemu-system-ppc64
410%attr(755,root,root) %{_bindir}/qemu-system-ppcemb
411
412%files system-s390x
413%defattr(644,root,root,755)
414%attr(755,root,root) %{_bindir}/qemu-system-s390x
415
416%files system-sh4
417%defattr(644,root,root,755)
418%attr(755,root,root) %{_bindir}/qemu-system-sh4
419%attr(755,root,root) %{_bindir}/qemu-system-sh4eb
420
421%files system-sparc
422%defattr(644,root,root,755)
423%attr(755,root,root) %{_bindir}/qemu-system-sparc
424%attr(755,root,root) %{_bindir}/qemu-system-sparc64
425
426%files system-x86
427%defattr(644,root,root,755)
428%attr(755,root,root) %{_bindir}/qemu-system-i386
429%attr(755,root,root) %{_bindir}/qemu-system-x86_64
430
431%files system-xtensa
432%defattr(644,root,root,755)
433%attr(755,root,root) %{_bindir}/qemu-system-xtensa
434%attr(755,root,root) %{_bindir}/qemu-system-xtensaeb
This page took 0.110841 seconds and 4 git commands to generate.