about summary refs log tree commit diff
path: root/pkgs/applications/virtualization/qemu
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2017-11-24 14:34:04 +0200
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2017-11-26 11:13:20 +0200
commit3b2056536c45c70e817e805b2b7f12b7ab468386 (patch)
tree5b566b591851ec8aca4f63a6d60d177299e5ff25 /pkgs/applications/virtualization/qemu
parenteb3925ff62028f573ee20a0dbcb5e52ecb696b18 (diff)
downloadnixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar.gz
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar.bz2
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar.lz
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar.xz
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.tar.zst
nixlib-3b2056536c45c70e817e805b2b7f12b7ab468386.zip
qemu: Rename x86Only option to hostCpuOnly
And also make it work on ARM and Aarch64.
Diffstat (limited to 'pkgs/applications/virtualization/qemu')
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix11
1 files changed, 8 insertions, 3 deletions
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index a43ce12e83e7..66e5928ca15f 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -12,7 +12,7 @@
 , spiceSupport ? !stdenv.isDarwin, spice, spice_protocol
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
-, x86Only ? false
+, hostCpuOnly ? false
 , nixosTestRunner ? false
 }:
 
@@ -23,12 +23,17 @@ let
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
+
+  hostCpuTargets = if stdenv.isi686 || stdenv.isx86_64 then "i386-softmmu,x86_64-softmmu"
+                      else if stdenv.isArm then "arm-softmmu"
+                      else if stdenv.isAarch64 then "aarch64-softmmu"
+                      else throw "Don't know how to build a 'hostCpuOnly = true' QEMU";
 in
 
 stdenv.mkDerivation rec {
   name = "qemu-"
     + stdenv.lib.optionalString xenSupport "xen-"
-    + stdenv.lib.optionalString x86Only "x86-only-"
+    + stdenv.lib.optionalString hostCpuOnly "host-cpu-only-"
     + stdenv.lib.optionalString nixosTestRunner "for-vm-tests-"
     + version;
 
@@ -75,7 +80,7 @@ stdenv.mkDerivation rec {
     ++ optional seccompSupport "--enable-seccomp"
     ++ optional spiceSupport "--enable-spice"
     ++ optional usbredirSupport "--enable-usb-redir"
-    ++ optional x86Only "--target-list=i386-softmmu,x86_64-softmmu"
+    ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
     ++ optional stdenv.isDarwin "--enable-cocoa"
     ++ optional stdenv.isLinux "--enable-linux-aio"
     ++ optional xenSupport "--enable-xen";