]> git.pld-linux.org Git - packages/qemu.git/blame_incremental - qemu.spec
- rel 1; qemu-kvm obsoleted
[packages/qemu.git] / qemu.spec
... / ...
CommitLineData
1# TODO:
2# - update patches
3# - qemu-system-ppc -hda ac-ppc.img says:
4# qemu: could not open disk image ac-ppc.img: Success
5# qemu-0.12.2-2.x86_64.rpm - broken
6# qemu-0.12.3-3.x86_64/qemu-0.12.4-1.x86_64 - stops on "returning from prom_init"
7# qemu-0.11.1-7k.x86_64.rpm - OK
8#
9# Conditional build:
10%bcond_with cflags_passing # with passing rpmcflags to Makefiles
11%bcond_with dosguest # add special patch when use with DOS as guest os
12%bcond_with nosdlgui # do not use SDL gui (use X11 instead)
13
14Summary: QEMU CPU Emulator
15Summary(pl.UTF-8): QEMU - emulator procesora
16Name: qemu
17Version: 1.0
18Release: 1
19License: GPL
20Group: Applications/Emulators
21# Source0Download: http://fabrice.bellard.free.fr/qemu/download.html
22#Source0: http://download.savannah.gnu.org/releases/qemu/%{name}-%{version}.tar.gz
23Source0: http://wiki.qemu.org/download/%{name}-%{version}.tar.gz
24# Source0-md5: a64b36067a191451323b0d34ebb44954
25Patch0: %{name}-ncurses.patch
26Patch6: %{name}-nosdlgui.patch
27# Proof of concept, for reference, do not remove
28Patch8: %{name}-kde_virtual_workspaces_hack.patch
29#Patch12: %{name}-0.7.2-dyngen-check-stack-clobbers.patch
30Patch13: %{name}-dosguest.patch
31Patch14: %{name}-ppc_old_binutils.patch
32Patch15: %{name}-isa-bios-ram.patch
33# below one fixes problems with passing ram size to bios/bootloader
34# which affects coreboot/linuxbios
35Patch16: %{name}-piix-ram-size.patch
36Patch17: %{name}-whitelist.patch
37URL: http://wiki.qemu.org/Index.html
38BuildRequires: SDL-devel >= 1.2.1
39BuildRequires: alsa-lib-devel
40BuildRequires: bluez-libs-devel
41BuildRequires: gnutls-devel
42BuildRequires: ncurses-devel
43BuildRequires: perl-Encode
44BuildRequires: perl-tools-pod
45BuildRequires: pkgconfig
46BuildRequires: sed >= 4.0
47BuildRequires: texi2html
48BuildRequires: which
49BuildRequires: xorg-lib-libX11-devel
50Requires: SDL >= 1.2.1
51Obsoletes: qemu-kvm
52# sparc is currently unsupported (missing cpu_get_real_ticks() impl in vl.c)
53ExclusiveArch: %{ix86} %{x8664} %{?with_userspace:ppc}
54BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55
56# some PPC/SPARC boot image in ELF format
57%define _noautostrip .*%{_datadir}/qemu/.*-.*
58
59%description
60QEMU is a FAST! processor emulator. By using dynamic translation it
61achieves a reasonnable speed while being easy to port on new host
62CPUs. QEMU has two operating modes:
63
64- User mode emulation. In this mode, QEMU can launch Linux processes
65 compiled for one CPU on another CPU. Linux system calls are converted
66 because of endianness and 32/64 bit mismatches. Wine (Windows
67 emulation) and DOSEMU (DOS emulation) are the main targets for QEMU.
68
69- Full system emulation. In this mode, QEMU emulates a full system,
70 including a processor and various peripherials. It can also be used to
71 provide virtual hosting of several virtual PC on a single server.
72
73%description -l pl.UTF-8
74QEMU to szybki(!) emulator procesora. Poprzez użycie dynamicznego
75tłumaczenia osiąga rozsądną szybkość i jest łatwy do przeportowania,
76aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
77
78- Emulacja trybu użytkownika. W tym trybie QEMU może uruchamiać
79 procesy linuksowe skompilowane dla jednego procesora na innym
80 procesorze. Linuksowe wywołania systemowe są tłumaczone ze względu na
81 niezgodność kolejności bajtów w słowie i 32/64-bitowego rozmiaru
82 słowa. Wine (emulacja Windows) i DOSEMU (emulacja DOS-a) to główne
83 cele QEMU.
84
85- Pełna emulacja systemu. W tym trybie QEMU emuluje cały system,
86 włączając w to procesor i różne urządzenia peryferyjne. Może być także
87 używane do wirtualnego hostowania kilku wirtualnych pecetów na
88 pojedynczym serwerze.
89
90%prep
91%setup -q
92%patch0 -p1
93%{?with_nosdlgui:%patch6 -p1}
94#patch8 -p1
95%patch17 -p0
96
97%{__sed} -i -e 's/sdl_static=yes/sdl_static=no/' configure
98%{__sed} -i 's/.*MAKE) -C kqemu$//' Makefile
99
100# cannot use optflags on x86 - they cause "no register to spill" errors
101%if %{with cflags_passing}
102%{__sed} -i -e 's/-g $CFLAGS/-Wall %{rpmcflags}/' configure
103%else
104%{__sed} -i 's/-g $CFLAGS/-Wall -fno-var-tracking-assignments/' configure
105%endif
106
107# workaround for conflict with alsa/error.h
108ln -s ../error.h qapi/error.h
109
110%build
111# --extra-cflags don't work (overridden by CFLAGS in Makefile*)
112# they can be passed if the cflags_passing bcond is used
113./configure \
114 --sysconfdir=%{_sysconfdir} \
115 --prefix=%{_prefix} \
116 --cc="%{__cc}" \
117 --host-cc="%{__cc}" \
118 --enable-mixemu \
119 --audio-drv-list="alsa" \
120 --interp-prefix=%{_libdir}/%{name}
121%{__make} V=1
122
123%install
124rm -rf $RPM_BUILD_ROOT
125
126%{__make} install \
127 DESTDIR=$RPM_BUILD_ROOT
128
129install -d $RPM_BUILD_ROOT%{_sysconfdir}
130cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ifup
131#!/bin/sh
132
133EOF
134
135# already packaged
136rm -rf $RPM_BUILD_ROOT%{_docdir}/qemu/qemu-{doc,tech}.html
137
138%clean
139rm -rf $RPM_BUILD_ROOT
140
141%files
142%defattr(644,root,root,755)
143%doc README qemu-doc.html qemu-tech.html
144%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu-ifup
145%attr(755,root,root) %{_bindir}/*
146%{_datadir}/qemu
147%dir %{_sysconfdir}/qemu
148%attr(644,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/qemu/target-*.conf
149%{_mandir}/man1/qemu.1*
150%{_mandir}/man1/qemu-img.1*
151%{_mandir}/man8/qemu-nbd.8*
This page took 0.123934 seconds and 4 git commands to generate.