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