summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDoug Goldstein <cardoe@gentoo.org>2012-08-06 00:03:12 +0000
committerDoug Goldstein <cardoe@gentoo.org>2012-08-06 00:03:12 +0000
commit36b12be6826bef45feea1b6a66dcb5c88b67c97b (patch)
tree6b943e443d148e271894b7816d034e2cbf27f8ed /app-emulation
parentVersion bump. (diff)
downloadgentoo-2-36b12be6826bef45feea1b6a66dcb5c88b67c97b.tar.gz
gentoo-2-36b12be6826bef45feea1b6a66dcb5c88b67c97b.tar.bz2
gentoo-2-36b12be6826bef45feea1b6a66dcb5c88b67c97b.zip
Remove older version and older files.
(Portage version: 2.1.10.65/cvs/Linux x86_64)
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/qemu-kvm/ChangeLog8
-rw-r--r--app-emulation/qemu-kvm/files/65-gentoo-kvm.rules1
-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/qemu-kvm-1.1.0.ebuild369
6 files changed, 7 insertions, 628 deletions
diff --git a/app-emulation/qemu-kvm/ChangeLog b/app-emulation/qemu-kvm/ChangeLog
index c3ef6d96c479..e4a711d7b0c5 100644
--- a/app-emulation/qemu-kvm/ChangeLog
+++ b/app-emulation/qemu-kvm/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for app-emulation/qemu-kvm
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.146 2012/08/05 20:59:02 ago Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/ChangeLog,v 1.147 2012/08/06 00:03:12 cardoe Exp $
+
+ 06 Aug 2012; Doug Goldstein <cardoe@gentoo.org> -files/65-gentoo-kvm.rules,
+ -files/qemu-kvm-0.12.3-fix-crash-with-sdl.patch,
+ -files/qemu-kvm-0.12.3-include-madvise-defines.patch, -qemu-kvm-1.1.0.ebuild,
+ -files/qemu-kvm-guest-hang-on-usb-add.patch:
+ Remove older version and older files.
05 Aug 2012; Agostino Sarubbo <ago@gentoo.org> qemu-kvm-1.1.1-r1.ebuild:
Stable for amd64, wrt bug #428476
diff --git a/app-emulation/qemu-kvm/files/65-gentoo-kvm.rules b/app-emulation/qemu-kvm/files/65-gentoo-kvm.rules
deleted file mode 100644
index c2f7317aacca..000000000000
--- a/app-emulation/qemu-kvm/files/65-gentoo-kvm.rules
+++ /dev/null
@@ -1 +0,0 @@
-KERNEL=="kvm", GROUP="kvm", MODE="0660"
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 909deadf42e3..000000000000
--- 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 c50c7172f3c6..000000000000
--- 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 3f2abefe879c..000000000000
--- 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/qemu-kvm-1.1.0.ebuild b/app-emulation/qemu-kvm/qemu-kvm-1.1.0.ebuild
deleted file mode 100644
index 0b8b74c9f996..000000000000
--- a/app-emulation/qemu-kvm/qemu-kvm-1.1.0.ebuild
+++ /dev/null
@@ -1,369 +0,0 @@
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/qemu-kvm/qemu-kvm-1.1.0.ebuild,v 1.14 2012/07/28 22:20:23 cardoe Exp $
-
-EAPI="4"
-
-PYTHON_DEPEND="2"
-inherit eutils flag-o-matic linux-info toolchain-funcs multilib python user
-BACKPORTS=1
-
-if [[ ${PV} = *9999* ]]; then
- EGIT_REPO_URI="git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git"
- inherit git-2
- SRC_URI=""
- KEYWORDS=""
-else
- SRC_URI="mirror://sourceforge/kvm/${PN}/${P}.tar.gz
- ${BACKPORTS:+
- http://dev.gentoo.org/~cardoe/distfiles/${P}-bp-${BACKPORTS}.tar.xz}"
- KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
-fi
-
-DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
-HOMEPAGE="http://www.linux-kvm.org"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="+aio alsa bluetooth brltty +caps +curl debug doc fdt kernel_linux \
-kernel_FreeBSD ncurses opengl pulseaudio python rbd sasl sdl \
-smartcard spice static tci tls usbredir vde +vhost-net virtfs xattr xen xfs"
-
-COMMON_TARGETS="i386 x86_64 alpha arm cris m68k microblaze microblazeel mips mipsel ppc ppc64 sh4 sh4eb sparc sparc64 s390x"
-IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS} mips64 mips64el ppcemb xtensa xtensaeb"
-IUSE_USER_TARGETS="${COMMON_TARGETS} armeb ppc64abi32 sparc32plus unicore32"
-
-# 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
-
-REQUIRED_USE="static? ( !alsa !pulseaudio )
- amd64? ( qemu_softmmu_targets_x86_64 )
- x86? ( qemu_softmmu_targets_x86_64 )
- virtfs? ( xattr )"
-
-# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
-RDEPEND="
- !app-emulation/kqemu
- !app-emulation/qemu
- !<app-emulation/qemu-1.0
- >=dev-libs/glib-2.0
- media-libs/libpng
- sys-apps/pciutils
- virtual/jpeg
- amd64? ( >=sys-firmware/seabios-1.7.0
- sys-firmware/vgabios )
- x86? ( >=sys-firmware/seabios-1.7.0
- sys-firmware/vgabios )
- aio? ( dev-libs/libaio )
- alsa? ( >=media-libs/alsa-lib-1.0.13 )
- bluetooth? ( net-wireless/bluez )
- brltty? ( app-accessibility/brltty )
- caps? ( sys-libs/libcap-ng )
- curl? ( >=net-misc/curl-7.15.4 )
- fdt? ( >=sys-apps/dtc-1.2.0 )
- kernel_linux? ( >=sys-apps/util-linux-2.16.0 )
- ncurses? ( sys-libs/ncurses )
- opengl? ( virtual/opengl )
- pulseaudio? ( media-sound/pulseaudio )
- python? ( =dev-lang/python-2*[ncurses] )
- rbd? ( sys-cluster/ceph )
- sasl? ( dev-libs/cyrus-sasl )
- sdl? ( static? ( >=media-libs/libsdl-1.2.11[static-libs,X] )
- !static? ( >=media-libs/libsdl-1.2.11[X] ) )
- static? ( sys-libs/zlib[static-libs(+)] )
- !static? ( sys-libs/zlib )
- smartcard? ( dev-libs/nss )
- spice? ( >=app-emulation/spice-protocol-0.8.1
- static? ( >=app-emulation/spice-0.9.0[static-libs] )
- !static? ( >=app-emulation/spice-0.9.0 )
- )
- tls? ( net-libs/gnutls )
- usbredir? ( sys-apps/usbredir )
- vde? ( net-misc/vde )
- virtfs? ( sys-libs/libcap )
- xattr? ( sys-apps/attr )
- xen? ( app-emulation/xen-tools )
- xfs? ( sys-fs/xfsprogs )"
-
-DEPEND="${RDEPEND}
- app-text/texi2html
- virtual/pkgconfig
- kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )"
-
-STRIP_MASK="/usr/share/qemu/palcode-clipper"
-
-QA_PRESTRIPPED="
- usr/share/qemu/openbios-ppc
- usr/share/qemu/openbios-sparc64
- usr/share/qemu/openbios-sparc32
- usr/share/qemu/palcode-clipper"
-
-QA_WX_LOAD="${QA_PRESTRIPPED}
- usr/bin/qemu-i386
- usr/bin/qemu-x86_64
- usr/bin/qemu-alpha
- usr/bin/qemu-arm
- usr/bin/qemu-cris
- usr/bin/qemu-m68k
- usr/bin/qemu-microblaze
- usr/bin/qemu-mips
- usr/bin/qemu-mipsel
- usr/bin/qemu-ppc
- usr/bin/qemu-ppc64
- usr/bin/qemu-ppc64abi32
- usr/bin/qemu-sh4
- usr/bin/qemu-sh4eb
- usr/bin/qemu-sparc
- usr/bin/qemu-sparc64
- usr/bin/qemu-armeb
- usr/bin/qemu-sparc32plus"
-
-pkg_pretend() {
- if use kernel_linux && kernel_is lt 2 6 25; then
- eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
- elif use kernel_linux; then
- if ! linux_config_exists; then
- eerror "Unable to check your kernel for KVM support"
- else
- CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
- ERROR_KVM="You must enable KVM in your kernel to continue"
- ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
- ERROR_KVM_AMD+=" your kernel configuration."
- ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
- ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
- ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
- ERROR_TUN+=" into your kernel or loaded as a module to use the"
- ERROR_TUN+=" virtual network device if using -net tap."
- ERROR_BRIDGE="You will also need support for 802.1d"
- ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
- use vhost-net && CHECK_CHECK+=" ~VHOST_NET"
- ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
- ERROR_VHOST_NET+=" support"
-
- if use amd64 || use x86 || use amd64-linux || use x86-linux; then
- CONFIG_CHECK+=" ~KVM_AMD ~KVM_INTEL"
- fi
-
- use python && CONFIG_CHECK+=" ~DEBUG_FS"
- ERROR_DEBUG_FS="debugFS support required for kvm_stat"
-
- # Now do the actual checks setup above
- check_extra_config
- fi
- fi
-}
-
-pkg_setup() {
- python_set_active_version 2
- python_pkg_setup
-
- enewgroup kvm 78
-}
-
-src_prepare() {
- # Alter target makefiles to accept CFLAGS set via flag-o
- sed -i 's/^\(C\|OP_C\|HELPER_C\)FLAGS=/\1FLAGS+=/' \
- Makefile Makefile.target || die
-
- # remove part to make udev happy
- #sed -e 's~NAME="%k", ~~' -i kvm/scripts/65-kvm.rules || die
-
- python_convert_shebangs -r 2 "${S}/scripts/kvm/kvm_stat"
-
- [[ -n ${BACKPORTS} ]] && \
- EPATCH_FORCE=yes EPATCH_SUFFIX="patch" EPATCH_SOURCE="${S}/patches" \
- epatch
-
- epatch_user
-}
-
-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 [[ -n ${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 --disable-pie"
-
- # We always want to attempt to build with PIE support as it results
- # in a more secure binary. But it doesn't work with static or if
- # the current GCC doesn't have PIE support.
- if ! use static && gcc-specs-pie; then
- conf_opts="${conf_opts} --enable-pie"
- fi
-
- # audio options
- audio_opts="oss"
- use alsa && audio_opts="alsa ${audio_opts}"
- use pulseaudio && audio_opts="pa ${audio_opts}"
- use sdl && audio_opts="sdl ${audio_opts}"
-
- # conditionally making UUID work on Linux only is wrong
- # but the Gentoo/FreeBSD guys need to figure out what
- # provides libuuid on their platform
- # --enable-vnc-thread will go away in 1.2
- # $(use_enable xen xen-pci-passthrough) for 1.2
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --disable-bsd-user \
- --disable-libiscsi \
- --disable-strip \
- --disable-werror \
- --enable-guest-agent \
- --enable-vnc-jpeg \
- --enable-vnc-png \
- --enable-vnc-thread \
- --python=python2 \
- $(use_enable aio linux-aio) \
- $(use_enable bluetooth bluez) \
- $(use_enable brltty brlapi) \
- $(use_enable caps cap-ng) \
- $(use_enable curl) \
- $(use_enable debug debug-info) \
- $(use_enable debug debug-mon) \
- $(use_enable debug debug-tcg) \
- $(use_enable doc docs) \
- $(use_enable fdt) \
- $(use_enable kernel_linux kvm) \
- $(use_enable kernel_linux kvm-device-assignment) \
- $(use_enable kernel_linux nptl) \
- $(use_enable kernel_linux uuid) \
- $(use_enable ncurses curses) \
- $(use_enable opengl) \
- $(use_enable rbd) \
- $(use_enable sasl vnc-sasl) \
- $(use_enable sdl) \
- $(use_enable smartcard smartcard) \
- $(use_enable smartcard smartcard-nss) \
- $(use_enable spice) \
- $(use_enable tci tcg-interpreter) \
- $(use_enable tls vnc-tls) \
- $(use_enable usbredir usb-redir) \
- $(use_enable vde) \
- $(use_enable vhost-net) \
- $(use_enable virtfs) \
- $(use_enable xattr attr) \
- $(use_enable xen) \
- $(use_enable xfs xfsctl) \
- --audio-drv-list="${audio_opts}" \
- --target-list="${softmmu_targets} ${user_targets}" \
- --cc="$(tc-getCC)" \
- --host-cc="$(tc-getBUILD_CC)" \
- ${conf_opts} \
- || 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 \
-
- # FreeBSD's kernel does not support QEMU assigning/grabbing
- # host USB devices yet
- use kernel_FreeBSD && \
- sed -E -e "s|^(HOST_USB=)bsd|\1stub|" -i "${S}"/config-host.mak
-}
-
-src_install() {
- emake DESTDIR="${ED}" install
-
- if [[ -n ${softmmu_targets} ]]; then
- if use kernel_linux; then
- insinto /lib/udev/rules.d/
- doins "${FILESDIR}"/65-kvm.rules
- fi
-
- if use qemu_softmmu_targets_x86_64 ; then
- dobin "${FILESDIR}"/qemu-kvm
- ewarn "The depreciated '/usr/bin/kvm' symlink is no longer installed"
- ewarn "You should use '/usr/bin/qemu-kvm', you may need to edit"
- ewarn "your libvirt configs or other wrappers for ${PN}"
- 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
- newdoc pc-bios/README README.pc-bios
-
- if use doc; then
- dohtml qemu-doc.html qemu-tech.html || die
- fi
-
- use python & dobin scripts/kvm/kvm_stat
-
- # 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 "${ED}/usr/share/qemu/bios.bin"
- dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
-
- # Remove vgabios since we're using the vgabios packaged one
- rm "${ED}/usr/share/qemu/vgabios.bin"
- rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
- rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
- rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
- rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
- dosym ../vgabios/vgabios.bin /usr/share/qemu/vgabios.bin
- dosym ../vgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
- dosym ../vgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
- dosym ../vgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
- dosym ../vgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
- fi
-}
-
-pkg_postinst() {
- if [[ -n ${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 "The ssl USE flag was renamed to tls, so adjust your USE flags."
- elog "The nss USE flag was renamed to smartcard, so adjust your USE flags."
- fi
-}