mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-25 00:12:56 +00:00
qemu-kvm: Remove
But install a qemu-kvm wrapper in qemu.
This commit is contained in:
parent
945c70202f
commit
00e311e438
@ -1,5 +1,6 @@
|
||||
{ stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
|
||||
, attr, libcap, vde2, alsaLib, texinfo, libuuid
|
||||
, makeWrapper
|
||||
, sdlSupport ? true, SDL
|
||||
, vncSupport ? true, libjpeg, libpng
|
||||
, spiceSupport ? true, spice, spice_protocol
|
||||
@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
buildInputs =
|
||||
[ python zlib pkgconfig glib ncurses perl pixman attr libcap
|
||||
vde2 alsaLib texinfo libuuid
|
||||
vde2 alsaLib texinfo libuuid makeWrapper
|
||||
]
|
||||
++ stdenv.lib.optionals sdlSupport [ SDL ]
|
||||
++ stdenv.lib.optionals vncSupport [ libjpeg libpng ]
|
||||
@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
|
||||
++ stdenv.lib.optional spiceSupport "--enable-spice"
|
||||
++ stdenv.lib.optional x86Only "--target-list=i386-softmmu,x86_64-softmmu";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
# Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
|
||||
p="$out/bin/qemu-system-${if stdenv.system == "x86_64-linux" then "x86_64" else "i386"}"
|
||||
if [ -e "$p" ]; then
|
||||
makeWrapper "$p" $out/bin/qemu-kvm --add-flags "-enable-kvm"
|
||||
fi
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://www.qemu.org/;
|
||||
description = "A generic and open source machine emulator and virtualizer";
|
||||
|
@ -1,58 +0,0 @@
|
||||
{ stdenv, fetchurl, attr, zlib, SDL, alsaLib, pkgconfig, pciutils, libuuid, vde2
|
||||
, libjpeg, libpng, ncurses, python, glib, libaio, mesa, perl, texinfo
|
||||
, spice, spice_protocol, spiceSupport ? false }:
|
||||
|
||||
assert stdenv.isLinux;
|
||||
|
||||
let version = "1.2.0"; in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "qemu-kvm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/kvm/qemu-kvm/${version}/${name}.tar.gz";
|
||||
sha256 = "018vb5nmk2fsm143bs2bl2wirhasd4b10d7jchl32zik4inbk2p9";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
[ attr zlib SDL alsaLib pkgconfig pciutils libuuid vde2 libjpeg libpng
|
||||
ncurses python glib libaio mesa texinfo perl
|
||||
] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
|
||||
|
||||
patches = [ ./fix-librt-check.patch ./fix-usb-passthrough.patch ];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs .
|
||||
sed '/qtest_add_func.*check_time/d' -i tests/rtc-test.c
|
||||
'' # disable tests that meddle with system time, they seem to work bad, maybe due to newer glib
|
||||
+ stdenv.lib.optionalString spiceSupport ''
|
||||
for i in configure spice-qemu-char.c ui/spice-input.c ui/spice-core.c ui/qemu-spice.h; do
|
||||
substituteInPlace $i --replace '#include <spice.h>' '#include <spice/spice.h>'
|
||||
done
|
||||
'';
|
||||
|
||||
configureFlags =
|
||||
[ "--audio-drv-list=alsa"
|
||||
"--smbd=smbd" # use `smbd' from $PATH
|
||||
"--enable-docs"
|
||||
"--python=${python}/bin/python"
|
||||
] ++ stdenv.lib.optional spiceSupport "--enable-spice";
|
||||
|
||||
postInstall =
|
||||
''
|
||||
# Libvirt expects us to be called `qemu-kvm'. Otherwise it will
|
||||
# set the domain type to "qemu" rather than "kvm", which can
|
||||
# cause architecture selection to misbehave.
|
||||
ln -sv $(cd $out/bin && echo qemu-system-*) $out/bin/qemu-kvm
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.linux-kvm.org/;
|
||||
description = "A full virtualization solution for Linux on x86 hardware containing virtualization extensions";
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
@ -1,72 +0,0 @@
|
||||
commit 8bacde8d86a09699207d85d4bab06162aed18dc4
|
||||
Author: Natanael Copa <natanael.copa@gmail.com>
|
||||
Date: Wed Sep 12 09:06:51 2012 +0000
|
||||
|
||||
configure: properly check if -lrt and -lm is needed
|
||||
|
||||
Fixes build against uClibc.
|
||||
|
||||
uClibc provides 2 versions of clock_gettime(), one with realtime
|
||||
support and one without (this is so you can avoid linking in -lrt
|
||||
unless actually needed). This means that the clock_gettime() don't
|
||||
need -lrt. We still need it for timer_create() so we check for this
|
||||
function in addition.
|
||||
|
||||
We also need check if -lm is needed for isnan().
|
||||
|
||||
Both -lm and -lrt are needed for libs_qga.
|
||||
|
||||
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
|
||||
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 7656c32..9ab13db 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2671,17 +2671,44 @@ fi
|
||||
|
||||
|
||||
##########################################
|
||||
+# Do we need libm
|
||||
+cat > $TMPC << EOF
|
||||
+#include <math.h>
|
||||
+int main(void) { return isnan(sin(0.0)); }
|
||||
+EOF
|
||||
+if compile_prog "" "" ; then
|
||||
+ :
|
||||
+elif compile_prog "" "-lm" ; then
|
||||
+ LIBS="-lm $LIBS"
|
||||
+ libs_qga="-lm $libs_qga"
|
||||
+else
|
||||
+ echo
|
||||
+ echo "Error: libm check failed"
|
||||
+ echo
|
||||
+ exit 1
|
||||
+fi
|
||||
+
|
||||
+##########################################
|
||||
# Do we need librt
|
||||
+# uClibc provides 2 versions of clock_gettime(), one with realtime
|
||||
+# support and one without. This means that the clock_gettime() don't
|
||||
+# need -lrt. We still need it for timer_create() so we check for this
|
||||
+# function in addition.
|
||||
cat > $TMPC <<EOF
|
||||
#include <signal.h>
|
||||
#include <time.h>
|
||||
-int main(void) { return clock_gettime(CLOCK_REALTIME, NULL); }
|
||||
+int main(void) {
|
||||
+ timer_create(CLOCK_REALTIME, NULL, NULL);
|
||||
+ return clock_gettime(CLOCK_REALTIME, NULL);
|
||||
+}
|
||||
EOF
|
||||
|
||||
if compile_prog "" "" ; then
|
||||
:
|
||||
-elif compile_prog "" "-lrt" ; then
|
||||
+# we need pthread for static linking. use previous pthread test result
|
||||
+elif compile_prog "" "-lrt $pthread_lib" ; then
|
||||
LIBS="-lrt $LIBS"
|
||||
+ libs_qga="-lrt $libs_qga"
|
||||
fi
|
||||
|
||||
if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \
|
@ -1,45 +0,0 @@
|
||||
https://bugs.launchpad.net/qemu/+bug/1033727
|
||||
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Wed, 12 Sep 2012 13:08:40 +0000 (+0200)
|
||||
Subject: uhci: Don't queue up packets after one with the SPD flag set
|
||||
X-Git-Tag: v1.3.0-rc0~483^2
|
||||
X-Git-Url: http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h=72a04d0c178f01908d74539230d9de64ffc6da19
|
||||
Bug-Debian: http://bugs.debian.org/683983
|
||||
|
||||
uhci: Don't queue up packets after one with the SPD flag set
|
||||
|
||||
Don't queue up packets after a packet with the SPD (short packet detect)
|
||||
flag set. Since we won't know if the packet will actually be short until it
|
||||
has completed, and if it is short we should stop the queue.
|
||||
|
||||
This fixes a miniature photoframe emulating a USB cdrom with the windows
|
||||
software for it not working.
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
|
||||
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
|
||||
index c7c8786..cdc8bc3 100644
|
||||
--- a/hw/usb/hcd-uhci.c
|
||||
+++ b/hw/usb/hcd-uhci.c
|
||||
@@ -1000,6 +1000,9 @@ static void uhci_fill_queue(UHCIState *s, UHCI_TD *td)
|
||||
}
|
||||
assert(ret == TD_RESULT_ASYNC_START);
|
||||
assert(int_mask == 0);
|
||||
+ if (ptd.ctrl & TD_CTRL_SPD) {
|
||||
+ break;
|
||||
+ }
|
||||
plink = ptd.link;
|
||||
}
|
||||
}
|
||||
@@ -1097,7 +1100,7 @@ static void uhci_process_frame(UHCIState *s)
|
||||
|
||||
case TD_RESULT_ASYNC_START:
|
||||
trace_usb_uhci_td_async(curr_qh & ~0xf, link & ~0xf);
|
||||
- if (is_valid(td.link)) {
|
||||
+ if (is_valid(td.link) && !(td.ctrl & TD_CTRL_SPD)) {
|
||||
uhci_fill_queue(s, &td);
|
||||
}
|
||||
link = curr_qh ? qh.link : td.link;
|
@ -6717,7 +6717,7 @@ let
|
||||
|
||||
"procps-ng" = callPackage ../os-specific/linux/procps-ng { };
|
||||
|
||||
qemu_kvm = callPackage ../os-specific/linux/qemu-kvm { };
|
||||
qemu_kvm = qemu.override { x86Only = true; };
|
||||
|
||||
firmwareLinuxNonfree = callPackage ../os-specific/linux/firmware/firmware-linux-nonfree { };
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user