summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2016-12-28 15:02:24 +0100
committerMichael Raskin <7c6f434c@mail.ru>2016-12-28 15:04:51 +0100
commit442623e49918f0c6b5b7ee91e519ab38558ca032 (patch)
treebac9b2d7f9543bf8dc654832b6e66971267b8e6a /pkgs/applications
parent33d07c7ea9f0d05d47dd4b41ded3b261380acfac (diff)
downloadnixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar.gz
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar.bz2
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar.lz
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar.xz
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.tar.zst
nixlib-442623e49918f0c6b5b7ee91e519ab38558ca032.zip
qemu_28: init at 2.8.0; not updating the main Qemu expression yet because there were some claims about NixOS test fragility
Diffstat (limited to 'pkgs/applications')
-rw-r--r--pkgs/applications/virtualization/qemu/2.8.nix93
1 files changed, 93 insertions, 0 deletions
diff --git a/pkgs/applications/virtualization/qemu/2.8.nix b/pkgs/applications/virtualization/qemu/2.8.nix
new file mode 100644
index 000000000000..677386819d3d
--- /dev/null
+++ b/pkgs/applications/virtualization/qemu/2.8.nix
@@ -0,0 +1,93 @@
+{ stdenv, fetchurl, fetchpatch, python2, zlib, pkgconfig, glib
+, ncurses, perl, pixman, vde2, alsaLib, texinfo, libuuid, flex
+, bison, lzo, snappy, libaio, gnutls, nettle, curl
+, makeWrapper
+, attr, libcap, libcap_ng
+, CoreServices, Cocoa, rez, setfile
+, numaSupport ? stdenv.isLinux, numactl
+, seccompSupport ? stdenv.isLinux, libseccomp
+, pulseSupport ? !stdenv.isDarwin, libpulseaudio
+, sdlSupport ? !stdenv.isDarwin, SDL
+, vncSupport ? true, libjpeg, libpng
+, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol, usbredir
+, x86Only ? false
+, nixosTestRunner ? false
+}:
+
+with stdenv.lib;
+let
+  version = "2.8.0";
+  audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+    + optionalString pulseSupport "pa,"
+    + optionalString sdlSupport "sdl,";
+in
+
+stdenv.mkDerivation rec {
+  name = "qemu-"  
+    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
+    + version;
+
+  src = fetchurl {
+    url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
+    sha256 = "0qjy3rcrn89n42y5iz60kgr0rrl29hpnj8mq2yvbc1wrcizmvzfs";
+  };
+
+  buildInputs =
+    [ python2 zlib pkgconfig glib ncurses perl pixman
+      vde2 texinfo libuuid flex bison makeWrapper lzo snappy
+      gnutls nettle curl
+    ]
+    ++ optionals stdenv.isDarwin [ CoreServices Cocoa rez setfile ]
+    ++ optionals seccompSupport [ libseccomp ]
+    ++ optionals numaSupport [ numactl ]
+    ++ optionals pulseSupport [ libpulseaudio ]
+    ++ optionals sdlSupport [ SDL ]
+    ++ optionals vncSupport [ libjpeg libpng ]
+    ++ optionals spiceSupport [ spice_protocol spice usbredir ]
+    ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ];
+
+  enableParallelBuilding = true;
+
+  patches = [
+    ./no-etc-install.patch
+  ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
+  hardeningDisable = [ "stackprotector" ];
+
+  configureFlags =
+    [ "--smbd=smbd" # use `smbd' from $PATH
+      "--audio-drv-list=${audio}"
+      "--sysconfdir=/etc"
+      "--localstatedir=/var"
+    ]
+    ++ optional numaSupport "--enable-numa"
+    ++ optional seccompSupport "--enable-seccomp"
+    ++ optional spiceSupport "--enable-spice"
+    ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
+    ++ optional stdenv.isDarwin "--enable-cocoa"
+    ++ optional stdenv.isLinux "--enable-linux-aio";
+
+  postFixup =
+    ''
+      for exe in $out/bin/qemu-system-* ; do
+        paxmark m $exe
+      done
+    '';
+
+  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 "\$([ -e /dev/kvm ] && echo -enable-kvm)"
+      fi
+    '';
+
+  meta = with stdenv.lib; {
+    homepage = http://www.qemu.org/;
+    description = "A generic and open source machine emulator and virtualizer";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric eelco ];
+    platforms = platforms.linux ++ platforms.darwin;
+  };
+}