anchor.diff:  with stdenv;
   with stdenv.lib;
   let
  -  version = "2.4.1";
  +  version = "2.5.0";
   
     isKvmOnly = type == "kvm-only";
     isNix = type == "nix";
  
positive.code:     # With    vss-sdk
      # With    win-sdk
  
      (mkEnable (!isNix)                "system"              null)
      (mkEnable (!isKvmOnly)            "user"                null)
      (mkEnable (!isKvmOnly)            "guest-base"          null)
      (mkEnable (!isNix)                "docs"                null)
      (mkEnable true                    "guest-agent"         null)
      # Enable  guest-agent-msi
      (mkEnable (!isNix)                "pie"                 null)
      (mkEnable hasModules              "modules"             null)
      (mkEnable false                   "debug-tcg"           null)
      (mkEnable false                   "debug-info"          null)
      (mkEnable false                   "sparse"              null)
  
      (mkEnable (optGnutls != null)     "gnutls"              null)
      (mkEnable (optSDL2 != null)       "sdl"                 null)
      (mkWith   hasSDLAbi               "sdlabi"              "2.0")
      (mkEnable (optGtk != null)        "gtk"                 null)
      # With    gtk-abi
      (mkEnable (optVte != null)        "vte"                 null)
      (mkEnable (optNcurses != null)    "curses"              null)
      (mkEnable hasVnc                  "vnc"                 null)
      (mkEnable hasVncTls               "vnc-tls"             null)
      (mkEnable hasVncSasl              "vnc-sasl"            null)
      (mkEnable hasVncJpeg              "vnc-jpeg"            null)
      (mkEnable hasVncPng               "vnc-png"             null)
      (mkEnable stdenv.isDarwin         "cocoa"               null)
      (mkEnable hasVirtfs               "virtfs"              null)
      (mkEnable false                   "xen"                 null)
      (mkEnable false                   "xen-pci-passthrough" null)
      (mkEnable false                   "brlapi"              null)
      (mkEnable (optCurl != null)       "curl"                null)
      (mkEnable hasFdt                  "fdt"                 null)
      (mkEnable (optBluez != null)      "bluez"               null)
      (mkEnable stdenv.isLinux          "kvm"                 null)
      (mkEnable hasRdma                 "rdma"                null)
      (mkEnable (optLibuuid != null)    "uuid"                null)
      (mkEnable (optVde2 != null)       "vde"                 null)
      (mkEnable false                   "netmap"              null)  # TODO(wkennington): Add Support
      (mkEnable hasLinuxAio             "linux-aio"           null)
      (mkEnable (optLibcap_ng != null)  "cap-ng"              null)
      (mkEnable (optAttr != null)       "attr"                null)
      (mkEnable stdenv.isLinux          "vhost-net"           null)
      (mkEnable hasSpice                "spice"               null)
      (mkEnable (optLibceph != null)    "rbd"                 null)
      (mkEnable false                   "libiscsi"            null)  # TODO(wkennington): Add support
      (mkEnable false                   "libnfs"              null)  # TODO(wkennington): Add support
      (mkEnable hasNss                  "smartcard-nss"       null)
      (mkEnable (optLibusb != null)     "libusb"              null)
      (mkEnable (optUsbredir != null)   "usb-redir"           null)
      (mkEnable (optLzo != null)        "lzo"                 null)
      (mkEnable (optSnappy != null)     "snappy"              null)
      (mkEnable (optBzip2 != null)      "bzip2"               null)
      (mkEnable (optLibseccomp != null) "seccomp"             null)
      (mkEnable true                    "coroutine-pool"      null)
      (mkEnable (optGlusterfs != null)  "glusterfs"           null)
      (mkEnable false                   "archipelago"         null)
      (mkEnable true                    "tpm"                 null)
      (mkEnable (optLibssh2 != null)    "libssh2"             null)
      (mkEnable (optLibuuid != null)    "vhdx"                null)
      (mkEnable (optNumactl != null)    "numa"                null)
      (mkEnable (optGperftools != null) "tcmalloc"            null)
  
      (mkEnable hasOpengl               "opengl"              null)
      (mkEnable (optLibxfs != null)     "xfsctl"              null)
    ] ++ optionals isKvmOnly [
      (mkOther                          "target-list"         targetList)
    ] ++ optionals isNix [
      (mkOther                          "static"              null)
    ];
  
    installFlags = [
  
negative.code:   optSDL2 = if isNix then null else shouldUsePkg SDL2;
    optGtk = if isNix then null else shouldUsePkg gtk;
    optVte = if isNix then null else shouldUsePkg vte;
    optVirglrenderer = if isNix then null else shouldUsePkg virglrenderer;
    optLibcap = if isNix then null else shouldUsePkg libcap;
    optAttr = if isNix then null else shouldUsePkg attr;
    optNettle = if isNix then null else shouldUsePkg nettle;
  