about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2017-03-14 00:49:22 +0200
committerTuomas Tynkkynen <tuomas@tuxera.com>2017-03-14 00:49:22 +0200
commitaba0b45b86fa5d3bf47bca33c37f3f0211b7e052 (patch)
tree9ec0dfef6dd6253dd329d5eb85da6a52a1470238
parent8bfa9f528c88243578246798c7c2ddde045e0de0 (diff)
parent46c9eac980e1d879d62c25499544c402feff3066 (diff)
downloadnixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar.gz
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar.bz2
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar.lz
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar.xz
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.tar.zst
nixlib-aba0b45b86fa5d3bf47bca33c37f3f0211b7e052.zip
Merge remote-tracking branch 'upstream/master' into staging
Conflicts:
      pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
-rw-r--r--doc/languages-frameworks/haskell.md9
-rw-r--r--lib/composable-derivation.nix6
-rw-r--r--lib/debug.nix14
-rw-r--r--lib/deprecated.nix179
-rw-r--r--lib/maintainers.nix2
-rw-r--r--lib/modules.nix8
-rw-r--r--lib/tests.nix8
-rw-r--r--lib/types.nix2
-rw-r--r--maintainers/docker/.dockerignore14
-rw-r--r--maintainers/docker/Dockerfile12
-rwxr-xr-xmaintainers/scripts/hydra-eval-failures.py4
-rw-r--r--nixos/modules/config/fonts/fontconfig-ultimate.nix100
-rw-r--r--nixos/modules/config/fonts/fontconfig.nix120
-rw-r--r--nixos/modules/rename.nix10
-rw-r--r--nixos/modules/security/grsecurity.xml2
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/master.nix4
-rw-r--r--nixos/modules/services/continuous-integration/buildbot/worker.nix4
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.nix15
-rw-r--r--nixos/modules/services/networking/dnscrypt-proxy.xml12
-rw-r--r--nixos/modules/services/web-apps/pump.io-configure.js23
-rw-r--r--nixos/modules/services/web-apps/pump.io.nix220
-rw-r--r--nixos/modules/services/web-servers/phpfpm/default.nix7
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix15
-rw-r--r--nixos/modules/system/boot/luksroot.nix4
-rw-r--r--nixos/modules/virtualisation/xen-dom0.nix2
-rw-r--r--nixos/release-combined.nix2
-rw-r--r--nixos/release.nix2
-rw-r--r--nixos/tests/pump.io.nix19
-rw-r--r--pkgs/applications/altcoins/litecoin.nix21
-rw-r--r--pkgs/applications/audio/cdparanoia/default.nix15
-rw-r--r--pkgs/applications/audio/csound/default.nix26
-rw-r--r--pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations25
-rw-r--r--pkgs/applications/audio/yasr/20_maxpathlen11
-rw-r--r--pkgs/applications/audio/yasr/30_conf18
-rw-r--r--pkgs/applications/audio/yasr/40_dectalk_extended_chars14
-rw-r--r--pkgs/applications/audio/yasr/default.nix28
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix4
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/bluefish/default.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix1453
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix356
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevelop.nix6
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch55
-rw-r--r--pkgs/applications/editors/kdevelop5/kdevplatform.nix8
-rw-r--r--pkgs/applications/editors/sublime3/default.nix1
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/gis/qgis/default.nix11
-rw-r--r--pkgs/applications/graphics/pbrt/default.nix25
-rw-r--r--pkgs/applications/graphics/sane/backends/brscan4/default.nix22
-rw-r--r--pkgs/applications/kde/default.nix2
-rw-r--r--pkgs/applications/kde/kcachegrind.nix27
-rw-r--r--pkgs/applications/kde/krfb.nix22
-rw-r--r--pkgs/applications/misc/electrum/default.nix21
-rw-r--r--pkgs/applications/misc/emem/default.nix4
-rw-r--r--pkgs/applications/misc/kanboard/default.nix25
-rw-r--r--pkgs/applications/misc/pwsafe/default.nix6
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix3
-rw-r--r--pkgs/applications/misc/xca/default.nix1
-rw-r--r--pkgs/applications/misc/ykpers/default.nix24
-rw-r--r--pkgs/applications/networking/cluster/kops/default.nix1
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix19
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix88
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix3
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix466
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix13
-rw-r--r--pkgs/applications/office/libreoffice/still.nix7
-rw-r--r--pkgs/applications/office/mmex/default.nix4
-rw-r--r--pkgs/applications/science/biology/emboss/default.nix16
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix9
-rw-r--r--pkgs/applications/version-management/peru/default.nix27
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix20
-rw-r--r--pkgs/applications/video/obs-studio/default.nix6
-rw-r--r--pkgs/applications/video/obs-studio/segfault-patch-systray.patch40
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix9
-rw-r--r--pkgs/applications/virtualization/docker/default.nix13
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix96
-rw-r--r--pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch70
-rw-r--r--pkgs/applications/virtualization/runc/default.nix9
-rw-r--r--pkgs/applications/virtualization/virt-manager/qt.nix47
-rw-r--r--pkgs/build-support/fetchsvn/builder.sh3
-rw-r--r--pkgs/build-support/fetchsvn/default.nix5
-rw-r--r--pkgs/build-support/remove-references-to/default.nix34
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix4
-rw-r--r--pkgs/desktops/lxqt/default.nix2
-rwxr-xr-xpkgs/desktops/plasma-5/startkde/startkde.sh23
-rw-r--r--pkgs/development/compilers/coreclr/default.nix1
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix6
-rw-r--r--pkgs/development/compilers/emscripten/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix1
-rw-r--r--pkgs/development/compilers/halvm/2.4.0.nix48
-rw-r--r--pkgs/development/compilers/ispc/default.nix4
-rw-r--r--pkgs/development/compilers/ponyc/default.nix4
-rw-r--r--pkgs/development/compilers/scala/default.nix4
-rw-r--r--pkgs/development/compilers/tinycc/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix59
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix36
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix20
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix9
-rw-r--r--pkgs/development/interpreters/clisp/hg.nix10
-rw-r--r--pkgs/development/interpreters/guile/default.nix4
-rw-r--r--pkgs/development/interpreters/lua-5/5.2.darwin.patch4
-rw-r--r--pkgs/development/interpreters/pure/default.nix4
-rw-r--r--pkgs/development/libraries/CGAL/default.nix18
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix2
-rw-r--r--pkgs/development/libraries/ace/default.nix22
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rwxr-xr-xpkgs/development/libraries/aqbanking/update.sh2
-rw-r--r--pkgs/development/libraries/assimp/default.nix10
-rw-r--r--pkgs/development/libraries/aubio/default.nix17
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/caf/default.nix23
-rw-r--r--pkgs/development/libraries/cdk/default.nix17
-rw-r--r--pkgs/development/libraries/chipmunk/default.nix7
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix4
-rw-r--r--pkgs/development/libraries/cimg/default.nix6
-rw-r--r--pkgs/development/libraries/cl/default.nix22
-rw-r--r--pkgs/development/libraries/concurrencykit/default.nix19
-rw-r--r--pkgs/development/libraries/dbus/make-session-conf.xsl3
-rw-r--r--pkgs/development/libraries/dlib/default.nix40
-rw-r--r--pkgs/development/libraries/drumstick/default.nix14
-rw-r--r--pkgs/development/libraries/eigen/default.nix2
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/msilbc/default.nix13
-rw-r--r--pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch13
-rw-r--r--pkgs/development/libraries/phonon/backends/gstreamer.nix27
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch384
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix108
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/series1
-rw-r--r--pkgs/development/node-packages/node-env.nix2
-rw-r--r--pkgs/development/ocaml-modules/cpuid/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/llvm/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix31
-rw-r--r--pkgs/development/pure-modules/octave/default.nix8
-rw-r--r--pkgs/development/python-modules/ds4drv.nix27
-rw-r--r--pkgs/development/python-modules/edward/default.nix27
-rw-r--r--pkgs/development/python-modules/first/default.nix22
-rw-r--r--pkgs/development/python-modules/hypothesis.nix8
-rw-r--r--pkgs/development/python-modules/mnemonic.nix21
-rw-r--r--pkgs/development/python-modules/pep257.nix2
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix29
-rw-r--r--pkgs/development/python-modules/pyaes.nix18
-rw-r--r--pkgs/development/python-modules/pyudev.nix26
-rw-r--r--pkgs/development/python-modules/trezor.nix26
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix10
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix27
-rw-r--r--pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch37
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix4
-rw-r--r--pkgs/development/tools/heroku/default.nix17
-rw-r--r--pkgs/development/tools/ocaml/jbuilder/default.nix23
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/development/tools/simavr/default.nix4
-rw-r--r--pkgs/development/tools/slimerjs/default.nix20
-rw-r--r--pkgs/development/tools/vndr/default.nix2
-rw-r--r--pkgs/development/web/nodejs/v7.nix4
-rw-r--r--pkgs/misc/screensavers/vlock/eintr.patch18
-rw-r--r--pkgs/os-specific/linux/batman-adv/alfred.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/batctl.nix4
-rw-r--r--pkgs/os-specific/linux/batman-adv/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix6
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix20
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix7
-rw-r--r--pkgs/servers/http/pshs/default.nix21
-rw-r--r--pkgs/servers/mail/exim/default.nix6
-rwxr-xr-xpkgs/servers/web-apps/pump.io/generate.sh14
-rw-r--r--pkgs/servers/web-apps/pump.io/node-packages.nix2069
-rw-r--r--pkgs/shells/bash/4.4.nix2
-rw-r--r--pkgs/tools/compression/bsc/default.nix25
-rw-r--r--pkgs/tools/compression/lzham/default.nix28
-rw-r--r--pkgs/tools/misc/latex2html/default.nix52
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/misc/yubikey-personalization/default.nix2
-rw-r--r--pkgs/tools/networking/dd-agent/default.nix41
-rw-r--r--pkgs/tools/networking/dnsmasq/default.nix5
-rw-r--r--pkgs/tools/networking/gupnp-tools/default.nix4
-rw-r--r--pkgs/tools/networking/mtr/default.nix17
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix2
-rw-r--r--pkgs/tools/networking/olsrd/default.nix7
-rw-r--r--pkgs/tools/networking/packetdrill/default.nix25
-rw-r--r--pkgs/tools/networking/packetdrill/nix.patch24
-rw-r--r--pkgs/tools/networking/pdnsd/default.nix13
-rw-r--r--pkgs/tools/networking/wget/default.nix9
-rw-r--r--pkgs/tools/security/crunch/default.nix12
-rw-r--r--pkgs/tools/security/john/default.nix5
-rw-r--r--pkgs/tools/text/ripgrep/default.nix5
-rw-r--r--pkgs/top-level/all-packages.nix46
-rw-r--r--pkgs/top-level/haskell-packages.nix9
-rw-r--r--pkgs/top-level/lua-packages.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix168
210 files changed, 5432 insertions, 2929 deletions
diff --git a/doc/languages-frameworks/haskell.md b/doc/languages-frameworks/haskell.md
index 6d8984821741..1cab3d1e4eed 100644
--- a/doc/languages-frameworks/haskell.md
+++ b/doc/languages-frameworks/haskell.md
@@ -823,10 +823,10 @@ alternative implemention for Integer called
 [integer-simple](http://hackage.haskell.org/package/integer-simple).
 
 To get a GHC compiler build with `integer-simple` instead of `integer-gmp` use
-the attribute: `pkgs.haskell.compiler.integer-simple."${ghcVersion}"`.
+the attribute: `haskell.compiler.integer-simple."${ghcVersion}"`.
 For example:
 
-    $ nix-build -E '(import <nixpkgs> {}).pkgs.haskell.compiler.integer-simple.ghc802'
+    $ nix-build -E '(import <nixpkgs> {}).haskell.compiler.integer-simple.ghc802'
     ...
     $ result/bin/ghc-pkg list | grep integer
         integer-simple-0.1.1.1
@@ -838,7 +838,6 @@ The following command displays the complete list of GHC compilers build with `in
     haskell.compiler.integer-simple.ghc7103  ghc-7.10.3
     haskell.compiler.integer-simple.ghc722   ghc-7.2.2
     haskell.compiler.integer-simple.ghc742   ghc-7.4.2
-    haskell.compiler.integer-simple.ghc763   ghc-7.6.3
     haskell.compiler.integer-simple.ghc783   ghc-7.8.3
     haskell.compiler.integer-simple.ghc784   ghc-7.8.4
     haskell.compiler.integer-simple.ghc801   ghc-8.0.1
@@ -846,10 +845,10 @@ The following command displays the complete list of GHC compilers build with `in
     haskell.compiler.integer-simple.ghcHEAD  ghc-8.1.20170106
 
 To get a package set supporting `integer-simple` use the attribute:
-`pkgs.haskell.packages.integer-simple."${ghcVersion}"`. For example
+`haskell.packages.integer-simple."${ghcVersion}"`. For example
 use the following to get the `scientific` package build with `integer-simple`:
 
-    $ nix-build -A pkgs.haskell.packages.integer-simple.ghc802.scientific
+    $ nix-build -A haskell.packages.integer-simple.ghc802.scientific
 
 
 ## Other resources
diff --git a/lib/composable-derivation.nix b/lib/composable-derivation.nix
index e3e017d982d3..5442dcedeabc 100644
--- a/lib/composable-derivation.nix
+++ b/lib/composable-derivation.nix
@@ -1,4 +1,4 @@
-{lib, pkgs} :
+{lib, pkgs}:
 let inherit (lib) nv nvs; in
 {
 
@@ -19,7 +19,7 @@ let inherit (lib) nv nvs; in
   # * vim_configurable
   #
   # A minimal example illustrating most features would look like this:
-  # let base = composableDerivation { (fixed : let inherit (fixed.fixed) name in {
+  # let base = composableDerivation { (fixed: let inherit (fixed.fixed) name in {
   #    src = fetchurl {
   #    }
   #    buildInputs = [A];
@@ -79,7 +79,7 @@ let inherit (lib) nv nvs; in
         # consider adding addtional elements by derivation.merge { removeAttrs = ["elem"]; };
         removeAttrs ? ["cfg" "flags"]
 
-      }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a) 
+      }: (lib.defaultOverridableDelayableArgs ( a: mkDerivation a)
          {
            inherit applyPreTidy removeAttrs;
          }).merge;
diff --git a/lib/debug.nix b/lib/debug.nix
index e2e895ab6202..5b3878554c5d 100644
--- a/lib/debug.nix
+++ b/lib/debug.nix
@@ -24,10 +24,10 @@ rec {
   traceValSeq = v: traceVal (builtins.deepSeq v v);
 
   # this can help debug your code as well - designed to not produce thousands of lines
-  traceShowVal = x : trace (showVal x) x;
+  traceShowVal = x: trace (showVal x) x;
   traceShowValMarked = str: x: trace (str + showVal x) x;
-  attrNamesToStr = a : lib.concatStringsSep "; " (map (x : "${x}=") (attrNames a));
-  showVal = x :
+  attrNamesToStr = a: lib.concatStringsSep "; " (map (x: "${x}=") (attrNames a));
+  showVal = x:
       if isAttrs x then
           if x ? outPath then "x is a derivation, name ${if x ? name then x.name else "<no name>"}, { ${attrNamesToStr x} }"
           else "x is attr set { ${attrNamesToStr x} }"
@@ -43,9 +43,9 @@ rec {
 
   # trace the arguments passed to function and its result
   # maybe rewrite these functions in a traceCallXml like style. Then one function is enough
-  traceCall  = n : f : a : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
-  traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
-  traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
+  traceCall  = n: f: a: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a));
+  traceCall2 = n: f: a: b: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
+  traceCall3 = n: f: a: b: c: let t = n2: x: traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
 
   # FIXME: rename this?
   traceValIfNot = c: x:
@@ -71,7 +71,7 @@ rec {
 
   # create a test assuming that list elements are true
   # usage: { testX = allTrue [ true ]; }
-  testAllTrue = expr : { inherit expr; expected = map (x: true) expr; };
+  testAllTrue = expr: { inherit expr; expected = map (x: true) expr; };
 
   strict = v:
     trace "Warning: strict is deprecated and will be removed in the next release"
diff --git a/lib/deprecated.nix b/lib/deprecated.nix
index 3729197f48bc..45a3893fc22d 100644
--- a/lib/deprecated.nix
+++ b/lib/deprecated.nix
@@ -16,23 +16,23 @@ rec {
 
   defaultMergeArg = x : y: if builtins.isAttrs y then
     y
-  else 
+  else
     (y x);
   defaultMerge = x: y: x // (defaultMergeArg x y);
-  foldArgs = merger: f: init: x: 
-    let arg=(merger init (defaultMergeArg init x));
-      # now add the function with composed args already applied to the final attrs
-        base = (setAttrMerge "passthru" {} (f arg) 
-                        ( z : z // rec { 
-                          function = foldArgs merger f arg; 
-			  args = (lib.attrByPath ["passthru" "args"] {} z) // x;
+  foldArgs = merger: f: init: x:
+    let arg = (merger init (defaultMergeArg init x));
+        # now add the function with composed args already applied to the final attrs
+        base = (setAttrMerge "passthru" {} (f arg)
+                        ( z: z // rec {
+                            function = foldArgs merger f arg;
+                            args = (lib.attrByPath ["passthru" "args"] {} z) // x;
                           } ));
-	withStdOverrides = base // {
-	   override = base.passthru.function;
-	   } ;
+        withStdOverrides = base // {
+          override = base.passthru.function;
+        };
         in
-	withStdOverrides;
-    
+          withStdOverrides;
+
 
   # predecessors: proposed replacement for applyAndFun (which has a bug cause it merges twice)
   # the naming "overridableDelayableArgs" tries to express that you can
@@ -49,35 +49,35 @@ rec {
   #
   # examples: see test cases "res" below;
   overridableDelayableArgs =
-          f :        # the function applied to the arguments
-          initial :  # you pass attrs, the functions below are passing a function taking the fix argument
+          f:        # the function applied to the arguments
+          initial:  # you pass attrs, the functions below are passing a function taking the fix argument
     let
         takeFixed = if isFunction initial then initial else (fixed : initial); # transform initial to an expression always taking the fixed argument
-        tidy = args : 
+        tidy = args:
             let # apply all functions given in "applyPreTidy" in sequence
-                applyPreTidyFun = fold ( n : a : x : n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
+                applyPreTidyFun = fold ( n: a: x: n ( a x ) ) lib.id (maybeAttr "applyPreTidy" [] args);
             in removeAttrs (applyPreTidyFun args) ( ["applyPreTidy"] ++ (maybeAttr  "removeAttrs" [] args) ); # tidy up args before applying them
-        fun = n : x :
-             let newArgs = fixed :
-                     let args = takeFixed fixed; 
-                         mergeFun = args.${n};
-                     in if isAttrs x then (mergeFun args x)
-                        else assert isFunction x;
-                             mergeFun args (x ( args // { inherit fixed; }));
-             in overridableDelayableArgs f newArgs;
+        fun = n: x:
+            let newArgs = fixed:
+                    let args = takeFixed fixed;
+                        mergeFun = args.${n};
+                    in if isAttrs x then (mergeFun args x)
+                       else assert isFunction x;
+                            mergeFun args (x ( args // { inherit fixed; }));
+            in overridableDelayableArgs f newArgs;
     in
     (f (tidy (lib.fix takeFixed))) // {
       merge   = fun "mergeFun";
       replace = fun "keepFun";
     };
-  defaultOverridableDelayableArgs = f : 
+  defaultOverridableDelayableArgs = f:
       let defaults = {
             mergeFun = mergeAttrByFunc; # default merge function. merge strategie (concatenate lists, strings) is given by mergeAttrBy
-            keepFun = a : b : { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
+            keepFun = a: b: { inherit (a) removeAttrs mergeFun keepFun mergeAttrBy; } // b; # even when using replace preserve these values
             applyPreTidy = []; # list of functions applied to args before args are tidied up (usage case : prepareDerivationArgs)
             mergeAttrBy = mergeAttrBy // {
-              applyPreTidy = a : b : a ++ b;
-              removeAttrs = a : b: a ++ b;
+              applyPreTidy = a: b: a ++ b;
+              removeAttrs = a: b: a ++ b;
             };
             removeAttrs = ["mergeFun" "keepFun" "mergeAttrBy" "removeAttrs" "fixed" ]; # before applying the arguments to the function make sure these names are gone
           };
@@ -86,7 +86,7 @@ rec {
 
 
   # rec { # an example of how composedArgsAndFun can be used
-  #  a  = composedArgsAndFun (x : x) { a = ["2"]; meta = { d = "bar";}; };
+  #  a  = composedArgsAndFun (x: x) { a = ["2"]; meta = { d = "bar";}; };
   #  # meta.d will be lost ! It's your task to preserve it (eg using a merge function)
   #  b  = a.passthru.function { a = [ "3" ]; meta = { d2 = "bar2";}; };
   #  # instead of passing/ overriding values you can use a merge function:
@@ -119,7 +119,7 @@ rec {
     else if val == true || val == false then false
     else null;
 
-    
+
   # Return true only if there is an attribute and it is true.
   checkFlag = attrSet: name:
         if name == "true" then true else
@@ -134,29 +134,29 @@ rec {
   ( attrByPath [name] (if checkFlag attrSet name then true else
         if argList == [] then null else
         let x = builtins.head argList; in
-                if (head x) == name then 
+                if (head x) == name then
                         (head (tail x))
-                else (getValue attrSet 
+                else (getValue attrSet
                         (tail argList) name)) attrSet );
 
-                        
+
   # Input : attrSet, [[name default] ...], [ [flagname reqs..] ... ]
   # Output : are reqs satisfied? It's asserted.
-  checkReqs = attrSet : argList : condList :
+  checkReqs = attrSet: argList: condList:
   (
-    fold lib.and true 
-      (map (x: let name = (head x) ; in
-        
-        ((checkFlag attrSet name) -> 
+    fold lib.and true
+      (map (x: let name = (head x); in
+
+        ((checkFlag attrSet name) ->
         (fold lib.and true
         (map (y: let val=(getValue attrSet argList y); in
-                (val!=null) && (val!=false)) 
-        (tail x))))) condList)) ;
-        
+                (val!=null) && (val!=false))
+        (tail x))))) condList));
+
 
   # This function has O(n^2) performance.
-  uniqList = {inputList, acc ? []} :
-    let go = xs : acc :
+  uniqList = { inputList, acc ? [] }:
+    let go = xs: acc:
              if xs == []
              then []
              else let x = head xs;
@@ -164,26 +164,26 @@ rec {
                   in y ++ go (tail xs) (y ++ acc);
     in go inputList acc;
 
-  uniqListExt = {inputList, outputList ? [],
-    getter ? (x : x), compare ? (x: y: x==y)}:
+  uniqListExt = { inputList,
+                  outputList ? [],
+                  getter ? (x: x),
+                  compare ? (x: y: x==y) }:
         if inputList == [] then outputList else
-        let x=head inputList; 
-        isX = y: (compare (getter y) (getter x));
-        newOutputList = outputList ++
-         (if any isX outputList then [] else [x]);
-        in uniqListExt {outputList=newOutputList; 
-                inputList = (tail inputList);
-                inherit getter compare;
-                };
-
+        let x = head inputList;
+            isX = y: (compare (getter y) (getter x));
+            newOutputList = outputList ++
+                (if any isX outputList then [] else [x]);
+        in uniqListExt { outputList = newOutputList;
+                         inputList = (tail inputList);
+                         inherit getter compare;
+                       };
 
-                
   condConcat = name: list: checker:
         if list == [] then name else
-        if checker (head list) then 
-                condConcat 
-                        (name + (head (tail list))) 
-                        (tail (tail list)) 
+        if checker (head list) then
+                condConcat
+                        (name + (head (tail list)))
+                        (tail (tail list))
                         checker
         else condConcat
                 name (tail (tail list)) checker;
@@ -202,12 +202,12 @@ rec {
     in
       work startSet [] [];
 
-  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else 
+  innerModifySumArgs = f: x: a: b: if b == null then (f a b) // x else
         innerModifySumArgs f x (a // b);
   modifySumArgs = f: x: innerModifySumArgs f x {};
 
 
-  innerClosePropagation = acc : xs :
+  innerClosePropagation = acc: xs:
     if xs == []
     then acc
     else let y  = head xs;
@@ -227,31 +227,31 @@ rec {
   closePropagation = list: (uniqList {inputList = (innerClosePropagation [] list);});
 
   # calls a function (f attr value ) for each record item. returns a list
-  mapAttrsFlatten = f : r : map (attr: f attr r.${attr}) (attrNames r);
+  mapAttrsFlatten = f: r: map (attr: f attr r.${attr}) (attrNames r);
 
   # attribute set containing one attribute
-  nvs = name : value : listToAttrs [ (nameValuePair name value) ];
+  nvs = name: value: listToAttrs [ (nameValuePair name value) ];
   # adds / replaces an attribute of an attribute set
-  setAttr = set : name : v : set // (nvs name v);
+  setAttr = set: name: v: set // (nvs name v);
 
   # setAttrMerge (similar to mergeAttrsWithFunc but only merges the values of a particular name)
-  # setAttrMerge "a" [] { a = [2];} (x : x ++ [3]) -> { a = [2 3]; } 
-  # setAttrMerge "a" [] {         } (x : x ++ [3]) -> { a = [  3]; }
-  setAttrMerge = name : default : attrs : f :
+  # setAttrMerge "a" [] { a = [2];} (x: x ++ [3]) -> { a = [2 3]; }
+  # setAttrMerge "a" [] {         } (x: x ++ [3]) -> { a = [  3]; }
+  setAttrMerge = name: default: attrs: f:
     setAttr attrs name (f (maybeAttr name default attrs));
 
-  # Using f = a : b = b the result is similar to //
+  # Using f = a: b = b the result is similar to //
   # merge attributes with custom function handling the case that the attribute
   # exists in both sets
-  mergeAttrsWithFunc = f : set1 : set2 :
-    fold (n: set : if set ? ${n}
+  mergeAttrsWithFunc = f: set1: set2:
+    fold (n: set: if set ? ${n}
                         then setAttr set n (f set.${n} set2.${n})
                         else set )
            (set2 // set1) (attrNames set2);
 
   # merging two attribute set concatenating the values of same attribute names
   # eg { a = 7; } {  a = [ 2 3 ]; } becomes { a = [ 7 2 3 ]; }
-  mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a : b : (toList a) ++ (toList b) );
+  mergeAttrsConcatenateValues = mergeAttrsWithFunc ( a: b: (toList a) ++ (toList b) );
 
   # merges attributes using //, if a name exisits in both attributes
   # an error will be triggered unless its listed in mergeLists
@@ -262,10 +262,10 @@ rec {
   # ! deprecated, use mergeAttrByFunc instead
   mergeAttrsNoOverride = { mergeLists ? ["buildInputs" "propagatedBuildInputs"],
                            overrideSnd ? [ "buildPhase" ]
-                         } : attrs1 : attrs2 :
-    fold (n: set : 
+                         }: attrs1: attrs2:
+    fold (n: set:
         setAttr set n ( if set ? ${n}
-            then # merge 
+            then # merge
               if elem n mergeLists # attribute contains list, merge them by concatenating
                 then attrs2.${n} ++ attrs1.${n}
               else if elem n overrideSnd
@@ -286,14 +286,14 @@ rec {
   # { mergeAttrsBy = [...]; buildInputs = [ a b c d ]; }
   # is used by prepareDerivationArgs, defaultOverridableDelayableArgs and can be used when composing using
   # foldArgs, composedArgsAndFun or applyAndFun. Example: composableDerivation in all-packages.nix
-  mergeAttrByFunc = x : y :
+  mergeAttrByFunc = x: y:
     let
-          mergeAttrBy2 = { mergeAttrBy=lib.mergeAttrs; }
+          mergeAttrBy2 = { mergeAttrBy = lib.mergeAttrs; }
                       // (maybeAttr "mergeAttrBy" {} x)
                       // (maybeAttr "mergeAttrBy" {} y); in
     fold lib.mergeAttrs {} [
       x y
-      (mapAttrs ( a : v : # merge special names using given functions
+      (mapAttrs ( a: v: # merge special names using given functions
           if x ? ${a}
              then if y ? ${a}
                then v x.${a} y.${a} # both have attr, use merge func
@@ -313,9 +313,9 @@ rec {
   #
   # This function is best explained by an example:
   #
-  #     {version ? "2.x"} :
+  #     {version ? "2.x"}:
   #
-  #     mkDerivation (mergeAttrsByVersion "package-name" version 
+  #     mkDerivation (mergeAttrsByVersion "package-name" version
   #       { # version specific settings
   #         "git" = { src = ..; preConfigre = "autogen.sh"; buildInputs = [automake autoconf libtool];  };
   #         "2.x" = { src = ..; };
@@ -346,21 +346,24 @@ rec {
   # See misc.nix -> versionedDerivation
   # discussion: nixpkgs: pull/310
   mergeAttrsByVersion = name: version: attrsByVersion: base:
-    mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; } base (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)];
+    mergeAttrsByFuncDefaultsClean [ { name = "${name}-${version}"; }
+                                    base
+                                    (maybeAttr version (throw "bad version ${version} for ${name}") attrsByVersion)
+                                  ];
 
   # sane defaults (same name as attr name so that inherit can be used)
   mergeAttrBy = # { buildInputs = concatList; [...]; passthru = mergeAttr; [..]; }
-    listToAttrs (map (n : nameValuePair n lib.concat)
+    listToAttrs (map (n: nameValuePair n lib.concat)
       [ "nativeBuildInputs" "buildInputs" "propagatedBuildInputs" "configureFlags" "prePhases" "postAll" "patches" ])
-    // listToAttrs (map (n : nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
-    // listToAttrs (map (n : nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
+    // listToAttrs (map (n: nameValuePair n lib.mergeAttrs) [ "passthru" "meta" "cfg" "flags" ])
+    // listToAttrs (map (n: nameValuePair n (a: b: "${a}\n${b}") ) [ "preConfigure" "postInstall" ])
   ;
 
   # prepareDerivationArgs tries to make writing configurable derivations easier
   # example:
   #  prepareDerivationArgs {
   #    mergeAttrBy = {
-  #       myScript = x : y : x ++ "\n" ++ y;
+  #       myScript = x: y: x ++ "\n" ++ y;
   #    };
   #    cfg = {
   #      readlineSupport = true;
@@ -392,10 +395,10 @@ rec {
   # TODO use args.mergeFun here as well?
   prepareDerivationArgs = args:
     let args2 = { cfg = {}; flags = {}; } // args;
-        flagName = name : "${name}Support";
-        cfgWithDefaults = (listToAttrs (map (n : nameValuePair (flagName n) false) (attrNames args2.flags)))
+        flagName = name: "${name}Support";
+        cfgWithDefaults = (listToAttrs (map (n: nameValuePair (flagName n) false) (attrNames args2.flags)))
                           // args2.cfg;
-        opts = attrValues (mapAttrs (a : v :
+        opts = attrValues (mapAttrs (a: v:
                 let v2 = if v ? set || v ? unset then v else { set = v; };
                     n = if cfgWithDefaults.${flagName a} then "set" else "unset";
                     attr = maybeAttr n {} v2; in
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 9b682da3e343..e7b8ff7bf101 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -71,6 +71,7 @@
   bjg = "Brian Gough <bjg@gnu.org>";
   bjornfor = "Bjørn Forsman <bjorn.forsman@gmail.com>";
   bluescreen303 = "Mathijs Kwik <mathijs@bluescreen303.nl>";
+  bobakker = "Bo Bakker <bobakk3r@gmail.com>";
   bobvanderlinden = "Bob van der Linden <bobvanderlinden@gmail.com>";
   bodil = "Bodil Stokke <nix@bodil.org>";
   boothead = "Ben Ford <ben@perurbis.com>";
@@ -133,6 +134,7 @@
   dgonyeo = "Derek Gonyeo <derek@gonyeo.com>";
   dipinhora = "Dipin Hora <dipinhora+github@gmail.com>";
   dmalikov = "Dmitry Malikov <malikov.d.y@gmail.com>";
+  dmjio = "David Johnson <djohnson.m@gmail.com>";
   dochang = "Desmond O. Chang <dochang@gmail.com>";
   domenkozar = "Domen Kozar <domen@dev.si>";
   doublec = "Chris Double <chris.double@double.co.nz>";
diff --git a/lib/modules.nix b/lib/modules.nix
index a7c397d2cf43..862488310d81 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -114,7 +114,7 @@ rec {
   /* Massage a module into canonical form, that is, a set consisting
      of ‘options’, ‘config’ and ‘imports’ attributes. */
   unifyModuleSyntax = file: key: m:
-    let metaSet = if m ? meta 
+    let metaSet = if m ? meta
       then { meta = m.meta; }
       else {};
     in
@@ -595,7 +595,7 @@ rec {
        functionality
 
      This show a warning if any a.b.c or d.e.f is set, and set the value of
-     x.y.z to the result of the merge function 
+     x.y.z to the result of the merge function
   */
   mkMergedOptionModule = from: to: mergeFn:
     { config, options, ... }:
@@ -611,12 +611,12 @@ rec {
           let val = getAttrFromPath f config;
               opt = getAttrFromPath f options;
           in
-          optionalString 
+          optionalString
             (val != "_mkMergedOptionModule")
             "The option `${showOption f}' defined in ${showFiles opt.files} has been changed to `${showOption to}' that has a different type. Please read `${showOption to}' documentation and update your configuration accordingly."
         ) from);
       } // setAttrByPath to (mkMerge
-             (optional 
+             (optional
                (any (f: (getAttrFromPath f config) != "_mkMergedOptionModule") from)
                (mergeFn config)));
     };
diff --git a/lib/tests.nix b/lib/tests.nix
index d33e3a824e34..251282d29904 100644
--- a/lib/tests.nix
+++ b/lib/tests.nix
@@ -80,7 +80,7 @@ runTests {
                      y = x.merge {};
                 in (y.merge) { a = 10; };
 
-          resRem7 = res6.replace (a : removeAttrs a ["a"]);
+          resRem7 = res6.replace (a: removeAttrs a ["a"]);
 
           resReplace6 = let x = defaultOverridableDelayableArgs id { a = 7; mergeAttrBy = { a = add; }; };
                             x2 = x.merge { a = 20; }; # now we have 27
@@ -88,10 +88,10 @@ runTests {
 
           # fixed tests (delayed args): (when using them add some comments, please)
           resFixed1 =
-                let x = defaultOverridableDelayableArgs id ( x : { a = 7; c = x.fixed.b; });
-                    y = x.merge (x : { name = "name-${builtins.toString x.fixed.c}"; });
+                let x = defaultOverridableDelayableArgs id ( x: { a = 7; c = x.fixed.b; });
+                    y = x.merge (x: { name = "name-${builtins.toString x.fixed.c}"; });
                 in (y.merge) { b = 10; };
-          strip = attrs : removeAttrs attrs ["merge" "replace"];
+          strip = attrs: removeAttrs attrs ["merge" "replace"];
       in all id
         [ ((strip res1) == { })
           ((strip res2) == { a = 7; })
diff --git a/lib/types.nix b/lib/types.nix
index 0d1a88a00f2d..175cb7472bf6 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -81,7 +81,7 @@ rec {
       #   name: name of the type
       #   type: type function.
       #   wrapped: the type wrapped in case of compound types.
-      #   payload: values of the type, two payloads of the same type must be 
+      #   payload: values of the type, two payloads of the same type must be
       #            combinable with the binOp binary operation.
       #   binOp: binary operation that merge two payloads of the same type.
       functor ? defaultFunctor name
diff --git a/maintainers/docker/.dockerignore b/maintainers/docker/.dockerignore
deleted file mode 100644
index eb4668233e6a..000000000000
--- a/maintainers/docker/.dockerignore
+++ /dev/null
@@ -1,14 +0,0 @@
-*~
-,*
-.*.swp
-.*.swo
-result
-result-*
-/doc/NEWS.html
-/doc/NEWS.txt
-/doc/manual.html
-/doc/manual.pdf
-.version-suffix
-
-.DS_Store
-.git
diff --git a/maintainers/docker/Dockerfile b/maintainers/docker/Dockerfile
deleted file mode 100644
index f02a9d653fd5..000000000000
--- a/maintainers/docker/Dockerfile
+++ /dev/null
@@ -1,12 +0,0 @@
-FROM busybox
-
-RUN dir=`mktemp -d` && trap 'rm -rf "$dir"' EXIT && \
-    wget -O- https://nixos.org/releases/nix/nix-1.7/nix-1.7-x86_64-linux.tar.bz2  | bzcat | tar x -C $dir && \
-    mkdir -m 0755 /nix && USER=root sh $dir/*/install && \
-    echo ". /root/.nix-profile/etc/profile.d/nix.sh" >> /etc/profile
-
-ADD . /root/nix/nixpkgs
-ONBUILD ENV NIX_PATH nixpkgs=/root/nix/nixpkgs:nixos=/root/nix/nixpkgs/nixos
-ONBUILD ENV PATH /root/.nix-profile/bin:/root/.nix-profile/sbin:/bin:/sbin:/usr/bin:/usr/sbin
-ONBUILD ENV ENV /etc/profile
-ENV ENV /etc/profile
diff --git a/maintainers/scripts/hydra-eval-failures.py b/maintainers/scripts/hydra-eval-failures.py
index b339f296056c..6122dabb1e85 100755
--- a/maintainers/scripts/hydra-eval-failures.py
+++ b/maintainers/scripts/hydra-eval-failures.py
@@ -74,13 +74,13 @@ def cli(jobset):
     # TODO: dependency failed without propagated builds
     for tr in d('img[alt="Failed"]').parents('tr'):
         a = pq(tr)('a')[1]
-        print "- [ ] [{}]({})".format(a.text, a.get('href'))
+        print("- [ ] [{}]({})".format(a.text, a.get('href')))
 
         sys.stdout.flush()
 
         maintainers = get_maintainers(a.text)
         if maintainers:
-            print "  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers)))
+            print("  - maintainers: {}".format(", ".join(map(lambda u: '@' + u, maintainers))))
         # TODO: print last three persons that touched this file
         # TODO: pinpoint the diff that broke this build, or maybe it's transient or maybe it never worked?
 
diff --git a/nixos/modules/config/fonts/fontconfig-ultimate.nix b/nixos/modules/config/fonts/fontconfig-ultimate.nix
index a3f52fbd9199..ed6429dda085 100644
--- a/nixos/modules/config/fonts/fontconfig-ultimate.nix
+++ b/nixos/modules/config/fonts/fontconfig-ultimate.nix
@@ -8,61 +8,6 @@ let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
 
     latestVersion  = pkgs.fontconfig.configVersion;
 
-    # fontconfig ultimate main configuration file
-    # priority 52
-    fontconfigUltimateConf = pkgs.writeText "fc-52-fontconfig-ultimate.conf" ''
-      <?xml version="1.0"?>
-      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-      <fontconfig>
-
-        ${optionalString (!cfg.allowBitmaps) ''
-        <!-- Reject bitmap fonts -->
-        <selectfont>
-          <rejectfont>
-            <pattern>
-              <patelt name="scalable"><bool>false</bool></patelt>
-            </pattern>
-          </rejectfont>
-        </selectfont>
-        ''}
-
-        ${optionalString cfg.allowType1 ''
-        <!-- Reject Type 1 fonts -->
-        <selectfont>
-          <rejectfont>
-            <pattern>
-              <patelt name="fontformat">
-                <string>Type 1</string>
-              </patelt>
-            </pattern>
-          </rejectfont>
-        </selectfont>
-        ''}
-
-        <!-- Use embedded bitmaps in fonts like Calibri? -->
-        <match target="font">
-          <edit name="embeddedbitmap" mode="assign">
-            ${fcBool cfg.useEmbeddedBitmaps}
-          </edit>
-        </match>
-
-        <!-- Force autohint always -->
-        <match target="font">
-          <edit name="force_autohint" mode="assign">
-            ${fcBool cfg.forceAutohint}
-          </edit>
-        </match>
-
-        <!-- Render some monospace TTF fonts as bitmaps -->
-        <match target="pattern">
-          <edit name="bitmap_monospace" mode="assign">
-            ${fcBool cfg.renderMonoTTFAsBitmap}
-          </edit>
-        </match>
-
-      </fontconfig>
-    '';
-
     # The configuration to be included in /etc/font/
     confPkg = pkgs.runCommand "font-ultimate-conf" {} ''
       support_folder=$out/etc/fonts/conf.d
@@ -71,12 +16,6 @@ let fcBool = x: if x then "<bool>true</bool>" else "<bool>false</bool>";
       mkdir -p $support_folder
       mkdir -p $latest_folder
 
-      # 52-fontconfig-ultimate.conf
-      ln -s ${fontconfigUltimateConf} \
-            $support_folder/52-fontconfig-ultimate.conf
-      ln -s ${fontconfigUltimateConf} \
-            $latest_folder/52-fontconfig-ultimate.conf
-
       # fontconfig ultimate substitutions
       ${optionalString (cfg.substitutions != "none") ''
       ln -s ${pkgs.fontconfig-ultimate}/etc/fonts/presets/${cfg.substitutions}/*.conf \
@@ -113,45 +52,6 @@ in
             '';
           };
 
-          allowBitmaps = mkOption {
-            type = types.bool;
-            default = true;
-            description = ''
-              Allow bitmap fonts. Set to <literal>false</literal> to ban all
-              bitmap fonts.
-            '';
-          };
-
-          allowType1 = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Allow Type-1 fonts. Default is <literal>false</literal> because of
-              poor rendering.
-            '';
-          };
-
-          useEmbeddedBitmaps = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''Use embedded bitmaps in fonts like Calibri.'';
-          };
-
-          forceAutohint = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''
-              Force use of the TrueType Autohinter. Useful for debugging or
-              free-software purists.
-            '';
-          };
-
-          renderMonoTTFAsBitmap = mkOption {
-            type = types.bool;
-            default = false;
-            description = ''Render some monospace TTF fonts as bitmaps.'';
-          };
-
           substitutions = mkOption {
             type = types.nullOr (types.enum ["free" "combi" "ms"]);
             default = "free";
diff --git a/nixos/modules/config/fonts/fontconfig.nix b/nixos/modules/config/fonts/fontconfig.nix
index 52ad1e714fb9..5648b7b1d027 100644
--- a/nixos/modules/config/fonts/fontconfig.nix
+++ b/nixos/modules/config/fonts/fontconfig.nix
@@ -41,11 +41,11 @@ let cfg = config.fonts.fontconfig;
     # priority 0
     cacheConfSupport = makeCacheConf { version = supportVersion; };
     cacheConfLatest  = makeCacheConf {};
-    
+
     # generate the font cache setting file for a fontconfig version
     # use latest when no version is passed
     makeCacheConf = { version ? null }:
-      let 
+      let
         fcPackage = if builtins.isNull version
                     then "fontconfig"
                     else "fontconfig_${version}";
@@ -104,6 +104,13 @@ let cfg = config.fonts.fontconfig;
         </match>
         ''}
 
+        <!-- Force autohint always -->
+        <match target="font">
+          <edit name="force_autohint" mode="assign">
+            ${fcBool cfg.forceAutohint}
+          </edit>
+        </match>
+
       </fontconfig>
     '';
 
@@ -113,7 +120,7 @@ let cfg = config.fonts.fontconfig;
 
     # default fonts configuration file
     # priority 52
-    defaultFontsConf = 
+    defaultFontsConf =
       let genDefault = fonts: name:
         optionalString (fonts != []) ''
           <alias>
@@ -142,7 +149,61 @@ let cfg = config.fonts.fontconfig;
       </fontconfig>
     '';
 
-    # fontconfig configuration package 
+    # bitmap font options
+    # priority 53
+    rejectBitmaps = pkgs.writeText "fc-53-nixos-bitmaps.conf" ''
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+
+      ${optionalString (!cfg.allowBitmaps) ''
+      <!-- Reject bitmap fonts -->
+      <selectfont>
+        <rejectfont>
+          <pattern>
+            <patelt name="scalable"><bool>false</bool></patelt>
+          </pattern>
+        </rejectfont>
+      </selectfont>
+      ''}
+
+      <!-- Use embedded bitmaps in fonts like Calibri? -->
+      <match target="font">
+        <edit name="embeddedbitmap" mode="assign">
+          ${fcBool cfg.useEmbeddedBitmaps}
+        </edit>
+      </match>
+
+      <!-- Render some monospace TTF fonts as bitmaps -->
+      <match target="pattern">
+        <edit name="bitmap_monospace" mode="assign">
+          ${fcBool cfg.renderMonoTTFAsBitmap}
+        </edit>
+      </match>
+
+      </fontconfig>
+    '';
+
+    # reject Type 1 fonts
+    # priority 53
+    rejectType1 = pkgs.writeText "fc-53-nixos-reject-type1.conf" ''
+      <?xml version="1.0"?>
+      <!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+      <fontconfig>
+
+      <!-- Reject Type 1 fonts -->
+      <selectfont>
+        <rejectfont>
+          <pattern>
+            <patelt name="fontformat"><string>Type 1</string></patelt>
+          </pattern>
+        </rejectfont>
+      </selectfont>
+
+      </fontconfig>
+    '';
+
+    # fontconfig configuration package
     confPkg = pkgs.runCommand "fontconfig-conf" {} ''
       support_folder=$out/etc/fonts
       latest_folder=$out/etc/fonts/${latestVersion}
@@ -166,7 +227,7 @@ let cfg = config.fonts.fontconfig;
 
       substitute ${latestPkg.out}/etc/fonts/conf.d/51-local.conf \
                  $latest_folder/conf.d/51-local.conf \
-                 --replace local.conf /etc/fonts/${latestVersion}/local.conf 
+                 --replace local.conf /etc/fonts/${latestVersion}/local.conf
 
       # 00-nixos-cache.conf
       ln -s ${cacheConfSupport} \
@@ -192,6 +253,16 @@ let cfg = config.fonts.fontconfig;
       # 52-nixos-default-fonts.conf
       ln -s ${defaultFontsConf} $support_folder/conf.d/52-nixos-default-fonts.conf
       ln -s ${defaultFontsConf} $latest_folder/conf.d/52-nixos-default-fonts.conf
+
+      # 53-nixos-bitmaps.conf
+      ln -s ${rejectBitmaps} $support_folder/conf.d/53-nixos-bitmaps.conf
+      ln -s ${rejectBitmaps} $latest_folder/conf.d/53-nixos-bitmaps.conf
+
+      ${optionalString (! cfg.allowType1) ''
+      # 53-nixos-reject-type1.conf
+      ln -s ${rejectType1} $support_folder/conf.d/53-nixos-reject-type1.conf
+      ln -s ${rejectType1} $latest_folder/conf.d/53-nixos-reject-type1.conf
+      ''}
     '';
 
     # Package with configuration files
@@ -349,6 +420,45 @@ in
           '';
         };
 
+        allowBitmaps = mkOption {
+          type = types.bool;
+          default = true;
+          description = ''
+            Allow bitmap fonts. Set to <literal>false</literal> to ban all
+            bitmap fonts.
+          '';
+        };
+
+        allowType1 = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Allow Type-1 fonts. Default is <literal>false</literal> because of
+            poor rendering.
+          '';
+        };
+
+        useEmbeddedBitmaps = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''Use embedded bitmaps in fonts like Calibri.'';
+        };
+
+        forceAutohint = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''
+            Force use of the TrueType Autohinter. Useful for debugging or
+            free-software purists.
+          '';
+        };
+
+        renderMonoTTFAsBitmap = mkOption {
+          type = types.bool;
+          default = false;
+          description = ''Render some monospace TTF fonts as bitmaps.'';
+        };
+
       };
 
     };
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index ff3654737afd..af8b34b5e5cb 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -103,9 +103,6 @@ with lib;
     (mkRenamedOptionModule [ "services" "xserver" "windowManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "xbmc" ] [ "services" "xserver" "desktopManager" "kodi" ])
 
-    # DNSCrypt-proxy
-    (mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
-
     (mkRenamedOptionModule [ "services" "hostapd" "extraCfg" ] [ "services" "hostapd" "extraConfig" ])
 
     # Enlightenment
@@ -181,6 +178,13 @@ with lib;
     # KDE Plasma 5
     (mkRenamedOptionModule [ "services" "xserver" "desktopManager" "kde5" ] [ "services" "xserver" "desktopManager" "plasma5" ])
 
+    # Fontconfig
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowBitmaps" ] [ "config" "fonts" "fontconfig" "allowBitmaps" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "allowType1" ] [ "config" "fonts" "fontconfig" "allowType1" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "useEmbeddedBitmaps" ] [ "config" "fonts" "fontconfig" "useEmbeddedBitmaps" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "forceAutohint" ] [ "config" "fonts" "fontconfig" "forceAutohint" ])
+    (mkRenamedOptionModule [ "config" "fonts" "fontconfig" "ultimate" "renderMonoTTFAsBitmap" ] [ "config" "fonts" "fontconfig" "renderMonoTTFAsBitmap" ])
+
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
     (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml
index 07a61919ab42..620e8f653f99 100644
--- a/nixos/modules/security/grsecurity.xml
+++ b/nixos/modules/security/grsecurity.xml
@@ -312,7 +312,7 @@
       Overflows in boot critical code (e.g., the root filesystem module) can
       render the system unbootable.  Work around by setting
       <programlisting>
-        boot.kernel.kernelParams = [ "pax_size_overflow_report_only" ];
+        boot.kernelParams = [ "pax_size_overflow_report_only" ];
       </programlisting>
     </para></listitem>
 
diff --git a/nixos/modules/services/continuous-integration/buildbot/master.nix b/nixos/modules/services/continuous-integration/buildbot/master.nix
index 0ff6dbac39c7..533751734fa5 100644
--- a/nixos/modules/services/continuous-integration/buildbot/master.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/master.nix
@@ -217,11 +217,11 @@ in {
       path = cfg.packages;
 
       serviceConfig = {
-        Type = "forking";
+        Type = "simple";
         User = cfg.user;
         Group = cfg.group;
         WorkingDirectory = cfg.home;
-        ExecStart = "${cfg.package}/bin/buildbot start ${cfg.buildbotDir}";
+        ExecStart = "${cfg.package}/bin/buildbot start --nodaemon ${cfg.buildbotDir}";
       };
 
       preStart = ''
diff --git a/nixos/modules/services/continuous-integration/buildbot/worker.nix b/nixos/modules/services/continuous-integration/buildbot/worker.nix
index 00423bd33865..e4ee4dd861ef 100644
--- a/nixos/modules/services/continuous-integration/buildbot/worker.nix
+++ b/nixos/modules/services/continuous-integration/buildbot/worker.nix
@@ -111,11 +111,11 @@ in {
       '';
 
       serviceConfig = {
-        Type = "forking";
+        Type = "simple";
         User = cfg.user;
         Group = cfg.group;
         WorkingDirectory = cfg.home;
-        ExecStart = "${cfg.package}/bin/buildbot-worker start ${cfg.buildbotDir}";
+        ExecStart = "${cfg.package}/bin/buildbot-worker start --nodaemon ${cfg.buildbotDir}";
       };
 
     };
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.nix b/nixos/modules/services/networking/dnscrypt-proxy.nix
index 8e9747b29667..beddaa076122 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.nix
+++ b/nixos/modules/services/networking/dnscrypt-proxy.nix
@@ -3,8 +3,9 @@ with lib;
 
 let
   apparmorEnabled = config.security.apparmor.enable;
-  dnscrypt-proxy = pkgs.dnscrypt-proxy;
+
   cfg = config.services.dnscrypt-proxy;
+
   stateDirectory = "/var/lib/dnscrypt-proxy";
 
   localAddress = "${cfg.localAddress}:${toString cfg.localPort}";
@@ -121,7 +122,7 @@ in
           name = mkOption {
             type = types.str;
             description = "Fully qualified domain name";
-            example = "2.dnscrypt-cert.opendns.com";
+            example = "2.dnscrypt-cert.example.com";
           };
 
           key = mkOption {
@@ -195,7 +196,7 @@ in
 
       serviceConfig = {
         NonBlocking = "true";
-        ExecStart = "${dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
+        ExecStart = "${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy ${toString daemonArgs}";
 
         User = "dnscrypt-proxy";
 
@@ -208,7 +209,7 @@ in
 
     (mkIf apparmorEnabled {
     security.apparmor.profiles = singleton (pkgs.writeText "apparmor-dnscrypt-proxy" ''
-      ${dnscrypt-proxy}/bin/dnscrypt-proxy {
+      ${pkgs.dnscrypt-proxy}/bin/dnscrypt-proxy {
         /dev/null rw,
         /dev/urandom r,
 
@@ -224,6 +225,8 @@ in
         network inet dgram,
         network inet6 dgram,
 
+        ${getLib pkgs.dnscrypt-proxy}/lib/dnscrypt-proxy/libdcplugin*.so mr,
+
         ${getLib pkgs.gcc.cc}/lib/libssp.so.* mr,
         ${getLib pkgs.libsodium}/lib/libsodium.so.* mr,
         ${getLib pkgs.systemd}/lib/libsystemd.so.* mr,
@@ -306,4 +309,8 @@ in
     };
     })
     ]);
+
+  imports = [
+    (mkRenamedOptionModule [ "services" "dnscrypt-proxy" "port" ] [ "services" "dnscrypt-proxy" "localPort" ])
+  ];
 }
diff --git a/nixos/modules/services/networking/dnscrypt-proxy.xml b/nixos/modules/services/networking/dnscrypt-proxy.xml
index 982961833ad2..555c6df4d551 100644
--- a/nixos/modules/services/networking/dnscrypt-proxy.xml
+++ b/nixos/modules/services/networking/dnscrypt-proxy.xml
@@ -31,15 +31,12 @@
 
   </sect1>
 
-  <sect1><title>As a forwarder for a caching DNS client</title>
+  <sect1><title>As a forwarder for another DNS client</title>
 
   <para>
-    By default, DNSCrypt proxy acts as a transparent proxy for the
-    system stub resolver. Because the client does not cache lookups, this
-    setup can significantly slow down e.g., web browsing. The recommended
-    configuration is to run DNSCrypt proxy as a forwarder for a caching DNS
-    client. To achieve this, change the default proxy listening port to
-    a non-standard value and point the caching client to it:
+    To run the DNSCrypt proxy client as a forwarder for another
+    DNS client, change the default proxy listening port to a
+    non-standard value and point the other client to it:
     <programlisting>
       services.dnscrypt-proxy.localPort = 43;
     </programlisting>
@@ -60,7 +57,6 @@
   <para>
     <programlisting>
       {
-        networking.nameservers = [ "127.0.0.1" ];
         services.unbound.enable = true;
         services.unbound.forwardAddresses = [ "127.0.0.1@43" ];
       }
diff --git a/nixos/modules/services/web-apps/pump.io-configure.js b/nixos/modules/services/web-apps/pump.io-configure.js
new file mode 100644
index 000000000000..1fbf346a34c4
--- /dev/null
+++ b/nixos/modules/services/web-apps/pump.io-configure.js
@@ -0,0 +1,23 @@
+var fs = require('fs');
+
+var opts = JSON.parse(fs.readFileSync("/dev/stdin").toString());
+var config = opts.config;
+
+var readSecret = function(filename) {
+  return fs.readFileSync(filename).toString().trim();
+};
+
+if (opts.secretFile) {
+  config.secret = readSecret(opts.secretFile);
+}
+if (opts.dbPasswordFile) {
+  config.params.dbpass = readSecret(opts.dbPasswordFile);
+}
+if (opts.smtpPasswordFile) {
+  config.smtppass = readSecret(opts.smtpPasswordFile);
+}
+if (opts.spamClientSecretFile) {
+  config.spamclientsecret = readSecret(opts.opts.spamClientSecretFile);
+}
+
+fs.writeFileSync(opts.outputFile, JSON.stringify(config));
diff --git a/nixos/modules/services/web-apps/pump.io.nix b/nixos/modules/services/web-apps/pump.io.nix
index b7c64bc6940b..27ae68516367 100644
--- a/nixos/modules/services/web-apps/pump.io.nix
+++ b/nixos/modules/services/web-apps/pump.io.nix
@@ -5,71 +5,74 @@ with lib;
 let
   cfg = config.services.pumpio;
   dataDir = "/var/lib/pump.io";
+  runDir = "/run/pump.io";
   user = "pumpio";
 
+  optionalSet = condition: value: if condition then value else {};
+
+  configScript = ./pump.io-configure.js;
   configOptions = {
-    driver = if cfg.driver == "disk" then null else cfg.driver;
-    params = ({ } //
-    (if cfg.driver == "disk" then {
-      dir = dataDir;
-     } else { }) //
-    (if cfg.driver == "mongodb" || cfg.driver == "redis" then {
-       host = cfg.dbHost;
-       port = cfg.dbPort;
-       dbname = cfg.dbName;
-       dbuser = cfg.dbUser;
-       dbpass = cfg.dbPassword;
-     } else { }) //
-    (if cfg.driver == "memcached" then {
-       host = cfg.dbHost;
-       port = cfg.dbPort;
-     } else { }) //
-     cfg.driverParams);
-
-    secret = cfg.secret;
-
-    address = cfg.address;
-    port = cfg.port;
-
-    noweb = false;
-    urlPort = cfg.urlPort;
-    hostname = cfg.hostname;
-    favicon = cfg.favicon;
-
-    site = cfg.site;
-    owner = cfg.owner;
-    ownerURL = cfg.ownerURL;
-
-    key = cfg.sslKey;
-    cert = cfg.sslCert;
-    bounce = false;
-
-    spamhost = cfg.spamHost;
-    spamclientid = cfg.spamClientId;
-    spamclientsecret = cfg.spamClientSecret;
-
-    requireEmail = cfg.requireEmail;
-    smtpserver = cfg.smtpHost;
-    smtpport = cfg.smtpPort;
-    smtpuser = cfg.smtpUser;
-    smtppass = cfg.smtpPassword;
-    smtpusessl = cfg.smtpUseSSL;
-    smtpfrom = cfg.smtpFrom;
-
-    nologger = false;
-    uploaddir =  "${dataDir}/uploads";
-    debugClient = false;
-    firehose = cfg.firehose;
-    disableRegistration = cfg.disableRegistration;
-  } //
-  (if cfg.port < 1024 then {
-    serverUser = user;  # have pump.io listen then drop privileges
-   } else { }) //
-  cfg.extraConfig;
-
-in
-
-{
+    outputFile = "${runDir}/config.json";
+    config =
+      (optionalSet (cfg.driver != "disk") {
+        driver = cfg.driver;
+      }) //
+      {
+        params = (optionalSet (cfg.driver == "disk") { dir = dataDir; }) //
+                 (optionalSet (cfg.driver == "mongodb" || cfg.driver == "redis") {
+                   host = cfg.dbHost;
+                   port = cfg.dbPort;
+                   dbname = cfg.dbName;
+                   dbuser = cfg.dbUser;
+                   dbpass = cfg.dbPassword;
+                 }) //
+                 (optionalSet (cfg.driver == "memcached") {
+                   host = cfg.dbHost;
+                   port = cfg.dbPort;
+                 }) // cfg.driverParams;
+        secret = cfg.secret;
+
+        address = cfg.address;
+        port = cfg.port;
+
+        noweb = false;
+        urlPort = cfg.urlPort;
+        hostname = cfg.hostname;
+        favicon = cfg.favicon;
+
+        site = cfg.site;
+        owner = cfg.owner;
+        ownerURL = cfg.ownerURL;
+
+        key = cfg.sslKey;
+        cert = cfg.sslCert;
+        bounce = false;
+
+        spamhost = cfg.spamHost;
+        spamclientid = cfg.spamClientId;
+        spamclientsecret = cfg.spamClientSecret;
+
+        requireEmail = cfg.requireEmail;
+        smtpserver = cfg.smtpHost;
+        smtpport = cfg.smtpPort;
+        smtpuser = cfg.smtpUser;
+        smtppass = cfg.smtpPassword;
+        smtpusessl = cfg.smtpUseSSL;
+        smtpfrom = cfg.smtpFrom;
+
+        nologger = false;
+        enableUploads = cfg.enableUploads;
+        datadir = dataDir;
+        debugClient = false;
+        firehose = cfg.firehose;
+        disableRegistration = cfg.disableRegistration;
+
+        inherit (cfg) secretFile dbPasswordFile smtpPasswordFile spamClientSecretFile;
+      } //
+      (optionalSet (cfg.port < 1024) {
+        serverUser = user;  # have pump.io listen then drop privileges
+      }) // cfg.extraConfig;
+}; in {
   options = {
 
     services.pumpio = {
@@ -77,7 +80,8 @@ in
       enable = mkEnableOption "Pump.io social streams server";
 
       secret = mkOption {
-        type = types.str;
+        type = types.nullOr types.str;
+        default = null;
         example = "my dog has fleas";
         description = ''
           A session-generating secret, server-wide password.  Warning:
@@ -85,6 +89,16 @@ in
         '';
       };
 
+      secretFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-secret";
+        description = ''
+          A file containing the session-generating secret,
+          server-wide password.
+        '';
+      };
+
       site = mkOption {
         type = types.str;
         example = "Awesome Sauce";
@@ -125,7 +139,7 @@ in
 
       hostname = mkOption {
         type = types.nullOr types.str;
-        default = null;
+        default = "localhost";
         description = ''
           The hostname of the server, used for generating
           URLs. Defaults to "localhost" which doesn't do much for you.
@@ -152,6 +166,15 @@ in
         '';
       };
 
+      enableUploads = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          If you want to disable file uploads, set this to false. Uploaded files will be stored
+          in ${dataDir}/uploads.
+        '';
+      };
+
       sslKey = mkOption {
         type = types.path;
         example = "${dataDir}/myserver.key";
@@ -253,6 +276,15 @@ in
         '';
       };
 
+      dbPasswordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-dbpassword";
+        description = ''
+          A file containing the password corresponding to dbUser.
+        '';
+      };
+
       smtpHost = mkOption {
         type = types.nullOr types.str;
         default = null;
@@ -291,6 +323,17 @@ in
         '';
       };
 
+      smtpPasswordFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-smtppassword";
+        description = ''
+          A file containing the password used to connect to SMTP
+          server. Might not be necessary for some servers.
+        '';
+      };
+
+
       smtpUseSSL = mkOption {
         type = types.bool;
         default = false;
@@ -332,24 +375,55 @@ in
           stored in cleartext in the Nix store!
         '';
       };
+      spamClientSecretFile = mkOption {
+        type = types.nullOr types.path;
+        default = null;
+        example = "/run/keys/pump.io-spamclientsecret";
+        description = ''
+          A file containing the OAuth key for the spam server.
+        '';
+      };
     };
 
   };
 
   config = mkIf cfg.enable {
+    warnings = let warn = k: optional (cfg.${k} != null)
+                 "config.services.pumpio.${k} is insecure. Use ${k}File instead.";
+               in concatMap warn [ "secret" "dbPassword" "smtpPassword" "spamClientSecret" ];
+
+    assertions = [
+      { assertion = !(isNull cfg.secret && isNull cfg.secretFile);
+        message = "pump.io needs a secretFile configured";
+      }
+    ];
+
     systemd.services."pump.io" =
-      { description = "pump.io social network stream server";
+      { description = "Pump.io - stream server that does most of what people really want from a social network";
         after = [ "network.target" ];
         wantedBy = [ "multi-user.target" ];
-        serviceConfig.ExecStart = "${pkgs.pumpio}/bin/pump -c /etc/pump.io.json";
-        serviceConfig.User = if cfg.port < 1024 then "root" else user;
-        serviceConfig.Group = user;
-      };
 
-      environment.etc."pump.io.json" = {
-        mode = "0440";
-        gid = config.ids.gids.pumpio;
-        text = builtins.toJSON configOptions;
+        preStart = ''
+          mkdir -p ${dataDir}/uploads
+          mkdir -p ${runDir}
+          chown pumpio:pumpio ${dataDir}/uploads ${runDir}
+          chmod 770 ${dataDir}/uploads ${runDir}
+
+          ${pkgs.nodejs}/bin/node ${configScript} <<EOF
+          ${builtins.toJSON configOptions}
+          EOF
+
+          chgrp pumpio ${configOptions.outputFile}
+          chmod 640 ${configOptions.outputFile}
+        '';
+
+        serviceConfig = {
+          ExecStart = "${pkgs.pumpio}/bin/pump -c ${configOptions.outputFile}";
+          PermissionsStartOnly = true;
+          User = if cfg.port < 1024 then "root" else user;
+          Group = user;
+        };
+        environment = { NODE_ENV = "production"; };
       };
 
       users.extraGroups.pumpio.gid = config.ids.gids.pumpio;
diff --git a/nixos/modules/services/web-servers/phpfpm/default.nix b/nixos/modules/services/web-servers/phpfpm/default.nix
index 846dfbb587f5..efb721c5773f 100644
--- a/nixos/modules/services/web-servers/phpfpm/default.nix
+++ b/nixos/modules/services/web-servers/phpfpm/default.nix
@@ -27,9 +27,12 @@ let
 
   phpIni = pkgs.runCommand "php.ini" {
     inherit (cfg) phpPackage phpOptions;
-    passAsFile = [ "phpOptions" ];
+    nixDefaults = ''
+      sendmail_path = "/run/wrappers/bin/sendmail -t -i"
+    '';
+    passAsFile = [ "nixDefaults" "phpOptions" ];
   } ''
-    cat $phpPackage/etc/php.ini $phpOptionsPath > $out
+    cat $phpPackage/etc/php.ini $nixDefaultsPath $phpOptionsPath > $out
   '';
 
 in {
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 24225308ffb3..bc6e728169b4 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -182,20 +182,15 @@ in
 
       environment.variables = {
         # Enable GTK applications to load SVG icons
-        GST_PLUGIN_SYSTEM_PATH_1_0 =
-          lib.makeSearchPath "/lib/gstreamer-1.0"
-          (builtins.map (pkg: pkg.out) (with pkgs.gst_all_1; [
-            gstreamer
-            gst-plugins-base
-            gst-plugins-good
-            gst-plugins-ugly
-            gst-plugins-bad
-            gst-libav # for mp3 playback
-          ]));
         GDK_PIXBUF_MODULE_FILE = "${pkgs.librsvg.out}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache";
       };
 
       fonts.fonts = with pkgs; [ noto-fonts hack-font ];
+      fonts.fontconfig.defaultFonts = {
+        monospace = [ "Hack" "Noto Mono" ];
+        sansSerif = [ "Noto Sans" ];
+        serif = [ "Noto Serif" ];
+      };
 
       programs.ssh.askPassword = "${plasma5.ksshaskpass.out}/bin/ksshaskpass";
 
diff --git a/nixos/modules/system/boot/luksroot.nix b/nixos/modules/system/boot/luksroot.nix
index 1f412fe2d8f2..8978b73749b7 100644
--- a/nixos/modules/system/boot/luksroot.nix
+++ b/nixos/modules/system/boot/luksroot.nix
@@ -434,8 +434,8 @@ in
       chmod +x $out/bin/cryptsetup-askpass
 
       ${optionalString luks.yubikeySupport ''
-        copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
-        copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
+        copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykchalresp
+        copy_bin_and_libs ${pkgs.yubikey-personalization}/bin/ykinfo
         copy_bin_and_libs ${pkgs.openssl.bin}/bin/openssl
 
         cc -O3 -I${pkgs.openssl.dev}/include -L${pkgs.openssl.out}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
diff --git a/nixos/modules/virtualisation/xen-dom0.nix b/nixos/modules/virtualisation/xen-dom0.nix
index a80b2e1f3b04..57487f704519 100644
--- a/nixos/modules/virtualisation/xen-dom0.nix
+++ b/nixos/modules/virtualisation/xen-dom0.nix
@@ -40,7 +40,7 @@ in
     virtualisation.xen.qemu = mkOption {
       type = types.path;
       default = "${pkgs.xen}/lib/xen/bin/qemu-system-i386";
-      defaultText = "''${pkgs.xen}/lib/xen/bin/qemu-system-i386";
+      defaultText = "\${pkgs.xen}/lib/xen/bin/qemu-system-i386";
       example = literalExample "''${pkgs.qemu_xen-light}/bin/qemu-system-i386";
       description = ''
         The qemu binary to use for Dom-0 backend.
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index 63ca39a9b602..1953fd1a26a7 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -4,7 +4,7 @@
 
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
-, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
+, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
 }:
 
 let
diff --git a/nixos/release.nix b/nixos/release.nix
index 8a5b41ca3bb3..0359d0907cca 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -1,6 +1,6 @@
 { nixpkgs ? { outPath = ./..; revCount = 56789; shortRev = "gfedcba"; }
 , stableBranch ? false
-, supportedSystems ? [ "x86_64-linux" "i686-linux" ]
+, supportedSystems ? [ "x86_64-linux" "i686-linux" "aarch64-linux" ]
 }:
 
 with import ../lib;
diff --git a/nixos/tests/pump.io.nix b/nixos/tests/pump.io.nix
index 18da52b5134b..0991ed3fce1f 100644
--- a/nixos/tests/pump.io.nix
+++ b/nixos/tests/pump.io.nix
@@ -51,16 +51,6 @@ import ./make-test.nix ({ pkgs, ...} : let
     Vd5WD2HJhLb9u0UxVp9vfWIUDgydopV5ZmWCQ5YvNepb1w==
     -----END CERTIFICATE-----
   '';
-
-  makePump = { opts ? { } }:
-    {
-      enable = true;
-      sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
-      sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
-      secret = "test";
-      site = "test";
-    } // opts;
-
 in {
   name = "pumpio";
   meta = with pkgs.stdenv.lib.maintainers; {
@@ -72,9 +62,14 @@ in {
       { config, pkgs, ... }:
         {
           services = {
-           pumpio = makePump { opts = {
+           pumpio = {
              port = 443;
-           }; };
+             enable = true;
+             sslCert = pkgs.writeText "snakeoil.cert" snakeOilCert;
+             sslKey = pkgs.writeText "snakeoil.pem" snakeOilKey;
+             secretFile = pkgs.writeText "secretFile" "test123";
+             site = "test";
+           };
            mongodb.enable = true;
            mongodb.extraConfig = ''
              storage.journal.enabled: false
diff --git a/pkgs/applications/altcoins/litecoin.nix b/pkgs/applications/altcoins/litecoin.nix
index 38e671e89940..9b19d2f29969 100644
--- a/pkgs/applications/altcoins/litecoin.nix
+++ b/pkgs/applications/altcoins/litecoin.nix
@@ -1,28 +1,31 @@
-{ stdenv, fetchurl
+{ stdenv, fetchFromGitHub
 , pkgconfig, autoreconfHook
 , openssl, db48, boost, zlib, miniupnpc
 , glib, protobuf, utillinux, qt4, qrencode
-, withGui }:
+, withGui, libevent }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "litecoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.10.2.2";
+  version = "0.13.2.1";
 
-  src = fetchurl {
-    url = "https://github.com/litecoin-project/litecoin/archive/v${version}.tar.gz";
-    sha256 = "1p1h2654b7f2lyrmihcjmpmx6sjpkgsifcm2ixxb2g9jh6qq8b4m";
+  src = fetchFromGitHub {
+    owner = "litecoin-project";
+    repo = "litecoin";
+    rev = "v${version}";
+    sha256 = "0hml1crml6rx7im8dfbig3znmvnk2di61ybbhrhpad5mj0yrih30";
   };
 
-  buildInputs = [ pkgconfig autoreconfHook openssl
-                  openssl db48 boost zlib miniupnpc glib protobuf utillinux ]
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ openssl db48 boost zlib
+                  miniupnpc glib protobuf utillinux libevent ]
                   ++ optionals withGui [ qt4 qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
                      ++ optionals withGui [ "--with-gui=qt4" ];
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A lite version of Bitcoin using scrypt as a proof-of-work algorithm";
     longDescription= ''
       Litecoin is a peer-to-peer Internet currency that enables instant payments
diff --git a/pkgs/applications/audio/cdparanoia/default.nix b/pkgs/applications/audio/cdparanoia/default.nix
index ac5db3d1f636..34dba5e206fa 100644
--- a/pkgs/applications/audio/cdparanoia/default.nix
+++ b/pkgs/applications/audio/cdparanoia/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, IOKit, Carbon }:
+{ stdenv, fetchurl, autoreconfHook, gnu-config, IOKit, Carbon }:
 
 stdenv.mkDerivation rec {
   name = "cdparanoia-III-10.2";
@@ -8,10 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "1pv4zrajm46za0f6lv162iqffih57a8ly4pc69f7y0gfyigb8p80";
   };
 
-  hardeningDisable = [ "format" ];
-
-  preConfigure = "unset CC";
-
   patches = stdenv.lib.optionals stdenv.isDarwin [
     (fetchurl {
       url = "https://trac.macports.org/export/70964/trunk/dports/audio/cdparanoia/files/osx_interface.patch";
@@ -23,11 +19,20 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  buildInputs = stdenv.lib.optional stdenv.isAarch64 autoreconfHook;
+
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [
     Carbon
     IOKit
   ];
 
+  hardeningDisable = [ "format" ];
+
+  preConfigure = "unset CC" + stdenv.lib.optionalString stdenv.isAarch64 ''\n
+    cp ${gnu-config}/config.sub configure.sub
+    cp ${gnu-config}/config.guess configure.guess
+  '';
+
   meta = {
     homepage = http://xiph.org/paranoia;
     description = "A tool and library for reading digital audio from CDs";
diff --git a/pkgs/applications/audio/csound/default.nix b/pkgs/applications/audio/csound/default.nix
index 166ed592ad84..976ecb675e76 100644
--- a/pkgs/applications/audio/csound/default.nix
+++ b/pkgs/applications/audio/csound/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, libsndfile, flex, bison
+{ stdenv, fetchFromGitHub, cmake, libsndfile, flex, bison, boost
 , alsaLib ? null
 , libpulseaudio ? null
 , tcltk ? null
@@ -11,26 +11,30 @@
 # , wiiuse ? null
 }:
 
-stdenv.mkDerivation {
-  name = "csound-6.04";
+stdenv.mkDerivation rec {
+  name = "csound-6.08.1";
+  version = "6.08.1";
 
   enableParallelBuilding = true;
 
   hardeningDisable = [ "format" ];
 
-  src = fetchurl {
-    url = mirror://sourceforge/csound/Csound6.04.tar.gz;
-    sha256 = "1030w38lxdwjz1irr32m9cl0paqmgr02lab2m7f7j1yihwxj1w0g";
+  src = fetchFromGitHub {
+    owner = "csound";
+    repo = "csound";
+    rev = version;
+    sha256 = "03xnva17sw35ga3n96x1zdfgw913dga1hccly85wzfn0kxz4rld9";
   };
 
-  buildInputs = [ cmake libsndfile flex bison alsaLib libpulseaudio tcltk ];
+  nativeBuildInputs = [ cmake flex bison ];
+  buildInputs = [ libsndfile alsaLib libpulseaudio tcltk boost ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Sound design, audio synthesis, and signal processing system, providing facilities for music composition and performance on all major operating systems and platforms";
     homepage = http://www.csounds.com/;
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [stdenv.lib.maintainers.marcweber];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    maintainers = [maintainers.marcweber];
+    platforms = platforms.linux;
   };
 }
 
diff --git a/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations
new file mode 100644
index 000000000000..f575af5ecd31
--- /dev/null
+++ b/pkgs/applications/audio/yasr/10_fix_openpty_forkpty_declarations
@@ -0,0 +1,25 @@
+Disable openpty() and forkpty() prototypes when needed.
+--- a/yasr/yasr.h
++++ b/yasr/yasr.h
+@@ -308,8 +308,10 @@ extern void opt_set(int num, void *val);
+ extern void opt_queue_empty(int ll);
+ extern void opt_write(FILE * fp);
+ 
++#ifndef HAVE_OPENPTY
+ /* openpty.c prototypes */
+ extern int openpty(int *, int *, char *, struct termios *, struct winsize *);
++#endif
+ 
+ /* cfmakeraw.c prototypes */
+ extern void cfmakeraw(struct termios *);
+@@ -317,8 +319,10 @@ extern void cfmakeraw(struct termios *);
+ /* login_tty.c prototypes */
+ extern int login_tty(int);
+ 
++#ifndef HAVE_FORKPTY
+ /* forkpty.c prototypes */
+ extern int forkpty(int *, char *, struct termios *, struct winsize *);
++#endif
+ 
+ /* tbc - Would it be more efficient to ensure that "blank" grids always held
+    ascii 0x20 rather than ascii 0x00? */
diff --git a/pkgs/applications/audio/yasr/20_maxpathlen b/pkgs/applications/audio/yasr/20_maxpathlen
new file mode 100644
index 000000000000..386c6cbf22bd
--- /dev/null
+++ b/pkgs/applications/audio/yasr/20_maxpathlen
@@ -0,0 +1,11 @@
+--- a/yasr/config.c.orig	2011-11-28 03:56:58.764995828 +0100
++++ a/yasr/config.c	2011-11-28 03:57:00.048967703 +0100
+@@ -60,7 +60,7 @@
+   int args, arg[16], *argp;
+   int i, key, ln = 0, mode = 0;
+   char *home, *ptr, *s;
+-  char confname[MAXPATHLEN];
++  char confname[strlen(PACKAGE_DATA_DIR) + 10 + 1];
+ 
+   if ((home = getenv("HOME")) != NULL)
+   {
diff --git a/pkgs/applications/audio/yasr/30_conf b/pkgs/applications/audio/yasr/30_conf
new file mode 100644
index 000000000000..98e959f55f31
--- /dev/null
+++ b/pkgs/applications/audio/yasr/30_conf
@@ -0,0 +1,18 @@
+diff --git a/yasr.conf b/yasr.conf
+index 1e07fc6..72f5922 100644
+--- a/yasr.conf
++++ b/yasr.conf
+@@ -59,11 +59,11 @@ synthesizer=emacspeak server
+ #synthesizer=speech dispatcher
+ #synthesizer port=S0
+ #synthesizer port=l0
+-synthesizer port=|/usr/local/bin/eflite
++synthesizer port=|eflite
+ # Below line appropriate for Speech Dispatcher in its default configuration
+ #synthesizer port=127.0.0.1:6560
+ key echo=off
+-shell=/bin/bash
++shell=/bin/sh
+ special=off
+ up and down arrows=speak line
+ DisableKey=6925
diff --git a/pkgs/applications/audio/yasr/40_dectalk_extended_chars b/pkgs/applications/audio/yasr/40_dectalk_extended_chars
new file mode 100644
index 000000000000..cc1f0af86065
--- /dev/null
+++ b/pkgs/applications/audio/yasr/40_dectalk_extended_chars
@@ -0,0 +1,14 @@
+Index: yasr-0.6.9/yasr/tts.c
+===================================================================
+--- yasr-0.6.9.orig/yasr/tts.c	2008-02-03 00:10:07.000000000 +1100
++++ yasr-0.6.9/yasr/tts.c	2012-02-05 10:59:06.059007839 +1100
+@@ -281,6 +281,9 @@
+   char *p = synth[tts.synth].unspeakable;
+ 
+   if (ch < 32) return 1;
++  /* characters with high bit set cause DECTALK to crash */
++  if (tts.synth == TTS_DECTALK && ch & 0x80)
++    return 1;
+   while (*p)
+   {
+     if (*p++ == ch) return 1;
diff --git a/pkgs/applications/audio/yasr/default.nix b/pkgs/applications/audio/yasr/default.nix
new file mode 100644
index 000000000000..b700cc0bd83d
--- /dev/null
+++ b/pkgs/applications/audio/yasr/default.nix
@@ -0,0 +1,28 @@
+{stdenv,fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "yasr-${version}";
+  
+  version = "0.6.9";
+  
+  src = fetchurl {
+    url = "https://sourceforge.net/projects/yasr/files/yasr/${version}/${name}.tar.gz";
+    sha256 = "1prv9r9y6jb5ga5578ldiw507fa414m60xhlvjl29278p3x7rwa1";
+  };
+  
+  patches = [
+    ./10_fix_openpty_forkpty_declarations
+    ./20_maxpathlen
+    ./30_conf
+    ./40_dectalk_extended_chars
+  ]; # taken from the debian yasr package
+  
+  meta = {
+    homepage = "http://yasr.sourceforge.net";
+    description = "A general-purpose console screen reader";
+    longDescription = "Yasr is a general-purpose console screen reader for GNU/Linux and other Unix-like operating systems.";
+    platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ jhhuh ];
+  };
+}
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 291439db5beb..b3dd9f91ec89 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
-, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit
+, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit, gcc6
 , qt4 ? null
 , withQt5 ? false, qtbase
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
-    qt4 libaudit
+    qt4 libaudit gcc6
   ] ++ stdenv.lib.optional withQt5 qtbase;
 
   configureFlags = [
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 47a8eff3da8e..3eae877ff61a 100644
--- a/pkgs/applications/editors/atom/default.nix
+++ b/pkgs/applications/editors/atom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-${version}";
-  version = "1.14.4";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0b1dbhpphbsjkizii6l5cxr2pqk6bjix0amc2avk3p7ys710zazv";
+    sha256 = "0w790b9m94m28bx7n94pg2zjxrcjf13228lsb0pl8kyfsk2k2glx";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/bluefish/default.nix b/pkgs/applications/editors/bluefish/default.nix
index 59e8076c787b..1c2e3a425782 100644
--- a/pkgs/applications/editors/bluefish/default.nix
+++ b/pkgs/applications/editors/bluefish/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "bluefish-2.2.9";
+  name = "bluefish-2.2.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/bluefish/${name}.tar.bz2";
-    sha256 = "1l7pg6h485yj84i34jr09y8qzc1yr4ih6w5jdhmnrg156db7nwav";
+    sha256 = "1ciygj79q6i3ga5x1j8aivc05nh6rhhnm7hrq8q8xd9vd4ms3v5g";
   };
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index 834d3056e742..400b1cd42468 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -645,10 +645,10 @@
     el-search = callPackage ({ elpaBuild, emacs, fetchurl, lib, stream }:
     elpaBuild {
         pname = "el-search";
-        version = "1.2.3";
+        version = "1.3";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/el-search-1.2.3.tar";
-          sha256 = "1d7iqr4fr0kr171fnjcm2n0bgcwzdh6jl585mwjf2zqnqszv13h0";
+          url = "https://elpa.gnu.org/packages/el-search-1.3.tar";
+          sha256 = "0hg7jppdsaxy285bdaban1i096bjx21pqmczz7w9f3nr34n28pyn";
         };
         packageRequires = [ emacs stream ];
         meta = {
@@ -821,10 +821,10 @@
     gnorb = callPackage ({ cl-lib ? null, elpaBuild, fetchurl, lib }:
     elpaBuild {
         pname = "gnorb";
-        version = "1.1.2";
+        version = "1.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/gnorb-1.1.2.tar";
-          sha256 = "18d5wdv33lcg96m3ljnv9zn98in27apm7bjycgq0asd2f31dvcvx";
+          url = "https://elpa.gnu.org/packages/gnorb-1.1.5.tar";
+          sha256 = "128ag8zkfxspf6szxfd7dcscm1zzzcibx7p9dpbpk036cr7m5i1p";
         };
         packageRequires = [ cl-lib ];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 92159833e9c4..844dfa9fcb80 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -127,12 +127,12 @@
     abl-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "abl-mode";
-        version = "20170211.1328";
+        version = "20170309.117";
         src = fetchFromGitHub {
           owner = "afroisalreadyinu";
           repo = "abl-mode";
-          rev = "54777551c1760f02b35043a51e1cadad1468aa44";
-          sha256 = "0p5jhp71n4021p173c9agmm26xqqx7z864ygaskf9dh810mxs1yh";
+          rev = "0539862591a5af70e6fa04f0e88e7fc0f0fbb11e";
+          sha256 = "0fxl67nmy6vi6viwxday4j81m9lg4l8vg6yw2phgagm4zlp65k58";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/70a52edb381daa9c4dcc9f7e511175b38fc141be/recipes/abl-mode";
@@ -194,8 +194,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "ac-anaconda";
-          rev = "e42b68f648a4179c76b56b7ff03d25a6e482f38c";
-          sha256 = "092m8y38h4irh2ig6n6510gw2scjjxah37zim6mk92jzn1xv06d0";
+          rev = "94f66b4d4bf0fd9683ee77511833b1eceace0462";
+          sha256 = "15xkwnadqjkbgvilyfldj7z5kz2wvw1dk2bcgphx2z9qwjc7wd5f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0eb23a75c8b57b4af1737c0508f03e66430e6076/recipes/ac-anaconda";
@@ -380,8 +380,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/ac-emacs-eclim";
@@ -737,8 +737,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -758,8 +758,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -859,12 +859,12 @@
     ace-flyspell = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-flyspell";
-        version = "20170124.1245";
+        version = "20170308.2109";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "ace-flyspell";
-          rev = "044d38fb8eb390ef1f51cf92cfe5c4ffd103044c";
-          sha256 = "0yy7g2903v78a8pavhxi8c7vqbmifn2sjk84zhw5aygihp3d6vf0";
+          rev = "538d4f8508d305262ba0228dfe7c819fb65b53c9";
+          sha256 = "1yplf5klgjjzx3cb1ihqb9f9cwn898l0vhasc3cwiqz6ldyq2na8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ea85eca9cf2df3f8c06709dfb44b339b8bdbc6c/recipes/ace-flyspell";
@@ -1299,12 +1299,12 @@
     aggressive-indent = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "aggressive-indent";
-        version = "20170215.348";
+        version = "20170310.828";
         src = fetchFromGitHub {
           owner = "Malabarba";
           repo = "aggressive-indent-mode";
-          rev = "5959b48e94493738ead6fc91f18e70155962ffba";
-          sha256 = "06kk8j7yq60cir4llgqdsyj4d94261danyw36idqx9papa4da3id";
+          rev = "0492172a766971405fb6dea19371a3c97db8dc3c";
+          sha256 = "12s14diivykwfmkp5429j1y5ry8is81wmnmw048wy3jlh4zwrxnc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e6aed365c42987d64d0cd9a8a6178339b1b39e8/recipes/aggressive-indent";
@@ -1549,12 +1549,12 @@
     all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20170217.103";
+        version = "20170311.1021";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "c39a6184c665e5ee3e53ed22beab6c4b6e8be2ce";
-          sha256 = "17s35dj95nprac081v34bvj7mipnydj4blvjcymsn698aa21vgxm";
+          rev = "7b799f901ceecf1aeb101ebeef5f785c2e4d6d03";
+          sha256 = "10sd8m8ym7c47fkdawkiss3cfrm9kwh0ysknrws1g108zpmszsij";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -1684,12 +1684,12 @@
     anaconda-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
     melpaBuild {
         pname = "anaconda-mode";
-        version = "20170214.556";
+        version = "20170313.343";
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "anaconda-mode";
-          rev = "65de04e9bda55b858d53d4d7982183fd82839b55";
-          sha256 = "1x3wl30rbza8y4693jmpjpq7mcdv8gjhcnr451lgvfjmzxfhbn3d";
+          rev = "b76345e0ba398c03347b6af4fa087f346eb32174";
+          sha256 = "105m01hnkm2asq900c8ndcpim6a2dgndcl83669vb5v39alm17g6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e03b698fd3fe5b80bdd24ce01f7fba28e9da0da8/recipes/anaconda-mode";
@@ -1938,8 +1938,8 @@
         src = fetchFromGitHub {
           owner = "lunaryorn";
           repo = "ansible-doc.el";
-          rev = "bc8128a85a79b14f4a121105d87a5eddc33975ad";
-          sha256 = "0z3y69sfzka764wjbx31dywdq4d6bfsafv2gmmbpmxqmwfmy8sz4";
+          rev = "86083a7bb2ed0468ca64e52076b06441a2f8e9e0";
+          sha256 = "0lap404ch74w99n3xip176jr42b38xhyzkfnkyqg0g3wk2cd3aq8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1daaaa7462f0b83c15ed9d9e7e6d0ee94434b8e9/recipes/ansible-doc";
@@ -2269,12 +2269,12 @@
     anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anything-tramp";
-        version = "20170208.539";
+        version = "20170313.257";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-anything-tramp";
-          rev = "6f062a3bd00f7af651a21532d43900c22523e596";
-          sha256 = "1vhf8qnknxvxkk44yyhp04kfmf0vrf41ycpgrj7p7la3k1anyvg6";
+          rev = "75df15ac263701f921649fefb29f03f6b7d49b9f";
+          sha256 = "0al2k5az5x6idnhkhckjxr4vh52f0n9fi20ranwid9ac8k6kspvz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp";
@@ -2414,8 +2414,8 @@
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "apiwrap.el";
-          rev = "2a14eab0c66b7c8ae4c8767ebcca1a82e325773c";
-          sha256 = "1rxkzcl1clp794c017d19dpm085njmz7hlvn3sqgsw06wkczd0pl";
+          rev = "e6732de88dcbe48ae88466b5cf34fd30405540df";
+          sha256 = "1xg96pidwzxrg2r025pdc8644m8g11z9avcw3jvpmm11rvi2af7z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0197fd3657e65e3826375d9b6f19da3058366c91/recipes/apiwrap";
@@ -3590,6 +3590,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    auto-virtualenvwrapper = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, s, virtualenvwrapper }:
+    melpaBuild {
+        pname = "auto-virtualenvwrapper";
+        version = "20170309.1536";
+        src = fetchFromGitHub {
+          owner = "robert-zaremba";
+          repo = "auto-virtualenvwrapper.el";
+          rev = "bfe512270cd6471346f149d46e9f724569dd10a9";
+          sha256 = "1mw61d29z8p847qmlyjqpl1lmnpla40xh5sxgqg5hjp9scwwwp8w";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/02a209ae8f9fc68feb3bb64d32d129fedef2b80b/recipes/auto-virtualenvwrapper";
+          sha256 = "1v82z922d9sadwvyrl4iddsa19f5k43s6iwn8w146jcl0v42bkmd";
+          name = "auto-virtualenvwrapper";
+        };
+        packageRequires = [ cl-lib s virtualenvwrapper ];
+        meta = {
+          homepage = "https://melpa.org/#/auto-virtualenvwrapper";
+          license = lib.licenses.free;
+        };
+      }) {};
     auto-yasnippet = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "auto-yasnippet";
@@ -4242,12 +4263,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20170227.1310";
+        version = "20170307.143";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "0ebf2ee7ab5ae3b3cb6140ea57b2a88e02a59818";
-          sha256 = "197avkxslnvp95f0spmys1nis6nmqfvrv0b1cm945syk7yxa30db";
+          rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
+          sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -5239,12 +5260,12 @@
     blog-admin = callPackage ({ cl-lib ? null, ctable, f, fetchFromGitHub, fetchurl, lib, melpaBuild, names, s }:
     melpaBuild {
         pname = "blog-admin";
-        version = "20170126.458";
+        version = "20170310.909";
         src = fetchFromGitHub {
           owner = "CodeFalling";
           repo = "blog-admin";
-          rev = "bcf4302dd158e6a7b9e4a57d739818987e039e76";
-          sha256 = "0dc27df1cph67ygvsvjjskc21flsa055hzxc2j00sk5078gp7a9y";
+          rev = "925e9cf749387fc5c631d93c1652a4a80eac91c3";
+          sha256 = "0kb1y56cq990i1hsvk8dfrh3ks67l6wf7a3658w6f1nj903xy3rf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/blog-admin";
@@ -5257,22 +5278,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    blog-minimal = callPackage ({ fetchFromGitHub, fetchurl, ht, lib, melpaBuild, mustache, s, simple-httpd }:
+    blog-minimal = callPackage ({ fetchFromGitHub, fetchurl, ht, lib, melpaBuild, mustache, org, s, simple-httpd }:
     melpaBuild {
         pname = "blog-minimal";
-        version = "20170304.1548";
+        version = "20170311.555";
         src = fetchFromGitHub {
           owner = "thiefuniverse";
           repo = "blog-minimal";
-          rev = "a3454f1358a8add2969f221c4e56d3bc17ee4baa";
-          sha256 = "0g7n9g4hnaar5basv26c1p00kdkn3vsbsxzby2bi1590grkgjycq";
+          rev = "d679d74039ecc114b037800c8a94303265b9542a";
+          sha256 = "1x14xwnv22dc99gzbn6z48dhxpy46a7lrby2p59aizpwpysi64yk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/56217a33b0669a782621dd65d83419ae371ed60a/recipes/blog-minimal";
           sha256 = "1qj25b6n3slvmbqvzfd37v4xmy1vvz37686jdr29bw5qk4prgxff";
           name = "blog-minimal";
         };
-        packageRequires = [ ht mustache s simple-httpd ];
+        packageRequires = [ ht mustache org s simple-httpd ];
         meta = {
           homepage = "https://melpa.org/#/blog-minimal";
           license = lib.licenses.free;
@@ -5344,12 +5365,12 @@
     bongo = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "bongo";
-        version = "20160623.1058";
+        version = "20170312.808";
         src = fetchFromGitHub {
           owner = "dbrock";
           repo = "bongo";
-          rev = "6499a28fdd8249724cf3b9f3cf2dcbce8c4d3927";
-          sha256 = "0s24b0z4q23rfj8j8ifhnnh1ll87c3frpcc0p829a2qqb2nqc4nn";
+          rev = "1961b2e05c01c03d0dd6527988d1348610359d0d";
+          sha256 = "0alm2kq32sxxc7708djxhgd3xnzlglynqjqp9af0y308ryajmdgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/692428769cd792dc0644641682c2793103dd00c6/recipes/bongo";
@@ -5406,7 +5427,7 @@
       }) {};
     bookmark-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "bookmark-plus";
-        version = "20170227.1053";
+        version = "20170312.1134";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/bookmark+.el";
           sha256 = "14xkhc0x5ac2b0np5hvb0f4d1rap4yysbvm3fnmaaq4kylriysad";
@@ -6783,8 +6804,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7375cab750a67ede1a021b6a4371b678a7b991b0/recipes/ccc";
@@ -6825,8 +6846,8 @@
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b48fe069ecd95ea0f9768ecad969e0838344e45d/recipes/cdb";
@@ -7012,8 +7033,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "5d48e64b00bd6d9ceef9f80ce27be6b8df76415d";
-          sha256 = "0zzk009qjdc92svann593l7w3qajna29nv92qwsp4hav9zjgq07w";
+          rev = "19de82713504f253961ad46d30943bf004f8a64c";
+          sha256 = "1x8fr5rczzppgpq7hrcvzv95s5hjpvm4ksm5wwmkvy5a8awghdyg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7052,7 +7073,7 @@
         version = "20170201.347";
         src = fetchsvn {
           url = "http://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs";
-          rev = "12036";
+          rev = "12051";
           sha256 = "0lv9lsh1dnsmida4hhj04ysq48v4m12nj9yq621xn3i6s2qz7s1k";
         };
         recipeFile = fetchurl {
@@ -7342,12 +7363,12 @@
     chinese-fonts-setup = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "chinese-fonts-setup";
-        version = "20161008.450";
+        version = "20170309.2126";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-fonts-setup";
-          rev = "3f1e8d13837d22109a0eb0af4ee85fb2e90b31a1";
-          sha256 = "0xx692nbnw6wkdh84i59kfr0nzq6jh4iarzzqppd60rr48r3l9wx";
+          rev = "a73397712f5a1d008330778b45b3071df5232806";
+          sha256 = "0rx9z90k6mmlgnmwn4d3az9q72rd51zv8x038ws4f6aa7zji7wnx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c536882e613e83a4a2baf86479bfb3efb86d916a/recipes/chinese-fonts-setup";
@@ -7384,12 +7405,12 @@
     chinese-pyim = callPackage ({ async, chinese-pyim-basedict, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, pos-tip }:
     melpaBuild {
         pname = "chinese-pyim";
-        version = "20170221.206";
+        version = "20170313.423";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "chinese-pyim";
-          rev = "ed2ccea3d827084b3c80afbd5d7b9345f31243d1";
-          sha256 = "03nvmrwvkadab9yp74d5msfxd01xjj1jhqxymisj6jnhgv421yi0";
+          rev = "36284714815a2339bf25ed2a6051e6136ad81920";
+          sha256 = "10qvikdi2mh72s9c5df2y8hx9m1hny3g9mwm8ar5nfvdhpwwhnnp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/157a264533124ba05c161aa93a32c7209f002fba/recipes/chinese-pyim";
@@ -7633,12 +7654,12 @@
     cider = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info, queue, seq, spinner }:
     melpaBuild {
         pname = "cider";
-        version = "20170306.1";
+        version = "20170310.735";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "cider";
-          rev = "52e69c102f2e6438196e223483a388115809bbc1";
-          sha256 = "0cr9clqni9yy5kxspy9nn9llzpqaa3x1d5q4fnlg7qncv6jyfyqb";
+          rev = "f5a1ade83c0299df9ae99bbb5a2bb843e0168452";
+          sha256 = "14zdnvjjlqgw6y23lgs5mjf3b0g5z04xqzvn3fyjgbjzw77pa9ya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/55a937aed818dbe41530037da315f705205f189b/recipes/cider";
@@ -7909,7 +7930,7 @@
         version = "20170120.137";
         src = fetchsvn {
           url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format";
-          rev = "297038";
+          rev = "297625";
           sha256 = "0011wlqjkr1x58y0v5nf600nn7dj44cllp2m1dyj90aixjx4saq2";
         };
         recipeFile = fetchurl {
@@ -8551,8 +8572,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "add3b1ee4f798fe667b53a521eb18a623e64f0e0";
-          sha256 = "0k0przix6iyfqc9flphsgbzbz09r2lbmw45667zbimpd91k4a29f";
+          rev = "ccec62c6aa8ac44aaa9908ca5d72c396c5f068c0";
+          sha256 = "1wdhyrx7ddqrj0fwqpdqrgnbdmcbk0z83jsn9lkqqv5bnw0l5k5r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9319,8 +9340,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "company-anaconda";
-          rev = "182a8fdabc01630f255beeb2708728c0cd5c6316";
-          sha256 = "1rqf9i4l32njpwx4aiwxqr994g3jzispwprs6nwjfvg70xkvm4m0";
+          rev = "b268a00821c79d7e4c5da0d7035356afb389b3a7";
+          sha256 = "0pjiiqads9xawcwldic4m7mfi533s3wmqafz4day92v9135xwczj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0eb23a75c8b57b4af1737c0508f03e66430e6076/recipes/company-anaconda";
@@ -9336,12 +9357,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "20161119.1155";
+        version = "20170311.1313";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "5e8b51b21d32d3d8929fc2e82dec8f584a863399";
-          sha256 = "0appxl6njgxmgpf9np5cpjym3ifgdwh0mzvsnxvx08pidrrnmm33";
+          rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
+          sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -9586,8 +9607,8 @@
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/company-emacs-eclim";
@@ -9880,8 +9901,8 @@
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/company-nand2tetris";
@@ -9939,12 +9960,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "20170306.659";
+        version = "20170308.1819";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "248d5d93a3d1a3c88c95a50217f316da7b10cfec";
-          sha256 = "03j32v5y2lc709fczza89p2ih3pj1fibvrrzd7cf9sij5yp28px9";
+          rev = "1f823b74622b1602c7336991c211b71d3f20b180";
+          sha256 = "0wnw1cbxjp0yvkpba01dngvbzplwnq52bll9lryq58wmqi6iwmx6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10138,8 +10159,8 @@
         src = fetchFromGitHub {
           owner = "proofit404";
           repo = "company-tern";
-          rev = "dfa3f39d67f011a78fe04ad5a1c7f54d8d788a0a";
-          sha256 = "125p6ipp9mrrc0va4a3pfc2wdnrsk945i9yv0p9lnmrrq69nnszr";
+          rev = "10ac058b065ae73c1f30e9fb7d969dd1a79387be";
+          sha256 = "1pjyiy95axv92yxzks4ac871vcqxjnp7n2116nkdrdzzpmlb1x9h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/company-tern";
@@ -10469,12 +10490,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "20170303.1916";
+        version = "20170310.1621";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "a77b914ba99729ef618e9e86543da24a46be315a";
-          sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
+          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
+          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -10578,8 +10599,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10637,12 +10658,12 @@
     counsel-gtags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-gtags";
-        version = "20170305.600";
+        version = "20170310.536";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-counsel-gtags";
-          rev = "9d9061ece327a315ad9161e4fcc20c83638ccd10";
-          sha256 = "04h3hn1rs9i7cgdg393v12vqrm862bgiw64hyck7978d1w6n3a1b";
+          rev = "4ef27b1cf1075097e11c3bcfee43e0710950dbcb";
+          sha256 = "14rnccz8sm8zyghkh93id4iv65qwdix75rb5f6i2y23k94h2483f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7ccc35632219dbec5fdad7401545e7c071b910c/recipes/counsel-gtags";
@@ -11614,8 +11635,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "56a44bf2944107cfdb178a90c14a6e8092471359";
-          sha256 = "1jg3bhm2ksa4ask2n8q80afpa027430gz5w7vq4iwqw5ij8cx4v8";
+          rev = "af4737d709a90cc867ed93447e5354ee250ad6ec";
+          sha256 = "0pz99wc7karlj4bvb6j6d1drfxmkb5f22pg27v4qqayl1hig0m14";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -11925,12 +11946,12 @@
     darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "20170216.2034";
+        version = "20170313.317";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "53ee536cc912a900a16b768abd0f8e23e609ef5e";
-          sha256 = "04lj0161la9fb4fd7mdvr1raqnyarzp73dkfydvsaziggg8vnab8";
+          rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
+          sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
@@ -12219,12 +12240,12 @@
     ddskk = callPackage ({ ccc, cdb, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ddskk";
-        version = "20170304.120";
+        version = "20170311.1248";
         src = fetchFromGitHub {
           owner = "skk-dev";
           repo = "ddskk";
-          rev = "651cdbca22d725958b4ee26f8f299f841005797d";
-          sha256 = "11gjzkmsbkf0nkiqiyapvk690vs3niw0ln627l3wcqkg1sfqmgkl";
+          rev = "0cffdc4f3aa11634088b7ceac51a93b32f0501bd";
+          sha256 = "1fwz12j86izrp9dfqsb6cw6007rdsaisps0c67div1szf11plhna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6eccccb79881eaa04af3ed6395cd2ab981d9c894/recipes/ddskk";
@@ -12343,12 +12364,12 @@
     decl = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "decl";
-        version = "20160608.2347";
+        version = "20170310.632";
         src = fetchFromGitHub {
           owner = "preetpalS";
           repo = "decl.el";
-          rev = "84a8c4d78e83629fb3100abf5408bd108e4cfcef";
-          sha256 = "0s0zk2hy8mi46rz949i241qsiy0s4aywzb3j0ch69jf3i6qdxh59";
+          rev = "c2b5ea44b77516b50e917ddc897f88dbf2a58894";
+          sha256 = "1y40cyb61ghjhxn03ipbsx08b5d5qa909zp27g8r9nck4i3ni5gq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c2ecd46180643a0c493e05ec86fe50bc1e55146/recipes/decl";
@@ -12530,12 +12551,12 @@
     demangle-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "demangle-mode";
-        version = "20160822.924";
+        version = "20170311.1148";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "demangle-mode";
-          rev = "24a4a9a0f023c7b3fe5441783794185ba3954ffe";
-          sha256 = "04q7fv3qvh8a4p64hd9pqfvhnbclfbr1b9s0vi9m8jz9y5p86x8d";
+          rev = "0f9436f98225e0f5a5deecea4680c173e76f0322";
+          sha256 = "0n10c45lvdfczhd2mpkciggv4d83mcnbpmjhxzvmnf7n5ar6aw6a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ced9f4ffb051a8474d3f72695156416cf2dd8be/recipes/demangle-mode";
@@ -12973,8 +12994,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs";
@@ -13136,8 +13157,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter";
@@ -13157,8 +13178,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils";
@@ -13171,6 +13192,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dired-hide-dotfiles = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dired-hide-dotfiles";
+        version = "20170312.1017";
+        src = fetchFromGitHub {
+          owner = "mattiasb";
+          repo = "dired-hide-dotfiles";
+          rev = "32cf3b6f90dc56f6ff271c28d827aab303bc6221";
+          sha256 = "1fpzgmvbgfgl6wdrynlpvvdlbm8npgrmnzfz2133zvf5x3zfzq6r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ba64a50f85fdb0ad54149dfed4051b4c1a719cbb/recipes/dired-hide-dotfiles";
+          sha256 = "0yy131cvj9a9sz02ari7pzwf22r5y7acyg757h3jvih317v6jyp0";
+          name = "dired-hide-dotfiles";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/dired-hide-dotfiles";
+          license = lib.licenses.free;
+        };
+      }) {};
     dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-icon";
@@ -13216,12 +13258,12 @@
     dired-k = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-k";
-        version = "20161116.116";
+        version = "20170313.803";
         src = fetchFromGitHub {
           owner = "syohex";
           repo = "emacs-dired-k";
-          rev = "3f0b9315f87b0f930d51089e311d41282d5f8b15";
-          sha256 = "09xh097v3fd0mjxqlmbfwjlr1v4a99mj4rvwdb6kqgajmlhgi9hx";
+          rev = "c50e8f73358060a448bff66db2d330b52bbeffc1";
+          sha256 = "14yvsv7cvfviszii0bj0qf094rmnwzssinrqrkpxg4jil2n4bb9d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f8a828b2fbfa11c4b74192d9d0cfa0ad34b3da7/recipes/dired-k";
@@ -13241,8 +13283,8 @@
         src = fetchFromGitHub {
           owner = "thomp";
           repo = "dired-launch";
-          rev = "b62492c1a6404ed2ed32973d99cdcf8630cf7d02";
-          sha256 = "09nwzihg1v5p8c4jcjzl3w2il701lh3ps8c472g2iwmkihljs093";
+          rev = "58cf696c396c12d143387f4bf446ccb8398837b6";
+          sha256 = "1i7a3rjf62ksyfd161jw4x1zx3apjmra42vas7xpllkkhrk0cz08";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/31c9a4945d65aa6afc371c447a572284d38d4d71/recipes/dired-launch";
@@ -13258,12 +13300,12 @@
     dired-narrow = callPackage ({ dash, dired-hacks-utils, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-narrow";
-        version = "20160918.740";
+        version = "20170309.329";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -13283,8 +13325,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -13343,8 +13385,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow";
@@ -13364,8 +13406,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -13461,8 +13503,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "bef0c7eb03474defa02bbba5c15401a766c8ff7c";
-          sha256 = "1l7kay58ix9gmn06nws04f642svy0s1zplh86m7ihq4b6jb04hxj";
+          rev = "342d75f1240ebe17959ec25a5b050b40156e10cb";
+          sha256 = "18s8jax1k1p1x3r2rl398r1cxy0i2ss9vv23bgv3dna4hvwv65jc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree";
@@ -13538,22 +13580,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    direnv = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "direnv";
-        version = "20161002.715";
+        version = "20170313.309";
         src = fetchFromGitHub {
-          owner = "jml";
-          repo = "direnv-el";
-          rev = "fc80f40a77553b3c8841abedc15a64771634cb35";
-          sha256 = "15lkpnklvgppj63q9qwjd6jbq8czyvjic81mkhf3bwcd7gdqar84";
+          owner = "wbolster";
+          repo = "emacs-direnv";
+          rev = "120d6e15cfef64b10ed599a5f748e7580eacaeac";
+          sha256 = "0vma9ar82841gwlgx3x2qywqwdm9ydx28di7k6c56v9z500jf9ra";
         };
         recipeFile = fetchurl {
-          url = "https://raw.githubusercontent.com/milkypostman/melpa/0f526b9cc7bc1495e5f5e9fb2e49af926aba8a7d/recipes/direnv";
-          sha256 = "12yl7hmb7kc8ycr8nr39xb35jhagv8mqn6xs0k8j0mcykpzf2h1g";
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
+          sha256 = "0zzmi5m6fh42kyf8dyjrjyrl03pkbipnh4mnssrhp83ljczxkyhd";
           name = "direnv";
         };
-        packageRequires = [];
+        packageRequires = [ dash emacs with-editor ];
         meta = {
           homepage = "https://melpa.org/#/direnv";
           license = lib.licenses.free;
@@ -14643,12 +14685,12 @@
     dracula-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dracula-theme";
-        version = "20170303.1415";
+        version = "20170308.2107";
         src = fetchFromGitHub {
           owner = "dracula";
           repo = "emacs";
-          rev = "5db3f961644ea611682eab843a960eb3177ace48";
-          sha256 = "0rrxvvspz2l8byhnl052x59yd0yx7aajnc9b41846ng83kyb8dlm";
+          rev = "3c9efcc81ecb18c2ebd71aeb8da691a47a1fd49a";
+          sha256 = "10gz1pmpdxk2c7r47ac4vxc57bs703l9yqa9jp6q6wnldi2k0snd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d63cb8906726f106e65f7d9895b49a38ffebf8d5/recipes/dracula-theme";
@@ -14852,7 +14894,7 @@
         version = "20130120.1257";
         src = fetchsvn {
           url = "http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/";
-          rev = "1785720";
+          rev = "1786710";
           sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq";
         };
         recipeFile = fetchurl {
@@ -14953,12 +14995,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20161218.110";
+        version = "20170312.1831";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "0c7fed68916de6bcbbfbc6c9f787d610a3316b1e";
-          sha256 = "1a5jg1344s18bj6v33wfrxxg1cxlx6aha40wyw9dbwj1pjpw7vqd";
+          rev = "c5e81e4ef8baa92b4e7a0b5d91fb18cde1907923";
+          sha256 = "01fih3i17s8ih8n79bxgpknfh7z0wgrb6asvvp32bxmmkhwrppkr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2a60e7c166c2d68e4f719d293014a22139593dde/recipes/dumb-jump";
@@ -15372,12 +15414,12 @@
     easy-lentic = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lentic, lib, melpaBuild }:
     melpaBuild {
         pname = "easy-lentic";
-        version = "20161031.2119";
+        version = "20170309.2143";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "easy-lentic";
-          rev = "6f43c8d575274349757173b9bcad3bf5b59300ac";
-          sha256 = "0jw1m2ff23b99rz137ndy0gjbk3fs7srsyjd8f8fssl4xm8mzb39";
+          rev = "d2b600cc3bd3166c3e4543435070b511ae9bf148";
+          sha256 = "1p99yf1nlial254dyy9i30lfx2v4jwpahvi9pfjm5sv64212vp33";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e098e70214e85e1c583a4976f895941c13de75f/recipes/easy-lentic";
@@ -15516,12 +15558,12 @@
     eclim = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild, popup, s, yasnippet }:
     melpaBuild {
         pname = "eclim";
-        version = "20170305.1130";
+        version = "20170310.900";
         src = fetchFromGitHub {
           owner = "emacs-eclim";
           repo = "emacs-eclim";
-          rev = "9a837ed1e26a2367ea6e4a401a8b35fc166e1bf7";
-          sha256 = "0ym1f369azqf81iybqf1hknvq6n87znylxrzd2wl8j8ss1q6z94k";
+          rev = "1d35c6a213f439ff0da10359af456cf0ee5fa459";
+          sha256 = "189a8na2ymf9is5sr93ilp0r9jj94a7ms5ykjj4ws4w5cd9vx7cx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e9d3075587fbd9ca188535fd945a7dc451c6d7e/recipes/eclim";
@@ -15831,12 +15873,12 @@
     edit-indirect = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "edit-indirect";
-        version = "20160528.651";
+        version = "20170310.1002";
         src = fetchFromGitHub {
           owner = "Fanael";
           repo = "edit-indirect";
-          rev = "1d1dae842505e5ff09644529deec87c056e1b14e";
-          sha256 = "145knahvvxbm8qmcdb69ilrg14w7130vav2pqjd7anr1l8n2i6gz";
+          rev = "2fc8f382ee12fc8f7202288534258186bdf6068a";
+          sha256 = "1m40zi6dkq7m9386adrys5n7w8h9973svfmxl1c3n9vk9kjibb9k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/acc9b816796b9f142c53f90593952b43c962d2d8/recipes/edit-indirect";
@@ -15936,12 +15978,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20170222.2141";
+        version = "20170309.2006";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "1d69cffd1dd4709338fba7241f344a55cb61f59e";
-          sha256 = "1pv83biyiqkm5if3wkm071r5cl0ch1wv5yxzdqyxsq4k11s9z4qy";
+          rev = "0a6d9a3c0259aba57a332ac8db582c33e522f12f";
+          sha256 = "114zfk7p6p61mcphd1hn3r1hqj0j9ra0acmfx1k74d60npci25pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -15957,12 +15999,12 @@
     editorconfig-custom-majormode = callPackage ({ editorconfig, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig-custom-majormode";
-        version = "20170102.751";
+        version = "20170309.2112";
         src = fetchFromGitHub {
           owner = "10sr";
           repo = "editorconfig-custom-majormode-el";
-          rev = "8216ce7d20703a8ce923b4c0284c098ae85621f9";
-          sha256 = "02qkvdgn78asz1i7gh8198z0as4yhax3yans96c8lxwmbac125kz";
+          rev = "f5b9e0932e861c71611b5dfbd2c04ce635d14e34";
+          sha256 = "0iql5c9a5qzzdwp3f1n5pb3zcglnby2hhx4nsplpjr0ffbqgad63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcd47bf4630442ad1a941ad432cef64c7746aa71/recipes/editorconfig-custom-majormode";
@@ -16096,8 +16138,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "8b9bfc404818038b8dd93dd4d39f3b820f8fcd52";
-          sha256 = "0y6k54vz9r6b81aif9ags130wgk2v00yq6rv2l4nzswsifxy2r07";
+          rev = "d44a906db46f6708f3e02e5ae460c2b698593492";
+          sha256 = "0dw1jxzcxs47cq5sza28kz198zk0nhf0dv5ily262i5p0wl2kcjc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16283,8 +16325,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "e2b412ef6b6a6b6443314575609f730fce766e9b";
-          sha256 = "0hzx6g62sa7lqkgsq1bavq8b73ji4994n31lr8afzgdx885xw6kw";
+          rev = "b47a94877b8b621534403a533ad147a971caaf89";
+          sha256 = "0qhy7bxgs8gbbjww438jmmqhz20aczp3bvdpbywbwcmfkadv6086";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -16630,12 +16672,12 @@
     electric-operator = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, names }:
     melpaBuild {
         pname = "electric-operator";
-        version = "20170304.453";
+        version = "20170311.533";
         src = fetchFromGitHub {
           owner = "davidshepherd7";
           repo = "electric-operator";
-          rev = "57c00c08257794562e8b328adb7707c4aefe37a0";
-          sha256 = "1gymbxdw8z2sfh3k2apg197r7k0l37pxzj761lc5jps3wy4d6w1g";
+          rev = "13b5c19049bd7ac9529ee6fb6171f9141311f277";
+          sha256 = "0xpqynnl1dxylxgg7h42pamxn7iwa4jwcy355l0sxmra951j22wq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/906cdf8647524bb76f644373cf8b65397d9053a5/recipes/electric-operator";
@@ -16844,6 +16886,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    elisp-docstring-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "elisp-docstring-mode";
+        version = "20170304.815";
+        src = fetchFromGitHub {
+          owner = "Fuco1";
+          repo = "elisp-docstring-mode";
+          rev = "f512e509dd690f65133e55563ebbfd2dede5034f";
+          sha256 = "0al8m75p359h4n82rf0dsl22qfdg9cwwywn5pn7x6gb96c7qrqaa";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a5bf5c03ec4c26eb43703a49606450cbdb826996/recipes/elisp-docstring-mode";
+          sha256 = "0mrg4vszf3p09qz3dvj38dv00f3ca8hrm3vmnjsfq0cji0yipyy1";
+          name = "elisp-docstring-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/elisp-docstring-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     elisp-format = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elisp-format";
@@ -17036,12 +17099,12 @@
     elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elmacro";
-        version = "20170304.705";
+        version = "20170312.356";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "elmacro";
-          rev = "fad4cee572cb4dbe670be8eb19f10646d02be854";
-          sha256 = "0zmg56gvq1hhhzzcx0d08r8ii56bn96ifaby6r6bgr6b094c2i59";
+          rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
+          sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
@@ -18091,12 +18154,12 @@
     emojify = callPackage ({ emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "emojify";
-        version = "20170220.2247";
+        version = "20170313.640";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "emacs-emojify";
-          rev = "181d619e96cd3275e69e010486169553c13479e7";
-          sha256 = "1ms2pkjqdkwfvn8xq4dbm0585p2gdwcwplnx6rk7zjvir6nc6y5s";
+          rev = "00e8d01f114ad5ca95d5e9509ef327afa0087e0f";
+          sha256 = "171ic2qcrc0mwfjjn2v8894m0r5waq3qpmw80lqqc1a05yn656si";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/488d2751b5fd3bf00f5a6f0545530f44563b86d7/recipes/emojify";
@@ -18950,12 +19013,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20170303.248";
+        version = "20170309.216";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "3300b3059d13cd204f553f0c7d46d784adc5a8ab";
-          sha256 = "1717hpj71kq9bgfwp30z8k2pns6n23vh3mybfsn6iz8wz424428x";
+          rev = "47e46069d01960b74cefeba648e98e6afbb79e59";
+          sha256 = "1319rs0cj396q3zdzfwiijynx8rgzy7zchqya8gjrqxfq5bh6p01";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19114,12 +19177,12 @@
     es-mode = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s, spark }:
     melpaBuild {
         pname = "es-mode";
-        version = "20170213.1137";
+        version = "20170307.2136";
         src = fetchFromGitHub {
           owner = "dakrone";
           repo = "es-mode";
-          rev = "9fb395996316c140f3a6c77afb10dcd37cb49126";
-          sha256 = "0g2x3jwy3v45p6nqjfskj0w0c94gyvxm1xzi5yypnyhsj188fsyp";
+          rev = "527a2f70e1de7df46e59609b245e7e99c53708d1";
+          sha256 = "19kss3hrjf1cj4lgj68qw5zszar7c7pjbqj8sxlwicnrg831mj0n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85445b59329bfd81a3fd913d7d6fe7784c31744c/recipes/es-mode";
@@ -19324,12 +19387,12 @@
     eshell-git-prompt = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eshell-git-prompt";
-        version = "20161126.758";
+        version = "20170310.2205";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "eshell-git-prompt";
-          rev = "fb56e851c1baac68249c34043bd5db9c9420141e";
-          sha256 = "08mhjps17w3kfmmbdws1lqzphr2ayl160i0ckd4552jdyzd28vvs";
+          rev = "1e57eed52fad929f36ae5e3a9e3aa45ad019ee93";
+          sha256 = "0wa4whvhg6l7v8yis2hlil79dsjsp2qacvc81pbhf5j24fbfhd5x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5272280b19579c302ba41b53c77e42bc5e8ccbda/recipes/eshell-git-prompt";
@@ -19429,12 +19492,12 @@
     eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "eslintd-fix";
-        version = "20170227.1220";
+        version = "20170310.835";
         src = fetchFromGitHub {
           owner = "aaronjensen";
           repo = "eslintd-fix";
-          rev = "9c1f697c95b16f623c24bbb9c63257068d834977";
-          sha256 = "0ddpr9brxigc22mzq4nc5x499bpkqq3xx28ygjcmc0z7kb03d0rk";
+          rev = "fe2ed976c79474baa2cdb2fc4477786cb42d5b22";
+          sha256 = "1y6c94kk4bb3y3dw7sbv7w6fj9c4j0hq0gsy1m1675zzv8ar1di9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
@@ -20452,12 +20515,12 @@
     evil-mc = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-mc";
-        version = "20170205.1355";
+        version = "20170312.2052";
         src = fetchFromGitHub {
           owner = "gabesoft";
           repo = "evil-mc";
-          rev = "17a469799a5fe0df8d9b3589c6719634acd065eb";
-          sha256 = "0rwz0xg76kvyz959r8bywdbddxaxn69z9lqq95z71qq980w3d4g7";
+          rev = "62378695eb45990dec776864e16c28829136aeb6";
+          sha256 = "196ii51malqh2ahfk13rj6p4np0755zhx4pdk18090pwl4hgkzfz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96770d778a03ab012fb82a3a0122983db6f9b0c4/recipes/evil-mc";
@@ -20536,12 +20599,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20170305.1847";
+        version = "20170309.49";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
-          sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
+          rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
+          sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -21169,8 +21232,8 @@
         version = "20170301.232";
         src = fetchgit {
           url = "https://git.systemreboot.net/exiftool.el/";
-          rev = "ff6f30a005444269b985bbc28963c85ebcdaa835";
-          sha256 = "078xpnjqndlcaidzgdcvryqsrd5vpi2ckvlb6ihcym68611zqy7g";
+          rev = "240ae7b829733d5da1d2e255a3e7f5638f83c745";
+          sha256 = "00bkwaydh4j76gpxd77m3pyxrnqhws1rg70r1g7vmgm6h5ah9ndc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4835a76909d020781021e747fbc341111a94dbfa/recipes/exiftool";
@@ -21373,12 +21436,12 @@
     ez-query-replace = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ez-query-replace";
-        version = "20160908.1329";
+        version = "20170311.139";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ez-query-replace.el";
-          rev = "4b3c6212dc8141a1f75d258e70657b62e4c96ab3";
-          sha256 = "0a1cgcbh969lchkqqxlxzg8rgdf1yiwaf1d15fk2z489lklqn5sx";
+          rev = "66381226da00cc4a87c7d5962aaabbc0eb325cb7";
+          sha256 = "1p5qg5pz87ym1gd0jmakkpkskmffl69694pkxbhhfxp10pyshzmc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c40808c7687ace84e4c59bf8c25332c94b6fdd76/recipes/ez-query-replace";
@@ -22590,11 +22653,11 @@
     flex-isearch = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flex-isearch";
-        version = "20160926.1630";
+        version = "20170308.1210";
         src = fetchhg {
           url = "https://bitbucket.com/jpkotta/flex-isearch";
-          rev = "6a54f37be01f";
-          sha256 = "19wcfpgd5qrh3sbybrxvd1hx34j85y34dy19yb80nlh2nha2n5sk";
+          rev = "8b934ea6f1e4";
+          sha256 = "0xbwrzkfv4i91qxs80p0pfjlvj5pyigvidby8m5lammm8idwx9dh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/flex-isearch";
@@ -22691,12 +22754,12 @@
     flow-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, web-mode }:
     melpaBuild {
         pname = "flow-mode";
-        version = "20170303.1146";
+        version = "20170312.422";
         src = fetchFromGitHub {
           owner = "an-sh";
           repo = "flow-mode";
-          rev = "eb2372b0acf740ed3c5f9c048addbb8048e04458";
-          sha256 = "0ajdzpjghm7iscv2c6nwwx4v1639map104ldsi978iw8hy7m1mmp";
+          rev = "111555a5edb1c3857e5767950a44cc08e14b8c30";
+          sha256 = "18bxzzq6s80kgfgj34v8429nwx6bcvvfk951mkzqjydba56bch62";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3eca3f0c0a4dda79d00cbd0045eb0925bb3ce2e4/recipes/flow-mode";
@@ -22796,12 +22859,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20170223.247";
+        version = "20170309.145";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "da499ef6a7e3c8f4adec732703f34aea2a4e70a2";
-          sha256 = "0nyvkgva0qkk7hrsb2h3q22hxvc17r10hff87gv7bj82ia8lxqnl";
+          rev = "312f78cd712f696dc169a34cb45622ca154d097e";
+          sha256 = "1jlbsy9pdcg76r75ca7gpn2lpkvpy71z31713cl5a1sqgb26lc8d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -23888,12 +23951,12 @@
     flycheck-status-emoji = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, flycheck, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-status-emoji";
-        version = "20160813.2038";
+        version = "20170311.1203";
         src = fetchFromGitHub {
           owner = "liblit";
           repo = "flycheck-status-emoji";
-          rev = "bfe40fec4695b6914d1ef36331dbd3eda384c92d";
-          sha256 = "06p38yqkdrb4ksm30yd7wj3i6vqkhgmys94dm33anslh8dz00flw";
+          rev = "2f323cb210a280fc05061f3fc689c627b40bfcb3";
+          sha256 = "0gz18jp5bcwm86w6ir8vyf8rb3l2h524zfvx0jpfk0k1mmxj9cs7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5abd6aaa8d2bf55ae75cd217820763531f91958b/recipes/flycheck-status-emoji";
@@ -25715,8 +25778,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "430317e5b2ea5005851ce7f03564aa8f8dba61c6";
-          sha256 = "0zsg5q1370fqswq5cysfc4lg74hyjxn5yjpqzyl9mwlips90y42l";
+          rev = "29e26503c13569de25268283dce534f111726643";
+          sha256 = "0g6xb811n4nd1vm7jraypaq2qarigd2chg2nbdx0nc23ga17f90q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -25894,12 +25957,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "20170121.203";
+        version = "20170309.2204";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "e8100f9694c1b85c12ed57d89f7efe408b9f933f";
-          sha256 = "14d6iiy2dk93ani1d3vm57nsd3pn170fk8brs5v7jpf1sqszjihw";
+          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
+          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -26232,8 +26295,8 @@
         src = fetchFromGitHub {
           owner = "DanielG";
           repo = "ghc-mod";
-          rev = "fdd8ffb39098e38c0179dd647f05b846012f10a2";
-          sha256 = "1niq9vwdgyw0bwwcfbmkzs9z59adx0ly1ana8rjb7r39ii1am6ah";
+          rev = "472db909d1b11288885de6fe36c3691be7f175ec";
+          sha256 = "16ywm37y35rpvlzywyqyc2ga4l1h0fz4xy38j18a0z04w7xigkwz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/ghc";
@@ -26522,12 +26585,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "20170214.347";
+        version = "20170308.146";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27198,8 +27261,8 @@
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "gmpl-mode";
-          rev = "c4cf8896aef89b4c08c0c8764c9f2330fc987f9e";
-          sha256 = "08d6j5wws2ngngf3p31ic0lrsrp9i9lkpr3nxgmiiadm617x8hv4";
+          rev = "a4481bcbd84f67cd87e7bc87456b6f5b3a95fcf6";
+          sha256 = "0w9dfxpiwwfk1iy83a214xpvqf858k668xkcdr2n25bccg1i148y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c89a523f87db358c477e5840b0e043e9f253e640/recipes/gmpl-mode";
@@ -27636,8 +27699,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-guru";
@@ -27674,12 +27737,12 @@
     go-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "go-mode";
-        version = "20170228.916";
+        version = "20170308.1512";
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0cede3a468b6f7e4ad88e9fa985f0fdee7d195f5/recipes/go-mode";
@@ -27762,8 +27825,8 @@
         src = fetchFromGitHub {
           owner = "dominikh";
           repo = "go-mode.el";
-          rev = "5056b857a90d732d78162b3263a1dd94f7c5afe3";
-          sha256 = "1gf0i51j7rvml6m1rgai221lydx4x11p3y69cf0rryq3brzzmz3s";
+          rev = "35f6826e435c3004dabf134d0f2ae2f31ea7b6a2";
+          sha256 = "1nd2h50yb0493wvf1h7fzplq45rmqn2w7kxpgnlxzhkvq99v8vzf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d806abe90da9a8951fdb0c31e2167bde13183c5c/recipes/go-rename";
@@ -28199,12 +28262,12 @@
     gotham-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gotham-theme";
-        version = "20170305.942";
+        version = "20170310.349";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "gotham-theme";
-          rev = "aca1bdd18997759bd4d3618c9591cc38774ac16a";
-          sha256 = "1g59mwb1l8bvc66gsq8lprbrfbs238lp280k3xqda6z7dbrh9vq9";
+          rev = "50833e9579ac2ed2647708982477edf9a783113e";
+          sha256 = "0zcbmd3kdkcxx96mkl130j913y9mzcdxkbjd7x1vm48akirz598w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b388de872be397864a1217a330ba80437c287c0/recipes/gotham-theme";
@@ -28280,12 +28343,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20170302.1450";
+        version = "20170310.1402";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "b4a3f7a1d0352866c03f42208cddceb53fe12d16";
-          sha256 = "1f5bpjzj92ac4jvpbahydf2k894man4v2riv8k7j7fwlaknlvcvj";
+          rev = "4e7a21e556f26c636141c95a4041baa141e971d1";
+          sha256 = "0l5dm0r44nchgn8vzzqsn7rhf5015ni5fp56fxnz8m4kkkas01lz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -28913,6 +28976,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    gtk-pomodoro-indicator = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "gtk-pomodoro-indicator";
+        version = "20170310.532";
+        src = fetchFromGitHub {
+          owner = "abo-abo";
+          repo = "gtk-pomodoro-indicator";
+          rev = "f64fd33f95289e3c4c81e8496eb0bdafc0c42815";
+          sha256 = "0x8r0hamq1ws5l3z9jcxfmdqvm5qcig40knvwanjmkb2whbqlyk9";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b98ec72605077f3b3f587713a681eb2144f29645/recipes/gtk-pomodoro-indicator";
+          sha256 = "0fg227yhj85xy0s32xzwg2ka9kc9ygl0wd33wypp6jban13ldasr";
+          name = "gtk-pomodoro-indicator";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/gtk-pomodoro-indicator";
+          license = lib.licenses.free;
+        };
+      }) {};
     guess-language = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "guess-language";
@@ -28979,12 +29063,12 @@
     guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20170227.656";
+        version = "20170313.813";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "c11094293d250bd6299c4eeb4dc64af223124aa9";
-          sha256 = "0ya4zacfrv3hl317l78jrj491hag36i4ishh0gcrz602qqdgw531";
+          rev = "61d6ce9b133fb57d4b7a12d007b2e2c8bc6a645f";
+          sha256 = "0jlzb06vcgdmj5yp0wnfq81bjdasnbrffvm3019b5yyx0cc7ysn3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@@ -29466,8 +29550,8 @@
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "74351e8a14e6e8e1cdb77a4b677065ab81d98d8b";
-          sha256 = "0h6xrng4qmfkafd77pg1svzcsz5law6rcif95050c03w3fvy4syn";
+          rev = "775ff42884c0baab9da01fcdc87707c6c90480c8";
+          sha256 = "1w6sc6klkr5b9fbp38pngmn0icps5hi6z6cbs59zlzz5lmq7jr9d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -29730,12 +29814,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20170304.206";
+        version = "20170312.2348";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5d4d74c9ad506c33263df8a561289b621eda1546";
-          sha256 = "1xbwafzci0k36xsykhffpl72zycwj1i56z80jpw4cfwj8kwpdgvm";
+          rev = "7ff2e13591657fe92c39de4938a9aa30ad9fead0";
+          sha256 = "15z4ikk9y8p0ra91qygglvjazagx5530wp9ab1lqv4ibnrkns4kj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -29940,12 +30024,12 @@
     helm-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, parsebib, s }:
     melpaBuild {
         pname = "helm-bibtex";
-        version = "20170227.608";
+        version = "20170308.36";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "c4fd39864d0c9f770426a93319b492942c81b1e6";
-          sha256 = "1h78akdfjfrabqzsiplc6lasd5jliqcjbsjnbd435ca2a4f4mzfr";
+          rev = "2e83867a39bbd4b7cb7901b897a66a131b5635e6";
+          sha256 = "0gr8mlxypk5n4s19src71s2g6s91by3vp6ci9yqqh1q9ns31a43h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f4118a7721435240cf8489daa4dd39369208855b/recipes/helm-bibtex";
@@ -30276,12 +30360,12 @@
     helm-company = callPackage ({ company, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-company";
-        version = "20161121.2111";
+        version = "20170306.2113";
         src = fetchFromGitHub {
           owner = "manuel-uberti";
           repo = "helm-company";
-          rev = "59e93396309fe3cb60913332d384d2f4706694c3";
-          sha256 = "0slp08dy9s40mqj6f64d8yw9si1a76mlhbmm3a7khf076b8ky02s";
+          rev = "64b3e341776dcb2fe7b329ad0a790629e4a7b800";
+          sha256 = "1h8yhvwh8973r9990mdizrva1g1c8r8xm5wrd3gpmllgx36mkkmv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/78ff0a6cf493ff148406140f3e4902bfafd83e4a/recipes/helm-company";
@@ -30297,12 +30381,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20170301.2122";
+        version = "20170310.529";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "5d4d74c9ad506c33263df8a561289b621eda1546";
-          sha256 = "1xbwafzci0k36xsykhffpl72zycwj1i56z80jpw4cfwj8kwpdgvm";
+          rev = "7ff2e13591657fe92c39de4938a9aa30ad9fead0";
+          sha256 = "15z4ikk9y8p0ra91qygglvjazagx5530wp9ab1lqv4ibnrkns4kj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -30595,8 +30679,8 @@
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "helm-ext";
-          rev = "1546dbbfaac7729435226b4a7426c9e67032482a";
-          sha256 = "1a7kjibc2r26wxc2c12bymjxdx965blm39qfgcvmqy6if0bp6w7h";
+          rev = "115a3ca9a466fa84c1874ac6175fdf2256c3765c";
+          sha256 = "19bcrgj531par1ayhgwxvzz28fyd7dx5flslxf1vl4qawhn173fz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ee74cb0aa3445bc9ae4226c2043ee4de3ac6cd3/recipes/helm-ext";
@@ -31556,12 +31640,12 @@
     helm-org-rifle = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helm-org-rifle";
-        version = "20161112.1505";
+        version = "20170312.1524";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "helm-org-rifle";
-          rev = "4596ac225a90bc49d96a416d661f5da2a13b711d";
-          sha256 = "0snynrrrkhm7c3g2iwr5m4lq49lxfrkf7il1rm2k56r5lbzw7mkm";
+          rev = "dc697094c48f97d485c1898b7a5ff3df6d992910";
+          sha256 = "13r0x74yx1cyl2zwj76p867yj2x97pj5hxapc1v9fj3i9h9a99l6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f39cc94dde5aaf0d6cfea5c98dd52cdb0bcb1615/recipes/helm-org-rifle";
@@ -32225,6 +32309,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-spotify-plus = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, multi }:
+    melpaBuild {
+        pname = "helm-spotify-plus";
+        version = "20170311.221";
+        src = fetchFromGitHub {
+          owner = "wandersoncferreira";
+          repo = "helm-spotify-plus";
+          rev = "a09f571ed5addbdb0a2b8354cf18b4d5551b5abb";
+          sha256 = "1c6dv92n9kkaizhswlm7hhk175c5ywvq2710d7hpn18cdj3isjsx";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/306aa9fd29f1495eef71476dfcba3b494223b0a9/recipes/helm-spotify-plus";
+          sha256 = "1f39g2kgx4jr7ahhhswkrj0m5rbsykvkgh00d7jy8czpp8r4dl20";
+          name = "helm-spotify-plus";
+        };
+        packageRequires = [ emacs helm multi ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-spotify-plus";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-swoop = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-swoop";
@@ -32291,12 +32396,12 @@
     helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-tramp";
-        version = "20170208.546";
+        version = "20170313.139";
         src = fetchFromGitHub {
           owner = "masasam";
           repo = "emacs-helm-tramp";
-          rev = "65e1f3ab12caa206402fad381cc75c7e844f9452";
-          sha256 = "0j07hrdws0n9s51a5z7b0q1lzivvmrpn0crsg5rwnm9jwa1a6vws";
+          rev = "87d323306a79bf5d71b0f556a7aefdfe5824f523";
+          sha256 = "08rzgfzd70xf1hh54py325p9kf5war40qi5w21anzs4wwg86rz1v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a69f0a17c4efbaea012be8e878af4060fa0c93b/recipes/helm-tramp";
@@ -32597,12 +32702,12 @@
     hexo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hexo";
-        version = "20170228.615";
+        version = "20170308.205";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "hexo.el";
-          rev = "fcc713565189eae4dc9f39ffd1944f4c192b512a";
-          sha256 = "0338j0wf5h3vxdrhsgdiqiczg97md3gapghabswpsk8r9k4nsjn1";
+          rev = "f7b8803fd81e738e25425e0eeeed4cf2adc6a5e8";
+          sha256 = "0hbfgzs4kg2vqm034falm9rhhin9ii0n0rc50qli5v3a85c7ayrw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/21de1b7db0fa4af4fc0014207d41893a0713d738/recipes/hexo";
@@ -32885,6 +32990,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    highlight-context-line = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "highlight-context-line";
+        version = "20170310.1438";
+        src = fetchFromGitHub {
+          owner = "ska2342";
+          repo = "highlight-context-line";
+          rev = "18ca91d91f2a9e86311d8895c53741ad847180ba";
+          sha256 = "1a0mvkbdhdad4nd0bqpg0ldz10lh211w72gcd2x1ydijwvkphjdc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/00df721571ff67fe158251fa843c8f515ded3469/recipes/highlight-context-line";
+          sha256 = "0zmqcfsr2j0m2l76c8h6lmdqwrd1b38gi6yp5sdib0m4vj9d0pnd";
+          name = "highlight-context-line";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/highlight-context-line";
+          license = lib.licenses.free;
+        };
+      }) {};
     highlight-current-line = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "highlight-current-line";
@@ -33243,8 +33369,8 @@
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "hindent";
-          rev = "c2ac3e3ce57c834525dc8ec5ca87d5e8d728b69b";
-          sha256 = "1zhggfmhk57v2yj6w9z8mrq8yjsdjg7nzljz1jwbk03jkf7zvwr8";
+          rev = "336a440749e626df015be58e4582f1f6ad179984";
+          sha256 = "0r8x7sjhx4l3yl5sfxl04qk8rmid4x7cmk3721zbbmsyzwzx1a2p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent";
@@ -33320,6 +33446,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    historian = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "historian";
+        version = "20170310.1001";
+        src = fetchFromGitHub {
+          owner = "PythonNut";
+          repo = "historian.el";
+          rev = "47106f8382f5d9032ab52c1dd48ede1a8fdc08ec";
+          sha256 = "04rqjk1mr1097sq0mnjc888ix4d4xcfl3dk8xw7b7b843fh7fbg2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/f16dacf64c52767c0c8aef653ac5d1a7a3bd0883/recipes/historian";
+          sha256 = "00cghcyb3liz2prgygjwsw82d9h70zjddnbf7dvglmj7ph9wn9ab";
+          name = "historian";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/historian";
+          license = lib.licenses.free;
+        };
+      }) {};
     history = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "history";
@@ -33566,12 +33713,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20170302.711";
+        version = "20170310.849";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "0e65583a7821e60882b8ce7934b1f1c34d4d1874";
-          sha256 = "12r0jxcipfbs77yr2svs60x1b52l6lyjgjax3kxaizjdjaxxwsdc";
+          rev = "ef211ab1ad75cb323adfd3b13de5832e5b7b180e";
+          sha256 = "1mz48jpr9af8p7yrplnbkkkgd3587nw28jigpdyik257v2787ayi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c656975c61396d8d4ded0f13ab52b17ccc238408/recipes/hledger-mode";
@@ -35539,12 +35686,12 @@
     inf-clojure = callPackage ({ clojure-mode, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inf-clojure";
-        version = "20170305.900";
+        version = "20170310.2255";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "inf-clojure";
-          rev = "2e1dd6c1e1540223f8cc4e3493c1e555144d5431";
-          sha256 = "0flfp8313xxw8c3wip0fqqz33n7gfn3fhppsrpz7wlxiqymsb20d";
+          rev = "d81e266e77316bc116ceca5dbc92fc3831825be3";
+          sha256 = "0hrz6809w0ardqgb5xraxpr6gj25jh2w7cbcpacc5xv90cv4p7ri";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d6112e06d1efcb7cb5652b0bec8d282d7f67bd9/recipes/inf-clojure";
@@ -36039,12 +36186,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20170302.2354";
+        version = "20170308.2033";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "693e13fd3f19c05e906c234c692d77ac48d69fdc";
-          sha256 = "18xj5m6qglh4w903vcdxmw1sms51ansrai43sndcp6z4sbi02xpb";
+          rev = "5396b410c326f8685b473e3f38db7506b1616582";
+          sha256 = "10qnz73djzwr4lb96d1x51vhia5qicjr3c1ijdysh2dhbxpz2y02";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -36309,12 +36456,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20170223.515";
+        version = "20170312.1515";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "75b356b357e63a03c04e194e85f1925f198363dc";
-          sha256 = "0fsg79ww3aqy0m46xjdr3783zwc6vnxknh4k2yrizmm44zvy925z";
+          rev = "0c16cbe0038dcd5a2f70de2edd28a62a4008ac5e";
+          sha256 = "19r6jzs47h15kxjmpsk3ddb0gc331vnsvfa5xcabkf5gk3h36mh1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -36597,12 +36744,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20170225.351";
+        version = "20170312.844";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -36618,12 +36765,12 @@
     ivy-bibtex = callPackage ({ biblio, cl-lib ? null, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, s, swiper }:
     melpaBuild {
         pname = "ivy-bibtex";
-        version = "20170227.608";
+        version = "20170308.36";
         src = fetchFromGitHub {
           owner = "tmalsburg";
           repo = "helm-bibtex";
-          rev = "c4fd39864d0c9f770426a93319b492942c81b1e6";
-          sha256 = "1h78akdfjfrabqzsiplc6lasd5jliqcjbsjnbd435ca2a4f4mzfr";
+          rev = "2e83867a39bbd4b7cb7901b897a66a131b5635e6";
+          sha256 = "0gr8mlxypk5n4s19src71s2g6s91by3vp6ci9yqqh1q9ns31a43h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c23c09225c57a9b9abe0a0a770a9184ae2e58f7c/recipes/ivy-bibtex";
@@ -36678,6 +36825,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ivy-historian = callPackage ({ emacs, fetchFromGitHub, fetchurl, flx, historian, ivy, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ivy-historian";
+        version = "20170310.1006";
+        src = fetchFromGitHub {
+          owner = "PythonNut";
+          repo = "historian.el";
+          rev = "47106f8382f5d9032ab52c1dd48ede1a8fdc08ec";
+          sha256 = "04rqjk1mr1097sq0mnjc888ix4d4xcfl3dk8xw7b7b843fh7fbg2";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/fb79cbc9af6cd443b9de97817d24bcc9050d5940/recipes/ivy-historian";
+          sha256 = "0yzq3rr51q5d64pfc7x5jszz77x6nwpbjj0g74x5ga3bsw3i67d9";
+          name = "ivy-historian";
+        };
+        packageRequires = [ emacs flx historian ivy ];
+        meta = {
+          homepage = "https://melpa.org/#/ivy-historian";
+          license = lib.licenses.free;
+        };
+      }) {};
     ivy-hydra = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-hydra";
@@ -36685,8 +36853,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -36790,8 +36958,8 @@
         src = fetchFromGitHub {
           owner = "squiter";
           repo = "ivy-youtube";
-          rev = "32f609f1d1a3718739be5797e020d6266d8340d2";
-          sha256 = "0vvqp6aw83bxk7j835w267m1xyl7a9a5m45h50267ahvhd9vn1sd";
+          rev = "7e916dd531c52a2809188a99716aeff8446056cc";
+          sha256 = "1dia1m9fjxbd5lsf788bv7zpdbrwbjswd9m588iaijcdd2hnma8q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/33cc202ff0f0f283da23dbe7c7bdc5a1a86fb1d8/recipes/ivy-youtube";
@@ -38373,12 +38541,12 @@
     kaolin-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-theme";
-        version = "20170304.2103";
+        version = "20170307.549";
         src = fetchFromGitHub {
           owner = "0rdy";
           repo = "kaolin-theme";
-          rev = "5995aa56c9ccbb3eb78c49daba1e77a6aed354b0";
-          sha256 = "0aqmd5hkqphwv74n6y5yidhn21hl2hlnmfdm7m8wkwhcylylq6xi";
+          rev = "bfbcb88c7f107b85559562da5e7dc37af0ddb82e";
+          sha256 = "11vrsswn6bzfdvprcy7psgxdpkn4ayggqb851pj2vz12bqj17jf0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2abf9d914cdc210bbd47ea92d0dac76683e21f0/recipes/kaolin-theme";
@@ -38394,12 +38562,12 @@
     kaomoji = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild }:
     melpaBuild {
         pname = "kaomoji";
-        version = "20160218.20";
+        version = "20170311.2151";
         src = fetchFromGitHub {
           owner = "kuanyui";
           repo = "kaomoji.el";
-          rev = "cde86e7f27008dbe03230d63941a0f5bd0512c10";
-          sha256 = "0vqjbv3pqlbyibqylfsqqjzkvjhdg01hlxszfblpg72fziyzcci5";
+          rev = "91ab93cc7455486182d5e7f88e03d0de44c9953e";
+          sha256 = "19l3r2fbp895c46cklrjfwwa5d7i959nd6jc3gk14jyi35gjypyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/140c65cb3cdf6c197b085ccf8ba079e1efd15f38/recipes/kaomoji";
@@ -38706,12 +38874,12 @@
     keyword-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "keyword-search";
-        version = "20160607.2238";
+        version = "20170309.2247";
         src = fetchFromGitHub {
           owner = "keyword-search";
           repo = "keyword-search";
-          rev = "d40633712cf4dbb1bdf95d8262b5a4138b29e049";
-          sha256 = "0g42yr331piv3r18ymz4kb8jqmslimq3xamkyqdn702xljmb2pad";
+          rev = "33682e93429027805ee7c51c5f6f608872b6f5dc";
+          sha256 = "03qz2sdyrlww1xc9bkarc07pf3rk42h7jjnl0dw76ffrci1z1mj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8ecdc51938f2300bf005e2d1b1819e0fa59e0bd7/recipes/keyword-search";
@@ -38878,8 +39046,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "ca9eb0bbb8e9a4b5b6e2b177b2b36ab024495587";
-          sha256 = "0kzh5q1dj7mqdjcp1di0lm8imxjlp1ak8licidfy0lz4h4fcqsch";
+          rev = "3bcc310e4f62eb567d5d568446058f7f5811ade8";
+          sha256 = "0zx73p4hdgpsvy2ifbi6zwi2ard1sjnkd1ig0habhzd5c7f52igr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -39025,8 +39193,8 @@
         src = fetchFromGitHub {
           owner = "tttuuu888";
           repo = "korean-holidays";
-          rev = "aed79c24e3f91d8f9508367758b18e5fa3a9eaf4";
-          sha256 = "1kqbxnjmp7hxjcv8zhy9v8v6220l9vd7rgqicjln4yrjz82z4579";
+          rev = "6e94c2e071069aee9ed12ebbfd9b0ad863b8c78e";
+          sha256 = "1xs81yafp783sz1clb65yc9w2xlf2kmshbsjynnafqd6pfd0skps";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9453d96fb963973ff53884d31e060f1e98004acb/recipes/korean-holidays";
@@ -39230,10 +39398,10 @@
       }) {};
     lacarte = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lacarte";
-        version = "20170101.1036";
+        version = "20170307.837";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lacarte.el";
-          sha256 = "0xlbv4hhmg85x8i2zzbma29r5674cbmjrqwda9bjxf00wfid0a76";
+          sha256 = "0m3swrvxz0cy01pd4kag626fxqp4l2zzwpgr26yp5wpsfxl9avv8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/85457b78a0fcc4ac0e0910d09594397b21cb1aa8/recipes/lacarte";
@@ -39584,12 +39752,12 @@
     ledger-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20170208.425";
+        version = "20170310.1705";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "574093b4bdbf4854f7a661556ec9ebfe5a9a9611";
-          sha256 = "0irxj5w6yrqbyr9js1mp3fh19cfwijd7brpvzas6j7v3fb0mf7zx";
+          rev = "084849f8350a51224a968184cc2b1debdb75bc93";
+          sha256 = "0iy603ym4bx85gp44cndxzqpcn8xgbz9nrwiid9bmjicizv9xld8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode";
@@ -39773,12 +39941,12 @@
     leuven-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "leuven-theme";
-        version = "20170226.131";
+        version = "20170309.1340";
         src = fetchFromGitHub {
           owner = "fniessen";
           repo = "emacs-leuven-theme";
-          rev = "51ca421f52839c62c6b4ed4cc70d55701ca2afdb";
-          sha256 = "08v2mx80ihcs4v2ydf4ksb5yhbsp222wwzzx26xw70icahsx67y4";
+          rev = "4b11c7d4ea4dbde316844d3c73be9bafe12ac911";
+          sha256 = "0saaakcs32i0bal2v6zcw1r27jzbs3hlhcsvr0k9dkhyi2kv2nwn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b09451f4eb2be820e94d3fecbf4ec7cecd2cabdc/recipes/leuven-theme";
@@ -39853,10 +40021,10 @@
       }) {};
     lib-requires = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "lib-requires";
-        version = "20170101.1038";
+        version = "20170307.855";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
-          sha256 = "03y99c1cg368c3647w8jypf2nlx26qkygrijw2vxcp4ha5v9f44z";
+          sha256 = "04lrkdjrhsgg7vgvw1mkr9a5m9xlyvjvnj2aj6w453bgmnp1mbvv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3f0d443964f98bb65f2fe8f57048fbee844f2ba/recipes/lib-requires";
@@ -40150,12 +40318,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20170302.1031";
+        version = "20170312.957";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "8794864744151b808c0f966b29c33c547be96d89";
-          sha256 = "0ii8092148a5mi59ssnl9hxzjx861vpb6ajma4anpzfjlv9wjjq7";
+          rev = "0ea4c086756e0f332821ca757ea884ea9ee0a81f";
+          sha256 = "0kf20hkav15r8dv9hdvbrn9x3x0dc3m0k15gnv3a99fi5qlnwh12";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -40397,6 +40565,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    literal-string = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    melpaBuild {
+        pname = "literal-string";
+        version = "20170301.730";
+        src = fetchFromGitHub {
+          owner = "joodie";
+          repo = "literal-string-mode";
+          rev = "2ca4fc08b8e19e6183b1f1db747bb0a4aa4f98eb";
+          sha256 = "0wcz0lid05gnlmxpxm4ckw07cnxwjkyw6960nq7pylbjpg76g5ng";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6519bb53f409eeb0d557809b338849e473c193c4/recipes/literal-string";
+          sha256 = "0ylv9dpw17w272f92vn5cldklyz1d8daihi1fsh5ylvxqpinyrkn";
+          name = "literal-string";
+        };
+        packageRequires = [ emacs markdown-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/literal-string";
+          license = lib.licenses.free;
+        };
+      }) {};
     literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "literate-coffee-mode";
@@ -40550,8 +40739,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "http://llvm.org/git/llvm";
-          rev = "c7849f87280d549f3829a2c2fe4cd911c421a0db";
-          sha256 = "1anp1avlzl7xf2zhj9b8ixhwxmvprbiis7nmdnh9nq1xkpfjlmxm";
+          rev = "00ea544948006ad27602b656c5eb3e2b2051c1be";
+          sha256 = "1zibr3x6y7p6mynjivd55y102hjyl97sv2ipwgm9n1jsif2iz6ig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode";
@@ -40917,22 +41106,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20170302.1127";
+        version = "20170311.2126";
         src = fetchFromGitHub {
           owner = "vibhavp";
           repo = "emacs-lsp";
-          rev = "03f1bd56317557c398851757893522f25908cc7f";
-          sha256 = "1xmmh4a23naa7ipd673q52hv31wmi1j20sh5kcgw14r3pqymd8dh";
+          rev = "0fc5400562247b5d674ae8d18f78824de12ba6b0";
+          sha256 = "1zmpkpx2nhm1vvdagrp75jz6v3d4n7zv45xp49m81xzqsyw20im0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b192c90c96e24ccb464ac56e624a2fd527bc5cc9/recipes/lsp-mode";
           sha256 = "0acgfzm9irk8s5lv3chwh9kp7nrwqwlidwaqzf2f4jk3yr3ww9p1";
           name = "lsp-mode";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs flycheck ];
         meta = {
           homepage = "https://melpa.org/#/lsp-mode";
           license = lib.licenses.free;
@@ -41108,10 +41297,10 @@
       }) {};
     macros-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "macros-plus";
-        version = "20151231.1419";
+        version = "20170307.842";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/macros+.el";
-          sha256 = "07iw9iarz6z9n6vnhqqljfjpvq6vb97ca2hwj9v0k5k8mafdqg7d";
+          sha256 = "0x9fycqw234s1i0ndy7v0d7vn654id245pi0kwphbqgnga7w3l6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/macros+";
@@ -41232,12 +41421,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20170306.44";
+        version = "20170311.925";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -41383,6 +41572,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    magit-lfs = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, magit, melpaBuild }:
+    melpaBuild {
+        pname = "magit-lfs";
+        version = "20170312.1524";
+        src = fetchFromGitHub {
+          owner = "ailrun";
+          repo = "magit-lfs";
+          rev = "799282fce73b668d2cf6e4fa87f889fec8e25333";
+          sha256 = "11wv3j8b377sbfj1qhcr6rn05ns728ifrigjk7r60rd34lwyc8c4";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1a92f0963d8df3e299a999948828173dac38a612/recipes/magit-lfs";
+          sha256 = "1im9skj74jdi7jh0fnyyk8a4g4sk48clgn107ggf69lnfpxh8xxa";
+          name = "magit-lfs";
+        };
+        packageRequires = [ dash emacs magit ];
+        meta = {
+          homepage = "https://melpa.org/#/magit-lfs";
+          license = lib.licenses.free;
+        };
+      }) {};
     magit-p4 = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, magit, magit-popup, melpaBuild, p4 }:
     melpaBuild {
         pname = "magit-p4";
@@ -41407,12 +41617,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20170214.347";
+        version = "20170308.146";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "4f565039fd318ad5a90cd3c779785f25f540c652";
-          sha256 = "0zqqgycdvyq57lx6lxlg0zgfkwbihmk82zqmmpi5x1dmlcy1rwjr";
+          rev = "eb4258ea2b721cfa0c5b32f67a14b5703a4dbe0e";
+          sha256 = "009wabnqblgn5sgs410lpb8rbzci7lkpp7nl1kfvyk22zg1jyd4n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -41659,12 +41869,12 @@
     make-it-so = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "make-it-so";
-        version = "20170304.348";
+        version = "20170313.206";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "make-it-so";
-          rev = "af83a1be2bb800ebee4ab378f167075537eeb7ec";
-          sha256 = "1zbjaixbrhs39fmf58mxqmwlby531gfxzn2s8s10rm0m6sswbzii";
+          rev = "07dfde3f4236498fac31fe1ed5a9b87e92c484f8";
+          sha256 = "0dz8mijsfnzsi7bd928a55d7dmc04c45jx28zg9v0mmgx6fkkr28";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aad592089ed2200e2f8c5191e8adeac1db4bce54/recipes/make-it-so";
@@ -41869,12 +42079,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20170301.1511";
+        version = "20170308.2031";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "b360948acf5a31b6cf6f0113ab5f30bc47f6b098";
-          sha256 = "016h6mq0650fw8ix1zh1j15i782g0bpmlsnsznzi5aspy8b391kn";
+          rev = "67c15f292515142c2417f147117ea2a3172cd195";
+          sha256 = "1kbr2x4s0ynwizm5hy3q4xdjs1jmfdsnpndcs0dlh0di0mhld6x0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -42419,10 +42629,10 @@
       }) {};
     mb-depth-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mb-depth-plus";
-        version = "20170101.1046";
+        version = "20170307.844";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mb-depth+.el";
-          sha256 = "1sk8x91gxwk17kv7whwfh9szxmgyy9ys1h4hx17hyzlvhz9smncg";
+          sha256 = "1vqminlfc146c8wr00ck7drs5kf92fvdmhyqyh2hj6394cvqs7w9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mb-depth+";
@@ -42752,10 +42962,10 @@
       }) {};
     menu-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "menu-bar-plus";
-        version = "20170101.1047";
+        version = "20170307.845";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/menu-bar+.el";
-          sha256 = "0s460zm9k8b76vih5wgyrg8a7w5alwd43ia00mp110ipq2sy9pd2";
+          sha256 = "1lvnsh45fh23pc49xfz8p5m7z82zzxsrdikmx6pbylzhlr0m3nc4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/menu-bar+";
@@ -42775,8 +42985,8 @@
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
-          rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
-          sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
+          rev = "89f9643c08211a770454919551a7fd8605d1fca8";
+          sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
@@ -43373,12 +43583,12 @@
     mips-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mips-mode";
-        version = "20161008.212";
+        version = "20170310.2149";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-mips-mode";
-          rev = "8857384be127b55bd7a20437e4592d8a0175ebc7";
-          sha256 = "0z9zlij7w51iz1ds7njvg8g2mqp80vi65fmxr67rhbfsb7i568cl";
+          rev = "a13d1fc5b583a29f059f7794f2d83e59da439fa1";
+          sha256 = "0ncvp52dnicy84wmnbxhm6djxhc8njrbxy6zwz2vylmy24z9948w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/024a76b83efce47271bcb0ce3bde01b88349f391/recipes/mips-mode";
@@ -43393,10 +43603,10 @@
       }) {};
     misc-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-cmds";
-        version = "20170113.904";
+        version = "20170307.847";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-cmds.el";
-          sha256 = "05ymqzikn16538iqjiwyhwhqzshx9kx9v8amarb8ybr96l1ci4bz";
+          sha256 = "1w58z2j95sycgkakgb9anlc3q73v77whspi9a4j1kf6lmcbpyms8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/misc-cmds";
@@ -43411,10 +43621,10 @@
       }) {};
     misc-fns = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "misc-fns";
-        version = "20170101.1050";
+        version = "20170307.848";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/misc-fns.el";
-          sha256 = "0q5if5p0yy2b3h93lsrhy7z8f5mjmm3kkh1ql94jng4a0hl64jqr";
+          sha256 = "0jjmd33z36dikkbskskgbdv8pflkwaxn4ifajq4ghrdprdhm6gbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2cbbe5a718ec961982a7f65de8f6ec1c9513696/recipes/misc-fns";
@@ -43451,12 +43661,12 @@
     mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
     melpaBuild {
         pname = "mmm-jinja2";
-        version = "20170128.416";
+        version = "20170313.720";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "mmm-jinja2";
-          rev = "f39a9bfe9e3001b0141ed3d6a156fbb60a76e25c";
-          sha256 = "0p83i4ikd1bj4r0hahwnlj2gliwcgfql5rzvv7phl3nhjinclj55";
+          rev = "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f";
+          sha256 = "0big2i3bg4cm14f68ncaiz2h6dk6zqiisrz4l0bv10q9kaa9q2sj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/721b9a6f16fb8efd4d339ac7953cc07d7a234b53/recipes/mmm-jinja2";
@@ -43722,10 +43932,10 @@
       }) {};
     modeline-char = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-char";
-        version = "20170101.1054";
+        version = "20170307.854";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-char.el";
-          sha256 = "0y5bjny8j9lvf94rfk3nrwdfmbp24i1b96909xpifn3l1r1xl6qr";
+          sha256 = "1c6ij1c0d6r9chzwqcpgdjq1rb2h0m09fpck9rc9rg5jy7fgdc0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9655505f56fc90ea8ef61e7595af0de7427b273b/recipes/modeline-char";
@@ -43740,10 +43950,10 @@
       }) {};
     modeline-posn = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "modeline-posn";
-        version = "20170227.1124";
+        version = "20170307.856";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/modeline-posn.el";
-          sha256 = "0glwnfgch9li5z6051ia3f61csl3f6aa1cwkwmw9w7saw4d6q3m1";
+          sha256 = "1cpab6k0p65nmw78y5v4lbpxw6pczkzk46zmkc76pi55yjpw6pbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c62008950ea27b5a47363810f57063c1915b7c39/recipes/modeline-posn";
@@ -44094,10 +44304,10 @@
       }) {};
     mouse-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse-plus";
-        version = "20170101.1057";
+        version = "20170307.859";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse+.el";
-          sha256 = "0drv4r30jj1bsgd9jv6znicc9jgxd0hzjd3xlsp7l2ynjbg86n4g";
+          sha256 = "1f49b10i1iqh0q2s2fa309dc617dzavah7fw0k1rpjk84kb001bd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01cbe9b5bb88f8c02fab67a269ac53c8aa4d8326/recipes/mouse+";
@@ -44133,10 +44343,10 @@
       }) {};
     mouse3 = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "mouse3";
-        version = "20170101.1058";
+        version = "20170307.858";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/mouse3.el";
-          sha256 = "1d6192r5iqyvs21ip78wcsvwc4lpx2jiv6pljcm9blxr1bpsk3gl";
+          sha256 = "0as1d26m3r1vacccsdlbw0rp6jyhj054wv1lssiky6d0kqzn6wa6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/mouse3";
@@ -44362,12 +44572,12 @@
     mpg123 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mpg123";
-        version = "20151214.1150";
+        version = "20170313.715";
         src = fetchFromGitHub {
           owner = "emacsmirror";
           repo = "mpg123";
-          rev = "ed2307843ca54ebf0ca5e5d2e79b41e79527c45c";
-          sha256 = "09731mwm23b6ic53366lnxy2p7dfd245yh75gaf6ijfa22jks7gb";
+          rev = "d1dd8c56428ae55df9e23ba26f102588001d55be";
+          sha256 = "1faqz3svh9l14617d39b8c7gfgf7kxf4q6d0k2q6y8whfljnbyvm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/714d40891ab697b6303a3e25df2cb8adf04942f3/recipes/mpg123";
@@ -45086,10 +45296,10 @@
       }) {};
     naked = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "naked";
-        version = "20170101.1100";
+        version = "20170307.920";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/naked.el";
-          sha256 = "06j2kijshd6ywx0rfvl4d08r0rh0b0rj69zypz63p418liymzcn6";
+          sha256 = "1l6r7vdhzlbv70in16qiyac81930srakr4d14dqda5j3h4w09hbg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/naked";
@@ -45252,12 +45462,12 @@
     nand2tetris = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nand2tetris";
-        version = "20170214.2248";
+        version = "20170306.1827";
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris";
@@ -45277,8 +45487,8 @@
         src = fetchFromGitHub {
           owner = "CestDiego";
           repo = "nand2tetris.el";
-          rev = "b4dcb394f04b46206be729d0d8d32422ef8499ee";
-          sha256 = "1cmiy1zd8d6sx6xslwfmy6iw1knpij5pwn53h8kc1zd4ziyxpiyv";
+          rev = "9f7c605a1d030aed933e86b45c9f7232dbbcfb6e";
+          sha256 = "15myf8nbr6pf5qiwwz7xq8d7ys4mddxjb8b8yl7ci2pw7d03cr5z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/90421372b3f60b59762279ac805c61a984606d11/recipes/nand2tetris-assembler";
@@ -45334,10 +45544,10 @@
       }) {};
     narrow-indirect = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "narrow-indirect";
-        version = "20170101.1101";
+        version = "20170307.921";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/narrow-indirect.el";
-          sha256 = "0rlj647azpj5v7lzap88992f7mf2y94708f4aw2cvnzj6hf1rsvy";
+          sha256 = "1sdyya2gmmd2h39kmijf514y3vln6ax5xdfsrkx1hcalw4l418gh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/38e5dd845c99acaae719562595059154a08a5f00/recipes/narrow-indirect";
@@ -45588,8 +45798,8 @@
         src = fetchFromGitHub {
           owner = "rsdn";
           repo = "nemerle";
-          rev = "883bca8693d0d289c19ea62d55e5fbaa93e721ce";
-          sha256 = "0mr9x0fkza7l1427ib4cwab77vva2aghr7279rzh2hq0wlkzc5zj";
+          rev = "851a186de01369721042a1a9fa951f89c98a68fa";
+          sha256 = "1n67k2h919rjsn41qsnxm13a7qdasfh2hj5d52wqjf3ld8f88zqb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8477d0cf950efcfd9a85618a5ca48bff590b22d7/recipes/nemerle";
@@ -45902,8 +46112,8 @@
         src = fetchFromGitHub {
           owner = "martine";
           repo = "ninja";
-          rev = "fb3c70049b82d53101fc6086a1699ecf16966792";
-          sha256 = "0amylb876720959hhsd31k025l1d3rv1i9i8qhf2k1skd8xfrvpj";
+          rev = "0b0374e831d9c050c6c9eb2ef48b73bc62a0f084";
+          sha256 = "0vyra2kr95msd103h3p8ya66l04wgn5c95vmz5g3l71jvmm9wx8k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aed2f32a02cb38c49163d90b1b503362e2e4a480/recipes/ninja-mode";
@@ -45944,8 +46154,8 @@
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "1cf480110879ffc8aee94b4b75999da405b71d7c";
-          sha256 = "1iwpddz0yni7cz2g9asj6nmrwhaai3rhfmkq954hph8nx02c3l02";
+          rev = "96443e94a1932cff13f23d202839c53483b9290e";
+          sha256 = "027agsvbi6wmhdsdzxjvbhskjlgc20dzq13jb7sjvq5a330fgjsw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -46066,12 +46276,12 @@
     no-littering = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "no-littering";
-        version = "20170226.1130";
+        version = "20170312.612";
         src = fetchFromGitHub {
           owner = "tarsius";
           repo = "no-littering";
-          rev = "63bf66630f48403f536f96f8a0d5b5fab46eac9b";
-          sha256 = "0qi706xafi05rqpdz87sayqb728f5qisln2i3yicymr0wy93x76i";
+          rev = "0227c5eea5b9f3fb056a7ef6052ef6f076371bde";
+          sha256 = "0hjb2paylmcc68998cqgfdnw79z43ha5bv1cg91ysbdjcx2lp1x7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf5d2152c91b7c5c38181b551db3287981657ce3/recipes/no-littering";
@@ -46234,8 +46444,8 @@
         version = "20170304.1716";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "91524d5d6cafbab1c1d6bc5a75b02c4d86689e3b";
-          sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
+          rev = "c0c5645538d9dda84657602ee4189f4ff3ca1aeb";
+          sha256 = "092mv01pn5i7brn311zdcd74pspw5lsmq4vhvi3n80z9byrh6w1h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -46271,10 +46481,10 @@
       }) {};
     novice-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "novice-plus";
-        version = "20170101.1103";
+        version = "20170307.925";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/novice+.el";
-          sha256 = "04lsjzj0a0z7wn7jzlpzjdv9d2w591gs2mwvsh1j8hmgl4x5p9vp";
+          sha256 = "1f49c0wv1zsi720g3a8ka3h17n7r81pzz7zfwalz0zxwxmh6jghb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/novice+";
@@ -47385,8 +47595,8 @@
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "5dc0ab3bee633aad64967e79539cdd007bbcacac";
-          sha256 = "1d7q3gd6clyhpzy4phi6g5435iz50kba2mbn0jd403x3270gdk9y";
+          rev = "032599b162624a4b65c82c20be06433f24b00e8f";
+          sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -47788,10 +47998,10 @@
       }) {};
     oneonone = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "oneonone";
-        version = "20170101.1104";
+        version = "20170307.932";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/oneonone.el";
-          sha256 = "04jjdfbn8ah3gk4fpc56il8j4q52l9raxkbkxivqn440as7nkrn4";
+          sha256 = "1fi006v0j5w993jf7hr2ywk9zhsy2v0hiscxlmjws2ihgcfmcslg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/oneonone";
@@ -48246,12 +48456,12 @@
     org-chinese-utils = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-chinese-utils";
-        version = "20160811.217";
+        version = "20170312.2316";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "org-chinese-utils";
-          rev = "3818d03bde90433b49b8ef8cffdd242084af4058";
-          sha256 = "0rlqr0b54rv8p2015vgb730r3lqwxg3v0msiimwxlhfhgww1pg2b";
+          rev = "9f3ea014d049e026105055330500ee9ed82e9bc4";
+          sha256 = "1i05ds7dz5ra2vyzx3fd0038qnzgr527cnnnrhl4afr93cqgjp6a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/org-chinese-utils";
@@ -48878,8 +49088,8 @@
         version = "20140107.519";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "eb1847e29c4216ec3b79029c3f143c9991e61a1b";
-          sha256 = "0sa8g830s2pw157giy7ylpa8vdsmjkqnwsffpxxvq9zmmdhmh7pb";
+          rev = "7b426972600154286ce6fddbaf9b7c7503845bbe";
+          sha256 = "0q6paa8x0i92sdggiv525hfi17cysmpv636q7rikf92v10qmxrw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
@@ -48898,8 +49108,8 @@
         version = "20170105.1723";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "eb1847e29c4216ec3b79029c3f143c9991e61a1b";
-          sha256 = "0sa8g830s2pw157giy7ylpa8vdsmjkqnwsffpxxvq9zmmdhmh7pb";
+          rev = "7b426972600154286ce6fddbaf9b7c7503845bbe";
+          sha256 = "0q6paa8x0i92sdggiv525hfi17cysmpv636q7rikf92v10qmxrw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link";
@@ -48975,6 +49185,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-notebook = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "org-notebook";
+        version = "20170311.1302";
+        src = fetchFromGitHub {
+          owner = "Rahi374";
+          repo = "org-notebook";
+          rev = "ea6e477015a5f25d41df25af25252f521b12691a";
+          sha256 = "1i1jchigh70z0ymil85plfx6wf9hwxlkl7jx9kxhv70zpc3m9mlg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/04149b1f158e857ea824fe120372ac52a000adcf/recipes/org-notebook";
+          sha256 = "045xqmrik1s83chl7l7fnlav2p76xrfj21kacpjj215saz1f8nld";
+          name = "org-notebook";
+        };
+        packageRequires = [ cl-lib emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/org-notebook";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-octopress = callPackage ({ ctable, fetchFromGitHub, fetchurl, lib, melpaBuild, org, orglue }:
     melpaBuild {
         pname = "org-octopress";
@@ -49020,12 +49251,12 @@
     org-page = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, git, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "org-page";
-        version = "20170305.1948";
+        version = "20170310.240";
         src = fetchFromGitHub {
           owner = "kelvinh";
           repo = "org-page";
-          rev = "493e9ac843eb44efd8a6f486a7cfa727d575f3af";
-          sha256 = "1amviznfqjb3z09bzv11yy2ickka43z7ffzjlbgk9wy066944p8l";
+          rev = "18c94764b6240344d4e147d881071876e9004e30";
+          sha256 = "1q76daimscr2mp0wi6cp0mbph7cp4gdm818cdi76rsz48xa83gxi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/872f163d4da58760009001472e2240f00d4d2d89/recipes/org-page";
@@ -49285,12 +49516,12 @@
     org-ref = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, helm, helm-bibtex, hydra, ivy, key-chord, lib, melpaBuild, s }:
     melpaBuild {
         pname = "org-ref";
-        version = "20170306.638";
+        version = "20170313.713";
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "org-ref";
-          rev = "1cf25da328ecfeac402aaa38dc3f50af8f462264";
-          sha256 = "17bw03c22khqxf8b5hmf4f0l2s7qbmjkkw6m3xvs30k5snq1wk8x";
+          rev = "2f8152e6e45885f68c01b39a227c625a441d6ded";
+          sha256 = "03ra8dr5qpmny3s293al8fckyrspkhbrgw31adz3x9z69c919qjn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/550e4dcef2f74fbd96474561c1cb6c4fd80091fe/recipes/org-ref";
@@ -49673,12 +49904,12 @@
     org-webpage = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, ht, htmlize, lib, melpaBuild, mustache, org, simple-httpd }:
     melpaBuild {
         pname = "org-webpage";
-        version = "20161030.100";
+        version = "20170311.1713";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "org-webpage";
-          rev = "6a3c80ec00bb16707def17138e4230221511df3a";
-          sha256 = "1xr9rkkhijb3af2fqhphz7c869648l1hvf4g6qffi1kmla3djf9x";
+          rev = "bd7b0e896e250a7c330568b33520c347b6731890";
+          sha256 = "1l3smz4xx9s4jsr82isnh0hz6ivsf9y5jl87fcfkh98aqlym4z8a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1428ef6b2291d415ae2114de123652d9e378398e/recipes/org-webpage";
@@ -50412,8 +50643,8 @@
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "scimax";
-          rev = "af3d973d90b779d93153f751c746f9ede85972dd";
-          sha256 = "0468if164skl0rwnk36ld3kjcmiqmj59jijgfw5w9mpd8j4mvwf0";
+          rev = "f9c485ecb08bd1820f47c6e5c160eae0776a1ed7";
+          sha256 = "0vwfhgsxgnwg0533359r5hng29k9wjs5j3yjx82y1qxdla13j51j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip";
@@ -50426,6 +50657,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "ox-epub";
+        version = "20170304.1600";
+        src = fetchFromGitHub {
+          owner = "ofosos";
+          repo = "ox-epub";
+          rev = "edc253b6f7397ac89a3a0b2d2a05e650baa483f8";
+          sha256 = "0kvs5kpkly45fqdb7mka1w2yn7pks95gxgiy2ayx12cgvn3inyw6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
+          sha256 = "15q6vsmgv76c0qfdxa3prqvgmr6n7k4rd4bpi05574ibi23y0ynh";
+          name = "ox-epub";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/ox-epub";
+          license = lib.licenses.free;
+        };
+      }) {};
     ox-gfm = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ox-gfm";
@@ -50534,12 +50786,12 @@
     ox-latex-chinese = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ox-latex-chinese";
-        version = "20160928.2153";
+        version = "20170312.600";
         src = fetchFromGitHub {
           owner = "tumashu";
           repo = "ox-latex-chinese";
-          rev = "338b168bac4c44f8f4d212f67a2190a70eacd240";
-          sha256 = "1wh0ds7cznnvvh9rg3wsapdhxi8pplimszhzliglgj8sqfyb7kcx";
+          rev = "f4f49ed0c6de69b11739b62cd1ebc1351ad657f4";
+          sha256 = "1bppfj3zwkn5k11wk0845gf32k69c8jz5fsqq4iwvl89ijfjk5xn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a679ebaedcb496f915b9338f9d5c003e1389594d/recipes/ox-latex-chinese";
@@ -51121,10 +51373,10 @@
       }) {};
     palette = callPackage ({ fetchurl, hexrgb, lib, melpaBuild }: melpaBuild {
         pname = "palette";
-        version = "20170101.1109";
+        version = "20170307.936";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/palette.el";
-          sha256 = "0kx41b6axq9ba1mhp7icjq165aklskiq9ddmcn8yrcx480v4gf11";
+          sha256 = "112b91z1f4p0j4kzrn8110w9pk2fyndjqiiyh0vkwah2ihpsw3pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/palette";
@@ -51474,12 +51726,12 @@
     parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parsebib";
-        version = "20151006.232";
+        version = "20170311.1430";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "parsebib";
-          rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
-          sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
+          rev = "ee1dfbb53fff9fd5c4dc6571bf498516b7ffff01";
+          sha256 = "05rgi9hk17h2kjib5v68i4ikg7292f65qxxinaxkhsy0xsx6kybl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@@ -52332,12 +52584,12 @@
     persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persp-mode";
-        version = "20170302.712";
+        version = "20170311.716";
         src = fetchFromGitHub {
           owner = "Bad-ptr";
           repo = "persp-mode.el";
-          rev = "5e440fb287897b97a0d13fc150df60b6860e4481";
-          sha256 = "1ff1h80hmkm3b1qj4y3hjzmmzcwp14qr8ankmi0qxymsz5z2jar8";
+          rev = "6b3987b6c085da52a4a1e1a8433bd4a6f3f411d4";
+          sha256 = "0w2wmy1mhpjfmm0js5h0nqwwmj2xzpasc1m40slwh0lcm9176w9c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@@ -52395,12 +52647,12 @@
     perspeen = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline }:
     melpaBuild {
         pname = "perspeen";
-        version = "20170221.1910";
+        version = "20170312.19";
         src = fetchFromGitHub {
           owner = "seudut";
           repo = "perspeen";
-          rev = "cca16ec338454acbad26f4d1d57a463a034bdd44";
-          sha256 = "078mfmky682hbjkdxkawimxddzc2laz6xqrcpi1dli1vzgpkx7p9";
+          rev = "f093cfecde0e8ce0d5e390784c228831536aef72";
+          sha256 = "0gb8f23ls2f5zj9a9q3i39775g3zijwdnbl7gyqi4hi5v90rb0s4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/19bead132fbc4c179bfe8720c28424028c9c1323/recipes/perspeen";
@@ -52584,12 +52836,12 @@
     phi-search = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "phi-search";
-        version = "20150807.112";
+        version = "20170310.237";
         src = fetchFromGitHub {
           owner = "zk-phi";
           repo = "phi-search";
-          rev = "40b86bfe9ae15377fbee842b1de3d93c2eb7dd69";
-          sha256 = "10kyq3lkhmbmj1hl9awzc0w8073dn9mbjd5skh660ljg5mmi6x62";
+          rev = "a81c4ea203fcb572f6cc37cc658d6b01453bef9d";
+          sha256 = "1z3640walrdk2c90hj47xvlpm6xd5iblxvn7i16krdfz735i4rr5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f0274300c33f19ca6f868e1d570ffee513dbdf7/recipes/phi-search";
@@ -52794,12 +53046,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20170220.1707";
+        version = "20170307.1750";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "aa69d062ea91e03ad84a378ed4f71c63846027d9";
-          sha256 = "0xpdzv2vigidnqv2pl9g614cqd8xykyln84pksifx2ldjbcs9xsc";
+          rev = "c761c97e53d50a015bf8d5d554f4917267b0f6dc";
+          sha256 = "0hy0bzscv3hakldmjynsm9rz91v5lyb7rp20ljzfvbzzbkbxzdai";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -53666,12 +53918,12 @@
     polymode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "polymode";
-        version = "20170216.615";
+        version = "20170307.322";
         src = fetchFromGitHub {
           owner = "vspinu";
           repo = "polymode";
-          rev = "f72ab719c054ad2a46d175c77ad893bb6f476e36";
-          sha256 = "1pkhp3b1fv7zvsq8qnf06czyv3ax95kni7k6zjgnrwrvm3ks8fsn";
+          rev = "0340f5e7e55235832e59673f027cc79a23cbdcd6";
+          sha256 = "057cybkq3cy07n5s332k071sjiky3mziy003lza4rh75mgqkwhmh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/polymode";
@@ -53684,6 +53936,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    pomidor = callPackage ({ alert, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "pomidor";
+        version = "20170310.634";
+        src = fetchFromGitHub {
+          owner = "TatriX";
+          repo = "pomidor";
+          rev = "c361814b1abbff2b213bd3cd5376efd3e749ce2e";
+          sha256 = "15ryj9hp9kc9fn6jwipwwgaj6f5cwwmjswq1017y0f69qf69dd1i";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4e0d4f313081594df23f357c40feb456847d8bd0/recipes/pomidor";
+          sha256 = "0pdzipyza98dhnz6am8lrmz8fh3p1c21v2mhs56fb9lwyvcgv8fi";
+          name = "pomidor";
+        };
+        packageRequires = [ alert emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/pomidor";
+          license = lib.licenses.free;
+        };
+      }) {};
     pomodoro = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pomodoro";
@@ -54085,10 +54358,10 @@
       }) {};
     pp-c-l = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-c-l";
-        version = "20170101.1116";
+        version = "20170307.939";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp-c-l.el";
-          sha256 = "07favccg34khq0rnkdmbmhagpn6sg0vrmxcql35vh1p0jalp208s";
+          sha256 = "0q36bq82lp381jnzf8kapiiglqgibzkhsxlhpgfdg3ynbmw5i1cc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp-c-l";
@@ -54103,10 +54376,10 @@
       }) {};
     pp-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pp-plus";
-        version = "20170101.1114";
+        version = "20170307.938";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pp+.el";
-          sha256 = "0v8gm9z9dqxmqqvgz4dwmh79ssmir0zf4p3c6wbwrbak16b2ad6m";
+          sha256 = "0a1dj9n3n81xal17djj15hqa71cqphjnf9k9z03vnpw8zq0m93lh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pp+";
@@ -54226,10 +54499,10 @@
       }) {};
     pretty-lambdada = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "pretty-lambdada";
-        version = "20170101.1117";
+        version = "20170307.940";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/pretty-lambdada.el";
-          sha256 = "17vji7y92ahmhff6ax7znhi7dbfhi8zpghhnl408n5hzcvmqmf06";
+          sha256 = "0b8m96hbqmgyqmv5f890fnyl9vl2wcsaz8w4b11wdprh82ravp4r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/pretty-lambdada";
@@ -54596,22 +54869,43 @@
           license = lib.licenses.free;
         };
       }) {};
-    projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
+    project-shells = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
+    melpaBuild {
+        pname = "project-shells";
+        version = "20170311.409";
+        src = fetchFromGitHub {
+          owner = "hying-caritas";
+          repo = "project-shells";
+          rev = "ab10fcd370781f684ca334f83fd70ed22a3f93b9";
+          sha256 = "0fh61myklzg514zlqasp09arxdg43lvyqv7sv2dr74ins29zc0lq";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/becf54de5ae9582d7c76382dff16d40b04b1a464/recipes/project-shells";
+          sha256 = "0mhifxcpgsfwrhbs7axg6ja4klgzzy9pc0nqa7w3qg45xgi9s4m8";
+          name = "project-shells";
+        };
+        packageRequires = [ emacs seq ];
+        meta = {
+          homepage = "https://melpa.org/#/project-shells";
+          license = lib.licenses.free;
+        };
+      }) {};
+    projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20170225.2320";
+        version = "20170309.30";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "d9cc453b9e11c9b2f03413e3075e063a6143af69";
-          sha256 = "1zam1avzb5dcv0icjd8vs1p7k24szqx1n4b7qr17pikyvjz4g0xs";
+          rev = "0c307c8cbf6162fa992bcdbdd1940bf6eff28253";
+          sha256 = "18m35h9r1gs96hkgqmjhkwnlg5dj9knh227n2k9xckg161mld2fg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
           sha256 = "1kf8hql59nwiy13q0p6p6rf5agjvah43f0sflflfqsrxbihshvdn";
           name = "projectile";
         };
-        packageRequires = [ pkg-info ];
+        packageRequires = [ emacs pkg-info ];
         meta = {
           homepage = "https://melpa.org/#/projectile";
           license = lib.licenses.free;
@@ -54645,8 +54939,8 @@
         src = fetchFromGitHub {
           owner = "christianromney";
           repo = "projectile-direnv";
-          rev = "33455b93576855065ba4ba9ed1b05dc36e692f1a";
-          sha256 = "09zyzfqy1i3i8knvh1ajr5jcidjx3jpsyx8qarxfr5kv16pwyfvj";
+          rev = "d5d29e5228f840b7a25358a2fd50353ef2dc9b16";
+          sha256 = "1bq47a6lckgin93cqy5wj277rlrw2cgfywgmbdpxvmbhygpg5hqr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/602485c251bc573e855dfd33e4e94052afbab93f/recipes/projectile-direnv";
@@ -54708,8 +55002,8 @@
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "038c7f9724f684c7862e108150e256a00ff9c5c6";
-          sha256 = "0hjf54nn08ifd8cd3y19g47lwyvacqjx1fmy8x4kpn14fwzs4xnv";
+          rev = "4e5cecdf28e5c7a255648b246883adf6add987f6";
+          sha256 = "0wdbmsqw806qji12wwiw2blzldnpyj2lzqj3qcyxladq5w576xqs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -55002,8 +55296,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "0c0a8879c3dd7ee6925746d2206f3262689b5833";
-          sha256 = "1np5vkyzp5fjjzj8x3b55pj7mvanqsff726maj77mnixcs11vj7f";
+          rev = "a69bc9de75fe08f5fe7ad6e2339dfc5b0da5d8ef";
+          sha256 = "11b7wmzkm35bsbczhswl5495zz84ib2dm3syyyvyhbrgqrayppmq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -55745,8 +56039,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "7df8caaa3e1995018417ac2fd87afd89be6945ba";
-          sha256 = "0fj97k1h4yplz87pfcmbxcg7sam447k1rn6ggb227jlyvqbw30sm";
+          rev = "d78e0130720aba010a55e388ba16bd58debef828";
+          sha256 = "0my3a7h7v6x1b19d8fd6lpdzn32zav4nwpmc8f8pypf076kjaf82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -55888,12 +56182,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20170219.809";
+        version = "20170307.457";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "52024dfb55354b3cc59f7115421bc130a7670c2d";
-          sha256 = "1v0qd7935nlxz7y9175xz8ygx1m6snd0nhgfs2k0bkfyv14ps5bg";
+          rev = "ac40376edcd2ca5a608f8aaa87b76fa020a2f3a3";
+          sha256 = "0z375bx4609c1p9bb1awvrzcqscmn4v5jzarkw9ps5y1r0770b1r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -56287,12 +56581,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170226.1906";
+        version = "20170308.1044";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "c50cd48edc74348bd89b09661ea325dac12fcb48";
-          sha256 = "1vxplnnp751lp4nm2vqdysr9b1ksqykrn6l02dn2priyy5hh29k4";
+          rev = "8cd8966db88de17d4c2f558540f1fe4b1b9e5a2e";
+          sha256 = "0lflbfrz90vkxmi33mw060vjimxsw6dr4fdpp2x38ykv97bwlpi1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -57378,12 +57672,12 @@
     refine = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, list-utils, loop, melpaBuild, s }:
     melpaBuild {
         pname = "refine";
-        version = "20170219.807";
+        version = "20170311.114";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "refine";
-          rev = "9ac5ccaab861968ff54ce4a89efeb29ea3e4fae9";
-          sha256 = "1jqm4dmyzcknzpn6i00wgv1f7fa6acxg4b5vp6hzp8za8i9fzc6p";
+          rev = "e46948a3567a462094fcda227daa0f462e9f9120";
+          sha256 = "1damy0y5c4qnfvdmv9qzr7w6vs88dm71wsfv918p79a0drp7xrdb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b111879ea0685cda88c758b270304d9e913c1391/recipes/refine";
@@ -57733,10 +58027,10 @@
       }) {};
     replace-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "replace-plus";
-        version = "20170101.1119";
+        version = "20170307.942";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/replace+.el";
-          sha256 = "0cbm5g5d1d4bdfmx3nkldpq8k5ah0cz5ddq7cn4278rjx1h9ml5f";
+          sha256 = "0bbqmgz4grbg9g4kd5c85wn1icfgqapdkb2v7jmqwg4mc8s7piv5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/replace+";
@@ -57920,12 +58214,12 @@
     restart-emacs = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "restart-emacs";
-        version = "20170220.2245";
+        version = "20170306.2230";
         src = fetchFromGitHub {
           owner = "iqbalansari";
           repo = "restart-emacs";
-          rev = "56f877fe86373df3eb048ac96d6deef7b9f60892";
-          sha256 = "1v4yvkp4f3rg8gi01y1gsfn7sikx4c3w0gisc3kdb3rs9kf1p8dd";
+          rev = "d7eacf44b643babce367076d91bef87cdf8e732e";
+          sha256 = "0gw5i62d74byj4zdas480cpylz9rnb4jishpzhpq1zvmdhh5sd0d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b9faeb6d910d686cbcafe7d12e0bcf62a85689bd/recipes/restart-emacs";
@@ -58544,12 +58838,12 @@
     rspec-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, ruby-mode ? null }:
     melpaBuild {
         pname = "rspec-mode";
-        version = "20170225.12";
+        version = "20170312.56";
         src = fetchFromGitHub {
           owner = "pezra";
           repo = "rspec-mode";
-          rev = "159afaf630be5fb13b3b0762f4c42ae6699dd143";
-          sha256 = "0pm0zzk7sdzvk3zwlqpkq5pg6p3kkny9a8104fpyszvd3f2ygsk2";
+          rev = "fe336636a57955b927b5994c8c738e21cacdc800";
+          sha256 = "07qjp6bb5rkcpbda7gb8g0zr2mr6cwplaspwc4ckidfcd8vzdn7b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd83e61b10da20198de990aa081b47d3b0b44d43/recipes/rspec-mode";
@@ -58569,8 +58863,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "ec6d0dcd9215fe9f29c7cf49685a60c3ebeeaf8d";
-          sha256 = "01br0l60ng8jx0wyvikjy96g6safdmr3vdr463jz61shif3xpirx";
+          rev = "606864f4e3f6e00426a69087b707cbc44d19404c";
+          sha256 = "1ga88cjjb91pma47r4hz3kg6080dk29lbvghlffh9x0r91w1y5pj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags";
@@ -58607,12 +58901,12 @@
     rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rubocop";
-        version = "20170123.906";
+        version = "20170311.2211";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "rubocop-emacs";
-          rev = "d4dad3209f05288bdbe3a31f47794047b87fa424";
-          sha256 = "1w1mbp04sqsa4jl8ix05i8af9095zbblcjxkhgmj4x57s8yfsiap";
+          rev = "980bedb455e3551d35a212fae515c054888907c1";
+          sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
@@ -58631,7 +58925,7 @@
         version = "20161115.2259";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57789";
+          rev = "57962";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -58711,7 +59005,7 @@
         version = "20150424.752";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57789";
+          rev = "57962";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -59148,12 +59442,12 @@
     salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
     melpaBuild {
         pname = "salt-mode";
-        version = "20170128.424";
+        version = "20170313.725";
         src = fetchFromGitHub {
           owner = "glynnforrest";
           repo = "salt-mode";
-          rev = "28e72f05f2159f94d7fa3270eb35bfc1f06965df";
-          sha256 = "1dksmfvvza277dm245s9l8ydnbdqvl054hxsybynx05yb5c3sfgh";
+          rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
+          sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
@@ -59316,12 +59610,12 @@
     sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "20170301.256";
+        version = "20170306.1733";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "5a85d5e98b7a23a1009dc089d604de9a32facedf";
-          sha256 = "1sxsf3f9rzlpm3pib39cdy4sbn2fg1l5k0iwcr3vpkrfiyzivbpd";
+          rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
+          sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
@@ -59362,8 +59656,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "14322d78b2be5148c2756d69e7a6c1e53b745569";
-          sha256 = "0ih1kahzr3n6rvmsv2jg9v1f5n119vn1qa6jjs27wpd39n3az3hj";
+          rev = "3a7dd67970c5ac57df24c40e18e77a99fd14e1c7";
+          sha256 = "0hk965ldfxybjjaw9sfyn4zw28178pdmaljk454y4y6xfnm2xcrw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -59920,10 +60214,10 @@
       }) {};
     second-sel = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "second-sel";
-        version = "20161210.820";
+        version = "20170307.946";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/second-sel.el";
-          sha256 = "0c9j1lbharzyvhvb6whcymra76y0nyqfnaw1s5qzd3xdq5c9sf7c";
+          sha256 = "1sgwza2ka3iqsajnppq2vd150h1wbkzzi04rk7bzpqj32dyh7gbx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/second-sel";
@@ -60001,12 +60295,12 @@
     sekka = callPackage ({ cl-lib ? null, concurrent, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "sekka";
-        version = "20170115.237";
+        version = "20170309.543";
         src = fetchFromGitHub {
           owner = "kiyoka";
           repo = "sekka";
-          rev = "001e205b37ae0dded430b9a809425dc7ed730366";
-          sha256 = "113i8i705qkd3nccspacnmk9ysy5kwavg8h9z9djdgki611q700q";
+          rev = "09f7c7c75d8570909ecb45599d6f3ba75768321c";
+          sha256 = "0s6y3aqavc4lfqi84hkvbdyyjgw9j5n99272blj0878a0qmia658";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/350bbb5761b5ba69aeb4acf6d7cdf2256dba95a6/recipes/sekka";
@@ -60849,10 +61143,10 @@
       }) {};
     showkey = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "showkey";
-        version = "20170101.1132";
+        version = "20170307.1528";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/showkey.el";
-          sha256 = "1mx48ly135wmqrr0srwnxby46b0mcnyw4vyd0jykih9ygd8kk4dj";
+          sha256 = "143889knvy6ifvq759869gbjfg10k10mi2by2hajcgzqhby72h61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e2b5576d501aee95c8f62d721a69077a1f3df424/recipes/showkey";
@@ -61180,10 +61474,10 @@
     simple-plus = callPackage ({ fetchurl, lib, melpaBuild, strings }:
     melpaBuild {
         pname = "simple-plus";
-        version = "20170101.1133";
+        version = "20170307.1529";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/simple+.el";
-          sha256 = "1z1l1lsddd865ma1q714hj4y9p89z1m3hr7z9fir53ipsa31cnl1";
+          sha256 = "061vw3w8gl1lcjy67ina4w496i91addsl5s3xbffk2q6k1qhjsdi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/simple+";
@@ -62182,12 +62476,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20170303.346";
+        version = "20170312.450";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "0c81107de550931466b11132b8c6286851615b5f";
-          sha256 = "1xmaxl7s8lh288vrqg6diakzldp615z41innkl13yjawnad4mxfk";
+          rev = "a212f777eea775a5c106b5022dea3bbb215bf98a";
+          sha256 = "19fpal1r0x11515s1lwgr5cjs0jk7pggfnv6y7jj4bvrvq87imnk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -62748,12 +63042,12 @@
     sonic-pi = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, highlight, lib, melpaBuild, osc }:
     melpaBuild {
         pname = "sonic-pi";
-        version = "20170305.327";
+        version = "20170313.810";
         src = fetchFromGitHub {
           owner = "repl-electric";
           repo = "sonic-pi.el";
-          rev = "d2f6facaf012fc556498c90a4d1343fcb59a4628";
-          sha256 = "0hnjws9b4k0f6clcpcmvvlqnjkq09zrppkdylw334nhdbpkdhkxl";
+          rev = "494981aa8f7828392a930ef8533698944738090e";
+          sha256 = "1x9qn6b4nbld9v0r7vi3mg6w7nsa76pzyn1fl118n14a8kkc0is7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0536c7e32ef145546e4014a1d418cbac8673eb5/recipes/sonic-pi";
@@ -63151,22 +63445,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sparql-mode = callPackage ({ async, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "20161219.550";
+        version = "20170313.721";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "e5bedd0b1df135bb1e42b756da850dac5955aeb8";
-          sha256 = "11vpx9cq81ld6k4710nbvnfhpwq0v0bw0zg5aljr2j1pyfyh0pcs";
+          rev = "33da09b3895e03e64959005678d448ab82e527b6";
+          sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
           sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
           name = "sparql-mode";
         };
-        packageRequires = [ async cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/sparql-mode";
           license = lib.licenses.free;
@@ -63729,6 +64023,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ssass-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ssass-mode";
+        version = "20170310.2024";
+        src = fetchFromGitHub {
+          owner = "AdamNiederer";
+          repo = "ssass-mode";
+          rev = "c26852123436849367d826c370f24dd9f20cb501";
+          sha256 = "05wk2jfvzpzjpqz5vmv8b1yz8nnnix6lv9rh66vgddm794j92dkd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3137f98aaa871a52f477b63d9c3b7b63f7271344/recipes/ssass-mode";
+          sha256 = "07aym4a7l70f1lb6yvwxkhsykrwbf0lcpwlwgcn5n44kavvdbzxm";
+          name = "ssass-mode";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ssass-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     ssh = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh";
@@ -64251,10 +64566,10 @@
       }) {};
     strings = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "strings";
-        version = "20170210.1925";
+        version = "20170307.1533";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/strings.el";
-          sha256 = "0am2w3p2igh0y5mdbmjfdzyrx3bngs4c3nibjjcky3pmvj4k3r4i";
+          sha256 = "08sq20ys4xkkg11jyrnlzibl5v73i7zlnj28ygivy3sqvp07z7iz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/strings";
@@ -64477,10 +64792,10 @@
       }) {};
     subr-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "subr-plus";
-        version = "20170101.1138";
+        version = "20170307.1534";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/subr+.el";
-          sha256 = "057h7hshdvzm3qcwdnbyw0qb7ijw3jz38cff0n9ln4xgsma6cgm1";
+          sha256 = "191yqzkvvfnx8hx19ak20dvm9qjcm5r5yqcmnzw6nsc53m2pdwbx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/400c7aede8fee84660b5010eacb93536f1c0b0a4/recipes/subr+";
@@ -64977,8 +65292,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "e9219e7a7ed07965057e52e42bd56cc04fdffebc";
-          sha256 = "0yi5mpwsg2d5wmnqxs5fi9z2avzar47j1g5qw5ik2vxid9x7qf5m";
+          rev = "1ac1cc1378eeaec2eb47a21dabbb1f6d775e7823";
+          sha256 = "0024zry02vwzhdip5s5g55wlicakj4815yy8s617jzmj840x97mc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -65224,10 +65539,10 @@
       }) {};
     synonyms = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "synonyms";
-        version = "20170101.1140";
+        version = "20170307.1537";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/synonyms.el";
-          sha256 = "0f1krqbmbdkpll6ggryblcr7gw0wqm3d9hvq145sdwhwi5jw8b4v";
+          sha256 = "0456mmp3niljpghqcngknqkrxmpkba3n95ab4pf0b0021z2zjyxk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fd538439982dd7bd281bf78e96373b93f4d4a6b8/recipes/synonyms";
@@ -65368,12 +65683,12 @@
     system-packages = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "system-packages";
-        version = "20170205.1305";
+        version = "20170311.2357";
         src = fetchFromGitHub {
           owner = "jabranham";
           repo = "system-packages";
-          rev = "5b3f7f5ae08d306604423f48e9a2ab5daaf58584";
-          sha256 = "0b7hjgxr6pv6dj3q233mxlm8ssxpvkhckibn0cfr5xb7ycfkd6rm";
+          rev = "ebfb6f9eb46c006a4488c1fbf9f46de48f5a788a";
+          sha256 = "199bmzxw6lrby6l9fgm01i92lvzzbz7sqpjrn9jjmpiwr718qxcf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8c423d8c1ff251bd34df20bdb8b425c2f55ae1b1/recipes/system-packages";
@@ -66537,10 +66852,10 @@
     thing-cmds = callPackage ({ fetchurl, hide-comnt, lib, melpaBuild }:
     melpaBuild {
         pname = "thing-cmds";
-        version = "20170101.1143";
+        version = "20170307.1538";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thing-cmds.el";
-          sha256 = "1qpszba6ajwqphhk39y6j4wlg7s5lch63lwfa9y28qipwkbn6zlq";
+          sha256 = "16bfjak7953mhmn7abd3pq8cqh8njir5x5x7acqs8zmd9n9qpni6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thing-cmds";
@@ -66555,10 +66870,10 @@
       }) {};
     thingatpt-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "thingatpt-plus";
-        version = "20170101.1144";
+        version = "20170307.1539";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
-          sha256 = "0hb3fyqzq0312isid5vji0j74dmkh08p41sss32f4w60yhd8p19x";
+          sha256 = "1k9y354315gvhbdk0m9xpjx24w1bwrnzlnfiils8xgdwnw4py99a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
@@ -66641,8 +66956,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "431732d39e89f1661dc7dddffedb2c5c1e019cc7";
-          sha256 = "1mz2g5flz7yrsjzjfa9p6f5sinhd3xxf6nn3sjma7a9jcm626l7l";
+          rev = "6582757752e62efea3f9786dddf0260efaa1f450";
+          sha256 = "1c9miaq60d0l352yyxc2l3v927wzgadsyvfxyvs88qdk6pmz59ig";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -66658,10 +66973,10 @@
     thumb-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "thumb-frm";
-        version = "20170101.1145";
+        version = "20170307.1540";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/thumb-frm.el";
-          sha256 = "19fiafq5nl29wr35l7nkzjs70fvnw0g27424x7xnm425gwaags8s";
+          sha256 = "1mfz4gkq71sp9q7pa8q0md36g7x0dpsqz0np507dx2kypzqhklpd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thumb-frm";
@@ -66698,12 +67013,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20170303.1211";
+        version = "20170310.2151";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "616a93710a3bf882f75f61bd8f3438de698938c4";
-          sha256 = "19n1pc3igwbd1yz1cylnk46jvv723aab7505i8r7mw05zd5cnwpg";
+          rev = "70d859495d8bd76f338868f6fc1a89dbcabf7a2b";
+          sha256 = "0nd5lcs2lv5m0s56vga3d7j66zfy2w4dafv8g3jv3m3p5hll1dq4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -67279,10 +67594,10 @@
       }) {};
     tool-bar-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "tool-bar-plus";
-        version = "20170101.1147";
+        version = "20170307.1542";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/tool-bar+.el";
-          sha256 = "19ayc57vnv9348nfc10392kr4xd6wg0b6v2ya3x2zlpfsq3a6w2n";
+          sha256 = "09myj10ifjjc43invxbiinskv5xllkqvqfnzmc7893k2hp2miczm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/tool-bar+";
@@ -67531,12 +67846,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "20170305.1155";
+        version = "20170312.1927";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "3c1b891f350a5c0b87d15d174203b9ba2bf3db2d";
-          sha256 = "0l2qqrxpfn4f0x9zdz0rsf5vw8238ycjmxnbjx7mcp3awm90pp46";
+          rev = "fd6334f795df409d8d854a0762ef2d2ac74556c0";
+          sha256 = "0mi3xrgsshds09j70mv42ngn1f702wswvrn4wm3xh8gv6sqfbz5m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -68027,12 +68342,12 @@
     twittering-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "twittering-mode";
-        version = "20160921.1038";
+        version = "20170312.735";
         src = fetchFromGitHub {
           owner = "hayamiz";
           repo = "twittering-mode";
-          rev = "08a810167d47852367e7e8d56916c794f7b0fd04";
-          sha256 = "15wghd8iiyrikahd7ayga9m0s993ghriwk44ylcycy3a6axaizmi";
+          rev = "63c96fb029033b1a300b90aa922e167c7c405bcb";
+          sha256 = "0kax42y0f1pa1pgybz3f57ig9g8fvmgcw8j7zl9nsw70dar4amqk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/twittering-mode";
@@ -68069,12 +68384,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20161130.1944";
+        version = "20170311.1208";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "3b0ace2a710cbe0a47617a2e4650f593c7282385";
-          sha256 = "15rghh1k657hiahaqb6isrxs1bwys220r0fzk7fxhv8jfbmb2a12";
+          rev = "ca510ab853feb45bb0a6fa5bfe01c96bb1da50ba";
+          sha256 = "11g98jy74bpkryb9y5kclndm1zv40rwg7cfpd782fp8f767f17rq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -68212,10 +68527,10 @@
       }) {};
     ucs-cmds = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "ucs-cmds";
-        version = "20170101.1149";
+        version = "20170308.1512";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/ucs-cmds.el";
-          sha256 = "0ql6qyzcj067vx2amwfh2m4vi056zf7qra4pkyskv829nxqg9mk8";
+          sha256 = "072swg5iyx9n4xpdm65ydh2z7g11jqi3jjwkhcd7a389lavfqnbw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/ucs-cmds";
@@ -68273,12 +68588,12 @@
     ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ujelly-theme";
-        version = "20170306.214";
+        version = "20170309.131";
         src = fetchFromGitHub {
           owner = "marktran";
           repo = "color-theme-ujelly";
-          rev = "69bbb941a6835137564b919109884d056429f2f0";
-          sha256 = "1dg642b8s9s0f97mqm7facqsg6lmaxi9nv0kpj33p58bqsjrq6hc";
+          rev = "c9ae717f38a7d01de30a8030f80032a5782aa88c";
+          sha256 = "0jx8rfm8jrpn7b8q0wkabjsnvlbzmgn2q60qscmvz1bggb01r9ak";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme";
@@ -69911,10 +70226,10 @@
       }) {};
     w32-browser = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "w32-browser";
-        version = "20170101.1154";
+        version = "20170308.1518";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32-browser.el";
-          sha256 = "0x30ldv2wbv3vhj85jss7hwf672m61f5r4z9l1sg3v0ibalqry45";
+          sha256 = "0pp3fl2r5g32qv8ysiwnznpc5na7cqh3vp5mq59yfhv5p6myayxj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32-browser";
@@ -69930,10 +70245,10 @@
     w32browser-dlgopen = callPackage ({ fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "w32browser-dlgopen";
-        version = "20170101.1155";
+        version = "20170309.1433";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/w32browser-dlgopen.el";
-          sha256 = "1dv4l7rcm34p78cvyjv7b1lcc1d28pia18vj3swgnan9g1mi7zdf";
+          sha256 = "1fkkrqwhkg58jjjsjf0fzwabaaxarjylp22zng1id6hqfsm7r1cd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/w32browser-dlgopen";
@@ -70073,12 +70388,12 @@
     wanderlust = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, semi }:
     melpaBuild {
         pname = "wanderlust";
-        version = "20170204.530";
+        version = "20170309.1426";
         src = fetchFromGitHub {
           owner = "wanderlust";
           repo = "wanderlust";
-          rev = "1a49ac05e9558edd4993d345c25cf2d166bfc17e";
-          sha256 = "1bvq0wwc013f6aapwql1rwv9r5nifgff2iwc17kaiwlwwqd6j70z";
+          rev = "40ea87cc62ac6d858235edf2e5d10e5867aa230e";
+          sha256 = "0kmw7rhx7d1a9vhabrfks5l95jafya4lw6yl937imkyxjb6kqdf5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/426172b72026d1adeb1bf3fcc6b0407875047333/recipes/wanderlust";
@@ -70304,12 +70619,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20170225.1206";
+        version = "20170309.3";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "6e4d7e96f2a699c2df3056609584e586f4667b39";
-          sha256 = "10iwzjc697niwj0sqvazpi779ipsncpmn2pfy58lgglriq88ss8r";
+          rev = "b8b0dec9fb429012e530a36eb1aa918f84c6ee82";
+          sha256 = "1k7rzk04n7vw0dzxfl4fdlb88br1zxn8w3i2ld5abz2b0x87497p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -70786,10 +71101,10 @@
       }) {};
     wid-edit-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "wid-edit-plus";
-        version = "20170101.1156";
+        version = "20170309.1434";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/wid-edit+.el";
-          sha256 = "0pzxarpwabbg67ajg340yrp1gqly8y71qrd5gcv9vjzgvvh9anws";
+          sha256 = "0w2hjahcq68inabjbdyh3a0wcxd6pdgsp81iqcikxzfvwpzm35a9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wid-edit+";
@@ -70930,10 +71245,10 @@
       }) {};
     wimpy-del = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "wimpy-del";
-        version = "20161209.736";
+        version = "20170309.1436";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/wimpy-del.el";
-          sha256 = "19dsmchrgmrqnn0v81k3q6z0h3vnxx0wjyqzz27wc7ll1qrvjfyg";
+          sha256 = "0impy9kp1xnhs0834azzndx93p8q53dxdqd9hz0n1mg0h8331c13";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/wimpy-del";
@@ -71092,10 +71407,10 @@
       }) {};
     window-plus = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "window-plus";
-        version = "20170101.1158";
+        version = "20170309.1437";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/window+.el";
-          sha256 = "06igqiwvnwm68k6gf9h85p4ppqab20sxl6qnxb57z8lpczpsssqa";
+          sha256 = "1l6fwrd2f58xpf7cprp354bq2fz0hvl9bz73hrbrzyqvnd9kix61";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/window+";
@@ -71446,12 +71761,12 @@
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "worf";
-        version = "20170225.405";
+        version = "20170306.1230";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "worf";
-          rev = "d543680243046f5f62d36f9e56debcfe414ba40a";
-          sha256 = "0hdd5yi6cnf7ry088wrq2xdm7f2hirhwrds56wvi0bdm9rizm6gs";
+          rev = "9dc5a0f5077e20ea3177376823a1fed18840d5f2";
+          sha256 = "076mz72qqfcbrs2gw9ng8gbzhr9kzc9mnjmv51n67dmd7hi5mmyc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f00f8765e35c21dd1a4b5c01c239ed4d15170ab7/recipes/worf";
@@ -71761,12 +72076,12 @@
     xah-css-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-css-mode";
-        version = "20170116.919";
+        version = "20170312.151";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-css-mode";
-          rev = "ed4539971dd9c32752c7ff5a1d280150446bc769";
-          sha256 = "1nw7mwbiaq4i28his4l7hx1qrgqykr59sw1909s1l165ygl85jb2";
+          rev = "b710877056cc91641aff82d26af01db728131563";
+          sha256 = "0hmnbbdf2rsw24dspfbbdr0b0f4wlrrkw9pzc73dcn8y0pafavyg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/57c2e2112c4eb50ee6ebddef9c3d219cc5ced804/recipes/xah-css-mode";
@@ -72703,12 +73018,12 @@
     yascroll = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yascroll";
-        version = "20150315.605";
+        version = "20170309.555";
         src = fetchFromGitHub {
           owner = "m2ym";
           repo = "yascroll-el";
-          rev = "f7743df1cf6d8e55607141d1ea5f50b562582c51";
-          sha256 = "08wa97hsfy1rc8ify3rz2ncfij4z6l16p4s20naygqccjv3ir6z5";
+          rev = "7b58febbc698e10b3714506a2ce09071fb172bff";
+          sha256 = "0zk8j1jbq2sba09kr8kn2mmsf2i78ng567s9823336b4s61279qx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/yascroll";
@@ -72724,12 +73039,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20170226.1638";
+        version = "20170310.1724";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "6e9b7f9432a87122cf9bb80a505be2fd9811a9cf";
-          sha256 = "0k5yv90530946zjs7xdq3017vcq688mz44r542l39hyd9skxq8ba";
+          rev = "7f337f4488da6e3ea4b92057ca1576d17bc51743";
+          sha256 = "0g1irdas5vvzjfrzvvzpz7kii52smn4aa58s6v10kchppxrrikzc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
@@ -72900,12 +73215,12 @@
     yoshi-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yoshi-theme";
-        version = "20170305.2158";
+        version = "20170307.906";
         src = fetchFromGitHub {
           owner = "ryuslash";
           repo = "yoshi-theme";
-          rev = "c76b1659a8e5cfccbdfcfe971ef6fcb3b7cd0263";
-          sha256 = "0k86b7lkkdlwd2570hc93ywbg60bxpx1axvzbvyvqiara7vq6njy";
+          rev = "7ab8df0bd646e0571a4d27cbaa4f62b60f625bad";
+          sha256 = "0qh8d14vpaj6hbhxv8zmr7sg85wfjqb2gf30b56lnrvkl783v50b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6e9a549e31c4097ee24b4bff12ec5d20d3beac68/recipes/yoshi-theme";
@@ -73025,12 +73340,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20170306.429";
+        version = "20170306.2250";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "96f953cee3358fbc299662a3b3cbc087cb395b70";
-          sha256 = "0cp2n0a4g1x4py1ixf273k6nrymhxc4hy1ccvg0cv43jpka85xkf";
+          rev = "f031c785b469cf4356fddb997eccf60399e34235";
+          sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -73275,10 +73590,10 @@
       }) {};
     zones = callPackage ({ fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "zones";
-        version = "20170101.1159";
+        version = "20170309.1440";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zones.el";
-          sha256 = "1m88lqfmfayx2pj5ws14cfysf4pv8rm9v768x6xvsknjb4sl0q8l";
+          sha256 = "1mgfv9q4mwng0cqni13kmsridbfqsw66z5cgynlrvagga6v94bq0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f768556f3fbe2537d6ebb08a5285d040e851e85d/recipes/zones";
@@ -73315,10 +73630,10 @@
     zoom-frm = callPackage ({ fetchurl, frame-cmds, frame-fns, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom-frm";
-        version = "20170101.1201";
+        version = "20170309.1439";
         src = fetchurl {
           url = "https://www.emacswiki.org/emacs/download/zoom-frm.el";
-          sha256 = "1n16qx3ag9cdds04l4s2a79ijqg4k5gg1144vyn5p6ih10casw32";
+          sha256 = "03f3clivm7nfgg16k9pcshdwbwmjaqk0lcdm9d0180dl1c1z2wvs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8b528544841995045fb1f8344aaaa38946bb3915/recipes/zoom-frm";
@@ -73460,11 +73775,11 @@
     zpresent = callPackage ({ dash, emacs, fetchhg, fetchurl, lib, melpaBuild, org-parser }:
     melpaBuild {
         pname = "zpresent";
-        version = "20170305.2023";
+        version = "20170307.1646";
         src = fetchhg {
           url = "https://bitbucket.com/zck/zpresent.el";
-          rev = "d33bf30fd45c";
-          sha256 = "0wa2nw8q1pbmif1n7vxyzxf7zziwxdv60pa4rx1kxjnrd8aizzi7";
+          rev = "f79f9e8247da";
+          sha256 = "0mdajrwwcfgy6g330ca3s6a240wnj56ryag6h2ghwwclzy81nwdc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae38ad54490fa650c832fb7d22e2c73b0fb060/recipes/zpresent";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 18759a91f5b7..8a5d293ab055 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -1477,6 +1477,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    anything-tramp = callPackage ({ anything, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "anything-tramp";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "masasam";
+          repo = "emacs-anything-tramp";
+          rev = "75df15ac263701f921649fefb29f03f6b7d49b9f";
+          sha256 = "0al2k5az5x6idnhkhckjxr4vh52f0n9fi20ranwid9ac8k6kspvz";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/bf5be5351cb187dff8388865ac424f8e5be71639/recipes/anything-tramp";
+          sha256 = "1dpah5c35j552ixbd9mw2400vnfbibwhk1ihyz2n8b1c06syfny1";
+          name = "anything-tramp";
+        };
+        packageRequires = [ anything emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/anything-tramp";
+          license = lib.licenses.free;
+        };
+      }) {};
     anzu = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "anzu";
@@ -2284,12 +2305,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "2.0";
+        version = "2.1";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "b50e90a39344402d169b8fdd5d18cc43fb16a256";
-          sha256 = "13b9ccm7yw95zc8v8sri762fgqdp2hp107nj5b40yv90g3y4fwby";
+          rev = "f6d3d45a88d8fa2d70eaa26d8ebcef741b370dd1";
+          sha256 = "19jbvz07qc325mqdzk0q1ycvpibndw0mb7s7bpr0f0nblla0l0sv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -4458,12 +4479,12 @@
     company-ansible = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-ansible";
-        version = "0.4.0";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "krzysztof-magosa";
           repo = "company-ansible";
-          rev = "2e3264670c861ecbe862f7618241367ab497b5ff";
-          sha256 = "0a0pb3amsxj6m8ka12ny1w9qjy3dg7vsxdsy1wg3qzanj2pdsk4l";
+          rev = "f08c19e95e67c852512c30b6825dae3dbd3005a0";
+          sha256 = "0qypfla1j7c34syphh21nyswr363v6vwi87614wx9d1rz5v4h24n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7b44cd4bd9f9a7c942ca3f3bd88b2ce61ffff130/recipes/company-ansible";
@@ -5115,12 +5136,12 @@
     copy-as-format = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "copy-as-format";
-        version = "0.0.4";
+        version = "0.0.5";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "copy-as-format";
-          rev = "a77b914ba99729ef618e9e86543da24a46be315a";
-          sha256 = "181d0fxzy228vvgjmfhfnxh9djyjhq4bpf4lklv0mxhzay03pzdx";
+          rev = "161feb918b104e87f1a284f5c4e5e507e0c177f8";
+          sha256 = "0y1j6f9xs877r4bv6dmcl2jsl27v0n6rsmpml719id2cfnh9sn4g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe8a2113d1c15701abe7a7e0a68e939c3d789b/recipes/copy-as-format";
@@ -5721,22 +5742,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    darktooth-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    darktooth-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darktooth-theme";
-        version = "0.2.100";
+        version = "0.3.5";
         src = fetchFromGitHub {
           owner = "emacsfodder";
           repo = "emacs-theme-darktooth";
-          rev = "380fdcff12f44faf099bc5a38984d88784b495a2";
-          sha256 = "1pragypiv59rrvq2xjzmldkf1v007viwwcvr3f5iyv31n0bmd0cn";
+          rev = "dde50661210d8610cd03526a6c9a922bb0e494a6";
+          sha256 = "1mab28rm175ylg17ziha2kndcqb9a23f8wrpydypa8k7iirhadp6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b7f62ac1566ced7332e83253f79078dc30cb7889/recipes/darktooth-theme";
           sha256 = "1vss0mg1vz4wvsal1r0ya8lid2c18ig11ip5v9nc80b5slbixzvs";
           name = "darktooth-theme";
         };
-        packageRequires = [];
+        packageRequires = [ autothemer ];
         meta = {
           homepage = "https://melpa.org/#/darktooth-theme";
           license = lib.licenses.free;
@@ -6349,6 +6370,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dired-hide-dotfiles = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dired-hide-dotfiles";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "mattiasb";
+          repo = "dired-hide-dotfiles";
+          rev = "32cf3b6f90dc56f6ff271c28d827aab303bc6221";
+          sha256 = "1fpzgmvbgfgl6wdrynlpvvdlbm8npgrmnzfz2133zvf5x3zfzq6r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ba64a50f85fdb0ad54149dfed4051b4c1a719cbb/recipes/dired-hide-dotfiles";
+          sha256 = "0yy131cvj9a9sz02ari7pzwf22r5y7acyg757h3jvih317v6jyp0";
+          name = "dired-hide-dotfiles";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/dired-hide-dotfiles";
+          license = lib.licenses.free;
+        };
+      }) {};
     dired-icon = callPackage ({ emacs, fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-icon";
@@ -6496,6 +6538,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    direnv = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
+    melpaBuild {
+        pname = "direnv";
+        version = "1.1.0";
+        src = fetchFromGitHub {
+          owner = "wbolster";
+          repo = "emacs-direnv";
+          rev = "cc8fbcc9c71f120c45c3363ed6ad202352e9a6d5";
+          sha256 = "03m4c2x7d7hmsgx3ma4z0ra5y6s7fyfsxmzwz618pfa94nbx3qny";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5419809ee62b920463e359c8e1314cd0763657c1/recipes/direnv";
+          sha256 = "0zzmi5m6fh42kyf8dyjrjyrl03pkbipnh4mnssrhp83ljczxkyhd";
+          name = "direnv";
+        };
+        packageRequires = [ dash emacs with-editor ];
+        meta = {
+          homepage = "https://melpa.org/#/direnv";
+          license = lib.licenses.free;
+        };
+      }) {};
     direx = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "direx";
@@ -8099,12 +8162,12 @@
     elmacro = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "elmacro";
-        version = "1.0.1";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "Silex";
           repo = "elmacro";
-          rev = "d712c8efc01646117097e061e1b14933b822b9c7";
-          sha256 = "00fry1gjsrx4dv9d9rjf5pd8w3709mn0052al0l948vhwz4wys9z";
+          rev = "9ed19a362b63d9c7436a78feb91bc694194cfefe";
+          sha256 = "00qqa9p9z50gxna4qrsvph4nj41gldl1qj210ywk3lgwn0jjm0k9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/566cc5bc0f71c5a4191ad93b917dc268f6e1a2da/recipes/elmacro";
@@ -9419,6 +9482,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    eslintd-fix = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "eslintd-fix";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "aaronjensen";
+          repo = "eslintd-fix";
+          rev = "555fdad8ebee4ca0d990b8c80151c77c8bd6b773";
+          sha256 = "0xmlr98gyq56vas02nnjdfv7x6zjddy4b1qpy3zz770jnpnrgq33";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c72d2b3ee9b8066d51d09e165e58e9846ca879cc/recipes/eslintd-fix";
+          sha256 = "0lv4xpp9bm1yyn9mj7hpgw1v46yyxr0nlwggbav78jbg4v7ai04v";
+          name = "eslintd-fix";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/eslintd-fix";
+          license = lib.licenses.free;
+        };
+      }) {};
     espuds = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "espuds";
@@ -9947,12 +10031,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "3.0.1";
+        version = "3.0.2";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "7c274dbb7ed4102ee06b998fa6f529c0f816fe9d";
-          sha256 = "0997szqya4ljjgmsx1w9zbj6h21wq6l46qk1bs0027zvqwcylsv8";
+          rev = "cac2f7945fc90f43d1282dfe4aca24ded9f7cd03";
+          sha256 = "1zjnscnj0zrxpdjikxwg4fw7m6yb39060cmn24xzs0hmnmbxnw9m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -12647,12 +12731,12 @@
     gams-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gams-mode";
-        version = "6.1.2";
+        version = "6.2";
         src = fetchFromGitHub {
           owner = "ShiroTakeda";
           repo = "gams-mode";
-          rev = "a803f9e4509b8f8fed17ef25737d941bbe846c96";
-          sha256 = "1avbdfw3hvwqnrlg3hv8p64m9gqgvwl9ggqzn6rhxh1zlr7i5cwy";
+          rev = "ce51aa1afec78bf96aedb4badf33463383b7593e";
+          sha256 = "182qrzs88wvkbbalmbdwpmzchkijvg1s6582qihgh29nn8lrl0l5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c895a716636b00c2a158d33aab18f664a8601833/recipes/gams-mode";
@@ -13046,12 +13130,12 @@
     git-commit = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, with-editor }:
     melpaBuild {
         pname = "git-commit";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -16306,6 +16390,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-tramp = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-tramp";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "masasam";
+          repo = "emacs-helm-tramp";
+          rev = "87d323306a79bf5d71b0f556a7aefdfe5824f523";
+          sha256 = "08rzgfzd70xf1hh54py325p9kf5war40qi5w21anzs4wwg86rz1v";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/4a69f0a17c4efbaea012be8e878af4060fa0c93b/recipes/helm-tramp";
+          sha256 = "1113qxl34sf27a88vpvckrfrigp8vnm42nmfrcxz156maa1g9cbv";
+          name = "helm-tramp";
+        };
+        packageRequires = [ emacs helm ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-tramp";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-unicode = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-unicode";
@@ -17170,12 +17275,12 @@
     ido-completing-read-plus = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-completing-read-plus";
-        version = "3.14";
+        version = "3.15";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "397a43309c0405009cc6961053c54dedebdc83a2";
-          sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
+          rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
+          sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-completing-read+";
@@ -17275,12 +17380,12 @@
     ido-ubiquitous = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, ido-completing-read-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "ido-ubiquitous";
-        version = "3.14";
+        version = "3.15";
         src = fetchFromGitHub {
           owner = "DarwinAwardWinner";
           repo = "ido-ubiquitous";
-          rev = "397a43309c0405009cc6961053c54dedebdc83a2";
-          sha256 = "091kq58bb5dxq13d3jap7m4v6ddpin7hkybzy7drqkwn2q005ggb";
+          rev = "950afaed5d36fc4447dd3a517ddb0dd281d8aaf6";
+          sha256 = "0gk1bkllzs3fil2fcj3iha43y43370sgrrs5r6j7hzyhnxqmp965";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4a227a6d44f1981e8a3f73b253d2c33eb18ef72f/recipes/ido-ubiquitous";
@@ -18550,6 +18655,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    jinja2-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "jinja2-mode";
+        version = "0.2";
+        src = fetchFromGitHub {
+          owner = "paradoxxxzero";
+          repo = "jinja2-mode";
+          rev = "cfaa7bbe7bb290cc500440124ce89686f3e26f86";
+          sha256 = "0l26wcy496k6xk7q5sf905xir0p73ziy6c44is77854lv3y0z381";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/b79196cf0dc0b436ff75eabea369a62f92825d9f/recipes/jinja2-mode";
+          sha256 = "0480fh719r4v7xdwyf4jlg1k36y54i5zrv7gxlhfm66pil75zafx";
+          name = "jinja2-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/jinja2-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     jpop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jpop";
@@ -19796,6 +19922,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    literal-string = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, markdown-mode, melpaBuild }:
+    melpaBuild {
+        pname = "literal-string";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "joodie";
+          repo = "literal-string-mode";
+          rev = "46dd2b620df70d681261616f1a26afa4a032e2d5";
+          sha256 = "02a1jvxk2m1lb21p3281cr9xyhzix31cn8a9la53w90sz569i66r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6519bb53f409eeb0d557809b338849e473c193c4/recipes/literal-string";
+          sha256 = "0ylv9dpw17w272f92vn5cldklyz1d8daihi1fsh5ylvxqpinyrkn";
+          name = "literal-string";
+        };
+        packageRequires = [ emacs markdown-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/literal-string";
+          license = lib.licenses.free;
+        };
+      }) {};
     literate-coffee-mode = callPackage ({ coffee-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "literate-coffee-mode";
@@ -20135,12 +20282,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -20289,12 +20436,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "2.10.2";
+        version = "2.10.3";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "ade30b02b7a732c4b145f8e7e2af1e17af0a9f4d";
-          sha256 = "0fgid2z4rqlqlzxp0ix1kmv78m2zfs60hgnhgwn4ny007q5138qv";
+          rev = "d5b747473ab0bf0f0034fca2f57f6497d476b67e";
+          sha256 = "1cw1nrgmbh0jikr88di4na3f0m643v0p7x8cf7xya2lgqwkdravc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -20951,8 +21098,8 @@
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
-          rev = "afc398a9e6787b9a8ece385f23bd94ae0ef71805";
-          sha256 = "0899yjw3zm8c0xrv1nk3vcn4rzng68kw5dlns4w6pmzv0pc3cq7q";
+          rev = "89f9643c08211a770454919551a7fd8605d1fca8";
+          sha256 = "13x0zjd297ssqmbvba32zk2p588kznd5ag4wh3nqb6fdgyzy4d63";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b1b9bfd3164e62758dc0a3362d85c6627ed7cbf8/recipes/merlin";
@@ -21238,6 +21385,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    mmm-jinja2 = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-mode }:
+    melpaBuild {
+        pname = "mmm-jinja2";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "glynnforrest";
+          repo = "mmm-jinja2";
+          rev = "c8cb763174fa2fb61b9a0e5e0ff8cb0210f8492f";
+          sha256 = "0big2i3bg4cm14f68ncaiz2h6dk6zqiisrz4l0bv10q9kaa9q2sj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/721b9a6f16fb8efd4d339ac7953cc07d7a234b53/recipes/mmm-jinja2";
+          sha256 = "0zg4psrgikb8644x3vmsns0id71ni9fcpm591zn16b4j64llvgsi";
+          name = "mmm-jinja2";
+        };
+        packageRequires = [ mmm-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/mmm-jinja2";
+          license = lib.licenses.free;
+        };
+      }) {};
     mmm-mako = callPackage ({ fetchhg, fetchurl, lib, melpaBuild, mmm-mode }:
     melpaBuild {
         pname = "mmm-mako";
@@ -22392,11 +22560,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.24pre0";
+        version = "0.24";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "990f8cd03203c7a19cef4e3edbec823cc99fa701";
-          sha256 = "06135xc3i839hw4sa9gmvnb7qq4llv67q8h537vfgb9gixr40f1q";
+          rev = "e60b44ecf8bd5934959727496c7ef3016ff80cf6";
+          sha256 = "1q81ibvhjvnz4hbwmdna3a1xjkik21avy5im89fnkhq068kwac2j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -22769,12 +22937,12 @@
     ocp-indent = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ocp-indent";
-        version = "1.5.3";
+        version = "1.6.0";
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "8c349c5531d3bc90b00df875b6cd3c64110f59f1";
-          sha256 = "1c4fdm6r3r3fqjflqjncfmx0ps52b5f17vq957g0b3pcaql5n63d";
+          rev = "032599b162624a4b65c82c20be06433f24b00e8f";
+          sha256 = "1h9y597s3ag8w1z32zzv4dfk3ppq557s55bnlfw5a5wqwvia911f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -23815,12 +23983,12 @@
     org-table-sticky-header = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-table-sticky-header";
-        version = "0.1.0";
+        version = "0.1.1";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "org-table-sticky-header";
-          rev = "1fca19fbccbb21159086970b82af56a81f78e247";
-          sha256 = "1swhsspa5yz68hl2449l9hk1d6r9c32z19z4mrdxw4nimdxhxmqp";
+          rev = "4dba2dc9a3ed63f58aa946aeec84a52d46ca4043";
+          sha256 = "0az4lzd9qk4cx7jjfj36r2fvlkwyrhn3xqhha5d1pydglnhd9amy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5dd0e18bf4c3f3263eff8aff6d7c743a554243b5/recipes/org-table-sticky-header";
@@ -24379,6 +24547,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    melpaBuild {
+        pname = "ox-epub";
+        version = "0.1.6";
+        src = fetchFromGitHub {
+          owner = "ofosos";
+          repo = "ox-epub";
+          rev = "edc253b6f7397ac89a3a0b2d2a05e650baa483f8";
+          sha256 = "0kvs5kpkly45fqdb7mka1w2yn7pks95gxgiy2ayx12cgvn3inyw6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
+          sha256 = "15q6vsmgv76c0qfdxa3prqvgmr6n7k4rd4bpi05574ibi23y0ynh";
+          name = "ox-epub";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://melpa.org/#/ox-epub";
+          license = lib.licenses.free;
+        };
+      }) {};
     ox-ioslide = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-ioslide";
@@ -24842,12 +25031,12 @@
     parsebib = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "parsebib";
-        version = "1.0.5";
+        version = "2.0.3";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "parsebib";
-          rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
-          sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
+          rev = "748d6a179fcbbc4af77c7b96059a66d579f34dc8";
+          sha256 = "0f8rcifzfp4fs52pjgfly39vqz54kgjb3yqyxlh4adq12zbq11cd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c39633957475dcd6a033760ba20a957716cce59c/recipes/parsebib";
@@ -25260,12 +25449,12 @@
     persp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "persp-mode";
-        version = "2.9.5";
+        version = "2.9.6";
         src = fetchFromGitHub {
           owner = "Bad-ptr";
           repo = "persp-mode.el";
-          rev = "1116ead88123a11efef346db0045ee8389250bd2";
-          sha256 = "11xncsvzy13xc939qfvlzplsz2izvf16hy45k500h44g2dxcvq3m";
+          rev = "1dfea0de788f6d25ee47b5c62ddbeaf9e8e92f06";
+          sha256 = "11ww8hg9p8qlmr8zpir0m5xzzbvd1faiqjx6vn4b05d4ll03rnhm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caad63d14f770f07d09b6174b7b40c5ab06a1083/recipes/persp-mode";
@@ -28131,22 +28320,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    rubocop = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    rubocop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rubocop";
-        version = "0.4.0";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "rubocop-emacs";
-          rev = "405e0fd4c57adb125e3d04208bc86081e3e78d4c";
-          sha256 = "10djjp1520xc05qkciaiaiiciscaln6c74h7ymba40mvzlf67y9q";
+          rev = "980bedb455e3551d35a212fae515c054888907c1";
+          sha256 = "152ara2p59imry2ymfnk5mycbc07rblcmfmqjgm5fijb2x94xv8p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00f2cf3e8e28bce5c26c86aba54390ffff48d7da/recipes/rubocop";
           sha256 = "114azl0fasmnq0fxxyiif3363mpg8qz3ynx91in5acqzh902fa3q";
           name = "rubocop";
         };
-        packageRequires = [ dash emacs ];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/rubocop";
           license = lib.licenses.free;
@@ -28425,6 +28614,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    salt-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, mmm-jinja2, mmm-mode, yaml-mode }:
+    melpaBuild {
+        pname = "salt-mode";
+        version = "0.1";
+        src = fetchFromGitHub {
+          owner = "glynnforrest";
+          repo = "salt-mode";
+          rev = "e14ed8f2ce0ab7a783c4341879ec8c003e2b5c81";
+          sha256 = "19gw35qv13f2r4wif5fgqfhrph2r320n81faxx8980zds28x2q0x";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9dcf1a93a06fc42581521c88cfd988b03bedc000/recipes/salt-mode";
+          sha256 = "1n7i9d6qpjsdcgbzmbf63y4c7ggxh5wsim8fd0casnrq9bl7ssym";
+          name = "salt-mode";
+        };
+        packageRequires = [ mmm-jinja2 mmm-mode yaml-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/salt-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     sass-mode = callPackage ({ fetchFromGitHub, fetchurl, haml-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "sass-mode";
@@ -28488,22 +28698,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sayid = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sayid = callPackage ({ cider, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sayid";
-        version = "0.0.13";
+        version = "0.0.14";
         src = fetchFromGitHub {
           owner = "bpiel";
           repo = "sayid";
-          rev = "01bf777cb15a4f236bc44842712e9ca82fed7f55";
-          sha256 = "0lh4mmdm5vizr08lyz2jc131991dqmyx29n8njgpxa1vjzqd08az";
+          rev = "3e5456cade044f01eb0753aabc9e50868000bd14";
+          sha256 = "1asphbijh5y4ax03x1cn02l4ya8v44s23ani91a0d52msdaxbnyw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd2e05f9c9328d8f9ae434c86697a4a04af8b0d/recipes/sayid";
           sha256 = "0chz46wmwmsn4ys59pn7lqs4assqy2hv43rvka7kq61jdl4g6fgs";
           name = "sayid";
         };
-        packageRequires = [];
+        packageRequires = [ cider ];
         meta = {
           homepage = "https://melpa.org/#/sayid";
           license = lib.licenses.free;
@@ -30040,22 +30250,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    sparql-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    sparql-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sparql-mode";
-        version = "0.11.2";
+        version = "2.0.0";
         src = fetchFromGitHub {
           owner = "ljos";
           repo = "sparql-mode";
-          rev = "303858e7f91829ec720141482c777460e66f310b";
-          sha256 = "1gk2ps7fn9z8n6r923qzn518gz9mrj7mb6j726cz8qb585ndjbij";
+          rev = "33da09b3895e03e64959005678d448ab82e527b6";
+          sha256 = "17fpfc0hc39y9h12mj62fwfga4mhk0c9fm2qnbnzf4i3ajhp7r2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3d729130a41903bb01465d0f01c34fbc508b56e/recipes/sparql-mode";
           sha256 = "1xicrfmgxpb31lz30qj450w8v7dl4ipjp7b2wz54s4kn88nsfj7d";
           name = "sparql-mode";
         };
-        packageRequires = [ cl-lib ];
+        packageRequires = [ cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/sparql-mode";
           license = lib.licenses.free;
@@ -34335,12 +34545,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "2.4";
+        version = "2.5";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "e5dc3962fd30005914b79b14e9821d298f2c305a";
-          sha256 = "1n7ka608lk0xp7vg4zcw282zna0cwvcwvmhic6ym1ag7lq5cjrhc";
+          rev = "f031c785b469cf4356fddb997eccf60399e34235";
+          sha256 = "029955wp29wdrk1ddmhxixd76vhkp2li3mjaknw9d8iqz819vshc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
diff --git a/pkgs/applications/editors/kdevelop5/kdevelop.nix b/pkgs/applications/editors/kdevelop5/kdevelop.nix
index 19ffb2c4959b..facd1206a00e 100644
--- a/pkgs/applications/editors/kdevelop5/kdevelop.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevelop.nix
@@ -9,8 +9,8 @@
 
 let
   pname = "kdevelop";
-  version = "5.0.3";
-  dirVersion = "5.0.3";
+  version = "5.0.4";
+  dirVersion = "5.0.4";
 
 in
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "17a58dfc38b853c6c5987084e8973b4f7f5015a6c2c20f94c2a9f96b0c13f601";
+    sha256 = "191142b2bdb14837c82721fdfeb15e852329f2c4c0d48fd479c57514c3235d55";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch b/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch
deleted file mode 100644
index ba5140c77fcf..000000000000
--- a/pkgs/applications/editors/kdevelop5/kdevplatform-projectconfigskeleton.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From e84645d1694bdad7f179cd41babce723fe07aa63 Mon Sep 17 00:00:00 2001
-From: Kevin Funk <kfunk@kde.org>
-Date: Mon, 5 Dec 2016 15:20:53 +0100
-Subject: Hotfix for restoring build with newer KConfig
-
-https://phabricator.kde.org/D3386 is a SIC change, handle that
----
- project/projectconfigskeleton.cpp |  4 ++++
- project/projectconfigskeleton.h   | 14 +++++---------
- 2 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/project/projectconfigskeleton.cpp b/project/projectconfigskeleton.cpp
-index 0e06149..c4c9767 100644
---- a/project/projectconfigskeleton.cpp
-+++ b/project/projectconfigskeleton.cpp
-@@ -46,6 +46,10 @@ ProjectConfigSkeleton::ProjectConfigSkeleton( const QString & configname )
- ProjectConfigSkeleton::ProjectConfigSkeleton( KSharedConfigPtr config )
-         : KConfigSkeleton( config ), d( new ProjectConfigSkeletonPrivate )
- {
-+    // FIXME: Check if that does the right thing.
-+    // https://phabricator.kde.org/D3386 broke source compat in kconfig, thus requiring us to make this ctor public
-+    Q_ASSERT(config);
-+    d->m_developerTempFile = config->name();
- }
- 
- void ProjectConfigSkeleton::setDeveloperTempFile( const QString& cfg )
-diff --git a/project/projectconfigskeleton.h b/project/projectconfigskeleton.h
-index ed17ed0..c8314df 100644
---- a/project/projectconfigskeleton.h
-+++ b/project/projectconfigskeleton.h
-@@ -55,16 +55,12 @@ public:
- 
-     Path projectFile() const;
-     Path developerFile() const;
-+
-+protected:
-+    explicit ProjectConfigSkeleton( KSharedConfigPtr config );
-+
- private:
--    /**
--     * There's no way in KDE4 API to find out the file that the config object
--     * was created from, so we can't apply defaults when using this
--     * constructors. Thus I'm making this private, so we can find out when
--     * this constructor is used and see if we need to add appropriate API to
--     * kdelibs
--     */
--     explicit ProjectConfigSkeleton( KSharedConfigPtr config );
--     struct ProjectConfigSkeletonPrivate * const d;
-+    struct ProjectConfigSkeletonPrivate * const d;
- };
- 
- }
--- 
-cgit v0.11.2
-
diff --git a/pkgs/applications/editors/kdevelop5/kdevplatform.nix b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
index c36885a9e139..f2b4fc32fe4c 100644
--- a/pkgs/applications/editors/kdevelop5/kdevplatform.nix
+++ b/pkgs/applications/editors/kdevelop5/kdevplatform.nix
@@ -6,8 +6,8 @@
 
 let
   pname = "kdevplatform";
-  version = "5.0.3";
-  dirVersion = "5.0.3";
+  version = "5.0.4";
+  dirVersion = "5.0.4";
 
 in
 stdenv.mkDerivation rec {
@@ -15,11 +15,9 @@ stdenv.mkDerivation rec {
   
   src = fetchurl {
     url = "mirror://kde/stable/kdevelop/${dirVersion}/src/${name}.tar.xz";
-    sha256 = "643d1145e1948af221f9ae148d0a10809f3d89af4b97ff0d6c4d571004f46bd4";
+    sha256 = "01abfcd71383048d017fe989ccce0e7590010a3975bbe6e161f55ababe2ad471";
   };
 
-  patches = [ ./kdevplatform-projectconfigskeleton.patch ];
-
   nativeBuildInputs = [ cmake gettext pkgconfig extra-cmake-modules makeQtWrapper ];
 
   propagatedBuildInputs = [ ];
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index f900a4e9147c..8912aca0711d 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -66,6 +66,7 @@ in stdenv.mkDerivation {
   phases = [ "installPhase" ];
   installPhase = ''
     mkdir -p $out/bin
+    ln -s ${sublime}/sublime_text $out/bin/subl
     ln -s ${sublime}/sublime_text $out/bin/sublime
     ln -s ${sublime}/sublime_text $out/bin/sublime3
     mkdir -p $out/share/applications
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 0412d1d2d6c6..1d661014c772 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.0.0329";
+  version = "8.0.0442";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0dcvj2la5g6s87mx3vm96jk904xfmqbwi0jyds9bd3qgbpnn80r1";
+    sha256 = "1pyyrkb7k5vhm1ijrh4v2f50lxhrgga5mm0gvmz4v704z0h585yg";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/gis/qgis/default.nix b/pkgs/applications/gis/qgis/default.nix
index 004d11fe1575..d7dbaeb1fc21 100644
--- a/pkgs/applications/gis/qgis/default.nix
+++ b/pkgs/applications/gis/qgis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
+{ stdenv, fetchurl, fetchpatch, gdal, cmake, qt4, flex, bison, proj, geos, xlibsWrapper, sqlite, gsl
 , qwt, fcgi, python2Packages, libspatialindex, libspatialite, qscintilla, postgresql, makeWrapper
 , qjson, qca2, txt2tags, openssl
 , withGrass ? false, grass
@@ -14,6 +14,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
+  patches = [
+    # See https://hub.qgis.org/issues/16071
+    (fetchpatch {
+      name = "fix-build-against-recent-sip";
+      url = "https://github.com/qgis/QGIS/commit/85a0db24f32351f6096cd8282f03ad5c2f4e6ef5.patch";
+      sha256 = "0snspzdrpawd7j5b69i8kk7pmmy6ij8bn02bzg94qznfpf9ihf30";
+    })
+  ];
+
   # fatal error: ui_qgsdelimitedtextsourceselectbase.h: No such file or directory
   #enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/pbrt/default.nix b/pkgs/applications/graphics/pbrt/default.nix
index 5bf6907744ad..894667597d85 100644
--- a/pkgs/applications/graphics/pbrt/default.nix
+++ b/pkgs/applications/graphics/pbrt/default.nix
@@ -1,25 +1,26 @@
-{stdenv, fetchgit, flex, bison, cmake, git, zlib}:
+{stdenv, fetchFromGitHub, flex, bison, cmake, git, zlib}:
 
 stdenv.mkDerivation rec {
 
-  version = "2016-05-19";
+  version = "2017-01-12";
   name = "pbrt-v3-${version}";
-  src = fetchgit {
-    url = "https://github.com/mmp/pbrt-v3.git";
-    rev = "638249e5cf4596e129695c8df8525d43f11573ff";
-    sha256 = "10ykqrg4zcfb4sfsg3z793c6vld6b6g8bzfyk7ya3yvvc9sdlr5g";
-  };
 
-  fetchSubmodules = true;
+  src = fetchFromGitHub {
+    rev = "35b6da3429526f2026fe5e5ebaf36d593e113028";
+    owner  = "mmp";
+    repo   = "pbrt-v3";
+    sha256 = "10lvbph13p6ilzqb8sgrvn9gg1zmi8wpy3hhjbqp8dnsa4x0mhj7";
+    fetchSubmodules = true;
+  };
 
   buildInputs = [ git flex bison cmake zlib ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = "http://pbrt.org";
     description = "The renderer described in the third edition of the book 'Physically Based Rendering: From Theory To Implementation'";
-    platforms = stdenv.lib.platforms.linux ;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.juliendehos ];
+    platforms = platforms.linux ;
+    license = licenses.bsd2;
+    maintainers = [ maintainers.juliendehos ];
     priority = 10;
   };
 }
diff --git a/pkgs/applications/graphics/sane/backends/brscan4/default.nix b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
index 063d0f13faf9..7037e944f3f9 100644
--- a/pkgs/applications/graphics/sane/backends/brscan4/default.nix
+++ b/pkgs/applications/graphics/sane/backends/brscan4/default.nix
@@ -10,11 +10,19 @@ let
   udevRules = callPackage ./udev_rules_type1.nix {};
 
 in stdenv.mkDerivation rec {
-  name = "brscan4-0.4.3-3";
-  src = fetchurl {
-    url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
-    sha256 = "1nccyjl0b195pn6ya4q0zijb075q8r31v9z9a0hfzipfyvcj57n2";
-  };
+  name = "brscan4-0.4.4-2";
+  src = 
+    if stdenv.system == "i686-linux" then
+      fetchurl {
+        url = "http://download.brother.com/welcome/dlf006646/${name}.i386.deb";
+        sha256 = "1rd6qmg49lvack8rg9kkqs3vxfvvqf2x45h93pkrhk8a4aj5c8ll";
+      }
+    else if stdenv.system == "x86_64-linux" then
+      fetchurl {
+        url = "http://download.brother.com/welcome/dlf006645/${name}.amd64.deb";
+        sha256 = "1r3cq1k2a2bghibkckmk00x7y59ic31gv7jcsw7380szf1j3la59";
+      }
+    else throw "${name} is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
   unpackPhase = ''
     ar x $src
@@ -36,12 +44,12 @@ in stdenv.mkDerivation rec {
     done
   '';
 
-  installPhase = ''
+  installPhase = with stdenv.lib; ''
     PATH_TO_BRSCAN4="opt/brother/scanner/brscan4"
     mkdir -p $out/$PATH_TO_BRSCAN4
     cp -rp $PATH_TO_BRSCAN4/* $out/$PATH_TO_BRSCAN4
     mkdir -p $out/lib/sane
-    cp -rp usr/lib64/sane/* $out/lib/sane
+    cp -rp usr/lib${optionalString stdenv.is64bit "64"}/sane/* $out/lib/sane
 
     # Symbolic links were absolute. Fix them so that they point to $out.
     pushd "$out/lib/sane" > /dev/null
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index fff0df35d052..794ddd522d9e 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -62,6 +62,7 @@ let
       kate = callPackage ./kate.nix {};
       kdenlive = callPackage ./kdenlive.nix {};
       kcalc = callPackage ./kcalc.nix {};
+      kcachegrind = callPackage ./kcachegrind.nix {};
       kcolorchooser = callPackage ./kcolorchooser.nix {};
       kcontacts = callPackage ./kcontacts.nix {};
       kdegraphics-mobipocket = callPackage ./kdegraphics-mobipocket.nix {};
@@ -76,6 +77,7 @@ let
       kmix = callPackage ./kmix.nix {};
       kompare = callPackage ./kompare.nix {};
       konsole = callPackage ./konsole.nix {};
+      krfb = callPackage ./krfb.nix {};
       kwalletmanager = callPackage ./kwalletmanager.nix {};
       libkdcraw = callPackage ./libkdcraw.nix {};
       libkexiv2 = callPackage ./libkexiv2.nix {};
diff --git a/pkgs/applications/kde/kcachegrind.nix b/pkgs/applications/kde/kcachegrind.nix
new file mode 100644
index 000000000000..2f270d24224f
--- /dev/null
+++ b/pkgs/applications/kde/kcachegrind.nix
@@ -0,0 +1,27 @@
+{
+  kdeApp, lib, kdeWrapper,
+  cmake, automoc4,
+  kdelibs, perl, python, php
+}:
+
+kdeWrapper {
+  unwrapped = kdeApp {
+    name = "kcachegrind";
+    meta = {
+      license = with lib.licenses; [ gpl2 ];
+      maintainers = with lib.maintainers; [ orivej ];
+    };
+    nativeBuildInputs = [ cmake automoc4 ];
+    buildInputs = [ kdelibs perl python php ];
+    enableParallelBuilding = true;
+  };
+
+  targets = [
+    "bin/kcachegrind"
+    "bin/dprof2calltree"    # perl
+    "bin/hotshot2calltree"  # python
+    "bin/memprof2calltree"  # perl
+    "bin/op2calltree"       # perl
+    "bin/pprof2calltree"    # php
+  ];
+}
diff --git a/pkgs/applications/kde/krfb.nix b/pkgs/applications/kde/krfb.nix
new file mode 100644
index 000000000000..ef5530be6fa6
--- /dev/null
+++ b/pkgs/applications/kde/krfb.nix
@@ -0,0 +1,22 @@
+{
+  kdeApp, lib, kdeWrapper,
+  extra-cmake-modules, kdoctools,
+  kdelibs4support, kdnssd, libvncserver, libXtst
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "krfb";
+      meta = {
+        license = with lib.licenses; [ gpl2 fdl12 ];
+        maintainers = with lib.maintainers; [ jerith666 ];
+      };
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+      propagatedBuildInputs = [ kdelibs4support kdnssd libvncserver libXtst ];
+    };
+in
+kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/krfb" ];
+}
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index 28b5f02e813a..0fde5c8644eb 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "electrum-${version}";
-  version = "2.7.18";
+  version = "2.8.1";
 
   src = fetchurl {
     url = "https://download.electrum.org/${version}/Electrum-${version}.tar.gz";
-    sha256 = "1l9krc7hqhqrm5bwp999bpykkcq4958qwvx8v0l5mxcxw8k7fkab";
+    sha256 = "1398s9d8j04is24il2xjb6xkj666pj21bsr90xglpsmfa1js9z7g";
   };
 
   propagatedBuildInputs = with python2Packages; [
@@ -15,22 +15,22 @@ python2Packages.buildPythonApplication rec {
     jsonrpclib
     pbkdf2
     protobuf3_0
-    pyasn1
-    pyasn1-modules
+    pyaes
     pycrypto
     pyqt4
+    pysocks
     qrcode
     requests
-    slowaes
     tlslite
 
     # plugins
-    trezor
     keepkey
+    trezor
+
     # TODO plugins
-    # matplotlib
-    # btchip
     # amodem
+    # btchip
+    # matplotlib
   ];
 
   preBuild = ''
@@ -43,8 +43,11 @@ python2Packages.buildPythonApplication rec {
   postInstall = ''
     # Despite setting usr_share above, these files are installed under
     # $out/nix ...
-    mv $out/lib/python2.7/site-packages/nix/store/*/share $out
+    mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out
     rm -rf $out/lib/python2.7/site-packages/nix
+
+    substituteInPlace $out/share/applications/electrum.desktop \
+      --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/misc/emem/default.nix b/pkgs/applications/misc/emem/default.nix
index 82c224e7db16..76f2f03d159f 100644
--- a/pkgs/applications/misc/emem/default.nix
+++ b/pkgs/applications/misc/emem/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "emem";
-  version = "0.2.32";
+  version = "0.2.35";
   name = "${pname}-${version}";
 
   inherit jdk;
 
   src = fetchurl {
     url = "https://github.com/ebzzry/${pname}/releases/download/v${version}/${pname}.jar";
-    sha256 = "1ril6ljbm7mczcfgbjnswcxpxpnp0kv949bhv1f6q42pxxj1wj75";
+    sha256 = "0y1jwfmqmmff3kh82j07p9j0l2hc7dxhy8vij4lz8wrv6pnxng7f";
   };
 
   buildInputs = [ ];
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
new file mode 100644
index 000000000000..ba1a266a42f5
--- /dev/null
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchzip }:
+
+stdenv.mkDerivation rec {
+  name = "kanboard-${version}";
+  version = "1.0.40";
+
+  src = fetchzip {
+    url = "https://kanboard.net/kanboard-1.0.40.zip";
+    sha256 = "1phn3rvngch636g00rhicl0225qk6gdmxqjflkrdchv299zysswd";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/share/kanboard
+    cp -rv . $out/share/kanboard
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Kanban project management software";
+    homepage = "https://kanboard.net";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/applications/misc/pwsafe/default.nix b/pkgs/applications/misc/pwsafe/default.nix
index f65435ba7b23..0ea530b6bf1c 100644
--- a/pkgs/applications/misc/pwsafe/default.nix
+++ b/pkgs/applications/misc/pwsafe/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, wxGTK, libuuid, xercesc, zip , libXt, libXtst
-, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, ykpers
+, libXi, xextproto, gettext, perl, pkgconfig, libyubikey, yubikey-personalization
 }:
 
 stdenv.mkDerivation rec {
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
   };
 
   makefile = "Makefile.linux";
-  makeFlags = "YBPERS_LIBPATH=${ykpers}/lib";
+  makeFlags = "YBPERS_LIBPATH=${yubikey-personalization}/lib";
 
   buildFlags = "unicoderelease";
   buildInputs = [ wxGTK libuuid gettext perl zip
                   xercesc libXt libXtst libXi xextproto
-                  pkgconfig libyubikey ykpers ];
+                  pkgconfig libyubikey yubikey-personalization ];
 
   postPatch = ''
     # Fix perl scripts used during the build.
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
index ba8b946f3fbb..0aeb7d7eb8fc 100644
--- a/pkgs/applications/misc/qsyncthingtray/default.nix
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ qtbase qtwebengine ];
   nativeBuildInputs = [ qmakeHook ];
   enableParallelBuilding = true;
-  
+
   postInstall = ''
     mkdir -p $out/bin
     cp binary/QSyncthingTray $out/bin
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl3;
     maintainers = with maintainers; [ zraexy ];
     platforms = platforms.all;
+    broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
   };
 }
diff --git a/pkgs/applications/misc/xca/default.nix b/pkgs/applications/misc/xca/default.nix
index 30d38183c8f2..60af439e94bb 100644
--- a/pkgs/applications/misc/xca/default.nix
+++ b/pkgs/applications/misc/xca/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.bsd3;
     maintainers = with maintainers; [ offline peterhoeg ];
+    broken = builtins.compareVersions qtbase.version "5.7.0" >= 0;
   };
 }
diff --git a/pkgs/applications/misc/ykpers/default.nix b/pkgs/applications/misc/ykpers/default.nix
deleted file mode 100644
index 0fa9b5f66b26..000000000000
--- a/pkgs/applications/misc/ykpers/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{stdenv, fetchurl, pkgconfig, libusb1, libyubikey}:
-
-stdenv.mkDerivation rec
-{
-  version = "1.17.2";
-  name = "ykpers-${version}";
-
-  src = fetchurl
-  {
-    url = "http://opensource.yubico.com/yubikey-personalization/releases/${name}.tar.gz";
-    sha256 = "1z6ybpdhl74phwzg2lhxhipqf7xnfhg52dykkzb3fbx21m0i4jkh";
-  };
-
-  buildInputs = [pkgconfig libusb1 libyubikey];
-
-  meta =
-  {
-    homepage = "http://opensource.yubico.com/yubikey-personalization/";
-    description = "YubiKey Personalization cross-platform library and tool";
-    license = "bsd";
-    maintainers = [ stdenv.lib.maintainers.calrama ];
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/cluster/kops/default.nix b/pkgs/applications/networking/cluster/kops/default.nix
index 80747e44bf53..ea25fa6ccb57 100644
--- a/pkgs/applications/networking/cluster/kops/default.nix
+++ b/pkgs/applications/networking/cluster/kops/default.nix
@@ -27,5 +27,6 @@ buildGoPackage rec {
     homepage = https://github.com/kubernetes/kops;
     license = licenses.asl20;
     maintainers = with maintainers; [offline];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 0040d0ca8238..bf69eac318dc 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, which, go, go-bindata, makeWrapper, rsync
+{ stdenv, lib, fetchFromGitHub, removeReferencesTo, which, go, go-bindata, makeWrapper, rsync
 , iptables, coreutils
 , components ? [
     "cmd/kubeadm"
@@ -18,16 +18,16 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "kubernetes-${version}";
-  version = "1.5.2";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "1ps9bn5gqknyjv0b9jvp7xg3cyd4anq11j785p22347al0b8w81v";
+    sha256 = "1xhz6m6ly6ffj60id9ms1liijlrik8n2pxyzb5m77ym3zf7rxlpl";
   };
 
-  buildInputs = [ makeWrapper which go rsync go-bindata ];
+  buildInputs = [ removeReferencesTo makeWrapper which go rsync go-bindata ];
 
   outputs = ["out" "man" "pause"];
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   postBuild = ''
     ./hack/generate-docs.sh
-    (cd build/pause && gcc pause.c -o pause)
+    (cd build/pause && cc pause.c -o pause)
   '';
 
   installPhase = ''
@@ -59,12 +59,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # Remove references to go compiler
-    while read file; do
-      cat $file | sed "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" > $file.tmp
-      mv $file.tmp $file
-      chmod +x $file
-    done < <(find $out/bin $pause/bin -type f 2>/dev/null)
+    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
@@ -72,6 +67,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     homepage = http://kubernetes.io;
     maintainers = with maintainers; [offline];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index fcc17df3fc46..19fe89ea4491 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,47 +1,77 @@
-{ stdenv, lib, fetchurl, makeWrapper, docker-machine-kvm, kubernetes, libvirt, qemu }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchurl, go-bindata, kubernetes, libvirt, qemu, docker-machine-kvm, makeWrapper }:
 
 let
-  arch = if stdenv.isLinux
-         then "linux-amd64"
-         else "darwin-amd64";
-  checksum = if stdenv.isLinux
-             then "0cdcabsx5l4jbpyj3zzyz5bnzks6wl64bmzdsnk41x92ar5y5yal"
-             else "12f3b7s5lwpvzx4wj6i6h62n4zjshqf206fxxwpwx9kpsdaw6xdi";
+  binPath = [ kubernetes ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libvirt qemu docker-machine-kvm ]
+    ++ stdenv.lib.optionals stdenv.isDarwin [];
 
-# TODO: compile from source
-
-in stdenv.mkDerivation rec {
-  pname = "minikube";
+  # Normally, minikube bundles localkube in its own binary via go-bindata. Unfortunately, it needs to make that localkube
+  # a static linux binary, and our Linux nixpkgs go compiler doesn't seem to work when asking for a cgo binary that's static
+  # (presumably because we don't have some static system libraries it wants), and cross-compiling cgo on Darwin is a nightmare.
+  #
+  # Note that minikube can download (and cache) versions of localkube it needs on demand. Unfortunately, minikube's knowledge
+  # of where it can download versions of localkube seems to rely on a json file that doesn't get updated as often as we'd like,
+  # so for example it doesn't know about v1.5.3 even though there's a perfectly good version of localkube hosted there. So
+  # instead, we download localkube ourselves and shove it into the minikube binary. The versions URL that minikube uses is
+  # currently https://storage.googleapis.com/minikube/k8s_releases.json. Note that we can't use 1.5.3 with minikube 0.17.1
+  # expects to be able to pass it a command-line argument that it doesn't understand. v1.5.4 and higher should be fine. There
+  # doesn't seem to ae any official release of localkube for 1.5.4 yet so I'm temporarily grabbing a version built from the
+  # minikube CI server.
+  localkube-binary = fetchurl {
+    url    = "https://storage.googleapis.com/minikube-builds/1216/localkube";
+    # url    = "https://storage.googleapis.com/minikube/k8sReleases/v${kubernetes.version}/localkube-linux-amd64";
+    sha256 = "1vqrsak7n045ci6af3rpgs2qwjnrqk8k7c3ax6wzli4m8vhsiv57";
+  };
+in buildGoPackage rec {
+  pname   = "minikube";
+  name    = "${pname}-${version}";
   version = "0.17.1";
-  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "https://storage.googleapis.com/minikube/releases/v${version}/minikube-${arch}";
-    sha256 = "${checksum}";
+  goPackagePath = "k8s.io/minikube";
+
+  src = fetchFromGitHub {
+    owner  = "kubernetes";
+    repo   = "minikube";
+    rev    = "v${version}";
+    sha256 = "1m61yipn0p3cfavjddhrg1rcmr0hv6k3zxvqqd9fisl79g0sdfsr";
   };
 
-  phases = [ "installPhase" "fixupPhase" ];
+  # kubernetes is here only to shut up a loud warning when generating the completions below. minikube checks very eagerly
+  # that kubectl is on the $PATH, even if it doesn't use it at all to generate the completions
+  buildInputs = [ go-bindata makeWrapper kubernetes ];
+  subPackages = [ "cmd/minikube" ];
 
-  buildInputs = [ makeWrapper ];
+  preBuild = ''
+    pushd go/src/${goPackagePath} >/dev/null
 
-  binPath = lib.makeBinPath [ docker-machine-kvm kubernetes libvirt qemu ];
+    mkdir -p out
+    cp ${localkube-binary} out/localkube
 
-  installPhase = ''
-    install -Dm755 ${src} $out/bin/${pname}
-  '';
+    go-bindata -nomemcopy -o pkg/minikube/assets/assets.go -pkg assets ./out/localkube deploy/addons/...
 
-  fixupPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" "$out/bin/minikube"
+    ISO_VERSION=$(grep "^ISO_VERSION" Makefile | sed "s/^.*\s//")
+    ISO_BUCKET=$(grep "^ISO_BUCKET" Makefile | sed "s/^.*\s//")
 
-    wrapProgram $out/bin/${pname} \
-      --prefix PATH : ${binPath}
+    export buildFlagsArray="-ldflags=\
+      -X k8s.io/minikube/pkg/version.version=v${version} \
+      -X k8s.io/minikube/pkg/version.isoVersion=$ISO_VERSION \
+      -X k8s.io/minikube/pkg/version.isoPath=$ISO_BUCKET"
+
+    popd >/dev/null
+  '';
+
+  postInstall = ''
+    mkdir -p $bin/share/bash-completion/completions/
+    MINIKUBE_WANTUPDATENOTIFICATION=false HOME=$PWD $bin/bin/minikube completion bash > $bin/share/bash-completion/completions/minikube
   '';
 
+  postFixup = "wrapProgram $bin/bin/${pname} --prefix PATH : ${stdenv.lib.makeBinPath binPath}";
+
   meta = with stdenv.lib; {
-    homepage = https://github.com/kubernetes/minikube;
+    homepage    = https://github.com/kubernetes/minikube;
     description = "A tool that makes it easy to run Kubernetes locally";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ ebzzry ];
-    platforms = with platforms; linux ++ darwin;
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ ebzzry copumpkin ];
+    platforms   = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 628905a6b057..3721f7ed4af6 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -23,11 +23,11 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "20.4.19";
+  version = "21.4.25";
   sha256 =
     {
-      "x86_64-linux" = "1970zrvk2pbs7fa7q4rqc8c1vvsvcris8ybnihazh5pqii91s16l";
-      "i686-linux"   = "1p3fdjrin5v9ifz6lba1pvb2pw3nmsiqq0jp56vgdk5jzmky23km";
+      "x86_64-linux" = "1pgab1ah6rl30rm4dj0biq5714pfzd5jjd2bp0nmhdqn1hm5vmhv";
+      "i686-linux"   = "05kn8qman8ghknb0chrlmcxrxg7w6l79frkaqj6blgnhanh13h4n";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 984616173cb6..95e0c502749b 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.24.0"; in
+let version = "3.25.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1bacrl8lj90hqbh129hpbgqj78k1i84j83rkzn507jnykj4x8p9x";
+    sha256 = "1b1lb1zvm887xy3q9i5ziqvwk4ww2pd81a1msbwjrxzy5lq5ykhh";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index def683882dc9..45aafba57f30 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -14,11 +14,11 @@
 let unwrapped = stdenv.mkDerivation rec {
   name = "pidgin-${version}";
   majorVersion = "2";
-  version = "${majorVersion}.11.0";
+  version = "${majorVersion}.12.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp";
+    sha256 = "1y5p2mq3bfw35b66jsafmbva0w5gg1k99y9z8fyp3jfksqv3agcc";
   };
 
   inherit nss ncurses;
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index 9bed654b9b38..d9a3dfc690dd 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, python3Packages }:
 
 python3Packages.buildPythonPackage {
-  name = "scudcloud-1.40";
+  name = "scudcloud-1.44";
 
   # Branch 254-port-to-qt5
-  # https://github.com/raelgc/scudcloud/commit/43ddc87f123a641b1fa78ace0bab159b05d34b65
+  # https://github.com/raelgc/scudcloud/commit/65c304416dfdd5f456fa6f7301432a953d5e12d0
   src = fetchgit {
       url = https://github.com/raelgc/scudcloud/;
-      rev = "43ddc87f123a641b1fa78ace0bab159b05d34b65";
-      sha256 = "1lh9naf9xfrmj1pj7p8bd3fz7vy3gap6cvda4silk4b6ylyqa8vj";
+      rev = "65c304416dfdd5f456fa6f7301432a953d5e12d0";
+      sha256 = "0h1055y88kldqw31ayqfx9zsksgxsyqd8h0hwnhj80yn3jcx0rp6";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 18ea017cb8c8..e61386a6819f 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -2,14 +2,14 @@
 , cyrus_sasl, gdbm, gpgme, kerberos, libidn, notmuch, openssl, lmdb }:
 
 stdenv.mkDerivation rec {
-  version = "20170128";
+  version = "20170306";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner = "neomutt";
     repo = "neomutt";
     rev = "neomutt-${version}";
-    sha256 = "082ksn4fsj48nkz61ia0hcxz3396p6a4p9q8738w15qkycq23c20";
+    sha256 = "0nlazabwj4czi30m84ppga275hkr51glyndizqzg540q9wp1acz4";
   };
 
   nativeBuildInputs = [ which autoconf automake ];
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
index 1b9c1ac1622f..851b87374951 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/default.nix
@@ -38,6 +38,7 @@
 , coreutils
 , gnused
 , gnugrep
+, gnupg
 }:
 
 assert stdenv.isLinux;
@@ -148,7 +149,7 @@ stdenv.mkDerivation {
     '';
 
   passthru.updateScript = import ./../../browsers/firefox-bin/update.nix {
-    inherit name writeScript xidel coreutils gnused gnugrep curl;
+    inherit name writeScript xidel coreutils gnused gnugrep curl gnupg;
     baseName = "thunderbird";
     basePath = "pkgs/applications/networking/mailreaders/thunderbird-bin";
     baseUrl = "http://archive.mozilla.org/pub/thunderbird/releases/";
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 556101f6f952..286911e05c6b 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -1,585 +1,585 @@
 {
-  version = "45.7.1";
+  version = "45.8.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ar/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ar/thunderbird-45.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "e1c0092e9068c5b687443c66e51d0a66821b509d554ae49563ceb5ca7f9f1429b47b084d39d9b8c7726aad79d61ad09b3b256118560b77ae9a179152d4914147";
+      sha512 = "b56803f7047547e0ffbe7491062e82a82b19dabf8d4a7483834720166b0fb913f4a0252bebb5653abfaaf526998a5af0c31ff8a62ad8f5ec7d9736a6d581a7d6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ast/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ast/thunderbird-45.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "0dfa480291f654fcd3af50711b3634202b81e9661a037a98d1e32e7b51bdc0395331fa99d8806a49873f23a02be95a383bfbdf001f905eac42d9b132d1e170ee";
+      sha512 = "c49d973c8b138743ea8fa0bca75f2de01ce1d051b15b5d9e6516ad7a8e489028d2198ba460abcb62a06f0738994f00885d0e26e98b5f3311dddb258622ef6f36";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/be/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/be/thunderbird-45.8.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "fd705a8bdbe5bb6e8c7e120495021b538f75ca8d5c485d9d224392808c5397e149004c2262e2dbf982d5248a7ab036ed82980665be7628cf87e789b5d4ed4e19";
+      sha512 = "8e5463a97d93c70fd9fb3b5cda89ad916c7ae2abc89974536dbe2af0633e696c839a97e8dfbf35bb3c1efc7ccf1c588c5ab3e595a0cea519596ac2c112f8012f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bg/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/bg/thunderbird-45.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "f6ceb36dfd93e10b29a8d5322604c1fe17d1ef96113e79bd3c5a0f9912b4a77f8a182f676919ad5a58c15ef9555fc2ab07d8c2f375654057cdf2efc0be9a1ea1";
+      sha512 = "912056b19247376e3f8f4f8da493391c9e094abe2723091cf22c83017fcaefa3402e3465db99ea2a4413ea3fdecb9eb6170e8091a2ce3bc191061e9697daf0cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bn-BD/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/bn-BD/thunderbird-45.8.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "d3dfebeb5d6a301449130c94c7cbdea50e8c29c2571b408d89b3a632a164056605bc0e15dc2957f677d639ca9712088d94c62d26c0b2ade4faadb159978519c8";
+      sha512 = "a221336fae5a44312b1fbf8027c9a6088152f96cf2e5ff55239c0256f6b824c92eddba4442b5efa9e4ae1ed81b3a7114d85fa08a785eb73a20aa0f2b86f73107";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/br/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/br/thunderbird-45.8.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "1de73392b72d595504314e36c2c8cda7ee781a246dab443ba8f1cf46027c40a85a1e7a8626bfc46901940a08d89de69c2779a0702e5271da3f703aa299ae4767";
+      sha512 = "ba3d2a59ef9347cb1c23716bd308f62cdcf1399ea6a2c35ede563fa2af48e49a8ca9954f986f55e41c80647cceb218d664ebed0c7053e3ef4a0ea12395bd01d0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ca/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ca/thunderbird-45.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "e481f63846a437dd1326820f455ec7c50ae56e638bc771814c4a53b5fcd7b397e0b6d7886965f4ebc94c15d33eeabb947c65a72ddad8ebd6a0549ec5df94be73";
+      sha512 = "f64e2eaa1208fbcc8be61e28ceedc113101fd6a9d7b2ac23299f36913b7c696b7a3fbb83934c4ea2ca8d23d632891a22e48ce3001425fea54f7669599da136cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cs/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/cs/thunderbird-45.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "148114a531d1dd467fa59690836dee75e2640dca5b448175424d56224867676990561693e12faef7ea53b0e0a87cb039a5f7b35432901703f135cfb99f48e53f";
+      sha512 = "130c73d25b581988fc14f734d39bdea4d777258ba35f56f421b234a79a00cc4f322912977af0feab0b3d4ac72e3fd3d13eb26465da7b2d81d8ccbf05a42b8c0e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cy/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/cy/thunderbird-45.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "6ee390cc87fc717cb1e413e5e2b46eb1f7335f617877f9c190075f808f9e0f7d21f59a41a651f2bce14323a46994c499056c6ba3308dfc28a2733f125e200a0e";
+      sha512 = "a3894db9cef7368ee824ea7015b62d378a7e8733b86eaa5fa59645fea4fe9bd9bcb1752ed12678d6ac052b42060d2a3282f23c25c4451362a0c941001352a352";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/da/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/da/thunderbird-45.8.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "1246c3338ec1c66ec0631cd3dd2e2ddfa2f55eaac2ebf36d6fc78a58cdafe15b5bb02c542447fa7aeac56eb9dce2501951b998c605844ce37fe8bb4868c100c7";
+      sha512 = "ae037f835dd51fc4b140ca0165f75ff26a305715a8536929d46c487d4db1e77cb10f101faea6a612579b021db597b63045deaaa7db1cea2b3d4160d8ef423a4d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/de/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/de/thunderbird-45.8.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "ba651c2f07eceb4c20a9997bd518c322b025467e3474a56c17e1c35ea9dab7c3ac08295f573cdb7c4967e531dfcaa76facf4185ecc12a66436690817c73c0454";
+      sha512 = "71255dfb152f4f204399b6ecaa837a468bce5582fb9f358a1d7bdd073e2aecd41a7302a0096f1429d20bd67a92d012172308e8df9aebde141bb7da828b158cd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/dsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/dsb/thunderbird-45.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5fcbb029e59b50e3c8762acdcb561f3541a1056bd467f2830b316ef39b9f55f88797693ef4c281d8411c678bfbe86abde74483f0b9418e185fe80463487da489";
+      sha512 = "39f02422d754637044fe4c75c9d677c43ff6a87229893c3eb637ff6b9c8adf541833aa929b70f2b783aa1fcf998e112645809c6256070fa746c4c95885c9232e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/el/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/el/thunderbird-45.8.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "36fa1fe8d3b52ee95275acfcda8eeda175f9ff5d44b7fcd0e33df2a27fd4c815d79b647265e9c32bfdcd9f1900bc98195bee6de5e580abb452ca47003a438b40";
+      sha512 = "3cf4cce1398e945a3cb41e5432aa0c2ed1fa386e8e553816b1478a12e1248ac709de8d21a938e6c3cd801fffb58fe6e10776b8b96bb295b5fa016492f70031e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-GB/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/en-GB/thunderbird-45.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "15973247dab22789b8c63f5617fd1d85aa2a889e78d1bfd8ade002d769bf81857cf7d84c6302c168c5923ccdd08ea561df4fca1f17f0fe3337608af161c6e86e";
+      sha512 = "609ebe7d015af9dfd3b88ebfb04d67691314ac91d3df7cff91df3f20ba7fb12db5f44dff5c773b4b7c858cc4bc5817119fcfabff03ec550ce250a5289aaea9ab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-US/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/en-US/thunderbird-45.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "4acce7404bad1bef72d1ba0630a6d9e7678716121b5520d399c3e47096a5b82c03b797a3680428d1c8447121d403de227d7f327001a27092db8df438f1d88d18";
+      sha512 = "4294c93adb8f38617b2898c91d0362b3ab327158e1810d2304f2481bdc4e0e06e1fd2a2d6748cb491cc6c732a039fa3dd83dac801b12ec7be2d7c8cf7e986286";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-AR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/es-AR/thunderbird-45.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "68e7e8b134d6b3a6b44ecf9deaaa4fe58a2ba2324621722300eb39c74f6d4801edb7532ff81a2a22f473b55d227caefce4e5460b9527fee2bc7e9b765b4a66e9";
+      sha512 = "ded0d52934a5b74e4eff172037c1abe9c15cb522897daee5173739f4a149c1891309a366d3aded2f1306c447970e72b1a2930a9adce07d57287f7f5f0e8eec73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-ES/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/es-ES/thunderbird-45.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "80517102d930a0613254f5f2ebbccfadc27606664e957b217e899b2d519f1a7fd189caa17756ae9849f870b97ed8a589c327d3239d2312368a94583434a31bf9";
+      sha512 = "523c9b931d9ef8319c5a30463035d84946d97b07a9714b2357637f9992a3dcda4536a29933a29340d4e4951ff2bc540d587ab290a16033bfc510ac911c32d3e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/et/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/et/thunderbird-45.8.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "3399aaf7a8eb812b4ed4c56e8e6619c9e7018e552bc810f9a20773854cdaaa3a4382754fafde2809bb945885059c1613e3832071bdc55d32816aac49e38acc9e";
+      sha512 = "376e5cd8f50c4b10c4f71b6410528965f256b69c17f3d0d103efe6bdd28ed96d0fc47dcfb709dce617757c3cec603c5a16ac675ae12e17b093db3d1184c8ebfb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/eu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/eu/thunderbird-45.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "4b7ace6485b3d9f14a924a9827226c3337f4b95107b94e51925524aea6eff2d446868f7a7f350c22ef7dec0c3c04c0fbb79f9eac9c1db0070195ce402559b3c6";
+      sha512 = "8dba4439fadb14028903eb552ad08c62b0a63559ff5332fd2d5434179fe28a75d754b6769d1a171d7e580ec6d86fdfcad8ae6230c14c4e9aa981944013dc5b86";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fi/thunderbird-45.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "42330fa494ff9e09ddddaa5828fd6e984f4e016d45f90638a72d958f1d0d52458c4d66492c4bf3a9a57fad32ebb24ecd4d43efc51795f738f50d7385b3090015";
+      sha512 = "40d579d59beae9070cf548f340d5b36d67d0456bb0f9569330dcaf4667d6cef71be1be4d32ffbb49446c8921486153e50d5c33ad87746f605e4d3a79b4b74a69";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fr/thunderbird-45.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "53696b4b77c2dfc4eeb03059429dbf38dc31910664ef7638ce291adee5d9e0bcfb1b8a19524a96fed02594b664d125e9c4791aac674c03e9dbb272544f429cb1";
+      sha512 = "80b489cb98c0a39c641c0d49cb750cd737594e6de1c9b0559208535a41f95855afbbaf987ab0cfedf5fb5b2fa1589d538b7eada05114d7259d3789fa399e20e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fy-NL/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/fy-NL/thunderbird-45.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "2c8a487a2a77451d2d4c239a16cdf114e1d9ef37d7c0a1f2dd2e3e9ba6270004e39fc38828b363805ac530b2f6cd3016594dfcccf2db37525f9700866d6a513f";
+      sha512 = "6bd13607375c513be19ae9f86e806ca94d4acb087700fdf85842cd2a7eecab66735b9ca5130b013d09dcaab12134d894bb991774727d67ff71ef2cef4b0f9b49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ga-IE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ga-IE/thunderbird-45.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "127d0cfc24b8e3e00aedee39aa400af198c7e48239fce97dde27416ac517108957d5f18735e5106eaba0433321f406ca9c82d774a83f1e58dc297b80e55a33dd";
+      sha512 = "de4744accb4332e8509a1cb439f29d773d67f42d3964e11df83e790e6f720063b3368d3a120f746829d61741abb18baaf1f2afd9dc3bffde1ae2a118025d7973";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gd/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/gd/thunderbird-45.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "48dca91d52b3f71a76c3a08003247bcfe498342b3e2e6158f58087251a9248959d17a7c91437475892a5b5124d9a76a1f0cc99c118e34c763ae4227fc4776dd9";
+      sha512 = "98f73337263ea57e609bab9f8f0537c15c385448c48b84185d9c8cde8550d2d2fb6adc31735c7a45eff5d1872047f7137e168b977a5686401c1f0aa21a38effb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/gl/thunderbird-45.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "92993f4090d641ee6573ec08c9ed25d3126e0e9796568aaa77296e859fd70069ce0f63f017fc08a3e01d65dd9864063f8ec089ee8e43197d511358b53259fb76";
+      sha512 = "b255dcc44f33c9b8d74ba664350cb6423245a146134e64292f7bd0850ddeafedfd691d8c5e4db51c019df92283b094a8d152441512aef33971ac8959a2904656";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/he/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/he/thunderbird-45.8.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "c7e78d6aa2920fa81820b54a3f1047d42089e65fcc424ff663ef287cf581aec7b11fec33c309c88ae5986c9a78d3967dbc3cccd6efadbacfb145e36d2409e514";
+      sha512 = "4c8406c16bae204a1aeb075dd061eb3a70585e439c29f585fed4bb7ee3c1d599f8fb2f12f2ad9d0521550729d7ad1a0b097349a3a318be89a37d10b749fa4fc1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hr/thunderbird-45.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "0160db00133e4564b9ca0ddcb2771abd343bd3cef1bfc09303805bc0aaa01a5cbeeb6a23effd2e8256ae5457a2fddc149156d1702705531c728134845945dc56";
+      sha512 = "e855a5753de07b4f4435356571178149c0eb26d9b0b81bbd41de89e88bcf30c3d970514c3548a389cf719917f29899185e1bed9d18c4b467f2d31e00d271623b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hsb/thunderbird-45.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "012f4544e60f7a917ffd49fd6668da548e6e44ce666a86f61cc0e36e53806db16496824bd20b253d079e27d5601ddb6cc1ee290c600e116c922bb842a2232294";
+      sha512 = "8afc5a73b43ae6b43595028213ff6e21da813f9e9a93aad498e583c4ad5fcc2c5eb90ecdf911a32a68710c36a742ca1a0cc89b987789aaeb9995716783e0fff3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hu/thunderbird-45.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "ff13587b1098f0d503c6f3b81c2a9f3c075d192517e0dee6d9fe324927a6dce8686d989a34c3d36cff7a8e2bd6a074aee5fc96f7527ec3fd78cc0c96f4279b2c";
+      sha512 = "da48fd9398349c6dd583391413add0b789d1500dd1481758a62121052bedaa739406011b5a3747fca810c74140c98498eb8c49a092ff3f184627bbc3469df90c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hy-AM/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/hy-AM/thunderbird-45.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "84f3ca15346c821dcb9efdcfbc2b599a68b608cf8dc28145e0aac80babcf3b82da456a0816f2e31ed47b19c47f3afa9a265f864de6662fdd4fa8586d520ea025";
+      sha512 = "588c3670d7748453e273f515255c29e5644e521f9710d1f87360a2031334f9353adba4e219b0f90c3c028102e5e02a0ffe07071a6fddea2bd2a1d972c04e1537";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/id/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/id/thunderbird-45.8.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "2310cca9ced00d10b932eb6d27797b53e427f997671b836a5d03bc3f263fd469ea3dc5a2ba35a71da6b73e4dec83c60fc31203329562d6250ec573a38c55f115";
+      sha512 = "a9acd62a369249370f7c6b70bb48aaa8af06de2439b328d92ddd3092cb95fd59df679a451f42173e6901d0e9fce9159e295331479d5128fc50ca7a2c93129bbb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/is/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/is/thunderbird-45.8.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "710f180201035cde81d8e07cbc7e9e83289a160f6679393d2dd70c48c92f5b3568c0f7290e18613945abee052433f31c2b3b11019cb95cb8f6b23f04e985741d";
+      sha512 = "76aee81433e6d8f2f7906d754069a5aab3ff8caa2b3d503a730eefcc42ddc1ea2018049419015dd4725344dbb54d821633f10f1d0c0139ee62c230f7643c5ee9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/it/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/it/thunderbird-45.8.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "d5596d86c425f2d1251947a6d66558d87ec22a20490db23c267c514b98ddb9acebc30180c6c29a242ead4bf079fb8e9bc35414210c1d294dc735923f0ab29d3d";
+      sha512 = "c7912a63ab9141a32e8f9040522900b10bb56360fd387b8b47af860814fa1541ab7ec1c59eb6376b7aacc2a22faa046d05c4a1ae81ef12bf553fdf546cfc403a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ja/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ja/thunderbird-45.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "954e41ec6842e4ea40c84354a3499085d5fa754c0a8fe581fd0e1ddafb84c218b0afc6b84d6b89448573372ca8170563f4732eb0e00388d5daf918fc9eccab5b";
+      sha512 = "03f414eba62f4188bb7a368653f89f0b8d48e850751cab0fb6d706912787aa098a32934bd5c7b3026e466b23df4cc6780f6b88f1f252943b2d56b53f1ea62cb6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ko/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ko/thunderbird-45.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "3b48ec21a87f4763e95a045f273b3077cc0f73f0cd79d0fd341bab93308ca6aa122aa1b6fe60cd9857e2af30f8b868a1ce56ca5e2418235b9207c33339abe66b";
+      sha512 = "d9c1cfba0ab167b4f3e16eb8ee37ca3acfd94477df51a2526975602882b93a4c86e7936f76263bddfc904900146b0ed570c641f4cd1d48904bd5b9f09aef91ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/lt/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/lt/thunderbird-45.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "e314d8aebc993a9471610d885736e50a174905cdd862eacb3cc08516fda8538cd86afbe62744a7a28947f289cd9d3847436ac4be6966097c4e2d81f74bb3aa19";
+      sha512 = "5f28db94768ba285feb1a239cfd909a588a975dea16ade7793e4e1f71f8dcee1685e7370ba23cb50b253d8252a51a38a90375e8224653bfeb37e2a1e8d969d34";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nb-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nb-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "2d14dad1eedc2b5043adca4d8ae9ddfa7bd7c4d9c246fb5abaf552f2bd1a27cd7d64638291a82391ceb84ba83c6c4f22f9ae09c7efc1c2530cfe986654b8b27e";
+      sha512 = "e3078466c4a5aa5a2743c7224c279c908be05730a79bc541031efa48605e0b74fb4244e087f3cf526bab6c67c40da585815f11999ff29d6a3d0867614aa11e17";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nl/thunderbird-45.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "fcde3900e201175fb9071b553f26dc49cad67888137df2e6ca4c7a85ffcf85aa23ca331bd4e5a3430b20615b2dbfae1ca4fe59833cd9d303f7ea6f8b73f42f64";
+      sha512 = "7e2bc54b6d72fa495ef99e132dc4e476bc233c88c1652fc625ed66b504b901fcef53b4968d63d7d468e734903b38ef897282c2122e4bfca5b492e2f4d44b51b6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nn-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/nn-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "a3e41f8fe0486a691c413104fe89009db9e4709821bac4a7062a78a6a30b083fed5a522c6d5b7c004e0e9b2131aa4bdbae85e8dae3300d2f81fd875981d79b44";
+      sha512 = "99a733996460fe3a425d7ac9d37d292ef9fdd0d1bb22aac251f592bd57f4ab2228040443ed132987cf17d971b3bb2232ba9e70aa2b6b702d73967ed55a1b3b41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pa-IN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pa-IN/thunderbird-45.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "841cf7f21b436d1194c4082ec0fd0067bed7ae625299b8f07f535708005ea3a7c217f4a6d3acd8b392e620ebdd15447f62f969c4e0c8e40e69f77c3b89402517";
+      sha512 = "d43dc96e3620c8ee1257243e725743e72c64f39123d2e4648eb5a31e45175b9b01b066b85ee9cc3d9765151bc2aee32f73b50579619968ff95918189d45358ca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pl/thunderbird-45.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "026002b4161801b9ba44442ac2b54f0897b6fd3dea3c6819a16c5b886c829308558917470e87eba1e7bfa9adf6d5a33dcce4645f24cec8b8cf7ef4773d924e65";
+      sha512 = "32f034261425fc41ad9b2c252aa456b1526526816d9ed66e92c49fbf8fb4b077405e2ead3256dac568e1470e29971ff84466854115f57f792a254f0723278054";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-BR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pt-BR/thunderbird-45.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "7b78eed009541c2b5e99fac1c6267f42511feab8cd26b8c6cd758c8cc4fade84195da5b4ed1dd44ba078c3ae6a3d2aeed0bdd04e37a48f585938765a7e14021e";
+      sha512 = "65f85f596241f812a548a90a1ebf3cd24733e590cbedd600ca8d1164d3d3f5db9fb9a0e152ea05025039203f192168f60fd28a03121c31cdcf14449505d57c0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-PT/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/pt-PT/thunderbird-45.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "15f5f46ad34ab5506d462c68ae5a2c0ab1548b8588ac877863ca73c97166d10ed26a6af32c9f0f57bb94da7b0c025813585a17e52dd3238b49344995905bb705";
+      sha512 = "fab114396e6cbee135441392dfe6baa179640174edd19ec4d1854a4adb6d3310a38e162209bea0ac532e2734a9ad4c5abc1926e0a4ca2052c62697f99c374135";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/rm/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/rm/thunderbird-45.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "d0e70c192fdd0cc440f81173b13a09e6916355c2f65292c234e1da288e9a54ff1696e20c3a04f3a18fdb664d0fd76d8c477c7b19b0368a1d5dd889a5bfdf8f49";
+      sha512 = "e03da559d75887e2418119cc946bb9ae2f11027dc2109035e533da46c859f3dcaf8fec294a6bdcb10d164866bc5c3652ccb6b8276c58a91311c2bba63117f1fc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ro/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ro/thunderbird-45.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "0bd336fa6f8e1f22e8d9f8e10071518a91922d9f8b75d4e462cda1ff9a7e6a744a4d8b4412dd3d1f5617553cea67bf73599b5023dd205437ff3aa26854916e24";
+      sha512 = "f7bed7908706485e0cb26a663bdd6b0fd8ad8ad5e687a21e1c137c39d01427e3edce5ce58602bcd18a185445badefa519ecd841367f88f169591aabdf570b940";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ru/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ru/thunderbird-45.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "61a02467ee16e6a14b535be1b4a3ce2fa3a6bc6a61c2804e234242758361182df976f7edd0c8080637f3403436b018946c28668da09ecb9322c0eaa5fe395ba1";
+      sha512 = "7775b9054e95d373d188e496287b2cbea1ddcd12c51681123642fbc181cff258d47b900b3dbf046f3de7d75e80eef5f343a50577a9db05ab2b56867a18f3c912";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/si/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/si/thunderbird-45.8.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "823e069b47f42c35c194bbfae832f71203e78f14057223bc569d8a18bc631d2d5bfdc3dfe5cb18c0bbae561b39023cb43dc26bf841a0e20e53bf336128bc1210";
+      sha512 = "3e19c7e5b62b6d0bd3598ce6bfd23631abe381f7af91275aa8e424ff2950433fd5e58e912ad13c726185e528046d3bdccdb6b3e1fa540fc0cb69b18d37caa095";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sk/thunderbird-45.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "c3bf6785424419f7a1240c2069abafcd1275dfdf8908fe2e80dbd395176328e7c8c0c2cad9ce7ef46a605bae9e153e6c98fa696145fe7a186e30c7a2b147dde2";
+      sha512 = "35a5b23cffb7a80aaab378ac17195b727b7776a0c91e1616fe9a66708adc08d6041efa55dd5b291eee823a5420b092671a34f930276521f0d757e3b5568e7861";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sl/thunderbird-45.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "bbf63ca0e0992c5102b047c5e41dd9a2dd04d38bcbb983393345a54679ddf100496082804d17c088f6dbb76bcaf1d9be39f0e45d1e1cb0abc33fef98a79bde7c";
+      sha512 = "a7b27babbcd47b4bca6e0686aefa175fab17c4ab0d7f18793a0a3755fcaf04cd85e9bf8ddaec442ab83bafede0ad9f8211add33b6cad845f7c827e3af0982f76";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sq/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sq/thunderbird-45.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "68f2977a84aa0a1fc94b19a3504733cb4168d5835244482e775b0200cc0e17a548cb3f4e29d81edffb9172d3faced2a8d459709ddb90e1957c6c05ff792ce05d";
+      sha512 = "796d3cd98d39fbad987387f92d23c10f4176f2e612c1fa939bbbcf86eb3de5798a9c9add31549dcae001041d0318de2186e00200190f467ebfc85e5c95797cb0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sr/thunderbird-45.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "d0de9ea4f4cfb619d37b957b4260477522ae1c2df9af19e6001672f7f693015c09e8e74ff0278d0107abbb0483de0c9f6d251efaa3d9175947beb8c156145ae8";
+      sha512 = "8b296aaf9314a8b0381e567ff87e8ed261ebb976c0f63d3636d03fe2e416475dad8c500058e58793a7945ae620268854f99c97b93da0ab73a40f67d801b34af9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sv-SE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/sv-SE/thunderbird-45.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "db4af37830a458808b9450b414b7e25aede621c602b344cfbb62f00fb610747ee48fe3a7aceb1a58c0b1fc397415ea7a9e0888e0cbd7116922f2bc28d09c6426";
+      sha512 = "59e0eb3a4e1cc65fc34369b0854d7029bfe108b3cc3550bde26628d88d82c0031bbf13ed8564c7508b2acae5ffc9a912f1cbb991bc5cecf2a210bcdb181e2a05";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ta-LK/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/ta-LK/thunderbird-45.8.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "1db6844293dce004878176cb76df68e7c7b3fd1147b4e78bf647d155d1a7efe01e5126c088c96d26f78dd2c9de98e0703b7eedef1f2de1584a0cb835f9123c1b";
+      sha512 = "86719203c04b90e2d359ede21ef3bca7e2190b131a78ba4ccf6a7d9644bcb2971b541cb3c6432e6a12952a3a589769851277a257aeec594b6208918c17d76b32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/tr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/tr/thunderbird-45.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "f05b1f63839a9d38431b9c1bce8a2f31ad242edc4df5b327f9f0a562dca1f94a9f3947ba55a517cca5dab9a96fc44b938496bf72086f1dd8d1399aa3170167a1";
+      sha512 = "5b7fa2e0881dceeb0ac371a0d84209cb9e9c414ee617766ff898b50c2b21956919410be26cc0b1e30997931519fcc491c63c6e30144a2c57af8b7b8f61cd192d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/uk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/uk/thunderbird-45.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "303d6b4ea136dba2217301f6c42bd91e45ff635ffa1ab38ec0633d963a1bafc1625475bbd24383e5b9dcf233a19ab0a712e70891614e14207b651c4e65016456";
+      sha512 = "8be8b331dce88d3244007066036741af4794559237811ab8d45dffe3e850383de636bb75a510d4a0500a2a78aa86d06768073a5626f5bf2676eb4d8e355eddcd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/vi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/vi/thunderbird-45.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "3f712c97073ff191bf2e16d61877711ca4faac204e85b2394015d53a4f600a3c0fa352787ccddf863379ebefce4020b3526f957f2556620e4632bcb20204421c";
+      sha512 = "60ff68fc5190679b4faf2e80f89b8061348f24c0426f632fc2e523be2d47b0477b2ca122fe4c9a77e8baa91d5c55ef0204fba74f65a1d7e77727abb9846c93df";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-CN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/zh-CN/thunderbird-45.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "d986a5e9a60512ca4d398fc4fb503aa7980947eee68dfcd5c4a73bcc8b324c20c6a3be66855eece6d0d77019e6b22d8ae220058948488d197063f55a291a8865";
+      sha512 = "a7da3633bb13627a81681e2539472291e0ffbef2921ae59c7fa541b0115f761295221501ea7b4e71975ba89dff559aa0f4ae1be196983854021bef823cd7c40d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-TW/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-x86_64/zh-TW/thunderbird-45.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "7dee7ced1c48aa6019eb80c66d2c68af9b5afe89ba3c147bd83e78532fab84fbdba8afce934ef8bb55a82837b84475797cad25710001e22fa522823bc60d6a96";
+      sha512 = "dc16cdd23ad53baa7b0863aa889a9222a14ae8e81794efad08dfffc4a6282655fcce3ff64187ce149c06d808a0010af8a084bafc59e253f094d501ee6bebbbef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ar/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ar/thunderbird-45.8.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "0453a451bc0ef3704cf54121f7781f11c2a35c29fa407b36a1159bdb462daf35ac13da1cb0deca19b5b9456a4bc68c8bcfa12384dde82441a8e69c5376875d5a";
+      sha512 = "21c08dc4ae1655ddf62ab03ab68ff0d5fc3efd6c8cd3ccc6d757b0b684365a3316b4cf4fac5a51b21be27a5e3067fbc875bdac1a8bca5cceab6e048c10f0f177";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ast/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ast/thunderbird-45.8.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "4bc10c64922604b95dfb310f0415a8e49552378c51025511265e7f1e7f2cf7bd8f9e9c6b3e45f8806f2df9fd02db451014cae4de7c2e5ce57e48dc1288cb30b3";
+      sha512 = "3669b524e5d5800f9ef3c1c6b5f874c29ba6fbb336cebbfc9a88f857e73f9bf90ccdb0fa2f1723d4e883947e71dc0333391b9021166b5acf2e39ca3d7bf02ff1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/be/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/be/thunderbird-45.8.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "0fb8f8d0a2c7ea4455c0ff90b85e4ef6b0b6f8ccd08f9f9d4852743ebc1f6a6277011be82be979142097fe8cba853d244afad30749aaa423bd9ffcde9fc3a00a";
+      sha512 = "f49f90f1998a5b7dec1e3a862b8f76bc11445d99f66cc6503675fc6629a028624e55dac5245da777b6e3acffcba24305ed199674343cb610861da9c7671c342f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bg/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/bg/thunderbird-45.8.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "6d586700050d399e4058eb03931bc6915ec56a9270462a7a60846f66b884aea9627526b87b14a654166e30b8a1d43412ba8acfcb12ba4af8d3fd4fd15d4d7cbb";
+      sha512 = "b46e78338269dc6c65f0eb2bcd2cb4a0dffd5c100b4b1905582c8189f79abc975f55c7edf06e1f0edbb641de86f3b6aba1ca9028d11f4fa08ea8bd1c276e41f6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bn-BD/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/bn-BD/thunderbird-45.8.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "1cfa845129724a098cb913b3bcaf7174ab125321b35f58279ec9c11c04f7f991b37bb9000eeea4003cf033f6f0089992ebd0d7ebf1d6f8b4d7c558eb8c850d99";
+      sha512 = "d349c503a13ae9b951af173a43f4f8dcbd5cab43d5a6219fe5b00e1d37efa7a0ceeeda36576f31f51bac615d6e4307611496e8036af4f9fc40dd3dfb495a6b6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/br/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/br/thunderbird-45.8.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "951631129aff5cbfc2695e1a5dddd88e855d57716ce335a15ae069b7bb4572d082495ddad9caea202c5d36f46f599cdcb8f028def63252f7888fb2ba24f4437f";
+      sha512 = "4afebf7eab2f7205a8760f04e566ba8d54bc2974cbd132262eedeaf880d29aaaba48ebd731bb8dd7ca537e6cc3fe444c1ae4168e3e08b7e17c55e70f763fbadb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ca/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ca/thunderbird-45.8.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "cae03ff18fb33f6d097836e5e7f5884f64e7c594eaaf77cb3a0e1f46214b878ef2de51c750bf1f849f5cfddc68da21c3fb72927ddf6824a89ae51e44378123fc";
+      sha512 = "6b5e9abc4fc05ed580d35baeb6c7b1462daef2352f751e318b9a7bf16d032d8a8240f83d54fa17d02a9a967e7477a36808587a9183df4274f10b59059c55fede";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cs/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/cs/thunderbird-45.8.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "ea9ec870c91cc2eaab758a3585e20779d24734e62c285f1f591646f9aba92e33c6a7966b0b1e484f28ba0a2f40d74f918dc899c87518f052b793fb5d1cc867ce";
+      sha512 = "1410e7bb8ffc8a4c515b1c023ffa6eedc960632c05e5e7f4675aee9e972877dfc73d09ef14deb1c308bfcc1a6333e62b24af582410854b62acf4d889c7d54158";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cy/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/cy/thunderbird-45.8.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "082d8f2fa527a75b8a388f84085a709cde9d9c455aaa2615f35bad0eb6962de0af163d515e0481edcbba29fb858095aebb05c0a3f25f33e1e14f7136b83a73d9";
+      sha512 = "28b50a2fb0703f80fc9fb91d1add2305e71f2ddac99cfd086c8559f29b5a420e9e5e3d370f0b84a32f5c358661566b070844ccd0b33447ed4c5a427eec03cfa0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/da/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/da/thunderbird-45.8.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "9ccb84b78ec7fbef596b64e76fae50bbc8af63eb0c0d37c6f81e1353f3afc242c0e3be9495d4b0125fc0500e0b4569df3e00d5e302f93f7007bcdf3089cf0c22";
+      sha512 = "c38cffe6416ca50c78651d24d5466d6e06b2cbaa66062eb13381c4402d39a7bd55aae10cbe3400ba0fe5983309f2d70d3058a46054911399a057679b09b451be";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/de/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/de/thunderbird-45.8.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "a493f5e2c4c787f7c8f15d1d2da6f457a52af3deee161d3d9c031525eff48d2aeb294b6745e3ada079026f727db06baaca943d0711aeedb8df5bcd37c3f13286";
+      sha512 = "101ee34b890f1f3f9bc3eedf4936b8ef1fc9edd2f5af79b9c8375326d430585fc564a76a0bbc81bb119ce9a638af60055d578b5e6f1f760100171696351f13c1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/dsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/dsb/thunderbird-45.8.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "4d1e7a0bf3f55d913aaa47c37ed5529c59240168f2a53faa4367d3c47e900e136d25446b2b4e465d05b3857fdf3671e9bc7f98be6fe7b42c1ec926d0216d6022";
+      sha512 = "a6dd564baa36402d082d5bc2b5bc6002a5abd66b9bd545a0962fc844f4800390e527b9deaa6ca4f197d98265bd85e7d52624e32be17b2efc96b136d4a0108109";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/el/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/el/thunderbird-45.8.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "145bf4a0db9b2fd3b16637fed966d6c0f0d184eeb7ce373024609b869219720f73feb0c10b13c761a4214a88d68ceeee234ac50694ac16599a92e2fe6ea61e4a";
+      sha512 = "d5611f341f3322adeb5e94f9dc83dc0de26d6dbaaaa45a904fb9add1770f77b86db57693aa3c89f69c1aeb27e98793475c900643b78a70284911a63791048069";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-GB/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/en-GB/thunderbird-45.8.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "1d3deeccfbba4a871a54eb4ad6077be1cf2e6fc7adb0ad0c04b3638db3b7fb3cbf66b55737befaef034d0b1671e9a53bdadc8d9ee7b3b9eb33a7c64e53ce5b2e";
+      sha512 = "b8c71ccef1793589f5cbbac8e12ad1aef833131a51a0029c75b08e26f28b3d5dfa821a84654efffae1e41c23cf5575cfb1b55de29e9c29b1a5adc1632581129f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-US/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/en-US/thunderbird-45.8.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "b1340885d6c92da79ad99f9f491ca1f15429aca73759d4e5055c212f33af96f7a7d4446eec6bc37ffcff4371213051188d7211c021da50f25b85fcf445ca58dc";
+      sha512 = "dbc77f7814b3a085fdf54536d77db69ad893b0230ca1930fb5fbf916cc09e421cdf8987e7f75d726f1fe31f3c7ed0afc584da1d1b1636a2750e9e0454a6de45f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-AR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/es-AR/thunderbird-45.8.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "307473247bbcf0064380b4d9f9bb12ea796c32dfc012af2d4246466aab880dc040a92f06e0917acdf2f930a9df0cc0fce39b17e4ff710ea2311f4b2250b90f53";
+      sha512 = "f161bccff6692a9652568530faa89012e2a7438814fc87f816cbbf93d40425133ef24250a6d1b9990bc772e9ce86d778f905d844166527ab6020687bbede4688";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-ES/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/es-ES/thunderbird-45.8.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "3245ee600a95e1f59e8e7aabb521be96d88c1e59ae5cd29cc78825ed2c8c2abd1135dce1c2272d1eef2716717719947ca4b223359e1c56df406569b55226de61";
+      sha512 = "51ca5165f83366f0fd73fa900640b35d572656d123d14663b737e140c1903a816ca8e2980c2c121b1e0a512e9211ceef745c34d3fd8c04b21cbec84b868b468a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/et/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/et/thunderbird-45.8.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "b1cd90842d3888e555799cef84bd2e8d3eeb0c73abd4af9bab2a9db2b24ee90770f39d1376e63df567f8ab63778f6cde305ea8ba2a070aad36d6809a676a2344";
+      sha512 = "a8524b1a72353ddf3d2b883b3936606b9eb3f1898aea05530c38d7d57fd03ad9c36085996fe3442f085ddf668e2fc909a704939c370ba1d2d0684253a10fa965";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/eu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/eu/thunderbird-45.8.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "6278435a0f46cbd40514780beacda014c8528a79bb5d9be1366b0dd46dc71aa1f7a387311511e8d04cea3e78dd84157b97307df5bb69797b6d39cd299be18a33";
+      sha512 = "6c3f12ccd7dd48258ff5972163da3617f3038f4f670223617f1b7734181234eaef5be4762156650c0398c4791fc82cfb397149f62e14bc6c873d279eaca92fb3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fi/thunderbird-45.8.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "000fbb4519ed626af2dfaec3d588f4ce567212b8a01c4aeae34b1f9e8ec6086ad45b90b57412fe830b8e236606d686e05c807e60bc2078df1364fd9f58d06d0e";
+      sha512 = "2d417c63a5c5d5203bea96f88a51ac4b501dee7575bb43fcda3ea523e76e65dacaf16c3f6ad772b25a242aa8016fb36c4f3a04c86431ade23389a97b7cac25cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fr/thunderbird-45.8.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "5120e880f297f8899ee6067660d65cf1ffd66d3ae6c16a888ab5e5e1b32f48a58aefef9a7023b1a8860987a5ca6399d69fd6df8e12838c00c305c3854c18582f";
+      sha512 = "2c64e8a21306b6129a87333ff1c29ebba10f708d67636042bf6daf40bf01e5ef954038afae8d0d76c42d83ed0c8074525b13b60791f0d0e21108053c9b81822e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fy-NL/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/fy-NL/thunderbird-45.8.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "2e3b2a7cdcd4e5bcae6e46f86c5a4956f164ec37f4cb657ac18c1233c5b36b8c0f041e6930ea15adbcd8269662f9315e2822a9ed43be38a5fae8b7c747812035";
+      sha512 = "fe444a91350d3c30e6254e526f5a506aedaebc92ed9632df6a4d2ee5c8f18246601bc8b853eadd54c0b02c2647cae21514a0c1767ff506bb3fd048aa431d5b7a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ga-IE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ga-IE/thunderbird-45.8.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "b4567af9057eaffe812feb43fa195474094fe1c0d804eb79a9dc936b93662cdfafd1c1f4bba51adda57abed677473fe2bd5e5ce9523659c931035b617a1e3ad7";
+      sha512 = "73979022d045433b27f71a7278d518b2ee42a7250b166327bfd2f94c2f747acf2d14a9ea55e254f6ade0ccc3ffdc898f61e8dfaa9c7e2b8450fdee195db97b5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gd/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/gd/thunderbird-45.8.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "1200cfb333861d2bd5013cfa5c764f202b7a2febadff5f4c8c0bc648f744af19362b07147e720c06046d4ceae7fac186c5bc33c1b637104241493f960a5c307c";
+      sha512 = "e856393fe16f57ecbcdc796dd027d8f426f9c1b39fd51c4bcea8ceb82934087ab71d87e7c04ae67b12de6d063994ee4eb607cca9889c7e500272600f80d65f6c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/gl/thunderbird-45.8.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "10ec0d042e14c80d65af5ce7a271844553e4bfb96f349a16d94c5caed3c33fa35fb2065ec99b2ae1dfb7b1e47059f6f3ce730d6d293efdd380862fe18b03c877";
+      sha512 = "c1e8ae50ce6495e9706ff1ef4fb790c53be407eaa738e86f2a788feaa16e5e903386f59bc986497d2ae9e5dff8489007a16c0f2b8b9c37456d180794dfa82642";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/he/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/he/thunderbird-45.8.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "7d7edbf3fd840fcf80c3d3491fcf9cbeed923b597840bdc16e7e43097cd5843554030e2690ff178f10ad97b0f447760bd06da87b4cae545dfb32c3b0f4668b68";
+      sha512 = "6caf34bd52e21809eb80ed88b104ed1a47a1c29abdc3b3f4059fb183a0b844449936362a1839d888e4d224ee987890982d37d27c32102cfe8029bea1371847cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hr/thunderbird-45.8.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "28a2e3e0dcabecced0a9b66a5e11434fcbabe11257508eb481513e56a82d13c5bf36e79d8174fcd0080b0b310df4ada6f92f3d24fb67658d40db66823d18e0a6";
+      sha512 = "230f0bd3eddf99811d8fc60e988772ed107b75981beceec053d861f977e1e3c5261c0ea51475410aeff50efd0a4e378b5e666cdd4b2bfd76ad0ae465142a28a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hsb/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hsb/thunderbird-45.8.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "760c99978bc2a326fa5e5d8f9b4a6fc9420a8a3c95251b42dc3db26bb399942a5fdd08f3eff3eaea9f3bc96ca85b0523abdae3f72b7400f8bed136e906a8e79f";
+      sha512 = "389b0fab729562e09c17d7ca251675ed4d333f4a79932b5ef2ffeda9d3e683adb95b7f4e4cb192fcf9416826a8aa470b7f8ae4211165b50d7a5a21fe39ba199a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hu/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hu/thunderbird-45.8.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "4118ae0a62d7c8c6e68f7468040361091f98197c8135ba88ba9165ff3c807ae3ec8ac7e587224e9f45cb49290abe7c85aa11518714440db0f797f426fb73b5d5";
+      sha512 = "2d0ec213b7cf3f875518841e0c08bc6b4134173606098cd0515e93206bf2419377041d44a2737c98b17a198998b80453763e695cabedc283ebbdfb42a60abd70";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hy-AM/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/hy-AM/thunderbird-45.8.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "664dade424cdca68158c98e531dc0b46ee5482f728b4f172684061da029c7dac76d80bcaa4c0228ff929a19e6bf11fd08890b3ed71fa6e23f442dba174de84da";
+      sha512 = "f77164c2fc3a083e13a11417f77454a885fd4ac77a0b7695c0d2bf8169b54afcd06c32e7c78cb6bbb4ac447a3d690a423344cdab59bc6fdfe83d82bac5d0be0d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/id/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/id/thunderbird-45.8.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "58e48787ec26d8cfaa7be233055d95982d073ae8a1a01e4556d239e18598939ab6077f0aaa4b14051c6460730f89c1710a6dbb54ce5aaaa75967418f324073ab";
+      sha512 = "24c383b106de72a3741d7333aa4ec53c091d41ab3638c91f5f88f8d2952d25e77223e95a728611bdfd1cbe2d4418447e588069c286f90ffec0d12c7f245c07fd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/is/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/is/thunderbird-45.8.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "77e95822a92855c41ed557574ab3f0e464d8be21146139a1cbff243ae76b035ae0912e92c07513d4c5fc9d522a2da1a738dc7ab790f9327ecc6d94c0d577a124";
+      sha512 = "bae6f4fa377bb76ffd8d5257f525ce43f151f44f07eaeb5c4109a3440965c36a622c41d6577113bf111335d51d211e18b1c9decac6d9c1dea6303f90b7368f94";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/it/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/it/thunderbird-45.8.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "835a2059b02ffd019fefa2988bc2f05f456e5fc8b05badc7f5477a6958ba8fac1bc3539cc66ce6eca73fe86b4c70a172b609fa365e83593ff97405e9bbb533cd";
+      sha512 = "6b6082972ea030e2564bffaf4e9349d33800b840c0b185bb646c53d0578a1b6360a3d85cdf1dbc534a648d34138f1c8cd26d1c0297c99795e93b93b145a100c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ja/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ja/thunderbird-45.8.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "11b6f0d2326bb89a6cf6d8452d2312eb8f7af616a0fcd43dd2b2263f52397c1c0a0a3ad7ceb67dd09b81a624adb95ed8a905bd7c9dba5f1d2a94114776257ff6";
+      sha512 = "66c8808d49986675e9049e77328cf7b1d2fad163b193b8442ca39be1b605bce0180e29b239141509cfec6302f053eaf2197513d5d482beb6c498f6a0ae8bbd9b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ko/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ko/thunderbird-45.8.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "69f804d87a17072803b6e081dedcea57d633036299eaee9599b7df83604dd599234236b5b5b647da25c066633ee481e196fe9b219bc3da29d07b6dd55fdbf4f1";
+      sha512 = "bdb8a9d6172b6f56d29b29043c484547c9a9dc7bd1477bd8ac4aaa4bf07c0ceffe2ae1560458acefefad66e4487d62746f60b6ec56d5d91603937b0c339d5625";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/lt/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/lt/thunderbird-45.8.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "4534bc70c43b108e59d7e7c15cb53e32f54c20e0ad21a5c0e1d309b3fec32db870ab8cb268d59b8964c526c28382cd89753ccc978e34d0aedd5c87eeeb525a5e";
+      sha512 = "dd70d123787ef85ee1c596346bf4c40a99907c2ece2116f7fb4536cb078d162f9afe0f92b466b713d6b75bf92960de32a3b3dedd861946da5b2e946187d4ebc5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nb-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nb-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "13d4f6b638d6005ec854cac82b16c02dc347d0cd1eb804a056c106fb1031c11982973abbfbd319f4925264a1095cce8bede670f68c2efc9bd4be49ceb6b2f2a3";
+      sha512 = "caf4d3d27db952fce1f34d5c641194d555c2443b86fbecdf68869cafeed0d532d7379212f4338401743e6e26531dd98111f75bddc5e2a3af42a3a7731ec3039b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nl/thunderbird-45.8.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "b6e49ff5a473dee02bb749481924fdbb345be2d532119dde93f80396a29da726b0450e2f2ee522454c8dcef74b09dfcb57474264873b873beeaa6edc81853fb2";
+      sha512 = "dd5071174889bdda282c496c4aa05158887fffc652d4c557320fab2c11e16b0cbb7e5121ef20b423d703dfbf9da52983ff288b9377ecedabfdba496f9c99eb6b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nn-NO/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/nn-NO/thunderbird-45.8.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "3992cb6ca869e9470bb30042ba3c8d1710511a2170504a5a65cafa4a9091492903509ddd366c29f5e9e7ada9ac657416972002a297a57550a418031a7ed6ee0f";
+      sha512 = "edd6a1384ed0060398cffb4598a7014aa13cfe83891a4cd4972db2ed6eaae5068703944a6e14b033409eaf6b6426838a0a3d708b9d83eb08907f39469fde4435";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pa-IN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pa-IN/thunderbird-45.8.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "6aca05743fe7383490cd94281fe1d0c64451832e128b8b3da5d2643bf59f05cdcfe2130ba5218f7e314ac7c55b126ad62d4d24f987b215bfe767a17d6a8eeeed";
+      sha512 = "9e6227d28dc844621d1d9ac6c5536505dea0cc1d1b3d161bedf13b75a3255c5c681ce5b38bb510150f8db1add7f149119a8b5ce5b98c5f4dfe2427db6ad58581";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pl/thunderbird-45.8.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "0b8969b08e11792c547d666843799459e27d3732f4e56ab64d7624df4360e6cf65fc2cce538ffd0a287f239cf6c57ebe7aad68bd397c0f56a85dcc499f35e4a5";
+      sha512 = "8da6ec38d37df6202b751f112031e590777e587e23437cb7a4dcfeb958b27928e2f01cbd1682daa96c143df756b3c8f31f7516ca8cb30a884db2dc03f130f960";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-BR/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pt-BR/thunderbird-45.8.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "4a921106175214b7fd029e27e19f4442a50076d08c2bf6f6ad4b27c1c37730d2f90ac4bd058363395777d336e5170bdd48276f71b0d253375d32daac9af66412";
+      sha512 = "00a7ffd7509d538b9fe3e801d5c2ad069edd62665a7ce045381213b78226646b1cfe6356b5c873904277330b674608711e15f18dcf4664218b9c61048cf88e40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-PT/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/pt-PT/thunderbird-45.8.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "f64a4396570349d2f520f8eeca157a012e028cba1e3cf592f5e11807997b4501a2af829dd4920ffac5fee8c50bd691d037aa86bbe9396305352ed4710e854e25";
+      sha512 = "f12f544c9eb3a33f861791af9afcc987b72607c2456d7f741046ef9ad36f12552d4e9cf2682ac3f8adc108dc9d36c9fc1b013714b50ae894f72cbe367914f14b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/rm/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/rm/thunderbird-45.8.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "540d6db390cbe93dbb607f84286e445da5234b01c55846f3d3a91cc61d30d1d32f0216fbfefc0ab0d7a60c5369a63aaab385c73362adf1a0595db57282dad01e";
+      sha512 = "9a8497f13a459d5dde822edeb9516d98beed220d75735a2f620c69b1f5e75e68987420aac6bb2a77775b6b34c2e0daa277c15d1491a6a02bb0f9658a40a16526";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ro/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ro/thunderbird-45.8.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "37cede489bb3082efa853f310dec5293baa411abcf15e9f193a760768cfc2b9f7be952bb6225bf901a0097bc19e77d9133c0e6dfed880c6e33cef250e80ff0f1";
+      sha512 = "2c9c650647079eb754e471757cae6b5844ae8e19bf01ce25d91a73832483507f90e604caf11305760cab719fe4f830cace5b9313b7e2a6f07a92427f35441c55";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ru/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ru/thunderbird-45.8.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "b091376e3937712f5f92ac789dbe39b90e1b486b4409325341dadb06d4a4a3ff4fa9438d8da2fb5b7923beab4ec6b568d6be309cd22a68c277c822614205734d";
+      sha512 = "4cbbe88691fd265b4d98aab61c5763f6baea168ea4cae222425973023174f765e7fa6b97fdef959ac0788a632f742715eb7e565113344147d43c228ece7f08ae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/si/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/si/thunderbird-45.8.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "bb53ecebf56785d7ede52b7a0afed0a01e6248d537ccd8bcd236a837fed86b3f390cf9493f1c2d6d6d58c0d349cd6cfef2a59996fd7766ee77f25dc1af75faca";
+      sha512 = "a270a871187dc95d05cb79d9f4df7947aa58b875c2b0c588c2646f806e7e0eaeb1a62f69d38e78d40399f1c588f043b26d06c0d77cedc9949d8e3d8b026ad4a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sk/thunderbird-45.8.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "c13c32cf17b0291bf049c2790fce2066e8b07aa2f30fb7bbecaf8cb88b4660bbf07506cb04e5aa8b756a35371d25c5a793b54d0134a81027946d35109e7714a9";
+      sha512 = "8cfd22b92789766c179dbb70739fcf68907c4b215e70d164c83e50f67f2c834f515176e30788ba1fcd58717fdf5642c9e1ef05640a06470146ee942737744c83";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sl/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sl/thunderbird-45.8.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "be0d2a0e501f074329b815f61c1ce04337499c7a88f58e3526e762b47c82ccd975c22063a363a338e22bfc12ad3403107751f66376b1d269101b660e391e7437";
+      sha512 = "fbf54d81b006625f526ab496e9ec7acf9698f7c95415d61aa4bd91896db07bce9d13c835ec944f164678fca9f49be16b69d6e8b728914ec84a5a8d733d3941b4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sq/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sq/thunderbird-45.8.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "1aadc162591de3467af622c3e1fc7655885d7831d2faa470a5f53b2fb12a42dfbd44f3a942dc4089a28235942ba0e46749810a88adbb396e1417f7ed0fc07586";
+      sha512 = "f8dee08b3a4e049392f7c407e9403b972c755493fe638e7917181b8281a86d70f2d1113e69b785be756774bb9aef4cb493084bc8d0d12bda0f928f4cd468f569";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sr/thunderbird-45.8.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "aab1299fb2e2b022bfaaa6403461bd2f5ed70d5fea77ea29936fea465984cc57bfa1ed5be1e8968138e757118d1caa3eb664388fddb04d0008abe932035c818e";
+      sha512 = "8c8fba2fc92d91f086679b6ba451eed1af4fef5c56747260f9907300f057aab354d7f8ebc411fa25821bc006a551f26e0ddf29b344846a30dc493cfef30c7375";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sv-SE/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/sv-SE/thunderbird-45.8.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "11ce9c1b444adb242e826d4e1e8ab88e2272ac6b77f68f9d2a860c75e421c7b69f1841d0a4fef0b9b4d3a636678f0d57d5abb985f5fda6b5afd6cfb319f39b14";
+      sha512 = "caf3911023d48fc48f4834be424c01cb22bd7383582c8bfc15468401a1558351659e93955103625872b5ea3351570bf216b34e93bff9bf535eccd1789f493bca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ta-LK/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/ta-LK/thunderbird-45.8.0.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "e46dff7831a6805917d2982347e4899aea9c726bcbf1e0b081c8ead225d585df1d0e9c485729d28483fd7ea8e0e5a47598fa9146f0138ed8ed65162c8191a381";
+      sha512 = "99a0db9f4e7d9f05e8398f76f0dcce418d0230b8a325a1289b690a87a43febd0c17f52248bb6070ad7bd2dc60d6e877a78f1c4a23c8888b105160f131b31ec1c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/tr/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/tr/thunderbird-45.8.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "158e4d49beae2af88c9aeddf5933e58a73541d0acc960d3965159662dd18ec876fd9a598b7bdba31261f8eeccf1595eb5e66ace3656658b3557c1482b7a4263f";
+      sha512 = "79379c3dc58d330949aa5a0338fb38e6334ca47c964842bf090a9431e5b7267f871aaa519dd35262ed9d6e042188e998e95eb7a63c77b3592db09a81bdd95267";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/uk/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/uk/thunderbird-45.8.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "0d298daa6b416b60b696d57ae7508f56749f1fdc7f8d4ca3514fc106b91567fcc3bf41881cce398d431c0aa0b6bb9d5913d25abcded8e68628fe54fae3cbec25";
+      sha512 = "a2f0efb561fd84e5881bb93145f86f9445eb6cb3ce5ce0e209fc896c797e9a554d180ed1009f369bc12790b8d03d09d429dd3d52fda4ce48d7642009c1a9920a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/vi/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/vi/thunderbird-45.8.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "f3e21ff0bf5b0b57bf6a3d1564ec0194c4c4b8987e0db89c84662e091131601526cd1b109e113fa8738d6b16d61220df1ef6c09acfd46c154de7e86dd9aa744b";
+      sha512 = "14a7352ac3254aa0a748e98e208f48ee0b764853b37889077f651ed1d1a401d98c35dd6cd09bb5b25a7f8c5d5c3a7b02319ddf4dcdaa7a5440aa5caae9f09a32";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-CN/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/zh-CN/thunderbird-45.8.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "ad624ccf882b3703de853d67b9fb2d53fa4a69a20353638dc108750b35b486f2333307e7fb947e39a76f32cc204459347fe9c52e5c6c60c8b9210d9f7ca68632";
+      sha512 = "5b991ccc4daafe744f1fffdc51882bdc72d5fadd1e570e0ff3670f7d7201a67151797a26f0222fe8cfa0ddefff45f0741da6c04d924367705347858cc028a945";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-TW/thunderbird-45.7.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.8.0/linux-i686/zh-TW/thunderbird-45.8.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "877e9fbfd4421fecb01d94142ae753c7b90b7a1430a01dfdfbf916e4505a1b647fc3f75d896558437e7d5c4ae3a0aefe0892881f4bec7ce9ab672d7b44c337b3";
+      sha512 = "231abcab55934962d3b8dec164ddf48b8b7bfc0e8cd70251479351d8be5d2605e2bb823bbf6c3002bba6c431461b0bfd570f101f31b5adf7c70804610262b856";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index d4ddfcfc4a69..6990c12439d7 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -14,7 +14,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "45.7.1"; in
+let version = "45.8.0"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
-    sha512 = "aa1231169cfe243a257e6b9088281b85d0cf75207e3b9ebeda7792567a86f6098fb5c74dc397e3eeeb1925d221d2fb1b17df8762afd115eff9ad4d1370a49e56";
+    sha512 = "f8ba08d874fb1a09ac9ba5d4d1f46cefe801783ba4bf82eee682ac2ecc4e231d07033a80e036ad04bda7780c093fb7bc3122a23dc6e19c12f18fb7168dc78deb";
   };
 
   patches = [ ./gcc6.patch ];
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index cdafea3be79f..17548d824417 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.10";
+  version = "3.3.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/qbittorrent/${name}.tar.xz";
-    sha256 = "1lm8y5k9363gajbw0k9jb1cb7zg0lz5rw2ja0kd36h68rpm7qr9c";
+    sha256 = "0q57ahhlx7r5k1ji87gbp4rvjfvhirlmcx5nbwrfvqmxsigar4j8";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index 95ab09542a07..2cb4f0a5922e 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,11 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, go, pkgs }:
+{ stdenv, lib, fetchFromGitHub, go, pkgs, removeReferencesTo }:
 
-let
-  removeExpr = ref: ''
-    sed -i "s,${ref},$(echo "${ref}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" \
-  '';
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   version = "0.14.24";
   name = "syncthing-${version}";
 
@@ -16,7 +11,7 @@ in stdenv.mkDerivation rec {
     sha256 = "15jjk49ibry7crc3sw5zg09zsm5ir0ph5c0f3acas66wd02rnvl1";
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ go removeReferencesTo ];
 
   buildPhase = ''
     mkdir -p src/github.com/syncthing
@@ -48,7 +43,7 @@ in stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    find $out/bin -type f -exec ${removeExpr go} '{}' '+'
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' '+'
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 6897597e7ef8..b973a4192bba 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -72,6 +72,13 @@ in stdenv.mkDerivation rec {
   configureScript = "./autogen.sh";
   dontUseCmakeConfigure = true;
 
+  # ICU 58, included in 5.3.x
+  patches = [(fetchurl {
+    url = "https://gerrit.libreoffice.org/gitweb?p=core.git;a=patch;h=3e42714c76b1347babfdea0564009d8d82a83af4";
+    sha256 = "10bid0jdw1rpdsqwzzk3r4rp6bjs2cvi82h7anz2m1amfjdv86my";
+    name = "libreoffice-5.2.x-icu4c-58.patch";
+  })];
+
   postUnpack = ''
     mkdir -v $sourceRoot/src
   '' + (stdenv.lib.concatMapStrings (f: "ln -sfv ${f} $sourceRoot/src/${f.md5 or f.outputHash}-${f.name}\nln -sfv ${f} $sourceRoot/src/${f.name}\n") srcs.third_party)
diff --git a/pkgs/applications/office/mmex/default.nix b/pkgs/applications/office/mmex/default.nix
index 2981a0f7f890..30b8809f2247 100644
--- a/pkgs/applications/office/mmex/default.nix
+++ b/pkgs/applications/office/mmex/default.nix
@@ -2,7 +2,7 @@
 
 
 let
-  version = "1.3.1";
+  version = "1.3.3";
 in
   stdenv.mkDerivation {
     name = "money-manager-ex-${version}";
@@ -10,7 +10,7 @@ in
     src = fetchgit {
       url = "https://github.com/moneymanagerex/moneymanagerex.git";
       rev = "refs/tags/v${version}";
-      sha256 = "1cmwmvlzg7r85qq23lbbmq2y91vhf9f5pblpja5ph98bsd218pc0";
+      sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
     buildInputs = [ sqlite wxGTK30 gettext ];
diff --git a/pkgs/applications/science/biology/emboss/default.nix b/pkgs/applications/science/biology/emboss/default.nix
index 331820276553..2110a9bcfaba 100644
--- a/pkgs/applications/science/biology/emboss/default.nix
+++ b/pkgs/applications/science/biology/emboss/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
+{stdenv, fetchurl, readline, perl, libharu, libX11, libpng, libXt, zlib}:
 
 stdenv.mkDerivation {
   name = "emboss-6.6.0";
@@ -6,16 +6,14 @@ stdenv.mkDerivation {
     url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
     sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
   };
-  # patch = fetchurl {
-  #   url = ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-9.gz;
-  #   sha256 = "1pfn5zdxrr71c3kwpdkzmmsqvdwkmynkvcr707vqh73h9cjhk3c1";
-  # };
 
-  buildInputs = [readline perl libpng libX11 libXt zlib];
+  buildInputs = [ readline perl libharu libpng libX11 libXt zlib ];
 
-  # preConfigure = ''
-  #   gzip -d $patch | patch -p1
-  # '';
+  configureFlags = [ "--with-hpdf=${libharu}" "--with-pngdriver=${zlib}" ];
+
+  postConfigure = ''
+    sed -i 's@$(bindir)/embossupdate@true@' Makefile
+  '';
 
   meta = {
     description     = "The European Molecular Biology Open Software Suite";
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 45f8dd1960b7..aee4831034d8 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "geogebra-${version}";
-  version = "5-0-331-0";
+  version = "5-0-338-0";
 
   preferLocalBuild = true;
 
   src = fetchurl {
     url = "http://download.geogebra.org/installers/5.0/GeoGebra-Linux-Portable-${version}.tar.bz2";
-    sha256 = "135g2xqafgs1gv98vqq2jpfwyi1aflyiynx1gmsgs23jxbr218v2";
+    sha256 = "1namwib3912zjizgl9swan0fwgmq9kvfq5k5y8lz818vh4lv88kx";
   };
 
   srcIcon = fetchurl {
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index 9e17fe60c295..af4cda874730 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk
-, imagemagick, liblapack, python, openssl, libpng
+{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422
+, imagemagick, liblapack, python, openssl, libpng 
 , which
 }:
 
@@ -9,10 +9,11 @@ stdenv.mkDerivation rec {
   src = fetchurl {
     url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
     sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
+
   };
 
-  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg tk imagemagick liblapack
-                  python openssl libpng which];
+  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack
+                  python openssl libpng which ];
 
   patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
 
diff --git a/pkgs/applications/version-management/peru/default.nix b/pkgs/applications/version-management/peru/default.nix
index 28df4f7fc312..01369b9685dc 100644
--- a/pkgs/applications/version-management/peru/default.nix
+++ b/pkgs/applications/version-management/peru/default.nix
@@ -1,25 +1,26 @@
-{ stdenv, fetchurl, python3Packages }:
-
-let 
-  pythonPackages = python3Packages;
-in pythonPackages.buildPythonApplication rec {
+{ stdenv, fetchFromGitHub, python3Packages }:
 
+python3Packages.buildPythonApplication rec {
   name = "peru-${version}";
-  version = "1.0.1";
+  version = "1.1.0";
 
-  src = fetchurl {
-    url = "mirror://pypi/p/peru/${name}.tar.gz";
-    sha256 = "d51771d4aa7e16119e46c39efd71b0a1a898607bf3fb7735fc688a64fc59cbf1";
+  src = fetchFromGitHub {
+    owner = "buildinspace";
+    repo = "peru";
+    rev = "${version}";
+    sha256 = "0hvp6pvpsz0f98az4f1wl93gqlz6wj24pjnc5zs1har9rqlpq8y8";
   };
 
-  propagatedBuildInputs = with pythonPackages; [ pyyaml docopt ];
+  propagatedBuildInputs = with python3Packages; [ pyyaml docopt ];
 
   # No tests in archive
   doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/buildinspace/peru;
     description = "A tool for including other people's code in your projects";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
+    platforms = platforms.unix;
   };
-}
\ No newline at end of file
+
+}
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index e8dc1227ef87..ce6935a26064 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake
-, drake, ruby, file, xdg_utils, gettext, expat, qt5, boost
-, libebml, zlib, libmatroska, libogg, libvorbis, flac
+{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake, libiconv
+, drake, ruby, docbook_xsl, file, xdg_utils, gettext, expat, qt5, boost
+, libebml, zlib, libmatroska, libogg, libvorbis, flac, libxslt
 , withGUI ? true
 }:
 
@@ -10,21 +10,23 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "mkvtoolnix-${version}";
-  version = "9.8.0";
+  version = "9.9.0";
 
   src = fetchFromGitHub {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "1hnk92ksgg290q4kwdl8jqrz7vzlwki4f85bb6kgdgzpjkblw76n";
+    sha256 = "1jiz23s52l3gpl84yx4yw3w445jqzcimvnvibvrv3a21k29hyik1";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby ];
+  nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
 
   buildInputs = [
     expat file xdg_utils boost libebml zlib libmatroska libogg
     libvorbis flac
-  ] ++ optional withGUI qt5.qtbase;
+  ]
+  ++ optional stdenv.isDarwin libiconv
+  ++ optional withGUI qt5.qtbase;
 
   preConfigure = "./autogen.sh; patchShebangs .";
   buildPhase   = "drake -j $NIX_BUILD_CORES";
@@ -39,6 +41,7 @@ stdenv.mkDerivation rec {
     "--disable-precompiled-headers"
     "--disable-static-qt"
     "--with-gettext"
+    "--with-docbook-xsl-root=${docbook_xsl}/share/xml/docbook-xsl"
     (enableFeature withGUI "qt")
   ];
 
@@ -47,6 +50,7 @@ stdenv.mkDerivation rec {
     homepage    = http://www.bunkus.org/videotools/mkvtoolnix/;
     license     = licenses.gpl2;
     maintainers = with maintainers; [ codyopel fuuzetsu rnhmjoj ];
-    platforms   = platforms.linux;
+    platforms   = platforms.linux
+      ++ optionals (!withGUI) platforms.darwin;
   };
 }
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 61630c9a15c7..a6238d9e808a 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -22,15 +22,17 @@ let
   optional = stdenv.lib.optional;
 in stdenv.mkDerivation rec {
   name = "obs-studio-${version}";
-  version = "18.0.0";
+  version = "18.0.1";
 
   src = fetchFromGitHub {
     owner = "jp9000";
     repo = "obs-studio";
     rev = "${version}";
-    sha256 = "0qjv1l69ca8l8jihpkz7yln7gr7168k8c7yxgd8y23dp1db9hdrm";
+    sha256 = "0mvjmkq5zlcppjqy18933w7r7rz1mpr2jpf8ipd0famdlgyacix6";
   };
 
+  patches = [ ./segfault-patch-systray.patch ];
+
   nativeBuildInputs = [ cmake
                       ];
 
diff --git a/pkgs/applications/video/obs-studio/segfault-patch-systray.patch b/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
new file mode 100644
index 000000000000..c66b07bb57ad
--- /dev/null
+++ b/pkgs/applications/video/obs-studio/segfault-patch-systray.patch
@@ -0,0 +1,40 @@
+From c31e0f682431508ccd2d3c0f74e6e16fc71445d8 Mon Sep 17 00:00:00 2001
+From: Cray Elliott <MP2E@archlinux.us>
+Date: Fri, 10 Mar 2017 03:48:36 -0800
+Subject: [PATCH] Fix segfault in Linux when no system tray exists
+
+previously, switching workspaces while obs-studio is running resulted in a
+segfault if no system tray was available
+---
+ UI/window-basic-main.cpp | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp
+index 8590dd75..024854d6 100644
+--- a/UI/window-basic-main.cpp
++++ b/UI/window-basic-main.cpp
+@@ -2916,13 +2916,15 @@ void OBSBasic::closeEvent(QCloseEvent *event)
+
+ void OBSBasic::changeEvent(QEvent *event)
+ {
+-	if (event->type() == QEvent::WindowStateChange &&
+-	    isMinimized() &&
+-	    trayIcon->isVisible() &&
+-	    sysTrayMinimizeToTray()) {
+-
+-		ToggleShowHide();
+-	}
++  if (trayIcon) {
++	  if (event->type() == QEvent::WindowStateChange &&
++	      isMinimized() &&
++	      trayIcon->isVisible() &&
++	      sysTrayMinimizeToTray()) {
++
++	  	ToggleShowHide();
++	  }
++  }
+ }
+
+ void OBSBasic::on_actionShow_Recordings_triggered()
+--
+2.12.0
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index c428c56b313b..c07670b5de65 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub
+{ stdenv, lib, fetchFromGitHub, removeReferencesTo
 , go, libapparmor, apparmor-parser, libseccomp }:
 
 with lib;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "16p8kixhzdx8afpciyf3fjx43xa3qrqpx06r5aqxdrqviw851zh8";
   };
 
-  buildInputs = [ go ];
+  buildInputs = [ removeReferencesTo go ];
 
   preBuild = ''
     ln -s $(pwd) vendor/src/github.com/docker/containerd
@@ -26,10 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out/bin -type f 2>/dev/null)
+    find $out -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/docker/default.nix b/pkgs/applications/virtualization/docker/default.nix
index 903ee98a0e1b..f2db629336c2 100644
--- a/pkgs/applications/virtualization/docker/default.nix
+++ b/pkgs/applications/virtualization/docker/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, lib, fetchFromGitHub, makeWrapper, pkgconfig, go-md2man
-, go, containerd, runc, docker-proxy, tini
+{ stdenv, lib, fetchFromGitHub, makeWrapper, removeReferencesTo, pkgconfig
+, go-md2man, go, containerd, runc, docker-proxy, tini
 , sqlite, iproute, bridge-utils, devicemapper, systemd
 , btrfs-progs, iptables, e2fsprogs, xz, utillinux, xfsprogs
 , procps
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
   });
 
   buildInputs = [
-    makeWrapper pkgconfig go-md2man go
+    makeWrapper removeReferencesTo pkgconfig go-md2man go
     sqlite devicemapper btrfs-progs systemd
   ];
 
@@ -126,12 +126,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler, gcc and glibc
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-      sed -ri "s,${stdenv.cc.cc},$(echo "${stdenv.cc.cc}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-      sed -ri "s,${stdenv.glibc.dev},$(echo "${stdenv.glibc.dev}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out -type f 2>/dev/null)
+    find $out -type f -exec remove-references-to -t ${go} -t ${stdenv.cc.cc} -t ${stdenv.glibc.dev} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 8d462395ce07..e5620b6ce456 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -54,38 +54,92 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = [
+  patches = let
+    upstreamPatch = name: commit: sha256: fetchurl {
+      name = "${name}.patch";
+      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=${commit}";
+      inherit sha256;
+    };
+  in [
     ./no-etc-install.patch
 
+    # bugfixes
     (fetchurl {
-      name = "CVE-2017-2615.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=62d4c6bd5263bb8413a06c80144fc678df6dfb64";
-      sha256 = "0miph2x4d474issa44hmc542zxmkc7lsr4ncb7pwarq6j7v52l8h";
+      name = "qemu-vnc-do-not-disconnect-on-EAGAIN.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vnc-do-not-disconnect-on-EAGAIN.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "1nqhfgfw1pzhid094pk204qy36r6n7w1yilsiwabgcsyxs5bymnh";
     })
 
-    (fetchurl {
-      name = "CVE-2017-5667.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=42922105beb14c2fc58185ea022b9f72fb5465e9";
-      sha256 = "049vq70is3fj9bf4ysfj3s44iz93qhyqn6xijck32w1x6yyzqyx4";
-     })
+    (upstreamPatch "qemu-fix-win7-xhci" "7da76e12cc5cc902dda4c168d8d608fd4e61cbc5"
+      "0m1ggbxziy7vqz9007ypzg23cni8cc4db36wlnhxz0kdpq70c6x0")
+
+    (upstreamPatch "qemu-xhci-free-completed-transfers" "f94d18d6c6df388fde196d3ab252f57e33843a8b"
+      "0lk19qss6ky7cqnvis54742cr2z0vl8c64chhch0kp6n83hray9x")
 
+    # security fixes from debian
     (fetchurl {
-      name = "CVE-2017-5898.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=c7dfbf322595ded4e70b626bf83158a9f3807c6a";
-      sha256 = "1y2j0qw04s8fl0cs8i619y08kj75lxn3c0y19g710fzpk3rq8dvn";
-     })
+      name = "CVE-2016-9602.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/9pfs-symlink-attack-fixes-CVE-2016-9602.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "0f7m1k3hbw9v0dwqn53ds36s7s334vlidvbn0682s9r2sq0sjlkv";
+    })
 
     (fetchurl {
-      name = "CVE-2017-5931.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=a08aaff811fb194950f79711d2afe5a892ae03a4";
-      sha256 = "0hlih9jhbb1mb174hvxs7pf7lgcs7s9g705ri9rliw7wrhqdpja5";
-     })
+      name = "CVE-2017-2630.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/nbd_client-fix-drop_sync-CVE-2017-2630.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "1gdxaari53iwgj3gyczz30rhg8lj6xqycxym4snw9z5vmkyj1bbq";
+    })
 
     (fetchurl {
-      name = "CVE-2017-5973.patch";
-      url = "http://git.qemu-project.org/?p=qemu.git;a=patch;h=f89b60f6e5fee3923bedf80e82b4e5efc1bb156b";
-      sha256 = "06niyighjxb4p5z2as3mqfmrwrzn4sq47j7raipbq9gnda7x9sw6";
-     })
+      name = "CVE-2017-6058.patch";
+      url = "https://anonscm.debian.org/cgit/pkg-qemu/qemu.git/plain/debian/patches/vmxnet3-fix-memory-corruption-on-vlan-header-stripping-CVE-2017-6058.patch?h=debian/qemu_2.8%2bdfsg-3";
+      sha256 = "0w8az2cr116mnijxjd4aprl8dvfdj76gm7ddajmngdslxiax601f";
+    })
+
+    # security fixes from upstream
+    (upstreamPatch "CVE-2016-7907" "81f17e0d435c3db3a3e67e0d32ebf9c98973211f"
+      "0dzghbm3jmnyw34kd40a6akrr1cpizd9hdzqmhlc2ljab7pr1rcb")
+
+    (upstreamPatch "CVE-2016-10155" "eb7a20a3616085d46aa6b4b4224e15587ec67e6e"
+      "1xk00fyls0hdza11dyfrnzcn6gibmmcrwy7sxgp6iizp6wgzi3vw")
+
+    (upstreamPatch "CVE-2017-2615" "62d4c6bd5263bb8413a06c80144fc678df6dfb64"
+      "0miph2x4d474issa44hmc542zxmkc7lsr4ncb7pwarq6j7v52l8h")
+
+    (upstreamPatch "CVE-2017-2620" "92f2b88cea48c6aeba8de568a45f2ed958f3c298"
+      "1kz12qmvfccy7xilsrxahbs67jycv4zjfbijxivadvx9klxs1n58")
+
+    (upstreamPatch "CVE-2017-5525" "12351a91da97b414eec8cdb09f1d9f41e535a401"
+      "190b4aqr35p4lb3rjarknfi1ip1c9zizliqp1dd6frx4364y5yp2")
+
+    (upstreamPatch "CVE-2017-5526" "069eb7b2b8fc47c7cb52e5a4af23ea98d939e3da"
+      "05xgzd3zldk3x2vqpjag9z5ilhdkpkyh633fb5kvnz8scns6v86f")
+
+    (upstreamPatch "CVE-2017-5579" "8409dc884a201bf74b30a9d232b6bbdd00cb7e2b"
+      "0lbcyhif1kdcy8my0bv8aqr2f421kmljcch3plrjzj9pgcm4sv83")
+
+    (upstreamPatch "CVE-2017-5667" "42922105beb14c2fc58185ea022b9f72fb5465e9"
+      "049vq70is3fj9bf4ysfj3s44iz93qhyqn6xijck32w1x6yyzqyx4")
+
+    (upstreamPatch "CVE-2017-5667-fix" "913a87885f589d263e682c2eb6637c6e14538061"
+      "0nm1k2r9n6r86dvjr16hxak2vcsinj7ijlqw5i6f4y5h2sh37wr5")
+
+    (upstreamPatch "CVE-2017-5856" "765a707000e838c30b18d712fe6cb3dd8e0435f3"
+      "03pjkn8l8rp9ip5h5rm1dp0nrwd43nmgpwamz4z1vy3rli1z3yjw")
+
+    (upstreamPatch "CVE-2017-5857" "5e8e3c4c75c199aa1017db816fca02be2a9f8798"
+      "1kz14rmxf049zl5m27apzpbvy8dk0g47n9gnwy0nm70g65rl1dh8")
+
+    (upstreamPatch "CVE-2017-5898" "c7dfbf322595ded4e70b626bf83158a9f3807c6a"
+      "1y2j0qw04s8fl0cs8i619y08kj75lxn3c0y19g710fzpk3rq8dvn")
+
+    (upstreamPatch "CVE-2017-5931" "a08aaff811fb194950f79711d2afe5a892ae03a4"
+      "0hlih9jhbb1mb174hvxs7pf7lgcs7s9g705ri9rliw7wrhqdpja5")
+
+    (upstreamPatch "CVE-2017-5973" "f89b60f6e5fee3923bedf80e82b4e5efc1bb156b"
+      "06niyighjxb4p5z2as3mqfmrwrzn4sq47j7raipbq9gnda7x9sw6")
+
+    (upstreamPatch "CVE-2017-5987" "6e86d90352adf6cb08295255220295cf23c4286e"
+      "09yfxf93cisx8rhm0h48ib1ibwfs420k5pqpz8dnz33nci9567jm")
 
   ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch;
 
diff --git a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
index 9578d595129f..33c4ffff6fe5 100644
--- a/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
+++ b/pkgs/applications/virtualization/qemu/force-uid0-on-9p.patch
@@ -1,8 +1,8 @@
 diff --git a/hw/9pfs/9p-local.c b/hw/9pfs/9p-local.c
-index 3f271fc..dc273f4 100644
+index 45e9a1f9b0..494ee00c66 100644
 --- a/hw/9pfs/9p-local.c
 +++ b/hw/9pfs/9p-local.c
-@@ -45,6 +45,23 @@
+@@ -84,6 +84,23 @@ static void unlinkat_preserve_errno(int dirfd, const char *path, int flags)
  
  #define VIRTFS_META_DIR ".virtfs_metadata"
  
@@ -23,10 +23,10 @@ index 3f271fc..dc273f4 100644
 +    return 0;
 +}
 +
- static char *local_mapped_attr_path(FsContext *ctx, const char *path)
+ static FILE *local_fopenat(int dirfd, const char *name, const char *mode)
  {
-     int dirlen;
-@@ -128,6 +145,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
+     int fd, o_mode = 0;
+@@ -161,6 +178,8 @@ static int local_lstat(FsContext *fs_ctx, V9fsPath *fs_path, struct stat *stbuf)
      if (err) {
          goto err_out;
      }
@@ -35,28 +35,17 @@ index 3f271fc..dc273f4 100644
      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
-@@ -462,6 +481,11 @@ static ssize_t local_pwritev(FsContext *ctx, V9fsFidOpenState *fs,
-     return ret;
- }
+@@ -280,6 +299,9 @@ static int fchmodat_nofollow(int dirfd, const char *name, mode_t mode)
+ {
+     int fd, ret;
  
-+static inline int maybe_chmod(const char *path, mode_t mode)
-+{
-+    return is_in_store_path(path) ? 0 : chmod(path, mode);
-+}
++    if (is_in_store_path(name))
++        return 0;
 +
- static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
- {
-     char *buffer;
-@@ -477,7 +501,7 @@ static int local_chmod(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
-     } else if ((fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
-                (fs_ctx->export_flags & V9FS_SM_NONE)) {
-         buffer = rpath(fs_ctx, path);
--        ret = chmod(buffer, credp->fc_mode);
-+        ret = maybe_chmod(buffer, credp->fc_mode);
-         g_free(buffer);
-     }
-     return ret;
-@@ -621,6 +645,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
+     /* FIXME: this should be handled with fchmodat(AT_SYMLINK_NOFOLLOW).
+      * Unfortunately, the linux kernel doesn't implement it yet. As an
+      * alternative, let's open the file and use fchmod() instead. This
+@@ -661,6 +683,8 @@ static int local_fstat(FsContext *fs_ctx, int fid_type,
      if (err) {
          return err;
      }
@@ -65,13 +54,28 @@ index 3f271fc..dc273f4 100644
      if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
          /* Actual credentials are part of extended attrs */
          uid_t tmp_uid;
-@@ -916,7 +942,8 @@ static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+@@ -795,8 +819,11 @@ static int local_symlink(FsContext *fs_ctx, const char *oldpath,
+         if (err) {
+             goto out;
+         }
+-        err = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
+-                       AT_SYMLINK_NOFOLLOW);
++        if (is_in_store_path(name))
++            err = 0;
++        else
++            err = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
++                           AT_SYMLINK_NOFOLLOW);
+         if (err == -1) {
+             /*
+              * If we fail to change ownership and if we are
+@@ -911,7 +938,9 @@ static int local_chown(FsContext *fs_ctx, V9fsPath *fs_path, FsCred *credp)
+         goto out;
+     }
+ 
+-    if ((credp->fc_uid == -1 && credp->fc_gid == -1) ||
++    if (is_in_store_path(name)) {
++        ret = 0;
++    } else if ((credp->fc_uid == -1 && credp->fc_gid == -1) ||
          (fs_ctx->export_flags & V9FS_SM_PASSTHROUGH) ||
          (fs_ctx->export_flags & V9FS_SM_NONE)) {
-         buffer = rpath(fs_ctx, path);
--        ret = lchown(buffer, credp->fc_uid, credp->fc_gid);
-+        ret = is_in_store_path(buffer)
-+            ? 0 : lchown(buffer, credp->fc_uid, credp->fc_gid);
-         g_free(buffer);
-     } else if (fs_ctx->export_flags & V9FS_SM_MAPPED) {
-         buffer = rpath(fs_ctx, path);
+         ret = fchownat(dirfd, name, credp->fc_uid, credp->fc_gid,
diff --git a/pkgs/applications/virtualization/runc/default.nix b/pkgs/applications/virtualization/runc/default.nix
index 7f19121b7f5b..3ce183d90e26 100644
--- a/pkgs/applications/virtualization/runc/default.nix
+++ b/pkgs/applications/virtualization/runc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, fetchpatch, go-md2man
+{ stdenv, lib, fetchFromGitHub, fetchpatch, removeReferencesTo, go-md2man
 , go, pkgconfig, libapparmor, apparmor-parser, libseccomp }:
 
 with lib;
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = ["fortify"];
 
-  buildInputs = [ go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ];
+  buildInputs = [ removeReferencesTo go-md2man go pkgconfig libseccomp libapparmor apparmor-parser ];
 
   makeFlags = ''BUILDTAGS+=seccomp BUILDTAGS+=apparmor'';
 
@@ -61,10 +61,7 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = ''
-    # remove references to go compiler
-    while read file; do
-      sed -ri "s,${go},$(echo "${go}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" $file
-    done < <(find $out/bin -type f 2>/dev/null)
+    find $out/bin -type f -exec remove-references-to -t ${go} '{}' +
   '';
 
   meta = {
diff --git a/pkgs/applications/virtualization/virt-manager/qt.nix b/pkgs/applications/virtualization/virt-manager/qt.nix
new file mode 100644
index 000000000000..d502ef06671e
--- /dev/null
+++ b/pkgs/applications/virtualization/virt-manager/qt.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, qtbase, qtmultimedia, qtsvg, makeQtWrapper
+, lxqt, libvncserver, libvirt, pixman, spice_gtk, spice_protocol
+}:
+
+stdenv.mkDerivation rec {
+  name = "virt-manager-qt-${version}";
+  version = "0.39.60";
+
+  src = fetchFromGitHub {
+    owner  = "F1ash";
+    repo   = "qt-virt-manager";
+    rev    = "${version}";
+    sha256 = "010lpw85m5sd613l281y4zxkp5v3k16pgnawskbi1ricsnj4k5mh";
+  };
+
+  cmakeFlags = [
+    "-DBUILD_QT_VERSION=5"
+  ];
+
+  buildInputs = [
+    qtbase qtmultimedia qtsvg lxqt.qtermwidget
+    libvirt libvncserver pixman spice_gtk spice_protocol
+  ];
+
+  nativeBuildInputs = [ cmake pkgconfig makeQtWrapper ];
+
+  postFixup = ''
+    for f in $out/bin/* ; do
+      wrapQtProgram $f
+    done
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://f1ash.github.io/qt-virt-manager;
+    description = "Desktop user interface for managing virtual machines (QT)";
+    longDescription = ''
+      The virt-manager application is a desktop user interface for managing
+      virtual machines through libvirt. It primarily targets KVM VMs, but also
+      manages Xen and LXC (linux containers).
+    '';
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/build-support/fetchsvn/builder.sh b/pkgs/build-support/fetchsvn/builder.sh
index 3ab6e730a51b..7a8a161712d6 100644
--- a/pkgs/build-support/fetchsvn/builder.sh
+++ b/pkgs/build-support/fetchsvn/builder.sh
@@ -22,7 +22,8 @@ fi;
 # server's certificate.  This is perfectly safe: we don't care
 # whether the server is being spoofed --- only the cryptographic
 # hash of the output matters. Pass in extra p's to handle redirects.
-printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive ${ignoreExternals:+--ignore-externals} \
+printf 'p\np\np\n' | svn export --trust-server-cert --non-interactive \
+    ${ignoreExternals:+--ignore-externals} ${ignoreKeywords:+--ignore-keywords} \
     -r "$rev" "$url" "$out"
 
 stopNest
diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix
index 85ec52c4bde0..05ed0505f81c 100644
--- a/pkgs/build-support/fetchsvn/default.nix
+++ b/pkgs/build-support/fetchsvn/default.nix
@@ -1,5 +1,6 @@
 {stdenv, subversion, sshSupport ? false, openssh ? null}:
-{url, rev ? "HEAD", md5 ? "", sha256 ? "", ignoreExternals ? false, name ? null}:
+{url, rev ? "HEAD", md5 ? "", sha256 ? "",
+ ignoreExternals ? false, ignoreKeywords ? false, name ? null}:
 
 let
   repoName = with stdenv.lib;
@@ -31,7 +32,7 @@ stdenv.mkDerivation {
   outputHashMode = "recursive";
   outputHash = if sha256 == "" then md5 else sha256;
   
-  inherit url rev sshSupport openssh ignoreExternals;
+  inherit url rev sshSupport openssh ignoreExternals ignoreKeywords;
 
   impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars;
   preferLocalBuild = true;
diff --git a/pkgs/build-support/remove-references-to/default.nix b/pkgs/build-support/remove-references-to/default.nix
new file mode 100644
index 000000000000..8b1d05fc2307
--- /dev/null
+++ b/pkgs/build-support/remove-references-to/default.nix
@@ -0,0 +1,34 @@
+# The program `remove-references-to' created by this derivation replaces all
+# references to the given Nix store paths in the specified files by a
+# non-existent path (/nix/store/eeee...).  This is useful for getting rid of
+# dependencies that you know are not actually needed at runtime.
+
+{ stdenv, writeScriptBin }:
+
+writeScriptBin "remove-references-to" ''
+#! ${stdenv.shell} -e
+
+# References to remove
+targets=()
+while getopts t: o; do
+    case "$o" in
+        t) storeId=$(echo "$OPTARG" | sed -n "s|^$NIX_STORE/\\([a-z0-9]\{32\}\\)-.*|\1|p")
+           if [ -z "$storeId" ]; then
+               echo "-t argument must be a Nix store path"
+               exit 1
+           fi
+           targets+=("$storeId")
+    esac
+done
+shift $(($OPTIND-1))
+
+# Files to remove the references from
+regions=()
+for i in "$@"; do
+    test ! -L "$i" -a -f "$i" && regions+=("$i")
+done
+
+for target in "''${targets[@]}" ; do
+    sed -i -e "s|$NIX_STORE/$target-|$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-|g" "''${regions[@]}"
+done
+''
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 3949bffaba17..23805b469ae1 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -4,11 +4,11 @@ mesa_glu , xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.21.5";
+  version = "0.21.7";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "1fslq70z4s6v9ipahnk8s5fgqnqq4njv4rlqv951r1bh1xk5lx7h";
+    sha256 = "1xvngjdsa0p901vfhrh2qpa50k32hwwhc8bgi16a9b5d9byzfhvn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index 71eff8a1b0fa..fbcb286f5b24 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -71,7 +71,7 @@ let
       pkgs.lxmenu-data
       pkgs.menu-cache
       pkgs.openbox # default window manager
-      qt5.qtsvg # provides QT5 plugins for svg icons
+      pkgs.qt5.qtsvg # provides QT5 plugins for svg icons
     ];
 
     corePackages = [
diff --git a/pkgs/desktops/plasma-5/startkde/startkde.sh b/pkgs/desktops/plasma-5/startkde/startkde.sh
index a403e8e05e6e..c38450516e91 100755
--- a/pkgs/desktops/plasma-5/startkde/startkde.sh
+++ b/pkgs/desktops/plasma-5/startkde/startkde.sh
@@ -14,6 +14,12 @@ if ! [ -e $HOME/.gtkrc-2.0 ] \
     cat >$HOME/.gtkrc-2.0 <<EOF
 # Default GTK+ 2 config for NixOS KDE 5
 include "/run/current-system/sw/share/themes/Breeze/gtk-2.0/gtkrc"
+style "user-font"
+{
+  font_name="Sans Serif Regular"
+}
+widget_class "*" style "user-font"
+gtk-font-name="Sans Serif Regular 10"
 gtk-theme-name="Breeze"
 gtk-icon-theme-name="breeze"
 gtk-fallback-icon-theme="hicolor"
@@ -28,6 +34,7 @@ if ! [ -e $HOME/.config/gtk-3.0/settings.ini ] \
        && [ -e /run/current-system/sw/share/themes/Breeze/gtk-3.0 ]; then
     cat >$HOME/.config/gtk-3.0/settings.ini <<EOF
 [Settings]
+gtk-font-name=Sans Serif Regular 10
 gtk-theme-name=Breeze
 gtk-icon-theme-name=breeze
 gtk-fallback-icon-theme=hicolor
@@ -79,9 +86,9 @@ kcheckrunning_result=$?
 if test $kcheckrunning_result -eq 0 ; then
     echo "KDE seems to be already running on this display."
     xmessage -geometry 500x100 "KDE seems to be already running on this display."
-	exit 1
+    exit 1
 elif test $kcheckrunning_result -eq 2 ; then
-	echo "\$DISPLAY is not set or cannot connect to the X server."
+    echo "\$DISPLAY is not set or cannot connect to the X server."
     exit 1
 fi
 
@@ -122,6 +129,7 @@ ksplashrc KSplash Theme ${THEME}.desktop
 ksplashrc KSplash Engine KSplashQML
 kdeglobals KScreen ScreenScaleFactors ''
 kcmfonts General forceFontDPI 0
+kcmfonts General dontChangeAASettings true
 EOF
 
 # preload the user's locale on first start
@@ -145,9 +153,14 @@ kdeglobalsfile=$configDir/kdeglobals
 test -f $kdeglobalsfile || {
 cat >$kdeglobalsfile <<EOF
 [General]
-XftAntialias=true
-XftHintStyle=hintmedium
-XftSubPixel=none
+fixed=Monospace,10,-1,5,50,0,0,0,0,0,Regular
+font=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
+menuFont=Sans Serif,10,-1,5,50,0,0,0,0,0,Regular
+smallestReadableFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
+toolBarFont=Sans Serif,8,-1,5,50,0,0,0,0,0,Regular
+
+[WM]
+activeFont=Noto Sans,12,-1,5,50,0,0,0,0,0,Bold
 EOF
 }
 
diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix
index 558cfa35adad..b619bf6ce208 100644
--- a/pkgs/development/compilers/coreclr/default.nix
+++ b/pkgs/development/compilers/coreclr/default.nix
@@ -102,5 +102,6 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with stdenv.lib.maintainers; [ obadz ];
     license = stdenv.lib.licenses.mit;
+    broken = true; # CoreCLR has proven to be very difficult to package. PRs welcome if someone wants to shave that yak.
   };
 }
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index c457ae158389..b5d2ba66e752 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, python, ... }:
 
 let
-  rev = "1.37.1";
+  rev = "1.37.3";
   gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
 in
 stdenv.mkDerivation rec {
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp";
-    sha256 = "08jci6h73j4pcd6iq5r4zn8c6qpd6qxc7xivxh3iama9hghmxyk9";
+    sha256 = "0s5156g6576hm31628c2wbqwl9r6vn10z5ry59psl565zz3lpg8x";
     inherit rev;
   };
 
   srcFL = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten-fastcomp-clang";
-    sha256 = "053svm8vnsma61jzzr8n1224brmjw4pzvklh572bm1p7yg32chaw";
+    sha256 = "0jhk20wb7275n5m9niqkzmvrr8hh5v26glkmsfmng4p66cs7jkil";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/emscripten/default.nix b/pkgs/development/compilers/emscripten/default.nix
index f94e826defbb..05df6e9359a0 100644
--- a/pkgs/development/compilers/emscripten/default.nix
+++ b/pkgs/development/compilers/emscripten/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, emscriptenfastcomp, python, nodejs, closurecompiler, jre }:
 
 let
-  rev = "1.37.1";
+  rev = "1.37.3";
   appdir = "share/emscripten";
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
   src = fetchFromGitHub {
     owner = "kripken";
     repo = "emscripten";
-    sha256 = "0xl8lv0ihxsnwnhma3i34pkbz0v1yyc93ac6mdqmzv6fx2wczm04";
+    sha256 = "0pkxm8nd2zv57f2xm0c3n4xsdh2scliyy3zx04xk2bpkvskyzl7x";
     inherit rev;
   };
 
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index d75f5df370f8..5c6b62bee6f1 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -82,5 +82,4 @@ stdenv.mkDerivation rec {
     maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
     inherit (ghc.meta) license platforms;
   };
-
 }
diff --git a/pkgs/development/compilers/halvm/2.4.0.nix b/pkgs/development/compilers/halvm/2.4.0.nix
new file mode 100644
index 000000000000..c167f4bdd75a
--- /dev/null
+++ b/pkgs/development/compilers/halvm/2.4.0.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, binutils, autoconf, alex, happy, makeStaticLibraries
+, hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
+}:
+
+stdenv.mkDerivation rec {
+  version = "2.4.0";
+  name = "HaLVM-${version}";
+  isHaLVM = true;
+  isGhcjs = false;
+  src = fetchgit {
+    rev = "6aa72c9b047fd8ddff857c994a5a895461fc3925";
+    url = "https://github.com/GaloisInc/HaLVM";
+    sha256 = "05cg4w6fw5ajmpmh8g2msprnygmr4isb3pphqhlddfqwyvqhl167";
+  };
+  prePatch = ''
+    sed -i '312 d' Makefile
+    sed -i '316,446 d' Makefile # Removes RPM packaging
+    sed -i '20 d' src/scripts/halvm-cabal.in
+    sed -ie 's|ld |${binutils}/bin/ld |g' src/scripts/ldkernel.in
+  '';
+  configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
+  propagatedNativeBuildInputs = [ alex happy ];
+  buildInputs =
+   let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
+    ]; in [ bootPkgs.ghc
+            automake perl git binutils
+            autoconf xen zlib ncurses.dev
+            libtool gmp ] ++ haskellPkgs;
+  preConfigure = ''
+    autoconf
+    patchShebangs .
+  '';
+  hardeningDisable = ["all"];
+  postInstall = "$out/bin/halvm-ghc-pkg recache";
+  passthru = {
+    inherit bootPkgs;
+    cross.config = "halvm";
+    cc = "${gcc}/bin/gcc";
+    ld = "${binutils}/bin/ld";
+  };
+
+  meta = {
+    homepage = "http://github.com/GaloisInc/HaLVM";
+    description = "The Haskell Lightweight Virtual Machine (HaLVM): GHC running on Xen";
+    maintainers = with stdenv.lib.maintainers; [ dmjio ];
+    inherit (bootPkgs.ghc.meta) license platforms;
+  };
+}
diff --git a/pkgs/development/compilers/ispc/default.nix b/pkgs/development/compilers/ispc/default.nix
index 6bc7f66ca299..f8413075ac81 100644
--- a/pkgs/development/compilers/ispc/default.nix
+++ b/pkgs/development/compilers/ispc/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex, llvmPackages, clangWrapSelf,
+{stdenv, fetchFromGitHub, bash, which, m4, python, bison, flex_2_6_1, llvmPackages, clangWrapSelf,
 testedTargets ? ["sse2" "host"] # the default test target is sse4, but that is not supported by all Hydra agents
 }:
 
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     m4
     python
     bison
-    flex
+    flex_2_6_1
     llvm
     llvmPackages.clang-unwrapped # we need to link against libclang, so we need the unwrapped
   ];
diff --git a/pkgs/development/compilers/ponyc/default.nix b/pkgs/development/compilers/ponyc/default.nix
index 2c785d2a721d..3f1aa85e0fcc 100644
--- a/pkgs/development/compilers/ponyc/default.nix
+++ b/pkgs/development/compilers/ponyc/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation ( rec {
   name = "ponyc-${version}";
-  version = "0.10.0";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "ponyc";
     rev = version;
-    sha256 = "1v314abmhlqsj8iyab61cf8nb4kbddv1ycnw29z53mpbmivk4gn0";
+    sha256 = "0jjzc1711km53zkkxwy4r9ki9yxdx8mdjrp7g3mkr42p7q5h4w70";
   };
 
   buildInputs = [ llvm makeWrapper which ];
diff --git a/pkgs/development/compilers/scala/default.nix b/pkgs/development/compilers/scala/default.nix
index 8e1f8dd47220..7971d7a8b23d 100644
--- a/pkgs/development/compilers/scala/default.nix
+++ b/pkgs/development/compilers/scala/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
     rm "bin/"*.bat
     mv * $out
 
+    # put docs in correct subdirectory
+    mkdir -p $out/share/doc
+    mv $out/doc $out/share/doc/scala
+
     for p in $(ls $out/bin/) ; do
       wrapProgram $out/bin/$p \
         --prefix PATH ":" ${coreutils}/bin \
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 79745d45c2b3..dfbbaa4d4310 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,10 +2,10 @@
 with stdenv.lib;
 
 let
-  date = "20170220";
+  date = "20170225";
   version = "0.9.27pre-${date}";
-  rev = "e209b7dac463e228525499153103ec28173ca365";
-  sha256 = "1p8h999aqgy5rlkk47vc86c5lx8280761712nwkcgvydvixd0gd6";
+  rev = "bb93064d7857d887b674999c9b4152b44a628f9a";
+  sha256 = "12wcahj1x4qy9ia931i23lvwkqjmyhaks3wipnzvbnlnc2b03kpr";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f37d8b4c9c7f..85839b6492a2 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -877,4 +877,8 @@ self: super: {
 
   # https://github.com/danidiaz/streaming-eversion/issues/1
   streaming-eversion = dontCheck super.streaming-eversion;
+
+  # strict-io is too cautious with it's deepseq dependency
+  # strict-io doesn't have a working bug tracker, the author has been emailed however.
+  strict-io = doJailbreak super.strict-io;
 }
diff --git a/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix b/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix
new file mode 100644
index 000000000000..cd7857e23de9
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-halvm-2.4.0.nix
@@ -0,0 +1,59 @@
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: {
+
+  # Suitable LLVM version.
+  llvmPackages = pkgs.llvmPackages_35;
+
+  # Disable GHC 8.0.x core libraries.
+  array = null;
+  base = null;
+  binary = null;
+  bytestring = null;
+  Cabal = null;
+  containers = null;
+  deepseq = null;
+  directory = null;
+  filepath = null;
+  ghc-boot = null;
+  ghc-boot-th = null;
+  ghc-prim = null;
+  ghci = null;
+  haskeline = null;
+  hoopl = null;
+  hpc = null;
+  integer-gmp = null;
+  pretty = null;
+  process = null;
+  rts = null;
+  template-haskell = null;
+  terminfo = null;
+  time = null;
+  transformers = null;
+  unix = null;
+  xhtml = null;
+
+  # cabal-install can use the native Cabal library.
+  cabal-install = super.cabal-install.override { Cabal = null; };
+
+  # jailbreak-cabal can use the native Cabal library.
+  jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
+
+  # https://github.com/bmillwood/applicative-quoters/issues/6
+  applicative-quoters = appendPatch super.applicative-quoters (pkgs.fetchpatch {
+    url = "https://patch-diff.githubusercontent.com/raw/bmillwood/applicative-quoters/pull/7.patch";
+    sha256 = "026vv2k3ks73jngwifszv8l59clg88pcdr4mz0wr0gamivkfa1zy";
+  });
+
+  # https://github.com/christian-marie/xxhash/issues/3
+  xxhash = doJailbreak super.xxhash;
+
+  # https://github.com/Deewiant/glob/issues/8
+  Glob = doJailbreak super.Glob;
+
+  # http://hub.darcs.net/dolio/vector-algorithms/issue/9#comment-20170112T145715
+  vector-algorithms = dontCheck super.vector-algorithms;
+
+}
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 85421ba960e8..981a48055bcc 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -29,6 +29,17 @@
 
 with import ./lib.nix { inherit pkgs; };
 
+# All of the overrides in this set should look like:
+#
+#   foo = ... something involving super.foo ...
+#
+# but that means that we add `foo` attribute even if there is no `super.foo`! So if
+# you want to use this configuration for a package set that only contains a subset of
+# the packages that have overrides defined here, you'll end up with a set that contains
+# a bunch of attributes that trigger an evaluation error.
+#
+# To avoid this, we use `intersectAttrs` here so we never add packages that are not present
+# in the parent package set (`super`).
 self: super: builtins.intersectAttrs super {
 
   # Apply NixOS-specific patches.
@@ -216,20 +227,19 @@ self: super: builtins.intersectAttrs super {
   # Uses OpenGL in testing
   caramia = dontCheck super.caramia;
 
-  llvm-general-darwin = overrideCabal (super.llvm-general.override { llvm-config = pkgs.llvm_35; }) (drv: {
-      preConfigure = ''
-        sed -i llvm-general.cabal \
-            -e 's,extra-libraries: stdc++,extra-libraries: c++,'
-      '';
-      configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
-      librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
-    });
-
-  # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
   llvm-general =
-    if pkgs.stdenv.isDarwin
-    then self.llvm-general-darwin
-    else super.llvm-general.override { llvm-config = pkgs.llvm_35; };
+    # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
+    let base = super.llvm-general.override { llvm-config = pkgs.llvm_35; };
+    in if !pkgs.stdenv.isDarwin then base else overrideCabal base (
+      drv: {
+        preConfigure = ''
+          sed -i llvm-general.cabal \
+              -e 's,extra-libraries: stdc++,extra-libraries: c++,'
+        '';
+        configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
+        librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
+      }
+    );
 
   # Needs help finding LLVM.
   spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index f580de51a35c..42678e342be4 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -66,7 +66,8 @@ let
                        concatStringsSep enableFeature optionalAttrs toUpper;
 
   isGhcjs = ghc.isGhcjs or false;
-  packageDbFlag = if isGhcjs || versionOlder "7.6" ghc.version
+  isHaLVM = ghc.isHaLVM or false;
+  packageDbFlag = if isGhcjs || isHaLVM || versionOlder "7.6" ghc.version
                   then "package-db"
                   else "package-conf";
 
@@ -99,16 +100,15 @@ let
     "--with-ghc-pkg=${ghc.cross.config}-ghc-pkg"
     "--with-gcc=${ghc.cc}"
     "--with-ld=${ghc.ld}"
-    "--hsc2hs-options=--cross-compile"
     "--with-hsc2hs=${nativeGhc}/bin/hsc2hs"
-  ];
+  ] ++ (if isHaLVM then [] else ["--hsc2hs-options=--cross-compile"]);
 
   crossCabalFlagsString =
     stdenv.lib.optionalString isCross (" " + stdenv.lib.concatStringsSep " " crossCabalFlags);
 
   defaultConfigureFlags = [
     "--verbose" "--prefix=$out" "--libdir=\\$prefix/lib/\\$compiler" "--libsubdir=\\$pkgid"
-    "--with-gcc=$CC"            # Clang won't work without that extra information.
+    "--with-gcc=$CC" # Clang won't work without that extra information.
     "--package-db=$packageConfDir"
     (optionalString (enableSharedExecutables && stdenv.isLinux) "--ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.name}/${pname}-${version}")
     (optionalString (enableSharedExecutables && stdenv.isDarwin) "--ghc-option=-optl=-Wl,-headerpad_max_install_names")
@@ -133,8 +133,9 @@ let
 
   setupCompileFlags = [
     (optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir")
-    (optionalString (isGhcjs || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
-    (optionalString (versionOlder "7.10" ghc.version) "-threaded") # https://github.com/haskell/cabal/issues/2398
+    (optionalString (isGhcjs || isHaLVM || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
+    # https://github.com/haskell/cabal/issues/2398
+    (optionalString (versionOlder "7.10" ghc.version && !isHaLVM) "-threaded")
   ];
 
   isHaskellPkg = x: (x ? pname) && (x ? version) && (x ? env);
@@ -319,11 +320,10 @@ stdenv.mkDerivation ({
         export NIX_${ghcCommandCaps}="${ghcEnv}/bin/${ghcCommand}"
         export NIX_${ghcCommandCaps}PKG="${ghcEnv}/bin/${ghcCommand}-pkg"
         export NIX_${ghcCommandCaps}_DOCDIR="${ghcEnv}/share/doc/ghc/html"
-        export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"
-        ${shellHook}
-      '';
+        '' + (if isHaLVM
+	       then ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/HaLVM-${ghc.version}"''
+	       else ''export NIX_${ghcCommandCaps}_LIBDIR="${ghcEnv}/lib/${ghcCommand}-${ghc.version}"'') + "${shellHook}";
     };
-
   };
 
   meta = { inherit homepage license platforms; }
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index e04cbe08c2c7..15d66bbd6dc0 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -8,7 +8,7 @@
 assert ghcLibdir != null -> (ghc.isGhcjs or false);
 
 # This wrapper works only with GHC 6.12 or later.
-assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs;
+assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs || ghc.isHaLVM;
 
 # It's probably a good idea to include the library "ghc-paths" in the
 # compiler environment, because we have a specially patched version of
@@ -33,13 +33,14 @@ assert lib.versionOlder "6.12" ghc.version || ghc.isGhcjs;
 
 let
   isGhcjs       = ghc.isGhcjs or false;
-  ghc761OrLater = isGhcjs || lib.versionOlder "7.6.1" ghc.version;
+  isHaLVM       = ghc.isHaLVM or false;
+  ghc761OrLater = isGhcjs || isHaLVM || lib.versionOlder "7.6.1" ghc.version;
   packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
-  ghcCommand'    = if isGhcjs then "ghcjs" else "ghc";
+  ghcCommand'   = if isGhcjs then "ghcjs" else "ghc";
   crossPrefix = if (ghc.cross or null) != null then "${ghc.cross.config}-" else "";
   ghcCommand = "${crossPrefix}${ghcCommand'}";
   ghcCommandCaps= lib.toUpper ghcCommand';
-  libDir        = "$out/lib/${ghcCommand}-${ghc.version}";
+  libDir        = if isHaLVM then "$out/lib/HaLVM-${ghc.version}" else "$out/lib/${ghcCommand}-${ghc.version}";
   docDir        = "$out/share/doc/ghc/html";
   packageCfgDir = "${libDir}/package.conf.d";
   paths         = lib.filter (x: x ? isHaskellLibrary) (lib.closePropagation packages);
diff --git a/pkgs/development/interpreters/clisp/hg.nix b/pkgs/development/interpreters/clisp/hg.nix
index b4930e7d57d6..597f75c46456 100644
--- a/pkgs/development/interpreters/clisp/hg.nix
+++ b/pkgs/development/interpreters/clisp/hg.nix
@@ -5,8 +5,7 @@
 # - full: contains base plus modules in withModules
 { stdenv, fetchhg, libsigsegv, gettext, ncurses, readline, libX11
 , libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
-, libffi
-, libffcall
+, libffi, libffcall, automake
 , coreutils
 # build options
 , threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
@@ -24,19 +23,20 @@ assert x11Support -> (libX11 != null && libXau != null && libXt != null
   && libXpm != null && xproto != null && libXext != null && xextproto != null);
 
 stdenv.mkDerivation rec {
-  v = "2.50pre20161201";
+  v = "2.50pre20170130";
   name = "clisp-${v}";
 
   src = fetchhg {
     url = "http://hg.code.sf.net/p/clisp/clisp";
-    rev = "536a48";
-    sha256 = "097igsfpn8xipnjapyf5hx6smzh04v4ncskxl747xxn6pgpq813z";
+    rev = "130e74c8ea17";
+    sha256 = "1aqaxskvghc4ipbs3m4syvzn6bzj165zqvjpw0xa696i07vkk19j";
   };
 
   inherit libsigsegv gettext coreutils;
 
   ffcallAvailable = stdenv.isLinux && (libffcall != null);
 
+  nativeBuildInputs = [ automake ]; # sometimes fails otherwise
   buildInputs = [libsigsegv]
   ++ stdenv.lib.optional (gettext != null) gettext
   ++ stdenv.lib.optional (ncurses != null) ncurses
diff --git a/pkgs/development/interpreters/guile/default.nix b/pkgs/development/interpreters/guile/default.nix
index 6b4e6c2a7288..04f31dda26a0 100644
--- a/pkgs/development/interpreters/guile/default.nix
+++ b/pkgs/development/interpreters/guile/default.nix
@@ -30,9 +30,7 @@
   # A native Guile 2.0 is needed to cross-build Guile.
   selfNativeBuildInput = true;
 
-  # Guile 2.0.11 repeatable fails with 8-core parallel building because
-  # libguile/vm-i-system.i is not created in time
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch
     (fetchpatch {
diff --git a/pkgs/development/interpreters/lua-5/5.2.darwin.patch b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
index b314bd2abac3..be0e206bbfc7 100644
--- a/pkgs/development/interpreters/lua-5/5.2.darwin.patch
+++ b/pkgs/development/interpreters/lua-5/5.2.darwin.patch
@@ -15,8 +15,8 @@ index d2c7db4..dc107b3 100644
  	cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
  	cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
  	cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
-+	ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${majorVersion}.dylib
-+	ln -s -f liblua.${majorVersion}.dylib $(INSTALL_LIB)/liblua.dylib
++	ln -s -f liblua.${version}.dylib $(INSTALL_LIB)/liblua.${luaversion}.dylib
++	ln -s -f liblua.${luaversion}.dylib $(INSTALL_LIB)/liblua.dylib
  
  uninstall:
  	cd src && cd $(INSTALL_BIN) && $(RM) $(TO_BIN)
diff --git a/pkgs/development/interpreters/pure/default.nix b/pkgs/development/interpreters/pure/default.nix
index c471a3cdc0fb..133329f4f203 100644
--- a/pkgs/development/interpreters/pure/default.nix
+++ b/pkgs/development/interpreters/pure/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   baseName="pure";
   project="pure-lang";
-  version="0.64";
+  version="0.66";
   name="${baseName}-${version}";
   extension="tar.gz";
 
   src = fetchurl {
     url="https://bitbucket.org/purelang/${project}/downloads/${name}.${extension}";
-    sha256="01vvix302gh5vsmnjf2g0rrif3hl1yik4izsx1wrvv1a6hlm5mgg";
+    sha256="42df6832476e8bee3a7ca179671284c1edd7bc82b71062fa0de62fd2117ee676";
   };
 
   buildInputs = [ bison flex makeWrapper ];
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index b8fd4af812ab..e4eb8d3ab2ec 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, cmake, boost, gmp, mpfr, mesa_glu }:
+{ stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.7";
+  version = "4.9";
   name = "cgal-" + version;
 
-  src = fetchurl {
-    url = "https://github.com/CGAL/releases/archive/CGAL-${version}.tar.gz";
-    sha256 = "1hbp4qpfqvpggvv79yxr6z3w7y0nwd31zavb1s57y55yl9z3zfxy";
+  src = fetchFromGitHub {
+    owner = "CGAL";
+    repo = "releases";
+    rev = "CGAL-${version}";
+    sha256 = "044amgml1x5h17rpkck2azmxrmjvlzzykv71cjh5hlajsi88cid5";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
   #   there are also libCGAL_Qt{3,4} omitted ATM
-  buildInputs = [ cmake boost gmp mpfr ];
-  #propagatedBuildInputs = [ mesa_glu ];
+  buildInputs = [ boost gmp mpfr ];
+  nativeBuildInputs = [ cmake ];
 
   doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Computational Geometry Algorithms Library";
     homepage = http://cgal.org;
-    license = licenses.gpl3Plus; # some parts are GPLv3+, some are LGPLv3+
+    license = with licenses; [ gpl3Plus lgpl3Plus];
     platforms = platforms.all;
     maintainers = [ maintainers.raskin ];
   };
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 1d26fed805eb..cee0a81ccfbd 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL2 ];
 
-  configureFlags = [ "--enable-mmx" ];
+  configureFlags = if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx";
 
   meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index 10ba217175c3..9bc714c5538b 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -1,17 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, libtool, perl
-}:
+{ stdenv, fetchurl, pkgconfig, libtool, perl }:
 
 stdenv.mkDerivation rec {
   name = "ace-${version}";
-  version = "6.3.3";
+  version = "6.4.2";
+
   src = fetchurl {
-    url=http://download.dre.vanderbilt.edu/previous_versions/ACE-6.3.3.tar.bz2;
-    sha256 = "124qk205v8rx8p7rfigsargrpxjx3mh4nr99nlyk9csdc9gy8qpk";
+    url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
+    sha256 = "0dscvlgxy0fwma63azjkdbc85mh8k751ik67s88w6w75j0psld73";
   };
 
   enableParallelBuilding = true;
 
-  buildInputs = [ pkgconfig libtool perl ];
+  nativeBuildInputs = [ pkgconfig libtool ];
+  buildInputs = [ perl ];
 
   patchPhase = ''substituteInPlace ./MPC/prj_install.pl \
     --replace /usr/bin/perl "${perl}/bin/perl"'';
@@ -25,12 +26,11 @@ stdenv.mkDerivation rec {
     > include/makeinclude/platform_macros.GNU
   '';
 
-meta = {
+  meta = with stdenv.lib; {
     description = "ADAPTIVE Communication Environment";
     homepage = http://www.dre.vanderbilt.edu/~schmidt/ACE.html;
-    license = stdenv.lib.licenses.doc;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.nico202 ];
+    license = licenses.doc;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.nico202 ];
   };
 }
-
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index f53d9a9e26f1..1638c72e95f5 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,12 +1,12 @@
 # This file is autogenerated from update.sh in the same directory.
 {
-  gwenhywfar.version = "4.15.3";
-  gwenhywfar.sha256 = "0fp67s932x66xfljb26zbrn8ambbc5y5c3hllr6l284nr63qf3ka";
-  gwenhywfar.releaseId = "201";
+  gwenhywfar.version = "4.17.0";
+  gwenhywfar.sha256 = "1z9bm2r407x8vxk2nk6pndx0zhlk32j65z472ljkgjbh56mgzz8i";
+  gwenhywfar.releaseId = "205";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "200";
-  aqbanking.version = "5.6.10";
-  aqbanking.sha256 = "1x0isvpk43rq2zlyyb9p0kgjmqv7yq07vgkiprw3f5sjkykvxw6d";
-  aqbanking.releaseId = "206";
+  aqbanking.version = "5.6.12";
+  aqbanking.sha256 = "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6";
+  aqbanking.releaseId = "208";
 }
diff --git a/pkgs/development/libraries/aqbanking/update.sh b/pkgs/development/libraries/aqbanking/update.sh
index 2ba0192cbb64..8929e8bc6eb4 100755
--- a/pkgs/development/libraries/aqbanking/update.sh
+++ b/pkgs/development/libraries/aqbanking/update.sh
@@ -13,7 +13,7 @@ getCurrentVersions() {
 currentVersions="$(getCurrentVersions)"
 
 getLastestVersion() {
-    local baseurl="http://www.aquamaniac.de"
+    local baseurl="https://www.aquamaniac.de"
     local pkglist="sites/download/packages.php?package=$1&showall=1"
     local url="$baseurl/$pkglist"
     local reVersion='[0-9]+(\.[0-9]+)+' # Only release versions, no betas!
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
index 5fbc45a7c08b..e342d8ab6c09 100644
--- a/pkgs/development/libraries/assimp/default.nix
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -1,19 +1,17 @@
 { stdenv, fetchFromGitHub, unzip, cmake, boost, zlib }:
 
-let
-  version = "3.2";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "assimp-${version}";
+  version = "3.3.1";
 
   src = fetchFromGitHub{
     owner = "assimp";
     repo = "assimp";
     rev = "v${version}";
-    sha256 = "09fsksbq9a8gykwmw6gaicwh2ladrln1jc1xc5yk7w6x180cbb1x";
+    sha256 = "13y44fymj13h6alig0nqab91j2qch0yh9gq8yql2zz744ch2s5vc";
   };
 
-  buildInputs = [ unzip cmake boost zlib ];
+  buildInputs = [ cmake boost zlib ];
 
   meta = with stdenv.lib; {
     description = "A library to import various 3D model formats";
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index a14de67d7f39..3ea86b36a306 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -1,24 +1,23 @@
 { stdenv, fetchurl, alsaLib, fftw, libjack2, libsamplerate
-, libsndfile, pkgconfig, python2
+, libsndfile, pkgconfig, python3
 }:
 
 stdenv.mkDerivation rec {
-  name = "aubio-0.4.3";
+  name = "aubio-0.4.4";
 
   src = fetchurl {
     url = "http://aubio.org/pub/${name}.tar.bz2";
-    sha256 = "1azarklqggch8kkz3gbqwi2vlb6ld4lidyhp34qawr0c7h3xnb5n";
+    sha256 = "1y5zzwv9xjc649g4xrlqnim4q7pcwgzn0xrq3ijbmm5r4ckbkk9a";
   };
 
-  buildInputs = [
-    alsaLib fftw libjack2 libsamplerate libsndfile pkgconfig python2
-  ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ alsaLib fftw libjack2 libsamplerate libsndfile python3 ];
 
-  configurePhase = "${python2.interpreter} waf configure --prefix=$out";
+  configurePhase = "${python3.interpreter} waf configure --prefix=$out";
 
-  buildPhase = "${python2.interpreter} waf";
+  buildPhase = "${python3.interpreter} waf";
 
-  installPhase = "${python2.interpreter} waf install";
+  installPhase = "${python3.interpreter} waf install";
 
   meta = with stdenv.lib; {
     description = "Library for audio labelling";
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 8864d710174a..f0dbdcc7daf6 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom
+{ stdenv, lib, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, gcc6
 , withQt4 ? true, qt4 ? null
 , withQt5 ? false, qt5 ? null }:
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kji3lhha26qr6xm9j8ic5c40zbrrb5qnwm2qxzmsfxgmrz29wkf";
   };
 
-  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom ]
+  buildInputs = [ gtk2 lv2 pkgconfig python serd sord sratom gcc6 ]
     ++ (lib.optionals withQt4 [ qt4 ])
     ++ (lib.optionals withQt5 (with qt5; [ qtbase qttools ]));
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 6adcce45d808..174e9fe47769 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -126,7 +126,7 @@ stdenv.mkDerivation {
     description = "Collection of C++ libraries";
     license = stdenv.lib.licenses.boost;
 
-    platforms = platforms.unix;
+    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) platforms.unix;
     maintainers = with maintainers; [ peti wkennington ];
   };
 
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
new file mode 100644
index 000000000000..d3e655676e64
--- /dev/null
+++ b/pkgs/development/libraries/caf/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  name = "actor-framework-${version}";
+  version = "0.15.3";
+
+  src = fetchFromGitHub {
+    owner = "actor-framework";
+    repo = "actor-framework";
+    rev = "${version}";
+    sha256 = "0202nsdriigdh6sxi1k3hddvmf1x54qpykbvf2ghfhzyh0m1q7j2";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "An open source implementation of the actor model in C++";
+    homepage = http://actor-framework.org/;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ bobakker ];
+  };
+}
diff --git a/pkgs/development/libraries/cdk/default.nix b/pkgs/development/libraries/cdk/default.nix
index 614d57002cd2..a97ca5cc6980 100644
--- a/pkgs/development/libraries/cdk/default.nix
+++ b/pkgs/development/libraries/cdk/default.nix
@@ -1,11 +1,8 @@
 { stdenv, fetchurl, ncurses }:
 
-let
-  version = "5.0-20160131";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "cdk-${version}";
-  inherit version;
+  version ="5.0-20161210";
 
   buildInputs = [
     ncurses
@@ -13,13 +10,13 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "ftp://invisible-island.net/cdk/cdk-${version}.tgz";
-    sha256 = "08ic2f5rmi8niaxwxwr6l6lhpan7690x52vpldnbjcf20rc0fbf3";
+    sha256 = "1bazwcwz4qhxyc8jaahdd2nlm30f5dhy0f6cnix5rjjhi35mhxcy";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Curses development kit";
-    license = stdenv.lib.licenses.bsdOriginal ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.bsdOriginal ;
+    maintainers = [ maintainers.raskin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/chipmunk/default.nix b/pkgs/development/libraries/chipmunk/default.nix
index 52990097a230..2c50d8138057 100644
--- a/pkgs/development/libraries/chipmunk/default.nix
+++ b/pkgs/development/libraries/chipmunk/default.nix
@@ -5,15 +5,16 @@
 stdenv.mkDerivation rec {
   name = "chipmunk-${version}";
   majorVersion = "7";
-  version = "${majorVersion}.0.0";
+  version = "${majorVersion}.0.1";
 
   src = fetchurl {
     url = "https://chipmunk-physics.net/release/Chipmunk-${majorVersion}.x/Chipmunk-${version}.tgz";
-    sha256 = "1kaii8wgvp0kgn2p22jm9smyqlws4p5dg8j23jaiasx9jq1kiaql";
+    sha256 = "0q4jwv1icz8spcjkp0v3bnygi6hq2zmnsgcxkwm8i2bxfxjb8m7y";
   };
 
+  nativeBuildInputs = [ cmake ];
   buildInputs =
-    [ cmake freeglut mesa glfw2 glew libX11 xproto inputproto libXi libXmu ];
+    [ freeglut mesa glfw2 glew libX11 xproto inputproto libXi libXmu ];
 
   postInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 7c3c776e81b0..09c5eeb611ba 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchurl {
     url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
-    sha256 = "10dm9cfqb77g12pyjnqaw80860kzdcvskni02ll7afpywq8s15cg";
+    sha256 = "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cimg/default.nix b/pkgs/development/libraries/cimg/default.nix
index 722852f12700..a9470ee3f41b 100644
--- a/pkgs/development/libraries/cimg/default.nix
+++ b/pkgs/development/libraries/cimg/default.nix
@@ -4,14 +4,14 @@
 stdenv.mkDerivation rec {
 
   name = "cimg-${version}";
-  version = "1.7.0";
+  version = "1.7.9";
 
   src = fetchurl {
     url = "http://cimg.eu/files/CImg_${version}.zip";
-    sha256 = "06j3n7gvgxzvprqwf56nnca195y38dcbdlszrxyn5p9w9al437zj";
+    sha256 = "07g81jn25y2wksg9ycf9a7f5bfpcdl3xbrkp1xy3czl043a00y7s";
   };
 
-  buildInputs = [ unzip ];
+  nativeBuildInputs = [ unzip ];
 
   builder = ./builder.sh;
 
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
index 1fa45992aeee..b26327dd7754 100644
--- a/pkgs/development/libraries/cl/default.nix
+++ b/pkgs/development/libraries/cl/default.nix
@@ -1,19 +1,19 @@
-{stdenv, fetchurl, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }:
+{stdenv, fetchFromGitHub, SDL, mesa, rebar, erlang, opencl-headers, ocl-icd }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.3";
   name = "cl-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/tonyrog/cl/archive/${name}.tar.gz";
-    sha256 = "03jv280h9gqqqkm0mmkjr53srd2mzhvyy1biss77wpjrzq2z12c8";
+  src = fetchFromGitHub {
+    owner = "tonyrog";
+    repo = "cl";
+    rev = "cl-${version}";
+    sha256 = "1dk0k03z0ipxvrnn0kihph135hriw96jpnd31lbq44k6ckh6bm03";
   };
 
   buildInputs = [ erlang rebar opencl-headers ocl-icd ];
-  #propagatedBuildInputs = [ SDL mesa ];
-
+  
   buildPhase = ''
-    sed 's/git/"${version}"/' -i src/cl.app.src
     rebar compile
   '';
 
@@ -25,10 +25,10 @@ stdenv.mkDerivation rec {
     cp -ruv c_src doc ebin include priv src $DIR
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/tonyrog/cl;
     description = "OpenCL binding for Erlang";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.mit;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/concurrencykit/default.nix b/pkgs/development/libraries/concurrencykit/default.nix
index 3fad256e5728..29ce216cadf1 100644
--- a/pkgs/development/libraries/concurrencykit/default.nix
+++ b/pkgs/development/libraries/concurrencykit/default.nix
@@ -2,22 +2,23 @@
 
 stdenv.mkDerivation rec {
   name    = "concurrencykit-${version}";
-  version = "0.4.5";
+  version = "0.6.0";
 
   src = fetchurl {
     url    = "http://concurrencykit.org/releases/ck-${version}.tar.gz";
-    sha256 = "0mh3z8ibiwidc6qvrv8bx9slgcycxwy06kfngfzfza6nihrymzl9";
+    sha256 = "1pv21p7sjwwmbs2xblpy1lqk53r2i212yrqyjlr5dr3rlv87vqnp";
   };
+  
+  #Deleting this line causes "Unknown option --disable-static"
+  configurePhase = "./configure --prefix=$out";
 
   enableParallelBuilding = true;
 
-  configurePhase = "./configure --prefix=$out";
-
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library of safe, high-performance concurrent data structures";
-    homepage    = "http://concurrencykit.org";
-    license     = stdenv.lib.licenses.bsd2;
-    platforms   = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
+    homepage    = http://concurrencykit.org;
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = [ maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/development/libraries/dbus/make-session-conf.xsl b/pkgs/development/libraries/dbus/make-session-conf.xsl
index bc73369af944..9544aa13db56 100644
--- a/pkgs/development/libraries/dbus/make-session-conf.xsl
+++ b/pkgs/development/libraries/dbus/make-session-conf.xsl
@@ -18,7 +18,8 @@
 
   <xsl:template match="/busconfig">
     <busconfig>
-      <xsl:copy-of select="child::node()[name() != 'include' and name() != 'standard_session_servicedirs' and name() != 'servicedir' and name() != 'includedir']" />
+      <!-- We leave <standard_session_servicedirs/> because it includes XDG dirs and therefore user Nix profile. -->
+      <xsl:copy-of select="child::node()[name() != 'include' and name() != 'servicedir' and name() != 'includedir']" />
 
       <xsl:for-each select="str:tokenize($serviceDirectories)">
         <servicedir><xsl:value-of select="." />/share/dbus-1/services</servicedir>
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index 8a24445dcca7..fe4e7907c9fe 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -1,45 +1,25 @@
-{ stdenv, fetchurl, cmake, xlibsWrapper }:
+{ stdenv, fetchFromGitHub, cmake, xlibsWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "18.10";
+  version = "19.4";
   name = "dlib-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/dclib/dlib/${name}.tar.bz2";
-    sha256 = "1g3v13azc29m5r7zqs3x0g731hny6spb66cxnra7f167z31ka3s7";
+  src = fetchFromGitHub {
+    owner = "davisking";
+    repo = "dlib";
+    rev ="v${version}";
+    sha256 = "0zqa36i4s5i7n6284sp22qrhm3k37n9vqmpz068nm02vj9h0a2j4";
   };
 
-  # The supplied CMakeLists.txt does not have any install targets.
-  sources_var = "\$\{sources\}";
-  headers_var = "\$\{hearders\}";
-  preConfigure = ''
-    cat << EOF > CMakeLists.txt
-    cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
-    project(dlib)
-
-    include_directories(./)
-
-    file(GLOB sources ./dlib/all/*.cpp)
-    file(GLOB headers ./dlib/*.h)
-
-    SET(LIBRARY_OUTPUT_PATH ".")
-    add_library(dlib "SHARED" dlib/all/source.cpp ${sources_var} ${headers_var})
-
-    install(TARGETS dlib DESTINATION lib)
-    install(DIRECTORY dlib/ DESTINATION include/dlib FILES_MATCHING PATTERN "*.h")
-    EOF
-  '';   
-
   enableParallelBuilding = true;
-  buildInputs = [ cmake xlibsWrapper ];
-  propagatedBuildInputs = [ xlibsWrapper ];
+  nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "A general purpose cross-platform C++ machine learning library";
     homepage = http://www.dlib.net;
-    license = stdenv.lib.licenses.boost;
+    license = licenses.boost;
     maintainers = with maintainers; [ christopherpoole ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
   };
 }
 
diff --git a/pkgs/development/libraries/drumstick/default.nix b/pkgs/development/libraries/drumstick/default.nix
index 809037bb5edf..7ec72afc2bff 100644
--- a/pkgs/development/libraries/drumstick/default.nix
+++ b/pkgs/development/libraries/drumstick/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "drumstick-${version}";
-  version = "1.0.2";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${name}.tar.bz2";
-    sha256 = "0l47gy9yywrc860db5g3wdqg8yc8qdb2lqq6wvw1dfim5j0vbail";
+    sha256 = "13pkfqrav30bbcddgf1imd7jk6lpqbxkz1qv31718pdl446jq7df";
   };
 
   outputs = [ "out" "dev" "man" ];
@@ -28,8 +28,14 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  #Temporarily remove drumstick-piano; Gives segment fault. Submitted ticket
+  postInstall = ''
+    rm $out/bin/drumstick-vpiano
+    '';
+
+  nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [
-    alsaLib cmake doxygen fluidsynth pkgconfig qt5.qtbase qt5.qtsvg
+    alsaLib doxygen fluidsynth qt5.qtbase qt5.qtsvg
   ];
 
   meta = with stdenv.lib; {
@@ -37,6 +43,6 @@ stdenv.mkDerivation rec {
     description = "MIDI libraries for Qt5/C++";
     homepage = http://drumstick.sourceforge.net/;
     license = licenses.gpl2Plus;
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index c38759e0c757..374f52c9cb06 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   postInstall = ''
-    sed -e '/Cflags:/s@''${prefix}@@' -i "$out"/share/pkgconfig/eigen3.pc
+    sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
   '';
   
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 4df326e278cc..d6c0c538a8fe 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "0340v5xs48f28q2d16ldb9359dkzlhl4l449mgyv3qabnlz2pl21";
+    sha256 = "06ivj40bk5b76a36zwhnwqvg564hgccncnn5nb5cqc7kf4bkkchq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/msilbc/default.nix b/pkgs/development/libraries/msilbc/default.nix
index 1e868b79ce66..c7d65f156b8b 100644
--- a/pkgs/development/libraries/msilbc/default.nix
+++ b/pkgs/development/libraries/msilbc/default.nix
@@ -2,18 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "msilbc-2.0.3";
-  
+
   src = fetchurl {
     url = "mirror://savannah/linphone/plugins/sources/${name}.tar.gz";
     sha256 = "125yadpc0w1q84839dadin3ahs0gxxfas0zmc4c18mjmf58dmm7d";
   };
 
-#  patchPhase = "sed -i /MS_FILTER_SET_FMTP/d ilbc.c";
-
-  propagatedBuildInputs = [ilbc mediastreamer];
+  propagatedBuildInputs = [ ilbc mediastreamer ];
+  nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [pkgconfig];
-  configureFlags = "ILBC_LIBS=ilbc ILBC_CFLAGS=-I${ilbc}/include";
+  configureFlags = [
+    "ILBC_LIBS=ilbc" "ILBC_CFLAGS=-I${ilbc}/include"
+    "MEDIASTREAMER_LIBS=mediastreamer" "MEDIASTREAMER_CFLAGS=-I${mediastreamer}/include"
+  ];
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch
new file mode 100644
index 000000000000..39c1b9c0d290
--- /dev/null
+++ b/pkgs/development/libraries/phonon/backends/gst-plugin-paths.patch
@@ -0,0 +1,13 @@
+Index: phonon-gstreamer-4.9.0/gstreamer/backend.cpp
+===================================================================
+--- phonon-gstreamer-4.9.0.orig/gstreamer/backend.cpp
++++ phonon-gstreamer-4.9.0/gstreamer/backend.cpp
+@@ -85,6 +85,8 @@ Backend::Backend(QObject *parent, const
+         "--gst-debug-no-color"
+     };
+ 
++    qputenv("GST_PLUGIN_PATH_1_0", GST_PLUGIN_PATH_1_0);
++
+     int argc = sizeof(args) / sizeof(*args);
+     char **argv = const_cast<char**>(args);
+     GError *err = 0;
diff --git a/pkgs/development/libraries/phonon/backends/gstreamer.nix b/pkgs/development/libraries/phonon/backends/gstreamer.nix
index d8358757094d..e0f24fbc822a 100644
--- a/pkgs/development/libraries/phonon/backends/gstreamer.nix
+++ b/pkgs/development/libraries/phonon/backends/gstreamer.nix
@@ -29,15 +29,32 @@ stdenv.mkDerivation rec {
     sha256 = "1wc5p1rqglf0n1avp55s50k7fjdzdrhg0gind15k8796w7nfbhyf";
   };
 
+  # Hardcode paths to useful plugins so the backend doesn't depend
+  # on system paths being set.
+  patches = [ ./gst-plugin-paths.patch ];
+
+  NIX_CFLAGS_COMPILE =
+    let gstPluginPaths =
+          lib.makeSearchPathOutput "lib" "/lib/gstreamer-1.0"
+          (with gst_all_1; [
+            gstreamer
+            gst-plugins-base
+            gst-plugins-good
+            gst-plugins-ugly
+            gst-plugins-bad
+            gst-libav
+          ]);
+    in [
+      # This flag should be picked up through pkgconfig, but it isn't.
+      "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
+
+      ''-DGST_PLUGIN_PATH_1_0="${gstPluginPaths}"''
+    ];
+
   buildInputs = with gst_all_1;
     [ gstreamer gst-plugins-base phonon ]
     ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
 
-  NIX_CFLAGS_COMPILE = [
-    # This flag should be picked up through pkgconfig, but it isn't.
-    "-I${gst_all_1.gstreamer.dev}/lib/gstreamer-1.0/include"
-  ];
-
   # cleanup: the build system creates (empty) $out/$out/share/icons (double prefix)
   # if DESTDIR is unset
   DESTDIR="/";
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
index 85b38c6fc6ce..f468670674f0 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -107,12 +107,12 @@ let
       makeQtWrapper =
         makeSetupHook
         { deps = [ makeWrapper ]; }
-        ../make-qt-wrapper.sh;
+        (if stdenv.isDarwin then ../make-qt-wrapper-darwin.sh else ../make-qt-wrapper.sh);
 
       qmakeHook =
         makeSetupHook
         { deps = [ self.qtbase.dev ]; }
-        ../qmake-hook.sh;
+        (if stdenv.isDarwin then ../qmake-hook-darwin.sh else ../qmake-hook.sh);
 
     };
 
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch
new file mode 100644
index 000000000000..2fda5ed8cf0c
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths-darwin.patch
@@ -0,0 +1,384 @@
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+ endif()
+ !!ENDIF
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
+@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    if(NOT EXISTS \"${imported_location}\")
++        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    endif()
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+@@ -74,45 +53,17 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
+         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
+     )
+ 
+-!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+-    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+-    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+-    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+-        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+-        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
+-        )
+-    endif()
+-!!ENDIF
+ endmacro()
+ !!ENDIF
+ 
+ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ 
+ !!IF !no_module_headers
+-!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+-    )
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
++    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_OUT@/lib\" \"@NIX_OUT@/lib/$${MODULE_INCNAME}.framework/Headers\")
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++        \"\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
++
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+ 
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+-    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+-        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
++        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+ !!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+ !!ENDIF
+       AND EXISTS
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
++        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+ !!ENDIF // CMAKE_DEBUG_TYPE
+ !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
+@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+ !!ENDIF // CMAKE_RELEASE_TYPE
+ 
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+-!!ELSE
+     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+ 
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+-!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+-    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+-        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
+-!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
++        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+ !!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+ !!ENDIF
+       AND EXISTS
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
++        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+ !!ENDIF // CMAKE_RELEASE_TYPE
+ !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
+@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+-        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
++        set(imported_location \"${PLUGIN_LOCATION}\")
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+Index: qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/gui/Qt5GuiConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ qtbase-opensource-src-5.7.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.1/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.7.1/mkspecs/features/create_cmake.prf
+@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
+ 
+     win32 {
+         isEmpty(CMAKE_STATIC_TYPE) {
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
+         } else:mingw {
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
+         } else {                         # MSVC static
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
+         }
+     } else {
+         mac {
+             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
+             else: CMAKE_PlUGIN_EXT = .a
+ 
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+         } else {
+             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
+             else: CMAKE_PlUGIN_EXT = .a
+ 
+-            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+-            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
++            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
+         }
+     }
+     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
+Index: qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.1.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.7.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+@@ -2,10 +2,10 @@
+ add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
+ 
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
+ !!ENDIF
+ !!IF !isEmpty(CMAKE_DEBUG_TYPE)
+-_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
++_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
+ !!ENDIF
+ 
+ list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
index 73df6726f4a7..57b64bca1eab 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
@@ -4,6 +4,7 @@
 
   coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
   ruby,
+  darwin, libiconv,
 
   dbus, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite,
   libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
@@ -15,7 +16,8 @@
   cups ? null, mysql ? null, postgresql ? null,
 
   # options
-  mesaSupported, mesa,
+  mesaSupported ? (!stdenv.isDarwin),
+  mesa,
   buildExamples ? false,
   buildTests ? false,
   developerBuild ? false,
@@ -35,6 +37,7 @@ stdenv.mkDerivation {
 
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
+    ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
     ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
     ++ lib.optional mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
 
@@ -54,11 +57,11 @@ stdenv.mkDerivation {
       substituteInPlace src/network/kernel/qhostinfo_unix.cpp \
         --replace "@glibc@" "${stdenv.cc.libc.out}"
 
-      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
       substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \
         --replace "@openssl@" "${openssl.out}"
+    '' + lib.optionalString stdenv.isLinux ''
+      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
+        --replace "@libXcursor@" "${libXcursor.out}"
 
       substituteInPlace src/dbus/qdbus_symbols.cpp \
         --replace "@dbus_libs@" "${dbus.lib}"
@@ -74,8 +77,23 @@ stdenv.mkDerivation {
       substituteInPlace mkspecs/common/linux.conf \
         --replace "@mesa_lib@" "${mesa.out}" \
         --replace "@mesa_inc@" "${mesa.dev or mesa}"
-    '';
-
+    ''+ lib.optionalString stdenv.isDarwin ''
+      sed -i \
+          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
+          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
+          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot="${darwin.apple_sdk.sdk}"|' \
+          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
+          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
+          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
+          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
+          ./configure
+      sed -i '3,$d' ./mkspecs/features/mac/default_pre.prf
+      sed -i '26,$d' ./mkspecs/features/mac/default_post.prf
+      sed -i '1,$d' ./mkspecs/features/mac/sdk.prf
+      sed 's/QMAKE_LFLAGS_RPATH      = -Wl,-rpath,/QMAKE_LFLAGS_RPATH      =/' -i ./mkspecs/common/mac.conf
+     '';
+     # Note on the above: \x27 is a way if including a single-quote
+     # character in the sed string arguments.
 
   setOutputFlags = false;
   preConfigure = ''
@@ -103,7 +121,6 @@ stdenv.mkDerivation {
     ${lib.optionalString developerBuild "-developer-build"}
     -largefile
     -accessibility
-    -rpath
     -optimized-qmake
     -strip
     -no-reduce-relocations
@@ -117,15 +134,6 @@ stdenv.mkDerivation {
     -iconv
     -icu
     -pch
-    -glib
-    -xcb
-    -qpa xcb
-    -${lib.optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
 
     ${lib.optionalString (!system-x86_64) "-no-sse2"}
     -no-sse3
@@ -141,13 +149,8 @@ stdenv.mkDerivation {
     -system-libpng
     -system-libjpeg
     -system-harfbuzz
-    -system-xcb
-    -system-xkbcommon
     -system-pcre
     -openssl-linked
-    -dbus-linked
-    -libinput
-    -gtk
 
     -system-sqlite
     -${if mysql != null then "plugin" else "no"}-sql-mysql
@@ -158,7 +161,30 @@ stdenv.mkDerivation {
     -${lib.optionalString (buildExamples == false) "no"}make examples
     -${lib.optionalString (buildTests == false) "no"}make tests
     -v
-  '';
+  '' + lib.optionalString (!stdenv.isDarwin) ''
+    -no-rpath
+    -glib
+    -xcb
+    -qpa xcb
+
+    -${lib.optionalString (cups == null) "no-"}cups
+
+    -no-eglfs
+    -no-directfb
+    -no-linuxfb
+    -no-kms
+
+    -libinput
+    -gtk
+    -system-xcb
+    -system-xkbcommon
+    -dbus-linked
+  '' + lib.optionalString stdenv.isDarwin ''
+    -platform macx-clang
+    -no-use-gold-linker
+    -no-fontconfig
+    -qt-freetype
+   '';
 
   # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
   # if dependency paths contain the string "pq", which can occur in the hash.
@@ -166,32 +192,44 @@ stdenv.mkDerivation {
   PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
 
   propagatedBuildInputs = [
-    dbus glib libxml2 libxslt openssl pcre16 sqlite udev zlib
+    libxml2 libxslt openssl pcre16 sqlite zlib
+
+    # Text rendering
+    harfbuzz icu
 
     # Image formats
     libjpeg libpng libtiff
+  ]
+  ++ lib.optional mesaSupported mesa
+  ++ lib.optionals (!stdenv.isDarwin) [
+    dbus glib udev
 
     # Text rendering
-    fontconfig freetype harfbuzz icu
+    fontconfig freetype
 
     # X11 libs
     libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
     xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-  ]
-  ++ lib.optional mesaSupported mesa;
+   ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ApplicationServices CoreServices AppKit Carbon OpenGL AGL Cocoa
+    DiskArbitration darwin.cf-private libiconv darwin.apple_sdk.sdk
+  ]);
 
-  buildInputs =
-    [ gtk3 libinput ]
+  buildInputs = [ ]
+    ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ]
     ++ lib.optional developerBuild gdb
     ++ lib.optional (cups != null) cups
     ++ lib.optional (mysql != null) mysql.lib
     ++ lib.optional (postgresql != null) postgresql;
 
-  nativeBuildInputs =
-    [ bison flex gperf lndir patchelf perl pkgconfig python2 ];
+  nativeBuildInputs = [ bison flex gperf lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf;
 
   # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare";
+  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
+    + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))";
+  # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
+  # 10.9 which necessitates the above macro definition that mentions
+  # 10.10
 
   postInstall = ''
     find "$out" -name "*.cmake" | while read file; do
@@ -221,7 +259,7 @@ stdenv.mkDerivation {
       # Move libtool archives and qmake projects
       if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
           pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la' -o -name '*.prl' | \
+          find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \
               while read -r file; do
                   mkdir -p "''${!outputDev}/$(dirname "$file")"
                   mv "''${!outputLib}/$file" "''${!outputDev}/$file"
@@ -258,7 +296,9 @@ stdenv.mkDerivation {
     '';
 
   inherit lndir;
-  setupHook = ../../qtbase-setup-hook.sh;
+  setupHook = if stdenv.isDarwin
+              then ../../qtbase-setup-hook-darwin.sh
+              else ../../qtbase-setup-hook.sh;
 
   enableParallelBuilding = true;
 
@@ -267,7 +307,7 @@ stdenv.mkDerivation {
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
     maintainers = with maintainers; [ bbenoist qknight ttuegel ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/series b/pkgs/development/libraries/qt-5/5.7/qtbase/series
index 44e2d9040807..2196d8383752 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/series
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/series
@@ -7,4 +7,3 @@ xdg-config-dirs.patch
 nix-profiles-library-paths.patch
 compose-search-path.patch
 libressl.patch
-cmake-paths.patch
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index bd1de3e9f93e..e8328252a117 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -73,7 +73,7 @@ let
               if(versionSpec == "latest" || versionSpec == "unstable" ||
                   versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
                   return '*';
-              else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
+              else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" || parsedUrl.protocol == "github:" ||
                   parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
                   return '*';
               else
diff --git a/pkgs/development/ocaml-modules/cpuid/default.nix b/pkgs/development/ocaml-modules/cpuid/default.nix
new file mode 100644
index 000000000000..1bdf70e86c5a
--- /dev/null
+++ b/pkgs/development/ocaml-modules/cpuid/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, ocaml, findlib, ocamlbuild, opam, topkg, ocb-stubblr }:
+
+stdenv.mkDerivation {
+  name = "ocaml${ocaml.version}-cpuid-0.1.0";
+
+  src = fetchurl {
+    url = http://github.com/pqwy/cpuid/releases/download/v0.1.0/cpuid-0.1.0.tbz;
+    sha256 = "08k2558a3dnxn8msgpz8c93sfn0y027ganfdi2yvql0fp1ixv97p";
+  };
+
+  unpackCmd = "tar xjf $src";
+
+  buildInputs = [ ocaml findlib ocamlbuild opam topkg ocb-stubblr ];
+
+  inherit (topkg) buildPhase installPhase;
+
+  meta = {
+    homepage = https://github.com/pqwy/cpuid;
+    description = "Detect CPU features from OCaml";
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/llvm/default.nix b/pkgs/development/ocaml-modules/llvm/default.nix
index 351a773a6f7b..3bced92cc3e3 100644
--- a/pkgs/development/ocaml-modules/llvm/default.nix
+++ b/pkgs/development/ocaml-modules/llvm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, python, llvm, ocaml, findlib, ctypes }:
+{ stdenv, fetchpatch, python, cmake, llvm, ocaml, findlib, ctypes }:
 
 let version = stdenv.lib.getVersion llvm; in
 
@@ -7,21 +7,23 @@ stdenv.mkDerivation {
 
   inherit (llvm) src;
 
-  buildInputs = [ python llvm ocaml findlib ctypes ];
+  buildInputs = [ python cmake llvm ocaml findlib ctypes ];
 
-  configurePhase = ''
-    mkdir build
-    cd build
-    ../configure --disable-compiler-version-checks --prefix=$out \
-    --disable-doxygen --disable-docs --with-ocaml-libdir=$OCAMLFIND_DESTDIR/llvm \
-    --enable-static
-    '';
+  patches = [ (fetchpatch {
+    url = https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/llvm/llvm.3.9/files/cmake.patch;
+    sha256 = "1fcc6ylfiw1npdhx7mrsj7h0dx7cym7i9664kpr76zqazb52ikm9";
+  })];
 
-  enableParallelBuilding = false;
+  cmakeFlags = [ "-DLLVM_OCAML_OUT_OF_TREE=TRUE" ];
 
-  makeFlags = [ "-C bindings" "SYSTEM_LLVM_CONFIG=llvm-config" ];
+  buildFlags = "ocaml_all";
+
+  installFlags = "-C bindings/ocaml";
 
   postInstall = ''
+    mv $out/lib/ocaml $out/ocaml
+    mkdir -p $OCAMLFIND_DESTDIR/
+    mv $out/ocaml $OCAMLFIND_DESTDIR/llvm
     mv $OCAMLFIND_DESTDIR/llvm/META{.llvm,}
   '';
 
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
new file mode 100644
index 000000000000..3694dd2d6abc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, jbuilder, result }:
+
+stdenv.mkDerivation rec {
+   name = "ocaml${ocaml.version}-ocaml-migrate-parsetree-${version}";
+   version = "0.5";
+
+   src = fetchFromGitHub {
+     owner = "let-def";
+     repo = "ocaml-migrate-parsetree";
+     rev = "v${version}";
+     sha256 = "023lnd3kxa3d4zgsvv0z2lyzhg05zcgagy18vaalimbza57wq83h";
+   };
+
+   buildInputs = [ ocaml findlib ocamlbuild jbuilder ];
+   propagatedBuildInputs = [ result ];
+
+   installPhase = ''
+     for p in *.install
+     do
+       ${jbuilder.installPhase} $p
+     done
+   '';
+
+   meta = {
+     description = "Convert OCaml parsetrees between different major versions";
+     license = stdenv.lib.licenses.lgpl21;
+     maintainers = [ stdenv.lib.maintainers.vbgl ];
+     inherit (src.meta) homepage;
+     inherit (ocaml.meta) platforms;
+   };
+}
diff --git a/pkgs/development/pure-modules/octave/default.nix b/pkgs/development/pure-modules/octave/default.nix
index 9f9527d0f025..61bc7a4d5c15 100644
--- a/pkgs/development/pure-modules/octave/default.nix
+++ b/pkgs/development/pure-modules/octave/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, pure, octave }:
+{ stdenv, fetchurl, pkgconfig, pure, octave, gcc6 }:
 
 stdenv.mkDerivation rec {
   baseName = "octave";
-  version = "0.7";
+  version = "0.9";
   name = "pure-${baseName}-${version}";
 
   src = fetchurl {
     url = "https://bitbucket.org/purelang/pure-lang/downloads/${name}.tar.gz";
-    sha256 = "04c1q5cjcyc5sg15ny1hn43rkphja3virw4k110cahc3piwbpsqk";
+    sha256 = "0l1mvmi3rpabzjcrk6p04rdn922mvdm9x67zby3dha5iiccc47q0";
   };
 
-  buildInputs = [ pkgconfig ];
+  buildInputs = [ pkgconfig gcc6 ];
   propagatedBuildInputs = [ pure octave ];
   makeFlags = "libdir=$(out)/lib prefix=$(out)/";
   setupHook = ../generic-setup-hook.sh;
diff --git a/pkgs/development/python-modules/ds4drv.nix b/pkgs/development/python-modules/ds4drv.nix
new file mode 100644
index 000000000000..8698a65ea11b
--- /dev/null
+++ b/pkgs/development/python-modules/ds4drv.nix
@@ -0,0 +1,27 @@
+{ lib, fetchFromGitHub, buildPythonPackage
+, evdev, pyudev
+, bluez
+}:
+
+buildPythonPackage rec {
+  name = "ds4drv-${version}";
+  version = "0.5.1";
+
+  # PyPi only carries py3 wheel
+  src = fetchFromGitHub {
+    owner = "chrippa";
+    repo = "ds4drv";
+    rev = "v${version}";
+    sha256 = "0vinpla0apizzykcyfis79mrm1i6fhns83nkzw85svypdhkx2g8v";
+  };
+
+  propagatedBuildInputs = [ evdev pyudev ];
+
+  buildInputs = [ bluez ];
+
+  meta = {
+    description = "Userspace driver for the DualShock 4 controller";
+    homepage = "https://github.com/chrippa/ds4drv";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/edward/default.nix b/pkgs/development/python-modules/edward/default.nix
new file mode 100644
index 000000000000..0ae81aef0968
--- /dev/null
+++ b/pkgs/development/python-modules/edward/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPy27, pythonAtLeast
+, Keras, numpy, scipy, six, tensorflow }:
+
+buildPythonPackage rec {
+  pname = "edward";
+  version = "1.2.2";
+  name  = "${pname}-${version}";
+
+  disabled = !(isPy27 || pythonAtLeast "3.4");
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h9i15l7mczwx8jvabjbvxjjidr13x81h6vylb1p8r308w01r2as";
+  };
+
+  # disabled for now due to Tensorflow trying to create files in $HOME:
+  doCheck = false;
+
+  propagatedBuildInputs = [ Keras numpy scipy six tensorflow ];
+
+  meta = with stdenv.lib; {
+    description = "Probabilistic programming language using Tensorflow";
+    homepage = https://github.com/blei-lab/edward;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/first/default.nix b/pkgs/development/python-modules/first/default.nix
new file mode 100644
index 000000000000..5ecbff90442d
--- /dev/null
+++ b/pkgs/development/python-modules/first/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+let
+  pname = "first";
+  version = "2.0.1";
+in
+buildPythonPackage {
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pn9hl2y0pz61la1xhkdz6vl9i2dg3nh0ksizcf0f9ybh8sxxcrv";
+  };
+
+  doCheck = false; # no tests
+
+  meta = with stdenv.lib; {
+    description = "The function you always missed in Python";
+    homepage = https://github.com/hynek/first/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/hypothesis.nix b/pkgs/development/python-modules/hypothesis.nix
index f313f6ab5c4d..e961d56abcb6 100644
--- a/pkgs/development/python-modules/hypothesis.nix
+++ b/pkgs/development/python-modules/hypothesis.nix
@@ -1,5 +1,5 @@
 { stdenv, buildPythonPackage, fetchFromGitHub, python
-, isPy27, enum34
+, pythonOlder, enum34
 , doCheck ? true, pytest, flake8, flaky
 }:
 buildPythonPackage rec {
@@ -10,18 +10,18 @@ buildPythonPackage rec {
   # If you need these, you can just add them to your environment.
 
   name = "hypothesis-${version}";
-  version = "3.6.0";
+  version = "3.6.1";
 
   # Upstream prefers github tarballs
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
     repo = "hypothesis";
     rev = "${version}";
-    sha256 = "0a3r4c8sr9jn7sv419vdzrzfc9sp7zf105f1lgyiwyzi3cgyvcvg";
+    sha256 = "1zwr9g4h4jizbvm2d7fywdpcxmw8i1m85h8g72kizah07gk12aq1";
   };
 
   buildInputs = stdenv.lib.optionals doCheck [ pytest flake8 flaky ];
-  propagatedBuildInputs = stdenv.lib.optionals isPy27 [ enum34 ];
+  propagatedBuildInputs = stdenv.lib.optionals (pythonOlder "3.4") [ enum34 ];
 
   inherit doCheck;
 
diff --git a/pkgs/development/python-modules/mnemonic.nix b/pkgs/development/python-modules/mnemonic.nix
new file mode 100644
index 000000000000..9f71fdb8e741
--- /dev/null
+++ b/pkgs/development/python-modules/mnemonic.nix
@@ -0,0 +1,21 @@
+{ lib, fetchurl, buildPythonPackage, pbkdf2 }:
+
+buildPythonPackage rec {
+  pname = "mnemonic";
+  version = "0.17";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/m/${pname}/${name}.tar.gz";
+    sha256 = "1hq6xb47jagfqf65iwcrh0065mj3521d2mxmahg7vfraihqyqdjn";
+  };
+
+  propagatedBuildInputs = [ pbkdf2 ];
+
+  meta = {
+    description = "Implementation of Bitcoin BIP-0039";
+    homepage = https://github.com/trezor/python-mnemonic;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/python-modules/pep257.nix b/pkgs/development/python-modules/pep257.nix
index f185019b0f7a..1cd0e4afc0ce 100644
--- a/pkgs/development/python-modules/pep257.nix
+++ b/pkgs/development/python-modules/pep257.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
     homepage = https://github.com/GreenSteam/pep257/;
     description = "Python docstring style checker";
     longDescription = "Static analysis tool for checking compliance with Python PEP 257.";
-    lecense = licenses.mit;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
new file mode 100644
index 000000000000..fe307513de7c
--- /dev/null
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, buildPythonPackage, pip, pytest, click, six, first, glibcLocales }:
+buildPythonPackage rec {
+  pname = "pip-tools";
+  version = "1.8.1rc3";
+  name = "pip-tools-${version}";
+
+  src = fetchFromGitHub {
+    owner = "jazzband";
+    repo = "pip-tools";
+    rev = version;
+    sha256 = "09rbgzj71bfp1x1jfr1zx3vax4qjbw5l6vcd3fqvshsdvg9lcnpx";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+  buildInputs = [ pytest glibcLocales ];
+  propagatedBuildInputs = [ pip click six first ];
+
+  checkPhase = ''
+    export HOME=$(mktemp -d)
+    py.test -k "not test_realistic_complex_sub_dependencies" # requires network
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Keeps your pinned dependencies fresh";
+    homepage = https://github.com/jazzband/pip-tools/;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ zimbatm ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyaes.nix b/pkgs/development/python-modules/pyaes.nix
new file mode 100644
index 000000000000..c2feb2e239c7
--- /dev/null
+++ b/pkgs/development/python-modules/pyaes.nix
@@ -0,0 +1,18 @@
+{ lib, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  pname = "pyaes";
+  version = "1.6.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bp9bjqy1n6ij1zb86wz9lqa1dhla8qr1d7w2kxyn7jbj56sbmcw";
+  };
+
+  meta = {
+    description = "Pure-Python AES";
+    license = lib.licenses.mit;
+    homepage = https://github.com/ricmoo/pyaes;
+  };
+}
diff --git a/pkgs/development/python-modules/pyudev.nix b/pkgs/development/python-modules/pyudev.nix
new file mode 100644
index 000000000000..98607501e032
--- /dev/null
+++ b/pkgs/development/python-modules/pyudev.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildPythonPackage
+, six, systemd
+}:
+
+buildPythonPackage rec {
+  name = "pyudev-${version}";
+  version = "0.21.0";
+
+  src = fetchurl {
+    url = "mirror://pypi/p/pyudev/${name}.tar.gz";
+    sha256 = "0arz0dqp75sszsmgm6vhg92n1lsx91ihddx3m944f4ah0487ljq9";
+  };
+
+  postPatch = ''
+    substituteInPlace src/pyudev/_ctypeslib/libudev.py \
+      --replace "find_library('udev')" "'${systemd.lib}/lib/libudev.so'"
+    '';
+
+  propagatedBuildInputs = [ systemd six ];
+
+  meta = {
+    homepage = "http://pyudev.readthedocs.org/";
+    description = "Pure Python libudev binding";
+    license = lib.licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/trezor.nix b/pkgs/development/python-modules/trezor.nix
new file mode 100644
index 000000000000..36bf0c15de25
--- /dev/null
+++ b/pkgs/development/python-modules/trezor.nix
@@ -0,0 +1,26 @@
+{ lib, fetchurl, buildPythonPackage, protobuf3_0, hidapi, ecdsa, mnemonic }:
+
+buildPythonPackage rec {
+  pname = "trezor";
+  version = "0.7.12";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://pypi/t/${pname}/${name}.tar.gz";
+    sha256 = "0ryqdk13x60qq5s68i9dfc1na4dka66kdxqycxignzg9k9ykaa8g";
+  };
+
+  propagatedBuildInputs = [ protobuf3_0 hidapi ];
+
+  buildInputs = [ ecdsa mnemonic ];
+
+  # There are no actual tests: "ImportError: No module named tests"
+  doCheck = false;
+
+  meta = {
+    description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
+    homepage = https://github.com/trezor/python-trezor;
+    license = lib.licenses.gpl3;
+    maintainers = with lib.maintainers; [ np ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index c1cb4412b9ca..1b41a10bb9c4 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -3,14 +3,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.39.0";
+  version = "0.41.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "05a0kvhlakm7c7n19npg77rj52cz6282290126sfn0qq2059zhli";
+    sha256 = "0v3dhvvj4k35h7g42rmpwc9hqi2z0ccg7rmk8ad00l0djs13l18z";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 1c1dace284f1..5befd5e620d5 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -13,12 +13,12 @@ let
   optional = stdenv.lib.optional;
 in
 stdenv.mkDerivation rec {
-  version = "0.10.6";
+  version = "1.3.0";
   name = "radare2-${version}";
 
   src = fetchurl {
-    url = "http://radare.org/get/${name}.tar.xz";
-    sha256 = "0icxd8zilygnggxc50lkk6jmcq8xl66rqxqhzqwpiprbn8k7b24f";
+    url = "http://cloud.radare.org/get/${version}/${name}.tar.gz";
+    sha256 = "08p2vhv6vkqvknwq18xl5wgf843lbpbmb111x23gkkxm6vxvpydd";
   };
 
 
@@ -29,10 +29,10 @@ stdenv.mkDerivation rec {
     ++ optional luaBindings [lua];
 
   meta = {
-    description = "Free advanced command line hexadecimal editor";
+    description = "unix-like reverse engineering framework and commandline tools";
     homepage = http://radare.org/;
     license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [raskin];
+    maintainers = with stdenv.lib.maintainers; [raskin makefu];
     platforms = with stdenv.lib.platforms; linux;
     inherit version;
   };
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 2ecb5eaa1329..80e3fdfc8072 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, perl, gdb }:
+{ stdenv, fetchurl, fetchpatch, perl, gdb, llvm, cctools, xnu, bootstrap_cmds }:
 
 stdenv.mkDerivation rec {
   name = "valgrind-3.12.0";
@@ -14,11 +14,13 @@ stdenv.mkDerivation rec {
 
   # Perl is needed for `cg_annotate'.
   # GDB is needed to provide a sane default for `--db-command'.
-  buildInputs = [ perl ] ++ stdenv.lib.optional (!stdenv.isDarwin) gdb;
+  buildInputs = [ perl gdb ]  ++ stdenv.lib.optionals (stdenv.isDarwin) [ bootstrap_cmds xnu ];
 
   enableParallelBuilding = true;
 
-  postPatch =
+  patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
+
+  postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
     ''
       echo "getting rid of the \`-arch' GCC option..."
@@ -27,6 +29,23 @@ stdenv.mkDerivation rec {
 
       sed -i coregrind/link_tool_exe_darwin.in \
           -e 's/^my \$archstr = .*/my $archstr = "x86_64";/g'
+
+      echo "substitute hardcoded /usr/include/mach with ${xnu}/include/mach"
+      substituteInPlace coregrind/Makefile.in \
+         --replace /usr/include/mach ${xnu}/include/mach
+
+      echo "substitute hardcoded dsymutil with ${llvm}/bin/llvm-dsymutil"
+      find -name "Makefile.in" | while read file; do
+         substituteInPlace "$file" \
+           --replace dsymutil ${llvm}/bin/llvm-dsymutil
+      done
+
+      substituteInPlace coregrind/m_debuginfo/readmacho.c \
+         --replace /usr/bin/dsymutil ${llvm}/bin/llvm-dsymutil
+
+      echo "substitute hardcoded /usr/bin/ld with ${cctools}/bin/ld"
+      substituteInPlace coregrind/link_tool_exe_darwin.in \
+        --replace /usr/bin/ld ${cctools}/bin/ld
     '';
 
   configureFlags =
@@ -58,6 +77,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
 
     maintainers = [ stdenv.lib.maintainers.eelco ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
new file mode 100644
index 000000000000..f56a277ad717
--- /dev/null
+++ b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
@@ -0,0 +1,37 @@
+Index: coregrind/m_main.c
+===================================================================
+--- a/coregrind/m_main.c (revision 16102)
++++ b/coregrind/m_main.c (revision 16103)
+@@ -3489,6 +3489,10 @@
+     // skip check
+   return VG_(memset)(s,c,n);
+ }
++void __bzero(void* s, UWord n);
++void __bzero(void* s, UWord n) {
++    (void)VG_(memset)(s,0,n);
++}
+ void bzero(void *s, SizeT n);
+ void bzero(void *s, SizeT n) {
+     VG_(memset)(s,0,n);
+@@ -4058,20 +4062,7 @@
+ 
+ #endif
+ 
+-#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
+ 
+-/* This might also be needed for > DARWIN_10_10, but I have no way
+-   to test for that.  Hence '==' rather than '>=' in the version
+-   test above. */
+-void __bzero ( void* s, UWord n );
+-void __bzero ( void* s, UWord n )
+-{
+-   (void) VG_(memset)( s, 0, n );
+-}
+-
+-#endif
+-
+-
+ /*--------------------------------------------------------------------*/
+ /*--- end                                                          ---*/
+ /*--------------------------------------------------------------------*/
+
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 3196b6728e05..7b42e5877520 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jenkins-${version}";
-  version = "2.44";
+  version = "2.49";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "01v9p0p27czwsk7ljv1879b5qcrhgy7zan6dj8klr9rci1id8x0d";
+    sha256 = "0c7qnrx87wrgxgh4im1i6sqlxq3hsrs119krh5vwjzx5wp6daa93";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/tools/heroku/default.nix b/pkgs/development/tools/heroku/default.nix
index f9c43ee841ba..6334bb2e5ddf 100644
--- a/pkgs/development/tools/heroku/default.nix
+++ b/pkgs/development/tools/heroku/default.nix
@@ -6,7 +6,7 @@ with stdenv.lib;
 let
   cli = buildGoPackage rec {
     name = "cli-${version}";
-    version = "5.6.14";
+    version = "5.6.32";
 
     goPackagePath = "github.com/heroku/cli";
 
@@ -14,8 +14,21 @@ let
       owner  = "heroku";
       repo   = "cli";
       rev    = "v${version}";
-      sha256 = "11jccham1vkmh5284l6i30na4a4y7b1jhi2ci2z2wwx8m3gkypq9";
+      sha256 = "062aa79mv2njjb0ix7isbz6646wxmsldv27bsz5v2pbv597km0vz";
     };
+
+    buildFlagsArray = ''
+      -ldflags=
+        -X=main.Version=${version}
+        -X=main.Channel=stable
+        -X=main.Autoupdate=no
+    '';
+
+    preCheck = ''
+      export HOME=/tmp
+    '';
+
+    doCheck = true;
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/ocaml/jbuilder/default.nix b/pkgs/development/tools/ocaml/jbuilder/default.nix
new file mode 100644
index 000000000000..9d6485841fae
--- /dev/null
+++ b/pkgs/development/tools/ocaml/jbuilder/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchzip, ocaml, opam }:
+
+stdenv.mkDerivation {
+  name = "jbuilder-1.0+beta2";
+  src = fetchzip {
+    url = http://github.com/janestreet/jbuilder/archive/1.0+beta2.tar.gz;
+    sha256 = "0xbq6p0n4a740l3jvq4a0a58mwfcal0q37vi8ix053f3jiqki6ng";
+  };
+
+  buildInputs = [ ocaml ];
+
+  installPhase = "${opam}/bin/opam-installer -i --prefix=$out --libdir=$OCAMLFIND_DESTDIR";
+
+  preFixup = "rm -rf $out/jbuilder";
+
+  meta = {
+    homepage = https://github.com/janestreet/jbuilder;
+    description = "Fast, portable and opinionated build system";
+    maintainers = [ stdenv.lib.maintainers.vbgl ];
+    license = stdenv.lib.licenses.asl20;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index c7d26fc79ddb..59a16bfc27cb 100644
--- a/pkgs/development/tools/scalafmt/default.nix
+++ b/pkgs/development/tools/scalafmt/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, unzip, jre }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.8";
+  version = "0.6.2";
   baseName = "scalafmt";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "https://github.com/olafurpg/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
-    sha256 = "0pwmmn5k5wscmpidxpc88yrgm7gkpk9ssdh97lz0fjqln99gwp8r";
+    sha256 = "0xafl7vmncdycapi9shxqf73nhb24llgxjd2x98irmr9bvzg844q";
   };
 
   unpackPhase = "tar xvzf $src";
diff --git a/pkgs/development/tools/simavr/default.nix b/pkgs/development/tools/simavr/default.nix
index 82c2c131f07f..9fa6b8b5716c 100644
--- a/pkgs/development/tools/simavr/default.nix
+++ b/pkgs/development/tools/simavr/default.nix
@@ -4,7 +4,6 @@
 stdenv.mkDerivation rec {
   name = "simavr-${version}";
   version = "1.5";
-  enableParallelBuilding = true;
 
   src = fetchFromGitHub {
     owner = "buserror";
@@ -13,6 +12,9 @@ stdenv.mkDerivation rec {
     sha256 = "0b2lh6l2niv80dmbm9xkamvnivkbmqw6v97sy29afalrwfxylxla";
   };
 
+  # ld: cannot find -lsimavr
+  enableParallelBuilding = false;
+
   buildFlags = "AVR_ROOT=${avrgcclibc}/avr SIMAVR_VERSION=${version}";
   installFlags = buildFlags + " DESTDIR=$(out)";
 
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index cb6c4614a1a4..b3049736b710 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -1,13 +1,14 @@
-{stdenv, fetchurl, fetchgit, zip, unzip, firefox, bash}:
+{stdenv, fetchurl, fetchgit, fetchFromGitHub, zip, unzip, firefox, bash}:
 let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.10.2";
+    version="0.10.3";
     name="${baseName}-${version}";
-    hash="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
-    url="http://download.slimerjs.org/releases/0.10.2/slimerjs-0.10.2.zip";
-    sha256="16pg12bvfqls707nsdqi3bl1c833kncsvnd0qiq5692lrh93x529";
+    owner = "laurentj";
+    repo = "${baseName}";
+    sha256="16v6a1kcq8il4snbrgsq5xmxs35alzf4qlmscr2yli95xq5fnl5y";
+    rev = "${version}";
   };
   buildInputs = [
     unzip zip
@@ -16,12 +17,15 @@ in
 stdenv.mkDerivation {
   inherit (s) name version;
   inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
+  #src = fetchurl {
+  #  inherit (s) url sha256;
+  #};
   #src = fetchgit {
   #  inherit (s) url sha256 rev;
   #};
+  src = fetchFromGitHub {
+    inherit (s) owner repo rev sha256;
+  };
   preConfigure = ''
     test -d src && cd src
     test -f omni.ja || zip omni.ja -r */
diff --git a/pkgs/development/tools/vndr/default.nix b/pkgs/development/tools/vndr/default.nix
index 7cc77bd1bb39..14f01863c8a4 100644
--- a/pkgs/development/tools/vndr/default.nix
+++ b/pkgs/development/tools/vndr/default.nix
@@ -18,6 +18,6 @@ buildGoPackage rec {
     description = "Stupid golang vendoring tool, inspired by docker vendor script";
     homepage = "https://github.com/LK4D4/vndr";
     maintainers = with lib.maintainers; [ vdemeester ];
-    licence = lib.licenses.asl20;
+    license = lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/web/nodejs/v7.nix b/pkgs/development/web/nodejs/v7.nix
index b34d84ac851a..a93cd16e00e1 100644
--- a/pkgs/development/web/nodejs/v7.nix
+++ b/pkgs/development/web/nodejs/v7.nix
@@ -10,11 +10,11 @@ let
   baseName = if enableNpm then "nodejs" else "nodejs-slim";
 in
   stdenv.mkDerivation (nodejs // rec {
-    version = "7.7.1";
+    version = "7.7.2";
     name = "${baseName}-${version}";
     src = fetchurl {
       url = "https://nodejs.org/download/release/v${version}/node-v${version}.tar.xz";
-      sha256 = "04bn7c2hvhs6dqjz3khrlqyspljbxiw7y7g4fkjkn8k7lwmchpwn";
+      sha256 = "117mqhvnvipyaq02knq75ikbk1swrw42b0kw6iijqb6k8j78si77";
     };
 
   })
diff --git a/pkgs/misc/screensavers/vlock/eintr.patch b/pkgs/misc/screensavers/vlock/eintr.patch
index e33b52228fc3..64f432434324 100644
--- a/pkgs/misc/screensavers/vlock/eintr.patch
+++ b/pkgs/misc/screensavers/vlock/eintr.patch
@@ -4,11 +4,13 @@ vlock-start[14567]: vlock-new: could not activate new terminal: Interrupted syst
 
 I think this should fix that.
 
+Also on github: https://github.com/viric/vlock/commit/781a26087f83c7247601b6f82f784cca9266694e
+
 diff --git a/modules/new.c b/modules/new.c
-index e9b15fb..1f692fd 100644
+index e9b15fb..7aed640 100644
 --- a/modules/new.c
 +++ b/modules/new.c
-@@ -103,7 +103,10 @@ static char *get_console_name(int n)
+@@ -103,9 +103,19 @@ static char *get_console_name(int n)
   * file descriptor. */
  static int activate_console(int consfd, int vtno)
  {
@@ -18,5 +20,15 @@ index e9b15fb..1f692fd 100644
 +    c = ioctl(consfd, VT_ACTIVATE, vtno);
 +  } while(c != 0 && errno == EINTR);
  
-   return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno);
+-  return c < 0 ? c : ioctl(consfd, VT_WAITACTIVE, vtno);
++  if (c < 0)
++      return c;
++
++  do {
++    c = ioctl(consfd, VT_WAITACTIVE, vtno);
++  } while(c != 0 && errno == EINTR);
++
++  return c;
  }
+ 
+ struct new_console_context {
diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix
index 0ee928754db7..5d58e50fd7b8 100644
--- a/pkgs/os-specific/linux/batman-adv/alfred.nix
+++ b/pkgs/os-specific/linux/batman-adv/alfred.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, gpsd, libcap, libnl }:
 
 let
-  ver = "2016.5";
+  ver = "2017.0";
 in
 stdenv.mkDerivation rec {
   name = "alfred-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1ln997qyknkfm7xp4vx5lm0z833ksn1gn4dyjvr3qr1pgyzvmcrp";
+    sha256 = "1a0gnl8v8l7zj01hca0srbsc11sk51rj1qac6lw242z35hyximpq";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix
index c8cab86413fb..e7c20a07b051 100644
--- a/pkgs/os-specific/linux/batman-adv/batctl.nix
+++ b/pkgs/os-specific/linux/batman-adv/batctl.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, pkgconfig, libnl }:
 
 let
-  ver = "2016.5";
+  ver = "2017.0";
 in
 stdenv.mkDerivation rec {
   name = "batctl-${ver}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz";
-    sha256 = "1saa088ggsr7bwlvnzpgjj6zqn51j0km96f4x1djhj55hwfypv87";
+    sha256 = "11n66hcs4jdnfdl896kzz22zlw8d2p8n6sldxfmlc2q7sqki3fy0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix
index 044469986245..1449d85fc162 100644
--- a/pkgs/os-specific/linux/batman-adv/default.nix
+++ b/pkgs/os-specific/linux/batman-adv/default.nix
@@ -2,14 +2,14 @@
 
 #assert stdenv.lib.versionOlder kernel.version "3.17";
 
-let base = "batman-adv-2016.5"; in
+let base = "batman-adv-2017.0.1"; in
 
 stdenv.mkDerivation rec {
   name = "${base}-${kernel.version}";
 
   src = fetchurl {
     url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz";
-    sha256 = "1dqdzpxdrgqpgkc6bqfvbvx5x18bpd9y459j0iyva47lqj8gr86h";
+    sha256 = "0z640jgi9l9355s8v75yhrb9wjyc7cd4618pjpb17vy576bvrhjm";
   };
 
   hardeningDisable = [ "pic" ];
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 dcc52de7fe7e..69f0a16785d1 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 = "2017-02-06";
+  version = "2017-03-11";
 
   # This repo is built by merging the latest versions of
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "fpletz";
     repo = "linux-firmware";
     rev = version;
-    sha256 = "1r5ph97rqp8asw8kx65izb3p934669n2na20yfwplbsk76c9i82v";
+    sha256 = "05hz78z919jnacvk4i1mghjn2h15ph91vkffgi4w94zhzbf77cna";
   };
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 8acf67d3dd15..329f80d0e67e 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -32,17 +32,20 @@ with stdenv.lib;
   # Debugging.
   DEBUG_KERNEL y
   DYNAMIC_DEBUG y
-  TIMER_STATS y
   BACKTRACE_SELF_TEST n
   CPU_NOTIFIER_ERROR_INJECT? n
   DEBUG_DEVRES n
-  DEBUG_NX_TEST n
   DEBUG_STACK_USAGE n
   DEBUG_STACKOVERFLOW n
   RCU_TORTURE_TEST n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
 
+  ${optionalString (versionOlder version "4.11") ''
+    TIMER_STATS y
+    DEBUG_NX_TEST n
+  ''}
+
   # Bump the maximum number of CPUs to support systems like EC2 x1.*
   # instances and Xeon Phi.
   ${optionalString (stdenv.system == "x86_64-linux" || stdenv.system == "aarch64-linux") ''
@@ -147,8 +150,8 @@ with stdenv.lib;
   L2TP_ETH m
   BRIDGE_VLAN_FILTERING y
   BONDING m
-  NET_L3_MASTER_DEV y
-  NET_FOU_IP_TUNNELS y
+  NET_L3_MASTER_DEV? y
+  NET_FOU_IP_TUNNELS? y
 
   # Wireless networking.
   CFG80211_WEXT? y # Without it, ipw2200 drivers don't build
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index a0d089807193..f82eb073de9a 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.70";
+  version = "3.12.71";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "07l6wjhlii2qlki447d702fi1ycyd85iq750xjmsnnz9xrilw7sc";
+    sha256 = "11wmrj2zqb3x2az22q7ggdp6ibhqmlngy7v01fm8vrhz7f6lwf87";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 9290bb125f50..2327c882f2d0 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.13";
+  version = "4.9.14";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0s52hrs3wrsa1chzgcqpxwgb5kjmpfd82i964n9d2bmk9zn4liin";
+    sha256 = "0h5nnf9h00fsd7q66rapvwmfxs4pi0vjljk92ir5vid59hzk8kak";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index 859385c4e994..b10ef6a6a67d 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.13";
+  version = "4.9.14";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha512 = "2mszr7n212ryaw5q2lj92766aqnjznkfr7ly04g2ggzk7cyiirrf1w37d9arzg3smn5695fb1frikacnbrmz2hsaia48kjhwgjbxn2h";
+    sha512 = "0qc78s1j3mm03qs5m3dkc1ah9zchwdkmnkl1bl516dr9gy9i386all5c3f9bxniy8dd3lsk7bgfyqnigav1gyaki7vf9jh9ywqz58vd";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index e3a4206f1ca7..124486606637 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.10-rc7";
-  modDirVersion = "4.10.0-rc7";
-  extraMeta.branch = "4.10";
+  version = "4.11-rc1";
+  modDirVersion = "4.11.0-rc1";
+  extraMeta.branch = "4.11";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "01jq4bxb8jcnawhsklc9aa2ba9sg7k5g97jp0slpbi8xw71dripl";
+    sha256 = "19zcyjqiw255d48k1mk33i1wgbiwv58nn3dw9i9079hfb843s28l";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 83020ad35a2b..e07a89fc1e64 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -102,6 +102,13 @@ let
         make $makeFlags "''${makeFlagsArray[@]}" oldconfig
         runHook postConfigure
 
+        make $makeFlags prepare
+        actualModDirVersion="$(cat $buildRoot/include/config/kernel.release)"
+        if [ "$actualModDirVersion" != "${modDirVersion}" ]; then
+          echo "Error: modDirVersion specified in the Nix expression is wrong, it should be: $actualModDirVersion"
+          exit 1
+        fi
+
         # Note: we can get rid of this once http://permalink.gmane.org/gmane.linux.kbuild.devel/13800 is merged.
         buildFlagsArray+=("KBUILD_BUILD_TIMESTAMP=$(date -u -d @$SOURCE_DATE_EPOCH)")
       '';
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index fffe524b11f3..25441c5a5d26 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -95,9 +95,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.9.13";
-      grrev  = "201703052141";
-      sha512 = "197n21975ifp2nkpl6d7v3r9fllw2l7pyd2h8cic7dnigy65a5jqx1sxhqryivijx3czf6hj173q999j218ihlg15p6a7aqjhkh90kf";
+    { kver   = "4.9.14";
+      grrev  = "201703121245";
+      sha512 = "1h9d1vvfwxn8flzhbii7xd808cmhw8az895sk3fam2vjy5ls1mxvrmvw0z9nzx5sq2hgjg9adyz52y5nj2rza09n3m2gn4i7lid81hh";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index bf3a05f11161..bab7038aa475 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -29,6 +29,11 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./support-db2x.patch
+    (fetchurl {
+      name = "CVE-2017-5985.patch";
+      url = "https://github.com/lxc/lxc/commit/d512bd5efb0e407eba350c4e649c464a65b712a3.patch";
+      sha256 = "0v1rhlfviadsxj2wmbl7nqb64p6y2bxm9y43sc44jg3k6mkr0r5c";
+    })
   ];
 
   XML_CATALOG_FILES = "${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml";
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 5e26fef6e19d..f04ff107ea66 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -6,19 +6,19 @@ in
 {
   # Policy: use the highest stable version as the default (on our master).
   stable = generic {
-    version = "375.26";
-    sha256_32bit = "0yv19rkz2wzzj0fygfjb1mh21iy769kff3yg2kzk8bsiwnmcyybw";
-    sha256_64bit = "1kqy9ayja3g5znj2hzx8pklz8qi0b0l9da7c3ldg3hlxf31v4hjg";
-    settingsSha256 = "1s8zf5cfhx8m05fvws0gh1q0wy5zyyg2j510zlwp4hk35y7dic5y";
-    persistencedSha256 = "15r6rbzyk4yaqkpkqs8j00zc7jbhgp8naskv93dwjyw0lnj0wgky";
+    version = "375.39";
+    sha256_32bit = "0mlly5n84640xa2mcdqqg44s42ck6g3lj5skf7gmfp2w5ibzccvz";
+    sha256_64bit = "19w5v81f770rqjrvdwz11k015zli2y8f4x10ydqxcy0nhhh5mgli";
+    settingsSha256 = "0f881q4jzliqzqi1p5lzwz86h829m5g74zdj7nlfi1cc6s45g5p5";
+    persistencedSha256 = "0zj6wdcgg2ljhvsssfsqz9wk28ykmsh4gwmis31q3rsrkq668x33";
   };
 
   beta = generic {
-    version = "378.09";
-    sha256_32bit = "0a1vwvsqi89pn29c9aii53xq8292dxf68sr8lxzx4bpqjqmsbapy";
-    sha256_64bit = "018qqg9zlpwd2cad99vbn18rnrrkrqybs7q65h8dmxirkx4pcvh8";
-    settingsSha256 = "1fjkpqmzdzk46p1chzxqvbj3cpqcwwx4qmv33yjq7z2a5zab9z8v";
-    persistencedSha256 = "1svaa5a0zz0r8qy6pg9lnhy5zmffvw0h120h46qqd01pkb4yv5lc";
+    version = "378.13";
+    sha256_32bit = "1ca6kbk20kki5f698x1ga9b1v1is4mr10f7f70s3gixak1h2mrh5";
+    sha256_64bit = "1vj2vyy6vim0qis7iqq4la6k6bnby65p3qjbl888qnpjkqj7kqrx";
+    settingsSha256 = "08q04cd769l1i6737ylvanaxrqg8fym05kjp7kvpz28764g96gxj";
+    persistencedSha256 = "0hmxp5fbxwl9f7c9fspg65my6lwynpqhz02zw7100dgwqb2vn1qj";
   };
 
   legacy_340 = generic {
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 9e39a6df09c1..eb4d3ae224a0 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -42,6 +42,13 @@ let
         }
       else throw "nvidia-x11 does not support platform ${stdenv.system}";
 
+    # patch to get the nvidia and nvidiaBeta driver to compile on kernel 4.10
+    patches = if versionOlder version "375"
+              then null
+              else [ (fetchurl {
+                      url = https://git.archlinux.org/svntogit/packages.git/plain/trunk/kernel_4.10.patch?h=packages/nvidia;  sha256 = "0zhpx3baq2pca2pmz1af5cp2nzjxjx0j9w5xrdy204mnv3v2708z";
+                     }) ];
+
     inherit version useGLVND useProfiles;
     inherit (stdenv) system;
 
diff --git a/pkgs/servers/http/pshs/default.nix b/pkgs/servers/http/pshs/default.nix
index b9a42b4a5f61..38ab4bd3187d 100644
--- a/pkgs/servers/http/pshs/default.nix
+++ b/pkgs/servers/http/pshs/default.nix
@@ -1,24 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, libevent, file, qrencode, miniupnpc }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libevent, file, qrencode, miniupnpc }:
 
-let
-  version = "0.3";
-in stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "pshs-${version}";
+  version = "0.3.1";
 
-  src = fetchurl {
-    url = "https://www.bitbucket.org/mgorny/pshs/downloads/pshs-${version}.tar.bz2";
-    sha256 = "0qvy1m9jmbjhbihs1qr9nasbaajl3n0x8bgz1vw9xvpkqymx5i63";
+  src = fetchFromGitHub {
+    owner = "mgorny";
+    repo = "pshs";
+    rev = "v${version}";
+    sha256 = "18mhxdjlyr21gghzkrrlp0imicb6bqf741p0a21c2rkvs4bv8c1w";
   };
 
-  buildInputs = [ pkgconfig libevent file qrencode miniupnpc ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libevent file qrencode miniupnpc ];
 
   # SSL requires libevent at 2.1 with ssl support
   configureFlags = "--disable-ssl";
 
   meta = {
     description = "Pretty small HTTP server - a command-line tool to share files";
-    homepage = "https://bitbucket.org/mgorny/pshs/";
+    homepage = "https://github.com/mgorny/pshs";
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.eduarrrd ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix
index 68e3ad4ca426..bf7b5d8d6ed1 100644
--- a/pkgs/servers/mail/exim/default.nix
+++ b/pkgs/servers/mail/exim/default.nix
@@ -1,11 +1,11 @@
 { coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "exim-4.88";
+  name = "exim-4.89";
 
   src = fetchurl {
-    url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.bz2";
-    sha256 = "0bca3wb45hl7h8m8bpvsmrmqa07jhbhqyigs9pl29hhzwgbmz78i";
+    url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.xz";
+    sha256 = "09lndv34jsxwglq5zsh9y4xaqj5g37g9ca4x0zb25fvvm4f0lj8c";
   };
 
   buildInputs = [ coreutils db openssl pcre perl pkgconfig ];
diff --git a/pkgs/servers/web-apps/pump.io/generate.sh b/pkgs/servers/web-apps/pump.io/generate.sh
index 51e05ce37d6b..6dc91c72c09e 100755
--- a/pkgs/servers/web-apps/pump.io/generate.sh
+++ b/pkgs/servers/web-apps/pump.io/generate.sh
@@ -15,15 +15,23 @@ set -e
 # Also jshon does funny things with slashes in strings, which can be
 # fixed with sed.
 
-curl https://raw.githubusercontent.com/e14n/pump.io/v1.0.0/package.json | \
+VERSION="3.0.0"
+URL="https://registry.npmjs.org/pump.io/-/pump.io-$VERSION.tgz"
+SHA1="ycfm7ak83xi8mgafhp9q0n6n3kzmdz16"
+
+curl https://raw.githubusercontent.com/e14n/pump.io/v$VERSION/package.json | \
     jshon -e dependencies              \
           -s '*' -i databank-mongodb   \
           -s '*' -i databank-redis     \
-          -s '*' -i databank-memcached \
           -s '*' -i databank-lrucache  \
           -p | sed 's=\\/=/=g' > full-package.json
 
 node2nix --input full-package.json --composition composition.nix --node-env ../../../development/node-packages/node-env.nix
 
 # overriding nodePackages src doesn't seem to work, so...
-sed -i 's|src = ./.|src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; }|' node-packages.nix
+sed -i "s|src = ./.|src = fetchurl { url = \"$URL\"; sha1 = \"$SHA1\"; }|" node-packages.nix
+
+# fetchgit or node2nix is having problems with submodules or something.
+# This is the sha256 for connect-auth which is a npm dep hosted on
+# github and containing submodules.
+sed -i "s|d08fecbb72aff14ecb39dc310e8965ba92228f0c0def41fbde3db5ea7a1aac19|1b052xpj10hanx21286i5w0jrwxxkiwbdzpdngg9s2j1m7a9543b|" node-packages.nix
diff --git a/pkgs/servers/web-apps/pump.io/node-packages.nix b/pkgs/servers/web-apps/pump.io/node-packages.nix
index ab3022b95123..a275ef4ca402 100644
--- a/pkgs/servers/web-apps/pump.io/node-packages.nix
+++ b/pkgs/servers/web-apps/pump.io/node-packages.nix
@@ -13,13 +13,22 @@ let
         sha1 = "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093";
       };
     };
-    "bunyan-1.8.5" = {
+    "bunyan-1.8.8" = {
       name = "bunyan";
       packageName = "bunyan";
-      version = "1.8.5";
+      version = "1.8.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.5.tgz";
-        sha1 = "0d619e83005fb89070f5f47982fc1bf00600878a";
+        url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.8.tgz";
+        sha1 = "6549ed6db088e4d82b7be3bcc6d0697159f6e209";
+      };
+    };
+    "colors-1.1.2" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
       };
     };
     "connect-2.30.2" = {
@@ -31,13 +40,14 @@ let
         sha1 = "8da9bcbe8a054d3d318d74dfec903b5c39a1b609";
       };
     };
-    "connect-auth-0.6.1" = {
+    "connect-auth-git://github.com/e14n/connect-auth" = {
       name = "connect-auth";
       packageName = "connect-auth";
-      version = "0.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect-auth/-/connect-auth-0.6.1.tgz";
-        sha1 = "8d798153d6c8e78cb809de82a436f1de7c79868f";
+      version = "0.6.0";
+      src = fetchgit {
+        url = "git://github.com/e14n/connect-auth";
+        rev = "ae4e3c4c86a5d266be7bd91c2b99856f9a37b1ec";
+        sha256 = "1b052xpj10hanx21286i5w0jrwxxkiwbdzpdngg9s2j1m7a9543b";
       };
     };
     "connect-databank-1.0.3" = {
@@ -49,6 +59,15 @@ let
         sha1 = "dad24f08dc385d9c3a94f1a52730aec0c7d13b02";
       };
     };
+    "connect-multiparty-2.0.0" = {
+      name = "connect-multiparty";
+      packageName = "connect-multiparty";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.0.0.tgz";
+        sha1 = "57a7b61cc7b31b6eef4a62878d60d771b23699ab";
+      };
+    };
     "crypto-cacerts-0.1.0" = {
       name = "crypto-cacerts";
       packageName = "crypto-cacerts";
@@ -58,13 +77,13 @@ let
         sha1 = "3499c6dff949ab005d4ad4a3f09c48ced6c88a41";
       };
     };
-    "databank-0.19.5" = {
+    "databank-0.19.8" = {
       name = "databank";
       packageName = "databank";
-      version = "0.19.5";
+      version = "0.19.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/databank/-/databank-0.19.5.tgz";
-        sha1 = "edcbd954b84730c0c5d0de551e004b92f1f53119";
+        url = "https://registry.npmjs.org/databank/-/databank-0.19.8.tgz";
+        sha1 = "bf73d6b4fc002045793faeff2b1c3fabc9999844";
       };
     };
     "dateformat-1.0.12" = {
@@ -85,13 +104,13 @@ let
         sha1 = "051806a88a6cc18ffb25adf13eda232e354ebcb6";
       };
     };
-    "dompurify-0.8.4" = {
+    "dompurify-0.8.5" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "0.8.4";
+      version = "0.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.4.tgz";
-        sha1 = "93cabe8b6b84f3cf83f63b985ff71ef05f8cdeb6";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-0.8.5.tgz";
+        sha1 = "5bc591b61e222243cc827ca382d7a2e2660c1a44";
       };
     };
     "emailjs-1.0.8" = {
@@ -103,22 +122,22 @@ let
         sha1 = "d4240db7670dc78aff97352092d8460edc130f66";
       };
     };
-    "express-2.5.11" = {
+    "express-3.21.2" = {
       name = "express";
       packageName = "express";
-      version = "2.5.11";
+      version = "3.21.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-2.5.11.tgz";
-        sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
+        url = "https://registry.npmjs.org/express/-/express-3.21.2.tgz";
+        sha1 = "0c2903ee5c54e63d65a96170764703550665a3de";
       };
     };
-    "express-session-1.14.2" = {
+    "express-session-1.15.1" = {
       name = "express-session";
       packageName = "express-session";
-      version = "1.14.2";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.14.2.tgz";
-        sha1 = "6bcf586ed6d1dc37b02570087756c9de7b80b275";
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.15.1.tgz";
+        sha1 = "9abba15971beea7ad98da5a4d25ed92ba4a2984e";
       };
     };
     "gm-1.23.0" = {
@@ -130,13 +149,22 @@ let
         sha1 = "80a2fe9cbf131515024846444658461269f52661";
       };
     };
-    "helmet-2.3.0" = {
+    "helmet-3.4.1" = {
       name = "helmet";
       packageName = "helmet";
-      version = "2.3.0";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet/-/helmet-3.4.1.tgz";
+        sha1 = "27d37629227f25a110f2a128bfe1b1028648a397";
+      };
+    };
+    "jade-1.11.0" = {
+      name = "jade";
+      packageName = "jade";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/helmet/-/helmet-2.3.0.tgz";
-        sha1 = "d655c85b55b0a3bf722a4c2c66e48b78b4161b91";
+        url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz";
+        sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
       };
     };
     "jankyqueue-0.1.1" = {
@@ -157,6 +185,15 @@ let
         sha1 = "40b402770c2bda23469096bee91ab675e3b1fc6e";
       };
     };
+    "method-override-2.3.7" = {
+      name = "method-override";
+      packageName = "method-override";
+      version = "2.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.7.tgz";
+        sha1 = "8e1d47ac480fb0cd8777083f11c896901166b2e5";
+      };
+    };
     "mkdirp-0.5.1" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -166,15 +203,6 @@ let
         sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
       };
     };
-    "node-uuid-1.4.7" = {
-      name = "node-uuid";
-      packageName = "node-uuid";
-      version = "1.4.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
-        sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
-      };
-    };
     "oauth-evanp-0.9.10-evanp.2" = {
       name = "oauth-evanp";
       packageName = "oauth-evanp";
@@ -184,6 +212,15 @@ let
         sha1 = "9b5fb3508cea584420855957d56531405cf53a02";
       };
     };
+    "octal-1.0.0" = {
+      name = "octal";
+      packageName = "octal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz";
+        sha1 = "63e7162a68efbeb9e213588d58e989d1e5c4530b";
+      };
+    };
     "optimist-0.6.1" = {
       name = "optimist";
       packageName = "optimist";
@@ -193,13 +230,13 @@ let
         sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
       };
     };
-    "rimraf-2.5.4" = {
+    "rimraf-2.6.1" = {
       name = "rimraf";
       packageName = "rimraf";
-      version = "2.5.4";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz";
-        sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04";
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz";
+        sha1 = "c2338ec643df7a1b7fe5c54fa86f57428a55f33d";
       };
     };
     "sanitize-html-1.14.1" = {
@@ -229,13 +266,13 @@ let
         sha1 = "765e7607c8055452bba6f0b052595350986036de";
       };
     };
-    "showdown-1.6.0" = {
+    "showdown-1.6.4" = {
       name = "showdown";
       packageName = "showdown";
-      version = "1.6.0";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/showdown/-/showdown-1.6.0.tgz";
-        sha1 = "4a3cd2b73c45914f8cc00a388303be78b9f3e2a4";
+        url = "https://registry.npmjs.org/showdown/-/showdown-1.6.4.tgz";
+        sha1 = "056bbb654ecdb8d8643ae12d6d597893ccaf46c6";
       };
     };
     "sockjs-0.3.18" = {
@@ -247,13 +284,22 @@ let
         sha1 = "d9b289316ca7df77595ef299e075f0f937eb4207";
       };
     };
-    "step-0.0.6" = {
+    "ssl-config-0.0.9" = {
+      name = "ssl-config";
+      packageName = "ssl-config";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ssl-config/-/ssl-config-0.0.9.tgz";
+        sha1 = "905ed1b7ddd0564aa9395cd4ae7146907351ff2c";
+      };
+    };
+    "step-1.0.0" = {
       name = "step";
       packageName = "step";
-      version = "0.0.6";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz";
-        sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
+        url = "https://registry.npmjs.org/step/-/step-1.0.0.tgz";
+        sha1 = "b300e9d2ae9057d4d78633aae2303813a94bdff2";
       };
     };
     "ua-parser-js-0.7.12" = {
@@ -283,13 +329,13 @@ let
         sha1 = "665b66c24783f8fa2b18c9f8cbb0e2c7d48c26c7";
       };
     };
-    "utml-0.2.0" = {
-      name = "utml";
-      packageName = "utml";
-      version = "0.2.0";
+    "uuid-3.0.1" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utml/-/utml-0.2.0.tgz";
-        sha1 = "6a546741823b2a9c17598a57e8eb4c08738dee48";
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
+        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
       };
     };
     "validator-4.4.0" = {
@@ -310,13 +356,13 @@ let
         sha1 = "3477a6d97799461896039fcffc650b73468ee76d";
       };
     };
-    "databank-mongodb-0.19.0" = {
+    "databank-mongodb-1.0.0" = {
       name = "databank-mongodb";
       packageName = "databank-mongodb";
-      version = "0.19.0";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-0.19.0.tgz";
-        sha1 = "66ffa32848986d0e138403396506d64895fefc45";
+        url = "https://registry.npmjs.org/databank-mongodb/-/databank-mongodb-1.0.0.tgz";
+        sha1 = "66f229698df1d4f7e9e3ad849a30174b2aae527b";
       };
     };
     "databank-redis-0.19.6" = {
@@ -328,15 +374,6 @@ let
         sha1 = "dd476b81b8200269ea0cc85f6b6decd05799bce9";
       };
     };
-    "databank-memcached-0.15.0" = {
-      name = "databank-memcached";
-      packageName = "databank-memcached";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/databank-memcached/-/databank-memcached-0.15.0.tgz";
-        sha1 = "0817452dfb2b09267cd1c8bbec95363ec14f14f2";
-      };
-    };
     "databank-lrucache-0.1.2" = {
       name = "databank-lrucache";
       packageName = "databank-lrucache";
@@ -364,13 +401,13 @@ let
         sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08";
       };
     };
-    "dtrace-provider-0.8.0" = {
+    "dtrace-provider-0.8.1" = {
       name = "dtrace-provider";
       packageName = "dtrace-provider";
-      version = "0.8.0";
+      version = "0.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.0.tgz";
-        sha1 = "fa95fbf67ed3ae3e97364f9664af7302e5ff5625";
+        url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.1.tgz";
+        sha1 = "cd4d174a233bea1bcf4a1fbfa5798f44f48cda9f";
       };
     };
     "mv-2.1.1" = {
@@ -382,13 +419,13 @@ let
         sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
       };
     };
-    "safe-json-stringify-1.0.3" = {
+    "safe-json-stringify-1.0.4" = {
       name = "safe-json-stringify";
       packageName = "safe-json-stringify";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz";
-        sha1 = "3cb6717660a086d07cb5bd9b7a6875bcf67bd05e";
+        url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.4.tgz";
+        sha1 = "81a098f447e4bbc3ff3312a243521bc060ef5911";
       };
     };
     "moment-2.17.1" = {
@@ -400,13 +437,13 @@ let
         sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
       };
     };
-    "nan-2.5.0" = {
+    "nan-2.5.1" = {
       name = "nan";
       packageName = "nan";
-      version = "2.5.0";
+      version = "2.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz";
-        sha1 = "aa8f1e34531d807e9e27755b234b4a6ec0c152a8";
+        url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz";
+        sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2";
       };
     };
     "ncp-2.0.0" = {
@@ -670,15 +707,6 @@ let
         sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
       };
     };
-    "method-override-2.3.7" = {
-      name = "method-override";
-      packageName = "method-override";
-      version = "2.3.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/method-override/-/method-override-2.3.7.tgz";
-        sha1 = "8e1d47ac480fb0cd8777083f11c896901166b2e5";
-      };
-    };
     "morgan-1.6.1" = {
       name = "morgan";
       packageName = "morgan";
@@ -922,13 +950,13 @@ let
         sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
       };
     };
-    "csrf-3.0.4" = {
+    "csrf-3.0.5" = {
       name = "csrf";
       packageName = "csrf";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csrf/-/csrf-3.0.4.tgz";
-        sha1 = "ba01423e5b5bea7b655e38b0bdd1323954cbdaa5";
+        url = "https://registry.npmjs.org/csrf/-/csrf-3.0.5.tgz";
+        sha1 = "3c3aa86f395dd39f86d68fcf1734a2380f466112";
       };
     };
     "base64-url-1.3.3" = {
@@ -958,13 +986,13 @@ let
         sha1 = "7dc4a33af71581ab4337da91d85ca5427ebd9a97";
       };
     };
-    "uid-safe-2.1.3" = {
+    "uid-safe-2.1.4" = {
       name = "uid-safe";
       packageName = "uid-safe";
-      version = "2.1.3";
+      version = "2.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.3.tgz";
-        sha1 = "077e264a00b3187936b270bb7376a26473631071";
+        url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.4.tgz";
+        sha1 = "3ad6f38368c6d4c8c75ec17623fb79aa1d071d81";
       };
     };
     "random-bytes-1.0.0" = {
@@ -1048,42 +1076,6 @@ let
         sha1 = "faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e";
       };
     };
-    "debug-2.3.3" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz";
-        sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c";
-      };
-    };
-    "methods-1.1.2" = {
-      name = "methods";
-      packageName = "methods";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-      };
-    };
-    "vary-1.1.0" = {
-      name = "vary";
-      packageName = "vary";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
-        sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
-      };
-    };
-    "ms-0.7.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "0.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
-        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
-      };
-    };
     "basic-auth-1.0.4" = {
       name = "basic-auth";
       packageName = "basic-auth";
@@ -1156,6 +1148,15 @@ let
         sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
       };
     };
+    "ms-0.7.2" = {
+      name = "ms";
+      packageName = "ms";
+      version = "0.7.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
+        sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
+      };
+    };
     "batch-0.5.3" = {
       name = "batch";
       packageName = "batch";
@@ -1174,22 +1175,13 @@ let
         sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
       };
     };
-    "connect-2.7.11" = {
-      name = "connect";
-      packageName = "connect";
-      version = "2.7.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-2.7.11.tgz";
-        sha1 = "f561d5eef70b8d719c397f724d34ba4065c77a3e";
-      };
-    };
-    "oauth-0.9.10" = {
+    "oauth-0.9.7" = {
       name = "oauth";
       packageName = "oauth";
-      version = "0.9.10";
+      version = "0.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.10.tgz";
-        sha1 = "7d356af319a16d889e581fa80f86bbd5ab454646";
+        url = "https://registry.npmjs.org/oauth/-/oauth-0.9.7.tgz";
+        sha1 = "c2554d0368c966eb3050bec96584625577ad1ecd";
       };
     };
     "openid-0.4.1" = {
@@ -1201,114 +1193,6 @@ let
         sha1 = "de0eb5e381d34dc4aa5a77a98678bedafd11f387";
       };
     };
-    "qs-0.6.5" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-        sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-      };
-    };
-    "formidable-1.0.14" = {
-      name = "formidable";
-      packageName = "formidable";
-      version = "1.0.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-        sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-      };
-    };
-    "cookie-signature-1.0.1" = {
-      name = "cookie-signature";
-      packageName = "cookie-signature";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
-        sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
-      };
-    };
-    "buffer-crc32-0.2.1" = {
-      name = "buffer-crc32";
-      packageName = "buffer-crc32";
-      version = "0.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-        sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-      };
-    };
-    "cookie-0.0.5" = {
-      name = "cookie";
-      packageName = "cookie";
-      version = "0.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
-      };
-    };
-    "send-0.1.1" = {
-      name = "send";
-      packageName = "send";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.1.1.tgz";
-        sha1 = "0bcfcbd03def6e2d8612e1abf8f4895b450c60c8";
-      };
-    };
-    "bytes-0.2.0" = {
-      name = "bytes";
-      packageName = "bytes";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-        sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
-      };
-    };
-    "fresh-0.1.0" = {
-      name = "fresh";
-      packageName = "fresh";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
-      };
-    };
-    "pause-0.0.1" = {
-      name = "pause";
-      packageName = "pause";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
-      };
-    };
-    "debug-2.6.0" = {
-      name = "debug";
-      packageName = "debug";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz";
-        sha1 = "bc596bcabe7617f11d9fa15361eded5608b8499b";
-      };
-    };
-    "mime-1.2.11" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      };
-    };
-    "range-parser-0.0.4" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
-      };
-    };
     "async-1.5.2" = {
       name = "async";
       packageName = "async";
@@ -1318,6 +1202,15 @@ let
         sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
       };
     };
+    "node-uuid-1.4.7" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
+        sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
+      };
+    };
     "set-immediate-0.1.1" = {
       name = "set-immediate";
       packageName = "set-immediate";
@@ -1327,40 +1220,31 @@ let
         sha1 = "8986e4a773bf8ec165f24d579107673bfac141de";
       };
     };
-    "vows-0.7.0" = {
-      name = "vows";
-      packageName = "vows";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vows/-/vows-0.7.0.tgz";
-        sha1 = "dd0065f110ba0c0a6d63e844851c3208176d5867";
-      };
-    };
-    "setimmediate-1.0.5" = {
-      name = "setimmediate";
-      packageName = "setimmediate";
-      version = "1.0.5";
+    "multiparty-4.1.3" = {
+      name = "multiparty";
+      packageName = "multiparty";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
-        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
+        url = "https://registry.npmjs.org/multiparty/-/multiparty-4.1.3.tgz";
+        sha1 = "3c43c7fcb1896e17460436a9dd0b6ef1668e4f94";
       };
     };
-    "eyes-0.1.8" = {
-      name = "eyes";
-      packageName = "eyes";
-      version = "0.1.8";
+    "fd-slicer-1.0.1" = {
+      name = "fd-slicer";
+      packageName = "fd-slicer";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-        sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
+        url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
+        sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
       };
     };
-    "diff-1.0.8" = {
-      name = "diff";
-      packageName = "diff";
-      version = "1.0.8";
+    "pend-1.2.0" = {
+      name = "pend";
+      packageName = "pend";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-        sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
+        url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
+        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
     "get-stdin-4.0.1" = {
@@ -1426,13 +1310,13 @@ let
         sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
       };
     };
-    "normalize-package-data-2.3.5" = {
+    "normalize-package-data-2.3.6" = {
       name = "normalize-package-data";
       packageName = "normalize-package-data";
-      version = "2.3.5";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
-        sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
+        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.6.tgz";
+        sha1 = "498fa420c96401f787402ba21e600def9f981fff";
       };
     };
     "object-assign-4.1.1" = {
@@ -1507,13 +1391,13 @@ let
         sha1 = "df010aa1287e164bbda6f9723b0a96a1ec4187a1";
       };
     };
-    "hosted-git-info-2.1.5" = {
+    "hosted-git-info-2.2.0" = {
       name = "hosted-git-info";
       packageName = "hosted-git-info";
-      version = "2.1.5";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz";
-        sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b";
+        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.2.0.tgz";
+        sha1 = "7a0d097863d886c0fabbdcd37bf1758d8becf8a5";
       };
     };
     "is-builtin-module-1.0.0" = {
@@ -1678,13 +1562,13 @@ let
         sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
       };
     };
-    "error-ex-1.3.0" = {
+    "error-ex-1.3.1" = {
       name = "error-ex";
       packageName = "error-ex";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
-        sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+        url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz";
+        sha1 = "f855a86ce61adc4e8621c3cda21e7a7612c3a8dc";
       };
     };
     "is-arrayish-0.2.1" = {
@@ -1759,6 +1643,15 @@ let
         sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
       };
     };
+    "step-0.0.6" = {
+      name = "step";
+      packageName = "step";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/step/-/step-0.0.6.tgz";
+        sha1 = "143e7849a5d7d3f4a088fe29af94915216eeede2";
+      };
+    };
     "addressparser-0.3.2" = {
       name = "addressparser";
       packageName = "addressparser";
@@ -1831,49 +1724,112 @@ let
         sha1 = "fe265a218ac6a57cfe854927e9d04c19825eddeb";
       };
     };
-    "connect-1.9.2" = {
-      name = "connect";
-      packageName = "connect";
-      version = "1.9.2";
+    "content-disposition-0.5.0" = {
+      name = "content-disposition";
+      packageName = "content-disposition";
+      version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
-        sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+        sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
       };
     };
-    "mime-1.2.4" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.2.4";
+    "commander-2.6.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-        sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
+        url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
+        sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
       };
     };
-    "qs-0.4.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "0.4.2";
+    "merge-descriptors-1.0.0" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
-        sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
+        sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
       };
     };
-    "mkdirp-0.3.0" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.3.0";
+    "methods-1.1.2" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+      };
+    };
+    "proxy-addr-1.0.10" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz";
+        sha1 = "0d40a82f801fc355567d2ecb65efe3f077f121c5";
+      };
+    };
+    "range-parser-1.0.3" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
+        sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
+      };
+    };
+    "send-0.13.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.13.0.tgz";
+        sha1 = "518f921aeb0560aec7dcab2990b14cf6f3cce5de";
+      };
+    };
+    "forwarded-0.1.0" = {
+      name = "forwarded";
+      packageName = "forwarded";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
+      };
+    };
+    "ipaddr.js-1.0.5" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz";
+        sha1 = "5fa78cf301b825c78abc3042d812723049ea23c7";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-        sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
       };
     };
-    "formidable-1.0.17" = {
-      name = "formidable";
-      packageName = "formidable";
-      version = "1.0.17";
+    "mime-1.3.4" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+      };
+    };
+    "statuses-1.2.1" = {
+      name = "statuses";
+      packageName = "statuses";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
-        sha1 = "ef5491490f9433b705faa77249c99029ae348559";
+        url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
+        sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
       };
     };
     "cookie-0.3.1" = {
@@ -1885,13 +1841,22 @@ let
         sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
       };
     };
-    "crc-3.4.1" = {
+    "crc-3.4.4" = {
       name = "crc";
       packageName = "crc";
-      version = "3.4.1";
+      version = "3.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz";
+        sha1 = "9da1e980e3bd44fc5c93bf5ab3da3378d85e466b";
+      };
+    };
+    "debug-2.6.1" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc/-/crc-3.4.1.tgz";
-        sha1 = "65d5830b1a2569557cfb324c0e679998521473ee";
+        url = "https://registry.npmjs.org/debug/-/debug-2.6.1.tgz";
+        sha1 = "79855090ba2c4e3115cc7d8769491d58f0491351";
       };
     };
     "array-parallel-0.1.3" = {
@@ -1966,13 +1931,13 @@ let
         sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0";
       };
     };
-    "connect-3.4.1" = {
+    "connect-3.6.0" = {
       name = "connect";
       packageName = "connect";
-      version = "3.4.1";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz";
-        sha1 = "a21361d3f4099ef761cda6dc4a973bb1ebb0a34d";
+        url = "https://registry.npmjs.org/connect/-/connect-3.6.0.tgz";
+        sha1 = "f09a4f7dcd17324b663b725c815bdb1c4158a46e";
       };
     };
     "dns-prefetch-control-0.1.0" = {
@@ -1993,22 +1958,22 @@ let
         sha1 = "5932890dc9f4e2f19e5eb02a20026e5e5efc8f58";
       };
     };
-    "frameguard-2.0.0" = {
+    "frameguard-3.0.0" = {
       name = "frameguard";
       packageName = "frameguard";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/frameguard/-/frameguard-2.0.0.tgz";
-        sha1 = "30c2c149e5e3505f9e156f9bc491a438420e487e";
+        url = "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz";
+        sha1 = "7bcad469ee7b96e91d12ceb3959c78235a9272e9";
       };
     };
-    "helmet-csp-1.2.2" = {
+    "helmet-csp-2.3.0" = {
       name = "helmet-csp";
       packageName = "helmet-csp";
-      version = "1.2.2";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-1.2.2.tgz";
-        sha1 = "085c0307d57fc96cd97337f170ab8bfea99e5df7";
+        url = "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.3.0.tgz";
+        sha1 = "bc341939dfef5266cc817abcf53f079f61fe7e3f";
       };
     };
     "hide-powered-by-1.0.0" = {
@@ -2020,22 +1985,22 @@ let
         sha1 = "4a85ad65881f62857fc70af7174a1184dccce32b";
       };
     };
-    "hpkp-1.2.0" = {
+    "hpkp-2.0.0" = {
       name = "hpkp";
       packageName = "hpkp";
-      version = "1.2.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hpkp/-/hpkp-1.2.0.tgz";
-        sha1 = "83f2cb38b26cff21daf26e2ff4b57126921dec65";
+        url = "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz";
+        sha1 = "10e142264e76215a5d30c44ec43de64dee6d1672";
       };
     };
-    "hsts-1.0.0" = {
+    "hsts-2.0.0" = {
       name = "hsts";
       packageName = "hsts";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hsts/-/hsts-1.0.0.tgz";
-        sha1 = "98e1039ef7aba554057b6b0e32584c0b1143a414";
+        url = "https://registry.npmjs.org/hsts/-/hsts-2.0.0.tgz";
+        sha1 = "a52234c6070decf214b2b6b70bb144d07e4776c7";
       };
     };
     "ienoopen-1.0.0" = {
@@ -2047,22 +2012,22 @@ let
         sha1 = "346a428f474aac8f50cf3784ea2d0f16f62bda6b";
       };
     };
-    "nocache-1.0.1" = {
+    "nocache-2.0.0" = {
       name = "nocache";
       packageName = "nocache";
-      version = "1.0.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nocache/-/nocache-1.0.1.tgz";
-        sha1 = "695c9f736926a7554f7365fa25e087941065bd36";
+        url = "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz";
+        sha1 = "202b48021a0c4cbde2df80de15a17443c8b43980";
       };
     };
-    "referrer-policy-1.0.0" = {
+    "referrer-policy-1.1.0" = {
       name = "referrer-policy";
       packageName = "referrer-policy";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.0.0.tgz";
-        sha1 = "f60eedc92f942b01a6118121ec932d66e8fd7e14";
+        url = "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz";
+        sha1 = "35774eb735bf50fb6c078e83334b472350207d79";
       };
     };
     "x-xss-protection-1.0.0" = {
@@ -2074,13 +2039,22 @@ let
         sha1 = "898afb93869b24661cf9c52f9ee8db8ed0764dd9";
       };
     };
-    "finalhandler-0.4.1" = {
+    "finalhandler-1.0.0" = {
       name = "finalhandler";
       packageName = "finalhandler";
-      version = "0.4.1";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz";
-        sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d";
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-1.0.0.tgz";
+        sha1 = "b5691c2c0912092f18ac23e9416bde5cd7dc6755";
+      };
+    };
+    "encodeurl-1.0.1" = {
+      name = "encodeurl";
+      packageName = "encodeurl";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
+        sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
       };
     };
     "camelize-1.0.0" = {
@@ -2092,31 +2066,40 @@ let
         sha1 = "164a5483e630fa4321e5af07020e531831b2609b";
       };
     };
-    "content-security-policy-builder-1.0.0" = {
+    "content-security-policy-builder-1.1.0" = {
       name = "content-security-policy-builder";
       packageName = "content-security-policy-builder";
-      version = "1.0.0";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.1.0.tgz";
+        sha1 = "d91f1b076236c119850c7dee9924bf55e05772b3";
+      };
+    };
+    "dasherize-2.0.0" = {
+      name = "dasherize";
+      packageName = "dasherize";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-1.0.0.tgz";
-        sha1 = "11fd40c5cc298a6c725a35f9acf71e82ab5d3243";
+        url = "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz";
+        sha1 = "6d809c9cd0cf7bb8952d80fc84fa13d47ddb1308";
       };
     };
-    "lodash.reduce-4.5.0" = {
+    "lodash.reduce-4.6.0" = {
       name = "lodash.reduce";
       packageName = "lodash.reduce";
-      version = "4.5.0";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.5.0.tgz";
-        sha1 = "af7d2ec621062441e77d5bf408a1e071ef86691c";
+        url = "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz";
+        sha1 = "f1ab6b839299ad48f784abbf476596f03b914d3b";
       };
     };
-    "platform-1.3.1" = {
+    "platform-1.3.3" = {
       name = "platform";
       packageName = "platform";
-      version = "1.3.1";
+      version = "1.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/platform/-/platform-1.3.1.tgz";
-        sha1 = "492210892335bd3131c0a08dda2d93ec3543e423";
+        url = "https://registry.npmjs.org/platform/-/platform-1.3.3.tgz";
+        sha1 = "646c77011899870b6a0903e75e997e8e51da7461";
       };
     };
     "dashify-0.2.2" = {
@@ -2128,13 +2111,112 @@ let
         sha1 = "6a07415a01c91faf4a32e38d9dfba71f61cb20fe";
       };
     };
-    "abab-1.0.3" = {
-      name = "abab";
-      packageName = "abab";
-      version = "1.0.3";
+    "character-parser-1.2.1" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz";
-        sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d";
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
+        sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
+      };
+    };
+    "clean-css-3.4.25" = {
+      name = "clean-css";
+      packageName = "clean-css";
+      version = "3.4.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.25.tgz";
+        sha1 = "9e9a52d5c1e6bc5123e1b2783fa65fe958946ede";
+      };
+    };
+    "constantinople-3.0.2" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz";
+        sha1 = "4b945d9937907bcd98ee575122c3817516544141";
+      };
+    };
+    "jstransformer-0.0.2" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz";
+        sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab";
+      };
+    };
+    "transformers-2.1.0" = {
+      name = "transformers";
+      packageName = "transformers";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
+        sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
+      };
+    };
+    "uglify-js-2.8.9" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.8.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.9.tgz";
+        sha1 = "01194b91cc0795214093c05594ef5ac1e0b2e900";
+      };
+    };
+    "void-elements-2.0.1" = {
+      name = "void-elements";
+      packageName = "void-elements";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
+        sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
+      };
+    };
+    "with-4.0.3" = {
+      name = "with";
+      packageName = "with";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz";
+        sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e";
+      };
+    };
+    "commander-2.8.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
+        sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
+      };
+    };
+    "source-map-0.4.4" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
+        sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
+      };
+    };
+    "graceful-readlink-1.0.1" = {
+      name = "graceful-readlink";
+      packageName = "graceful-readlink";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
+        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+      };
+    };
+    "amdefine-1.0.1" = {
+      name = "amdefine";
+      packageName = "amdefine";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
+        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
       };
     };
     "acorn-2.7.0" = {
@@ -2146,6 +2228,258 @@ let
         sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
       };
     };
+    "is-promise-2.1.0" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
+        sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
+      };
+    };
+    "promise-6.1.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "6.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
+        sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
+      };
+    };
+    "asap-1.0.0" = {
+      name = "asap";
+      packageName = "asap";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
+        sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
+      };
+    };
+    "promise-2.0.0" = {
+      name = "promise";
+      packageName = "promise";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
+        sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
+      };
+    };
+    "css-1.0.8" = {
+      name = "css";
+      packageName = "css";
+      version = "1.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz";
+        sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
+      };
+    };
+    "uglify-js-2.2.5" = {
+      name = "uglify-js";
+      packageName = "uglify-js";
+      version = "2.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
+        sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
+      };
+    };
+    "is-promise-1.0.1" = {
+      name = "is-promise";
+      packageName = "is-promise";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
+        sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
+      };
+    };
+    "css-parse-1.0.4" = {
+      name = "css-parse";
+      packageName = "css-parse";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
+        sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
+      };
+    };
+    "css-stringify-1.0.5" = {
+      name = "css-stringify";
+      packageName = "css-stringify";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
+        sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
+      };
+    };
+    "source-map-0.1.43" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.1.43";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
+        sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
+      };
+    };
+    "optimist-0.3.7" = {
+      name = "optimist";
+      packageName = "optimist";
+      version = "0.3.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
+        sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
+      };
+    };
+    "wordwrap-0.0.3" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
+      };
+    };
+    "source-map-0.5.6" = {
+      name = "source-map";
+      packageName = "source-map";
+      version = "0.5.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
+        sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+      };
+    };
+    "uglify-to-browserify-1.0.2" = {
+      name = "uglify-to-browserify";
+      packageName = "uglify-to-browserify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
+        sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
+      };
+    };
+    "yargs-3.10.0" = {
+      name = "yargs";
+      packageName = "yargs";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
+        sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
+      };
+    };
+    "camelcase-1.2.1" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
+        sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
+      };
+    };
+    "cliui-2.1.0" = {
+      name = "cliui";
+      packageName = "cliui";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
+        sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
+      };
+    };
+    "window-size-0.1.0" = {
+      name = "window-size";
+      packageName = "window-size";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
+        sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
+      };
+    };
+    "center-align-0.1.3" = {
+      name = "center-align";
+      packageName = "center-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
+        sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
+      };
+    };
+    "right-align-0.1.3" = {
+      name = "right-align";
+      packageName = "right-align";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
+        sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
+      };
+    };
+    "wordwrap-0.0.2" = {
+      name = "wordwrap";
+      packageName = "wordwrap";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
+        sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
+      };
+    };
+    "align-text-0.1.4" = {
+      name = "align-text";
+      packageName = "align-text";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
+        sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
+      };
+    };
+    "lazy-cache-1.0.4" = {
+      name = "lazy-cache";
+      packageName = "lazy-cache";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
+        sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
+      };
+    };
+    "kind-of-3.1.0" = {
+      name = "kind-of";
+      packageName = "kind-of";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kind-of/-/kind-of-3.1.0.tgz";
+        sha1 = "475d698a5e49ff5e53d14e3e732429dc8bf4cf47";
+      };
+    };
+    "longest-1.0.1" = {
+      name = "longest";
+      packageName = "longest";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
+        sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
+      };
+    };
+    "repeat-string-1.6.1" = {
+      name = "repeat-string";
+      packageName = "repeat-string";
+      version = "1.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz";
+        sha1 = "8dcae470e1c88abc2d600fff4a776286da75e637";
+      };
+    };
+    "is-buffer-1.1.4" = {
+      name = "is-buffer";
+      packageName = "is-buffer";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";
+        sha1 = "cfc86ccd5dc5a52fa80489111c6920c457e2d98b";
+      };
+    };
+    "acorn-1.2.2" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "1.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz";
+        sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014";
+      };
+    };
     "acorn-globals-1.0.9" = {
       name = "acorn-globals";
       packageName = "acorn-globals";
@@ -2155,13 +2489,22 @@ let
         sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
       };
     };
-    "cssom-0.3.1" = {
+    "abab-1.0.3" = {
+      name = "abab";
+      packageName = "abab";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abab/-/abab-1.0.3.tgz";
+        sha1 = "b81de5f7274ec4e756d797cd834f303642724e5d";
+      };
+    };
+    "cssom-0.3.2" = {
       name = "cssom";
       packageName = "cssom";
-      version = "0.3.1";
+      version = "0.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz";
-        sha1 = "c9e37ef2490e64f6d1baa10fda852257082c25d3";
+        url = "https://registry.npmjs.org/cssom/-/cssom-0.3.2.tgz";
+        sha1 = "b8036170c79f07a90ff2f16e22284027a243848b";
       };
     };
     "cssstyle-0.2.37" = {
@@ -2200,31 +2543,31 @@ let
         sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
       };
     };
-    "request-2.79.0" = {
+    "request-2.80.0" = {
       name = "request";
       packageName = "request";
-      version = "2.79.0";
+      version = "2.80.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.79.0.tgz";
-        sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
+        url = "https://registry.npmjs.org/request/-/request-2.80.0.tgz";
+        sha1 = "8cc162d76d79381cdefdd3505d76b80b60589bd0";
       };
     };
-    "sax-1.2.1" = {
+    "sax-1.2.2" = {
       name = "sax";
       packageName = "sax";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
-        sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
+        url = "https://registry.npmjs.org/sax/-/sax-1.2.2.tgz";
+        sha1 = "fd8631a23bc7826bef5d871bdb87378c95647828";
       };
     };
-    "symbol-tree-3.2.1" = {
+    "symbol-tree-3.2.2" = {
       name = "symbol-tree";
       packageName = "symbol-tree";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.1.tgz";
-        sha1 = "8549dd1d01fa9f893c18cc9ab0b106b4d9b168cb";
+        url = "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz";
+        sha1 = "ae27db38f660a7ae2e1c3b7d1bc290819b8519e6";
       };
     };
     "tough-cookie-2.3.2" = {
@@ -2362,15 +2705,6 @@ let
         sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
       };
     };
-    "amdefine-1.0.1" = {
-      name = "amdefine";
-      packageName = "amdefine";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz";
-        sha1 = "4a5282ac164729e93619bcfd3ad151f817ce91f5";
-      };
-    };
     "aws-sign2-0.6.0" = {
       name = "aws-sign2";
       packageName = "aws-sign2";
@@ -2380,22 +2714,22 @@ let
         sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
       };
     };
-    "aws4-1.5.0" = {
+    "aws4-1.6.0" = {
       name = "aws4";
       packageName = "aws4";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws4/-/aws4-1.5.0.tgz";
-        sha1 = "0a29ffb79c31c9e712eeb087e8e7a64b4a56d755";
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
       };
     };
-    "caseless-0.11.0" = {
+    "caseless-0.12.0" = {
       name = "caseless";
       packageName = "caseless";
-      version = "0.11.0";
+      version = "0.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
-        sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
       };
     };
     "combined-stream-1.0.5" = {
@@ -2434,13 +2768,13 @@ let
         sha1 = "89c3534008b97eada4cbb157d58f6f5df025eae4";
       };
     };
-    "har-validator-2.0.6" = {
+    "har-validator-4.2.1" = {
       name = "har-validator";
       packageName = "har-validator";
-      version = "2.0.6";
+      version = "4.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
-        sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
       };
     };
     "hawk-3.1.3" = {
@@ -2497,13 +2831,22 @@ let
         sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
       };
     };
-    "qs-6.3.0" = {
+    "performance-now-0.2.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+      };
+    };
+    "qs-6.3.2" = {
       name = "qs";
       packageName = "qs";
-      version = "6.3.0";
+      version = "6.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.3.0.tgz";
-        sha1 = "f403b264f23bc01228c74131b407f18d5ea5d442";
+        url = "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz";
+        sha1 = "e75bd5f6e268122a2a0e0bda630b2550c166502c";
       };
     };
     "stringstream-0.0.5" = {
@@ -2524,15 +2867,6 @@ let
         sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
       };
     };
-    "uuid-3.0.1" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.1.tgz";
-        sha1 = "6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1";
-      };
-    };
     "delayed-stream-1.0.0" = {
       name = "delayed-stream";
       packageName = "delayed-stream";
@@ -2551,139 +2885,49 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "chalk-1.1.3" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-        sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
-      };
-    };
-    "commander-2.9.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-        sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-      };
-    };
-    "is-my-json-valid-2.15.0" = {
-      name = "is-my-json-valid";
-      packageName = "is-my-json-valid";
-      version = "2.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.15.0.tgz";
-        sha1 = "936edda3ca3c211fd98f3b2d3e08da43f7b2915b";
-      };
-    };
-    "ansi-styles-2.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "2.2.1";
+    "ajv-4.11.4" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "4.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-        sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.4.tgz";
+        sha1 = "ebf3a55d4b132ea60ff5847ae85d2ef069960b45";
       };
     };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
+    "har-schema-1.0.5" = {
+      name = "har-schema";
+      packageName = "har-schema";
       version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "has-ansi-2.0.0" = {
-      name = "has-ansi";
-      packageName = "has-ansi";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-        sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-      };
-    };
-    "strip-ansi-3.0.1" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-      };
-    };
-    "supports-color-2.0.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-        sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
       };
     };
-    "ansi-regex-2.1.1" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "2.1.1";
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
       };
     };
-    "graceful-readlink-1.0.1" = {
-      name = "graceful-readlink";
-      packageName = "graceful-readlink";
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-        sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-      };
-    };
-    "generate-function-2.0.0" = {
-      name = "generate-function";
-      packageName = "generate-function";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-        sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-      };
-    };
-    "generate-object-property-1.2.0" = {
-      name = "generate-object-property";
-      packageName = "generate-object-property";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
-        sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
-      };
-    };
-    "jsonpointer-4.0.1" = {
-      name = "jsonpointer";
-      packageName = "jsonpointer";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-4.0.1.tgz";
-        sha1 = "4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9";
-      };
-    };
-    "xtend-4.0.1" = {
-      name = "xtend";
-      packageName = "xtend";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
-        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
       };
     };
-    "is-property-1.0.2" = {
-      name = "is-property";
-      packageName = "is-property";
-      version = "1.0.2";
+    "jsonify-0.0.0" = {
+      name = "jsonify";
+      packageName = "jsonify";
+      version = "0.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
-        sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
+        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
       };
     };
     "hoek-2.16.3" = {
@@ -2740,13 +2984,13 @@ let
         sha1 = "2a7256f70412a29ee3670aaca625994c4dcff252";
       };
     };
-    "sshpk-1.10.2" = {
+    "sshpk-1.11.0" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.10.2";
+      version = "1.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.10.2.tgz";
-        sha1 = "d5a804ce22695515638e798dbe23273de070a5fa";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.11.0.tgz";
+        sha1 = "2d8d5ebb4a6fab28ffba37fa62a90f4a3ea59d77";
       };
     };
     "extsprintf-1.0.2" = {
@@ -2812,13 +3056,13 @@ let
         sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
       };
     };
-    "jsbn-0.1.0" = {
+    "jsbn-0.1.1" = {
       name = "jsbn";
       packageName = "jsbn";
-      version = "0.1.0";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
-        sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
       };
     };
     "tweetnacl-0.14.5" = {
@@ -2848,13 +3092,13 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "bcrypt-pbkdf-1.0.0" = {
+    "bcrypt-pbkdf-1.0.1" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz";
-        sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4";
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
       };
     };
     "punycode-1.4.1" = {
@@ -2875,6 +3119,24 @@ let
         sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
       };
     };
+    "debug-2.3.3" = {
+      name = "debug";
+      packageName = "debug";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-2.3.3.tgz";
+        sha1 = "40c453e67e6e13c901ddec317af8986cda9eff8c";
+      };
+    };
+    "vary-1.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
+        sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
+      };
+    };
     "minimist-0.0.8" = {
       name = "minimist";
       packageName = "minimist";
@@ -2884,15 +3146,6 @@ let
         sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
       };
     };
-    "wordwrap-0.0.3" = {
-      name = "wordwrap";
-      packageName = "wordwrap";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-        sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-      };
-    };
     "minimist-0.0.10" = {
       name = "minimist";
       packageName = "minimist";
@@ -2938,6 +3191,15 @@ let
         sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2";
       };
     };
+    "xtend-4.0.1" = {
+      name = "xtend";
+      packageName = "xtend";
+      version = "4.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
+        sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
+      };
+    };
     "domelementtype-1.3.0" = {
       name = "domelementtype";
       packageName = "domelementtype";
@@ -2974,13 +3236,13 @@ let
         sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "readable-stream-2.2.2" = {
+    "readable-stream-2.2.3" = {
       name = "readable-stream";
       packageName = "readable-stream";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.2.tgz";
-        sha1 = "a9e6fec3c7dda85f8bb1b3ba7028604556fc825e";
+        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.2.3.tgz";
+        sha1 = "9cf49463985df016c8ae8813097a9293a9b33729";
       };
     };
     "dom-serializer-0.1.0" = {
@@ -3046,33 +3308,6 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
-    "mime-1.3.4" = {
-      name = "mime";
-      packageName = "mime";
-      version = "1.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-      };
-    };
-    "range-parser-1.0.3" = {
-      name = "range-parser";
-      packageName = "range-parser";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
-        sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
-      };
-    };
-    "statuses-1.2.1" = {
-      name = "statuses";
-      packageName = "statuses";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
-        sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
-      };
-    };
     "yargs-6.6.0" = {
       name = "yargs";
       packageName = "yargs";
@@ -3181,6 +3416,15 @@ let
         sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
       };
     };
+    "strip-ansi-3.0.1" = {
+      name = "strip-ansi";
+      packageName = "strip-ansi";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+      };
+    };
     "wrap-ansi-2.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
@@ -3190,6 +3434,15 @@ let
         sha1 = "d8fc3d284dd05794fe84973caecdd1cf824fdd85";
       };
     };
+    "ansi-regex-2.1.1" = {
+      name = "ansi-regex";
+      packageName = "ansi-regex";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz";
+        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
+      };
+    };
     "lcid-1.0.0" = {
       name = "lcid";
       packageName = "lcid";
@@ -3262,6 +3515,51 @@ let
         sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
       };
     };
+    "assert-1.4.1" = {
+      name = "assert";
+      packageName = "assert";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
+        sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
+      };
+    };
+    "es6-shim-0.27.1" = {
+      name = "es6-shim";
+      packageName = "es6-shim";
+      version = "0.27.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-shim/-/es6-shim-0.27.1.tgz";
+        sha1 = "bd3f870663eac2ede8e8943e2a6d23c052d53fc6";
+      };
+    };
+    "minimum-tls-version-0.0.1" = {
+      name = "minimum-tls-version";
+      packageName = "minimum-tls-version";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimum-tls-version/-/minimum-tls-version-0.0.1.tgz";
+        sha1 = "42220187e52700e253218cfa8ad974920b73ea74";
+      };
+    };
+    "util-0.10.3" = {
+      name = "util";
+      packageName = "util";
+      version = "0.10.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
+        sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
+      };
+    };
+    "inherits-2.0.1" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      };
+    };
     "underscore-1.6.0" = {
       name = "underscore";
       packageName = "underscore";
@@ -3280,13 +3578,31 @@ let
         sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
       };
     };
-    "mongodb-2.2.21" = {
+    "databank-1.0.1" = {
+      name = "databank";
+      packageName = "databank";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/databank/-/databank-1.0.1.tgz";
+        sha1 = "ef063df1f1aaceb8507ce70f7de6cb32980e874b";
+      };
+    };
+    "mongodb-2.2.24" = {
       name = "mongodb";
       packageName = "mongodb";
-      version = "2.2.21";
+      version = "2.2.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.21.tgz";
-        sha1 = "f7ee56489600e0ac8024c062c0857ac04ddb5f48";
+        url = "https://registry.npmjs.org/mongodb/-/mongodb-2.2.24.tgz";
+        sha1 = "80f40d6ec5bdec0ddecf0f9ce0144e794c46449a";
+      };
+    };
+    "setimmediate-1.0.5" = {
+      name = "setimmediate";
+      packageName = "setimmediate";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz";
+        sha1 = "290cbb232e306942d7d7ea9b83732ab7856f8285";
       };
     };
     "es6-promise-3.2.1" = {
@@ -3298,13 +3614,13 @@ let
         sha1 = "ec56233868032909207170c39448e24449dd1fc4";
       };
     };
-    "mongodb-core-2.1.6" = {
+    "mongodb-core-2.1.8" = {
       name = "mongodb-core";
       packageName = "mongodb-core";
-      version = "2.1.6";
+      version = "2.1.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.6.tgz";
-        sha1 = "9d179e7487767c58993bb7c8d6685d035c346a42";
+        url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-2.1.8.tgz";
+        sha1 = "b33e0370d0a59d97b6cb1ec610527be9e95ca2c0";
       };
     };
     "readable-stream-2.1.5" = {
@@ -3361,78 +3677,6 @@ let
         sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
       };
     };
-    "memcached-0.2.8" = {
-      name = "memcached";
-      packageName = "memcached";
-      version = "0.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/memcached/-/memcached-0.2.8.tgz";
-        sha1 = "ffbf9498cbc30779625b77e77770bd50dc525212";
-      };
-    };
-    "databank-0.18.2" = {
-      name = "databank";
-      packageName = "databank";
-      version = "0.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/databank/-/databank-0.18.2.tgz";
-        sha1 = "b1f85bafa329cdb415589c0ee819a04c989a03ed";
-      };
-    };
-    "underscore-1.4.4" = {
-      name = "underscore";
-      packageName = "underscore";
-      version = "1.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-        sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-      };
-    };
-    "hashring-0.0.8" = {
-      name = "hashring";
-      packageName = "hashring";
-      version = "0.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hashring/-/hashring-0.0.8.tgz";
-        sha1 = "203ab13c364119f10106526d2eaf7bd42b484c31";
-      };
-    };
-    "jackpot-0.0.6" = {
-      name = "jackpot";
-      packageName = "jackpot";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jackpot/-/jackpot-0.0.6.tgz";
-        sha1 = "3cff064285cbf66f4eab2593c90bce816a821849";
-      };
-    };
-    "bisection-0.0.3" = {
-      name = "bisection";
-      packageName = "bisection";
-      version = "0.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bisection/-/bisection-0.0.3.tgz";
-        sha1 = "9891d506d86ec7d50910c5157bb592dbb03f33db";
-      };
-    };
-    "simple-lru-cache-0.0.2" = {
-      name = "simple-lru-cache";
-      packageName = "simple-lru-cache";
-      version = "0.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
-        sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
-      };
-    };
-    "retry-0.6.0" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-        sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-      };
-    };
     "lru-cache-2.3.1" = {
       name = "lru-cache";
       packageName = "lru-cache";
@@ -3446,8 +3690,8 @@ let
   args = {
     name = "pump.io";
     packageName = "pump.io";
-    version = "1.0.0";
-    src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-1.0.0.tgz"; sha1 = "404mzdqzknrv7pl9qasksi791cc00bbd"; };
+    version = "3.0.0";
+    src = fetchurl { url = "https://registry.npmjs.org/pump.io/-/pump.io-3.0.0.tgz"; sha1 = "ycfm7ak83xi8mgafhp9q0n6n3kzmdz16"; };
     dependencies = [
       (sources."bcrypt-0.8.7" // {
         dependencies = [
@@ -3455,11 +3699,11 @@ let
           sources."nan-2.3.5"
         ];
       })
-      (sources."bunyan-1.8.5" // {
+      (sources."bunyan-1.8.8" // {
         dependencies = [
-          (sources."dtrace-provider-0.8.0" // {
+          (sources."dtrace-provider-0.8.1" // {
             dependencies = [
-              sources."nan-2.5.0"
+              sources."nan-2.5.1"
             ];
           })
           (sources."mv-2.1.1" // {
@@ -3497,10 +3741,11 @@ let
               })
             ];
           })
-          sources."safe-json-stringify-1.0.3"
+          sources."safe-json-stringify-1.0.4"
           sources."moment-2.17.1"
         ];
       })
+      sources."colors-1.1.2"
       (sources."connect-2.30.2" // {
         dependencies = [
           sources."basic-auth-connect-1.0.0"
@@ -3553,12 +3798,12 @@ let
           sources."content-type-1.0.2"
           (sources."csurf-1.8.3" // {
             dependencies = [
-              (sources."csrf-3.0.4" // {
+              (sources."csrf-3.0.5" // {
                 dependencies = [
                   sources."base64-url-1.3.3"
                   sources."rndm-1.2.0"
                   sources."tsscmp-1.0.5"
-                  (sources."uid-safe-2.1.3" // {
+                  (sources."uid-safe-2.1.4" // {
                     dependencies = [
                       sources."random-bytes-1.0.0"
                     ];
@@ -3616,17 +3861,6 @@ let
               sources."statuses-1.3.1"
             ];
           })
-          (sources."method-override-2.3.7" // {
-            dependencies = [
-              (sources."debug-2.3.3" // {
-                dependencies = [
-                  sources."ms-0.7.2"
-                ];
-              })
-              sources."methods-1.1.2"
-              sources."vary-1.1.0"
-            ];
-          })
           (sources."morgan-1.6.1" // {
             dependencies = [
               sources."basic-auth-1.0.4"
@@ -3700,51 +3934,52 @@ let
           sources."vhost-3.0.2"
         ];
       })
-      (sources."connect-auth-0.6.1" // {
+      (sources."connect-auth-git://github.com/e14n/connect-auth" // {
         dependencies = [
-          (sources."connect-2.7.11" // {
-            dependencies = [
-              sources."qs-0.6.5"
-              sources."formidable-1.0.14"
-              sources."cookie-signature-1.0.1"
-              sources."buffer-crc32-0.2.1"
-              sources."cookie-0.0.5"
-              (sources."send-0.1.1" // {
-                dependencies = [
-                  sources."mime-1.2.11"
-                  sources."range-parser-0.0.4"
-                ];
-              })
-              sources."bytes-0.2.0"
-              sources."fresh-0.1.0"
-              sources."pause-0.0.1"
-              (sources."debug-2.6.0" // {
-                dependencies = [
-                  sources."ms-0.7.2"
-                ];
-              })
-            ];
-          })
-          sources."oauth-0.9.10"
+          sources."oauth-0.9.7"
           sources."openid-0.4.1"
         ];
       })
       (sources."connect-databank-1.0.3" // {
         dependencies = [
           sources."async-1.5.2"
+          sources."node-uuid-1.4.7"
           sources."set-immediate-0.1.1"
         ];
       })
-      sources."crypto-cacerts-0.1.0"
-      (sources."databank-0.19.5" // {
+      (sources."connect-multiparty-2.0.0" // {
         dependencies = [
-          (sources."vows-0.7.0" // {
+          (sources."multiparty-4.1.3" // {
+            dependencies = [
+              (sources."fd-slicer-1.0.1" // {
+                dependencies = [
+                  sources."pend-1.2.0"
+                ];
+              })
+            ];
+          })
+          (sources."on-finished-2.3.0" // {
             dependencies = [
-              sources."eyes-0.1.8"
-              sources."diff-1.0.8"
+              sources."ee-first-1.1.1"
+            ];
+          })
+          sources."qs-4.0.0"
+          (sources."type-is-1.6.14" // {
+            dependencies = [
+              sources."media-typer-0.3.0"
+              (sources."mime-types-2.1.14" // {
+                dependencies = [
+                  sources."mime-db-1.26.0"
+                ];
+              })
             ];
           })
-          sources."setimmediate-1.0.5"
+        ];
+      })
+      sources."crypto-cacerts-0.1.0"
+      (sources."databank-0.19.8" // {
+        dependencies = [
+          sources."set-immediate-0.1.1"
         ];
       })
       (sources."dateformat-1.0.12" // {
@@ -3770,9 +4005,9 @@ let
               })
               sources."map-obj-1.0.1"
               sources."minimist-1.2.0"
-              (sources."normalize-package-data-2.3.5" // {
+              (sources."normalize-package-data-2.3.6" // {
                 dependencies = [
-                  sources."hosted-git-info-2.1.5"
+                  sources."hosted-git-info-2.2.0"
                   (sources."is-builtin-module-1.0.0" // {
                     dependencies = [
                       sources."builtin-modules-1.1.1"
@@ -3811,7 +4046,7 @@ let
                           sources."graceful-fs-4.1.11"
                           (sources."parse-json-2.2.0" // {
                             dependencies = [
-                              (sources."error-ex-1.3.0" // {
+                              (sources."error-ex-1.3.1" // {
                                 dependencies = [
                                   sources."is-arrayish-0.2.1"
                                 ];
@@ -3872,9 +4107,10 @@ let
       (sources."dialback-client-0.2.0" // {
         dependencies = [
           sources."underscore-1.5.2"
+          sources."step-0.0.6"
         ];
       })
-      sources."dompurify-0.8.4"
+      sources."dompurify-0.8.5"
       (sources."emailjs-1.0.8" // {
         dependencies = [
           sources."addressparser-0.3.2"
@@ -3893,34 +4129,70 @@ let
           sources."bufferjs-1.1.0"
         ];
       })
-      (sources."express-2.5.11" // {
+      (sources."express-3.21.2" // {
         dependencies = [
-          (sources."connect-1.9.2" // {
+          sources."basic-auth-1.0.4"
+          sources."content-disposition-0.5.0"
+          sources."content-type-1.0.2"
+          sources."commander-2.6.0"
+          sources."cookie-0.1.3"
+          sources."cookie-signature-1.0.6"
+          (sources."debug-2.2.0" // {
+            dependencies = [
+              sources."ms-0.7.1"
+            ];
+          })
+          sources."depd-1.0.1"
+          sources."escape-html-1.0.2"
+          sources."etag-1.7.0"
+          sources."fresh-0.3.0"
+          sources."merge-descriptors-1.0.0"
+          sources."methods-1.1.2"
+          sources."parseurl-1.3.1"
+          (sources."proxy-addr-1.0.10" // {
+            dependencies = [
+              sources."forwarded-0.1.0"
+              sources."ipaddr.js-1.0.5"
+            ];
+          })
+          sources."range-parser-1.0.3"
+          (sources."send-0.13.0" // {
             dependencies = [
-              sources."formidable-1.0.17"
+              sources."destroy-1.0.3"
+              (sources."http-errors-1.3.1" // {
+                dependencies = [
+                  sources."inherits-2.0.3"
+                ];
+              })
+              sources."mime-1.3.4"
+              sources."ms-0.7.1"
+              (sources."on-finished-2.3.0" // {
+                dependencies = [
+                  sources."ee-first-1.1.1"
+                ];
+              })
+              sources."statuses-1.2.1"
             ];
           })
-          sources."mime-1.2.4"
-          sources."qs-0.4.2"
-          sources."mkdirp-0.3.0"
+          sources."utils-merge-1.0.0"
+          sources."vary-1.0.1"
         ];
       })
-      (sources."express-session-1.14.2" // {
+      (sources."express-session-1.15.1" // {
         dependencies = [
           sources."cookie-0.3.1"
           sources."cookie-signature-1.0.6"
-          sources."crc-3.4.1"
-          (sources."debug-2.2.0" // {
+          sources."crc-3.4.4"
+          (sources."debug-2.6.1" // {
             dependencies = [
-              sources."ms-0.7.1"
+              sources."ms-0.7.2"
             ];
           })
           sources."depd-1.1.0"
           sources."on-headers-1.0.1"
           sources."parseurl-1.3.1"
-          (sources."uid-safe-2.1.3" // {
+          (sources."uid-safe-2.1.4" // {
             dependencies = [
-              sources."base64-url-1.3.3"
               sources."random-bytes-1.0.0"
             ];
           })
@@ -3953,23 +4225,25 @@ let
           })
         ];
       })
-      (sources."helmet-2.3.0" // {
+      (sources."helmet-3.4.1" // {
         dependencies = [
-          (sources."connect-3.4.1" // {
+          (sources."connect-3.6.0" // {
             dependencies = [
-              (sources."debug-2.2.0" // {
+              (sources."debug-2.6.1" // {
                 dependencies = [
-                  sources."ms-0.7.1"
+                  sources."ms-0.7.2"
                 ];
               })
-              (sources."finalhandler-0.4.1" // {
+              (sources."finalhandler-1.0.0" // {
                 dependencies = [
+                  sources."encodeurl-1.0.1"
                   sources."escape-html-1.0.3"
                   (sources."on-finished-2.3.0" // {
                     dependencies = [
                       sources."ee-first-1.1.1"
                     ];
                   })
+                  sources."statuses-1.3.1"
                   sources."unpipe-1.0.0"
                 ];
               })
@@ -3979,34 +4253,155 @@ let
           })
           sources."dns-prefetch-control-0.1.0"
           sources."dont-sniff-mimetype-1.0.0"
-          sources."frameguard-2.0.0"
-          (sources."helmet-csp-1.2.2" // {
+          sources."frameguard-3.0.0"
+          (sources."helmet-csp-2.3.0" // {
             dependencies = [
               sources."camelize-1.0.0"
-              (sources."content-security-policy-builder-1.0.0" // {
+              (sources."content-security-policy-builder-1.1.0" // {
                 dependencies = [
                   sources."dashify-0.2.2"
                 ];
               })
-              sources."lodash.reduce-4.5.0"
-              sources."platform-1.3.1"
+              sources."dasherize-2.0.0"
+              sources."lodash.reduce-4.6.0"
+              sources."platform-1.3.3"
             ];
           })
           sources."hide-powered-by-1.0.0"
-          sources."hpkp-1.2.0"
-          (sources."hsts-1.0.0" // {
+          sources."hpkp-2.0.0"
+          (sources."hsts-2.0.0" // {
             dependencies = [
               sources."core-util-is-1.0.2"
             ];
           })
           sources."ienoopen-1.0.0"
-          (sources."nocache-1.0.1" // {
+          sources."nocache-2.0.0"
+          sources."referrer-policy-1.1.0"
+          sources."x-xss-protection-1.0.0"
+        ];
+      })
+      (sources."jade-1.11.0" // {
+        dependencies = [
+          sources."character-parser-1.2.1"
+          (sources."clean-css-3.4.25" // {
             dependencies = [
-              sources."depd-1.1.0"
+              (sources."commander-2.8.1" // {
+                dependencies = [
+                  sources."graceful-readlink-1.0.1"
+                ];
+              })
+              (sources."source-map-0.4.4" // {
+                dependencies = [
+                  sources."amdefine-1.0.1"
+                ];
+              })
+            ];
+          })
+          sources."commander-2.6.0"
+          (sources."constantinople-3.0.2" // {
+            dependencies = [
+              sources."acorn-2.7.0"
+            ];
+          })
+          (sources."jstransformer-0.0.2" // {
+            dependencies = [
+              sources."is-promise-2.1.0"
+              (sources."promise-6.1.0" // {
+                dependencies = [
+                  sources."asap-1.0.0"
+                ];
+              })
+            ];
+          })
+          (sources."transformers-2.1.0" // {
+            dependencies = [
+              (sources."promise-2.0.0" // {
+                dependencies = [
+                  sources."is-promise-1.0.1"
+                ];
+              })
+              (sources."css-1.0.8" // {
+                dependencies = [
+                  sources."css-parse-1.0.4"
+                  sources."css-stringify-1.0.5"
+                ];
+              })
+              (sources."uglify-js-2.2.5" // {
+                dependencies = [
+                  (sources."source-map-0.1.43" // {
+                    dependencies = [
+                      sources."amdefine-1.0.1"
+                    ];
+                  })
+                  (sources."optimist-0.3.7" // {
+                    dependencies = [
+                      sources."wordwrap-0.0.3"
+                    ];
+                  })
+                ];
+              })
+            ];
+          })
+          (sources."uglify-js-2.8.9" // {
+            dependencies = [
+              sources."source-map-0.5.6"
+              sources."uglify-to-browserify-1.0.2"
+              (sources."yargs-3.10.0" // {
+                dependencies = [
+                  sources."camelcase-1.2.1"
+                  (sources."cliui-2.1.0" // {
+                    dependencies = [
+                      (sources."center-align-0.1.3" // {
+                        dependencies = [
+                          (sources."align-text-0.1.4" // {
+                            dependencies = [
+                              (sources."kind-of-3.1.0" // {
+                                dependencies = [
+                                  sources."is-buffer-1.1.4"
+                                ];
+                              })
+                              sources."longest-1.0.1"
+                              sources."repeat-string-1.6.1"
+                            ];
+                          })
+                          sources."lazy-cache-1.0.4"
+                        ];
+                      })
+                      (sources."right-align-0.1.3" // {
+                        dependencies = [
+                          (sources."align-text-0.1.4" // {
+                            dependencies = [
+                              (sources."kind-of-3.1.0" // {
+                                dependencies = [
+                                  sources."is-buffer-1.1.4"
+                                ];
+                              })
+                              sources."longest-1.0.1"
+                              sources."repeat-string-1.6.1"
+                            ];
+                          })
+                        ];
+                      })
+                      sources."wordwrap-0.0.2"
+                    ];
+                  })
+                  sources."decamelize-1.2.0"
+                  sources."window-size-0.1.0"
+                ];
+              })
+            ];
+          })
+          sources."void-elements-2.0.1"
+          (sources."with-4.0.3" // {
+            dependencies = [
+              sources."acorn-1.2.2"
+              (sources."acorn-globals-1.0.9" // {
+                dependencies = [
+                  sources."acorn-2.7.0"
+                ];
+              })
             ];
           })
-          sources."referrer-policy-1.0.0"
-          sources."x-xss-protection-1.0.0"
         ];
       })
       sources."jankyqueue-0.1.1"
@@ -4015,7 +4410,7 @@ let
           sources."abab-1.0.3"
           sources."acorn-2.7.0"
           sources."acorn-globals-1.0.9"
-          sources."cssom-0.3.1"
+          sources."cssom-0.3.2"
           sources."cssstyle-0.2.37"
           (sources."escodegen-1.8.1" // {
             dependencies = [
@@ -4041,11 +4436,11 @@ let
           })
           sources."nwmatcher-1.3.9"
           sources."parse5-1.5.1"
-          (sources."request-2.79.0" // {
+          (sources."request-2.80.0" // {
             dependencies = [
               sources."aws-sign2-0.6.0"
-              sources."aws4-1.5.0"
-              sources."caseless-0.11.0"
+              sources."aws4-1.6.0"
+              sources."caseless-0.12.0"
               (sources."combined-stream-1.0.5" // {
                 dependencies = [
                   sources."delayed-stream-1.0.0"
@@ -4058,47 +4453,19 @@ let
                   sources."asynckit-0.4.0"
                 ];
               })
-              (sources."har-validator-2.0.6" // {
+              (sources."har-validator-4.2.1" // {
                 dependencies = [
-                  (sources."chalk-1.1.3" // {
-                    dependencies = [
-                      sources."ansi-styles-2.2.1"
-                      sources."escape-string-regexp-1.0.5"
-                      (sources."has-ansi-2.0.0" // {
-                        dependencies = [
-                          sources."ansi-regex-2.1.1"
-                        ];
-                      })
-                      (sources."strip-ansi-3.0.1" // {
-                        dependencies = [
-                          sources."ansi-regex-2.1.1"
-                        ];
-                      })
-                      sources."supports-color-2.0.0"
-                    ];
-                  })
-                  (sources."commander-2.9.0" // {
+                  (sources."ajv-4.11.4" // {
                     dependencies = [
-                      sources."graceful-readlink-1.0.1"
-                    ];
-                  })
-                  (sources."is-my-json-valid-2.15.0" // {
-                    dependencies = [
-                      sources."generate-function-2.0.0"
-                      (sources."generate-object-property-1.2.0" // {
+                      sources."co-4.6.0"
+                      (sources."json-stable-stringify-1.0.1" // {
                         dependencies = [
-                          sources."is-property-1.0.2"
+                          sources."jsonify-0.0.0"
                         ];
                       })
-                      sources."jsonpointer-4.0.1"
-                      sources."xtend-4.0.1"
-                    ];
-                  })
-                  (sources."pinkie-promise-2.0.1" // {
-                    dependencies = [
-                      sources."pinkie-2.0.4"
                     ];
                   })
+                  sources."har-schema-1.0.5"
                 ];
               })
               (sources."hawk-3.1.3" // {
@@ -4119,17 +4486,17 @@ let
                       sources."verror-1.3.6"
                     ];
                   })
-                  (sources."sshpk-1.10.2" // {
+                  (sources."sshpk-1.11.0" // {
                     dependencies = [
                       sources."asn1-0.2.3"
                       sources."assert-plus-1.0.0"
                       sources."dashdash-1.14.1"
                       sources."getpass-0.1.6"
-                      sources."jsbn-0.1.0"
+                      sources."jsbn-0.1.1"
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -4143,14 +4510,14 @@ let
                 ];
               })
               sources."oauth-sign-0.8.2"
-              sources."qs-6.3.0"
+              sources."performance-now-0.2.0"
+              sources."qs-6.3.2"
               sources."stringstream-0.0.5"
               sources."tunnel-agent-0.4.3"
-              sources."uuid-3.0.1"
             ];
           })
-          sources."sax-1.2.1"
-          sources."symbol-tree-3.2.1"
+          sources."sax-1.2.2"
+          sources."symbol-tree-3.2.2"
           (sources."tough-cookie-2.3.2" // {
             dependencies = [
               sources."punycode-1.4.1"
@@ -4165,20 +4532,32 @@ let
           sources."xml-name-validator-2.0.1"
         ];
       })
+      (sources."method-override-2.3.7" // {
+        dependencies = [
+          (sources."debug-2.3.3" // {
+            dependencies = [
+              sources."ms-0.7.2"
+            ];
+          })
+          sources."methods-1.1.2"
+          sources."parseurl-1.3.1"
+          sources."vary-1.1.0"
+        ];
+      })
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
         ];
       })
-      sources."node-uuid-1.4.7"
       sources."oauth-evanp-0.9.10-evanp.2"
+      sources."octal-1.0.0"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."wordwrap-0.0.3"
           sources."minimist-0.0.10"
         ];
       })
-      (sources."rimraf-2.5.4" // {
+      (sources."rimraf-2.6.1" // {
         dependencies = [
           (sources."glob-7.1.1" // {
             dependencies = [
@@ -4226,7 +4605,7 @@ let
               })
               sources."entities-1.1.1"
               sources."inherits-2.0.3"
-              (sources."readable-stream-2.2.2" // {
+              (sources."readable-stream-2.2.3" // {
                 dependencies = [
                   sources."buffer-shims-1.0.0"
                   sources."core-util-is-1.0.2"
@@ -4267,7 +4646,7 @@ let
           sources."statuses-1.2.1"
         ];
       })
-      (sources."showdown-1.6.0" // {
+      (sources."showdown-1.6.4" // {
         dependencies = [
           (sources."yargs-6.6.0" // {
             dependencies = [
@@ -4312,7 +4691,7 @@ let
                           sources."graceful-fs-4.1.11"
                           (sources."parse-json-2.2.0" // {
                             dependencies = [
-                              (sources."error-ex-1.3.0" // {
+                              (sources."error-ex-1.3.1" // {
                                 dependencies = [
                                   sources."is-arrayish-0.2.1"
                                 ];
@@ -4332,9 +4711,9 @@ let
                           })
                         ];
                       })
-                      (sources."normalize-package-data-2.3.5" // {
+                      (sources."normalize-package-data-2.3.6" // {
                         dependencies = [
-                          sources."hosted-git-info-2.1.5"
+                          sources."hosted-git-info-2.2.0"
                           (sources."is-builtin-module-1.0.0" // {
                             dependencies = [
                               sources."builtin-modules-1.1.1"
@@ -4407,7 +4786,22 @@ let
           sources."uuid-2.0.3"
         ];
       })
-      sources."step-0.0.6"
+      (sources."ssl-config-0.0.9" // {
+        dependencies = [
+          (sources."assert-1.4.1" // {
+            dependencies = [
+              (sources."util-0.10.3" // {
+                dependencies = [
+                  sources."inherits-2.0.1"
+                ];
+              })
+            ];
+          })
+          sources."es6-shim-0.27.1"
+          sources."minimum-tls-version-0.0.1"
+        ];
+      })
+      sources."step-1.0.0"
       sources."ua-parser-js-0.7.12"
       sources."underscore-1.8.3"
       (sources."underscore-contrib-0.3.0" // {
@@ -4415,28 +4809,34 @@ let
           sources."underscore-1.6.0"
         ];
       })
-      sources."utml-0.2.0"
+      sources."uuid-3.0.1"
       sources."validator-4.4.0"
       (sources."webfinger-0.4.2" // {
         dependencies = [
+          sources."step-0.0.6"
           (sources."xml2js-0.1.14" // {
             dependencies = [
-              sources."sax-1.2.1"
+              sources."sax-1.2.2"
             ];
           })
         ];
       })
-      (sources."databank-mongodb-0.19.0" // {
+      (sources."databank-mongodb-1.0.0" // {
         dependencies = [
-          (sources."debug-2.6.0" // {
+          (sources."databank-1.0.1" // {
+            dependencies = [
+              sources."setimmediate-1.0.5"
+            ];
+          })
+          (sources."debug-2.6.1" // {
             dependencies = [
               sources."ms-0.7.2"
             ];
           })
-          (sources."mongodb-2.2.21" // {
+          (sources."mongodb-2.2.24" // {
             dependencies = [
               sources."es6-promise-3.2.1"
-              (sources."mongodb-core-2.1.6" // {
+              (sources."mongodb-core-2.1.8" // {
                 dependencies = [
                   sources."bson-1.0.4"
                   (sources."require_optional-1.0.0" // {
@@ -4469,37 +4869,6 @@ let
           sources."underscore-1.6.0"
         ];
       })
-      (sources."databank-memcached-0.15.0" // {
-        dependencies = [
-          (sources."memcached-0.2.8" // {
-            dependencies = [
-              (sources."hashring-0.0.8" // {
-                dependencies = [
-                  sources."bisection-0.0.3"
-                  sources."simple-lru-cache-0.0.2"
-                ];
-              })
-              (sources."jackpot-0.0.6" // {
-                dependencies = [
-                  sources."retry-0.6.0"
-                ];
-              })
-            ];
-          })
-          (sources."databank-0.18.2" // {
-            dependencies = [
-              (sources."vows-0.7.0" // {
-                dependencies = [
-                  sources."eyes-0.1.8"
-                  sources."diff-1.0.8"
-                ];
-              })
-              sources."set-immediate-0.1.1"
-            ];
-          })
-          sources."underscore-1.4.4"
-        ];
-      })
       (sources."databank-lrucache-0.1.2" // {
         dependencies = [
           sources."underscore-1.5.2"
diff --git a/pkgs/shells/bash/4.4.nix b/pkgs/shells/bash/4.4.nix
index 7dbb18324972..682123d924e0 100644
--- a/pkgs/shells/bash/4.4.nix
+++ b/pkgs/shells/bash/4.4.nix
@@ -63,7 +63,7 @@ stdenv.mkDerivation rec {
 
   crossAttrs = {
     configureFlags = baseConfigureFlags +
-      " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing" +
+      " bash_cv_job_control_missing=nomissing bash_cv_sys_named_pipes=nomissing bash_cv_getcwd_malloc=yes" +
       optionalString stdenv.isCygwin ''
         --without-libintl-prefix --without-libiconv-prefix
         --with-installed-readline
diff --git a/pkgs/tools/compression/bsc/default.nix b/pkgs/tools/compression/bsc/default.nix
new file mode 100644
index 000000000000..be512e2ae689
--- /dev/null
+++ b/pkgs/tools/compression/bsc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl } :
+
+stdenv.mkDerivation rec {
+  name = "bsc-${version}";
+  version = "3.1.0";
+
+  src = fetchurl {
+    url = "https://github.com/IlyaGrebnov/libbsc/archive/${version}.tar.gz";
+    sha256 = "01yhizaf6qjv1plyrx0fcib264maa5qwvgfvvid9rzlzj9fxjib6";
+  };
+
+  enableParallelBuilding = true;
+
+  preInstall = ''
+    makeFlagsArray+=("PREFIX=$out")
+  '';
+
+  meta = with stdenv.lib; {
+    description = "High performance block-sorting data compression library";
+    homepage = http://libbsc.com/;
+    # Later commits changed the licence to Apache2 (no release yet, though)
+    license = with licenses; [ lgpl3Plus ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/compression/lzham/default.nix b/pkgs/tools/compression/lzham/default.nix
new file mode 100644
index 000000000000..cdc155474a78
--- /dev/null
+++ b/pkgs/tools/compression/lzham/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake } :
+
+stdenv.mkDerivation rec {
+  name = "lzham-1.0";
+
+  src = fetchFromGitHub {
+    owner = "richgel999";
+    repo = "lzham_codec";
+    rev = "v1_0_release";
+    sha256 = "14c1zvzmp1ylp4pgayfdfk1kqjb23xj4f7ll1ra7b18wjxc9ja1v";
+  };
+
+  buildInputs = [ cmake ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ../bin_linux/lzhamtest $out/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Lossless data compression codec with LZMA-like ratios but 1.5x-8x faster decompression speed";
+    homepage = https://github.com/richgel999/lzham_codec;
+    license = with licenses; [ mit ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/misc/latex2html/default.nix b/pkgs/tools/misc/latex2html/default.nix
new file mode 100644
index 000000000000..596a72ee5ac1
--- /dev/null
+++ b/pkgs/tools/misc/latex2html/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, makeWrapper
+, ghostscript, netpbm, perl }:
+# TODO: withTex
+
+# Ported from Homebrew.
+# https://github.com/Homebrew/homebrew-core/blob/21834573f690407d34b0bbf4250b82ec38dda4d6/Formula/latex2html.rb
+
+stdenv.mkDerivation rec {
+  name = "latex2html-${version}";
+  version = "2016";
+
+  src = fetchurl {
+    url = "http://mirrors.ctan.org/support/latex2html/latex2html-${version}.tar.gz";
+    sha256 = "028k0ypbq94mlhydf1sbqlphlfl2fhmlzhgqq5jjzihfmccbq7db";
+  };
+
+  buildInputs = [ ghostscript netpbm perl ];
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  configurePhase = ''
+    ./configure \
+      --prefix="$out" \
+      --without-mktexlsr \
+      --with-texpath=$out/share/texmf/tex/latex/html
+  '';
+
+  postInstall = ''
+    for p in $out/bin/{latex2html,pstoimg}; do \
+      wrapProgram $p --add-flags '--tmp="''${TMPDIR:-/tmp}"'
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "LaTeX-to-HTML translator";
+    longDescription = ''
+      A Perl program that translates LaTeX into HTML (HyperText Markup
+      Language), optionally creating separate HTML files corresponding to each
+      unit (e.g., section) of the document. LaTeX2HTML proceeds by interpreting
+      LaTeX (to the best of its abilities). It contains definitions from a wide
+      variety of classes and packages, and users may add further definitions by
+      writing Perl scripts that provide information about class/package
+      commands.
+    '';
+
+    homepage = "https://www.ctan.org/pkg/latex2html";
+
+    license = licenses.gpl2;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = with maintainers; [ yurrriq ];
+  };
+}
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index dbd042ec8858..aa92e66d98fb 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -14,11 +14,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.03.07";
+  version = "2017.03.10";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "19acz9m3gazd1ims4l9a9ni1p7jw8z4y0ncqn99xlx9kna8ryjnv";
+    sha256 = "0ccrwhgycz17xmsdsd0rsv7khhp1z7dnwp7fkxx7dxbivjf0h0a4";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/yubikey-personalization/default.nix b/pkgs/tools/misc/yubikey-personalization/default.nix
index 71c9a113298f..36dd8339f26e 100644
--- a/pkgs/tools/misc/yubikey-personalization/default.nix
+++ b/pkgs/tools/misc/yubikey-personalization/default.nix
@@ -28,6 +28,6 @@ stdenv.mkDerivation rec {
     description = "A library and command line tool to personalize YubiKeys";
     license = licenses.bsd2;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ wkennington calrama ];
   };
 }
diff --git a/pkgs/tools/networking/dd-agent/default.nix b/pkgs/tools/networking/dd-agent/default.nix
index 0e12c50d1546..ddef8a70012d 100644
--- a/pkgs/tools/networking/dd-agent/default.nix
+++ b/pkgs/tools/networking/dd-agent/default.nix
@@ -1,15 +1,40 @@
-{ stdenv, fetchFromGitHub, python, pythonPackages, sysstat, unzip, tornado
-, makeWrapper }:
+{ stdenv, fetchFromGitHub, pythonPackages
+, sysstat, unzip, makeWrapper }:
+let
+  inherit (pythonPackages) python;
+  docker_1_10 = pythonPackages.buildPythonPackage rec {
+    name = "docker-${version}";
+    version = "1.10.6";
 
-stdenv.mkDerivation rec {
-  version = "5.5.2";
+    src = fetchFromGitHub {
+      owner = "docker";
+      repo = "docker-py";
+      rev = version;
+      sha256 = "1awzpbrkh4fympqzddz5i3ml81b7f0i0nwkvbpmyxjjfqx6l0m4m";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [
+      six
+      requests2
+      websocket_client
+      ipaddress
+      backports_ssl_match_hostname
+      docker_pycreds
+    ];
+
+    # due to flake8
+    doCheck = false;
+  };
+
+in stdenv.mkDerivation rec {
+  version = "5.11.2";
   name = "dd-agent-${version}";
 
   src = fetchFromGitHub {
     owner  = "datadog";
     repo   = "dd-agent";
     rev    = version;
-    sha256 = "0ga7h3rdg6q2pi4dxxkird5nf6s6hc13mj1xd9awwpli48gyvxn7";
+    sha256 = "1iqxvgpsqibqw3vk79158l2pnb6y4pjhjp2d6724lm5rpz4825lx";
   };
 
   buildInputs = [
@@ -23,9 +48,11 @@ stdenv.mkDerivation rec {
     pythonPackages.simplejson
     pythonPackages.pyyaml
     pythonPackages.pymongo
-    pythonPackages.docker
+    pythonPackages.python-etcd
+    pythonPackages.consul
+    docker_1_10
   ];
-  propagatedBuildInputs = [ python tornado ];
+  propagatedBuildInputs = with pythonPackages; [ python tornado ];
 
   buildCommand = ''
     mkdir -p $out/bin
diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix
index 14bde9a5fa5b..4b1717e09025 100644
--- a/pkgs/tools/networking/dnsmasq/default.nix
+++ b/pkgs/tools/networking/dnsmasq/default.nix
@@ -39,6 +39,11 @@ stdenv.mkDerivation rec {
   # module can create it in Nix-land?
   postInstall = ''
     install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf
+  '' + optionalString stdenv.isDarwin ''
+    install -Dm644 contrib/MacOSX-launchd/uk.org.thekelleys.dnsmasq.plist \
+      $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist
+    substituteInPlace $out/Library/LaunchDaemons/uk.org.thekelleys.dnsmasq.plist \
+      --replace "/usr/local/sbin" "$out/bin"
   '' + optionalString stdenv.isLinux ''
     install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf
     install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time
diff --git a/pkgs/tools/networking/gupnp-tools/default.nix b/pkgs/tools/networking/gupnp-tools/default.nix
index f846a711aa4a..ea78cdd106ac 100644
--- a/pkgs/tools/networking/gupnp-tools/default.nix
+++ b/pkgs/tools/networking/gupnp-tools/default.nix
@@ -3,10 +3,10 @@
 stdenv.mkDerivation rec {
   name = "gupnp-tools-${version}";
   majorVersion = "0.8";
-  version = "${majorVersion}.8";
+  version = "${majorVersion}.13";
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp-tools/${majorVersion}/gupnp-tools-${version}.tar.xz";
-    sha256 = "160dgh9pmlb85qfavwqz46lqawpshs8514bx2b57f9rbiny8kbij";
+    sha256 = "1vbr4iqi7nl7kq982agd3liw10gx67s95idd0pjy5h1jsnwyqgda";
   };
 
   buildInputs = [gupnp libuuid gssdp pkgconfig gtk3 intltool gupnp_av
diff --git a/pkgs/tools/networking/mtr/default.nix b/pkgs/tools/networking/mtr/default.nix
index c96e5cac367c..666bb4942a9f 100644
--- a/pkgs/tools/networking/mtr/default.nix
+++ b/pkgs/tools/networking/mtr/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ncurses, autoconf
+{stdenv, fetchurl, autoreconfHook, pkgconfig, ncurses
 , withGtk ? false, gtk2 ? null}:
 
 assert withGtk -> gtk2 != null;
@@ -6,24 +6,27 @@ assert withGtk -> gtk2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   baseName="mtr";
-  version="0.86";
+  version="0.87";
   name="${baseName}-${version}";
-  
+
   src = fetchurl {
     url="ftp://ftp.bitwizard.nl/${baseName}/${name}.tar.gz";
-    sha256 = "01lcy89q3i9g4kz4liy6m7kcq1zyvmbc63rqidgw67341f94inf5";
+    sha256 = "17zi99n8bdqrwrnbfyjn327jz4gxx287wrq3vk459c933p34ff8r";
   };
 
   configureFlags = optionalString (!withGtk) "--without-gtk";
 
-  buildInputs = [ autoconf ncurses ] ++ optional withGtk gtk2;
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ ncurses ] ++ optional withGtk gtk2;
+
+  enableParallelBuilding = true;
 
   meta = {
     homepage = http://www.bitwizard.nl/mtr/;
     description = "A network diagnostics tool";
-    maintainers = [ maintainers.koral maintainers.raskin ];
+    maintainers = with maintainers; [ koral orivej raskin ];
     platforms = platforms.unix;
     license = licenses.gpl2;
   };
 }
-
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index a212e4f053d3..cca111db67d5 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gnome3.gtk libglade networkmanager libnotify libsecret gsettings_desktop_schemas
     polkit isocodes makeWrapper udev libgudev gnome3.gconf gnome3.libgnome_keyring
-    modemmanager jansson librsvg
+    modemmanager jansson librsvg glib_networking gnome3.dconf
   ];
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
diff --git a/pkgs/tools/networking/olsrd/default.nix b/pkgs/tools/networking/olsrd/default.nix
index 90f686f77ea6..8fa30a5c2211 100644
--- a/pkgs/tools/networking/olsrd/default.nix
+++ b/pkgs/tools/networking/olsrd/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, bison, flex }:
 
 stdenv.mkDerivation rec {
-  name = "olsrd-0.6.6.1";
+  name = "olsrd-${version}";
+  version = "0.9.6.1";
 
   src = fetchurl {
-    url = "http://www.olsr.org/releases/0.6/${name}.tar.bz2";
-    sha256 = "1fphbh9x724r83gxxrd13zv487s4svnr9jdy76h4f36xxb15pnp8";
+    url = "http://www.olsr.org/releases/0.9/${name}.tar.bz2";
+    sha256 = "9cac290e9bff5fc7422110b9ccd972853f10962c962d2f31a63de9c6d1520612";
   };
 
   buildInputs = [ bison flex ];
diff --git a/pkgs/tools/networking/packetdrill/default.nix b/pkgs/tools/networking/packetdrill/default.nix
new file mode 100644
index 000000000000..75007b5ed681
--- /dev/null
+++ b/pkgs/tools/networking/packetdrill/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, bison, flex }:
+stdenv.mkDerivation rec {
+  version = "1.0";
+  name = "packetdrill-${version}";
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "packetdrill";
+    rev = "58a7865c47e3a71e92ca0e4cc478c320e1c35f82";
+    sha256 = "09sqiakmn63idfjhy2ddf1456sfhi8yhsbp8lxvc1yfjikjxwwbc";
+  };
+  setSourceRoot = ''
+    export sourceRoot=$(realpath */gtests/net/packetdrill)
+  '';
+  NIX_CFLAGS_COMPILE = "-Wno-error=unused-result";
+  nativeBuildInputs = [ bison flex ];
+  patches = [ ./nix.patch ];
+  enableParallelBuilding = true;
+  meta = {
+    description = "Quick, precise tests for entire TCP/UDP/IPv4/IPv6 network stacks";
+    homepage = https://github.com/google/packetdrill;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ dmjio cleverca22 ];
+  };
+}
diff --git a/pkgs/tools/networking/packetdrill/nix.patch b/pkgs/tools/networking/packetdrill/nix.patch
new file mode 100644
index 000000000000..6bad14421b98
--- /dev/null
+++ b/pkgs/tools/networking/packetdrill/nix.patch
@@ -0,0 +1,24 @@
+diff --git a/gtests/net/packetdrill/Makefile.common b/gtests/net/packetdrill/Makefile.common
+index 0ec741f..bf1cbb1 100644
+--- a/Makefile.common
++++ b/Makefile.common
+@@ -33,7 +33,7 @@ packetdrill-lib := \
+ packetdrill-objs := packetdrill.o $(packetdrill-lib)
+ 
+ packetdrill: $(packetdrill-objs)
+-	$(CC) -o packetdrill -g -static $(packetdrill-objs) $(packetdrill-ext-libs)
++	$(CC) -o packetdrill -g $(packetdrill-objs) $(packetdrill-ext-libs)
+ 
+ test-bins := checksum_test packet_parser_test packet_to_string_test
+ tests: $(test-bins)
+@@ -43,6 +43,10 @@ tests: $(test-bins)
+ 
+ binaries: packetdrill $(test-bins)
+ 
++install: packetdrill $(test-bins)
++	mkdir -p ${out}/bin
++	cp -vi $^ ${out}/bin
++
+ checksum_test-objs := $(packetdrill-lib) checksum_test.o
+ checksum_test: $(checksum_test-objs)
+ 	$(CC) -o checksum_test $(checksum_test-objs) $(packetdrill-ext-libs)
diff --git a/pkgs/tools/networking/pdnsd/default.nix b/pkgs/tools/networking/pdnsd/default.nix
index b1e7e92e815c..10c004ecd94f 100644
--- a/pkgs/tools/networking/pdnsd/default.nix
+++ b/pkgs/tools/networking/pdnsd/default.nix
@@ -14,11 +14,14 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-ipv6" ];
 
-  meta = { 
+  # fix ipv6 on darwin
+  CPPFLAGS = "-D__APPLE_USE_RFC_3542";
+
+  meta = with stdenv.lib; {
     description = "Permanent DNS caching";
-    homepage = http://www.phys.uu.nl/~rombouts/pdnsd.html;
-    license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [viric];
+    homepage = http://members.home.nl/p.a.rombouts/pdnsd;
+    license = licenses.gpl3Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [viric];
   };
 }
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index f024c637c341..1a260f910e20 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -12,7 +12,14 @@ stdenv.mkDerivation rec {
     sha256 = "1ljcfhbkdsd0zjfm520rbl1ai62fc34i7c45sfj244l8f6b0p58c";
   };
 
-  patches = [ ./remove-runtime-dep-on-openssl-headers.patch ];
+  patches = [
+    ./remove-runtime-dep-on-openssl-headers.patch
+    (fetchurl {
+      name = "CVE-2017-6508";
+      url = "http://git.savannah.gnu.org/cgit/wget.git/patch/?id=4d729e322fae359a1aefaafec1144764a54e8ad4";
+      sha256 = "14r0c5y3w3gavxp2d9yq8xji82izi5sx0sjv6jpmk6zp6cnr7cjf";
+    })
+  ];
 
   preConfigure = ''
     patchShebangs doc
diff --git a/pkgs/tools/security/crunch/default.nix b/pkgs/tools/security/crunch/default.nix
index 914d79965c3e..3e94d52fc5fc 100644
--- a/pkgs/tools/security/crunch/default.nix
+++ b/pkgs/tools/security/crunch/default.nix
@@ -11,11 +11,11 @@ stdenv.mkDerivation  rec {
 
   buildInputs = [ which ];
 
-  configurePhase = "true";
-
   preBuild = ''
-    sed 's/sudo //' -i Makefile
-    sed 's/-g root -o root//' -i Makefile
+    substituteInPlace Makefile \
+      --replace '-g root -o root' "" \
+      --replace '-g wheel -o root' "" \
+      --replace 'sudo ' ""
   '';
 
   makeFlags = "PREFIX=$(out)";
@@ -23,7 +23,7 @@ stdenv.mkDerivation  rec {
   meta = with stdenv.lib; {
     description = "Wordlist generator";
     homepage = https://sourceforge.net/projects/crunch-wordlist/;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.lethalman ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ lethalman lnl7 ];
   };
 }
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index c44f144bea68..f5d253af9ff3 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -30,7 +30,10 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--disable-native-macro" ];
 
   buildInputs = [ openssl nss nspr kerberos gmp zlib libpcap re2 gcc ];
-  enableParallelBuilding = true;
+
+  # gcc -DAC_BUILT -Wall vncpcap2john.o memdbg.o -g    -lpcap -fopenmp -o ../run/vncpcap2john
+  # gcc: error: memdbg.o: No such file or directory
+  enableParallelBuilding = false;
 
   NIX_CFLAGS_COMPILE = [ "-DJOHN_SYSTEMWIDE=1" ];
 
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
index 7ba43e38f382..786bcaa5334f 100644
--- a/pkgs/tools/text/ripgrep/default.nix
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -15,6 +15,11 @@ buildRustPackage rec {
 
   depsSha256 = "0q68qyl2h6i0qsz82z840myxlnjay8p1w5z7hfyr8fqp7wgwa9cx";
 
+  preFixup = ''
+    mkdir -p "$out/man/man1"
+    cp "$src/doc/rg.1" "$out/man/man1"
+  '';
+
   meta = with stdenv.lib; {
     description = "A utility that combines the usability of The Silver Searcher with the raw speed of grep";
     homepage = https://github.com/BurntSushi/ripgrep;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index f2eb80ec01d1..00a0d1393cd7 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -291,6 +291,8 @@ with pkgs;
 
   nukeReferences = callPackage ../build-support/nuke-references/default.nix { };
 
+  removeReferencesTo = callPackage ../build-support/remove-references-to/default.nix { };
+
   vmTools = callPackage ../build-support/vm/default.nix { };
 
   releaseTools = callPackage ../build-support/release/default.nix { };
@@ -938,6 +940,10 @@ with pkgs;
 
   interlock = callPackage ../servers/interlock {};
 
+  jbuilder = callPackage ../development/tools/ocaml/jbuilder {
+    inherit (ocaml-ng.ocamlPackages_4_03) ocaml;
+  };
+
   kapacitor = callPackage ../servers/monitoring/kapacitor { };
 
   languagetool = callPackage ../tools/text/languagetool {  };
@@ -1096,6 +1102,8 @@ with pkgs;
 
   atool = callPackage ../tools/archivers/atool { };
 
+  bsc = callPackage ../tools/compression/bsc { };
+
   bzip2 = callPackage ../tools/compression/bzip2 { };
 
   cabextract = callPackage ../tools/archivers/cabextract { };
@@ -2650,6 +2658,8 @@ with pkgs;
 
   kindlegen = callPackage ../tools/typesetting/kindlegen { };
 
+  latex2html = callPackage ../tools/misc/latex2html { };
+
   ldapvi = callPackage ../tools/misc/ldapvi { };
 
   ldns = callPackage ../development/libraries/ldns {
@@ -2772,6 +2782,8 @@ with pkgs;
 
   lzfse = callPackage ../tools/compression/lzfse { };
 
+  lzham = callPackage ../tools/compression/lzham { };
+
   lzip = callPackage ../tools/compression/lzip { };
 
   lzma = xz;
@@ -3285,6 +3297,8 @@ with pkgs;
     nix = nixUnstable;
   };
 
+  packetdrill = callPackage ../tools/networking/packetdrill { };
+
   pakcs = callPackage ../development/compilers/pakcs {};
 
   pal = callPackage ../tools/misc/pal { };
@@ -4614,6 +4628,8 @@ with pkgs;
   yaft = callPackage ../applications/misc/yaft { };
 
   yarn = callPackage ../development/tools/yarn  { };
+  
+  yasr = callPackage ../applications/audio/yasr { };
 
   yank = callPackage ../tools/misc/yank { };
 
@@ -6209,7 +6225,7 @@ with pkgs;
   buildbot-worker = callPackage ../development/tools/build-managers/buildbot/worker.nix {
     pythonPackages = python2Packages;
   };
-  buildbot-plugins = callPackage ../development/tools/build-managers/buildbot/plugins.nix {
+  buildbot-plugins = callPackages ../development/tools/build-managers/buildbot/plugins.nix {
     pythonPackages = python2Packages;
   };
   buildbot-ui = buildbot.withPlugins (with self.buildbot-plugins; [ www ]);
@@ -6850,7 +6866,10 @@ with pkgs;
 
   gdb-multitarget = lowPrio (gdb.override { multitarget = true; });
 
-  valgrind = callPackage ../development/tools/analysis/valgrind { };
+  valgrind = callPackage ../development/tools/analysis/valgrind {
+    inherit (darwin) xnu bootstrap_cmds cctools;
+    llvm = llvm_39;
+   };
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
@@ -7042,6 +7061,8 @@ with pkgs;
 
   certbot = callPackage ../tools/admin/certbot { };
 
+  caf = callPackage ../development/libraries/caf {};
+
   cgal = callPackage ../development/libraries/CGAL {};
 
   cgui = callPackage ../development/libraries/cgui {};
@@ -8929,7 +8950,7 @@ with pkgs;
 
   mkvtoolnix = callPackage ../applications/video/mkvtoolnix { };
 
-  mkvtoolnix-cli = mkvtoolnix.override {
+  mkvtoolnix-cli = callPackage ../applications/video/mkvtoolnix {
     withGUI = false;
   };
 
@@ -11421,7 +11442,6 @@ with pkgs;
   linux_3_12 = callPackage ../os-specific/linux/kernel/linux-3.12.nix {
     kernelPatches = with kernelPatches;
       [ bridge_stp_helper
-        DCCP_double_free_vulnerability_CVE-2017-6074
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11490,7 +11510,6 @@ with pkgs;
     kernelPatches = [
       kernelPatches.bridge_stp_helper
       kernelPatches.modinst_arg_list_too_long
-      kernelPatches.DCCP_double_free_vulnerability_CVE-2017-6074
     ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [
       kernelPatches.mips_fpureg_emu
       kernelPatches.mips_fpu_sigill
@@ -13038,7 +13057,7 @@ with pkgs;
 
   dbvisualizer = callPackage ../applications/misc/dbvisualizer {};
 
-  dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; };
+  dd-agent = callPackage ../tools/networking/dd-agent { };
 
   deadbeef = callPackage ../applications/audio/deadbeef {
     pulseSupport = config.pulseaudio or true;
@@ -14120,6 +14139,8 @@ with pkgs;
 
   kadu = kde4.callPackage ../applications/networking/instant-messengers/kadu { };
 
+  kanboard = callPackage ../applications/misc/kanboard { };
+
   kde-telepathy = kde4.callPackage ../applications/networking/instant-messengers/telepathy/kde {};
 
   kdeApplications =
@@ -14135,7 +14156,7 @@ with pkgs;
 
   inherit (kdeApplications)
     akonadi ark dolphin ffmpegthumbs filelight gwenview kate
-    kdenlive kcalc kcolorchooser kcontacts kgpg khelpcenter kig konsole marble
+    kdenlive kcalc kcolorchooser kcontacts kgpg khelpcenter kig konsole krfb marble
     okteta okular spectacle;
 
   kdeconnect = libsForQt5.callPackage ../applications/misc/kdeconnect { };
@@ -14201,7 +14222,7 @@ with pkgs;
   ktorrent = libsForQt5.callPackage ../applications/networking/p2p/ktorrent { };
 
   kubernetes = callPackage ../applications/networking/cluster/kubernetes {
-    go = go_1_6;
+    go = go_1_7;
   };
 
   lame = callPackage ../development/libraries/lame { };
@@ -14281,9 +14302,7 @@ with pkgs;
     lcms = lcms2;
     harfbuzz = harfbuzz.override {
       withIcu = true; withGraphite2 = true;
-      icu = icu_57;
     };
-    icu = icu_57;
   });
 
 
@@ -15725,6 +15744,8 @@ with pkgs;
     system-libvirt = libvirt;
   };
 
+  virtmanager-qt = libsForQt5.callPackage ../applications/virtualization/virt-manager/qt.nix { };
+
   virtinst = callPackage ../applications/virtualization/virtinst {};
 
   virtualbox = callPackage ../applications/virtualization/virtualbox {
@@ -15788,7 +15809,8 @@ with pkgs;
     gtk = gtk2;
   };
 
-  vlc_qt5 = libsForQt5.vlc;
+  # VLC 3.0 is needed to compile in C++11 mode (QT 5.7)
+  vlc_qt5 = libsForQt56.vlc;
 
   vmpk = callPackage ../applications/audio/vmpk { };
 
@@ -16179,8 +16201,6 @@ with pkgs;
 
   inherit (gnome3) yelp;
 
-  ykpers = callPackage ../applications/misc/ykpers {};
-
   yoshimi = callPackage ../applications/audio/yoshimi { };
 
   inherit (python3Packages) you-get;
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b4226e656fde..bad483f02373 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -79,6 +79,10 @@ in rec {
     ghcjsHEAD = packages.ghc802.callPackage ../development/compilers/ghcjs/head.nix {
       bootPkgs = packages.ghc802;
     };
+    ghcHaLVM240 = callPackage ../development/compilers/halvm/2.4.0.nix rec {
+      bootPkgs = packages.ghc802;
+      inherit (bootPkgs) hscolour alex happy;
+    };
 
     jhc = callPackage ../development/compilers/jhc {
       inherit (packages.ghc763) ghcWithPackages;
@@ -100,6 +104,7 @@ in rec {
       in pkgs.recurseIntoAttrs (integerSimpleGhcs // {
            ghcHEAD = integerSimpleGhcs.ghcHEAD.override { selfPkgs = packages.integer-simple.ghcHEAD; };
          });
+
   };
 
   packages = {
@@ -167,6 +172,10 @@ in rec {
       ghc = compiler.ghcjsHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghcjs.nix { };
     };
+    ghcHaLVM240 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghcHaLVM240;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-halvm-2.4.0.nix { };
+    };
 
     # The integer-simple attribute set contains package sets for all the GHC compilers
     # using integer-simple instead of integer-gmp.
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index d2aaa63c667f..ea3a849c7ac5 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -459,7 +459,7 @@ let
     meta = {
       description = "Simple implementation of msgpack in C Lua 5.1";
       homepage = "https://github.com/tarruda/libmpack";
-      platforms = stdenv.lib.platforms.linux;
+      platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
       license = stdenv.lib.licenses.mit;
       # gcc -llua fails with luajit
       broken = (builtins.parseDrvName lua.name).name != "lua";
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 1cc5de01e101..b695e0a073e6 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -138,6 +138,8 @@ let
 
     cppo = callPackage ../development/tools/ocaml/cppo { };
 
+    cpuid = callPackage ../development/ocaml-modules/cpuid { };
+
     cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
 
     cstruct = callPackage ../development/ocaml-modules/cstruct {
@@ -261,7 +263,7 @@ let
       else lambdaTerm-1_6;
 
     llvm = callPackage ../development/ocaml-modules/llvm {
-      llvm = pkgs.llvm_37;
+      llvm = pkgs.llvm_39;
     };
 
     logs = callPackage ../development/ocaml-modules/logs {
@@ -336,6 +338,8 @@ let
 
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
 
+    ocaml-migrate-parsetree = callPackage ../development/ocaml-modules/ocaml-migrate-parsetree { };
+
     ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
 
     ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 4dbb61cc4568..9a3debdf48b7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -289,6 +289,8 @@ in {
 
   plantuml = callPackage ../tools/misc/plantuml { };
 
+  pyaes = callPackage ../development/python-modules/pyaes.nix { };
+
   pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
 
   pycairo = callPackage ../development/python-modules/pycairo { };
@@ -5839,17 +5841,16 @@ in {
 
   requests-cache = buildPythonPackage (rec {
     name = "requests-cache-${version}";
-    version = "0.4.10";
-    disabled = isPy3k;
+    version = "0.4.13";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/requests-cache/${name}.tar.gz";
-      sha256 = "671969d00719fa3e80476b128dc9232025926884d0110d4d235abdd9c3508fc0";
+      sha256 = "18jpyivnq5pjbkymk3i473rihpj2bgikafpha7xvr6w736hiqmpy";
     };
 
     buildInputs = with self; [ mock ];
 
-    propagatedBuildInputs = with self; [ self.six requests2 ];
+    propagatedBuildInputs = with self; [ requests2 six urllib3 ];
 
     meta = {
       description = "Persistent cache for requests library";
@@ -6590,24 +6591,8 @@ in {
     };
   };
 
-  ds4drv = buildPythonPackage rec {
-    name = "ds4drv-${version}";
-    version = "0.5.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/ds4drv/${name}.tar.gz";
-      sha256 = "0dq2z1z09zxa6rn3v94vwqaaz29jwiydkss8hbjglixf20krmw3b";
-    };
-
-    propagatedBuildInputs = with self; [ evdev pyudev ];
-
-    buildInputs = [ pkgs.bluez ];
-
-    meta = {
-      description = "Userspace driver for the DualShock 4 controller";
-      homepage = "https://github.com/chrippa/ds4drv";
-      license = licenses.mit;
-    };
-
+  ds4drv = callPackage ../development/python-modules/ds4drv.nix {
+    inherit (pkgs) fetchFromGitHub bluez;
   };
 
   dyn = buildPythonPackage rec {
@@ -6682,6 +6667,8 @@ in {
     };
   };
 
+  edward = callPackage ../development/python-modules/edward { };
+
   elasticsearch = buildPythonPackage (rec {
     name = "elasticsearch-1.9.0";
 
@@ -13144,6 +13131,13 @@ in {
       sha256 = "3a0624a251a26463c9dfa0ffa635ec51c4265380980d9a50d65611c3c2bd82a6";
     };
 
+    patches = [
+      (pkgs.fetchpatch {
+        url = "https://github.com/ipython/ipython_genutils/commit/6d74d8cb34e49820e48ba8b4f5e5f8322824f4f7.patch";
+        sha256 = "13ah6a11qldzzywax50la6qwq02sk5929gjkzzn456lg1ja5gq35";
+      })
+    ];
+
     LC_ALL = "en_US.UTF-8";
     buildInputs = with self; [ nose pkgs.glibcLocales ];
 
@@ -18886,6 +18880,10 @@ in {
     };
   };
 
+  pip-tools = callPackage ../development/python-modules/pip-tools {
+    glibcLocales = pkgs.glibcLocales;
+  };
+
   pika = buildPythonPackage rec {
     name = "pika-${version}";
     version = "0.10.0";
@@ -21198,32 +21196,10 @@ in {
     buildInputs = with self; [ pyasn1 pycrypto ];
   };
 
-  pyudev = buildPythonPackage rec {
-    name = "pyudev-${version}";
-    version = "0.16.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyudev/${name}.tar.gz";
-      sha256 = "765d1c14bd9bd031f64e2612225621984cb2bbb8cbc0c03538bcc4c735ff1c95";
-    };
-
-    postPatch = ''
-      sed -i -e '/udev_library_name/,/^ *libudev/ {
-        s|CDLL([^,]*|CDLL("${pkgs.systemd.lib}/lib/libudev.so.1"|p; d
-      }' pyudev/_libudev.py
-    '';
-
-    propagatedBuildInputs = with self; [ pkgs.systemd ];
-
-    meta = {
-      homepage = "http://pyudev.readthedocs.org/";
-      description = "Pure Python libudev binding";
-      license = licenses.lgpl21Plus;
-      platforms = platforms.linux;
-    };
+  pyudev = callPackage ../development/python-modules/pyudev.nix {
+    inherit (pkgs) fetchurl systemd;
   };
 
-
   pynzb = buildPythonPackage (rec {
     name = "pynzb-0.1.0";
 
@@ -21540,11 +21516,15 @@ in {
 
     checkPhase = ''
       runHook preCheck
-      export LANG="en_US.UTF-8";
-      py.test;
+      export LANG="en_US.UTF-8"
+      py.test
       runHook postCheck
     '';
 
+    # Seems to fail unpredictably on Darwin. See http://hydra.nixos.org/build/49877419/nixlog/1
+    # for one example, but I've also seen ContextTests.test_set_verify_callback_exception fail.
+    doCheck = !stdenv.isDarwin;
+
     buildInputs = [ pkgs.openssl self.pytest pkgs.glibcLocales ];
     propagatedBuildInputs = [ self.cryptography self.pyasn1 self.idna ];
   };
@@ -23451,11 +23431,11 @@ in {
 
   setuptools_scm = buildPythonPackage rec {
     name = "setuptools_scm-${version}";
-    version = "1.11.1";
+    version = "1.15.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/setuptools_scm/${name}.tar.gz";
-      sha256 = "8c45f738a23410c5276b0ed9294af607f491e4260589f1eb90df8312e23819bf";
+      sha256 = "0bwyc5markib0i7i2qlyhdzxhiywzxbkfiapldma8m91m82jvwfs";
     };
 
     buildInputs = with self; [ pip pytest ];
@@ -24758,8 +24738,21 @@ in {
     };
   });
 
+  sphinxcontrib-openapi = buildPythonPackage (rec {
+    name = "sphinxcontrib-openapi-0.3.0";
+
+    doCheck = false;
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/s/sphinxcontrib-openapi/${name}.tar.gz";
+      sha256 = "0fyniq37nnmhrk4j7mzvg6vfcpb624hb9x70g6mccyw4xrnhadv6";
+    };
+
+    propagatedBuildInputs = with self; [setuptools_scm pyyaml jsonschema sphinxcontrib_httpdomain];
+  });
+
   sphinxcontrib_httpdomain = buildPythonPackage (rec {
-    name = "sphinxcontrib-httpdomain-1.3.0";
+    name = "sphinxcontrib-httpdomain-1.5.0";
 
     # Check is disabled due to this issue:
     # https://bitbucket.org/pypa/setuptools/issue/137/typeerror-unorderable-types-str-nonetype
@@ -24767,7 +24760,7 @@ in {
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/s/sphinxcontrib-httpdomain/${name}.tar.gz";
-      sha256 = "ba8fbe82eddc96cfa9d7b975b0422801a14ace9d7e051b8b2c725b92ea6137b5";
+      sha256 = "0srg8lwf4m1hyhz942fcdfxh689xphndngiidb575qmfbi89gc7a";
     };
 
     propagatedBuildInputs = with self; [sphinx];
@@ -25672,12 +25665,13 @@ in {
   };
 
   traitlets = buildPythonPackage rec {
-    version = "4.3.1";
-    name = "traitlets-${version}";
+    pname = "traitlets";
+    version = "4.3.2";
+    name = "${pname}-${version}";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/traitlets/${name}.tar.gz";
-      sha256 = "ba8c94323ccbe8fd792e45d8efe8c95d3e0744cc8c085295b607552ab573724c";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835";
     };
 
     LC_ALL = "en_US.UTF-8";
@@ -29074,6 +29068,8 @@ EOF
     };
   };
 
+  first = callPackage ../development/python-modules/first {};
+
   flaskbabel = buildPythonPackage rec {
     name = "Flask-Babel-0.11.1";
 
@@ -30812,48 +30808,9 @@ EOF
     };
   };
 
-  mnemonic = buildPythonPackage rec{
-    version = "0.12";
-    name = "mnemonic-${version}";
+  mnemonic = callPackage ../development/python-modules/mnemonic.nix { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mnemonic/${name}.tar.gz";
-      sha256 = "0j5jm4v54135qqw455fw4ix2mhxhzjqvxji9gqkpxagk31cvbnj4";
-    };
-
-    propagatedBuildInputs = with self; [ pbkdf2 ];
-
-    meta = {
-      description = "Implementation of Bitcoin BIP-0039";
-      homepage = https://github.com/trezor/python-mnemonic;
-      license = licenses.mit;
-      maintainers = with maintainers; [ np ];
-    };
-  };
-
-  trezor = buildPythonPackage rec{
-    version = "0.7.4";
-    name = "trezor-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/trezor/${name}.tar.gz";
-      sha256 = "18nr76jkdg24sb3r8cfbiq12b95gnh0amc0r1wx9mmg3pwq6jx6y";
-    };
-
-    propagatedBuildInputs = with self; [ protobuf3_0 hidapi ];
-
-    buildInputs = with self; [ ecdsa mnemonic ];
-
-    # There are no actual tests: "ImportError: No module named tests"
-    doCheck = false;
-
-    meta = {
-      description = "Python library for communicating with TREZOR Bitcoin Hardware Wallet";
-      homepage = https://github.com/trezor/python-trezor;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ np ];
-    };
-  };
+  trezor = callPackage ../development/python-modules/trezor.nix { };
 
   keepkey = buildPythonPackage rec{
     version = "0.7.3";
@@ -31350,7 +31307,7 @@ EOF
       sha256 = "0hq887yb3rwc0rcw32lh7xdkk9bbrqy274aspzqkd6f7dyhp73ih";
     };
 
-    disabled = isPy3k;
+    propagatedBuildInputs = with self; [ requests-cache ];
 
     meta = {
       description = "Simple to use TVDB (thetvdb.com) API in Python.";
@@ -31362,19 +31319,18 @@ EOF
 
   tvnamer = buildPythonPackage rec {
     name = "tvnamer-${version}";
-    version = "2.3";
+    version = "2.4";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/t/tvnamer/${name}.tar.gz";
-      sha256 = "15i6qvhwhcx08c96xx3s2841yc7k8gxrqqvhw908c11g0045c2r3";
+      sha256 = "10iizmwna2xpyc2694hsrvny68y3bdq576p8kxsvg5gj2spnsxav";
     };
 
-    propagatedBuildInputs = with self; [
-      tvdb_api
-    ];
+    buildInputs = with self; [ pytest ];
+    propagatedBuildInputs = with self; [ tvdb_api ];
 
-    # tvdb_api isn't working with Python 3
-    disabled = isPy3k;
+    # a ton of tests fail with: IOError: tvnamer/main.py could not be found in . or ..
+    doCheck = false;
 
     meta = {
       description = "Automatic TV episode file renamer, uses data from thetvdb.com via tvdb_api.";