about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/stdenv.xml22
-rw-r--r--lib/maintainers.nix3
-rw-r--r--nixos/modules/config/users-groups.nix8
-rw-r--r--nixos/modules/services/logging/logstash.nix2
-rw-r--r--nixos/modules/services/networking/avahi-daemon.nix9
-rw-r--r--nixos/modules/services/networking/networkmanager.nix5
-rw-r--r--nixos/modules/services/system/dbus.nix9
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome3.nix1
-rw-r--r--nixos/modules/system/boot/resolved.nix67
-rw-r--r--nixos/modules/virtualisation/libvirtd.nix260
-rw-r--r--pkgs/applications/audio/spotify/default.nix4
-rw-r--r--pkgs/applications/editors/bviplus/default.nix6
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix12
-rw-r--r--pkgs/applications/editors/texstudio/default.nix6
-rw-r--r--pkgs/applications/editors/vscode/default.nix10
-rw-r--r--pkgs/applications/misc/albert/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix33
-rw-r--r--pkgs/applications/misc/mdp/default.nix16
-rw-r--r--pkgs/applications/misc/merkaartor/default.nix18
-rw-r--r--pkgs/applications/misc/synergy/default.nix4
-rw-r--r--pkgs/applications/misc/timewarrior/default.nix17
-rw-r--r--pkgs/applications/networking/cluster/habitat/default.nix32
-rw-r--r--pkgs/applications/networking/davmail/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix42
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/office/gnucash/2.6.nix4
-rw-r--r--pkgs/applications/office/zanshin/default.nix8
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix26
-rw-r--r--pkgs/applications/science/biology/igv/default.nix33
-rw-r--r--pkgs/applications/science/biology/samtools/default.nix16
-rw-r--r--pkgs/applications/science/logic/cryptoverif/default.nix37
-rw-r--r--pkgs/applications/science/logic/proverif/default.nix28
-rw-r--r--pkgs/applications/science/logic/statverif/default.nix34
-rw-r--r--pkgs/applications/science/misc/gephi/default.nix37
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-extras/default.nix6
-rw-r--r--pkgs/applications/version-management/meld/default.nix5
-rw-r--r--pkgs/applications/version-management/src/default.nix12
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/virtualization/docker/default.nix3
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix10
-rw-r--r--pkgs/applications/virtualization/seabios/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-manager/default.nix4
-rwxr-xr-xpkgs/build-support/build-fhs-userenv/chroot-user.rb1
-rw-r--r--pkgs/build-support/build-fhs-userenv/default.nix4
-rw-r--r--pkgs/data/fonts/font-awesome-ttf/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/efl.nix5
-rw-r--r--pkgs/desktops/gnome-3/3.18/core/gnome-keyring/default.nix1
-rw-r--r--pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch13
-rw-r--r--pkgs/development/compilers/aldor/default.nix2
-rw-r--r--pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch79
-rw-r--r--pkgs/development/compilers/chicken/default.nix10
-rw-r--r--pkgs/development/compilers/chicken/setup-hook.sh2
-rw-r--r--pkgs/development/compilers/cmdstan/default.nix5
-rw-r--r--pkgs/development/compilers/terra/default.nix1
-rw-r--r--pkgs/development/go-modules/libs.json27
-rw-r--r--pkgs/development/interpreters/jimtcl/default.nix25
-rw-r--r--pkgs/development/interpreters/php/default.nix12
-rw-r--r--pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch20
-rw-r--r--pkgs/development/libraries/libewf/default.nix7
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix12
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix7
-rw-r--r--pkgs/development/libraries/libinput/default.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.2.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.3.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.4.nix22
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix4
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/generic.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/srcs.nix252
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix23
-rw-r--r--pkgs/development/python-modules/matplotlib/basedirlist.patch8
-rw-r--r--pkgs/development/python-modules/matplotlib/default.nix27
-rw-r--r--pkgs/development/tools/activator/default.nix14
-rw-r--r--pkgs/development/tools/build-managers/waf/default.nix12
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix10
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix12
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix16
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix15
-rw-r--r--pkgs/development/tools/misc/tcptrack/default.nix17
-rw-r--r--pkgs/development/tools/misc/unifdef/default.nix6
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix7
-rw-r--r--pkgs/development/tools/pypi2nix/deps.nix49
-rw-r--r--pkgs/development/tools/sauce-connect/default.nix12
-rw-r--r--pkgs/development/tools/toluapp/default.nix16
-rw-r--r--pkgs/development/web/nodejs/v4.nix4
-rw-r--r--pkgs/games/minecraft-server/default.nix6
-rw-r--r--pkgs/misc/emulators/higan/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/base.nix6
-rw-r--r--pkgs/misc/emulators/wine/sources.nix4
-rw-r--r--pkgs/misc/themes/numix/default.nix (renamed from pkgs/misc/themes/numix-gtk-theme/default.nix)0
-rw-r--r--pkgs/misc/themes/paper/default.nix (renamed from pkgs/misc/themes/paper-gtk-theme/default.nix)0
-rw-r--r--pkgs/os-specific/linux/acpitool/default.nix39
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix6
-rw-r--r--pkgs/os-specific/linux/guvcview/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.3.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.6.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix4
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/mail/rmilter/default.nix4
-rw-r--r--pkgs/servers/mail/rspamd/default.nix4
-rw-r--r--pkgs/servers/monitoring/bosun/default.nix4
-rw-r--r--pkgs/shells/elvish/default.nix24
-rw-r--r--pkgs/shells/elvish/deps.json9
-rw-r--r--pkgs/shells/xonsh/default.nix13
-rw-r--r--pkgs/shells/zsh-completions/default.nix26
-rw-r--r--pkgs/tools/X11/xpra/default.nix6
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix8
-rw-r--r--pkgs/tools/backup/attic/default.nix2
-rw-r--r--pkgs/tools/compression/zstd/default.nix6
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/dislocker/cmake_dirfix.patch13
-rw-r--r--pkgs/tools/filesystems/dislocker/default.nix30
-rw-r--r--pkgs/tools/inputmethods/ibus/wrapper.nix2
-rw-r--r--pkgs/tools/misc/binwalk/default.nix32
-rw-r--r--pkgs/tools/misc/datamash/default.nix8
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/mbuffer/default.nix6
-rw-r--r--pkgs/tools/misc/parallel/default.nix6
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix17
-rw-r--r--pkgs/tools/misc/togglesg-download/default.nix15
-rw-r--r--pkgs/tools/misc/xdo/default.nix17
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix6
-rw-r--r--pkgs/tools/misc/yubikey-neo-manager/default.nix28
-rw-r--r--pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff17
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/iperf/3.nix6
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix12
-rw-r--r--pkgs/tools/networking/network-manager/l2tp.nix4
-rw-r--r--pkgs/tools/security/gnupg/21.nix8
-rw-r--r--pkgs/tools/system/collectd/default.nix3
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/text/mecab/base.nix16
-rw-r--r--pkgs/tools/text/mecab/default.nix20
-rw-r--r--pkgs/tools/text/mecab/ipadic.nix18
-rw-r--r--pkgs/tools/text/mecab/nodic.nix8
-rw-r--r--pkgs/tools/text/sift/default.nix26
-rw-r--r--pkgs/tools/text/sift/deps.json10
-rw-r--r--pkgs/top-level/all-packages.nix104
-rw-r--r--pkgs/top-level/python-packages.nix206
-rw-r--r--pkgs/top-level/rust-packages.nix6
154 files changed, 1768 insertions, 856 deletions
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index d5f37aee15ee..b075e0219a54 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -1196,10 +1196,24 @@ echo @foo@
     <term><function>stripHash</function>
     <replaceable>path</replaceable></term>
     <listitem><para>Strips the directory and hash part of a store
-    path, and prints (on standard output) only the name part.  For
-    instance, <literal>stripHash
-    /nix/store/68afga4khv0w...-coreutils-6.12</literal> print
-    <literal>coreutils-6.12</literal>.</para></listitem>
+    path, storing the name part in the environment variable
+    <literal>strippedName</literal>. For example:
+    
+<programlisting>
+stripHash "/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24"
+# prints coreutils-8.24
+echo $strippedName
+</programlisting>
+
+    If you wish to store the result in another variable, then the
+    following idiom may be useful:
+    
+<programlisting>
+name="/nix/store/9s9r019176g7cvn2nvcw41gsp862y6b4-coreutils-8.24"
+someVar=$(stripHash $name; echo $strippedName)
+</programlisting>
+
+    </para></listitem>
   </varlistentry>
 
   
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a9c42cfef08b..a06510ec21b1 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -70,6 +70,7 @@
   c0dehero = "CodeHero <codehero@nerdpol.ch>";
   calrama = "Moritz Maxeiner <moritz@ucworks.org>";
   campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
+  carlsverre = "Carl Sverre <accounts@carlsverre.com>";
   cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
   cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
   chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
@@ -78,6 +79,7 @@
   chris-martin = "Chris Martin <ch.martin@gmail.com>";
   chrisjefferson = "Christopher Jefferson <chris@bubblescope.net>";
   christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
+  cko = "Christine Koppelt <christine.koppelt@gmail.com>";
   cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
   cmcdragonkai = "Roger Qiu <roger.qiu@matrix.ai>";
   coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
@@ -274,6 +276,7 @@
   odi = "Oliver Dunkl <oliver.dunkl@gmail.com>";
   offline = "Jaka Hudoklin <jakahudoklin@gmail.com>";
   olcai = "Erik Timan <dev@timan.info>";
+  olejorgenb = "Ole Jørgen Brønner <olejorgenb@yahoo.no>";
   orbitz = "Malcolm Matalka <mmatalka@gmail.com>";
   osener = "Ozan Sener <ozan@ozansener.com>";
   otwieracz = "Slawomir Gonet <slawek@otwiera.cz>";
diff --git a/nixos/modules/config/users-groups.nix b/nixos/modules/config/users-groups.nix
index 277a4264137b..d92deb85d2a5 100644
--- a/nixos/modules/config/users-groups.nix
+++ b/nixos/modules/config/users-groups.nix
@@ -121,7 +121,13 @@ let
         default = pkgs.nologin;
         defaultText = "pkgs.nologin";
         example = literalExample "pkgs.bashInteractive";
-        description = "The path to the user's shell.";
+        description = ''
+          The path to the user's shell. Can use shell derivations,
+          like <literal>pkgs.bashInteractive</literal>. Don’t
+          forget to enable your shell in
+          <literal>programs</literal> if necessary,
+          like <code>programs.zsh.enable = true;</code>.
+        '';
       };
 
       subUidRanges = mkOption {
diff --git a/nixos/modules/services/logging/logstash.nix b/nixos/modules/services/logging/logstash.nix
index e019e6c3f237..2c3016d27df8 100644
--- a/nixos/modules/services/logging/logstash.nix
+++ b/nixos/modules/services/logging/logstash.nix
@@ -105,7 +105,7 @@ in
             prune {
               whitelist_names => [
                 "type", "@timestamp", "@version",
-                "MESSAGE", "PRIORITY", "SYSLOG_FACILITY",
+                "MESSAGE", "PRIORITY", "SYSLOG_FACILITY"
               ]
             }
           }
diff --git a/nixos/modules/services/networking/avahi-daemon.nix b/nixos/modules/services/networking/avahi-daemon.nix
index 8b178ee93980..7650f45c5570 100644
--- a/nixos/modules/services/networking/avahi-daemon.nix
+++ b/nixos/modules/services/networking/avahi-daemon.nix
@@ -24,6 +24,7 @@ let
     use-ipv4=${if ipv4 then "yes" else "no"}
     use-ipv6=${if ipv6 then "yes" else "no"}
     ${optionalString (interfaces!=null) "allow-interfaces=${concatStringsSep "," interfaces}"}
+    ${optionalString (domainName!=null) "domain-name=${domainName}"}
 
     [wide-area]
     enable-wide-area=${if wideArea then "yes" else "no"}
@@ -65,6 +66,14 @@ in
         '';
       };
 
