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