about summary refs log tree commit diff
path: root/pkgs/applications/virtualization
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2016-02-28 18:22:06 -0600
committerMatthew Bauer <mjbauer95@gmail.com>2016-03-04 17:45:34 -0600
commit864ec69c84f89b0f0e073a9a0fec218d521f5ce9 (patch)
tree4e4b78b3ca5e4cd929912a90760cf17d8648719f /pkgs/applications/virtualization
parentb0f70e2ebb445a73f011ab6980a5abbd45d3410b (diff)
downloadnixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar.gz
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar.bz2
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar.lz
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar.xz
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.tar.zst
nixlib-864ec69c84f89b0f0e073a9a0fec218d521f5ce9.zip
qemu: compile with cocoa for darwin support
This uses the --enable-cocoa flag in qemu to build in Darwin.
Diffstat (limited to 'pkgs/applications/virtualization')
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix36
1 files changed, 22 insertions, 14 deletions
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 9301f886472c..158231a6e646 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -1,11 +1,15 @@
 { stdenv, fetchurl, python, zlib, pkgconfig, glib, ncurses, perl, pixman
-, attr, libcap, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
-, libseccomp, libaio, libcap_ng, gnutls, nettle, numactl
+, vde2, alsaLib, texinfo, libuuid, flex, bison, lzo, snappy
+, libaio, gnutls, nettle
 , makeWrapper
-, pulseSupport ? true, libpulseaudio
-, sdlSupport ? true, SDL
+, 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 ? true, spice, spice_protocol, usbredir
+, spiceSupport ? !stdenv.isDarwin, spice, spice_protocol, usbredir
 , x86Only ? false
 }:
 
@@ -26,31 +30,35 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ python zlib pkgconfig glib ncurses perl pixman attr libcap
-      vde2 texinfo libuuid flex bison makeWrapper lzo snappy libseccomp
-      libcap_ng gnutls nettle numactl
+    [ python zlib pkgconfig glib ncurses perl pixman
+      vde2 texinfo libuuid flex bison makeWrapper lzo snappy
+      gnutls nettle
     ]
+    ++ 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 (hasSuffix "linux" stdenv.system) [ alsaLib libaio ];
+    ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ];
 
   enableParallelBuilding = true;
 
   patches = [ ./no-etc-install.patch ];
 
   configureFlags =
-    [ "--enable-seccomp"
-      "--enable-numa"
-      "--smbd=smbd" # use `smbd' from $PATH
+    [ "--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 (hasSuffix "linux" stdenv.system) "--enable-linux-aio";
+    ++ optional stdenv.isDarwin "--enable-cocoa"
+    ++ optional stdenv.isLinux "--enable-linux-aio";
 
   postInstall =
     ''
@@ -66,6 +74,6 @@ stdenv.mkDerivation rec {
     description = "A generic and open source machine emulator and virtualizer";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ viric eelco ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }