summaryrefslogtreecommitdiff
path: root/extra/qemu
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-07-15 00:03:24 +0000
committerroot <root@rshg054.dnsready.net>2012-07-15 00:03:24 +0000
commit1ed995034acd07688fe8e78b1d40901bcc662155 (patch)
treeef6aab8713a3545c265159f9cd92499df5f289b4 /extra/qemu
parente0f65a739c6445de07de1585e72c230958d8f011 (diff)
Sun Jul 15 00:03:24 UTC 2012
Diffstat (limited to 'extra/qemu')
-rw-r--r--extra/qemu/PKGBUILD21
-rw-r--r--extra/qemu/qemu-glibc-2.16-build.patch70
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
+