+      domainName = mkOption {
+        type = types.str;
+        default = "local";
+        description = ''
+          Domain name for all advertisements.
+        '';
+      };
+
       browseDomains = mkOption {
         default = [ "0pointer.de" "zeroconf.org" ];
         description = ''
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 9912ad9ae3fc..8aac1360526f 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -231,11 +231,6 @@ in {
     users.extraUsers = [{
       name = "nm-openvpn";
       uid = config.ids.uids.nm-openvpn;
-    }
-    {
-      # to enable link-local connections
-      name = "avahi-autoipd";
-      uid = config.ids.uids.avahi-autoipd;
     }];
 
     systemd.packages = cfg.packages;
diff --git a/nixos/modules/services/system/dbus.nix b/nixos/modules/services/system/dbus.nix
index 5583a1bcb3ab..8bcd6f01656d 100644
--- a/nixos/modules/services/system/dbus.nix
+++ b/nixos/modules/services/system/dbus.nix
@@ -65,10 +65,13 @@ in
         default = [ ];
         description = ''
           Packages whose D-Bus configuration files should be included in
-          the configuration of the D-Bus system-wide message bus.
-          Specifically, every file in
+          the configuration of the D-Bus system-wide or session-wide
+          message bus.  Specifically, files in the following directories
+          will be included into their respective DBus configuration paths:
           <filename><replaceable>pkg</replaceable>/etc/dbus-1/system.d</filename>
-          is included.
+          <filename><replaceable>pkg</replaceable>/share/dbus-1/system-services</filename>
+          <filename><replaceable>pkg</replaceable>/etc/dbus-1/session.d</filename>
+          <filename><replaceable>pkg</replaceable>/share/dbus-1/services</filename>
         '';
       };
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome3.nix b/nixos/modules/services/x11/desktop-managers/gnome3.nix
index 68579a1af836..27ec65c3d8e3 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome3.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome3.nix
@@ -120,6 +120,7 @@ in {
     networking.networkmanager.enable = mkDefault true;
     services.upower.enable = config.powerManagement.enable;
     services.dbus.packages = mkIf config.services.printing.enable [ pkgs.system-config-printer ];
+    services.colord.enable = mkDefault true;
     hardware.bluetooth.enable = mkDefault true;
 
     fonts.fonts = [ pkgs.dejavu_fonts pkgs.cantarell_fonts ];
diff --git a/nixos/modules/system/boot/resolved.nix b/nixos/modules/system/boot/resolved.nix
index 5a98b9b6d480..4b7c545dcc0d 100644
--- a/nixos/modules/system/boot/resolved.nix
+++ b/nixos/modules/system/boot/resolved.nix
@@ -1,7 +1,9 @@
 { config, lib, pkgs, ... }:
 
 with lib;
-
+let
+  cfg = config.services.resolved;
+in
 {
 
   options = {
@@ -14,9 +16,60 @@ with lib;
       '';
     };
 
+    services.resolved.fallbackDns = mkOption {
+      default = [ ];
+      example = [ "8.8.8.8" "2001:4860:4860::8844" ];
+      type = types.listOf types.str;
+      description = ''
+        A list of IPv4 and IPv6 addresses to use as the fallback DNS servers.
+        If this option is empty, a compiled-in list of DNS servers is used instead.
+      '';
+    };
+
+    services.resolved.domains = mkOption {
+      default = config.networking.search;
+      example = [ "example.com" ];
+      type = types.listOf types.str;
+      description = ''
+        A list of domains. These domains are used as search suffixes when resolving single-label host names (domain names which contain no dot), in order to qualify them into fully-qualified domain names (FQDNs).
+        For compatibility reasons, if this setting is not specified, the search domains listed in /etc/resolv.conf are used instead, if that file exists and any domains are configured in it.
+      '';
+    };
+
+    services.resolved.llmnr = mkOption {
+      default = "true";
+      example = "false";
+      type = types.enum [ "true" "resolve" "false" ];
+      description = ''
+        Controls Link-Local Multicast Name Resolution support (RFC 4794) on the local host.
+        If true, enables full LLMNR responder and resolver support.
+        If false, disables both.
+        If set to "resolve", only resolution support is enabled, but responding is disabled.
+      '';
+    };
+
+    services.resolved.dnssec = mkOption {
+      default = "allow-downgrade";
+      example = "true";
+      type = types.enum [ "true" "allow-downgrade" "false" ];
+      description = ''
+        If true all DNS lookups are DNSSEC-validated locally (excluding LLMNR and Multicast DNS). Note that this mode requires a DNS server that supports DNSSEC. If the DNS server does not properly support DNSSEC all validations will fail.
+        If set to "allow-downgrade" DNSSEC validation is attempted, but if the server does not support DNSSEC properly, DNSSEC mode is automatically disabled. Note that this mode makes DNSSEC validation vulnerable to "downgrade" attacks, where an attacker might be able to trigger a downgrade to non-DNSSEC mode by synthesizing a DNS response that suggests DNSSEC was not supported.
+        If set to false, DNS lookups are not DNSSEC validated.
+      '';
+    };
+
+    services.resolved.extraConfig = mkOption {
+      default = "";
+      type = types.lines;
+      description = ''
+        Extra config to append to resolved.conf.
+      '';
+    };
+
   };
 
-  config = mkIf config.services.resolved.enable {
+  config = mkIf cfg.enable {
 
     systemd.additionalUpstreamSystemUnits = [ "systemd-resolved.service" ];
 
@@ -27,7 +80,15 @@ with lib;
 
     environment.etc."systemd/resolved.conf".text = ''
       [Resolve]
-      DNS=${concatStringsSep " " config.networking.nameservers}
+      ${optionalString (config.networking.nameservers != [])
+        "DNS=${concatStringsSep " " config.networking.nameservers}"}
+      ${optionalString (cfg.fallbackDns != [])
+        "FallbackDNS=${concatStringsSep " " cfg.fallbackDns}"}
+      ${optionalString (cfg.domains != [])
+        "Domains=${concatStringsSep " " cfg.domains}"}
+      LLMNR=${cfg.llmnr}
+      DNSSEC=${cfg.dnssec}
+      ${config.services.resolved.extraConfig}
     '';
 
   };
diff --git a/nixos/modules/virtualisation/libvirtd.nix b/nixos/modules/virtualisation/libvirtd.nix
index 67fbb8263b05..9206f0daa75d 100644
--- a/nixos/modules/virtualisation/libvirtd.nix
+++ b/nixos/modules/virtualisation/libvirtd.nix
@@ -1,5 +1,3 @@
-# Systemd services for libvirtd.
-
 { config, lib, pkgs, ... }:
 
 with lib;
@@ -16,71 +14,59 @@ let
     ${cfg.extraConfig}
   '';
 
-in
+in {
 
-{
   ###### interface
 
   options = {
 
-    virtualisation.libvirtd.enable =
-      mkOption {
-        type = types.bool;
-        default = false;
-        description =
-          ''
-            This option enables libvirtd, a daemon that manages
-            virtual machines. Users in the "libvirtd" group can interact with
-            the daemon (e.g. to start or stop VMs) using the
-            <command>virsh</command> command line tool, among others.
-          '';
-      };
-
-    virtualisation.libvirtd.enableKVM =
-      mkOption {
-        type = types.bool;
-        default = true;
-        description =
-          ''
-            This option enables support for QEMU/KVM in libvirtd.
-          '';
-      };
+    virtualisation.libvirtd.enable = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        This option enables libvirtd, a daemon that manages
+        virtual machines. Users in the "libvirtd" group can interact with
+        the daemon (e.g. to start or stop VMs) using the
+        <command>virsh</command> command line tool, among others.
+      '';
+    };
 
-    virtualisation.libvirtd.extraConfig =
-      mkOption {
-        type = types.lines;
-        default = "";
-        description =
-          ''
-            Extra contents appended to the libvirtd configuration file,
-            libvirtd.conf.
-          '';
-      };
+    virtualisation.libvirtd.enableKVM = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        This option enables support for QEMU/KVM in libvirtd.
+      '';
+    };
 
-    virtualisation.libvirtd.extraOptions =
-      mkOption {
-        type = types.listOf types.str;
-        default = [ ];
-        example = [ "--verbose" ];
-        description =
-          ''
-            Extra command line arguments passed to libvirtd on startup.
-          '';
-      };
+    virtualisation.libvirtd.extraConfig = mkOption {
+      type = types.lines;
+      default = "";
+      description = ''
+        Extra contents appended to the libvirtd configuration file,
+        libvirtd.conf.
+      '';
+    };
 
-    virtualisation.libvirtd.onShutdown =
-      mkOption {
-        type = types.enum ["shutdown" "suspend" ];
-        default = "suspend";
-        description =
-          ''
-            When shutting down / restarting the host what method should
-            be used to gracefully halt the guests. Setting to "shutdown"
-            will cause an ACPI shutdown of each guest. "suspend" will
-            attempt to save the state of the guests ready to restore on boot.
-          '';
-      };
+    virtualisation.libvirtd.extraOptions = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      example = [ "--verbose" ];
+      description = ''
+        Extra command line arguments passed to libvirtd on startup.
+      '';
+    };
 
+    virtualisation.libvirtd.onShutdown = mkOption {
+      type = types.enum ["shutdown" "suspend" ];
+      default = "suspend";
+      description = ''
+        When shutting down / restarting the host what method should
+        be used to gracefully halt the guests. Setting to "shutdown"
+        will cause an ACPI shutdown of each guest. "suspend" will
+        attempt to save the state of the guests ready to restore on boot.
+      '';
+    };
 
   };
 
@@ -95,103 +81,87 @@ in
 
     boot.kernelModules = [ "tun" ];
 
-    systemd.services.libvirtd =
-      { description = "Libvirt Virtual Machine Management Daemon";
-
-        wantedBy = [ "multi-user.target" ];
-        after = [ "systemd-udev-settle.service" ]
-                ++ optional vswitch.enable "vswitchd.service";
-
-        path = [ 
-            pkgs.bridge-utils 
-            pkgs.dmidecode 
-            pkgs.dnsmasq
-            pkgs.ebtables
-          ] 
-          ++ optional cfg.enableKVM pkgs.qemu_kvm
-          ++ optional vswitch.enable vswitch.package;
-
-        preStart =
-          ''
-            mkdir -p /var/log/libvirt/qemu -m 755
-            rm -f /var/run/libvirtd.pid
-
-            mkdir -p /var/lib/libvirt
-            mkdir -p /var/lib/libvirt/dnsmasq
-
-            chmod 755 /var/lib/libvirt
-            chmod 755 /var/lib/libvirt/dnsmasq
-
-            # Copy default libvirt network config .xml files to /var/lib
-            # Files modified by the user will not be overwritten
-            for i in $(cd ${pkgs.libvirt}/var/lib && echo \
-                libvirt/qemu/networks/*.xml libvirt/qemu/networks/autostart/*.xml \
-                libvirt/nwfilter/*.xml );
-            do
-                mkdir -p /var/lib/$(dirname $i) -m 755
-                cp -npd ${pkgs.libvirt}/var/lib/$i /var/lib/$i
-            done
-
-            # libvirtd puts the full path of the emulator binary in the machine
-            # config file. But this path can unfortunately be garbage collected
-            # while still being used by the virtual machine. So update the
-            # emulator path on each startup to something valid (re-scan $PATH).
-            for file in /etc/libvirt/qemu/*.xml /etc/libvirt/lxc/*.xml; do
-                test -f "$file" || continue
-                # get (old) emulator path from config file
-                emulator=$(grep "^[[:space:]]*<emulator>" "$file" | sed 's,^[[:space:]]*<emulator>\(.*\)</emulator>.*,\1,')
-                # get a (definitely) working emulator path by re-scanning $PATH
-                new_emulator=$(PATH=${pkgs.libvirt}/libexec:$PATH command -v $(basename "$emulator"))
-                # write back
-                sed -i "s,^[[:space:]]*<emulator>.*,    <emulator>$new_emulator</emulator> <!-- WARNING: emulator dirname is auto-updated by the nixos libvirtd module -->," "$file"
-            done
-          ''; # */
-
-        serviceConfig.ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" --daemon ${concatStringsSep " " cfg.extraOptions}'';
-        serviceConfig.Type = "forking";
-        serviceConfig.KillMode = "process"; # when stopping, leave the VMs alone
-
-        # Wait until libvirtd is ready to accept requests.
-        postStart =
-          ''
-            for ((i = 0; i < 60; i++)); do
-                if ${pkgs.libvirt}/bin/virsh list > /dev/null; then exit 0; fi
-                sleep 1
-            done
-            exit 1 # !!! seems to be ignored
-          '';
-      };
+    users.extraGroups.libvirtd.gid = config.ids.gids.libvirtd;
 
-    systemd.services."libvirt-guests" = {
-      description = "Libvirt Virtual Machines";
+    systemd.services.libvirtd = {
+      description = "Libvirt Virtual Machine Management Daemon";
 
       wantedBy = [ "multi-user.target" ];
-      wants = [ "libvirtd.service" ];
-      after = [ "libvirtd.service" ];
-
-      restartIfChanged = false;
-
-      path = with pkgs; [ gettext libvirt gawk ];
+      after = [ "systemd-udev-settle.service" ]
+              ++ optional vswitch.enable "vswitchd.service";
+
+      path = [
+          pkgs.bridge-utils
+          pkgs.dmidecode
+          pkgs.dnsmasq
+          pkgs.ebtables
+        ]
+        ++ optional cfg.enableKVM pkgs.qemu_kvm
+        ++ optional vswitch.enable vswitch.package;
 
       preStart = ''
-        mkdir -p /var/lock/subsys -m 755
-        ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests start || true
-      '';
-
-      postStop = ''
-        export PATH=${pkgs.gettext}/bin:$PATH
-        export ON_SHUTDOWN=${cfg.onShutdown}
-        ${pkgs.libvirt}/etc/rc.d/init.d/libvirt-guests stop
-      '';
+        mkdir -p /var/log/libvirt/qemu -m 755
+        rm -f /var/run/libvirtd.pid
+
+        mkdir -p /var/lib/libvirt
+        mkdir -p /var/lib/libvirt/dnsmasq
+
+        chmod 755 /var/lib/libvirt
+        chmod 755 /var/lib/libvirt/dnsmasq
+
+        # Copy default libvirt network config .xml files to /var/lib
+        # Files modified by the user will not be overwritten
+        for i in $(cd ${pkgs.libvirt}/var/lib && echo \
+            libvirt/qemu/networks/*.xml libvirt/qemu/networks/autostart/*.xml \
+            libvirt/nwfilter/*.xml );
+        do
+            mkdir -p /var/lib/$(dirname $i) -m 755
+            cp -npd ${pkgs.libvirt}/var/lib/$i /var/lib/$i
+        done
+
+        # libvirtd puts the full path of the emulator binary in the machine
+        # config file. But this path can unfortunately be garbage collected
+        # while still being used by the virtual machine. So update the
+        # emulator path on each startup to something valid (re-scan $PATH).
+        for file in /etc/libvirt/qemu/*.xml /etc/libvirt/lxc/*.xml; do
+            test -f "$file" || continue
+            # get (old) emulator path from config file
+            emulator=$(grep "^[[:space:]]*<emulator>" "$file" | sed 's,^[[:space:]]*<emulator>\(.*\)</emulator>.*,\1,')
+            # get a (definitely) working emulator path by re-scanning $PATH
+            new_emulator=$(PATH=${pkgs.libvirt}/libexec:$PATH command -v $(basename "$emulator"))
+            # write back
+            sed -i "s,^[[:space:]]*<emulator>.*,    <emulator>$new_emulator</emulator> <!-- WARNING: emulator dirname is auto-updated by the nixos libvirtd module -->," "$file"
+        done
+      ''; # */
 
       serviceConfig = {
-        Type = "oneshot";
-        RemainAfterExit = true;
+        ExecStart = ''@${pkgs.libvirt}/sbin/libvirtd libvirtd --config "${configFile}" --daemon ${concatStringsSep " " cfg.extraOptions}'';
+        Type = "notify";
+        KillMode = "process"; # when stopping, leave the VMs alone
+        Restart = "on-failure";
       };
     };
 
-    users.extraGroups.libvirtd.gid = config.ids.gids.libvirtd;
+    systemd.sockets.virtlogd = {
+      description = "Virtual machine log manager socket";
+      wantedBy = [ "sockets.target" ];
+      listenStreams = [ "/run/libvirt/virtlogd-sock" ];
+    };
 
-  };
+    systemd.services.virtlogd = {
+      description = "Virtual machine log manager";
+      serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlogd virtlogd";
+    };
 
+    systemd.sockets.virtlockd = {
+      description = "Virtual machine lock manager socket";
+      wantedBy = [ "sockets.target" ];
+      listenStreams = [ "/run/libvirt/virtlockd-sock" ];
+    };
+
+    systemd.services.virtlockd = {
+      description = "Virtual machine lock manager";
+      serviceConfig.ExecStart = "@${pkgs.libvirt}/sbin/virtlockd virtlockd";
+    };
+  };
 }
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index 706848b992af..e9c1d7d8119c 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -5,7 +5,7 @@
 assert stdenv.system == "x86_64-linux";
 
 let
-  version = "1.0.32.94.g8a839395-32";
+  version = "1.0.32.96.g3c8a06e6-37";
 
   deps = [
     alsaLib
@@ -50,7 +50,7 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "1341v1j9xwj8pwmhl3q7znj3c27x1v4l61khczrgxbrfb56kina1";
+      sha256 = "0nk5sf3x9vf5ivm035h7rnjx0wvqlvii1i2mwvv50h86wmc25iih";
     };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/editors/bviplus/default.nix b/pkgs/applications/editors/bviplus/default.nix
index 5adb0dad26c3..18a9cc5f02ac 100644
--- a/pkgs/applications/editors/bviplus/default.nix
+++ b/pkgs/applications/editors/bviplus/default.nix
@@ -11,9 +11,11 @@ stdenv.mkDerivation rec {
     ncurses
   ];
   makeFlags = "PREFIX=$(out)";
+  buildFlags = [ "CFLAGS=-fgnu89-inline" ];
+
   meta = with lib; {
-    description = "ncurses based hex editor with a vim-like interface";
-    homepage = "http://bviplus.sourceforge.net";
+    description = "Ncurses based hex editor with a vim-like interface";
+    homepage = http://bviplus.sourceforge.net;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ cstrahan ];
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 105863417845..1f250280b100 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -171,12 +171,12 @@ rec {
 
   checkstyle = buildEclipseUpdateSite rec {
     name = "checkstyle-${version}";
-    version = "6.16.0.201603042325";
+    version = "6.19.0.201606092149";
 
     src = fetchzip {
       stripRoot = false;
-      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/6.16.0/net.sf.eclipsecs-updatesite_${version}.zip";
-      sha256 = "0bm1linyw82bryblyabcx89zqw1ingh8mx62bwp3qj05yc9ksnly";
+      url = "mirror://sourceforge/project/eclipse-cs/Eclipse%20Checkstyle%20Plug-in/6.19.0/net.sf.eclipsecs-updatesite_${version}.zip";
+      sha256 = "0d066fihvdkisic0lsdvh947yd2v20xc8h4aknfcyg2mq3xzi0x7";
     };
 
     meta = with stdenv.lib; {
@@ -341,12 +341,12 @@ rec {
 
   jdt = buildEclipseUpdateSite rec {
     name = "jdt-${version}";
-    version = "4.5.1";
+    version = "4.5.2";
 
     src = fetchzip {
       stripRoot = false;
-      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.1-201509040015/org.eclipse.jdt-4.5.1.zip";
-      sha256 = "0nxi552vvpjalnsqhc0zi6fgaj9p22amxsiczpv7za4kr7m47x73";
+      url = "https://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/eclipse/downloads/drops4/R-4.5.2-201602121500/org.eclipse.jdt-4.5.2.zip";
+      sha256 = "0v4cfq4z62k60l8l014wqgbjnd6a93dwcp6qvr5y7q1v9jr2na5g";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 4accf1cad677..69f03f392710 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "texstudio";
-  version = "2.9.4";
+  version = "2.11.0";
   name = "${pname}-${version}";
   altname="Texstudio";
 
   src = fetchurl {
     url = "mirror://sourceforge/texstudio/${name}.tar.gz";
-    sha256 = "1smmc4xqs8x8qzp6iqj2wr4xarfnxxxp6rq6chx1kb256w75jwfw";
+    sha256 = "170e6d68952251e8c64589b0d147cb7692005e135cc6fc14579c6fd593f54307";
   };
 
   buildInputs = [ qt4 qmake4Hook poppler_qt4 zlib pkgconfig ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "TeX and LaTeX editor";
     longDescription=''
-	Fork of TeXMaker, this editor is a full fledged IDE for 
+	Fork of TeXMaker, this editor is a full fledged IDE for
 	LaTeX editing with completion, structure viewer, preview,
 	spell checking and support of any compilation chain.
 	'';
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index b372dda1bf8e..3ec61a16915f 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem }:
 
 let
-  version = "1.0.0";
-  rev = "fa6d0f03813dfb9df4589c30121e9fcffa8a8ec8";
+  version = "1.2.1";
+  rev = "fe7f407b95b7f78405846188259504b34ef72761";
 
-  sha256 = if stdenv.system == "i686-linux"    then "1nnsvr51k8cmq8rccksylam4ww40pdn9dnhnp9096z5ccrf4qa1b"
-      else if stdenv.system == "x86_64-linux"  then "0p408pp2il6kawfsql8n5dvl75kmf2n2p0r266mjnww6vprmq4gw"
-      else if stdenv.system == "x86_64-darwin" then "06k41ljfvgyxbl364jlkdjk8lkwr6bpq2r051vin93cnqfxridkq"
+  sha256 = if stdenv.system == "i686-linux"    then "10jm92i88ds6q5rybm19z0z3g35gqhp6jqr2ldxcryijl17gj1n5"
+      else if stdenv.system == "x86_64-linux"  then "0jg40gbz3s9vxqpnkg267ck8kbwvgiqhw8hsn26r42wyxmj8773v"
+      else if stdenv.system == "x86_64-darwin" then "1b241wfzp8m0nvycjprwv39l4pax9lyqzngj4ghkkdnb8ai2hd2z"
       else throw "Unsupported system: ${stdenv.system}";
 
   urlMod = if stdenv.system == "i686-linux" then "linux-ia32"
diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix
index 9a1bedd89272..1d964ab66b00 100644
--- a/pkgs/applications/misc/albert/default.nix
+++ b/pkgs/applications/misc/albert/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name    = "albert-${version}";
-  version = "0.8.8";
+  version = "0.8.10";
 
   src = fetchFromGitHub {
     owner  = "manuelschneid3r";
     repo   = "albert";
     rev    = "v${version}";
-    sha256 = "1mqxy5xbvgzykg2vvr2d1p9kr2viga1pqxslkg9y1x05kdhr2zal";
+    sha256 = "1x8fpc6rnjifh405p385avdaww4v8ld6qwczqwmkzgbcn15gman7";
   };
 
   nativeBuildInputs = [ cmake makeQtWrapper ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
new file mode 100644
index 000000000000..58575af462a2
--- /dev/null
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, qmakeHook }:
+
+stdenv.mkDerivation rec {
+  name = "gpxsee-${version}";
+  version = "2.16";
+
+  src = fetchFromGitHub {
+    owner = "tumic0";
+    repo = "GPXSee";
+    rev = version;
+    sha256 = "0xqmjh071my9klxlk5afx8r673zlknq84n7ain6mz9i8n9m1gviv";
+  };
+
+  nativeBuildInputs = [ qmakeHook ];
+  
+  patchPhase = ''
+    sed -i '/lang\/gpxsee_cs.qm/d' gpxsee.qrc
+  '';
+
+  preFixup = ''
+    mkdir -p $out/bin
+    cp GPXSee $out/bin
+  '';
+  
+  meta = with stdenv.lib; {
+    homepage = http://tumic.wz.cz/gpxsee;
+    description = "GPX viewer and analyzer";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.womfoo ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/applications/misc/mdp/default.nix b/pkgs/applications/misc/mdp/default.nix
index ad3fbad8622b..06eb883300c7 100644
--- a/pkgs/applications/misc/mdp/default.nix
+++ b/pkgs/applications/misc/mdp/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, ncurses }:
+{ stdenv, fetchFromGitHub, ncurses }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.6";
+  version = "1.0.7";
   name = "mdp-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/visit1985/mdp/archive/${version}.tar.gz";
-    sha256 = "1m6qbqr9kfj27qf27gkgqr1jpf7z0xym71w61pnjwsmcryp0db19";
+  src = fetchFromGitHub {
+    owner = "visit1985";
+    repo = "mdp";
+    rev = version;
+    sha256 = "10jkv8g04vvhik42y0qqcbn05hlnfsgbljhx69hx1sfn7js2d8g4";
   };
 
-  makeFlags = "PREFIX=$(out)";
+  makeFlags = [ "PREFIX=$(out)" ];
 
   buildInputs = [ ncurses ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/visit1985/mdp;
     description = "A command-line based markdown presentation tool";
-    maintainers = with maintainers; [ matthiasbeyer ];
+    maintainers = with maintainers; [ matthiasbeyer vrthra ];
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/applications/misc/merkaartor/default.nix b/pkgs/applications/misc/merkaartor/default.nix
index 5954316e50fe..3882f679cae4 100644
--- a/pkgs/applications/misc/merkaartor/default.nix
+++ b/pkgs/applications/misc/merkaartor/default.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, qt4, qmake4Hook, boost, proj, gdal_1_11 }:
+{ stdenv, fetchFromGitHub, qt4, qmake4Hook, boost, proj, gdal, sqlite, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "merkaartor-0.18.1";
-  src = fetchurl {
-    url = "http://merkaartor.be/attachments/download/301/merkaartor-0.18.1.tar.bz2";
-    sha256 = "17qk45pmlxqigla1915dvn9pp91y85d2bkcaap4g3m8mk1crcsix";
+  name = "merkaartor-${version}";
+  version = "0.18.2";
+
+  src = fetchFromGitHub {
+    owner = "openstreetmap";
+    repo = "merkaartor";
+    rev = version;
+    sha256 = "1a8kzrc9w0b2a2zgw9dbbi15jy9ynv6nf2sg3k4dbh7f1s2ajx9l";
   };
 
-  buildInputs = [ qt4 boost proj gdal_1_11 ];
+  buildInputs = [ qt4 boost proj gdal sqlite ];
 
-  nativeBuildInputs = [ qmake4Hook ];
+  nativeBuildInputs = [ qmake4Hook pkgconfig ];
 
   meta = {
     description = "An openstreetmap editor";
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 16323bd22571..a56b49752e3a 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -5,13 +5,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "synergy-${version}";
-  version = "1.7.5";
+  version = "1.7.6";
 
   src = fetchFromGitHub {
     owner = "symless";
     repo = "synergy";
     rev = "v${version}-stable";
-    sha256 = "02zv8m7yagx80wi7m0ckglfqjqyrj6rd1gywxzqzl6841scmf87n";
+    sha256 = "1bjksvdr74mc3xh11z4fd6qlhgklny51q5r6gqg1bhnvn9dzyrxw";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/timewarrior/default.nix b/pkgs/applications/misc/timewarrior/default.nix
index 0946f6d49751..f49e6321caed 100644
--- a/pkgs/applications/misc/timewarrior/default.nix
+++ b/pkgs/applications/misc/timewarrior/default.nix
@@ -1,19 +1,24 @@
-{ stdenv, fetchgit, cmake, libuuid, gnutls }:
+{ stdenv, fetchurl, cmake, libuuid, gnutls }:
 
 stdenv.mkDerivation rec {
   name = "timewarrior-${version}";
-  version = "2016-03-29";
+  version = "0.9.5.alpha";
 
   enableParallelBuilding = true;
 
-  src = fetchgit {
-    url = "https://git.tasktools.org/scm/tm/timew.git";
-    rev = "2175849a81ddd03707dca7b4c9d69d8fa11e35f7";
-    sha256 = "0clhbm6093wnvpq0ypvx95095amvlzab0sz9kiflasw9mgnwisrv";
+  src = fetchurl {
+    url = "https://taskwarrior.org/download/timew-${version}.tar.gz";
+    sha256 = "154d5sgxcmz1b7g401c7s6sf7pkk0hh74dx6rss3vkamsjc4wgl8";
   };
 
   nativeBuildInputs = [ cmake ];
 
+  installPhase = ''
+    mkdir -p $out/{bin,share}
+    cp -rv doc/man $out/share/
+    cp src/timew $out/bin/
+  '';
+
   meta = with stdenv.lib; {
     description = "A command-line time tracker";
     homepage = http://tasktools.org/projects/timewarrior.html;
diff --git a/pkgs/applications/networking/cluster/habitat/default.nix b/pkgs/applications/networking/cluster/habitat/default.nix
new file mode 100644
index 000000000000..d806329e4eec
--- /dev/null
+++ b/pkgs/applications/networking/cluster/habitat/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, lib, fetchFromGitHub, rustPlatform, pkgconfig
+, libsodium, libarchive, openssl }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "habitat-${version}";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "habitat-sh";
+    repo = "habitat";
+    rev = version;
+    sha256 = "0pacxcc86w4zdakyd6qbz2rqx30rkv1j5aca1fqa1hf1jqg44vg0";
+  };
+
+  sourceRoot = "habitat-${version}-src/components/hab";
+
+  depsSha256 = "0bm9f6w7ircji4d1c1fgysna93w0lf8ws7gfkqq80zx92x3lz5z5";
+
+  buildInputs = [ libsodium libarchive openssl ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with lib; {
+    description = "An application automation framework";
+    homepage = https://www.habitat.sh;
+    license = licenses.asl20;
+    maintainers = [ maintainers.rushmorem ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/applications/networking/davmail/default.nix b/pkgs/applications/networking/davmail/default.nix
index 5fc770624c21..d4dd13b880db 100644
--- a/pkgs/applications/networking/davmail/default.nix
+++ b/pkgs/applications/networking/davmail/default.nix
@@ -1,10 +1,10 @@
 { fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "davmail-4.7.1";
+  name = "davmail-4.7.2";
   src = fetchurl {
     url = "mirror://sourceforge/davmail/4.7.1/davmail-linux-x86_64-4.7.1-2416.tgz";
-    sha256 = "c3bf1a3a94f35586a3a8d2d28cdaf8c9514a8cf904a51fd74961e93909c9d2a4";
+    sha256 = "196jr44kksb197biz984z664llf9z3d8rlnjm2iqcmgkjhx1mgy3";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 9f398fbf9549..70eedeb42d38 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -9,18 +9,40 @@
 }:
 
 let
+  /* Find the index of the first element in the list matching the specified
+     predicate or returns null if no such element exists.
+
+     Example:
+       findFirstIndex (x: x > 3) [ 1 6 4 ]
+       => 1
+  */
+  findFirstIndex = pred: list:
+    # Poor man's Either via a list.
+    let searchFun = old: curr:
+          if lib.isList old then old
+            else if pred curr then [old]
+            else old + 1;
+        res = lib.foldl searchFun 0 list;
+    in if lib.isList res then lib.elemAt res 0 else null;
+
+  extractVersion = ver:
+    let suffix = findFirstIndex (x: x == "-") (lib.stringToCharacters ver);
+    in if suffix == null then ver else lib.substring 0 suffix ver;
+
   system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
   packagedQt = "5.6.0";
+  systemQt = extractVersion qtbase.version;
+
 in stdenv.mkDerivation rec {
   name = "telegram-desktop-${version}";
-  version = "0.9.49";
+  version = "0.9.56";
   qtVersion = lib.replaceStrings ["."] ["_"] packagedQt;
 
   src = fetchFromGitHub {
     owner = "telegramdesktop";
     repo = "tdesktop";
     rev = "v${version}";
-    sha256 = "1smz0d07xcpv7kv5v739b5a8wrgv5fx0wy15d3zzm3s69418a6nc";
+    sha256 = "000ngg6arfb6mif0hvin099f83q3sn7mw4vfvrikskczblw3a5lc";
   };
 
   tgaur = fetchgit {
@@ -60,6 +82,7 @@ in stdenv.mkDerivation rec {
     "INCLUDEPATH+=${dee}/include/dee-1.0"
     "INCLUDEPATH+=${libdbusmenu-glib}/include/libdbusmenu-glib-0.4"
     "INCLUDEPATH+=${breakpad}/include/breakpad"
+    "QT_TDESKTOP_VERSION=${systemQt}"
     "LIBS+=-lcrypto"
     "LIBS+=-lssl"
   ];
@@ -74,14 +97,14 @@ in stdenv.mkDerivation rec {
     patchPhase
     sed -i 'Telegram/Telegram.pro' \
       -e 's,CUSTOM_API_ID,,g' \
-      -e "s,/usr/local/tdesktop/Qt-[^/]*,$PWD/../qt,g" \
       -e 's,/usr,/does-not-exist,g' \
       -e '/LIBS += .*libxkbcommon.a/d' \
       -e 's,LIBS += .*libz.a,LIBS += -lz,' \
       -e 's,LIBS += .*libbreakpad_client.a,LIBS += ${breakpad}/lib/libbreakpad_client.a,' \
       -e 's, -flto,,g' \
-      -e 's, -static-libstdc++,,g' \
-      -e 's,${packagedQt},${qtbase.version},g'
+      -e 's, -static-libstdc++,,g'
+
+    export qmakeFlags="$qmakeFlags QT_TDESKTOP_PATH=$PWD/../qt"
 
     export QMAKE=$PWD/../qt/bin/qmake
     ( mkdir -p ../Libraries
@@ -90,7 +113,8 @@ in stdenv.mkDerivation rec {
         tar -xaf $i
       done
       cd qtbase-*
-      patch -p1 < ../../$sourceRoot/Telegram/Patches/qtbase_${qtVersion}.diff
+      # This patch is outdated but the fixes doesn't feel very important
+      patch -p1 < ../../$sourceRoot/Telegram/Patches/qtbase_${qtVersion}.diff || true
       for i in $qtPatches; do
         patch -p1 < $i
       done
@@ -121,17 +145,17 @@ in stdenv.mkDerivation rec {
 
     ( mkdir -p Linux/obj/codegen_style/Debug
       cd Linux/obj/codegen_style/Debug
-      $QMAKE CONFIG+=debug ../../../../Telegram/build/qmake/codegen_style/codegen_style.pro
+      $QMAKE $qmakeFlags ../../../../Telegram/build/qmake/codegen_style/codegen_style.pro
       buildPhase
     )
     ( mkdir -p Linux/obj/codegen_numbers/Debug
       cd Linux/obj/codegen_numbers/Debug
-      $QMAKE CONFIG+=debug ../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro
+      $QMAKE $qmakeFlags ../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro
       buildPhase
     )
     ( mkdir -p Linux/DebugIntermediateLang
       cd Linux/DebugIntermediateLang
-      $QMAKE CONFIG+=debug ../../Telegram/MetaLang.pro
+      $QMAKE $qmakeFlags ../../Telegram/MetaLang.pro
       buildPhase
     )
 
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 78f2c79923a4..f3c94e8577f8 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -10,11 +10,11 @@ assert guiSupport -> (dbus_libs != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "qbittorrent-${version}";
-  version = "3.3.4";
+  version = "3.3.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "1f4impsjck8anl39pwypsck7j6xw0dl18qd0b4xi23r45jvx9l60";
+    sha256 = "1nh4lr4kbgh6rrsjax2a4lg82vn1ld0rnqjpp7sb6vpz8ikavk9q";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 40b3cb6fcce5..87d74aeafd87 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchgit, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.7";
+  version = "0.13.9";
   name = "syncthing-${version}";
 
   src = fetchgit {
     url = https://github.com/syncthing/syncthing;
     rev = "refs/tags/v${version}";
-    sha256 = "0n1yqaaag4l30i6zqb74z6f800xjvj9zvprb12nl9xlm5swrwrkz";
+    sha256 = "1ah3a86rjfqlx4mqyvn8j3r806i65mzhs5xnfg4aakzmwpr5zpx0";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/office/gnucash/2.6.nix b/pkgs/applications/office/gnucash/2.6.nix
index 03af54f0ce14..4a997d08d832 100644
--- a/pkgs/applications/office/gnucash/2.6.nix
+++ b/pkgs/applications/office/gnucash/2.6.nix
@@ -13,11 +13,11 @@ Two cave-ats right now:
 */
 
 stdenv.mkDerivation rec {
-  name = "gnucash-2.6.9";
+  name = "gnucash-2.6.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${name}.tar.bz2";
-    sha256 = "0iw25l1kv60cg6fd2vg11mcvzmjqnc5p9lp3rjy06ghkjfrn3and";
+    sha256 = "0x84f07p30pwhriamv8ifljgw755cj87rc12jy1xddf47spyj7rp";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/office/zanshin/default.nix b/pkgs/applications/office/zanshin/default.nix
index 7ae758d7e4f7..a16ab1baef4e 100644
--- a/pkgs/applications/office/zanshin/default.nix
+++ b/pkgs/applications/office/zanshin/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
-, kdelibs, kdepimlibs, boost }:
+, kdelibs, kdepimlibs, boost, baloo }:
 
 stdenv.mkDerivation rec {
-  name = "zanshin-0.2.1";
+  name = "zanshin-0.3.1";
 
   src = fetchurl {
     url = "http://files.kde.org/zanshin/${name}.tar.bz2";
-    sha256 = "155k72vk7kw0p0x9dhlky6q017kanzcbwvp4dpf1hcbr1dsr55fx";
+    sha256 = "1ck2ncz8i816d6d1gcsdrh6agd2zri24swgz3bhn8vzbk4215yzl";
   };
 
   nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
 
-  buildInputs = [ kdelibs kdepimlibs boost ];
+  buildInputs = [ kdelibs kdepimlibs boost baloo ];
 
   meta = {
     description = "GTD for KDE";
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
new file mode 100644
index 000000000000..d4e4ed5b954f
--- /dev/null
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, zlib, htslib }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "bcftools";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://github.com/samtools/${pname}/releases/download/${version}/${name}.tar.bz2";
+    sha256 = "095ry68vmz9q5s1scjsa698dhgyvgw5aicz24c19iwfbai07mhqj";
+  };
+
+  buildInputs = [ zlib ];
+
+  preBuild = ''
+    makeFlagsArray=("HSTDIR=${htslib}" "prefix=$out")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Tools for manipulating BCF2/VCF/gVCF format, SNP and short indel sequence variants";
+    license = licenses.mit;
+    homepage = http://www.htslib.org/;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mimadrid ];
+  };
+}
diff --git a/pkgs/applications/science/biology/igv/default.nix b/pkgs/applications/science/biology/igv/default.nix
new file mode 100644
index 000000000000..3d0f7154e0e0
--- /dev/null
+++ b/pkgs/applications/science/biology/igv/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, unzip, jre }:
+
+stdenv.mkDerivation rec {
+  name = "igv-${version}";
+  version = "2.3.77";
+
+  src = fetchurl {
+    url = "http://data.broadinstitute.org/igv/projects/downloads/IGV_${version}.zip";
+    sha256 = "9d8c622649f9f02026e92fa44006bb57e897baad4359c8708ca9cdbb71f94bb5";
+  };
+
+  buildInputs = [ unzip jre ];
+
+  installPhase = ''
+    mkdir -pv $out/{share,bin}
+    cp -Rv * $out/share/
+
+    sed -i "s#prefix=.*#prefix=$out/share#g" $out/share/igv.sh
+    sed -i 's#java#${jre}/bin/java#g' $out/share/igv.sh
+
+    ln -s $out/share/igv.sh $out/bin/igv
+
+    chmod +x $out/bin/igv
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://www.broadinstitute.org/igv/";
+    description = "A visualization tool for interactive exploration of genomic datasets";
+    license = licenses.lgpl21;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mimadrid ];
+  };
+}
diff --git a/pkgs/applications/science/biology/samtools/default.nix b/pkgs/applications/science/biology/samtools/default.nix
index 9535609fa783..e97af1ea0ee6 100644
--- a/pkgs/applications/science/biology/samtools/default.nix
+++ b/pkgs/applications/science/biology/samtools/default.nix
@@ -1,19 +1,25 @@
-{ stdenv, fetchurl, zlib, ncurses }:
+{ stdenv, fetchurl, zlib, htslib,  ncurses ? null }:
 
 stdenv.mkDerivation rec {
-  name = "samtools-${version}";
+  name = "${pname}-${version}";
+  pname = "samtools";
   version = "1.3.1";
 
   src = fetchurl {
-    url = "https://github.com/samtools/samtools/releases/download/${version}/${name}.tar.bz2";
+    url = "https://github.com/samtools/${pname}/releases/download/${version}/${name}.tar.bz2";
     sha256 = "0znnnxc467jbf1as2dpskrjhfh8mbll760j6w6rdkwlwbqsp8gbc";
   };
 
-  buildInputs = [ zlib ncurses ];
+  buildInputs = [ zlib ncurses htslib ];
+
+  configureFlags = [ "--with-htslib=${htslib}" ]
+    ++ stdenv.lib.optional (ncurses == null) "--without-curses";
 
   meta = with stdenv.lib; {
-    description = "Tools (written in C using htslib) for manipulating next-generation sequencing data";
+    description = "Tools for manipulating SAM/BAM/CRAM format";
     license = licenses.mit;
     homepage = http://www.htslib.org/;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mimadrid ];
   };
 }
diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix
new file mode 100644
index 000000000000..47077c2e255b
--- /dev/null
+++ b/pkgs/applications/science/logic/cryptoverif/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, ocaml }:
+
+stdenv.mkDerivation rec {
+  name = "cryptoverif-${version}";
+  version = "1.22";
+
+  src = fetchurl {
+    url    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz";
+    sha256 = "17fbmv0askgfnhs5a0ilhizvrr93jkmq82ybm3cgyxhh2zrk0rq1";
+  };
+
+  buildInputs = [ ocaml ];
+
+  /* Fix up the frontend to load the 'default' cryptoverif library
+  ** from under $out/libexec. By default, it expects to find the files
+  ** in $CWD which doesn't work. */
+  patchPhase = ''
+    substituteInPlace ./src/settings.ml \
+      --replace \"default\" \"$out/libexec/default\"
+  '';
+
+  buildPhase = "./build";
+  installPhase = ''
+    mkdir -p $out/bin $out/libexec
+    cp ./cryptoverif   $out/bin
+    cp ./default.cvl   $out/libexec
+    cp ./default.ocvl  $out/libexec
+  '';
+
+  meta = {
+    description = "Cryptographic protocol verifier in the computational model";
+    homepage    = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/";
+    license     = stdenv.lib.licenses.cecill-b;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/proverif/default.nix b/pkgs/applications/science/logic/proverif/default.nix
new file mode 100644
index 000000000000..4f5e91550787
--- /dev/null
+++ b/pkgs/applications/science/logic/proverif/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, ocaml }:
+
+stdenv.mkDerivation rec {
+  name = "proverif-${version}";
+  version = "1.94";
+
+  src = fetchurl {
+    url    = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz";
+    sha256 = "0dv2hgk76y0ap7dwf80qd94dmxjw47c50iavxgq5702k1d6qap56";
+  };
+
+  buildInputs = [ ocaml ];
+
+  buildPhase = "./build";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./proverif      $out/bin
+    cp ./proveriftotex $out/bin
+  '';
+
+  meta = {
+    description = "Cryptographic protocol verifier in the Dolev-Yao model";
+    homepage    = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/logic/statverif/default.nix b/pkgs/applications/science/logic/statverif/default.nix
new file mode 100644
index 000000000000..9e51849a93b9
--- /dev/null
+++ b/pkgs/applications/science/logic/statverif/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, ocaml }:
+
+stdenv.mkDerivation rec {
+  name = "statverif-${version}";
+  version = "1.86pl4";
+
+  src = fetchurl {
+    url    = "http://prosecco.gforge.inria.fr/personal/bblanche/proverif/proverif${version}.tar.gz";
+    sha256 = "163vdcixs764jj8xa08w80qm4kcijf7xj911yp8jvz6pi1q5g13i";
+  };
+
+  pf-patch = fetchurl {
+    url    = "http://markryan.eu/research/statverif/files/proverif-${version}-statverif-2657ab4.patch";
+    sha256 = "113jjhi1qkcggbsmbw8fa9ln8vs7vy2r288szks7rn0jjn0wxmbw";
+  };
+
+  buildInputs = [ ocaml ];
+
+  patchPhase = "patch -p1 < ${pf-patch}";
+  buildPhase = "./build";
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./proverif      $out/bin/statverif
+    cp ./proveriftotex $out/bin/statveriftotex
+  '';
+
+  meta = {
+    description = "Verification of stateful processes (via Proverif)";
+    homepage    = "http://markryan.eu/research/statverif/";
+    license     = stdenv.lib.licenses.gpl2;
+    platforms   = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+  };
+}
diff --git a/pkgs/applications/science/misc/gephi/default.nix b/pkgs/applications/science/misc/gephi/default.nix
new file mode 100644
index 000000000000..6736ce758973
--- /dev/null
+++ b/pkgs/applications/science/misc/gephi/default.nix
@@ -0,0 +1,37 @@
+{stdenv, fetchurl, jdk}:
+
+with stdenv.lib;
+
+let version = "0.9.1"; in
+stdenv.mkDerivation {
+  name = "gephi-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/gephi/gephi/releases/download/v${version}/gephi-${version}-linux.tar.gz";
+    sha256 = "f1d54157302df05a53b94e1518880c949c43ba4ab21e52d57f3edcbdaa06c7ee";
+  };
+
+  meta = {
+    inherit version;
+    description = "A platform for visualizing and manipulating large graphs";
+    homepage = https://gephi.org;
+    license = licenses.gpl3;
+    maintainers = [maintainers.taeer];
+    platforms = platforms.linux;
+  };
+
+  buildInputs = [jdk];
+
+  configurePhase = "
+    echo \"jdkhome=${jdk}\" >> etc/gephi.conf
+  ";
+
+  dontBuild = true;
+
+  installPhase = "
+    mkdir $out
+    for a in ./*; do
+      mv $a $out
+    done
+  ";
+}
diff --git a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
index aa62fbc4d168..ba53994d44ce 100644
--- a/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-extras/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "git-extras-${version}";
-  version = "3.0.0";
+  version = "4.1.0";
 
   src = fetchurl {
     url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
-    sha256 = "01x8n9i5sgl1s53sgglg9sd9lyp35dhvdhwlx03yimi4i11441s9";
+    sha256 = "d4c028e2fe78abde8f3e640b70f431318fb28d82894dde22772efe8ba3563f85";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description = "GIT utilities -- repo summary, repl, changelog population, author commit percentages and more";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = [ maintainers.spwhitt ];
+    maintainers = [ maintainers.spwhitt maintainers.cko ];
   };
 }
diff --git a/pkgs/applications/version-management/meld/default.nix b/pkgs/applications/version-management/meld/default.nix
index 2cc4bfe28fc4..3da377414d41 100644
--- a/pkgs/applications/version-management/meld/default.nix
+++ b/pkgs/applications/version-management/meld/default.nix
@@ -5,7 +5,7 @@
 
 let
   minor = "3.16";
-  version = "${minor}.0";
+  version = "${minor}.1";
 in
 
 buildPythonApplication rec {
@@ -14,7 +14,7 @@ buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/meld/${minor}/meld-${version}.tar.xz";
-    sha256 = "02kcnlavlxlk8df456zppmin9xzdvgkw151nskb6f0bwmi9zs6rl";
+    sha256 = "1bec697aa1ababa315ca8241ade65dc68ea87f0d316632f590975afcf967cfab";
   };
 
   buildInputs = [
@@ -55,5 +55,6 @@ buildPythonApplication rec {
     homepage = http://meldmerge.org/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.linux ++ stdenv.lib.platforms.darwin;
+    maintainers = [ maintainers.mimadrid ];
   };
 }
diff --git a/pkgs/applications/version-management/src/default.nix b/pkgs/applications/version-management/src/default.nix
index f6fdff162047..cfecd96107bf 100644
--- a/pkgs/applications/version-management/src/default.nix
+++ b/pkgs/applications/version-management/src/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchurl, python, rcs, git }:
+{ stdenv, fetchurl, python, rcs, git, pylint }:
 
 stdenv.mkDerivation rec {
-  name = "src-0.19";
+  name = "src-1.11";
 
   src = fetchurl {
     url = "http://www.catb.org/~esr/src/${name}.tar.gz";
-    sha256 = "0p56g09ndbmnxxjz2rn7fq3yjx572ywj0xdim9rz5cqnx0pmr71x";
+    sha256 = "07kj0ri0s0vn8s54yvkyzaag332spxs0379r718b80y31c4mgbyl";
   };
 
   buildInputs = [ python rcs git ];
 
-  preConfigure = "patchShebangs .";
+  preConfigure = ''
+    patchShebangs .
+  '';
 
   makeFlags = [ "prefix=$(out)" ];
 
-  doCheck = true;
-
   meta = {
     description = "Simple single-file revision control";
     homepage = http://www.catb.org/~esr/src/;
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index 15c38da28c9d..26128f44fa24 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "clipgrab-${version}";
-  version = "3.6.0";
+  version = "3.6.1";
 
   src = fetchurl {
-    sha256 = "1hvf4s6f2qc5z10p2q8mdyagx8dnwpsbrgg0is56hm1k80r58yj8";
+    sha256 = "1pmsnb9yfyadp8kzxldw09wmv2r0wmg9yza9ariqc27jz1j3kpsc";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${name}.tar.gz";
   };
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 961a78eebe52..cfa58c717682 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     patchShebangs .
     export AUTO_GOPATH=1
-    export DOCKER_GITCOMMIT="a34a1d59"
+    export DOCKER_GITCOMMIT="20f81dde"
     ./hack/make.sh dynbinary
   '';
 
@@ -54,6 +54,7 @@ stdenv.mkDerivation rec {
 
     # completion
     install -Dm644 ./contrib/completion/bash/docker $out/share/bash-completion/completions/docker
+    install -Dm644 ./contrib/completion/fish/docker.fish $out/share/fish/vendor_completions.d/docker.fish
     install -Dm644 ./contrib/completion/zsh/_docker $out/share/zsh/site-functions/_docker
   '';
 
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index e602688b8cef..2fee98ac4996 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -4,14 +4,14 @@
 let
   # Always get the information from 
   # https://github.com/coreos/rkt/blob/v${VERSION}/stage1/usr_from_coreos/coreos-common.mk
-  coreosImageRelease = "1032.0.0";
+  coreosImageRelease = "1068.0.0";
   coreosImageSystemdVersion = "229";
 
   # TODO: track https://github.com/coreos/rkt/issues/1758 to allow "host" flavor.
-  stage1Flavours = [ "coreos" "fly" "host" ];
+  stage1Flavours = [ "coreos" "fly" ];
 
 in stdenv.mkDerivation rec {
-  version = "1.8.0";
+  version = "1.9.1";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -19,12 +19,12 @@ in stdenv.mkDerivation rec {
       rev = "v${version}";
       owner = "coreos";
       repo = "rkt";
-      sha256 = "0n4xjvvvkqk83npiqz13cv82lmnsqpzzyjc03lyz6svw2pdszmhd";
+      sha256 = "094pqxcn91g1s3f0ly3z2lb11s4q3dn99h8cr7lqalkd0gj9l4xg";
   };
 
   stage1BaseImage = fetchurl {
     url = "http://alpha.release.core-os.net/amd64-usr/${coreosImageRelease}/coreos_production_pxe_image.cpio.gz";
-    sha256 = "1lmyhncvw5cby4nbpw6ryiki05wra90fsr6xnsdgi9yqqs6v2d1f";
+    sha256 = "06jawmjkhrrw9hsk98w5j6pxci17d46mvzbj52pslakacw60pbpp";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/virtualization/seabios/default.nix b/pkgs/applications/virtualization/seabios/default.nix
index 8e6a7fcb0d26..fc08f06b6b26 100644
--- a/pkgs/applications/virtualization/seabios/default.nix
+++ b/pkgs/applications/virtualization/seabios/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "seabios-${version}";
-  version = "1.7.5.2";
+  version = "1.9.2";
 
   src = fetchurl {
     url = "http://code.coreboot.org/p/seabios/downloads/get/${name}.tar.gz";
-    sha256 = "1syd3gi5gq0gj2pjvmdis64xc3j1xf0jgy49ngymap0pdpm0cmh0";
+    sha256 = "1rdvbqb374jimxbkk9yvk9rnzhkn0w0sbvi1l3gnz6ah1sdla7gh";
   };
 
   buildInputs = [ iasl python ];
diff --git a/pkgs/applications/virtualization/virt-manager/default.nix b/pkgs/applications/virtualization/virt-manager/default.nix
index 9e04cdf3825d..1a0f8f936253 100644
--- a/pkgs/applications/virtualization/virt-manager/default.nix
+++ b/pkgs/applications/virtualization/virt-manager/default.nix
@@ -9,12 +9,12 @@ with pythonPackages;
 
 buildPythonApplication rec {
   name = "virt-manager-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://virt-manager.org/download/sources/virt-manager/${name}.tar.gz";
-    sha256 = "0lqd9ix7k4jswqzxarnvxfbq6rvpcm8rrc1if86nw67ms1dh2i36";
+    sha256 = "1jnawqjmcqd2db78ngx05x7cxxn3iy1sb4qfgbwcn045qh6a8cdz";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/build-support/build-fhs-userenv/chroot-user.rb b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
index e3b268d57af6..11f672acb9ff 100755
--- a/pkgs/build-support/build-fhs-userenv/chroot-user.rb
+++ b/pkgs/build-support/build-fhs-userenv/chroot-user.rb
@@ -20,6 +20,7 @@ envvars = [ 'TERM',
             'XDG_RUNTIME_DIR',
             'LANG',
             'SSL_CERT_FILE',
+            'DBUS_SESSION_BUS_ADDRESS',
           ]
 
 require 'tmpdir'
diff --git a/pkgs/build-support/build-fhs-userenv/default.nix b/pkgs/build-support/build-fhs-userenv/default.nix
index 233db39788b0..d91cdffcf392 100644
--- a/pkgs/build-support/build-fhs-userenv/default.nix
+++ b/pkgs/build-support/build-fhs-userenv/default.nix
@@ -32,7 +32,7 @@ in runCommand name {
   passthru = passthru // {
     env = runCommand "${name}-shell-env" {
       shellHook = ''
-        export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS"
+        ${lib.optionalString (extraBindMounts != []) ''export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS"''}
         exec ${chroot-user} ${init "bash"} "$(pwd)"
       '';
     } ''
@@ -46,7 +46,7 @@ in runCommand name {
   mkdir -p $out/bin
   cat <<EOF >$out/bin/${name}
   #! ${stdenv.shell}
-  export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:\$CHROOTENV_EXTRA_BINDS"
+  ${lib.optionalString (extraBindMounts != []) ''export CHROOTENV_EXTRA_BINDS="${lib.concatStringsSep ":" extraBindMounts}:$CHROOTENV_EXTRA_BINDS"''}
   exec ${chroot-user} ${init runScript} "\$(pwd)" "\$@"
   EOF
   chmod +x $out/bin/${name}
diff --git a/pkgs/data/fonts/font-awesome-ttf/default.nix b/pkgs/data/fonts/font-awesome-ttf/default.nix
index 284416ad6294..9cbf7059d927 100644
--- a/pkgs/data/fonts/font-awesome-ttf/default.nix
+++ b/pkgs/data/fonts/font-awesome-ttf/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, unzip}:
 
 stdenv.mkDerivation rec {
-  name = "font-awesome-4.5.0";
+  name = "font-awesome-4.6.3";
 
   src = fetchurl {
     url = "http://fortawesome.github.io/Font-Awesome/assets/${name}.zip";
-    sha256 = "1lvxs4isrk80cczq6nrxksvqxs04k13i23i6c2l5vmfs2ndjsdm2";
+    sha256 = "06d6p3rydy86hg82igra4vqglyx7bii19jj5kdyhva0d2gqv7zfn";
   };
 
   buildCommand = ''
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index 4b0ad244a774..19079d7793d0 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -3,10 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.17.1";
+  version = "1.17.2";
+
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "0d58bhvwg7c5hp07wywlwnqi01k4jhmpgac7gkx9lil1x6kmahqs";
+    sha256 = "1dpq5flygrjg931nzsr2ra8icqffzrzbs1lnrzarbpsbmgq3zacs";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/gnome-3/3.18/core/gnome-keyring/default.nix b/pkgs/desktops/gnome-3/3.18/core/gnome-keyring/default.nix
index 8e755383dd62..e3dc558a49a8 100644
--- a/pkgs/desktops/gnome-3/3.18/core/gnome-keyring/default.nix
+++ b/pkgs/desktops/gnome-3/3.18/core/gnome-keyring/default.nix
@@ -15,7 +15,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig intltool docbook_xsl_ns docbook_xsl ];
 
   configureFlags = [
-    "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt" # NixOS hardcoded path
     "--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
     "--with-pkcs11-modules=$$out/lib/pkcs11/"
   ];
diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch b/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch
deleted file mode 100644
index 340155256f28..000000000000
--- a/pkgs/desktops/kde-5/frameworks-5.22/kauth/kauth-policy-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/KF5AuthConfig.cmake.in b/KF5AuthConfig.cmake.in
-index e859ec7..9a8ab18 100644
---- a/KF5AuthConfig.cmake.in
-+++ b/KF5AuthConfig.cmake.in
-@@ -4,7 +4,7 @@ set(KAUTH_STUB_FILES_DIR "${PACKAGE_PREFIX_DIR}/@KF5_DATA_INSTALL_DIR@/kauth/")
- 
- set(KAUTH_BACKEND_NAME "@KAUTH_BACKEND_NAME@")
- set(KAUTH_HELPER_BACKEND_NAME "@KAUTH_HELPER_BACKEND_NAME@")
--set(KAUTH_POLICY_FILES_INSTALL_DIR "@KAUTH_POLICY_FILES_INSTALL_DIR@")
-+set(KAUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
- set(KAUTH_HELPER_INSTALL_DIR "@KAUTH_HELPER_INSTALL_DIR@")
- 
- find_dependency(KF5CoreAddons "@KF5_DEP_VERSION@")
diff --git a/pkgs/development/compilers/aldor/default.nix b/pkgs/development/compilers/aldor/default.nix
index 352dde6d9e19..09ccf9510bbd 100644
--- a/pkgs/development/compilers/aldor/default.nix
+++ b/pkgs/development/compilers/aldor/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation {
   '';
 
   meta = {
+    # Please become a maintainer to fix this package
+    broken = true;
     homepage = "http://www.aldor.org/";
     description = "Programming language with an expressive type system";
     license = stdenv.lib.licenses.asl20;
diff --git a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
index 0962c9cf46d3..ca72ba0119f0 100644
--- a/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
+++ b/pkgs/development/compilers/chicken/0001-Introduce-CHICKEN_REPOSITORY_EXTRA.patch
@@ -1,6 +1,6 @@
-From 752dff853186dc334c519a86fa92f087795fea02 Mon Sep 17 00:00:00 2001
-From: Moritz Heidkamp <moritz.heidkamp@bevuta.com>
-Date: Wed, 1 Oct 2014 22:41:30 +0200
+From 2877f33747e3871c3a682b3a0c812b8ba2e4da5a Mon Sep 17 00:00:00 2001
+From: Caolan McMahon <caolan@caolanmcmahon.com>
+Date: Sat, 25 Jun 2016 11:52:28 +0100
 Subject: [PATCH] Introduce CHICKEN_REPOSITORY_EXTRA
 
 This environment variable works like CHICKEN_REPOSITORY but supports
@@ -8,47 +8,74 @@ multiple paths separated by `:'. Those paths are searched after
 CHICKEN_REPOSITORY when loading extensions via `require-library' and
 friends. It can be accessed and changed at runtime via the new procedure
 `repository-extra-paths' which is analog to `repository-path'.
+
+Original patch by Moritz Heidkamp.
+Updated by Caolan McMahon for CHICKEN 4.11.0
 ---
- chicken-install.scm | 11 +++++++----
+ chicken-install.scm | 29 ++++++++++++++++++++++++-----
  chicken.import.scm  |  1 +
  eval.scm            | 37 +++++++++++++++++++++++++++++++------
- 3 files changed, 39 insertions(+), 10 deletions(-)
+ 3 files changed, 56 insertions(+), 11 deletions(-)
 
 diff --git a/chicken-install.scm b/chicken-install.scm
-index 2ef6ef4..b5c6bf8 100644
+index 7bc6041..f557793 100644
 --- a/chicken-install.scm
 +++ b/chicken-install.scm
-@@ -109,10 +109,10 @@
-   (define *show-foreign-depends* #f)
-   (define *hacks* '())
+@@ -120,6 +120,19 @@
+ 		 (sprintf "lib/chicken/~a" (##sys#fudge 42)))
+ 		(repository-path)))))
  
--  (define (repo-path)
 +  (define (repo-paths)
-     (if (and *cross-chicken* (not *host-extension*))
--	(make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION))
--	(repository-path)))
-+	(list (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION)))
-+	(cons (repository-path) (repository-extra-paths))))
- 
++    (if *deploy*
++	*prefix*
++	(if (and *cross-chicken* (not *host-extension*))
++	    (list (make-pathname C_TARGET_LIB_HOME (sprintf "chicken/~a" C_BINARY_VERSION)))
++	    (cons
++	     (if *prefix*
++		 (make-pathname
++			*prefix*
++			(sprintf "lib/chicken/~a" (##sys#fudge 42)))
++		 (repository-path))
++	     (repository-extra-paths)))))
++
    (define (get-prefix #!optional runtime)
      (cond ((and *cross-chicken*
-@@ -757,7 +757,10 @@
+ 		(not *host-extension*))
+@@ -226,10 +239,13 @@
+            (chicken-version) )
+ 	  ;; Duplication of (extension-information) to get custom
+ 	  ;; prefix.  This should be fixed.
+-          ((let* ((ep (##sys#canonicalize-extension-path x 'ext-version))
+-		  (sf (make-pathname (repo-path) ep "setup-info")))
+-	     (and (file-exists? sf)
+-		  (with-input-from-file sf read))) =>
++      ((let ((ep (##sys#canonicalize-extension-path x 'ext-version)))
++         (let loop ((paths (repo-paths)))
++           (cond ((null? paths) #f)
++                 ((let ((sf (make-pathname (car paths) ep "setup-info")))
++                    (and (file-exists? sf)
++                         (with-input-from-file sf read))))
++                 (else (loop (cdr paths)))))) =>
+            (lambda (info)
+              (let ((a (assq 'version info)))
+                (if a
+@@ -776,7 +792,10 @@
  		  "installed extension has no information about which egg it belongs to"
  		  (pathname-file sf))
  		 #f))))
 -      (glob (make-pathname (repo-path) "*" "setup-info")))
 +      (append-map
 +       (lambda (path)
-+	 (glob (make-pathname path "*" "setup-info")))
++       (glob (make-pathname path "*" "setup-info")))
 +       (repo-paths)))
       equal?))
  
    (define (list-available-extensions trans locn)
 diff --git a/chicken.import.scm b/chicken.import.scm
-index baa7316..2839b16 100644
+index f6e3a19..be1637c 100644
 --- a/chicken.import.scm
 +++ b/chicken.import.scm
-@@ -201,6 +201,7 @@
+@@ -200,6 +200,7 @@
     repl
     repl-prompt
     repository-path
@@ -57,7 +84,7 @@ index baa7316..2839b16 100644
     reset
     reset-handler
 diff --git a/eval.scm b/eval.scm
-index bbcd86c..838588d 100644
+index 6242f62..f7d76d4 100644
 --- a/eval.scm
 +++ b/eval.scm
 @@ -81,6 +81,7 @@
@@ -68,9 +95,9 @@ index bbcd86c..838588d 100644
  (define-constant prefix-environment-variable "CHICKEN_PREFIX")
  
  ; these are actually in unit extras, but that is used by default
-@@ -1180,6 +1181,25 @@
+@@ -1176,6 +1177,25 @@
  
- (define repository-path ##sys#repository-path)
+ (define ##sys#repository-path repository-path)
  
 +(define ##sys#repository-extra-paths
 +  (let* ((repaths (get-environment-variable repository-extra-environment-variable))
@@ -94,7 +121,7 @@ index bbcd86c..838588d 100644
  (define ##sys#setup-mode #f)
  
  (define ##sys#find-extension
-@@ -1197,6 +1217,7 @@
+@@ -1193,6 +1213,7 @@
  	(let loop ((paths (##sys#append
  			   (if ##sys#setup-mode '(".") '())
  			   (if rp (list rp) '())
@@ -102,7 +129,7 @@ index bbcd86c..838588d 100644
  			   (if inc? ##sys#include-pathnames '())
  			   (if ##sys#setup-mode '() '("."))) ))
  	  (and (pair? paths)
-@@ -1256,12 +1277,16 @@
+@@ -1252,12 +1273,16 @@
  	[string-append string-append]
  	[read read] )
      (lambda (id loc)
@@ -126,5 +153,5 @@ index bbcd86c..838588d 100644
  (define (extension-information ext)
    (##sys#extension-information ext 'extension-information) )
 -- 
-2.1.0
+2.1.4
 
diff --git a/pkgs/development/compilers/chicken/default.nix b/pkgs/development/compilers/chicken/default.nix
index 82cf23e8be4e..24d583ed8862 100644
--- a/pkgs/development/compilers/chicken/default.nix
+++ b/pkgs/development/compilers/chicken/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, bootstrap-chicken ? null }:
 
 let
-  version = "4.10.0";
+  version = "4.11.0";
   platform = with stdenv;
     if isDarwin then "macosx"
     else if isCygwin then "cygwin"
@@ -13,15 +13,15 @@ in
 stdenv.mkDerivation {
   name = "chicken-${version}";
 
-  binaryVersion = 7;
+  binaryVersion = 8;
 
   src = fetchurl {
-    url = "http://code.call-cc.org/releases/4.10.0/chicken-${version}.tar.gz";
-    sha256 = "16w96jrhb6qf62fgznk53f55yhfv81damghdjn31k5hirnmza1qf";
+    url = "http://code.call-cc.org/releases/${version}/chicken-${version}.tar.gz";
+    sha256 = "12ddyiikqknpr8h6llsxbg2fz75xnayvcnsvr1cwv8xnjn7jpp73";
   };
 
   setupHook = lib.ifEnable (bootstrap-chicken != null) ./setup-hook.sh;
-  
+
   buildFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
   installFlags = "PLATFORM=${platform} PREFIX=$(out) VARDIR=$(out)/var/lib";
 
diff --git a/pkgs/development/compilers/chicken/setup-hook.sh b/pkgs/development/compilers/chicken/setup-hook.sh
index 8d6b990a7e05..d7f28539dc64 100644
--- a/pkgs/development/compilers/chicken/setup-hook.sh
+++ b/pkgs/development/compilers/chicken/setup-hook.sh
@@ -1,5 +1,5 @@
 addChickenRepositoryPath() {
-    addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/7/"
+    addToSearchPathWithCustomDelimiter : CHICKEN_REPOSITORY_EXTRA "$1/lib/chicken/8/"
     # addToSearchPathWithCustomDelimiter \; CHICKEN_INCLUDE_PATH "$1/share/"
     export CHICKEN_INCLUDE_PATH="$1/share;$CHICKEN_INCLUDE_PATH"
 }
diff --git a/pkgs/development/compilers/cmdstan/default.nix b/pkgs/development/compilers/cmdstan/default.nix
index 182808031e63..4bfe72c7acd1 100644
--- a/pkgs/development/compilers/cmdstan/default.nix
+++ b/pkgs/development/compilers/cmdstan/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
   name = "cmdstan-2.9.0";
@@ -10,9 +10,10 @@ stdenv.mkDerivation rec {
 
   buildFlags = "build";
   enableParallelBuilding = true;
+  nativeBuildInputs = stdenv.lib.optional doCheck python;
 
   doCheck = true;
-  checkPhase = "./runCmdStanTests.py src/test/interface";
+  checkPhase = "python ./runCmdStanTests.py src/test/interface";  # see #5368
 
   installPhase = ''
     mkdir -p $out/opt $out/bin
diff --git a/pkgs/development/compilers/terra/default.nix b/pkgs/development/compilers/terra/default.nix
index 7cb3dddd5eb1..5abcf42efd98 100644
--- a/pkgs/development/compilers/terra/default.nix
+++ b/pkgs/development/compilers/terra/default.nix
@@ -60,6 +60,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "A low-level counterpart to Lua";
+    platforms = platforms.unix;
     maintainers = with maintainers; [ jb55 ];
     license = licenses.mit;
   };
diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json
index c3bb2eb7ea3d..3dcd53a124be 100644
--- a/pkgs/development/go-modules/libs.json
+++ b/pkgs/development/go-modules/libs.json
@@ -1,5 +1,14 @@
 [
   {
+    "goPackagePath": "github.com/elves/getopt",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/elves/getopt",
+      "rev": "f91a7bf920995832d55a1182f26657bc975b9c24",
+      "sha256": "0wz5dz0iq1b1c2w30mmcgll9xidsrnlvs2906jw9szy0h67310za"
+    }
+  },
+  {
     "goPackagePath": "golang.org/x/sys",
     "fetch": {
       "type": "git",
@@ -1537,5 +1546,23 @@
       "rev": "772320464101e904cd51198160eb4d489be9cc49",
       "sha256": "1a8hnh2k3vc3prjhnz4rjbiwhqq6r3mi18h9cdb6fc6s6yzjc19j"
     }
+  },
+  {
+    "goPackagePath": "github.com/svent/go-flags",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/svent/go-flags",
+      "rev": "4bcbad344f0318adaf7aabc16929701459009aa3",
+      "sha256": "1gb416fgxl9gq4q6wsv3i2grq1mzbi7lvfvmfdqbxqbv9vizzh34"
+    }
+  },
+  {
+    "goPackagePath": "github.com/svent/go-nbreader",
+    "fetch": {
+      "type": "git",
+      "url": "https://github.com/svent/go-nbreader",
+      "rev": "7cef48da76dca6a496faa7fe63e39ed665cbd219",
+      "sha256": "0hw11jj5r3f6qwydg41nc3c6aadlbkhc1qpxra2609lis0qa9h4r"
+    }
   }
 ]
diff --git a/pkgs/development/interpreters/jimtcl/default.nix b/pkgs/development/interpreters/jimtcl/default.nix
index c9f1231aa6a1..a67dc323601f 100644
--- a/pkgs/development/interpreters/jimtcl/default.nix
+++ b/pkgs/development/interpreters/jimtcl/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchgit, sqlite }:
+{ stdenv, fetchFromGitHub, sqlite, readline, asciidoc, SDL, SDL_gfx }:
 
 stdenv.mkDerivation {
-  name = "jimtcl-0.75-git";
+  name = "jimtcl-0.76";
 
-  src = fetchgit {
-    url = https://github.com/msteveb/jimtcl.git;
-    rev = "c4d4bf8bc104733db1f5992a27d88fbfca9ba882";
-    sha256 = "1dm1qmb35hlp0d4i15c78n8jmbv7nhz2cgbrjyn6fjy6cy67sq0r";
+  src = fetchFromGitHub {
+    owner = "msteveb";
+    repo = "jimtcl";
+    rev = "51f65c6d38fbf86e1f0b036ad336761fd2ab7fa0";
+    sha256 = "00ldal1w9ysyfmx28xdcaz81vaazr1fqixxb2abk438yfpp1i9hq";
   };
 
   buildInputs = [
-    sqlite
+    sqlite readline asciidoc SDL SDL_gfx
   ];
 
   configureFlags = [
@@ -18,15 +19,23 @@ stdenv.mkDerivation {
     "--with-ext=tree"
     "--with-ext=binary"
     "--with-ext=sqlite3"
+    "--with-ext=readline"
+    "--with-ext=sdl"
     "--enable-utf8"
     "--ipv6"
   ];
 
+  preConfigurePhase = ''
+    export CFLAGS=$(sdl-config --cflags)
+    export LDFLAGS=$(sdl-config --libs)
+  '';
+
+
   meta = {
     description = "An open source small-footprint implementation of the Tcl programming language";
     homepage = http://jim.tcl.tk/;
     license = stdenv.lib.licenses.bsd2;
     platforms = stdenv.lib.platforms.all;
-    maintainers = with stdenv.lib.maintainers; [ dbohdan ];
+    maintainers = with stdenv.lib.maintainers; [ dbohdan vrthra ];
   };
 }
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 2ca17b588aac..a779f2300451 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -299,18 +299,18 @@ let
 in {
 
   php55 = generic {
-    version = "5.5.36";
-    sha256 = "1fvipg3p8m61kym2ir589vi1l6zm0r95rd97z5s6sq6ylgxfv114";
+    version = "5.5.37";
+    sha256 = "122xj115fjl6rqlxqqjzvh16fbm801yqcmfh9hn7zwfa8sz0wf6j";
   };
 
   php56 = generic {
-    version = "5.6.22";
-    sha256 = "1il8kwg3pak06i4fz09br7vjsxvwfgxcd95zyaf6kyjjrj08mnlh";
+    version = "5.6.23";
+    sha256 = "1isq6pym20nwsf2j1jdz321vck9xd6g86q2b13vycxyjjq42ikgs";
   };
 
   php70 = generic {
-    version = "7.0.7";
-    sha256 = "06ixiaqqndvancqy5xmnzpscd77z2ixv3yrsdq0r8avqqhjjjks7";
+    version = "7.0.8";
+    sha256 = "13bww8qz35crj3s2kzl50lqy28m83xms1qrz66qhf3j9i2ippp36";
   };
 
 }
diff --git a/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch b/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch
new file mode 100644
index 000000000000..54878303589d
--- /dev/null
+++ b/pkgs/development/libraries/libewf/04-fix-FTBFS-GCC5.patch
@@ -0,0 +1,20 @@
+Patch from Debian:
+https://sources.debian.net/data/main/libe/libewf/20140608-6/debian/patches/04-fix-FTBFS-GCC5.patch
+
+Description: fix a FTBFS with GCC-5. Thanks to Linn Crosetto <linn@hp.com> for
+             the first fix (see #777938). This patch closes #777945.
+Author: Joao Eriberto Mota Filho <eriberto@debian.org>
+Last-Update: 2015-07-02
+Index: libewf-20140608/libuna/Makefile.am
+===================================================================
+--- libewf-20140608.orig/libuna/Makefile.am
++++ libewf-20140608/libuna/Makefile.am
+@@ -3,7 +3,7 @@ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/include \
+ 	-I$(top_srcdir)/common \
+ 	@LIBCSTRING_CPPFLAGS@ \
+-	@LIBCERROR_CPPFLAGS@
++	@LIBCERROR_CPPFLAGS@ -std=gnu89
+ 
+ noinst_LTLIBRARIES = libuna.la
+ 
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index fad0170ade78..06f0bc89c2b3 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse }:
+{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse, autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
   version = "20140608";
@@ -8,15 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "0wfsffzxk934hl8cpwr14w8ixnh8d23x0xnnzcspjwi2c7730h6i";
   };
 
-  preConfigure = ''sed -e 's@/usr/bin/file@file@g' -i configure'';
-
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ zlib openssl libuuid ];
+  patches = [ ./04-fix-FTBFS-GCC5.patch ];
 
   meta = {
     description = "Library for support of the Expert Witness Compression Format";
     homepage = http://sourceforge.net/projects/libewf/;
     license = stdenv.lib.licenses.lgpl3;
     maintainers = [ stdenv.lib.maintainers.raskin ] ;
+    platforms = stdenv.lib.platforms.unix;
     inherit version;
   };
 }
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index dd57e74e1566..7a62011ddb4b 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -4,11 +4,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "libgcrypt-${version}";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "14pspxwrqcgfklw3dgmywbxqwdzcym7fznfrqh9rk4vl8jkpxrmh";
+    sha256 = "15bsdpihb8xvr2a6sh0ikzw9wdw3gdi4pl1vpr6wc48npzy9q3a5";
   };
 
   outputs = [ "dev" "out" "info" ];
@@ -35,12 +35,12 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://www.gnu.org/software/libgcrypt/;
     description = "General-pupose cryptographic library";
-    license = lib.licenses.lgpl2Plus;
-    platforms = lib.platforms.all;
-    maintainers = [ lib.maintainers.wkennington ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.wkennington maintainers.vrthra ];
     repositories.git = git://git.gnupg.org/libgcrypt.git;
   };
 }
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 9c4f3705b3ed..c15dcc4993df 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, gettext }:
 
 stdenv.mkDerivation rec {
-  name = "libgpg-error-1.21";
+  name = "libgpg-error-${version}";
+  version = "1.23";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "0kdq2cbnk84fr4jqcv689rlxpbyl6bda2cn6y3ll19v3mlydpnxp";
+    sha256 = "1alyjd6671drj92m0qi9943rfmf1sjjbzvmz97v4hh4cp5jpy33z";
   };
 
   postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure";
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
 
     license = licenses.lgpl2Plus;
     platforms = platforms.all;
-    maintainers = [ maintainers.fuuzetsu ];
+    maintainers = [ maintainers.fuuzetsu maintainers.vrthra ];
   };
 }
 
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index b04c146636d2..a8dc8f357a74 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -15,11 +15,11 @@ in
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
-  name = "libinput-1.3.2";
+  name = "libinput-1.3.3";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "10x1jbz0kjww8ynndqxc4gkmammilwaxm1mf20ahz75mh43j6087";
+    sha256 = "1kmiv1mcrxniigdcs65w23897mczsx0hasxc6p13hjk58zzfvj1h";
   };
 
   outputs = [ "dev" "out" ];
diff --git a/pkgs/development/libraries/libressl/2.2.nix b/pkgs/development/libraries/libressl/2.2.nix
index 280c2e6bc943..93d61b6a4bb6 100644
--- a/pkgs/development/libraries/libressl/2.2.nix
+++ b/pkgs/development/libraries/libressl/2.2.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.2.7";
+  version = "2.2.9";
 
   src = fetchurl {
     url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
-    sha256 = "1kckv36dgvvjq1ap6ahxgma4hw57zp61xsp5vjvyza5vhfrnhb3y";
+    sha256 = "0i2cbkj07kcs2is8k8wirvywg4az3wk4s3q1slwp4qw3x9vz63vi";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libressl/2.3.nix b/pkgs/development/libraries/libressl/2.3.nix
index 32869e0b4720..a143547ca04a 100644
--- a/pkgs/development/libraries/libressl/2.3.nix
+++ b/pkgs/development/libraries/libressl/2.3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchurl {
     url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
-    sha256 = "0fvmifz61zfq6byy4dh1qqdg9fpbdsyldjwx5hlcgg6ywxf2f9gl";
+    sha256 = "1yipsp1ici207nbminbf1knh252kzvqg036v0xpx0fw1wrwlg2im";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libressl/2.4.nix b/pkgs/development/libraries/libressl/2.4.nix
new file mode 100644
index 000000000000..e9e0b350473d
--- /dev/null
+++ b/pkgs/development/libraries/libressl/2.4.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libressl-${version}";
+  version = "2.4.1";
+
+  src = fetchurl {
+    url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
+    sha256 = "0xq4x1s91aqzrf8j9d4kf4j093cz2ayg0xrybsl4gkb966qj468j";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "dev" "out" "man" "bin" ];
+
+  meta = with stdenv.lib; {
+    description = "Free TLS/SSL implementation";
+    homepage    = "http://www.libressl.org";
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice wkennington fpletz globin ];
+  };
+}
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index 5ac8cc94d044..f8e7908314f9 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "libtasn1-4.7";
+  name = "libtasn1-4.8";
 
   src = fetchurl {
     url = "mirror://gnu/libtasn1/${name}.tar.gz";
-    sha256 = "1j8iixynchziw1y39lnibyl5h81m4p78w3i4f28q2vgwjgf801x4";
+    sha256 = "04y5m29pqmvkfdbppmsdifyx89v8xclxzklpfc7a1fkr9p4jz07s";
   };
 
   outputs = [ "dev" "out" "docdev" ];
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index e2809e9d483b..1950f94aca2e 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.0.9";
-  sha256 = "1kfydlvmx4pgi5lpbhqr4p3jr78p3f61ic32046mkp4yfyydrspl";
+  version = "1.1";
+  sha256 = "06dzzr9g2qhy48yy50xgac9jadjmqjykl52fq2kfl2l7xxzykkkz";
 })
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
index d840487b4a53..e8ccbbee488a 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
@@ -9,7 +9,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "libtorrent-rasterbar-${version}";
-  
+
   src = fetchurl {
     url = "https://github.com/arvidn/libtorrent/archive/libtorrent-${formattedVersion}.tar.gz";
     inherit sha256;
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   ];
 
   enableParallelBuilding = true;
-  
+
   meta = with stdenv.lib; {
     homepage = http://www.rasterbar.com/products/libtorrent/;
     description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index d409d20a7697..27e635754442 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -9,11 +9,11 @@
 # if you update, also bump pythonPackages.libvirt or it will break
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "1.3.3";
+  version = "1.3.5";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.gz";
-    sha256 = "13w56fhspf7ygr3v0jhh44g25xbcx5vmrprzcy9cajsppa6knq4r";
+    sha256 = "1j2ar5gb6xcyw1mlpm0mfpiri6www9k5myaqjina87a3xd23r8lk";
   };
 
   patches = [ ./build-on-bsd.patch ];
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch
deleted file mode 100644
index ad1719c46e29..000000000000
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/dlopen-gtkstyle.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtk2painter.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtk2painter.cpp
-@@ -96,7 +96,7 @@ static void initGtk()
-     static bool initialized = false;
-     if (!initialized) {
-         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
-         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
-Index: qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-===================================================================
---- qt-everywhere-opensource-src-5.5.1.orig/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-+++ qt-everywhere-opensource-src-5.5.1/qtbase/src/widgets/styles/qgtkstyle_p.cpp
-@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index b5255b4bce1d..3cc8c51909b7 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -95,8 +95,8 @@ let
       qttools = callPackage ./qttools.nix {};
       qttranslations = callPackage ./qttranslations.nix {};
       /* qtwayland = not packaged */
-      /* qtwebchannel = not packaged */
-      /* qtwebengine = not packaged */
+      qtwebchannel = callPackage ./qtwebchannel.nix {};
+      qtwebengine = callPackage ./qtwebengine.nix {};
       qtwebsockets = callPackage ./qtwebsockets.nix {};
       /* qtwinextras = not packaged */
       qtx11extras = callPackage ./qtx11extras.nix {};
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix b/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix
new file mode 100644
index 000000000000..fd7a3c52026e
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix
@@ -0,0 +1,7 @@
+{ qtSubmodule, qtbase, qtdeclarative }:
+
+qtSubmodule {
+  name = "qtwebchannel";
+  qtInputs = [ qtbase qtdeclarative ];
+}
+
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine.nix b/pkgs/development/libraries/qt-5/5.6/qtwebengine.nix
new file mode 100644
index 000000000000..a433976dad1f
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebengine.nix
@@ -0,0 +1,6 @@
+{ qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel }:
+
+qtSubmodule {
+  name = "qtwebengine";
+  qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
+}
diff --git a/pkgs/development/libraries/qt-5/5.6/srcs.nix b/pkgs/development/libraries/qt-5/5.6/srcs.nix
index 6f11e4408f77..42b688e6e8df 100644
--- a/pkgs/development/libraries/qt-5/5.6/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.6/srcs.nix
@@ -3,259 +3,259 @@
 
 {
   qtxmlpatterns = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtxmlpatterns-opensource-src-5.6.1.tar.xz";
-      sha256 = "0q412jv3xbg7v05b8pbahifwx17gzlp96s90akh6zwhpm8i6xx34";
-      name = "qtxmlpatterns-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1966rrk7f6c55k57j33rffdjs77kk4mawrnnl8yv1ckcirxc3np1";
+      name = "qtxmlpatterns-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtx11extras-opensource-src-5.6.1.tar.xz";
-      sha256 = "0l736qiz8adrnh267xz63hv4sph6nhy90h836qfnnmv3p78ipsz8";
-      name = "qtx11extras-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtx11extras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0yj5yg2dqkrwbgbicmk2rpqsagmi8dsffkrprpsj0fmkx4awhv5y";
+      name = "qtx11extras-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwinextras-opensource-src-5.6.1.tar.xz";
-      sha256 = "1db3lcrj8af0z8lnh99lfbwz1cq9il7rr27rk9l38dff65qkssm8";
-      name = "qtwinextras-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwinextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "03zkwqrix2nfqkwfn8lsrpgahzx1hv6p1qbvhkqymzakkzjjncgg";
+      name = "qtwinextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwebview-opensource-src-5.6.1.tar.xz";
-      sha256 = "0q869wl61vidds551w3z49ysx88xqyn6igbz07zxac7d0gwgwpda";
-      name = "qtwebview-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebview-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "19954snfw073flxn0qk5ayxyzk5x6hwhpg4kn4nrl1zygsw3y49l";
+      name = "qtwebview-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwebsockets-opensource-src-5.6.1.tar.xz";
-      sha256 = "0fkj52i4yi6gmq4jfjgdij08cspxspac6mbpf0fknnllimmkl7jm";
-      name = "qtwebsockets-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebsockets-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1fz0x8570zxc00a22skd848svma3p2g3xyxj14jq10559jihqqil";
+      name = "qtwebsockets-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwebengine-opensource-src-5.6.1.tar.xz";
-      sha256 = "0yv0cflgywsyfn84vv2vc9rwpm8j7hin61rxqjqh498nnl2arw5x";
-      name = "qtwebengine-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebengine-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0k708a34zwkj6hwx3vv5kdvnv3lfgb0iad44zaim5gdpgcir03n8";
+      name = "qtwebengine-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwebchannel-opensource-src-5.6.1.tar.xz";
-      sha256 = "01q80917a1048hdhaii4v50dqs84h16lc9w3v99r9xvspk8vab7q";
-      name = "qtwebchannel-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwebchannel-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "10kys3ppjkj60fs1s335fdcpdsbxsjn6ibvm6zph9gqbncabd2l7";
+      name = "qtwebchannel-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtwayland-opensource-src-5.6.1.tar.xz";
-      sha256 = "1jgghjfrg0wwyfzfwgwhagwxz9k936ylv3w2l9bwlpql8rgm8d11";
-      name = "qtwayland-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtwayland-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1fnvgpi49ilds3ah9iizxj9qhhb5rnwqd9h03bhkwf0ydywv52c4";
+      name = "qtwayland-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qttranslations-opensource-src-5.6.1.tar.xz";
-      sha256 = "008wyk00mqz116pigm0qq78rvg28v6ykjnjxppkjnk0yd6i2vmb9";
-      name = "qttranslations-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttranslations-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "03sdzci4pgq6lmxwn25v8x0z5x8g7zgpq2as56dqgj7vp6cvhn8m";
+      name = "qttranslations-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qttools = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qttools-opensource-src-5.6.1.tar.xz";
-      sha256 = "0wbzq60d7lkvlb7b5lqcw87qgy6kyjz1npjavz8f4grdxsaqi8vp";
-      name = "qttools-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qttools-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0haic027a2d7p7k8xz83fbvci4a4dln34360rlwgy7hlyy5m4nip";
+      name = "qttools-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtsvg-opensource-src-5.6.1.tar.xz";
-      sha256 = "08ca5g46g75acy27jfnvnalmcias5hxmjp7491v3y4k9y7a4ybpi";
-      name = "qtsvg-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsvg-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1w0jvhgaiddafcms2nv8wl1klg07lncmjwm1zhdw3l6rxi9071sw";
+      name = "qtsvg-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtserialport-opensource-src-5.6.1.tar.xz";
-      sha256 = "1hp63cgqhps6y1k041lzhcb2b0rcpcmszabnn293q5ilbvla4x0b";
-      name = "qtserialport-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialport-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "135cbgghxk0c6dblmyyrw6znfb9m8sac9hhyc2dm6vq7vzy8id52";
+      name = "qtserialport-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtserialbus-opensource-src-5.6.1.tar.xz";
-      sha256 = "1h683dkvnf2rdgxgisybnp8miqgn2gpi597rgx5zc7qk2k8kyidz";
-      name = "qtserialbus-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtserialbus-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0li4g70s5vfb517ag0d6405ymsknvvny1c8x66w7qs8a8mnk1jq5";
+      name = "qtserialbus-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtsensors-opensource-src-5.6.1.tar.xz";
-      sha256 = "0bll7ll6s5g8w89knyrc0famjwqyfzwpn512m1f96bf6xwacs967";
-      name = "qtsensors-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtsensors-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0kcrvf6vzn6g2v2m70f9r3raalzmfp48rwjlqhss3w84jfz3y04r";
+      name = "qtsensors-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtscript = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtscript-opensource-src-5.6.1.tar.xz";
-      sha256 = "17zp5dlfplrnzlw233lzapj55drjqchvayajd02qsggzms3yzchw";
-      name = "qtscript-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtscript-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1gini9483flqa9q4a4bl81bh7g5s408bycqykqhgbklmfd29y5lx";
+      name = "qtscript-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtquickcontrols2-opensource-src-5.6.1.tar.xz";
-      sha256 = "13zbiv63b76ifpjalx5616nixfwjk48q977bzb1xxj363b7xv85v";
-      name = "qtquickcontrols2-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtquickcontrols2-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0wfa2xcqsvx3zihd5nb9f9qhq0xn14c03sw1qdymzfsryqwmk4ac";
+      name = "qtquickcontrols2-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtquickcontrols-opensource-src-5.6.1.tar.xz";
-      sha256 = "14d68ryn7r7rs7klpldnavcsccvyyg0xhwqkvjlm5wwplv2acah1";
-      name = "qtquickcontrols-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtquickcontrols-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0cjzf844r7wi32ssc9vbw1a2m9hnr8c0i1p7yyljy962ifplf401";
+      name = "qtquickcontrols-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtmultimedia-opensource-src-5.6.1.tar.xz";
-      sha256 = "058523c2qra3d8fq46ygcndnkrbwlh316zy28s2cr5pjr5gmnjyj";
-      name = "qtmultimedia-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmultimedia-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0paffx0614ivjbf87lr9klpbqik6r1pzbc14l41np6d9jv3dqa2f";
+      name = "qtmultimedia-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtmacextras-opensource-src-5.6.1.tar.xz";
-      sha256 = "147yhv7fb0yaakrffqiw6xz8ycqdc7qsnxvnpr6j8rarw5xmdc73";
-      name = "qtmacextras-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtmacextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "07j26d5g7av4c6alggg5hssqpvdh555zmn1cpr8xrhx1hpbdnaas";
+      name = "qtmacextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtlocation-opensource-src-5.6.1.tar.xz";
-      sha256 = "0qahs7a2n3l4h0bl8bnwci9mzy1vra3zncnzr40csic9ys67ddfk";
-      name = "qtlocation-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtlocation-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0my4pbcxa58yzvdh65l5qx99ln03chjr5c3ml5v37wfk7nx23k69";
+      name = "qtlocation-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtimageformats-opensource-src-5.6.1.tar.xz";
-      sha256 = "020v1148433zx4g87z2r8fgff32n0laajxqqsja1l3yzz7jbrwvl";
-      name = "qtimageformats-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtimageformats-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1p98acvsm3azka2by1ph4gdb31qbnndrr5k5wns4xk2d760y8ifc";
+      name = "qtimageformats-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtgraphicaleffects-opensource-src-5.6.1.tar.xz";
-      sha256 = "1n0i2drfr7fvydgg810dcij8mxnygdpvqcqv7l1a9a1kv9ap3sap";
-      name = "qtgraphicaleffects-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0560800fa9sd6dw1vk0ia9vq8ywdrwch2cpsi1vmh4iyxgwfr71b";
+      name = "qtgraphicaleffects-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtenginio = {
     version = "1.6.1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtenginio-opensource-src-1.6.1.tar.xz";
-      sha256 = "1iq4lnz3s6mfdgml61b9lsjisky55bbvsdj72kh003j94mzrc3l5";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtenginio-opensource-src-1.6.1.tar.xz";
+      sha256 = "17hsrhzy9zdvpbzja45aac6jr7jzzjl206vma96b9w73rbgxa50f";
       name = "qtenginio-opensource-src-1.6.1.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtdoc-opensource-src-5.6.1.tar.xz";
-      sha256 = "0yg7903vk4w3h6jjyanssfcig0s2s660q11sj14nw6gcjs7kfa5z";
-      name = "qtdoc-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdoc-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1yf3g3h72ndrp88h8g21mzgqdz2ixwkvpav03i3jnrgy2pf7nssp";
+      name = "qtdoc-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtdeclarative-render2d = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtdeclarative-render2d-opensource-src-5.6.1.tar.xz";
-      sha256 = "1m08x8x355545r9wgrjl5p26zjhp5q1yh3h25dww8pk25v6cn8dg";
-      name = "qtdeclarative-render2d-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0kqmb3792rg9fx12m64x87ahcrh0g9krg77mv0ssx3g4gvsgcibc";
+      name = "qtdeclarative-render2d-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtdeclarative-opensource-src-5.6.1.tar.xz";
-      sha256 = "1d2217kxk85kpi7ls08b41hqzy26hvch8m4cgzq6km5sqi5zvz0j";
-      name = "qtdeclarative-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtdeclarative-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "094gx5mzqzcga97y7ihf052b6i5iv512lh7m0702m5q94nsn1pqw";
+      name = "qtdeclarative-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtconnectivity-opensource-src-5.6.1.tar.xz";
-      sha256 = "06fr9321f52kf0nda9zjjfzp5694hbnx0y0v315iw28mnpvandas";
-      name = "qtconnectivity-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtconnectivity-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0sr6sxp0q45pacs25knr28139xdrphcjgrwlksdhdpsryfw19mzi";
+      name = "qtconnectivity-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtcanvas3d-opensource-src-5.6.1.tar.xz";
-      sha256 = "0q17hwmj893pk0lhxmibxmgk6h1gy4ksqfi62rkfzcf81bg2q7hr";
-      name = "qtcanvas3d-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "13127xws6xfkkk1x617bgdzl96l66nd0v82dibdnxnpfa702rl44";
+      name = "qtcanvas3d-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtbase = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtbase-opensource-src-5.6.1.tar.xz";
-      sha256 = "0r3jrqymnnxrig4f11xvs33c26f0kzfakbp3kcbdpv795gpc276h";
-      name = "qtbase-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtbase-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0fbwprlhqmdyhh2wb9122fcpq7pbil530iak482b9sy5gqs7i5ij";
+      name = "qtbase-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtandroidextras-opensource-src-5.6.1.tar.xz";
-      sha256 = "0prkpb57j0s8k36sba47k2bhs3ajf01rdwc7qf5gkvhs991rwckc";
-      name = "qtandroidextras-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtandroidextras-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "0xhm4053y9hqnz5y3y4rwycniq0mb1al1rds3jx636211y039xhk";
+      name = "qtandroidextras-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qtactiveqt-opensource-src-5.6.1.tar.xz";
-      sha256 = "0a2p0w03d04hqg71hlihj9mr6aasvb0h8jfa5rnq8b5rkm8haf4f";
-      name = "qtactiveqt-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qtactiveqt-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "00bj9c0x3ax34gpibaap3wpchkv4wapsydiz01fb0xzs1fy94nbf";
+      name = "qtactiveqt-opensource-src-5.6.1-1.tar.xz";
     };
   };
   qt3d = {
-    version = "5.6.1";
+    version = "5.6.1-1";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.1/submodules/qt3d-opensource-src-5.6.1.tar.xz";
-      sha256 = "03d81sls30a20yna6940np15112ciwy5024f8n5imaxicm8h34xd";
-      name = "qt3d-opensource-src-5.6.1.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.1-1/submodules/qt3d-opensource-src-5.6.1-1.tar.xz";
+      sha256 = "1nxpcjsarcp40m4y18kyy9a5md56wnafll03j8c6q19rba9bcwbf";
+      name = "qt3d-opensource-src-5.6.1-1.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
new file mode 100644
index 000000000000..2609861e319e
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "htslib";
+  version = "1.3.1";
+
+  src = fetchurl {
+    url = "https://github.com/samtools/${pname}/releases/download/${version}/${name}.tar.bz2";
+    sha256 = "49d53a2395b8cef7d1d11270a09de888df8ba06f70fe68282e8235ee04124ae6";
+  };
+
+  buildInputs = [ zlib ];
+
+  meta = with stdenv.lib; {
+    description = "A C library for reading/writing high-throughput sequencing data";
+    license = licenses.mit;
+    homepage = http://www.htslib.org/;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.mimadrid ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/matplotlib/basedirlist.patch b/pkgs/development/python-modules/matplotlib/basedirlist.patch
new file mode 100644
index 000000000000..0a84a05bbaea
--- /dev/null
+++ b/pkgs/development/python-modules/matplotlib/basedirlist.patch
@@ -0,0 +1,8 @@
+diff --git a/setup.cfg b/setup.cfg
+new file mode 100644
+index 0000000..6f81985
+--- /dev/null
++++ b/setup.cfg
+@@ -0,0 +1,2 @@
++[directories]
++basedirlist = .
diff --git a/pkgs/development/python-modules/matplotlib/default.nix b/pkgs/development/python-modules/matplotlib/default.nix
index 6bc28fd95687..7c1b8b503a3a 100644
--- a/pkgs/development/python-modules/matplotlib/default.nix
+++ b/pkgs/development/python-modules/matplotlib/default.nix
@@ -4,11 +4,17 @@
 , enableGhostscript ? false, ghostscript ? null, gtk3
 , enableGtk2 ? false, pygtk ? null, gobjectIntrospection
 , enableGtk3 ? false, cairo
+, enableTk ? false, tcl ? null, tk ? null, tkinter ? null, libX11 ? null
 , Cocoa, Foundation, CoreData, cf-private, libobjc, libcxx
 }:
 
 assert enableGhostscript -> ghostscript != null;
 assert enableGtk2 -> pygtk != null;
+assert enableTk -> (tcl != null)
+                && (tk != null)
+                && (tkinter != null)
+                && (libX11 != null)
+                ;
 
 buildPythonPackage rec {
   name = "matplotlib-${version}";
@@ -33,9 +39,26 @@ buildPythonPackage rec {
       libpng pkgconfig mock pytz  
     ]
     ++ stdenv.lib.optional enableGtk2 pygtk
-    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ];
+    ++ stdenv.lib.optionals enableGtk3 [ cairo pycairo gtk3 gobjectIntrospection pygobject3 ]
+    ++ stdenv.lib.optionals enableTk [ tcl tk tkinter libX11 ];
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv.patch ];
+  patches =
+    [ ./basedirlist.patch ] ++
+    stdenv.lib.optionals stdenv.isDarwin [ ./darwin-stdenv.patch ];
+
+  # Matplotlib tries to find Tcl/Tk by opening a Tk window and asking the
+  # corresponding interpreter object for its library paths. This fails if
+  # `$DISPLAY` is not set. The fallback option assumes that Tcl/Tk are both
+  # installed under the same path which is not true in Nix.
+  # With the following patch we just hard-code these paths into the install
+  # script.
+  postPatch =
+    let
+      inherit (stdenv.lib.strings) substring;
+      tcl_tk_cache = ''"${tk}/lib", "${tcl}/lib", "${substring 0 3 tk.version}"'';
+    in
+    stdenv.lib.optionalString enableTk
+      "sed -i '/self.tcl_tk_cache = None/s|None|${tcl_tk_cache}|' setupext.py";
 
   checkPhase = ''
     ${python.interpreter} tests.py
diff --git a/pkgs/development/tools/activator/default.nix b/pkgs/development/tools/activator/default.nix
index 9d187b1018ce..cd878a358972 100644
--- a/pkgs/development/tools/activator/default.nix
+++ b/pkgs/development/tools/activator/default.nix
@@ -4,28 +4,28 @@ stdenv.mkDerivation rec {
 
   name = "${pname}-${version}";
   pname = "activator";
-  version = "1.3.5";
+  version = "1.3.10";
 
   src = fetchurl {
     url = "http://downloads.typesafe.com/typesafe-${pname}/${version}/typesafe-${name}.zip";
-    sha256 = "19mcrp1ky652wwh3360ia0irc0c2xjcnn9rdal1rmkkzsqn4jx0b";
+    sha256 = "43693f041c8422ee06a2a90a805fd7b0e258dc85da31f0a4dca340dfd119b4ce";
   };
 
   buildInputs = [ unzip jre ];
 
   installPhase = ''
-    mkdir -p $out/{bin,lib}
+    mkdir -p $out/{bin,lib,libexec}
     mv repository $out/lib
-    sed -i -e "s,declare.*activator_home.*=.*,declare -r activator_home=$out/lib/,g" activator
-    mv activator $out/bin
-    mv activator-launch-${version}.jar $out/lib
+    sed -i -e "s,declare.*activator_home.*=.*,declare -r activator_home=$out/lib/,g" bin/activator
+    mv bin/activator $out/bin
+    mv libexec/activator-launch-${version}.jar $out/libexec
   '';
 
   meta = with stdenv.lib; {
     description = "A scafollding tool for setting up reactive projects";
     homepage = "http://typesafe.com/activator";
     license = licenses.asl20;
-    maintainers = with maintainers; [ edwtjo ];
+    maintainers = with maintainers; [ edwtjo cko ];
   };
 
 }
diff --git a/pkgs/development/tools/build-managers/waf/default.nix b/pkgs/development/tools/build-managers/waf/default.nix
index 6956c97db50f..61184cb6ba1a 100644
--- a/pkgs/development/tools/build-managers/waf/default.nix
+++ b/pkgs/development/tools/build-managers/waf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "waf-${version}";
-  version = "1.8.19";
+  version = "1.9.0";
 
   src = fetchurl {
     url = "https://waf.io/waf-${version}.tar.bz2";
-    sha256 = "e5df90556d1f70aca82bb5c5f46aa68d2377bae16b0db044eaa0559df8668c6f";
+    sha256 = "1sjpqzm2fzm8pxi3fwfinpsbw4z9040qkrzbg3lxik7ppsbjhn58";
   };
 
   buildInputs = [ python2 ];
@@ -21,11 +21,11 @@ stdenv.mkDerivation rec {
     install waf $out
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Meta build system";
     homepage    = "https://waf.io/";
-    license     = lib.licenses.bsd3;
-    platforms   = lib.platforms.all;
-    maintainers = with lib.maintainers; [ ];
+    license     = licenses.bsd3;
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ vrthra ];
   };
 }
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 67c32c0a8065..49e5c67572bf 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -3,18 +3,18 @@
 let
   libphutil = fetchgit {
     url    = "git://github.com/phacility/libphutil.git";
-    rev    = "e509fc30ae782af97f3535b1febbf50d0f919d5a";
-    sha256 = "087dc5aadf1f78ebc7cf2b9107422f211b98ac96493fab8cf6bd9924ba77d986";
+    rev    = "b25e0477b280ca3e8345bb97cd55e95bcb5023ec";
+    sha256 = "04l1am6k3xcjya3dscjb3vacg0fklbzqiv84qqi98rq3b3mgyhz8";
   };
   arcanist = fetchgit {
     url    = "git://github.com/phacility/arcanist.git";
-    rev    = "fe8ed2a6f8b09b8c56e476ed1f9624d35732b776";
-    sha256 = "602fe03671c424d55af63e6288e906b350183bb42d558498ded005ae7e83fc85";
+    rev    = "2234c8cacc21ce61c9c10e8e5918b6a63cc38fc8";
+    sha256 = "1c0wsgg10v94iy8dwa8pw4qcxafn7nvb9s57x2ps4a08lxakimn0";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20150817";
+  version = "20160516";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index c308c5c70199..8ec0ecd5785d 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, gettext, emacs }:
 
 stdenv.mkDerivation rec {
-  name = "cflow-1.4";
+  name = "cflow-1.5";
 
   src = fetchurl {
     url = "mirror://gnu/cflow/${name}.tar.bz2";
-    sha256 = "1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3";
+    sha256 = "0yq33k5ap1zpnja64n89iai4zh018ffr72wki5a6mzczd880mr3g";
   };
 
   patchPhase = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Tool to analyze the control flow of C programs";
 
     longDescription = ''
@@ -39,11 +39,11 @@ stdenv.mkDerivation rec {
       produced flowcharts in Emacs.
     '';
 
-    license = stdenv.lib.licenses.gpl3Plus;
+    license = licenses.gpl3Plus;
 
     homepage = http://www.gnu.org/software/cflow/;
 
-    maintainers = [ ];
+    maintainers = [ maintainers.vrthra ];
 
     /* On Darwin, build fails with:
 
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
              _argp_program_version$non_lazy_ptr in libcflow.a(argp-parse.o)
        ld: symbol(s) not found
      */
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index fa13b4d6ebb4..b9a517f671fc 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -1,26 +1,26 @@
-{ stdenv, fetchurl, ncurses, readline }:
+{ stdenv, fetchurl, ncurses, readline, flex, texinfo, help2man }:
 
 stdenv.mkDerivation rec {
   name = "cgdb-${version}";
-  version = "0.6.7";
+  version = "0.6.8";
 
   src = fetchurl {
     url = "http://cgdb.me/files/${name}.tar.gz";
-    sha256 = "1agxk6a97v6q0n097zw57qqpaza4j79jg36x99bh8yl23qfx6kh7";
+    sha256 = "0hfgyj8jimb7imqlfdpzaln787r6r0yzwzmnk91rfl19pqlkw85y";
   };
 
-  buildInputs = [ ncurses readline ];
+  buildInputs = [ ncurses readline flex texinfo help2man ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A curses interface to gdb";
 
     homepage = https://cgdb.github.io/;
 
     repositories.git = git://github.com/cgdb/cgdb.git;
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = licenses.gpl2Plus;
 
-    platforms = with stdenv.lib.platforms; linux ++ cygwin;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
+    platforms = with platforms; linux ++ cygwin;
+    maintainers = with maintainers; [ viric vrthra ];
   };
 }
diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix
index 154d66705d21..8e9825d72d8f 100644
--- a/pkgs/development/tools/misc/objconv/default.nix
+++ b/pkgs/development/tools/misc/objconv/default.nix
@@ -1,16 +1,25 @@
 { stdenv, fetchFromGitHub }:
 
-stdenv.mkDerivation {
-  name = "objconv-1.0";
+stdenv.mkDerivation rec {
+  name = "objconv-${version}";
+  version = "2.16";
 
   src = fetchFromGitHub {
     owner  = "vertis";
     repo   = "objconv";
-    rev    = "01da9219e684360fd04011599805ee3e699bae96";
+    rev    = "${version}";
     sha256 = "1by2bbrampwv0qy8vn4hhs49rykczyj7q8g373ym38da3c95bym2";
   };
 
   buildPhase = "c++ -o objconv -O2 src/*.cpp";
 
   installPhase = "mkdir -p $out/bin && mv objconv $out/bin";
+
+  meta = with stdenv.lib; {
+    description = "Used for converting object files between COFF/PE, OMF, ELF and Mach-O formats for all 32-bit and 64-bit x86 platforms.";
+    homepage = http://www.agner.org/optimize/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ vrthra ];
+  };
+
 }
diff --git a/pkgs/development/tools/misc/tcptrack/default.nix b/pkgs/development/tools/misc/tcptrack/default.nix
index a6e40a4809ab..b50aa088ac57 100644
--- a/pkgs/development/tools/misc/tcptrack/default.nix
+++ b/pkgs/development/tools/misc/tcptrack/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, ncurses, libpcap }:
+{ stdenv, fetchFromGitHub, ncurses, libpcap }:
 
 stdenv.mkDerivation rec {
   name = "tcptrack-${version}";
-  version = "1.4.2";
+  version = "1.4.3";
 
-  src = fetchurl {
-    # TODO: find better URL
-    url = http://pkgs.fedoraproject.org/repo/pkgs/tcptrack/tcptrack-1.4.2.tar.gz/dacf71a6b5310caf1203a2171b598610/tcptrack-1.4.2.tar.gz;
-    sha256 = "0jbh20kjaqdiasy5s9dk53dv4vpnbh31kqcmhwz9vi3qqzhv21v6";
+  src = fetchFromGitHub {
+    owner = "bchretien";
+    repo = "tcptrack";
+    rev = "d05fe08154ff1e46578e92be49e4cfa2c6543283";
+    sha256 = "08lh3l67wn4kq9q0nfspc7rj0jvp9dzwjgxpvqliwcif8cy5mi45";
   };
 
   buildInputs = [ ncurses libpcap ];
@@ -15,10 +16,10 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE = "-Wno-error=cpp";
 
   meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
     description = "libpcap based program for live TCP connection monitoring";
-    homepage = http://www.rhythm.cx/~steve/devel/tcptrack/; # dead link
     license = licenses.lgpl21;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
+    maintainers = [ maintainers.bjornfor maintainers.vrthra ];
   };
 }
diff --git a/pkgs/development/tools/misc/unifdef/default.nix b/pkgs/development/tools/misc/unifdef/default.nix
index 6e14673701c8..19dd907b73b9 100644
--- a/pkgs/development/tools/misc/unifdef/default.nix
+++ b/pkgs/development/tools/misc/unifdef/default.nix
@@ -21,7 +21,11 @@ stdenv.mkDerivation rec {
     export DESTDIR=$out
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
+    homepage = "http://dotat.at/prog/unifdef/";
     description = "Selectively remove C preprocessor conditionals";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.vrthra ];
   };
 }
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 74c537763da2..4ddd8d2aaaec 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -3,10 +3,10 @@
 
 let
   deps = import ./deps.nix { inherit fetchurl; };
-  version = "1.0.0";
+  version = "1.1.0";
   src = fetchurl {
     url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz";
-    sha256 = "1rbwkmsllg8wxv45xyvc3vh97na0zxxydcfqrvig496xkylvw2rn";
+    sha256 = "0la4f0cqq089hjzwa509snkqhxvwszp5zglmb0yy1m7ins3yhg2m";
     
   };
 in stdenv.mkDerivation rec {
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
   commonPhase = ''
     mkdir -p $out/bin
 
-    echo "#!${python}/bin/python"  >  $out/bin/pypi2nix
+    echo "#!${python}/bin/python3"       >  $out/bin/pypi2nix
     echo "import pypi2nix.cli"          >> $out/bin/pypi2nix
     echo "pypi2nix.cli.main()"          >> $out/bin/pypi2nix
 
@@ -64,6 +64,7 @@ in stdenv.mkDerivation rec {
     export PATH=$out/bin:$PATH
     export PYTHONPATH=`pwd`/src:$PYTHONPATH
   '';
+
   meta = {
     homepage = https://github.com/garbas/pypi2nix;
     description = "A tool that generates nix expressions for your python packages, so you don't have to.";
diff --git a/pkgs/development/tools/pypi2nix/deps.nix b/pkgs/development/tools/pypi2nix/deps.nix
index 39fc9329d5ec..acfcf02dfee1 100644
--- a/pkgs/development/tools/pypi2nix/deps.nix
+++ b/pkgs/development/tools/pypi2nix/deps.nix
@@ -1,20 +1,18 @@
 { fetchurl
-#, pypi_url ? "https://files.pythonhosted.org/packages"
-, pypi_url ? "https://pypi.io/packages/source/packages"
 }:
 
 rec {
 
-  pipVersion = "8.1.1";
-  pipHash = "6b86f11841e89c8241d689956ba99ed7";
-  pipWhlHash = "22db7b6a517a09c29d54a76650f170eb";
+  pipVersion = "8.1.2";
+  pipHash = "87083c0b9867963b29f7aba3613e8f4a";
+  pipWhlHash = "0570520434c5b600d89ec95393b2650b";
 
-  setuptoolsVersion = "21.0.0";
-  setuptoolsHash = "81964fdb89534118707742e6d1a1ddb4";
-  setuptoolsWhlHash = "6027400d6870a7dad29952b7d2dfdc7b";
+  setuptoolsVersion = "23.0.0";
+  setuptoolsHash = "100a90664040f8ff232fbac02a4c5652";
+  setuptoolsWhlHash = "a066fd7bfb8faaad763acbdbcb290199";
 
-  zcbuildoutVersion = "2.5.1";
-  zcbuildoutHash = "c88947a3c021ee1509a331c4fa9be187";
+  zcbuildoutVersion = "2.5.2";
+  zcbuildoutHash = "06a21fb02528c07aa0db31de0389a244";
 
   zcrecipeeggVersion = "2.0.3";
   zcrecipeeggHash = "69a8ce276029390a36008150444aa0b4";
@@ -25,43 +23,58 @@ rec {
   clickVersion = "6.6";
   clickHash = "d0b09582123605220ad6977175f3e51d";
 
+  sixVersion = "1.10.0";
+  sixHash = "34eed507548117b2ab523ab14b2f8b55";
+
+  attrsVersion = "16.0.0";
+  attrsHash = "5bcdd418f6e83e580434c63067c08a73";
+
+  effectVersion = "0.10.1";
+  effectHash = "6a6fd28fb44179ce01a148d4e8bdbede";
+
+
+  # --- wheels used to bootstrap python environment ---------------------------
+
   pipWhl = fetchurl {
-    url = "https://pypi.python.org/packages/31/6a/0f19a7edef6c8e5065f4346137cc2a08e22e141942d66af2e1e72d851462/pip-${pipVersion}-py2.py3-none-any.whl";
+    url = "https://pypi.python.org/packages/9c/32/004ce0852e0a127f07f358b715015763273799bd798956fa930814b60f39/pip-${pipVersion}-py2.py3-none-any.whl";
     md5 = pipWhlHash;
   };
 
   setuptoolsWhl = fetchurl {
-    url = "https://pypi.python.org/packages/15/b7/a76624e5a3b18c8c1c8d33a5240b34cdabb08aef2da44b536a8b53ba1a45/setuptools-${setuptoolsVersion}-py2.py3-none-any.whl";
+    url = "https://pypi.python.org/packages/74/7c/c75c4f4032a4627406db06b742cdc7ba24c4833cd423ea7e22882380abde/setuptools-${setuptoolsVersion}-py2.py3-none-any.whl";
     md5 = setuptoolsWhlHash;
   };
 
+
+  # --- python packages needed ------------------------------------------------
+
   pip = fetchurl {
-    url = "${pypi_url}/source/p/pip/pip-${pipVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-${pipVersion}.tar.gz";
     md5 = pipHash;
   };
 
   setuptools = fetchurl {
-    url = "${pypi_url}/source/s/setuptools/setuptools-${setuptoolsVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/45/5e/79ca67a0d6f2f42bfdd9e467ef97398d6ad87ee2fa9c8cdf7caf3ddcab1e/setuptools-${setuptoolsVersion}.tar.gz";
     md5 = setuptoolsHash;
   };
 
   zcbuildout = fetchurl {
-    url = "${pypi_url}/source/z/zc.buildout/zc.buildout-${zcbuildoutVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/ec/a1/60214738d5dcb199ad97034ecf349d18f3ab69659df827a5e182585bfe48/zc.buildout-${zcbuildoutVersion}.tar.gz";
     md5 = zcbuildoutHash;
   };
 
   zcrecipeegg = fetchurl {
-    url = "${pypi_url}/source/z/zc.recipe.egg/zc.recipe.egg-${zcrecipeeggVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/08/5e/ade683d229d77ed457017145672f1be4fd98be60f1a5344109a4e66a7d54/zc.recipe.egg-${zcrecipeeggVersion}.tar.gz";
     md5 = zcrecipeeggHash;
   };
 
   wheel = fetchurl {
-    url = "${pypi_url}/source/w/wheel/wheel-${wheelVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-${wheelVersion}.tar.gz";
     md5 = wheelHash;
   };
 
   click = fetchurl {
-    url = "${pypi_url}/source/c/click/click-${clickVersion}.tar.gz";
+    url = "https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-${clickVersion}.tar.gz";
     md5 = clickHash;
   };
 
diff --git a/pkgs/development/tools/sauce-connect/default.nix b/pkgs/development/tools/sauce-connect/default.nix
index dbaef2c9ad70..e93006b89ce3 100644
--- a/pkgs/development/tools/sauce-connect/default.nix
+++ b/pkgs/development/tools/sauce-connect/default.nix
@@ -4,23 +4,25 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "sauce-connect-${version}";
-  version = "4.3.14";
+  version = "4.3.16";
 
   src = fetchurl (
     if stdenv.system == "x86_64-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux.tar.gz";
-      sha256 = "0j900dijhq8rpjaf2hgqvz5gy3dgal6l1f7q6353m2v14jbwb786";
+      sha256 = "0i4nvb1yd9qnbgbfc8wbl7ghpmba2jr98hj4y4j4sbjfk65by3xw";
     } else if stdenv.system == "i686-linux" then {
       url = "https://saucelabs.com/downloads/sc-${version}-linux32.tar.gz";
-      sha256 = "0nkgd1pyh21p0yg1zs0nzki0w4wsl1yy964lbz6mf6nrsjzqg54k";
+      sha256 = "1w9b1584kh1n4fw0wxbyslxp6w09if53fv4p9zz7vn4smm79ndfz";
     } else {
       url = "https://saucelabs.com/downloads/sc-${version}-osx.zip";
-      sha256 = "1mcvxvqvfikkn19mjwws55x2abjp09jvjjg6b15x8w075bd9ql8g";
+      sha256 = "1vhz2j30p285blspg7prr9bsah6f922p0mv7mhmk6xzgf6fgn764";
     }
   );
 
   buildInputs = [ unzip ];
-  phases = "unpackPhase installPhase " + (if stdenv.system == "x86_64-darwin" then "" else "patchPhase");
+  phases = [ "unpackPhase" ]
+   ++ (lib.optionals (stdenv.system != "x86_64-darwin") [ "patchPhase" ])
+   ++ [ "installPhase " ];
 
   patchPhase = ''
     patchelf \
diff --git a/pkgs/development/tools/toluapp/default.nix b/pkgs/development/tools/toluapp/default.nix
index 73a8b64ed22a..4ae814022d68 100644
--- a/pkgs/development/tools/toluapp/default.nix
+++ b/pkgs/development/tools/toluapp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, scons, lua }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.92";
+  version = "1.0.93";
   name = "toluapp-${version}";
 
   src = fetchFromGitHub {
-    owner = "eddieringle";
+    owner = "LuaDist";
     repo  = "toluapp";
-    rev   = "b1e680dc486c17128a3c21f89db1693ff06c02b1";
-    sha256 = "1d1a9bll9825dg4mz71vwykvfd3s5zi2yvzbfsvlr3qz1l3zqfwb";
+    rev   = "${version}";
+    sha256 = "0zd55bc8smmgk9j4cf0jpibb03lgsvl0knpwhplxbv93mcdnw7s0";
   };
 
   buildInputs = [ lua scons ];
@@ -26,8 +26,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''scons install'';
 
-  meta = {
-    license = stdenv.lib.licenses.mit;
+  meta = with stdenv.lib; {
+    description = "A tool to integrate C/Cpp code with Lua";
+    homepage = http://www.codenix.com/~tolua/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ vrthra ];
   };
-
 }
diff --git a/pkgs/development/web/nodejs/v4.nix b/pkgs/development/web/nodejs/v4.nix
index f8b8830a6fc0..fa22f9d54c5c 100644
--- a/pkgs/development/web/nodejs/v4.nix
+++ b/pkgs/development/web/nodejs/v4.nix
@@ -4,9 +4,9 @@
 }@args:
 
 import ./nodejs.nix (args // rec {
-  version = "4.4.4";
+  version = "4.4.6";
   src = fetchurl {
     url = "http://nodejs.org/dist/v${version}/node-v${version}.tar.xz";
-    sha256 = "055i4wcc5sfqv7ksdxwbxpy4v1qc16lkzgbyhx46cnhl072fv71c";
+    sha256 = "0f6bbfbea525469c91932b1aac35e0810e6bcda96f1c720e42a433942ee66106";
   };
 })
diff --git a/pkgs/games/minecraft-server/default.nix b/pkgs/games/minecraft-server/default.nix
index bcd3fcf9df20..3cd35c728bfc 100644
--- a/pkgs/games/minecraft-server/default.nix
+++ b/pkgs/games/minecraft-server/default.nix
@@ -2,13 +2,15 @@
 
 stdenv.mkDerivation rec {
   name    = "minecraft-server-${version}";
-  version = "1.9.4";
+  version = "1.10.2";
 
   src  = fetchurl {
     url    = "http://s3.amazonaws.com/Minecraft.Download/versions/${version}/minecraft_server.${version}.jar";
-    sha256 = "1ba0xb0a8vkzpl4r6dkkh4y7sk667m4y5gbyxlads16q22magzhk";
+    sha256 = "08bss3laa265aavdgivzsv7asd5s2sdqnlqr767j3yf54y14cpqr";
   };
 
+  preferLocalBuild = true;
+
   installPhase = ''
     mkdir -p $out/bin $out/lib/minecraft
     cp -v $src $out/lib/minecraft/server.jar
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/misc/emulators/higan/default.nix
index 77392913cb1a..f180a446d055 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/misc/emulators/higan/default.nix
@@ -11,12 +11,12 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "higan-${version}";
-  version = "098";
+  version = "099";
   sourceName = "higan_v${version}-source";
 
   src = fetchurl {
     urls = [ "http://download.byuu.org/${sourceName}.7z" ];
-    sha256 = "0qphvjfv17dbmzgb4pny2q6ln0lsgzyhalq6qyqxc3qwm4fzdjv1";
+    sha256 = "11lfsas1ym3xwb1rc27z1skvb4m176swix9dih4rvnlqxkqz4qhw";
     curlOpts = "--user-agent 'Mozilla/5.0'"; # the good old user-agent trick...
   };
 
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix
index f5b64f1517f6..0d3fca6e1c88 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/misc/emulators/wine/base.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
   ++ lib.optional alsaSupport            pkgs.alsaLib
   ++ lib.optional pulseaudioSupport      pkgs.libpulseaudio
   ++ lib.optional xineramaSupport        pkgs.xorg.libXinerama
-  ++ lib.optional gstreamerSupport       pkgs.gst_plugins_base
+  ++ lib.optionals gstreamerSupport      (with pkgs.gst_all; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-ffmpeg ])
   ++ lib.optionals gtkSupport    [ pkgs.gtk3 pkgs.gnome.glib ]
   ++ lib.optionals openclSupport [ pkgs.opencl-headers pkgs.opencl-icd ]
   ++ lib.optionals xmlSupport    [ pkgs.libxml2 pkgs.libxslt ]
@@ -88,6 +88,10 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) {
     ${lib.strings.concatStringsSep "\n"
           ((map (links "share/wine/gecko") geckos)
         ++ (map (links "share/wine/mono")  monos))}
+  '' + lib.optionalString supportFlags.gstreamerSupport ''
+    wrapProgram "$out/bin/wine" \
+      --argv0 "" \
+      --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
   '';
   
   enableParallelBuilding = true;
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix
index 0c4690bffef8..c86928c586e8 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/misc/emulators/wine/sources.nix
@@ -55,8 +55,8 @@ in rec {
   };
 
   winetricks = fetchFromGitHub rec {
-    version = "20160219";
-    sha256 = "1wqsbdh2qa5xxswilniki9wzbhlmkl6jqmryjd9f5smirr7ryy2r";
+    version = "20160622";
+    sha256 = "0xh7mc5xby0zxx2g3q1ky18s20y6s7wp3vzvgxydwzhhwf32189q";
     owner = "Winetricks";
     repo = "winetricks";
     rev = version;
diff --git a/pkgs/misc/themes/numix-gtk-theme/default.nix b/pkgs/misc/themes/numix/default.nix
index b8dac2540090..b8dac2540090 100644
--- a/pkgs/misc/themes/numix-gtk-theme/default.nix
+++ b/pkgs/misc/themes/numix/default.nix
diff --git a/pkgs/misc/themes/paper-gtk-theme/default.nix b/pkgs/misc/themes/paper/default.nix
index 5dfb54fa493c..5dfb54fa493c 100644
--- a/pkgs/misc/themes/paper-gtk-theme/default.nix
+++ b/pkgs/misc/themes/paper/default.nix
diff --git a/pkgs/os-specific/linux/acpitool/default.nix b/pkgs/os-specific/linux/acpitool/default.nix
index 6fc3bbe7c08e..083ff3213fe0 100644
--- a/pkgs/os-specific/linux/acpitool/default.nix
+++ b/pkgs/os-specific/linux/acpitool/default.nix
@@ -1,13 +1,46 @@
-{stdenv, fetchurl}:
+{stdenv, fetchurl, fetchpatch}:
 
-stdenv.mkDerivation rec {
+let
+   acpitool-patch-051-4 = params: fetchpatch rec {
+     inherit (params) name sha256;
+     url = "https://anonscm.debian.org/cgit/pkg-acpi/acpitool.git/plain/debian/patches/${name}?h=debian/0.5.1-4&id=3fd9f396f12ec9c1cae3337a2a25026b7faad2ae";
+   };
+
+in stdenv.mkDerivation rec {
   name = "acpitool-0.5.1";
-  
+
   src = fetchurl {
     url = "mirror://sourceforge/acpitool/${name}.tar.bz2";
     sha256 = "004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f";
   };
 
+  patches = [
+    (acpitool-patch-051-4 {
+      name = "ac_adapter.patch";
+      sha256 = "0rn14vfv9x5gmwyvi6bha5m0n0pm4wbpg6h8kagmy3i1f8lkcfi8";
+    })
+    (acpitool-patch-051-4 {
+      name = "battery.patch";
+      sha256 = "190msm5cgqgammxp1j4dycfz206mggajm5904r7ifngkcwizh9m7";
+    })
+    (acpitool-patch-051-4 {
+      name = "kernel3.patch";
+      sha256 = "1qb47iqnv09i7kgqkyk9prr0pvlx0yaip8idz6wc03wci4y4bffg";
+    })
+    (acpitool-patch-051-4 {
+      name = "wakeup.patch";
+      sha256 = "1mmzf8n4zsvc7ngn51map2v42axm9vaf8yknbd5amq148sjf027z";
+    })
+    (acpitool-patch-051-4 {
+      name = "0001-Do-not-assume-fixed-line-lengths-for-proc-acpi-wakeu.patch";
+      sha256 = "10wwh7l3jbmlpa80fzdr18nscahrg5krl18pqwy77f7683mg937m";
+    })
+    (acpitool-patch-051-4 {
+      name = "typos.patch";
+      sha256 = "1178fqpk6sbqp1cyb1zf9qv7ahpd3pidgpid3bbpms7gyhqvvdpa";
+    })
+  ];
+
   meta = {
     description = "A small, convenient command-line ACPI client with a lot of features";
     homepage = http://freeunix.dyndns.org:8000/site2/acpitool.shtml;
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 98bf27d3c4a2..992d42e2e126 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2016-01-26";
+  version = "2016-05-18";
 
   # This repo is built by merging the latest versions of
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
@@ -14,8 +14,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "wkennington";
     repo = "linux-firmware";
-    rev = "0922e78fc8431c2cc6585eb66e5b75f566644ac8";
-    sha256 = "07hv4kgbsxndhm1va6k6scy083886aap3naq1l4jdz7dnph4ir02";
+    rev = "19495832c6899bd811874439376d513290773c31";
+    sha256 = "1700a24sfw6xa3q3r8aa5wfhydgix83m57plpfirdmc9qr4isrr0";
   };
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/guvcview/default.nix b/pkgs/os-specific/linux/guvcview/default.nix
index 40c9bdaaeacb..40af8c8553a1 100644
--- a/pkgs/os-specific/linux/guvcview/default.nix
+++ b/pkgs/os-specific/linux/guvcview/default.nix
@@ -5,12 +5,12 @@
 assert pulseaudioSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "2.0.2";
+  version = "2.0.4";
   name = "guvcview-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/guvcview/source/guvcview-src-${version}.tar.gz";
-    sha256 = "1hnx6h2d3acwpw93ahj54nhizd6qrmylylq6qbjxvilbfprg6y34";
+    sha256 = "18jg6dlqallpvjkb09dyn1v6prdmim4rrw22mhv8vdd9d18z83k7";
   };
 
   buildInputs =
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 3fe7df6b40ea..27b97054d1ae 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.101";
+  version = "3.10.102";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1g8jx6vla8bjhy3xn0s7r6awinxpfr1w8zqfzjsx88pkqbf8qd9n";
+    sha256 = "0hvymhmbvpmpz1jk0xwhxyskijdh6bzakqj7k0gaa2y0wdj33pxi";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 49de2c2ab0f3..278548f09e93 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.57";
+  version = "3.12.61";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0qv88rvi0n45z3888w2gis35lxdx34qg2p7c2cac2szbrzv664s8";
+    sha256 = "1q44z8gdbrw76vl5wbm8y2vy119lacxyaf2xi6q9jasvwkjc4h36";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index f69fa93ea2fd..f06526ea52d9 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.65";
+  version = "3.14.73";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0pqfgzinwgllvyx0cfv0vnllgvzrrpbr2yi21zgppdd1iw6nipsd";
+    sha256 = "17wpb2za3kymk88xk68k8qhlc4vvhky9wvcwyfbiq5hblf98ghgy";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 28893ce3f9fc..975a60ff6bff 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.29";
+  version = "3.18.36";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0g8vlhifl31dyghiamykrpgj6n8h5w6gh6n88ir57z6lj188vaj8";
+    sha256 = "0iqyll1p1pkyl5rj440kjg483gqhhg6z7r61ln6rzbqm5g943fvq";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 1e8932ad598a..478e0d7ce242 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.25";
+  version = "4.1.27";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0rfs5vn9ggymd426jr4gkhgk9bnn1g9c5x7k3xgfh4i08mq1920f";
+    sha256 = "02gkmn3j15wih6aq94p6mbivv996lr7zcj6vz4wh8wr7wmmy1kmv";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.3.nix b/pkgs/os-specific/linux/kernel/linux-4.3.nix
deleted file mode 100644
index 0bdc2d08d8a4..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-4.3.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "4.3.6";
-
-  extraMeta.branch = "4.3";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0wdd8z4ykjz1rkizlv9dm70vjd87fly4km4bs7av4p5w5xfp98z0";
-  };
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index f12a8b0ba271..e563a5bee62c 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.13";
+  version = "4.4.14";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1zd661l1m455f80bwllzycyvzklkyv3ppfjhknw8fid4blvkvsr7";
+    sha256 = "1yam0lmj465xsdv3h9zkz2ca5j6sdn18ydv8225scq3ig49bllsr";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.6.nix b/pkgs/os-specific/linux/kernel/linux-4.6.nix
index 6223a55c467b..d5ea9039891e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.6.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.6.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.6.2";
+  version = "4.6.3";
   extraMeta.branch = "4.6";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "e158f3c69da87c2ec28d0f194dbe18b05e0d0b9e1142566615cea3390bab1c6a";
+    sha256 = "0rq9cciabw5gfi2z30fcwh6z4zm2fgp938xmblfw59hyjj98h60k";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 40848ab4ca45..0aeeb61b2eb4 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -94,8 +94,8 @@ rec {
 
   grsecurity_testing = grsecPatch
     { kver   = "4.5.7";
-      grrev  = "201606202152";
-      sha256 = "1xa9jx6ix8ycbfh9h30lwhhcsq0313q7yqdg8zfaba26lp49mp5n";
+      grrev  = "201606280009";
+      sha256 = "1djjh86yhv2hvflr05sw448lav1a5j1ncdx087wf1d9ac8p0pvbf";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index 1e74cd94c55b..5d54d0a21ff3 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, kernel, zlib }:
 
 let
-  version = "0.7";
+  version = "1.0";
 in
 
 stdenv.mkDerivation {
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.atoptool.nl/download/netatop-${version}.tar.gz";
-    sha256 = "11v9lvlshn7mwsbr69xrm7gfhxbgdczcf3cf9fssbd9qgv9abifl";
+    sha256 = "1l7xs3hnfbk6h5gdrw1ikfa0fvfpb5vd447xhwfllvicblqyip8b";
   };
 
   buildInputs = [ zlib ];
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index c9049259fb26..98ca50c5bc4a 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "jetty-${version}";
-  version = "9.3.9.v20160517";
+  version = "9.3.10.v20160621";
 
   src = fetchurl {
     url = "http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0yqzcv4mj9wj8882jssf8ylh6s3jhgylrqxfggbn102dw05pppqs";
+    sha256 = "0xqv7bp82i95gikma70kyi91nlgsj5zabzg59ly9ga4mqf5y0zbz";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/servers/mail/rmilter/default.nix b/pkgs/servers/mail/rmilter/default.nix
index 85979ecca823..90d5e87fd7d4 100644
--- a/pkgs/servers/mail/rmilter/default.nix
+++ b/pkgs/servers/mail/rmilter/default.nix
@@ -8,13 +8,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "rmilter-${version}";
-  version = "1.8.4";
+  version = "1.8.5";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rmilter";
     rev = version;
-    sha256 = "0d2hv39sbzsv3bkbx433vpdqgcjv71v2kkaz4k065xppi35wa2js";
+    sha256 = "1bfql9v243iw3v87kjgwcx4xxw7g5nv1rsi9gk8p7xg5mzrhi3bn";
   };
 
   nativeBuildInputs = [ bison cmake flex ];
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 92b529fc564c..648bc043d4a2 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -6,13 +6,13 @@ in
 
 stdenv.mkDerivation rec {
   name = "rspamd-${version}";
-  version = "1.2.6";
+  version = "1.2.7";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rspamd";
     rev = version;
-    sha256 = "152s8shanzm1z0ijcsvki21s4gy2v6lby82qh6ngwl6abh465gq9";
+    sha256 = "0wr9lndg5fpsrjknm828zj0zy7zvdqrak9bdr6pga3bnq6xabbik";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
diff --git a/pkgs/servers/monitoring/bosun/default.nix b/pkgs/servers/monitoring/bosun/default.nix
index ed8f14387eb6..d9af026dfb6a 100644
--- a/pkgs/servers/monitoring/bosun/default.nix
+++ b/pkgs/servers/monitoring/bosun/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "bosun";
-  rev = "0.5.0-rc4";
+  rev = "0.5.0";
 
   src = fetchFromGitHub {
     inherit rev;
     owner = "bosun-monitor";
     repo = "bosun";
-    sha256 = "0cybhy5nshg3z2h5i6r8p9d0qihcnz8s8wh5cqf17ix17k31qans";
+    sha256 = "1qj97wiqj6awivvac1n00k0x8wdv4ambzdj4502nmmnr5rdbqq88";
   };
 
   subPackages = [ "cmd/bosun" "cmd/scollector" ];
diff --git a/pkgs/shells/elvish/default.nix b/pkgs/shells/elvish/default.nix
new file mode 100644
index 000000000000..e793814bb240
--- /dev/null
+++ b/pkgs/shells/elvish/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "elvish-${version}";
+  version = "0.1";
+
+  goPackagePath = "github.com/elves/elvish";
+
+  src = fetchFromGitHub {
+    repo = "elvish";
+    owner = "elves";
+    rev = "4125c2bb927330b0100b354817dd4ad252118ba6";
+    sha256 = "1xwhjbw0y6j5xy19hz39456l0v6vjg2icd7c1jx4h1cydk3yn39f";
+  };
+
+  goDeps = ./deps.json;
+
+  meta = with stdenv.lib; {
+    description = "A Novel unix shell in go language";
+    homepage = https://github.com/elves/elvish;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ vrthra ];
+  };
+}
diff --git a/pkgs/shells/elvish/deps.json b/pkgs/shells/elvish/deps.json
new file mode 100644
index 000000000000..827614a4268f
--- /dev/null
+++ b/pkgs/shells/elvish/deps.json
@@ -0,0 +1,9 @@
+[
+  {
+    "include": "../../libs.json",
+    "packages": [
+      "github.com/mattn/go-sqlite3",
+      "github.com/elves/getopt"
+    ]
+  }
+]
diff --git a/pkgs/shells/xonsh/default.nix b/pkgs/shells/xonsh/default.nix
index 92f7f20993f7..608fa02a126e 100644
--- a/pkgs/shells/xonsh/default.nix
+++ b/pkgs/shells/xonsh/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   name = "xonsh-${version}";
-  version = "0.3.4";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "scopatz";
     repo = "xonsh";
     rev = version;
-    sha256= "13inkj0vs8nqdghp3j19dardawfsdmcsfzsp77hlwavmw7sqjxzi";
+    sha256= "1d5w307vgpqjimhfipkwsnh3lvvajva9fjl58sg9hh322qicm01g";
   };
 
   ## The logo xonsh prints during build contains unicode characters, and this
@@ -23,22 +23,25 @@ python3Packages.buildPythonApplication rec {
   patchPhase = ''
     rm xonsh/winutils.py
     sed -i -e "s|/bin/ls|${coreutils}/bin/ls|" tests/test_execer.py
+    sed -ie 's|test_win_ipconfig|_test_win_ipconfig|g' tests/test_execer.py
+    sed -ie 's|test_ipconfig|_test_ipconfig|g' tests/test_execer.py
     rm tests/test_main.py
     rm tests/test_man.py
+    rm tests/test_replay.py
   '';
 
   checkPhase = ''
-    HOME=$TMPDIR nosetests -x
+    HOME=$TMPDIR XONSH_INTERACTIVE=0 nosetests -x
   '';
 
-  buildInputs = with python3Packages; [ glibcLocales nose ];
+  buildInputs = with python3Packages; [ glibcLocales nose pytest ];
   propagatedBuildInputs = with python3Packages; [ ply prompt_toolkit ];
 
   meta = with stdenv.lib; {
     description = "A Python-ish, BASHwards-compatible shell";
     homepage = "http://xonsh.org";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ spwhitt garbas ];
+    maintainers = with maintainers; [ spwhitt garbas vrthra ];
     platforms = platforms.all;
   };
 
diff --git a/pkgs/shells/zsh-completions/default.nix b/pkgs/shells/zsh-completions/default.nix
new file mode 100644
index 000000000000..dc62460441d1
--- /dev/null
+++ b/pkgs/shells/zsh-completions/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub}:
+
+stdenv.mkDerivation rec {
+  name = "zsh-completions-${version}";
+  version = "0.18.0";
+
+  src = fetchFromGitHub {
+    owner = "zsh-users";
+    repo = "zsh-completions";
+    rev = "${version}";
+    sha256 = "0iwb1kaidjxaz66kbbdzbydbdlfc6dk21sflzar0zy25jgx1p4xs";
+  };
+
+  installPhase= ''
+    install -D --target-directory=$out/share/zsh/site-functions src/*
+  '';
+
+  meta = {
+    description = "Additional completion definitions for zsh";
+    homepage = "https://github.com/zsh-users/zsh-completions";
+    license = stdenv.lib.licenses.free;
+
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.olejorgenb ];
+  };
+}
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 643e4664f719..0c33ed5b9acd 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -6,11 +6,11 @@
 , libfakeXinerama }:
 
 buildPythonApplication rec {
-  name = "xpra-0.17.0";
+  name = "xpra-0.17.3";
   namePrefix = "";
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0abli2gc174v8zh1dsc3nq8c5aivnni67cjrr8yhsqsl8fwj0c2l";
+    sha256 = "0ffa8yljj7rkn0pvpagg1dhnwkqjiv9n4c75yilqnnjhma67pl4w";
   };
 
   buildInputs = [
@@ -29,7 +29,7 @@ buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with pythonPackages; [
-    pillow pygtk pygobject
+    pillow pygtk pygobject rencode
   ];
 
   preBuild = ''
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index 3268135b57b6..ff247f9e3f98 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -3,11 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="zpaqd";
-    version="707";
+    version="7.08";
     name="${baseName}-${version}";
-    hash="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688";
-    url="http://mattmahoney.net/dc/zpaqd707.zip";
-    sha256="0012jzs2gk232shgx60323jd3g1i5ab5sjydynz2d1k3dkjxs688";
+    url="http://mattmahoney.net/dc/zpaqd708.zip";
+    sha256="18mkfz7v73rp5l712107m3x5a3v6y0vjf47a6s3di8x416kbcp2a";
   };
   isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
   isx86 = stdenv.isi686 || stdenv.isx86_64;
@@ -44,7 +43,6 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    inherit (s) version;
     description = "ZPAQ archive (de)compressor and algorithm development tool";
     license = licenses.gpl3Plus ;
     maintainers = with maintainers; [ raskin nckx ];
diff --git a/pkgs/tools/backup/attic/default.nix b/pkgs/tools/backup/attic/default.nix
index a639dbb2fd29..d4e8634039a9 100644
--- a/pkgs/tools/backup/attic/default.nix
+++ b/pkgs/tools/backup/attic/default.nix
@@ -12,7 +12,7 @@ python3Packages.buildPythonApplication rec {
   };
 
   propagatedBuildInputs = with python3Packages;
-    [ cython msgpack openssl acl llfuse ];
+    [ cython msgpack openssl acl llfuse-0-41 ];
 
   preConfigure = ''
     export ATTIC_OPENSSL_PREFIX="${openssl.dev}"
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 34f0d870e1fa..336b332838f0 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
-    sha256 = "10n54lv33r90qbwvdvj4hx82g454pg1fhca3phkyh9mncbdvaqma";
+    sha256 = "0h922kw6q0nsbigv86k7xqpfh4rj7rjxp60pgjmp5vlb2bma03sm";
     rev = "v${version}";
     repo = "zstd";
     owner = "Cyan4973";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     # The licence of the CLI programme is GPLv2+, that of the library BSD-2.
     license = with licenses; [ gpl2Plus bsd2 ];
 
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ nckx ];
   };
 }
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 69e5f8c401c5..a58f2b5504b5 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -2,14 +2,14 @@
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
 
-let version = "4.6"; in
+let version = "4.6.1"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1wjd1017k0jsdcjdmcj540qg2gpjiw3vq6bhg3wd7n4dk5d5cryq";
+    sha256 = "06c9l6m3w29dndk17jrlpgr01wykl10h34zva8zc2c571z6mrlaf";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch b/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch
new file mode 100644
index 000000000000..829666bfe7a4
--- /dev/null
+++ b/pkgs/tools/filesystems/dislocker/cmake_dirfix.patch
@@ -0,0 +1,13 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 365903a..f126ade 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -149,7 +149,7 @@ if(NOT DEFINED bindir)
+ endif()
+ 
+ string (TOLOWER "${CMAKE_SYSTEM_NAME}" SYSNAME)
+-set (DIS_MAN ../man/${SYSNAME})
++set (DIS_MAN ${PROJECT_SOURCE_DIR}/man/${SYSNAME})
+ 
+ # RPATH handling
+ if(POLICY CMP0042)
diff --git a/pkgs/tools/filesystems/dislocker/default.nix b/pkgs/tools/filesystems/dislocker/default.nix
new file mode 100644
index 000000000000..57676e7a89a2
--- /dev/null
+++ b/pkgs/tools/filesystems/dislocker/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub
+, cmake
+, polarssl , fuse
+}:
+with stdenv.lib;
+let
+  version = "0.6.1";
+in
+stdenv.mkDerivation rec {
+  name = "dislocker-${version}";
+
+  src = fetchFromGitHub {
+    owner = "aorimn";
+    repo = "dislocker";
+    rev = "v${version}";
+    sha256 = "1s2pvsf4jgzxk9d9m2ik7v7g81lvj8mhmhh7f53vwy0vmihf9h0d";
+  };
+
+  buildInputs = [ cmake fuse polarssl ];
+
+  patches = [ ./cmake_dirfix.patch ];
+
+  meta = {
+    description = "Read BitLocker encrypted partitions in Linux";
+    homepage    = https://github.com/aorimn/dislocker;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ elitak ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/inputmethods/ibus/wrapper.nix b/pkgs/tools/inputmethods/ibus/wrapper.nix
index 690043791b20..74333c459e8f 100644
--- a/pkgs/tools/inputmethods/ibus/wrapper.nix
+++ b/pkgs/tools/inputmethods/ibus/wrapper.nix
@@ -23,7 +23,7 @@ let
 
     for prog in ibus ibus-daemon ibus-setup; do
         wrapProgram "$out/bin/$prog" \
-          --prefix GDK_PIXBUF_MODULE_FILE : ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
+          --set GDK_PIXBUF_MODULE_FILE ${librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
           --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH:$out/lib/girepository-1.0" \
           --prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules" \
           --set IBUS_COMPONENT_PATH "$out/share/ibus/component/" \
diff --git a/pkgs/tools/misc/binwalk/default.nix b/pkgs/tools/misc/binwalk/default.nix
deleted file mode 100644
index 6e16957aac26..000000000000
--- a/pkgs/tools/misc/binwalk/default.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, fetchFromGitHub, python, wrapPython, curses, zlib, xz, ncompress, gzip, bzip2, gnutar, p7zip, cabextract
-, pyqtgraph ? null
-, visualizationSupport ? false }:
-
-assert visualizationSupport -> pyqtgraph != null;
-
-stdenv.mkDerivation rec {
-  version = "2.0.1";
-  name = "binwalk-${version}";
-
-  src = fetchFromGitHub {
-    owner = "devttys0";
-    repo = "binwalk";
-    rev = "v${version}";
-    sha256 = "1r5389lk3gk8y4ksrfljyb97l6pwnwvv8g1slbgr20avkzgw8zmn";
-  };
-
-  pythonPath = with stdenv.lib; [ curses ]
-               ++ optional visualizationSupport [ pyqtgraph ];
-
-  propagatedBuildInputs = with stdenv.lib; [ python wrapPython curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract ]
-                          ++ optional visualizationSupport [ pyqtgraph ];
-
-  postInstall = "wrapPythonPrograms";
-
-  meta = with stdenv.lib; {
-    homepage = "http://binwalk.org";
-    description = "A tool for searching a given binary image for embedded files";
-    platforms = platforms.all;
-    maintainers = [ maintainers.koral ];
-  };
-}
diff --git a/pkgs/tools/misc/datamash/default.nix b/pkgs/tools/misc/datamash/default.nix
index e65cec542186..e19d06136358 100644
--- a/pkgs/tools/misc/datamash/default.nix
+++ b/pkgs/tools/misc/datamash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "datamash-${version}";
-  version = "1.0.7";
+  version = "1.1.0";
 
   src = fetchurl {
-    url = "http://ftp.gnu.org/gnu/datamash/${name}.tar.gz";
-    sha256 = "0y49zaadzirghy4xfajvsv1f5x805cjp61z212ggipx5243302qs";
+    url = "mirror://gnu/datamash/${name}.tar.gz";
+    sha256 = "1c2bj0jrm4fxkf0ykxkzgyk1l9s0idqm8rbzmk3n9pgldb4arrd9";
   };
 
   meta = with stdenv.lib; {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/datamash/;
     license = licenses.gpl3Plus;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub vrthra ];
   };
 
 }
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index eaf1f1869d6e..e8c8d9830c7b 100644
--- a/pkgs/tools/misc/fzf/default.nix
+++ b/pkgs/tools/misc/fzf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "fzf-${version}";
-  version = "0.12.2";
+  version = "0.13.2";
   rev = "${version}";
 
   goPackagePath = "github.com/junegunn/fzf";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "junegunn";
     repo = "fzf";
-    sha256 = "02qqcnijv8z3736iczbx082yizpqk02g5k746k7sdgfkgyxydppk";
+    sha256 = "12dr0wib2ajs64a8d3l3zmgj2y8rklkc3xrvgscxgiv29lrlmvfz";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/mbuffer/default.nix b/pkgs/tools/misc/mbuffer/default.nix
index b75b5dfbebd5..51c0ebc82aeb 100644
--- a/pkgs/tools/misc/mbuffer/default.nix
+++ b/pkgs/tools/misc/mbuffer/default.nix
@@ -3,12 +3,12 @@
  } :
 
 stdenv.mkDerivation rec {
-  version = "20151002";
+  version = "20160613";
   name = "mbuffer-${version}";
 
   src = fetchurl {
     url = "http://www.maier-komor.de/software/mbuffer/mbuffer-${version}.tgz";
-    sha256 = "04pz70jr7fkdyax7b67g9jr0msl6ff2i8s6fl8zginqz5rrxckqk";
+    sha256 = "1za9yqfn23axnp4zymdsrjkqcci3wxywqw3bv4dxms57q1ljiab7";
   };
 
   buildInputs = [ openssl ];
@@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
     description  = "mbuffer is a tool for buffering data streams with a large set of unique features";
     license = stdenv.lib.licenses.gpl3;
     maintainers = with stdenv.lib.maintainers; [ tokudan ];
-    platforms = with stdenv.lib.platforms; all;
+    platforms = with stdenv.lib.platforms; allBut darwin;
   };
 }
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 659a12dde6b0..d6bb00eeb640 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20160422";
+  name = "parallel-20160622";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "0hmcr5lcg3701rh804fch6qp6pcrmgwcaigbm4c14dk6293qynh6";
+    sha256 = "1axng9bwapmb0vrrv67pp787gv7r5g02zyrfwnrhpxhi8zmm1jmg";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -42,6 +42,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/parallel/;
     license = licenses.gpl3Plus;
     platforms = platforms.all;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub vrthra ];
   };
 }
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index b36697ede02d..d16fdd4e605c 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
-, makeWrapper, pygobject, pygtk, docbook_xml_dtd_412, docbook_xsl
-, pythonDBus, libxml2, desktop_file_utils, libusb1, cups, pycups
+, makeWrapper, gtk3, docbook_xml_dtd_412, docbook_xsl
+, libxml2, desktop_file_utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
 , pythonPackages
 , withGUI ? true
 }:
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://cyberelk.net/tim/data/system-config-printer/${majorVersion}/${name}.tar.xz";
-    sha256 = "1cg9n75rg5l9vr1925n2g771kga33imikyl0mf70lww2sfgvs18r";
+    sha256 = "1vxczk22f58nbikvj47s2x1gzh6q4mbgwnf091p00h3b6nxppdgn";
   };
 
   propagatedBuildInputs = [ pythonPackages.pycurl ];
@@ -25,18 +25,21 @@ in stdenv.mkDerivation rec {
       pythonPackages.python pythonPackages.wrapPython
     ];
 
-  pythonPath =
-    [ pythonDBus pycups pygobject pythonPackages.pycurl ]
-    ++ stdenv.lib.optionals withGUI [ pygtk pythonPackages.notify ];
+  pythonPath = with pythonPackages;
+    [ pycups pycurl dbus pygobject3 requests2 ];
 
   configureFlags =
     [ "--with-udev-rules"
+      "--with-udevdir=$(out)/etc/udev"
       "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     ];
 
   postInstall =
+    let
+      giTypelibPath = stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gdk_pixbuf.out gtk3.out pango.out atk.out libnotify.out ];
+    in
     ''
-      export makeWrapperArgs="--set prefix $out"
+      export makeWrapperArgs="--set prefix $out --set GI_TYPELIB_PATH ${giTypelibPath}"
       wrapPythonPrograms
       # The program imports itself, so we need to move shell wrappers to a proper place.
       fixupWrapper() {
diff --git a/pkgs/tools/misc/togglesg-download/default.nix b/pkgs/tools/misc/togglesg-download/default.nix
index 30b632f525d2..14b9b1fcd9df 100644
--- a/pkgs/tools/misc/togglesg-download/default.nix
+++ b/pkgs/tools/misc/togglesg-download/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, buildPythonApplication, makeWrapper, ffmpeg }:
+{ stdenv, lib, fetchFromGitHub, buildPythonApplication, makeWrapper, ffmpeg_3 }:
 
 buildPythonApplication rec {
 
   name = "togglesg-download-git-${version}";
-  version = "2016-02-08";
+  version = "2016-05-31";
 
   src = fetchFromGitHub {
     owner = "0x776b7364";
     repo = "toggle.sg-download";
-    rev = "5cac3ec039d67ad29240b2fa850a8db595264e3d";
-    sha256 = "0pqw73aa5b18d5ws4zj6gcmzap6ag526jrylqq80m0yyh9yxw5hs";
+    rev = "7d7c5f4d549360f95e248accd9771949abd94ad2";
+    sha256 = "0xj42khvacwmhbiy2p8rxk7lqg7pvya4zdc2c34lnr3avdp49fjn";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -20,12 +20,11 @@ buildPythonApplication rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    install -m755 download_toggle_video2.py $out/bin/download_toggle_video2.py
+    substitute $src/download_toggle_video2.py $out/bin/download_toggle_video2.py \
+      --replace "ffmpeg_download_cmd = 'ffmpeg" "ffmpeg_download_cmd = '${lib.getBin ffmpeg_3}/bin/ffmpeg"
+    chmod 0755 $out/bin/download_toggle_video2.py
   '';
 
-  postInstall = stdenv.lib.optionalString (ffmpeg != null)
-    ''wrapProgram $out/bin/download_toggle_video2.py --prefix PATH : "${ffmpeg}/bin"'';
-
   meta = with stdenv.lib; {
     homepage = "https://github.com/0x776b7364/toggle.sg-download";
     description = "Command-line tool to download videos from toggle.sg written in Python";
diff --git a/pkgs/tools/misc/xdo/default.nix b/pkgs/tools/misc/xdo/default.nix
index 26a5b485bf61..ddcf6061ed8b 100644
--- a/pkgs/tools/misc/xdo/default.nix
+++ b/pkgs/tools/misc/xdo/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl, libxcb, xcbutilwm }:
+{ stdenv, fetchFromGitHub, libxcb, xcbutilwm }:
 
 stdenv.mkDerivation rec {
-   name = "xdo-0.5";
+   name = "xdo-${version}";
+   version = "0.5.3";
 
-   src = fetchurl {
-     url = "https://github.com/baskerville/xdo/archive/0.5.tar.gz";
-     sha256 = "0sjnjs12i0gp1dg1m5jid4a3bg9am4qkf0qafyp6yn176yzcz1i6";
+   src = fetchFromGitHub {
+     owner = "baskerville";
+     repo = "xdo";
+     rev = version;
+     sha256 = "0gfrziil6xw6pkr8k8rn56ihy0333v6dlsw3dckib9hm7ikj0k2f";
    };
 
    prePatch = ''sed -i "s@/usr/local@$out@" Makefile'';
@@ -14,9 +17,9 @@ stdenv.mkDerivation rec {
 
    meta = {
      description = "Small X utility to perform elementary actions on windows";
-     homepage = https://github.com/baskerville/xdo;
+     inherit (src.meta) homepage;
      maintainers = [ stdenv.lib.maintainers.meisternu ];
-     license = "Custom";
+     license = stdenv.lib.licenses.bsd2;
      platforms = stdenv.lib.platforms.linux;
    };
 }
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index 9ffd66472579..17af13eaaaa4 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -12,11 +12,11 @@
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2016.06.19.1";
+  version = "2016.06.27";
 
   src = fetchurl {
-    url = "http://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "223c496be84dd57ba9f7d6a132a2732b67c79c7e26e64ecae1439472c10d0d45";
+    url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
+    sha256 = "1kwv20kmb0xnlpkbnsc27abw9cv0gkzbzwzzp4qw5mg3naqkmjvc";
   };
 
   buildInputs = [ makeWrapper zip pandoc ];
diff --git a/pkgs/tools/misc/yubikey-neo-manager/default.nix b/pkgs/tools/misc/yubikey-neo-manager/default.nix
new file mode 100644
index 000000000000..528f9aecb54f
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-neo-manager/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, makeWrapper, python27Packages
+, libykneomgr, yubikey-personalization, libu2f-host }:
+
+python27Packages.buildPythonPackage rec {
+  namePrefix = "";
+  name = "yubikey-neo-manager-${version}";
+  version = "1.4.0";
+  src = fetchurl {
+    url = "https://developers.yubico.com/yubikey-neo-manager/Releases/${name}.tar.gz";
+    sha256 = "1isxvx27hk0avxwgwcwys2z8ickfs816ii1aklvmi09ak1rgrf1g";
+  };
+
+  propagatedBuildInputs = with python27Packages; [ pyside pycrypto ];
+  patches = [ ./fix-pyside-requirement.diff ];
+
+  # aid ctypes load_libary()
+  makeWrapperArgs = [
+    "--set LD_PRELOAD '${libykneomgr}/lib/libykneomgr.so ${yubikey-personalization}/lib/libykpers-1.so ${libu2f-host}/lib/libu2f-host.so'"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://developers.yubico.com/yubikey-neo-manager;
+    description = "Cross platform personalization tool for the YubiKey NEO";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ mbakke ];
+  };
+}
diff --git a/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff b/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff
new file mode 100644
index 000000000000..d11a3a1cc6d9
--- /dev/null
+++ b/pkgs/tools/misc/yubikey-neo-manager/fix-pyside-requirement.diff
@@ -0,0 +1,17 @@
+Description: Remove PySide requirement, since python-pyside does not register itself correctly
+Author: Dain Nilsson <dain@yubico.com>
+Forwarded: no
+--- a/setup.py
++++ b/setup.py
+@@ -44,8 +44,9 @@
+     entry_points={
+         'gui_scripts': ['neoman=neoman.__main__:main']
+     },
+-    install_requires=['PySide', 'pycrypto'],
+-    yc_requires=['ctypes', 'qt'],
++    install_requires=['pycrypto'],
++    yc_requires=['ctypes'],
++    packages=['neoman', 'neoman.model', 'neoman.view', 'neoman.yubicommon', 'neoman.yubicommon.setup', 'neoman.yubicommon.ctypes', 'neoman.yubicommon.qt'],
+     cmdclass={'executable': executable, 'qt_resources': qt_resources('neoman')},
+     classifiers=[
+         'License :: OSI Approved :: BSD License',
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 2e04ea194928..3f853ca303ec 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   majorVersion = "1.6";
-  version = "${majorVersion}.4";
+  version = "${majorVersion}.5";
   name = "haproxy-${version}";
 
   src = fetchurl {
     url = "http://haproxy.1wt.eu/download/${majorVersion}/src/${name}.tar.gz";
-    sha256 = "0c6j1j30xw08zdlk149s9ghvwphhbiqadkacjyvfrs8z9xh3ryp5";
+    sha256 = "1pl5zsn12jjfss3cxzbqmxih4nf2gh8qf83qaayvpavli29zpcy4";
   };
 
   buildInputs = [ openssl zlib ];
diff --git a/pkgs/tools/networking/iperf/3.nix b/pkgs/tools/networking/iperf/3.nix
index 944989f47c34..7dc418cba574 100644
--- a/pkgs/tools/networking/iperf/3.nix
+++ b/pkgs/tools/networking/iperf/3.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "iperf-3.1";
+  name = "iperf-3.1.3";
 
   src = fetchurl {
     url = "http://downloads.es.net/pub/iperf/${name}.tar.gz";
-    sha256 = "0mp6bhfbkkcrdc2sl65k0g5x5csnccqrjk3bc3a0kjr5rqpa71a3";
+    sha256 = "1gwmhm29zlp5grrpglmqj7vgx19s6xy33hk6hpbn8jnpn5lxpn30";
   };
 
   postInstall = ''
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     description = "Tool to measure IP bandwidth using UDP or TCP";
     platforms = platforms.unix;
     license = "as-is";
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ wkennington fpletz ];
   };
 }
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index a24f350d3f0b..62a46c15bc84 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
-, libnotify, libsecret, dbus_glib, polkit, isocodes
+, libnotify, libsecret, polkit, isocodes
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
 , makeWrapper, udev, libgudev, hicolor_icon_theme }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--sysconfdir=/etc" ];
 
   buildInputs = [
-    gnome3.gtk libglade networkmanager libnotify libsecret dbus_glib gsettings_desktop_schemas
+    gnome3.gtk libglade networkmanager libnotify libsecret gsettings_desktop_schemas
     polkit isocodes makeWrapper udev libgudev gnome3.gconf gnome3.libgnome_keyring
   ];
 
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 5b1d56c0184c..63740558a27f 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, intltool, wirelesstools, pkgconfig, dbus_glib, xz
-, systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, dhcpcd, iptables
-, libgcrypt, dnsmasq, avahi, bind, perl, bluez5, substituteAll, readline
+{ stdenv, fetchurl, intltool, pkgconfig, dbus_glib
+, systemd, libgudev, libnl, libuuid, polkit, gnutls, ppp, dhcp, iptables
+, libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, gnused, coreutils, file, inetutils }:
 
@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
       --replace /usr/sbin/ethtool ${ethtool}/sbin/ethtool \
       --replace /bin/sed ${gnused}/bin/sed
     # to enable link-local connections
-    substituteInPlace src/devices/nm-device.c --replace '("avahi-autoipd", NULL, NULL)' '("avahi-autoipd", &"${avahi}/sbin/avahi-autoipd", NULL)'
     configureFlags="$configureFlags --with-udev-dir=$out/lib/udev"
   '';
 
@@ -39,7 +38,6 @@ stdenv.mkDerivation rec {
     "--with-dhclient=${dhcp}/bin/dhclient"
     "--with-dnsmasq=${dnsmasq}/bin/dnsmasq"
     # Upstream prefers dhclient, so don't add dhcpcd to the closure
-    #"--with-dhcpcd=${dhcpcd}/sbin/dhcpcd"
     "--with-dhcpcd=no"
     "--with-pppd=${ppp}/bin/pppd"
     "--with-iptables=${iptables}/bin/iptables"
@@ -56,8 +54,8 @@ stdenv.mkDerivation rec {
     "--with-libsoup=yes"
   ];
 
-  buildInputs = [ wirelesstools systemd libgudev libnl libuuid polkit ppp libndp
-                  xz bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup ];
+  buildInputs = [ systemd libgudev libnl libuuid polkit ppp libndp
+                  bluez5 dnsmasq gobjectIntrospection modemmanager readline newt libsoup ];
 
   propagatedBuildInputs = [ dbus_glib gnutls libgcrypt ];
 
diff --git a/pkgs/tools/networking/network-manager/l2tp.nix b/pkgs/tools/networking/network-manager/l2tp.nix
index 3cb6034db85d..af3b193798f6 100644
--- a/pkgs/tools/networking/network-manager/l2tp.nix
+++ b/pkgs/tools/networking/network-manager/l2tp.nix
@@ -10,8 +10,8 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner  = "nm-l2tp";
     repo   = "network-manager-l2tp";
-    rev    = version;
-    sha256 = "1zqdhm7pzhaq6q8pddj9ki25qs9m6qwqgzc5x07a0qffla2rq5j1";
+    rev    = "c0cedda5e2a0ded695b497c361eaf577068520cb";
+    sha256 = "01f39ghc37vw4n4i7whyikgqz8vzxf41q9fsv2gfw1g501cny1j2";
   };
 
   buildInputs = [ networkmanager ppp networkmanagerapplet libsecret ]
diff --git a/pkgs/tools/security/gnupg/21.nix b/pkgs/tools/security/gnupg/21.nix
index a1cbcb458c59..1266e57e76f3 100644
--- a/pkgs/tools/security/gnupg/21.nix
+++ b/pkgs/tools/security/gnupg/21.nix
@@ -13,11 +13,13 @@ with stdenv.lib;
 assert x11Support -> pinentry != null;
 
 stdenv.mkDerivation rec {
-  name = "gnupg-2.1.12";
+  name = "gnupg-${version}";
+
+  version = "2.1.13";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "01n5py45x0r97l4dzmd803jpbpbcxr1591k3k4s8m9804jfr4d5c";
+    sha256 = "0xcn46vcb5x5qx0bc803vpzhzhnn6wfhp7x71w9n1ahx4ak877ag";
   };
 
   buildInputs = [
@@ -37,7 +39,7 @@ stdenv.mkDerivation rec {
     homepage = http://gnupg.org;
     description = "A complete and free implementation of the OpenPGP standard";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ wkennington peti fpletz ];
+    maintainers = with maintainers; [ wkennington peti fpletz vrthra ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 8676ce31c66f..7c889d89303b 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -29,6 +29,7 @@
 , udev ? null
 , varnish ? null
 , yajl ? null
+, net_snmp ? null
 }:
 stdenv.mkDerivation rec {
   version = "5.5.1";
@@ -43,7 +44,7 @@ stdenv.mkDerivation rec {
     pkgconfig curl iptables libatasmart libcredis libdbi libgcrypt libmemcached
     cyrus_sasl libmodbus libnotify gdk_pixbuf liboping libpcap libsigrok libvirt
     lm_sensors libxml2 lvm2 libmysql postgresql protobufc rabbitmq-c rrdtool
-    varnish yajl jdk libtool python udev
+    varnish yajl jdk libtool python udev net_snmp
   ];
 
   # for some reason libsigrok isn't auto-detected
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 0ec141a7b356..2c051bb5e78c 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "2.9";
-  sha256 = "10x5b1f1pdsh33kqzc8yf2v4mijlmkh72lmh9za6kz7hb3hp1nvi";
+  version = "2.12";
+  sha256 = "1m0fx0x1v2375vyxhd2i12b9w1qy4yh75f6qhwlcr78himcsmpp9";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/text/mecab/base.nix b/pkgs/tools/text/mecab/base.nix
new file mode 100644
index 000000000000..7509f3e9c483
--- /dev/null
+++ b/pkgs/tools/text/mecab/base.nix
@@ -0,0 +1,16 @@
+{ fetchurl }:
+
+rec {
+    version = "0.996";
+
+    src = fetchurl {
+      url = https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7cENtOXlicTFaRUE;
+      name = "mecab-0.996.tar.gz";
+      sha256 = "0ncwlqxl1hdn1x4v4kr2sn1sbbcgnhdphp0lcvk74nqkhdbk4wz0";
+    };
+
+    buildPhase = ''
+      make
+      make check
+    '';
+}
diff --git a/pkgs/tools/text/mecab/default.nix b/pkgs/tools/text/mecab/default.nix
new file mode 100644
index 000000000000..0b7e7e86df1b
--- /dev/null
+++ b/pkgs/tools/text/mecab/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, mecab-ipadic }:
+
+let
+  mecab-base = import ./base.nix { inherit fetchurl; };
+in
+stdenv.mkDerivation (mecab-base // {
+    name = "mecab-${mecab-base.version}";
+
+    postInstall = ''
+      sed -i 's|^dicdir = .*$|dicdir = ${mecab-ipadic}|' "$out/etc/mecabrc"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "Japanese morphological analysis system";
+      homepage = http://taku910.github.io/mecab/;
+      license = licenses.bsd3;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ auntie ];
+    };
+})
diff --git a/pkgs/tools/text/mecab/ipadic.nix b/pkgs/tools/text/mecab/ipadic.nix
new file mode 100644
index 000000000000..9896b365a6a2
--- /dev/null
+++ b/pkgs/tools/text/mecab/ipadic.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, mecab-nodic }:
+
+stdenv.mkDerivation rec {
+  name = "mecab-ipadic-${version}";
+  version = "2.7.0-20070801";
+
+  src = fetchurl {
+    url = https://drive.google.com/uc?export=download&id=0B4y35FiV1wh7MWVlSDBCSXZMTXM;
+    name = "mecab-ipadic-2.7.0-20070801.tar.gz";
+    sha256 = "08rmkvj0f0x6jq0axrjw2y5nam0mavv6x77dp9v4al0wi1ym4bxn";
+  };
+
+  buildInputs = [ mecab-nodic ];
+
+  configurePhase = ''
+    ./configure --with-dicdir="$out"
+  '';
+}
diff --git a/pkgs/tools/text/mecab/nodic.nix b/pkgs/tools/text/mecab/nodic.nix
new file mode 100644
index 000000000000..1cbc31be4ee1
--- /dev/null
+++ b/pkgs/tools/text/mecab/nodic.nix
@@ -0,0 +1,8 @@
+{ stdenv, fetchurl }:
+
+let
+  mecab-base = import ./base.nix { inherit fetchurl; };
+in
+stdenv.mkDerivation (mecab-base // {
+    name = "mecab-nodic-${mecab-base.version}";
+})
diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix
new file mode 100644
index 000000000000..459334e2b3c8
--- /dev/null
+++ b/pkgs/tools/text/sift/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "sift-${version}";
+  version = "0.8.0";
+  rev = "v${version}";
+
+  goPackagePath = "github.com/svent/sift";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "svent";
+    repo = "sift";
+    sha256 = "1nb042k420xr6000ipwhqn41vg8jfp6ghq4z7y1sjnndkrhclzm1";
+  };
+
+  goDeps = ./deps.json;
+
+  meta = with lib; {
+    description = "sift is a fast and powerful alternative to grep";
+    homepage = "https://sift-tool.org";
+    maintainers = [ maintainers.carlsverre ];
+    license = licenses.gpl3;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/text/sift/deps.json b/pkgs/tools/text/sift/deps.json
new file mode 100644
index 000000000000..649660353ad2
--- /dev/null
+++ b/pkgs/tools/text/sift/deps.json
@@ -0,0 +1,10 @@
+[
+  {
+    "include": "../../libs.json",
+    "packages": [
+        "github.com/svent/go-flags",
+        "github.com/svent/go-nbreader",
+        "golang.org/x/crypto"
+    ]
+  }
+]
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1713294f6fb2..b2cbe0fd03fc 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -473,6 +473,8 @@ in
 
   djmount = callPackage ../tools/filesystems/djmount { };
 
+  elvish = callPackage ../shells/elvish { };
+
   grc = callPackage ../tools/misc/grc { };
 
   green-pdfviewer = callPackage ../applications/misc/green-pdfviewer {
@@ -574,20 +576,6 @@ in
 
   bins = callPackage ../tools/graphics/bins { };
 
-  binwalk = callPackage ../tools/misc/binwalk {
-    python = pythonFull;
-    wrapPython = pythonPackages.wrapPython;
-    curses = pythonPackages.curses;
-  };
-
-  binwalk-full = callPackage ../tools/misc/binwalk {
-    python = pythonFull;
-    wrapPython = pythonPackages.wrapPython;
-    curses = pythonPackages.curses;
-    visualizationSupport = true;
-    pyqtgraph = pythonPackages.pyqtgraph;
-  };
-
   bitbucket-cli = pythonPackages.bitbucket-cli;
 
   blink = callPackage ../applications/networking/instant-messengers/blink {
@@ -739,6 +727,8 @@ in
     asciidoc = asciidoc-full;
   };
 
+  dislocker = callPackage ../tools/filesystems/dislocker { };
+
   ditaa = callPackage ../tools/graphics/ditaa { };
 
   dlx = callPackage ../misc/emulators/dlx { };
@@ -1916,6 +1906,8 @@ in
 
   haveged = callPackage ../tools/security/haveged { };
 
+  habitat = callPackage ../applications/networking/cluster/habitat { };
+
   hardlink = callPackage ../tools/system/hardlink { };
 
   hashcat = callPackage ../tools/security/hashcat { };
@@ -2434,6 +2426,16 @@ in
 
   mbuffer = callPackage ../tools/misc/mbuffer { };
 
+  mecab =
+    let
+      mecab-nodic = callPackage ../tools/text/mecab/nodic.nix { };
+    in
+    callPackage ../tools/text/mecab {
+      mecab-ipadic = callPackage ../tools/text/mecab/ipadic.nix {
+        inherit mecab-nodic;
+      };
+    };
+
   memtest86 = callPackage ../tools/misc/memtest86 { };
 
   memtest86plus = callPackage ../tools/misc/memtest86+ { };
@@ -2860,7 +2862,7 @@ in
 
   pamtester = callPackage ../tools/security/pamtester { };
 
-  paper-gtk-theme = callPackage ../misc/themes/paper-gtk-theme { };
+  paper-gtk-theme = callPackage ../misc/themes/paper { };
 
   par2cmdline = callPackage ../tools/networking/par2cmdline { };
 
@@ -3510,6 +3512,7 @@ in
 
   system-config-printer = callPackage ../tools/misc/system-config-printer {
     libxml2 = libxml2Python;
+    pythonPackages = python3Packages;
    };
 
   sitecopy = callPackage ../tools/networking/sitecopy { };
@@ -4146,6 +4149,8 @@ in
 
   nix-zsh-completions = callPackage ../shells/nix-zsh-completions { };
 
+  zsh-completions = callPackage ../shells/zsh-completions { };
+
   zsh-prezto = callPackage ../shells/zsh-prezto { };
 
   grml-zsh-config = callPackage ../shells/grml-zsh-config { };
@@ -7088,6 +7093,8 @@ in
   gecode_4 = callPackage ../development/libraries/gecode { };
   gecode = self.gecode_4;
 
+  gephi = callPackage ../applications/science/misc/gephi { };
+
   gegl = callPackage ../development/libraries/gegl { };
 
   gegl_0_3 = callPackage ../development/libraries/gegl/3.0.nix { };
@@ -8716,6 +8723,9 @@ in
   libressl_2_3 = callPackage ../development/libraries/libressl/2.3.nix {
     fetchurl = fetchurlBoot;
   };
+  libressl_2_4 = callPackage ../development/libraries/libressl/2.4.nix {
+    fetchurl = fetchurlBoot;
+  };
 
   boringssl = callPackage ../development/libraries/boringssl { };
 
@@ -9508,6 +9518,8 @@ in
 
   yubico-piv-tool = callPackage ../tools/misc/yubico-piv-tool { };
 
+  yubikey-neo-manager = callPackage ../tools/misc/yubikey-neo-manager { };
+
   yubikey-personalization = callPackage ../tools/misc/yubikey-personalization {
     libusb = libusb1;
   };
@@ -10823,15 +10835,6 @@ in
       ];
   };
 
-  linux_4_3 = callPackage ../os-specific/linux/kernel/linux-4.3.nix {
-    kernelPatches = [ kernelPatches.bridge_stp_helper ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
-  };
-
   linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
     kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
@@ -11021,7 +11024,6 @@ in
   linuxPackages_3_14 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_14 linuxPackages_3_14);
   linuxPackages_3_18 = recurseIntoAttrs (self.linuxPackagesFor self.linux_3_18 linuxPackages_3_18);
   linuxPackages_4_1 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_1 linuxPackages_4_1);
-  linuxPackages_4_3 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_3 linuxPackages_4_3);
   linuxPackages_4_4 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_4 linuxPackages_4_4);
   linuxPackages_4_5 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_5 linuxPackages_4_5);
   linuxPackages_4_6 = recurseIntoAttrs (self.linuxPackagesFor self.linux_4_6 linuxPackages_4_6);
@@ -13027,6 +13029,8 @@ in
 
   gpsprune = callPackage ../applications/misc/gpsprune { };
 
+  gpxsee = qt5.callPackage ../applications/misc/gpxsee { };
+
   gtk2fontsel = callPackage ../applications/misc/gtk2fontsel {
     inherit (gnome2) gtk;
   };
@@ -15916,7 +15920,7 @@ in
 
   gnome_themes_standard = gnome3.gnome_themes_standard;
 
-  numix-gtk-theme = callPackage ../misc/themes/numix-gtk-theme { };
+  numix-gtk-theme = callPackage ../misc/themes/numix { };
 
   # We need QtWebkit which was deprecated in Qt 5.6 although it can still be build
   trojita = with qt55; callPackage ../applications/networking/mailreaders/trojita { };
@@ -16037,8 +16041,14 @@ in
     stdenv = overrideCC stdenv gcc49;
   };
 
+  bcftools = callPackage ../applications/science/biology/bcftools { };
+
   emboss = callPackage ../applications/science/biology/emboss { };
 
+  htslib = callPackage ../development/libraries/science/biology/htslib { };
+
+  igv = callPackage ../applications/science/biology/igv { };
+
   neuron = callPackage ../applications/science/biology/neuron { };
 
   neuron-mpi = appendToName "mpi" (neuron.override {
@@ -16273,6 +16283,8 @@ in
   coqPackages = mkCoqPackages_8_4 coqPackages;
   coqPackages_8_5 = mkCoqPackages_8_5 coqPackages_8_5;
 
+  cryptoverif = callPackage ../applications/science/logic/cryptoverif { };
+
   cvc3 = callPackage ../applications/science/logic/cvc3 {
     gmp = lib.overrideDerivation gmp (a: { dontDisableStatic = true; });
   };
@@ -16354,12 +16366,16 @@ in
 
   prover9 = callPackage ../applications/science/logic/prover9 { };
 
+  proverif = callPackage ../applications/science/logic/proverif { };
+
   satallax = callPackage ../applications/science/logic/satallax {};
 
   saw-tools = callPackage ../applications/science/logic/saw-tools {};
 
   spass = callPackage ../applications/science/logic/spass {};
 
+  statverif = callPackage ../applications/science/logic/statverif { };
+
   tptp = callPackage ../applications/science/logic/tptp {};
 
   twelf = callPackage ../applications/science/logic/twelf {
@@ -16833,6 +16849,8 @@ in
 
   spectrojack = callPackage ../applications/audio/spectrojack { };
 
+  sift = callPackage ../tools/text/sift { };
+
   xlockmore = callPackage ../misc/screensavers/xlockmore { };
 
   xtrlock-pam = callPackage ../misc/screensavers/xtrlock-pam { };
@@ -17003,10 +17021,11 @@ in
 
   webfs = callPackage ../servers/http/webfs { };
 
-  wine = callPackage ../misc/emulators/wine {
+  wineMinimal = callPackage ../misc/emulators/wine {
     wineRelease = config.wine.release or "stable";
     wineBuild = config.wine.build or "wine32";
-    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
+  };
+  wine = lowPrio (self.wineMinimal.override {
     pngSupport = true;
     jpegSupport = true;
     tiffSupport = true;
@@ -17015,30 +17034,21 @@ in
     alsaSupport = true;
     openglSupport = true;
     tlsSupport = true;
-    cursesSupport = true;
-  };
-  wineMinimal = lowPrio (self.wine.override {
-    pulseaudioSupport = false;
-    pngSupport = false;
-    jpegSupport = false;
-    tiffSupport = false;
-    gettextSupport = false;
-    fontconfigSupport = false;
-    alsaSupport = false;
-    openglSupport = false;
-    tlsSupport = false;
-    cursesSupport = false;
-  });
-  wineFull = lowPrio (self.wine.override {
-    gtkSupport = true;
-    gstreamerSupport = true;
     cupsSupport = true;
     colorManagementSupport = true;
     dbusSupport = true;
     mpg123Support = true;
     openalSupport = true;
-    openclSupport = true;
     cairoSupport = true;
+    cursesSupport = true;
+    pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
+    xineramaSupport = true;
+    xmlSupport = true;
+  });
+  wineFull = lowPrio (self.wine.override {
+    gtkSupport = true;
+    gstreamerSupport = true;
+    openclSupport = true;
     odbcSupport = true;
     netapiSupport = true;
     vaSupport = true;
@@ -17049,8 +17059,6 @@ in
     gphoto2Support = true;
     ldapSupport = true;
     pulseaudioSupport = true;
-    xineramaSupport = true;
-    xmlSupport = true;
   });
   wineStable = self.wine.override { wineRelease = "stable"; };
   wineUnstable = lowPrio (self.wine.override { wineRelease = "unstable"; });
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 596b8ab7050a..e0230247640a 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -1357,11 +1357,13 @@ in modules // {
 
   awscli = buildPythonPackage rec {
     name = "awscli-${version}";
-    version = "1.10.18";
+    version = "1.10.38";
+
+    namePrefix = "";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/a/awscli/${name}.tar.gz";
-      sha256 = "0vdj7p4cwsbzhanhp5f2c0b0qr2gh76dyanji73avvj4jvdb5d4g";
+      sha256 = "01d14snp3h4dkbwyviyprhcl8qcngc6nyzwy3k3nxvm1ia9hvz2n";
     };
 
     # No tests included
@@ -1874,6 +1876,34 @@ in modules // {
     };
   };
 
+  binwalk_fun = { visualizationSupport ? false, pyqtgraph ? null }:
+    assert visualizationSupport -> pyqtgraph != null;
+
+    buildPythonPackage rec {
+    name = "binwalk-${version}";
+    version = "2.1.1";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "devttys0";
+      repo = "binwalk";
+      rev = "291a03595d17f848c73b74cb6ca508da782cd8f7";
+      sha256 = "0grid93yz6i6jb2zggrqncp5awdf7qi88j5y2k7dq0k9r6b8zydw";
+    };
+
+    propagatedBuildInputs = with stdenv.lib; with pkgs; [ modules.curses zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma pycrypto ]
+      ++ optional visualizationSupport [ pyqtgraph ];
+
+    meta = with stdenv.lib; {
+      homepage = "http://binwalk.org";
+      description = "A tool for searching a given binary image for embedded files";
+      platforms = platforms.all;
+      maintainers = [ maintainers.koral ];
+    };
+  };
+
+  binwalk = self.binwalk_fun { };
+  binwalk-full = self.binwalk_fun { visualizationSupport = true; pyqtgraph = self.pyqtgraph; };
+
   caldavclientlibrary-asynk = buildPythonPackage rec {
     version = "asynkdev";
     name = "caldavclientlibrary-asynk-${version}";
@@ -2698,12 +2728,12 @@ in modules // {
   };
 
   botocore = buildPythonPackage rec {
-    version = "1.4.9"; # This version is required by awscli
+    version = "1.4.28"; # This version is required by awscli
     name = "botocore-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/b/botocore/${name}.tar.gz";
-      sha256 = "07rp24lnpjlk0c889g0d8y2ykc711gi04w715nkm9mv734ndsman";
+      sha256 = "1qfvcb7japa3y1j4b86af9ph8q8mbq2mrx6xfhlqcf2x399l2phl";
     };
 
     propagatedBuildInputs =
@@ -4313,11 +4343,11 @@ in modules // {
   };
 
   cffi = if isPyPy then null else buildPythonPackage rec {
-    name = "cffi-1.5.2";
+    name = "cffi-1.7.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/c/cffi/${name}.tar.gz";
-      sha256 = "1p91p1n8n46y0k3q7ddgxxjnfh08rjqsjh7zbjxzfiifhycxx6ys";
+      sha256 = "1pv0pf38h375r581zyckb1d2phcgkszsx2n6354g6qc3zmmdvmbf";
     };
 
     propagatedBuildInputs = with self; [ pkgs.libffi pycparser ];
@@ -5362,19 +5392,15 @@ in modules // {
 
   dns = buildPythonPackage rec {
     name = "dnspython-${version}";
-    version = "1.12.0";
+    version = "1.14.0";
 
-    src = if isPy3k then pkgs.fetchurl {
-      url = "mirror://pypi/d/dnspython3/dnspython3-${version}.zip";
-      sha256 = "138wxj702vx6zni9g2y8dbgbpin95v6hk23rh2kwfr3q4130jqz9";
-    } else pkgs.fetchurl {
-      url = "mirror://pypi/d/dnspython/${name}.tar.gz";
-      sha256 = "0kvjlkp96qzh3j31szpjlzqbp02brixh4j4clnpw80b0hspq5yq3";
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/d/dnspython/${name}.zip";
+      sha256 = "1p1i46fyhxfic8mfh3gfckpn2pn7282xqabhihiqymrp4sa8ni91";
     };
 
-    # Not supported.
-    # See instead https://pypi.python.org/pypi/dnspython3/1.12.0
-    disabled = isPy3k;
+    # needs networking for some tests
+    doCheck = false;
 
     meta = {
       description = "A DNS toolkit for Python 3.x";
@@ -6757,7 +6783,7 @@ in modules // {
   };
 
   jug = buildPythonPackage rec {
-    version = "1.2.1";
+    version = "1.2.2";
     name = "jug-${version}";
     buildInputs = with self; [ nose numpy ];
     propagatedBuildInputs = with self; [
@@ -6770,7 +6796,7 @@ in modules // {
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/J/Jug/Jug-${version}.tar.gz";
-      sha256 = "0sg3arfsmf1g4cqfdah3g6lqxj10v5780grlsaln6wj3yclp5gyx";
+      sha256 = "1riski56b93i8fddgixmmrh6cbprwv44r5wnzcqg9khky1wkg4ls";
     };
 
     meta = {
@@ -11950,11 +11976,11 @@ in modules // {
 
   limnoria = buildPythonPackage rec {
     name = "limnoria-${version}";
-    version = "2015.10.04";
+    version = "2016.05.06";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/limnoria/${name}.tar.gz";
-      sha256 = "1hwwwr0z2vsirgwd92z17nbhnhsz0m25bpxn5sanqlbcjbwhyk9z";
+      sha256 = "09kbii5559d09jjb6cryj8rva1050r54dvb67hlcvxhy8g3gr1y3";
     };
 
     patchPhase = ''
@@ -12041,6 +12067,30 @@ in modules // {
     };
   };
 
+  # Old version needed for attic (backup program) due to breaking change in
+  # llfuse >= 0.42.
+  llfuse-0-41 = buildPythonPackage rec {
+    name = "llfuse-0.41.1";
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/l/llfuse/${name}.tar.bz2";
+      sha256 = "1imlqw9b73086y97izr036f58pgc5akv4ihc2rrf8j5h75jbrlaa";
+    };
+    buildInputs = with self; [ pytest pkgs.pkgconfig pkgs.fuse pkgs.attr pkgs.which ];
+    propagatedBuildInputs = with self; [ contextlib2 ];
+    checkPhase = ''
+      py.test
+    '';
+    # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin'
+    doCheck = false;
+    meta = {
+      description = "Python bindings for the low-level FUSE API";
+      homepage = https://code.google.com/p/python-llfuse/;
+      license = licenses.lgpl2Plus;
+      platforms = platforms.unix;
+      maintainers = with maintainers; [ bjornfor ];
+    };
+  };
+
   locustio = buildPythonPackage rec {
     name = "locustio-0.7.2";
 
@@ -13602,6 +13652,80 @@ in modules // {
     };
   };
 
+  nilearn = buildPythonPackage rec {
+    version = "0.2.5";
+    name = "nilearn-${version}";
+
+    # package seems to attempt Python 3 compatibility, but throws UnicodeDecodeError when building:
+    disabled = isPy3k;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/n/nilearn/${name}.tar.gz";
+      sha256 = "1lmkrzr5x2yp129v2fvckrbdzf2kpcivdg9cacl519l3mb0acdv9";
+    };
+
+    checkPhase = "nosetests --exclude with_expand_user nilearn/tests";
+
+    buildInputs = with self; [ nose ];
+
+    propagatedBuildInputs = with self; [
+      matplotlib
+      nibabel
+      numpy
+      scikitlearn
+      scipy
+    ];
+
+    meta = {
+      homepage = http://nilearn.github.io;
+      description = "A module for statistical learning on neuroimaging data";
+      license = licenses.bsd3;
+    };
+  };
+
+  nipy = buildPythonPackage rec {
+    version = "0.4.0";
+    name = "nipy-${version}";
+ 
+    disabled = pythonOlder "2.6";
+
+    checkPhase = ''    # wants to be run in a different directory
+      mkdir nosetests
+      cd nosetests
+      ${python.interpreter} -c "import nipy; nipy.test()"
+      rm -rf .
+    '';
+    # failing test:
+    # nipy.algorithms.statistics.models.tests.test_olsR.test_results(11.593139639404727, 11.593140144880794, 6)  # disagrees by 1 at 6th decimal place
+    # erroring tests:
+    # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_altprotocol
+    # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_agreement
+    # nipy.tests.test_scripts.test_nipy_4d_realign   # because `nipy_4d_realign` script isn't found at test time; works from nix-shell, so could be patched
+    # nipy.tests.test_scripts.test_nipy_3_4d         # ditto re.: `nipy_3_4d` script
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/n/nipy/${name}.tar.gz";
+      sha256 = "1hnbn2i4fjxflaaz082s2c57hfp59jfra1zayz1iras5p2dy21nr";
+    };
+
+    buildInputs = stdenv.lib.optional doCheck [ self.nose ];
+
+    propagatedBuildInputs = with self; [
+      matplotlib
+      nibabel
+      numpy
+      scipy
+      sympy
+    ];
+
+    meta = {
+      homepage = http://nipy.org/nipy/;
+      description = "Software for structural and functional neuroimaging analysis";
+      license = licenses.bsd3;
+    };
+  };
+
   nipype = buildPythonPackage rec {
     version = "0.10.0";
     name = "nipype-${version}";
@@ -13780,12 +13904,12 @@ in modules // {
   };
 
   notebook = buildPythonPackage rec {
-    version = "4.2.0";
+    version = "4.2.1";
     name = "notebook-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/notebook/${name}.tar.gz";
-      sha256 = "113d0548ky0fwa7h950ijkwi1cnpc46l9cdmjr3kjj3vqwb4j371";
+      sha256 = "15z1j821iywjcjf6d8r338jm09l9qwk8z9gjplag56dvv8jfb7d4";
     };
 
     LC_ALL = "en_US.UTF-8";
@@ -14006,10 +14130,10 @@ in modules // {
   };
 
   numpy_1_11 = self.buildNumpyPackage rec {
-    version = "1.11.0";
+    version = "1.11.1";
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/numpy/numpy-${version}.tar.gz";
-      sha256 = "0gml1ng7iqk4xcrvspjd5vnfqdwfinvjfyksfawvy5h8426jdld1";
+      sha256 = "1kbpsnqfabpbczh3ly2d4jrwq2d1gqlshlpk5dm8bk3r77284h6w";
     };
   };
 
@@ -16618,11 +16742,11 @@ in modules // {
   };
 
   pillow = buildPythonPackage rec {
-    name = "Pillow-2.9.0";
+    name = "Pillow-3.2.0";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/P/Pillow/${name}.zip";
-      sha256 = "1mal92cwh85z6zqx7lrmg0dbqb2gw2cbb2fm6xh0fivmszz8vnyi";
+      url = "mirror://pypi/P/Pillow/${name}.tar.gz";
+      sha256 = "0jkqjnqj3bz3cwrvbw6q1zy6dn0c328r6v20k7m0lj0c45bs1c34";
     };
 
     # Check is disabled because of assertion errors, see
@@ -25400,13 +25524,13 @@ in modules // {
   };
 
   libvirt = let
-    version = "1.3.3";
+    version = "1.3.5";
   in assert version == pkgs.libvirt.version; pkgs.stdenv.mkDerivation rec {
     name = "libvirt-python-${version}";
 
     src = pkgs.fetchurl {
       url = "http://libvirt.org/sources/python/${name}.tar.gz";
-      sha256 = "0jhf1h4zdysxf5mj769l5ddcbs5j3mzj4sdy8gp4kbj4imwaws5a";
+      sha256 = "1hm5dzrv03m77026xccxiiq6abqpzci277gvhhsqmlbzcdbqll50";
     };
 
     buildInputs = with self; [ python pkgs.pkgconfig pkgs.libvirt lxml ];
@@ -27763,6 +27887,30 @@ in modules // {
      };
   };
 
+  word2vec = buildPythonPackage rec {
+    name = "word2vec-${version}";
+    version = "0.9.1";
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/w/word2vec/${name}.tar.gz";
+      sha256 = "a811e3e98a8e6dfe7bc851ebbbc2d6e5ab5142f2a134dd3c03daac997b546faa";
+    };
+
+    propagatedBuildInputs = with self; [ cython numpy ];
+
+    checkPhase = ''
+     cd word2vec/tests;
+      ${python.interpreter} test_word2vec.py
+    '';
+
+    meta = {
+      description = "Tool for computing continuous distributed representations of words";
+      homepage = "https://github.com/danielfrg/word2vec";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ NikolaMandic ];
+    };
+  };
+
   tvdb_api = buildPythonPackage rec {
     name = "tvdb_api-${version}";
     version = "1.10";
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index 31eb3007daae..b4108957b8ee 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,15 +7,15 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-05-28";
-  rev = "eb354be1bc4c368e4ed885bd126f625f371b4bfa";
+  version = "2016-06-26";
+  rev = "eb6b06424a5cdc5dd0f41f06cda69714b3a0577b";
 
   src = fetchFromGitHub {
       inherit rev;
 
       owner = "rust-lang";
       repo = "crates.io-index";
-      sha256 = "1scbfraj2cgpi5q1bkhhj18jv58hkyl9pms8qnx3fvxs6yq68ba9";
+      sha256 = "0iyqyyd5070whfgsg74bqk0f6rk7d2r4spb2ih9jy594ds2qinv4";
   };
 
 in