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