diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2016-12-28 15:02:24 +0100 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2016-12-28 15:04:51 +0100 |
commit | 442623e49918f0c6b5b7ee91e519ab38558ca032 (patch) | |
tree | bac9b2d7f9543bf8dc654832b6e66971267b8e6a /pkgs/applications | |
parent | 33d07c7ea9f0d05d47dd4b41ded3b261380acfac (diff) | |
download | nixlib-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.nix | 93 |
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; + }; +} |