diff options
author | root <root@rshg054.dnsready.net> | 2012-07-15 00:03:24 +0000 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2012-07-15 00:03:24 +0000 |
commit | 1ed995034acd07688fe8e78b1d40901bcc662155 (patch) | |
tree | ef6aab8713a3545c265159f9cd92499df5f289b4 /extra/qemu | |
parent | e0f65a739c6445de07de1585e72c230958d8f011 (diff) |
Sun Jul 15 00:03:24 UTC 2012
Diffstat (limited to 'extra/qemu')
-rw-r--r-- | extra/qemu/PKGBUILD | 21 | ||||
-rw-r--r-- | extra/qemu/qemu-glibc-2.16-build.patch | 70 |
2 files changed, 83 insertions, 8 deletions
diff --git a/extra/qemu/PKGBUILD b/extra/qemu/PKGBUILD index 648859602..b64cd54e8 100644 --- a/extra/qemu/PKGBUILD +++ b/extra/qemu/PKGBUILD @@ -1,24 +1,28 @@ -# $Id: PKGBUILD 161651 2012-06-13 12:26:10Z tpowa $ +# $Id: PKGBUILD 163504 2012-07-13 16:36:15Z tpowa $ # Maintainer: Tobias Powalowski <tpowa@archlinux.org> pkgname=qemu -pkgver=1.1.0 -pkgrel=2 +pkgver=1.1.1 +pkgrel=1 pkgdesc="A generic and open source processor emulator which achieves a good emulation speed by using dynamic translation." arch=('i686' 'x86_64') license=('GPL2' 'LGPL2.1') url="http://wiki.qemu.org/Index.html" makedepends=('texi2html' 'perl' 'python2') -depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux' 'curl' 'libsasl' 'libgl' 'libpulse' 'seabios') +depends=('libjpeg' 'libpng' 'sdl' 'alsa-lib' 'nss' 'glib2' 'gnutls>=2.4.1' 'bluez' 'vde2' 'util-linux' 'curl' 'libsasl' 'libgl' 'libpulse' 'seabios' 'libcap-ng') backup=('etc/qemu/target-x86_64.conf') install=qemu.install -source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}-1.tar.bz2 - 65-kvm.rules) +source=(http://wiki.qemu.org/download/${pkgname}-${pkgver}.tar.bz2 + 65-kvm.rules + qemu-glibc-2.16-build.patch) options=(!strip) build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i -e 's/lib64/lib/g' x86_64.ld + # patch from fedora git: http://pkgs.fedoraproject.org/gitweb/?p=qemu.git + # fix changes from glibc-2.16 + patch -Np1 -i ../qemu-glibc-2.16-build.patch ./configure --prefix=/usr --sysconfdir=/etc --audio-drv-list=oss,alsa,sdl,pa \ --python=/usr/bin/python2 \ --audio-card-list=ac97,sb16,es1370,hda \ @@ -42,5 +46,6 @@ package() { done } -md5sums=('f5c85c229b780bc39268845b6f365fc1' - 'b316a066d2f1bb57d8f5b7ea1d0d1caf') +md5sums=('f691baa30e8fb40f37f2797fba892e12' + 'b316a066d2f1bb57d8f5b7ea1d0d1caf' + '8687179e77ab954c4a43017d030f7349') diff --git a/extra/qemu/qemu-glibc-2.16-build.patch b/extra/qemu/qemu-glibc-2.16-build.patch new file mode 100644 index 000000000..08948fec6 --- /dev/null +++ b/extra/qemu/qemu-glibc-2.16-build.patch @@ -0,0 +1,70 @@ +From baf954154e7c0acda038c01a5c28aea4db7eec67 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" <rjones@redhat.com> +Date: Thu, 5 Jul 2012 14:28:03 +0100 +Subject: [PATCH] Replace 'struct siginfo' with 'siginfo_t'. + +glibc 2.16 will remove the undocumented definition of 'struct siginfo' +from <bits/siginfo.h>. + +This change is already present in glibc 2.15.90, so qemu compilation +of certain targets (eg. cris-user) breaks. + +This struct was always typedef'd to be the same as 'siginfo_t' which +is what POSIX documents, so use that instead. + +Signed-off-by: Richard W.M. Jones <rjones@redhat.com> +--- + linux-user/signal.c | 8 ++++---- + user-exec.c | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/linux-user/signal.c b/linux-user/signal.c +index 43346dc..108dff9 100644 +--- a/linux-user/signal.c ++++ b/linux-user/signal.c +@@ -2849,7 +2849,7 @@ static void setup_rt_frame(int sig, struct target_sigaction *ka, + * Arguments to signal handler: + * + * a0 = signal number +- * a1 = pointer to struct siginfo ++ * a1 = pointer to siginfo_t + * a2 = pointer to struct ucontext + * + * $25 and PC point to the signal handler, $29 points to the +@@ -3255,7 +3255,7 @@ struct target_signal_frame { + }; + + struct rt_signal_frame { +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + uint32_t tramp[2]; + }; +@@ -3474,9 +3474,9 @@ struct target_signal_frame { + }; + + struct rt_signal_frame { +- struct siginfo *pinfo; ++ siginfo_t *pinfo; + void *puc; +- struct siginfo info; ++ siginfo_t info; + struct ucontext uc; + uint8_t retcode[8]; /* Trampoline code. */ + }; +diff --git a/user-exec.c b/user-exec.c +index b2a4261..1a9c276 100644 +--- a/user-exec.c ++++ b/user-exec.c +@@ -588,7 +588,7 @@ int cpu_signal_handler(int host_signum, void *pinfo, + int cpu_signal_handler(int host_signum, void *pinfo, + void *puc) + { +- struct siginfo *info = pinfo; ++ siginfo_t *info = pinfo; + struct ucontext *uc = puc; + unsigned long pc = uc->uc_mcontext.sc_iaoq[0]; + uint32_t insn = *(uint32_t *)pc; +-- +1.7.10.4 + |