summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/qemu-kvm/files/qemu-0.11.0-mips64-user-fix.patch11
-rw-r--r--app-emulation/qemu-kvm/files/qemu-0.15.patch37
-rw-r--r--app-emulation/qemu-kvm/files/qemu-kvm2
-rw-r--r--app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch145
-rw-r--r--app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-include-madvise-defines.patch12
-rw-r--r--app-emulation/qemu-kvm/files/qemu-kvm-guest-hang-on-usb-add.patch100
-rw-r--r--app-emulation/qemu-kvm/files/qemu.patch99
-rw-r--r--app-emulation/qemu-kvm/qemu-kvm-0.15.0-r1.ebuild289
-rw-r--r--app-emulation/qemu-kvm/qemu-kvm-9999-r1.ebuild301
9 files changed, 0 insertions, 996 deletions
diff --git a/app-emulation/qemu-kvm/files/qemu-0.11.0-mips64-user-fix.patch b/app-emulation/qemu-kvm/files/qemu-0.11.0-mips64-user-fix.patch
deleted file mode 100644
index c069f89..0000000
--- a/app-emulation/qemu-kvm/files/qemu-0.11.0-mips64-user-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qemu-0.11.0.orig/linux-user/main.c 2009-10-23 02:19:57.000000000 +0200
-+++ qemu-0.11.0/linux-user/main.c 2009-10-23 02:47:09.000000000 +0200
-@@ -1469,6 +1469,8 @@
-
- #ifdef TARGET_MIPS
-
-+#define TARGET_QEMU_ESIGRETURN 255
-+
- #define MIPS_SYS(name, args) args,
-
- static const uint8_t mips_syscall_args[] = {
diff --git a/app-emulation/qemu-kvm/files/qemu-0.15.patch b/app-emulation/qemu-kvm/files/qemu-0.15.patch
deleted file mode 100644
index bd6a25f..0000000
--- a/app-emulation/qemu-kvm/files/qemu-0.15.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -Naur qemu-kvm-0.15.0_orig/error.h qemu-kvm-0.15.0/error.h
---- qemu-kvm-0.15.0_orig/error.h 2011-08-09 15:40:29.000000000 +0300
-+++ qemu-kvm-0.15.0/error.h 2011-08-14 01:23:06.000000000 +0300
-@@ -9,8 +9,8 @@
- * This work is licensed under the terms of the GNU LGPL, version 2. See
- * the COPYING.LIB file in the top-level directory.
- */
--#ifndef ERROR_H
--#define ERROR_H
-+#ifndef ERROR_Q_H
-+#define ERROR_Q_H
-
- #include "compiler.h"
- #include <stdbool.h>
-diff -Naur qemu-kvm-0.15.0_orig/qapi/qapi-types-core.h qemu-kvm-0.15.0/qapi/qapi-types-core.h
---- qemu-kvm-0.15.0_orig/qapi/qapi-types-core.h 2011-08-09 15:40:29.000000000 +0300
-+++ qemu-kvm-0.15.0/qapi/qapi-types-core.h 2011-08-14 01:23:44.000000000 +0300
-@@ -14,6 +14,7 @@
- #ifndef QAPI_TYPES_CORE_H
- #define QAPI_TYPES_CORE_H
-
-+#include "../error.h"
- #include "qemu-common.h"
- #include "error.h"
-
-diff -Naur qemu-kvm-0.15.0_orig/qapi/qmp-core.h qemu-kvm-0.15.0/qapi/qmp-core.h
---- qemu-kvm-0.15.0_orig/qapi/qmp-core.h 2011-08-09 15:40:29.000000000 +0300
-+++ qemu-kvm-0.15.0/qapi/qmp-core.h 2011-08-14 01:25:04.000000000 +0300
-@@ -13,7 +13,7 @@
-
- #ifndef QMP_CORE_H
- #define QMP_CORE_H
--
-+#include "../error.h"
- #include "qobject.h"
- #include "qdict.h"
- #include "error.h"
diff --git a/app-emulation/qemu-kvm/files/qemu-kvm b/app-emulation/qemu-kvm/files/qemu-kvm
deleted file mode 100644
index 844147d..0000000
--- a/app-emulation/qemu-kvm/files/qemu-kvm
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec /usr/bin/qemu-system-x86_64 --enable-kvm "$@"
diff --git a/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch b/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch
deleted file mode 100644
index 909dead..0000000
--- a/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From ff5414990645653bf43bf64adfc1ca77ffb9edcb Mon Sep 17 00:00:00 2001
-From: malc <av1474@comtv.ru>
-Date: Sun, 17 Jan 2010 00:25:29 +0300
-Subject: [PATCH] Revert "sdlaudio: make it suck less"
-
-This reverts commit 4839abe78fd466a3cf06faa7c362154afd5404f1.
-
-The commit was badly broken, Gentoo has sdl as the default driver,
-consequently 5 gentoo users have hit the breakage and were kind enough
-to report, so thank you:
-
-Claes Gyllenswrd
-vekin
-Chris
-
-But above all thanks to Toralf Foerster who actually provied enough
-information to pinpoint the breakage to sdlaudio.
-
-http://bugs.gentoo.org/show_bug.cgi?id=294269
----
- audio/sdlaudio.c | 80 +++++++++++++++++++++++++++++++++--------------------
- 1 files changed, 50 insertions(+), 30 deletions(-)
-
-diff --git a/audio/sdlaudio.c b/audio/sdlaudio.c
-index aa39c33..8e7e5cb 100644
---- a/audio/sdlaudio.c
-+++ b/audio/sdlaudio.c
-@@ -41,8 +41,8 @@
- typedef struct SDLVoiceOut {
- HWVoiceOut hw;
- int live;
-+ int rpos;
- int decr;
-- int pending;
- } SDLVoiceOut;
-
- static struct {
-@@ -225,10 +225,6 @@ static void sdl_callback (void *opaque, Uint8 *buf, int len)
- HWVoiceOut *hw = &sdl->hw;
- int samples = len >> hw->info.shift;
-
-- if (sdl_lock (s, "sdl_callback")) {
-- return;
-- }
--
- if (s->exit) {
- return;
- }
-@@ -236,34 +232,49 @@ static void sdl_callback (void *opaque, Uint8 *buf, int len)
- while (samples) {
- int to_mix, decr;
-
-- while (!sdl->pending) {
-- if (sdl_unlock (s, "sdl_callback")) {
-- return;
-- }
--
-- sdl_wait (s, "sdl_callback");
-- if (s->exit) {
-- return;
-- }
--
-- if (sdl_lock (s, "sdl_callback")) {
-- return;
-- }
-- sdl->pending += sdl->live;
-- sdl->live = 0;
-+ /* dolog ("in callback samples=%d\n", samples); */
-+ sdl_wait (s, "sdl_callback");
-+ if (s->exit) {
-+ return;
-+ }
-+
-+ if (sdl_lock (s, "sdl_callback")) {
-+ return;
-+ }
-+
-+ if (audio_bug (AUDIO_FUNC, sdl->live < 0 || sdl->live > hw->samples)) {
-+ dolog ("sdl->live=%d hw->samples=%d\n",
-+ sdl->live, hw->samples);
-+ return;
-+ }
-+
-+ if (!sdl->live) {
-+ goto again;
- }
-
-- to_mix = audio_MIN (samples, sdl->pending);
-- decr = audio_pcm_hw_clip_out (hw, buf, to_mix, 0);
-- buf += decr << hw->info.shift;
-+ /* dolog ("in callback live=%d\n", live); */
-+ to_mix = audio_MIN (samples, sdl->live);
-+ decr = to_mix;
-+ while (to_mix) {
-+ int chunk = audio_MIN (to_mix, hw->samples - hw->rpos);
-+ struct st_sample *src = hw->mix_buf + hw->rpos;
-+
-+ /* dolog ("in callback to_mix %d, chunk %d\n", to_mix, chunk); */
-+ hw->clip (buf, src, chunk);
-+ sdl->rpos = (sdl->rpos + chunk) % hw->samples;
-+ to_mix -= chunk;
-+ buf += chunk << hw->info.shift;
-+ }
- samples -= decr;
-+ sdl->live -= decr;
- sdl->decr += decr;
-- sdl->pending -= decr;
-- }
-
-- if (sdl_unlock (s, "sdl_callback")) {
-- return;
-+ again:
-+ if (sdl_unlock (s, "sdl_callback")) {
-+ return;
-+ }
- }
-+ /* dolog ("done len=%d\n", len); */
- }
-
- static int sdl_write_out (SWVoiceOut *sw, void *buf, int len)
-@@ -281,9 +292,18 @@ static int sdl_run_out (HWVoiceOut *hw, int live)
- return 0;
- }
-
-- sdl->live = live;
-- decr = sdl->decr;
-- sdl->decr = 0;
-+ if (sdl->decr > live) {
-+ ldebug ("sdl->decr %d live %d sdl->live %d\n",
-+ sdl->decr,
-+ live,
-+ sdl->live);
-+ }
-+
-+ decr = audio_MIN (sdl->decr, live);
-+ sdl->decr -= decr;
-+
-+ sdl->live = live - decr;
-+ hw->rpos = sdl->rpos;
-
- if (sdl->live > 0) {
- sdl_unlock_and_post (s, "sdl_run_out");
---
-1.7.0.4
-
diff --git a/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-include-madvise-defines.patch b/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-include-madvise-defines.patch
deleted file mode 100644
index c50c717..0000000
--- a/app-emulation/qemu-kvm/files/qemu-kvm-0.12.3-include-madvise-defines.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- exec.c 2010-02-26 03:34:00.000000000 +0100
-+++ exec.c.new 2010-04-03 15:31:53.000000000 +0200
-@@ -22,6 +22,9 @@
- #else
- #include <sys/types.h>
- #include <sys/mman.h>
-+#ifndef MADV_MERGEABLE
-+#include <asm/mman.h>
-+#endif
- #endif
- #include <stdlib.h>
- #include <stdio.h>
diff --git a/app-emulation/qemu-kvm/files/qemu-kvm-guest-hang-on-usb-add.patch b/app-emulation/qemu-kvm/files/qemu-kvm-guest-hang-on-usb-add.patch
deleted file mode 100644
index 3f2abef..0000000
--- a/app-emulation/qemu-kvm/files/qemu-kvm-guest-hang-on-usb-add.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From 485b75728884a052b74d5458199ad45f0acbf190 Mon Sep 17 00:00:00 2001
-From: Timothy Jones <one.timothy.jones@gmail.com>
-Date: Mon, 28 Jun 2010 10:38:18 -0400
-Subject: [PATCH v2] Guest OS hangs on usb_add
-
-This is a small patch to sligtly "intelligentify" usb device and
-config descriptor parsing and to handle bug with certain usb
-device (URC MX-950) reporting device desriptor length as 0x18
-instead of 18 with added vendor_id/product_id check
----
- hw/usb.h | 5 +++++
- usb-linux.c | 37 ++++++++++++++++++++++---------------
- 2 files changed, 27 insertions(+), 15 deletions(-)
-
-diff --git a/hw/usb.h b/hw/usb.h
-index 00d2802..5c3528f 100644
---- a/hw/usb.h
-+++ b/hw/usb.h
-@@ -117,6 +117,11 @@
- #define USB_DT_INTERFACE 0x04
- #define USB_DT_ENDPOINT 0x05
-
-+#define USB_DT_DEVICE_LEN 18
-+#define USB_DT_CONFIG_LEN 9
-+#define USB_DT_INTERFACE_LEN 9
-+#define USB_DT_ENDPOINT_LEN 7
-+
- #define USB_ENDPOINT_XFER_CONTROL 0
- #define USB_ENDPOINT_XFER_ISOC 1
- #define USB_ENDPOINT_XFER_BULK 2
-diff --git a/usb-linux.c b/usb-linux.c
-index 88273ff..2ac6562 100644
---- a/usb-linux.c
-+++ b/usb-linux.c
-@@ -288,7 +288,7 @@ static void async_cancel(USBPacket *unused, void *opaque)
-
- static int usb_host_claim_interfaces(USBHostDevice *dev, int configuration)
- {
-- int dev_descr_len, config_descr_len;
-+ int dev_descr_len, config_descr_total_len;
- int interface, nb_interfaces;
- int ret, i;
-
-@@ -297,32 +297,39 @@ static int usb_host_claim_interfaces(USBHostDevice *dev, int configuration)
-
- DPRINTF("husb: claiming interfaces. config %d\n", configuration);
-
-- i = 0;
- dev_descr_len = dev->descr[0];
-- if (dev_descr_len > dev->descr_len) {
-+ if (dev_descr_len == 0x18 && dev->descr[ 8] == 0x47 && dev->descr[ 9] == 0x46
-+ && dev->descr[10] == 0x00 && dev->descr[11] == 0x30)
-+ dev_descr_len = USB_DT_DEVICE_LEN; /* for buggy MX-950 remote reporting len in hex */
-+
-+ if (dev_descr_len > dev->descr_len || dev_descr_len < USB_DT_DEVICE_LEN || dev->descr[1] != USB_DT_DEVICE) {
-+ fprintf(stderr, "husb: invalid device descriptor\n");
- goto fail;
- }
-
-- i += dev_descr_len;
-- while (i < dev->descr_len) {
-+ for (i = dev_descr_len; i < dev->descr_len; ) {
- DPRINTF("husb: i is %d, descr_len is %d, dl %d, dt %d\n",
- i, dev->descr_len,
- dev->descr[i], dev->descr[i+1]);
-
-- if (dev->descr[i+1] != USB_DT_CONFIG) {
-- i += dev->descr[i];
-- continue;
-+ if (dev->descr[i] < 2) {
-+ fprintf(stderr, "husb: invalid descriptor\n");
-+ goto fail;
- }
-- config_descr_len = dev->descr[i];
-+ if (dev->descr[i+1] == USB_DT_CONFIG) {
-+ config_descr_total_len = dev->descr[i+2] + (dev->descr[i+3] << 8);
-
-- printf("husb: config #%d need %d\n", dev->descr[i + 5], configuration);
-+ printf("husb: config #%d need %d\n", dev->descr[i + 5], configuration);
-
-- if (configuration < 0 || configuration == dev->descr[i + 5]) {
-- configuration = dev->descr[i + 5];
-- break;
-- }
-+ if (configuration < 0 || configuration == dev->descr[i + 5]) {
-+ configuration = dev->descr[i + 5];
-+ break;
-+ }
-
-- i += config_descr_len;
-+ i += config_descr_total_len;
-+ }
-+ else
-+ i += dev->descr[i];
- }
-
- if (i >= dev->descr_len) {
---
-1.7.1
-
diff --git a/app-emulation/qemu-kvm/files/qemu.patch b/app-emulation/qemu-kvm/files/qemu.patch
deleted file mode 100644
index 759f8e4..0000000
--- a/app-emulation/qemu-kvm/files/qemu.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-diff --git a/error.h b/error.h
-index 6361f40..d55e207 100644
---- a/error.h
-+++ b/error.h
-@@ -9,8 +9,8 @@
- * This work is licensed under the terms of the GNU LGPL, version 2. See
- * the COPYING.LIB file in the top-level directory.
- */
--#ifndef ERROR_H
--#define ERROR_H
-+#ifndef ERROR_QAPI_H
-+#define ERROR_QAPI_H
-
- #include "compiler.h"
- #include <stdbool.h>
-diff --git a/hw/qxl.c b/hw/qxl.c
-index db7ae7a..e663f1a 100644
---- a/hw/qxl.c
-+++ b/hw/qxl.c
-@@ -1189,7 +1189,7 @@ async_common:
- }
- d->current_async = orig_io_port;
- qemu_mutex_unlock(&d->async_lock);
-- dprint(d, 2, "start async %d (%d)\n", io_port, val);
-+ dprint(d, 2, "start async %d (%ld)\n", io_port, val);
- break;
- default:
- break;
-@@ -1305,7 +1305,7 @@ async_common:
- break;
- }
- case QXL_IO_FLUSH_SURFACES_ASYNC:
-- dprint(d, 1, "QXL_IO_FLUSH_SURFACES_ASYNC (%d) (%s, s#=%d, res#=%d)\n",
-+ dprint(d, 1, "QXL_IO_FLUSH_SURFACES_ASYNC (%ld) (%s, s#=%d, res#=%d)\n",
- val, qxl_mode_to_string(d->mode), d->guest_surfaces.count,
- d->num_free_res);
- qxl_spice_flush_surfaces_async(d);
-diff --git a/qapi/qapi-types-core.h b/qapi/qapi-types-core.h
-index a79bc2b..64d85fc 100644
---- a/qapi/qapi-types-core.h
-+++ b/qapi/qapi-types-core.h
-@@ -15,6 +15,6 @@
- #define QAPI_TYPES_CORE_H
-
- #include "qemu-common.h"
--#include "error.h"
-+#include "../error.h"
-
- #endif
-diff --git a/qapi/qmp-dispatch.c b/qapi/qmp-dispatch.c
-index 5584693..d024120 100644
---- a/qapi/qmp-dispatch.c
-+++ b/qapi/qmp-dispatch.c
-@@ -10,7 +10,7 @@
- * See the COPYING.LIB file in the top-level directory.
- *
- */
--
-+#include "../error.h"
- #include "qemu-objects.h"
- #include "qapi/qmp-core.h"
- #include "json-parser.h"
-diff --git a/qapi/qmp-registry.c b/qapi/qmp-registry.c
-index 3fe8866..2640437 100644
---- a/qapi/qmp-registry.c
-+++ b/qapi/qmp-registry.c
-@@ -11,7 +11,7 @@
- * See the COPYING.LIB file in the top-level directory.
- *
- */
--
-+#include "../error.h"
- #include "qapi/qmp-core.h"
-
- static QTAILQ_HEAD(, QmpCommand) qmp_commands =
-diff --git a/qemu-objects.h b/qemu-objects.h
-index c53fbaa..3fbece1 100644
---- a/qemu-objects.h
-+++ b/qemu-objects.h
-@@ -13,6 +13,7 @@
- #ifndef QEMU_OBJECTS_H
- #define QEMU_OBJECTS_H
-
-+#include "error.h"
- #include "qobject.h"
- #include "qint.h"
- #include "qfloat.h"
-diff --git a/qga/guest-agent-core.h b/qga/guest-agent-core.h
-index e42b91d..b81eaba 100644
---- a/qga/guest-agent-core.h
-+++ b/qga/guest-agent-core.h
-@@ -10,6 +10,7 @@
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-+#include "../error.h"
- #include "qapi/qmp-core.h"
- #include "qemu-common.h"
-
diff --git a/app-emulation/qemu-kvm/qemu-kvm-0.15.0-r1.ebuild b/app-emulation/qemu-kvm/qemu-kvm-0.15.0-r1.ebuild
deleted file mode 100644
index c398a74..0000000
--- a/app-emulation/qemu-kvm/qemu-kvm-0.15.0-r1.ebuild
+++ /dev/null
@@ -1,289 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-0.15.0.ebuild,v 1.2 2011/08/12 15:41:01 cardoe Exp $
-
-#BACKPORTS=2
-
-EAPI="3"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
- GIT_ECLASS="git-2"
-fi
-
-inherit eutils flag-o-matic ${GIT_ECLASS} linux-info toolchain-funcs multilib
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz
- ${BACKPORTS:+http://dev.gentoo.org/~cardoe/distfiles/${P}-backports-${BACKPORTS}.tar.bz2}"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.linux-kvm.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-# xen is disabled until the deps are fixed
-IUSE="+aio alsa bluetooth brltty curl debug esd fdt hardened jpeg ncurses \
-png pulseaudio qemu-ifup rbd sasl sdl spice ssl threads vde \
-+vhost-net xen"
-# static, depends on libsdl being built with USE=static-libs, which can not
-# be expressed in current EAPI's
-
-COMMON_TARGETS="i386 x86_64 arm cris m68k microblaze mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64"
-IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} mips64 mips64el ppcemb"
-IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc32plus"
-
-# Setup the default SoftMMU targets, while using the loops
-# below to setup the other targets. x86_64 should be the only
-# defaults on for qemu-kvm
-IUSE="${IUSE} +qemu_softmmu_targets_x86_64"
-
-for target in ${IUSE_SOFTMMU_TARGETS}; do
- if [ "x${target}" = "xx86_64" ]; then
- continue
- fi
- IUSE="${IUSE} qemu_softmmu_targets_${target}"
-done
-
-for target in ${IUSE_USER_TARGETS}; do
- IUSE="${IUSE} qemu_user_targets_${target}"
-done
-
-RESTRICT="test"
-
-RDEPEND="
- !app-emulation/kqemu
- !app-emulation/qemu
- !app-emulation/qemu-softmmu
- !app-emulation/qemu-user
- !app-emulation/qemu-kvm-spice
- >=dev-libs/glib-2.0
- sys-apps/pciutils
- >=sys-apps/util-linux-2.16.0
- sys-libs/zlib
- aio? ( dev-libs/libaio )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bluetooth? ( net-wireless/bluez )
- brltty? ( app-accessibility/brltty )
- curl? ( >=net-misc/curl-7.15.4 )
- esd? ( media-sound/esound )
- fdt? ( >=sys-apps/dtc-1.2.0 )
- jpeg? ( virtual/jpeg )
- ncurses? ( sys-libs/ncurses )
- png? ( media-libs/libpng )
- pulseaudio? ( media-sound/pulseaudio )
- qemu-ifup? ( sys-apps/iproute2 net-misc/bridge-utils )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
- sdl? ( >=media-libs/libsdl-1.2.11[X] )
- spice? ( >=app-emulation/spice-0.6.0 )
- ssl? ( net-libs/gnutls )
- vde? ( net-misc/vde )
- xen? ( app-emulation/xen )
-"
-
-DEPEND="${RDEPEND}
- app-text/texi2html
- >=sys-kernel/linux-headers-2.6.35
- ssl? ( dev-util/pkgconfig )
-"
-
-kvm_kern_warn() {
- eerror "Please enable KVM support in your kernel, found at:"
- eerror
- eerror " Virtualization"
- eerror " Kernel-based Virtual Machine (KVM) support"
- eerror
-}
-
-pkg_setup() {
- if ! use qemu_softmmu_targets_x86_64 && use x86_64 ; then
- eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
- fi
-
- if ! use qemu_softmmu_targets_x86_64 && use x86 ; then
- eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
- fi
-
- if kernel_is lt 2 6 25; then
- eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
- eerror "Either upgrade your kernel"
- else
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- kvm_kern_warn
- elif ! linux_chkconfig_present KVM; then
- kvm_kern_warn
- fi
- if use vhost-net && ! linux_chkconfig_present VHOST_NET ; then
- ewarn "You have to enable CONFIG_VHOST_NET in the kernel"
- ewarn "to have vhost-net support."
- fi
- fi
-
- enewgroup kvm
-}
-
-src_prepare() {
- # prevent docs to get automatically installed
- sed -i '/$(DESTDIR)$(docdir)/d' Makefile || die
- # Alter target makefiles to accept CFLAGS set via flag-o
- sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
- Makefile Makefile.target || die
- # append CFLAGS while linking
- sed -i 's/$(LDFLAGS)/$(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS)/' rules.mak || die
-
- # remove part to make udev happy
- sed -e 's~NAME="%k", ~~' -i kvm/scripts/65-kvm.rules || die
-
- # ${PN}-guest-hang-on-usb-add.patch was sent by Timothy Jones
- # to the qemu-devel ml - bug 337988
- epatch "${FILESDIR}/qemu-0.11.0-mips64-user-fix.patch"
- epatch "${FILESDIR}/qemu-0.15.patch"
-
-
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
- epatch
-}
-
-src_configure() {
- local conf_opts audio_opts user_targets
-
- for target in ${IUSE_SOFTMMU_TARGETS} ; do
- use "qemu_softmmu_targets_${target}" && \
- softmmu_targets="${softmmu_targets} ${target}-softmmu"
- done
-
- for target in ${IUSE_USER_TARGETS} ; do
- use "qemu_user_targets_${target}" && \
- user_targets="${user_targets} ${target}-linux-user"
- done
-
- if [ -z "${softmmu_targets}" ]; then
- eerror "All SoftMMU targets are disabled. This is invalid for qemu-kvm"
- die "At least 1 SoftMMU target must be enabled"
- else
- einfo "Building the following softmmu targets: ${softmmu_targets}"
- fi
-
- if [ ! -z "${user_targets}" ]; then
- einfo "Building the following user targets: ${user_targets}"
- conf_opts="${conf_opts} --enable-linux-user"
- else
- conf_opts="${conf_opts} --disable-linux-user"
- fi
-
- # Fix QA issues. QEMU needs executable heaps and we need to mark it as such
- conf_opts="${conf_opts} --extra-ldflags=-Wl,-z,execheap"
-
- # Add support for static builds
- #use static && conf_opts="${conf_opts} --static"
-
- # Support debug USE flag
- use debug && conf_opts="${conf_opts} --enable-debug --disable-strip"
-
- # Fix the $(prefix)/etc issue
- conf_opts="${conf_opts} --sysconfdir=/etc"
-
- #config options
- conf_opts="${conf_opts} $(use_enable aio linux-aio)"
- conf_opts="${conf_opts} $(use_enable bluetooth bluez)"
- conf_opts="${conf_opts} $(use_enable brltty brlapi)"
- conf_opts="${conf_opts} $(use_enable curl)"
- conf_opts="${conf_opts} $(use_enable fdt)"
- conf_opts="${conf_opts} $(use_enable hardened user-pie)"
- conf_opts="${conf_opts} $(use_enable jpeg vnc-jpeg)"
- conf_opts="${conf_opts} $(use_enable ncurses curses)"
- conf_opts="${conf_opts} $(use_enable png vnc-png)"
- conf_opts="${conf_opts} $(use_enable rbd)"
- conf_opts="${conf_opts} $(use_enable sasl vnc-sasl)"
- conf_opts="${conf_opts} $(use_enable sdl)"
- conf_opts="${conf_opts} $(use_enable spice)"
- conf_opts="${conf_opts} $(use_enable ssl vnc-tls)"
- conf_opts="${conf_opts} $(use_enable threads vnc-thread)"
- conf_opts="${conf_opts} $(use_enable vde)"
- conf_opts="${conf_opts} $(use_enable vhost-net)"
- conf_opts="${conf_opts} $(use_enable xen)"
- conf_opts="${conf_opts} --disable-darwin-user --disable-bsd-user"
-
- # audio options
- audio_opts="oss"
- use alsa && audio_opts="alsa ${audio_opts}"
- use esd && audio_opts="esd ${audio_opts}"
- use pulseaudio && audio_opts="pa ${audio_opts}"
- use sdl && audio_opts="sdl ${audio_opts}"
- ./configure --prefix=/usr \
- --disable-strip \
- --disable-werror \
- --enable-kvm \
- --enable-nptl \
- --enable-uuid \
- ${conf_opts} \
- --audio-drv-list="${audio_opts}" \
- --target-list="${softmmu_targets} ${user_targets}" \
- --cc="$(tc-getCC)" \
- --host-cc="$(tc-getBUILD_CC)" \
- || die "configure failed"
-
- # this is for qemu upstream's threaded support which is
- # in development and broken
- # the kvm project has its own support for threaded IO
- # which is always on and works
- # --enable-io-thread \
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- if [ ! -z "${softmmu_targets}" ]; then
- insinto /$(get_libdir)/udev/rules.d/
- doins kvm/scripts/65-kvm.rules || die
-
- if use qemu-ifup; then
- insinto /etc/qemu/
- insopts -m0755
- doins kvm/scripts/qemu-ifup || die
- fi
-
- if use qemu_softmmu_targets_x86_64 ; then
- dobin "${FILESDIR}"/qemu-kvm
- dosym /usr/bin/qemu-kvm /usr/bin/kvm
- else
- elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
- elog "of /usr/bin/qemu-kvm and /usr/bin/kvm"
- fi
- fi
-
- dodoc Changelog MAINTAINERS TODO pci-ids.txt || die
- newdoc pc-bios/README README.pc-bios || die
- dohtml qemu-doc.html qemu-tech.html || die
-}
-
-pkg_postinst() {
-
- if [ ! -z "${softmmu_targets}" ]; then
- elog "If you don't have kvm compiled into the kernel, make sure you have"
- elog "the kernel module loaded before running kvm. The easiest way to"
- elog "ensure that the kernel module is loaded is to load it on boot."
- elog "For AMD CPUs the module is called 'kvm-amd'"
- elog "For Intel CPUs the module is called 'kvm-intel'"
- elog "Please review /etc/conf.d/modules for how to load these"
- elog
- elog "Make sure your user is in the 'kvm' group"
- elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
- elog
- elog "You will need the Universal TUN/TAP driver compiled into your"
- elog "kernel or loaded as a module to use the virtual network device"
- elog "if using -net tap. You will also need support for 802.1d"
- elog "Ethernet Bridging and a configured bridge if using the provided"
- elog "kvm-ifup script from /etc/kvm."
- elog
- elog "The gnutls use flag was renamed to ssl, so adjust your use flags."
- fi
-}
diff --git a/app-emulation/qemu-kvm/qemu-kvm-9999-r1.ebuild b/app-emulation/qemu-kvm/qemu-kvm-9999-r1.ebuild
deleted file mode 100644
index 650ffbe..0000000
--- a/app-emulation/qemu-kvm/qemu-kvm-9999-r1.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-9999.ebuild,v 1.25 2011/11/21 18:11:11 jmbsvicetto Exp $
-
-#BACKPORTS=1
-
-EAPI="3"
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
- GIT_ECLASS="git-2"
-fi
-
-inherit eutils flag-o-matic ${GIT_ECLASS} linux-info toolchain-funcs multilib python
-
-if [[ ${PV} = *9999* ]]; then
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz
- ${BACKPORTS:+
- http://dev.gentoo.org/~flameeyes/${PN}/${P}-backports-${BACKPORTS}.tar.bz2
- http://dev.gentoo.org/~cardoe/distfiles/${P}-backports-${BACKPORTS}.tar.bz2}"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.linux-kvm.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-# xen is disabled until the deps are fixed
-IUSE="+aio alsa bluetooth brltty curl debug esd fdt hardened jpeg ncurses nss \
-png pulseaudio qemu-ifup rbd sasl sdl spice ssl threads vde \
-+vhost-net xattr xen"
-# static, depends on libsdl being built with USE=static-libs, which can not
-# be expressed in current EAPI's
-
-COMMON_TARGETS="i386 x86_64 arm cris m68k microblaze mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64"
-IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} mips64 mips64el ppcemb"
-IUSE_USER_TARGETS="${COMMON_TARGETS} alpha armeb ppc64abi32 sparc32plus"
-
-# Setup the default SoftMMU targets, while using the loops
-# below to setup the other targets. x86_64 should be the only
-# defaults on for qemu-kvm
-IUSE="${IUSE} +qemu_softmmu_targets_x86_64"
-
-for target in ${IUSE_SOFTMMU_TARGETS}; do
- if [ "x${target}" = "xx86_64" ]; then
- continue
- fi
- IUSE="${IUSE} qemu_softmmu_targets_${target}"
-done
-
-for target in ${IUSE_USER_TARGETS}; do
- IUSE="${IUSE} qemu_user_targets_${target}"
-done
-
-RESTRICT="test"
-
-RDEPEND="
- !app-emulation/kqemu
- !app-emulation/qemu
- !app-emulation/qemu-user
- >=dev-libs/glib-2.0
- sys-apps/pciutils
- >=sys-apps/util-linux-2.16.0
- sys-libs/zlib
- amd64? ( sys-apps/seabios )
- x86? ( sys-apps/seabios )
- aio? ( dev-libs/libaio )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bluetooth? ( net-wireless/bluez )
- brltty? ( app-accessibility/brltty )
- curl? ( >=net-misc/curl-7.15.4 )
- esd? ( media-sound/esound )
- fdt? ( >=sys-apps/dtc-1.2.0 )
- jpeg? ( virtual/jpeg )
- ncurses? ( sys-libs/ncurses )
- nss? ( dev-libs/nss )
- png? ( media-libs/libpng )
- pulseaudio? ( media-sound/pulseaudio )
- qemu-ifup? ( sys-apps/iproute2 net-misc/bridge-utils )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
- sdl? ( >=media-libs/libsdl-1.2.11[X] )
- spice? ( >=app-emulation/spice-0.6.0 )
- ssl? ( net-libs/gnutls )
- vde? ( net-misc/vde )
- xattr? ( sys-apps/attr )
- xen? ( app-emulation/xen )
-"
-
-DEPEND="${RDEPEND}
- app-text/texi2html
- >=sys-kernel/linux-headers-2.6.35
- ssl? ( dev-util/pkgconfig )
-"
-
-kvm_kern_warn() {
- eerror "Please enable KVM support in your kernel, found at:"
- eerror
- eerror " Virtualization"
- eerror " Kernel-based Virtual Machine (KVM) support"
- eerror
-}
-
-pkg_setup() {
- if ! use qemu_softmmu_targets_x86_64 && use x86_64 ; then
- eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
- fi
-
- if ! use qemu_softmmu_targets_x86_64 && use x86 ; then
- eerror "You disabled default target QEMU_SOFTMMU_TARGETS=x86_64"
- fi
-
- if kernel_is lt 2 6 25; then
- eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
- eerror "Either upgrade your kernel"
- else
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- kvm_kern_warn
- elif ! linux_chkconfig_present KVM; then
- kvm_kern_warn
- fi
- if use vhost-net && ! linux_chkconfig_present VHOST_NET ; then
- ewarn "You have to enable CONFIG_VHOST_NET in the kernel"
- ewarn "to have vhost-net support."
- fi
- fi
-
- python_set_active_version 2
-
- enewgroup kvm
-}
-
-src_prepare() {
- # prevent docs to get automatically installed
- sed -i '/$(DESTDIR)$(docdir)/d' Makefile || die
- # Alter target makefiles to accept CFLAGS set via flag-o
- sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
- Makefile Makefile.target || die
- # append CFLAGS while linking
- sed -i 's/$(LDFLAGS)/$(QEMU_CFLAGS) $(CFLAGS) $(LDFLAGS)/' rules.mak || die
-
- # remove part to make udev happy
- sed -e 's~NAME="%k", ~~' -i kvm/scripts/65-kvm.rules || die
-
- # ${PN}-guest-hang-on-usb-add.patch was sent by Timothy Jones
- # to the qemu-devel ml - bug 337988
- epatch "${FILESDIR}/qemu-0.11.0-mips64-user-fix.patch"
-
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
- epatch
-}
-
-src_configure() {
- local conf_opts audio_opts user_targets
-
- for target in ${IUSE_SOFTMMU_TARGETS} ; do
- use "qemu_softmmu_targets_${target}" && \
- softmmu_targets="${softmmu_targets} ${target}-softmmu"
- done
-
- for target in ${IUSE_USER_TARGETS} ; do
- use "qemu_user_targets_${target}" && \
- user_targets="${user_targets} ${target}-linux-user"
- done
-
- if [ -z "${softmmu_targets}" ]; then
- eerror "All SoftMMU targets are disabled. This is invalid for qemu-kvm"
- die "At least 1 SoftMMU target must be enabled"
- else
- einfo "Building the following softmmu targets: ${softmmu_targets}"
- fi
-
- if [ ! -z "${user_targets}" ]; then
- einfo "Building the following user targets: ${user_targets}"
- conf_opts="${conf_opts} --enable-linux-user"
- else
- conf_opts="${conf_opts} --disable-linux-user"
- fi
-
- # Fix QA issues. QEMU needs executable heaps and we need to mark it as such
- conf_opts="${conf_opts} --extra-ldflags=-Wl,-z,execheap"
-
- # Add support for static builds
- #use static && conf_opts="${conf_opts} --static"
-
- # Support debug USE flag
- use debug && conf_opts="${conf_opts} --enable-debug --disable-strip"
-
- # Fix the $(prefix)/etc issue
- conf_opts="${conf_opts} --sysconfdir=/etc"
-
- #config options
- conf_opts="${conf_opts} $(use_enable aio linux-aio)"
- conf_opts="${conf_opts} $(use_enable bluetooth bluez)"
- conf_opts="${conf_opts} $(use_enable brltty brlapi)"
- conf_opts="${conf_opts} $(use_enable curl)"
- conf_opts="${conf_opts} $(use_enable fdt)"
- conf_opts="${conf_opts} $(use_enable jpeg vnc-jpeg)"
- conf_opts="${conf_opts} $(use_enable ncurses curses)"
- conf_opts="${conf_opts} $(use_enable nss smartcard-nss)"
- conf_opts="${conf_opts} $(use_enable png vnc-png)"
- conf_opts="${conf_opts} $(use_enable rbd)"
- conf_opts="${conf_opts} $(use_enable sasl vnc-sasl)"
- conf_opts="${conf_opts} $(use_enable sdl)"
- conf_opts="${conf_opts} $(use_enable spice)"
- conf_opts="${conf_opts} $(use_enable ssl vnc-tls)"
- conf_opts="${conf_opts} $(use_enable threads vnc-thread)"
- conf_opts="${conf_opts} $(use_enable vde)"
- conf_opts="${conf_opts} $(use_enable vhost-net)"
- conf_opts="${conf_opts} $(use_enable xen)"
- conf_opts="${conf_opts} $(use_enable xattr attr)"
- conf_opts="${conf_opts} --disable-darwin-user --disable-bsd-user"
-
- # audio options
- audio_opts="oss"
- use alsa && audio_opts="alsa ${audio_opts}"
- use esd && audio_opts="esd ${audio_opts}"
- use pulseaudio && audio_opts="pa ${audio_opts}"
- use sdl && audio_opts="sdl ${audio_opts}"
- ./configure --prefix=/usr \
- --disable-strip \
- --disable-werror \
- --enable-kvm \
- --enable-nptl \
- --enable-uuid \
- ${conf_opts} \
- --audio-drv-list="${audio_opts}" \
- --target-list="${softmmu_targets} ${user_targets}" \
- --cc="$(tc-getCC)" \
- --host-cc="$(tc-getBUILD_CC)" \
- || die "configure failed"
-
- # this is for qemu upstream's threaded support which is
- # in development and broken
- # the kvm project has its own support for threaded IO
- # which is always on and works
- # --enable-io-thread \
-}
-
-src_install() {
- emake DESTDIR="${D}" install || die "make install failed"
-
- if [ ! -z "${softmmu_targets}" ]; then
- insinto /$(get_libdir)/udev/rules.d/
- doins kvm/scripts/65-kvm.rules || die
-
- if use qemu-ifup; then
- insinto /etc/qemu/
- insopts -m0755
- doins kvm/scripts/qemu-ifup || die
- fi
-
- if use qemu_softmmu_targets_x86_64 ; then
- dobin "${FILESDIR}"/qemu-kvm
- dosym /usr/bin/qemu-kvm /usr/bin/kvm
- else
- elog "You disabled QEMU_SOFTMMU_TARGETS=x86_64, this disables install"
- elog "of /usr/bin/qemu-kvm and /usr/bin/kvm"
- fi
- fi
-
- dodoc Changelog MAINTAINERS TODO pci-ids.txt || die
- newdoc pc-bios/README README.pc-bios || die
- dohtml qemu-doc.html qemu-tech.html || die
-
- # FIXME: Need to come up with a solution for non-x86 based systems
- if use x86 || use amd64; then
- # Remove SeaBIOS since we're using the SeaBIOS packaged one
- rm "${D}/usr/share/qemu/bios.bin"
- dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
- fi
-}
-
-pkg_postinst() {
-
- if [ ! -z "${softmmu_targets}" ]; then
- elog "If you don't have kvm compiled into the kernel, make sure you have"
- elog "the kernel module loaded before running kvm. The easiest way to"
- elog "ensure that the kernel module is loaded is to load it on boot."
- elog "For AMD CPUs the module is called 'kvm-amd'"
- elog "For Intel CPUs the module is called 'kvm-intel'"
- elog "Please review /etc/conf.d/modules for how to load these"
- elog
- elog "Make sure your user is in the 'kvm' group"
- elog "Just run 'gpasswd -a <USER> kvm', then have <USER> re-login."
- elog
- elog "You will need the Universal TUN/TAP driver compiled into your"
- elog "kernel or loaded as a module to use the virtual network device"
- elog "if using -net tap. You will also need support for 802.1d"
- elog "Ethernet Bridging and a configured bridge if using the provided"
- elog "kvm-ifup script from /etc/kvm."
- elog
- elog "The gnutls use flag was renamed to ssl, so adjust your use flags."
- fi
-}