summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/lists.nix80
-rw-r--r--lib/maintainers.nix1
-rwxr-xr-xmaintainers/scripts/fetch-kde-qt.sh19
-rwxr-xr-xmaintainers/scripts/generate-kde-applications.sh5
-rwxr-xr-xmaintainers/scripts/generate-kde-frameworks.sh5
-rwxr-xr-xmaintainers/scripts/generate-kde-plasma.sh5
-rwxr-xr-xmaintainers/scripts/generate-qt.sh6
-rw-r--r--nixos/lib/utils.nix9
-rw-r--r--nixos/modules/config/pulseaudio.nix2
-rw-r--r--nixos/modules/installer/tools/nixos-install.sh9
-rw-r--r--nixos/modules/misc/nixpkgs.nix5
-rw-r--r--nixos/modules/module-list.nix1
-rw-r--r--nixos/modules/security/grsecurity.nix2
-rw-r--r--nixos/modules/services/misc/gitlab.nix38
-rw-r--r--nixos/modules/services/misc/gitlab.xml17
-rw-r--r--nixos/modules/services/networking/cjdns.nix2
-rw-r--r--nixos/modules/services/networking/ferm.nix63
-rw-r--r--nixos/modules/services/printing/cupsd.nix6
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/web-servers/nginx/location-options.nix21
-rw-r--r--nixos/modules/services/x11/desktop-managers/enlightenment.nix2
-rw-r--r--nixos/modules/system/boot/stage-1.nix28
-rw-r--r--nixos/modules/tasks/encrypted-devices.nix2
-rw-r--r--nixos/modules/tasks/filesystems.nix42
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix8
-rw-r--r--nixos/modules/virtualisation/qemu-opts4
-rw-r--r--nixos/modules/virtualisation/virtualbox-image.nix19
-rw-r--r--pkgs/applications/audio/ncmpcpp/default.nix4
-rw-r--r--pkgs/applications/audio/qmmp/default.nix12
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/idea/common.nix4
-rw-r--r--pkgs/applications/editors/idea/default.nix42
-rw-r--r--pkgs/applications/editors/manuskript/default.nix36
-rw-r--r--pkgs/applications/editors/neovim/default.nix8
-rw-r--r--pkgs/applications/editors/neovim/qt.nix2
-rw-r--r--pkgs/applications/editors/vscode/default.nix10
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix12
-rw-r--r--pkgs/applications/misc/kdeconnect/default.nix6
-rw-r--r--pkgs/applications/misc/keybase/default.nix37
-rw-r--r--pkgs/applications/misc/keybase/package.nix3566
-rw-r--r--pkgs/applications/misc/navit/default.nix9
-rw-r--r--pkgs/applications/misc/xsw/default.nix13
-rw-r--r--pkgs/applications/misc/zathura/builder.sh21
-rw-r--r--pkgs/applications/misc/zathura/core/default.nix27
-rw-r--r--pkgs/applications/misc/zathura/core/icon.xpm (renamed from pkgs/applications/misc/zathura/icon.xpm)0
-rw-r--r--pkgs/applications/misc/zathura/default.nix65
-rw-r--r--pkgs/applications/misc/zathura/djvu/default.nix14
-rw-r--r--pkgs/applications/misc/zathura/pdf-mupdf/default.nix5
-rw-r--r--pkgs/applications/misc/zathura/pdf-poppler/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/ps/default.nix2
-rw-r--r--pkgs/applications/misc/zathura/wrapper.nix31
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/sources.nix366
-rw-r--r--pkgs/applications/networking/browsers/firefox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/zoom-us/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/alpine/default.nix1
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/realpine/default.nix2
-rw-r--r--pkgs/applications/networking/mumble/default.nix4
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/office/gnumeric/default.nix10
-rw-r--r--pkgs/applications/office/jabref/default.nix4
-rw-r--r--pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--pkgs/applications/office/libreoffice/still.nix2
-rw-r--r--pkgs/applications/science/astronomy/gravit/default.nix8
-rw-r--r--pkgs/applications/science/math/perseus/default.nix6
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix2
-rw-r--r--pkgs/applications/version-management/fossil/default.nix15
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile32
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock97
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix154
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch30
-rw-r--r--pkgs/applications/video/mpv/default.nix19
-rw-r--r--pkgs/data/fonts/source-code-pro/default.nix8
-rw-r--r--pkgs/desktops/enlightenment/default.nix3
-rw-r--r--pkgs/desktops/enlightenment/econnman.nix12
-rw-r--r--pkgs/desktops/enlightenment/efl.nix22
-rw-r--r--pkgs/desktops/enlightenment/elementary.nix21
-rw-r--r--pkgs/desktops/enlightenment/emotion.nix18
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix22
-rw-r--r--pkgs/desktops/enlightenment/evas.nix17
-rw-r--r--pkgs/desktops/enlightenment/rage.nix32
-rw-r--r--pkgs/desktops/enlightenment/terminology.nix19
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/eog/src.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/yelp/default.nix4
-rw-r--r--pkgs/desktops/kde-5/applications/default.nix1
-rw-r--r--pkgs/desktops/kde-5/applications/fetch.sh1
-rw-r--r--pkgs/desktops/kde-5/applications/kdelibs/default.nix2
-rw-r--r--pkgs/desktops/kde-5/applications/kdelibs/setup-hook.sh10
-rw-r--r--pkgs/desktops/kde-5/applications/kdf.nix21
-rw-r--r--pkgs/desktops/kde-5/plasma/default.nix1
-rw-r--r--pkgs/desktops/kde-5/plasma/fetch.sh1
-rw-r--r--pkgs/desktops/kde-5/plasma/plasma-mediacenter.nix16
-rw-r--r--pkgs/desktops/kde-5/plasma/srcs.nix322
-rwxr-xr-xpkgs/desktops/kde-5/plasma/startkde/startkde.sh44
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix4
-rw-r--r--pkgs/development/compilers/ghc/head.nix10
-rw-r--r--pkgs/development/compilers/go/1.7.nix3
-rw-r--r--pkgs/development/compilers/hhvm/default.nix4
-rw-r--r--pkgs/development/compilers/rust/beta.nix7
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix10
-rw-r--r--pkgs/development/compilers/rust/default.nix16
-rw-r--r--pkgs/development/compilers/rust/head.nix10
-rw-r--r--pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch44
-rw-r--r--pkgs/development/compilers/rust/rustc.nix15
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml1
-rw-r--r--pkgs/development/haskell-modules/configuration-lts.nix44
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1889
-rw-r--r--pkgs/development/interpreters/php/default.nix15
-rw-r--r--pkgs/development/libraries/SDL_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/cairomm/default.nix9
-rw-r--r--pkgs/development/libraries/cppcms/default.nix28
-rw-r--r--pkgs/development/libraries/cppdb/default.nix26
-rw-r--r--pkgs/development/libraries/ffmpeg/3.1.nix4
-rw-r--r--pkgs/development/libraries/folly/default.nix2
-rw-r--r--pkgs/development/libraries/goffice/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh1
-rw-r--r--pkgs/development/libraries/libmpack/default.nix4
-rw-r--r--pkgs/development/libraries/loadcaffe/default.nix19
-rw-r--r--pkgs/development/libraries/openssl/default.nix7
-rw-r--r--pkgs/development/libraries/poppler/default.nix6
-rwxr-xr-xpkgs/development/libraries/qt-5/5.5/fetch.sh3
-rwxr-xr-xpkgs/development/libraries/qt-5/5.5/fetchsrcs.sh54
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch122
-rw-r--r--pkgs/development/libraries/qt-5/5.6/fetch.sh3
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch122
-rw-r--r--pkgs/development/libraries/qt-5/5.7/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch76
-rw-r--r--pkgs/development/libraries/torch/default.nix24
-rw-r--r--pkgs/development/libraries/webkitgtk/2.12.nix4
-rw-r--r--pkgs/development/python-modules/dbus/default.nix4
-rw-r--r--pkgs/development/tools/leaps/default.nix1
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix30
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix16
-rw-r--r--pkgs/development/tools/rust/racerd/default.nix8
-rw-r--r--pkgs/development/tools/rust/rustfmt/default.nix8
-rw-r--r--pkgs/development/tools/scalafmt/default.nix4
-rw-r--r--pkgs/games/crawl/crawl_purify.patch2
-rw-r--r--pkgs/games/crawl/default.nix1
-rw-r--r--pkgs/games/liquidwar/5.nix24
-rw-r--r--pkgs/games/pokerth/default.nix4
-rw-r--r--pkgs/games/spring/default.nix4
-rw-r--r--pkgs/games/spring/revert_58b423e.patch16
-rw-r--r--pkgs/games/spring/springlobby.nix6
-rw-r--r--pkgs/misc/drivers/foo2zjs/default.nix4
-rw-r--r--pkgs/misc/emulators/wine/packages.nix7
-rw-r--r--pkgs/misc/screensavers/xautolock/default.nix1
-rw-r--r--pkgs/misc/vim-plugins/default.nix6
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix3
-rw-r--r--pkgs/os-specific/darwin/security-tool/default.nix10
-rw-r--r--pkgs/os-specific/linux/audit/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix3
-rw-r--r--pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.4.patch407
-rw-r--r--pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.6.patch407
-rw-r--r--pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.7.patch407
-rw-r--r--pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md21
-rw-r--r--pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/default.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix2
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix11
-rw-r--r--pkgs/os-specific/linux/sysklogd/default.nix2
-rw-r--r--pkgs/servers/http/apache-httpd/2.4.nix4
-rw-r--r--pkgs/servers/mail/postfix/pflogsumm.nix34
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/nosql/redis/default.nix4
-rw-r--r--pkgs/servers/search/groonga/default.nix42
-rw-r--r--pkgs/servers/sip/freeswitch/default.nix18
-rw-r--r--pkgs/shells/rc/default.nix42
-rw-r--r--pkgs/shells/tcsh/default.nix2
-rw-r--r--pkgs/shells/tcsh/tcsh.glibc-2.24.patch21
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix1
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix6
-rw-r--r--pkgs/tools/bootloaders/refind/default.nix31
-rw-r--r--pkgs/tools/graphics/neural-style/default.nix57
-rw-r--r--pkgs/tools/graphics/neural-style/neural-style.sh25
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix1
-rw-r--r--pkgs/tools/graphics/quirc/default.nix12
-rw-r--r--pkgs/tools/misc/exa/default.nix2
-rw-r--r--pkgs/tools/misc/system-config-printer/default.nix9
-rw-r--r--pkgs/tools/misc/unclutter-xfixes/default.nix51
-rw-r--r--pkgs/tools/misc/vmtouch/default.nix6
-rw-r--r--pkgs/tools/misc/yad/default.nix18
-rw-r--r--pkgs/tools/networking/argus-clients/default.nix41
-rw-r--r--pkgs/tools/networking/argus/default.nix46
-rw-r--r--pkgs/tools/networking/dhcpcd/default.nix4
-rw-r--r--pkgs/tools/networking/ferm/default.nix38
-rw-r--r--pkgs/tools/package-management/fpm/Gemfile.lock29
-rw-r--r--pkgs/tools/package-management/fpm/gemset.nix68
-rw-r--r--pkgs/tools/security/chaps/default.nix3
-rw-r--r--pkgs/tools/security/duo-unix/default.nix4
-rw-r--r--pkgs/tools/security/tor/default.nix23
-rw-r--r--pkgs/tools/system/runit/Makefile.patch11
-rw-r--r--pkgs/tools/system/runit/default.nix28
-rw-r--r--pkgs/tools/text/kytea/default.nix28
-rw-r--r--pkgs/top-level/aliases.nix3
-rw-r--r--pkgs/top-level/all-packages.nix95
-rw-r--r--pkgs/top-level/haskell-packages.nix2
-rw-r--r--pkgs/top-level/perl-packages.nix20
-rw-r--r--pkgs/top-level/python-packages.nix148
-rw-r--r--pkgs/top-level/rust-packages.nix6
209 files changed, 5289 insertions, 5481 deletions
diff --git a/lib/lists.nix b/lib/lists.nix
index 78ffa753ac3..4bf732b88c9 100644
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -256,6 +256,86 @@ rec {
   reverseList = xs:
     let l = length xs; in genList (n: elemAt xs (l - n - 1)) l;
 
+  /* Depth-First Search (DFS) for lists `list != []`.
+
+     `before a b == true` means that `b` depends on `a` (there's an
+     edge from `b` to `a`).
+
+     Examples:
+
+         listDfs true hasPrefix [ "/home/user" "other" "/" "/home" ]
+           == { minimal = "/";                  # minimal element
+                visited = [ "/home/user" ];     # seen elements (in reverse order)
+                rest    = [ "/home" "other" ];  # everything else
+              }
+
+         listDfs true hasPrefix [ "/home/user" "other" "/" "/home" "/" ]
+           == { cycle   = "/";                  # cycle encountered at this element
+                loops   = [ "/" ];              # and continues to these elements
+                visited = [ "/" "/home/user" ]; # elements leading to the cycle (in reverse order)
+                rest    = [ "/home" "other" ];  # everything else
+
+   */
+
+  listDfs = stopOnCycles: before: list:
+    let
+      dfs' = us: visited: rest:
+        let
+          c = filter (x: before x us) visited;
+          b = partition (x: before x us) rest;
+        in if stopOnCycles && (length c > 0)
+           then { cycle = us; loops = c; inherit visited rest; }
+           else if length b.right == 0
+                then # nothing is before us
+                     { minimal = us; inherit visited rest; }
+                else # grab the first one before us and continue
+                     dfs' (head b.right)
+                          ([ us ] ++ visited)
+                          (tail b.right ++ b.wrong);
+    in dfs' (head list) [] (tail list);
+
+  /* Sort a list based on a partial ordering using DFS. This
+     implementation is O(N^2), if your ordering is linear, use `sort`
+     instead.
+
+     `before a b == true` means that `b` should be after `a`
+     in the result.
+
+     Examples:
+
+         toposort hasPrefix [ "/home/user" "other" "/" "/home" ]
+           == { result = [ "/" "/home" "/home/user" "other" ]; }
+
+         toposort hasPrefix [ "/home/user" "other" "/" "/home" "/" ]
+           == { cycle = [ "/home/user" "/" "/" ]; # path leading to a cycle
+                loops = [ "/" ]; }                # loops back to these elements
+
+         toposort hasPrefix [ "other" "/home/user" "/home" "/" ]
+           == { result = [ "other" "/" "/home" "/home/user" ]; }
+
+         toposort (a: b: a < b) [ 3 2 1 ] == { result = [ 1 2 3 ]; }
+
+   */
+
+  toposort = before: list:
+    let
+      dfsthis = listDfs true before list;
+      toporest = toposort before (dfsthis.visited ++ dfsthis.rest);
+    in
+      if length list < 2
+      then # finish
+           { result =  list; }
+      else if dfsthis ? "cycle"
+           then # there's a cycle, starting from the current vertex, return it
+                { cycle = reverseList ([ dfsthis.cycle ] ++ dfsthis.visited);
+                  inherit (dfsthis) loops; }
+           else if toporest ? "cycle"
+                then # there's a cycle somewhere else in the graph, return it
+                     toporest
+                # Slow, but short. Can be made a bit faster with an explicit stack.
+                else # there are no cycles
+                     { result = [ dfsthis.minimal ] ++ toporest.result; };
+
   /* Sort a list based on a comparator function which compares two
      elements and returns true if the first argument is strictly below
      the second argument.  The returned list is sorted in an increasing
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index def9709d1ee..b9fd905dd54 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -249,6 +249,7 @@
   mcmtroffaes = "Matthias C. M. Troffaes <matthias.troffaes@gmail.com>";
   meditans = "Carlo Nucera <meditans@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
+  mic92 = "Jörg Thalheim <joerg@higgsboson.tk>";
   michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
   michalrus = "Michal Rus <m@michalrus.com>";
   michelk = "Michel Kuhlmann <michel@kuhlmanns.info>";
diff --git a/maintainers/scripts/fetch-kde-qt.sh b/maintainers/scripts/fetch-kde-qt.sh
index c88d8729ace..d7a9239027d 100755
--- a/maintainers/scripts/fetch-kde-qt.sh
+++ b/maintainers/scripts/fetch-kde-qt.sh
@@ -1,9 +1,18 @@
 #! /usr/bin/env nix-shell
 #! nix-shell -i bash -p coreutils findutils gnused nix wget
 
+SRCS=
+if [ -d "$1" ]; then
+    SRCS="$(pwd)/$1/srcs.nix"
+    . "$1/fetch.sh"
+else
+    SRCS="$(pwd)/$(dirname $1)/srcs.nix"
+    . "$1"
+fi
+
 tmp=$(mktemp -d)
 pushd $tmp >/dev/null
-wget -nH -r -c --no-parent "$@" >/dev/null
+wget -nH -r -c --no-parent "${WGET_ARGS[@]}" >/dev/null
 
 csv=$(mktemp)
 find . -type f | while read src; do
@@ -15,8 +24,8 @@ find . -type f | while read src; do
     echo "$name,$version,$src,$filename" >>$csv
 done
 
-cat <<EOF
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+cat >"$SRCS" <<EOF
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
 { fetchurl, mirror }:
 
 {
@@ -29,7 +38,7 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do
     filename=$(gawk -F , "/^$name,$latestVersion,/ { print \$4 }" $csv)
     url="${src:2}"
     sha256=$(nix-hash --type sha256 --base32 --flat "$src")
-    cat <<EOF
+    cat >>"$SRCS" <<EOF
   $name = {
     version = "$latestVersion";
     src = fetchurl {
@@ -41,7 +50,7 @@ gawk -F , "{ print \$1 }" $csv | sort | uniq | while read name; do
 EOF
 done
 
-echo "}"
+echo "}" >>"$SRCS"
 
 popd >/dev/null
 rm -fr $tmp >/dev/null
diff --git a/maintainers/scripts/generate-kde-applications.sh b/maintainers/scripts/generate-kde-applications.sh
deleted file mode 100755
index eee0c2749a0..00000000000
--- a/maintainers/scripts/generate-kde-applications.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-./maintainers/scripts/fetch-kde-qt.sh \
-    http://download.kde.org/stable/applications/16.08.0/ -A '*.tar.xz' \
-    >pkgs/desktops/kde-5/applications/srcs.nix
diff --git a/maintainers/scripts/generate-kde-frameworks.sh b/maintainers/scripts/generate-kde-frameworks.sh
deleted file mode 100755
index b3b559b3571..00000000000
--- a/maintainers/scripts/generate-kde-frameworks.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-./maintainers/scripts/fetch-kde-qt.sh \
-    http://download.kde.org/stable/frameworks/5.24/ -A '*.tar.xz' \
-    >pkgs/desktops/kde-5/frameworks/srcs.nix
diff --git a/maintainers/scripts/generate-kde-plasma.sh b/maintainers/scripts/generate-kde-plasma.sh
deleted file mode 100755
index 24760e7ac08..00000000000
--- a/maintainers/scripts/generate-kde-plasma.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-./maintainers/scripts/fetch-kde-qt.sh \
-    http://download.kde.org/stable/plasma/5.7.3/ -A '*.tar.xz' \
-    >pkgs/desktops/kde-5/plasma/srcs.nix
diff --git a/maintainers/scripts/generate-qt.sh b/maintainers/scripts/generate-qt.sh
deleted file mode 100755
index a4d79c1aac5..00000000000
--- a/maintainers/scripts/generate-qt.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-./maintainers/scripts/fetch-kde-qt.sh \
-    http://download.qt.io/official_releases/qt/5.7/5.7.0/submodules/ \
-    -A '*.tar.xz' \
-    >pkgs/development/libraries/qt-5/5.7/srcs.nix
diff --git a/nixos/lib/utils.nix b/nixos/lib/utils.nix
index 40d0854d968..1ef915d4061 100644
--- a/nixos/lib/utils.nix
+++ b/nixos/lib/utils.nix
@@ -2,6 +2,15 @@ pkgs: with pkgs.lib;
 
 rec {
 
+  # Check whenever fileSystem is needed for boot
+  fsNeededForBoot = fs: fs.neededForBoot
+                     || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];
+
+  # Check whenever `b` depends on `a` as a fileSystem
+  # FIXME: it's incorrect to simply use hasPrefix here: "/dev/a" is not a parent of "/dev/ab"
+  fsBefore = a: b: ((any (x: elem x [ "bind" "move" ]) b.options) && (a.mountPoint == b.device))
+                || (hasPrefix a.mountPoint b.mountPoint);
+
   # Escape a path according to the systemd rules, e.g. /dev/xyzzy
   # becomes dev-xyzzy.  FIXME: slow.
   escapeSystemdPath = s:
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index 71ac3f9a72c..06ce5200420 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -34,7 +34,7 @@ let
         ${addModuleIf cfg.zeroconf.publish.enable "module-zeroconf-publish"}
         ${addModuleIf cfg.zeroconf.discovery.enable "module-zeroconf-discover"}
         ${addModuleIf cfg.tcp.enable (concatStringsSep " "
-           ([ "load-module module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
+           ([ "module-native-protocol-tcp" ] ++ allAnon ++ ipAnon))}
         ${cfg.extraConfig}
       '';
     };
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 3b3a7bd27fe..62ea98c4676 100644
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -136,7 +136,6 @@ fi
 mkdir -m 0755 -p \
     $mountPoint/nix/var/nix/gcroots \
     $mountPoint/nix/var/nix/temproots \
-    $mountPoint/nix/var/nix/manifests \
     $mountPoint/nix/var/nix/userpool \
     $mountPoint/nix/var/nix/profiles \
     $mountPoint/nix/var/nix/db \
@@ -201,14 +200,6 @@ p=@nix@/libexec/nix/substituters
 export NIX_SUBSTITUTERS=$p/copy-from-other-stores.pl:$p/download-from-binary-cache.pl
 
 
-# Make manifests available in the chroot.
-rm -f $mountPoint/nix/var/nix/manifests/*
-for i in /nix/var/nix/manifests/*.nixmanifest; do
-    chroot $mountPoint @nix@/bin/nix-store -r "$(readlink -f "$i")" > /dev/null
-    cp -pd "$i" $mountPoint/nix/var/nix/manifests/
-done
-
-
 if [ -z "$closure" ]; then
     # Get the absolute path to the NixOS/Nixpkgs sources.
     nixpkgs="$(readlink -f $(nix-instantiate --find-file nixpkgs))"
diff --git a/nixos/modules/misc/nixpkgs.nix b/nixos/modules/misc/nixpkgs.nix
index 5eb38c510b4..7d50b8025bd 100644
--- a/nixos/modules/misc/nixpkgs.nix
+++ b/nixos/modules/misc/nixpkgs.nix
@@ -21,6 +21,11 @@ let
       packageOverrides = pkgs:
         optCall lhs.packageOverrides pkgs //
         optCall (attrByPath ["packageOverrides"] ({}) rhs) pkgs;
+    } //
+    optionalAttrs (lhs ? perlPackageOverrides) {
+      perlPackageOverrides = pkgs:
+        optCall lhs.perlPackageOverrides pkgs //
+        optCall (attrByPath ["perlPackageOverrides"] ({}) rhs) pkgs;
     };
 
   configType = mkOptionType {
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index eb89ff83e2c..dfc1d694e97 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -335,6 +335,7 @@
   ./services/networking/docker-registry-server.nix
   ./services/networking/ejabberd.nix
   ./services/networking/fan.nix
+  ./services/networking/ferm.nix
   ./services/networking/firefox/sync-server.nix
   ./services/networking/firewall.nix
   ./services/networking/flashpolicyd.nix
diff --git a/nixos/modules/security/grsecurity.nix b/nixos/modules/security/grsecurity.nix
index 9a2f62a1488..c6332ca9f9f 100644
--- a/nixos/modules/security/grsecurity.nix
+++ b/nixos/modules/security/grsecurity.nix
@@ -12,7 +12,7 @@ let
     (fs: (fs.neededForBoot
           || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ])
           && fs.fsType == "zfs")
-    (attrValues config.fileSystems) != [];
+    config.system.build.fileSystems != [];
 
   # Ascertain whether NixOS container support is required
   containerSupportRequired =
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 39283d2d943..f4ab26714d5 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -43,7 +43,9 @@ let
 
   secretsYml = ''
     production:
-      db_key_base: ${cfg.secrets.db_key_base}
+      secret_key_base: ${cfg.secrets.secret}
+      otp_key_base: ${cfg.secrets.otp}
+      db_key_base: ${cfg.secrets.db}
   '';
 
   gitlabConfig = {
@@ -121,7 +123,7 @@ let
       makeWrapper ${cfg.packages.gitlab.env}/bin/bundle $out/bin/gitlab-bundle \
           ${concatStrings (mapAttrsToList (name: value: "--set ${name} '${value}' ") gitlabEnv)} \
           --set GITLAB_CONFIG_PATH '${cfg.statePath}/config' \
-          --set PATH '${stdenv.lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
+          --set PATH '${lib.makeBinPath [ pkgs.nodejs pkgs.gzip config.services.postgresql.package ]}:$PATH' \
           --set RAKEOPT '-f ${cfg.packages.gitlab}/share/gitlab/Rakefile' \
           --run 'cd ${cfg.packages.gitlab}/share/gitlab'
       makeWrapper $out/bin/gitlab-bundle $out/bin/gitlab-rake \
@@ -318,11 +320,10 @@ in {
         };
       };
 
-      secrets.db_key_base = mkOption {
+      secrets.secret = mkOption {
         type = types.str;
-        example = "";
         description = ''
-          The db_key_base secrets is used to encrypt variables in the DB. If
+          The secret is used to encrypt variables in the DB. If
           you change or lose this key you will be unable to access variables
           stored in database.
 
@@ -331,6 +332,30 @@ in {
         '';
       };
 
+      secrets.db = mkOption {
+        type = types.str;
+        description = ''
+          The secret is used to encrypt variables in the DB. If
+          you change or lose this key you will be unable to access variables
+          stored in database.
+
+          Make sure the secret is at least 30 characters and all random,
+          no regular words or you'll be exposed to dictionary attacks.
+        '';
+      };
+
+      secrets.otp = mkOption {
+        type = types.str;
+        description = ''
+          The secret is used to encrypt secrets for OTP tokens. If
+          you change or lose this key, users which have 2FA enabled for login
+          won't be able to login anymore.
+
+          Make sure the secret is at least 30 characters and all random,
+          no regular words or you'll be exposed to dictionary attacks.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.attrs;
         default = {};
@@ -458,8 +483,7 @@ in {
         rm -rf ${cfg.statePath}/config ${cfg.statePath}/shell/hooks
         mkdir -p ${cfg.statePath}/config ${cfg.statePath}/shell
 
-        # TODO: What exactly is gitlab-shell doing with the secret?
-        tr -dc _A-Z-a-z-0-9 < /dev/urandom | head -c 20 > ${cfg.statePath}/config/gitlab_shell_secret
+        tr -dc A-Za-z0-9 < /dev/urandom | head -c 32 > ${cfg.statePath}/config/gitlab_shell_secret
 
         # The uploads directory is hardcoded somewhere deep in rails. It is
         # symlinked in the gitlab package to /run/gitlab/uploads to make it
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
index 83f715a50b4..f9636f8e127 100644
--- a/nixos/modules/services/misc/gitlab.xml
+++ b/nixos/modules/services/misc/gitlab.xml
@@ -62,7 +62,11 @@ services.gitlab = {
     address = "localhost";
     port = 25;
   };
-  secrets.db_key_base = "ei3eeP1ohsh0uu3ad4YeeMeeheengah3AiZee2ohl4Ooj5mie4Ohl0vishoghaes";
+  secrets = {
+    db = "uPgq1gtwwHiatiuE0YHqbGa5lEIXH7fMsvuTNgdzJi8P0Dg12gibTzBQbq5LT7PNzcc3BP9P1snHVnduqtGF43PgrQtU7XL93ts6gqe9CBNhjtaqUwutQUDkygP5NrV6";
+    secret = "devzJ0Tz0POiDBlrpWmcsjjrLaltyiAdS8TtgT9YNBOoUcDsfppiY3IXZjMVtKgXrFImIennFGOpPN8IkP8ATXpRgDD5rxVnKuTTwYQaci2NtaV1XxOQGjdIE50VGsR3";
+    otp = "e1GATJVuS2sUh7jxiPzZPre4qtzGGaS22FR50Xs1TerRVdgI3CBVUi5XYtQ38W4xFeS4mDqi5cQjExE838iViSzCdcG19XSL6qNsfokQP9JugwiftmhmCadtsnHErBMI";
+  };
   extraConfig = {
     gitlab = {
       email_from = "gitlab-no-reply@example.com";
@@ -75,11 +79,12 @@ services.gitlab = {
 </programlisting>
 </para>
 
-<para>If you're setting up a new Gitlab instance, generate a new
-<literal>db_key_base</literal> secret to encrypt sensible data in the
-database. If you're restoring an existing Gitlab instance, you must
-specify the <literal>db_key_base</literal> secret from
-<literal>config/secrets.yml</literal> in your Gitlab state folder.</para>
+<para>If you're setting up a new Gitlab instance, generate new secrets. You
+for instance use <literal>tr -dc A-Za-z0-9 &lt; /dev/urandom | head -c 128</literal>
+to generate a new secret. Gitlab encrypts sensitive data stored in the database.
+If you're restoring an existing Gitlab instance, you must specify the secrets
+secret from <literal>config/secrets.yml</literal> located in your Gitlab state
+folder.</para>
 
 <para>Refer to <xref linkend="ch-options" /> for all available configuration
 options for the <literal>services.gitlab</literal> module.</para>
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index f4063a3406f..0495b32c6fa 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -253,7 +253,7 @@ in
     networking.extraHosts = "${cjdnsHosts}";
 
     assertions = [
-      { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile == "" );
+      { assertion = ( cfg.ETHInterface.bind != "" || cfg.UDPInterface.bind != "" || cfg.confFile != "" );
         message = "Neither cjdns.ETHInterface.bind nor cjdns.UDPInterface.bind defined.";
       }
       { assertion = config.networking.enableIPv6;
diff --git a/nixos/modules/services/networking/ferm.nix b/nixos/modules/services/networking/ferm.nix
new file mode 100644
index 00000000000..6271e82541f
--- /dev/null
+++ b/nixos/modules/services/networking/ferm.nix
@@ -0,0 +1,63 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.ferm;
+
+  configFile = pkgs.stdenv.mkDerivation {
+    name = "ferm.conf";
+    text = cfg.config;
+    preferLocalBuild = true;
+    buildCommand = ''
+      echo -n "$text" > $out
+      ${cfg.package}/bin/ferm --noexec $out
+    '';
+  };
+in {
+  options = {
+    services.ferm = {
+      enable = mkOption {
+        default = false;
+        example = true;
+        type = types.bool;
+        description = ''
+          Whether to enable Ferm Firewall.
+          *Warning*: Enabling this service WILL disable the existing NixOS
+          firewall! Default firewall rules provided by packages are not
+          considered at the moment.
+        '';
+      };
+      config = mkOption {
+        description = "Verbatim ferm.conf configuration.";
+        default = "";
+        defaultText = "empty firewall, allows any traffic";
+        type = types.lines;
+      };
+      package = mkOption {
+        description = "The ferm package.";
+        type = types.package;
+        default = pkgs.ferm;
+        defaultText = "pkgs.ferm";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.firewall.enable = false;
+    systemd.services.ferm = {
+      description = "Ferm Firewall";
+      after = [ "ipset.target" ];
+      before = [ "network-pre.target" ];
+      wants = [ "network-pre.target" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        Type="oneshot";
+        RemainAfterExit = "yes";
+        ExecStart = "${cfg.package}/bin/ferm ${configFile}";
+        ExecReload = "${cfg.package}/bin/ferm ${configFile}";
+        ExecStop = "${cfg.package}/bin/ferm -F ${configFile}";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/printing/cupsd.nix b/nixos/modules/services/printing/cupsd.nix
index 0bcb1a0c20c..368d7ac761a 100644
--- a/nixos/modules/services/printing/cupsd.nix
+++ b/nixos/modules/services/printing/cupsd.nix
@@ -4,7 +4,7 @@ with lib;
 
 let
 
-  inherit (pkgs) cups cups-pk-helper cups_filters gutenprint;
+  inherit (pkgs) cups cups-pk-helper cups-filters gutenprint;
 
   cfg = config.services.printing;
 
@@ -34,7 +34,7 @@ let
   bindir = pkgs.buildEnv {
     name = "cups-progs";
     paths =
-      [ cups.out additionalBackends cups_filters pkgs.ghostscript ]
+      [ cups.out additionalBackends cups-filters pkgs.ghostscript ]
       ++ optional cfg.gutenprint gutenprint
       ++ cfg.drivers;
     pathsToLink = [ "/lib/cups" "/share/cups" "/bin" ];
@@ -329,7 +329,7 @@ in
 
         path = [ cups ];
 
-        serviceConfig.ExecStart = "${cups_filters}/bin/cups-browsed";
+        serviceConfig.ExecStart = "${cups-filters}/bin/cups-browsed";
 
         restartTriggers = [ browsedFile ];
       };
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index af7753470de..6e62606f323 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -165,6 +165,8 @@ let
   mkLocations = locations: concatStringsSep "\n" (mapAttrsToList (location: config: ''
     location ${location} {
       ${optionalString (config.proxyPass != null) "proxy_pass ${config.proxyPass};"}
+      ${optionalString (config.index != null) "index ${config.index};"}
+      ${optionalString (config.tryFiles != null) "try_files ${config.tryFiles};"}
       ${optionalString (config.root != null) "root ${config.root};"}
       ${config.extraConfig}
     }
diff --git a/nixos/modules/services/web-servers/nginx/location-options.nix b/nixos/modules/services/web-servers/nginx/location-options.nix
index 8aaa3e96f80..e1885b16066 100644
--- a/nixos/modules/services/web-servers/nginx/location-options.nix
+++ b/nixos/modules/services/web-servers/nginx/location-options.nix
@@ -14,8 +14,25 @@ with lib;
       default = null;
       example = "http://www.example.org/";
       description = ''
-        Adds proxy_pass directive and sets default proxy headers Host, X-Real-Ip
-        and X-Forwarded-For.
+        Adds proxy_pass directive.
+      '';
+    };
+
+    index = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "index.php index.html";
+      description = ''
+        Adds index directive.
+      '';
+    };
+
+    tryFiles = mkOption {
+      type = types.nullOr types.str;
+      default = null;
+      example = "$uri =404";
+      description = ''
+        Adds try_files directive.
       '';
     };
 
diff --git a/nixos/modules/services/x11/desktop-managers/enlightenment.nix b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
index 2e788d86960..8a03dd65b33 100644
--- a/nixos/modules/services/x11/desktop-managers/enlightenment.nix
+++ b/nixos/modules/services/x11/desktop-managers/enlightenment.nix
@@ -29,7 +29,7 @@ in
   config = mkIf (xcfg.enable && cfg.enable) {
 
     environment.systemPackages = [
-      e.efl e.evas e.emotion e.elementary e.enlightenment
+      e.efl e.enlightenment
       e.terminology e.econnman
       pkgs.xorg.xauth # used by kdesu
       pkgs.gtk # To get GTK+'s themes.
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 9be7ad4ae07..a5c05f3dbba 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -3,7 +3,7 @@
 # the modules necessary to mount the root file system, then calls the
 # init in the root file system to start the second boot stage.
 
-{ config, lib, pkgs, ... }:
+{ config, lib, utils, pkgs, ... }:
 
 with lib;
 
@@ -23,6 +23,12 @@ let
   };
 
 
+  # The initrd only has to mount `/` or any FS marked as necessary for
+  # booting (such as the FS containing `/nix/store`, or an FS needed for
+  # mounting `/`, like `/` on a loopback).
+  fileSystems = filter utils.fsNeededForBoot config.system.build.fileSystems;
+
+
   # Some additional utilities needed in stage 1, like mount, lvm, fsck
   # etc.  We don't want to bring in all of those packages, so we just
   # copy what we need.  Instead of using statically linked binaries,
@@ -71,7 +77,7 @@ let
       ln -sf kmod $out/bin/modprobe
 
       # Copy resize2fs if needed.
-      ${optionalString (any (fs: fs.autoResize) (attrValues config.fileSystems)) ''
+      ${optionalString (any (fs: fs.autoResize) fileSystems) ''
         # We need mke2fs in the initrd.
         copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/resize2fs
       ''}
@@ -128,21 +134,6 @@ let
     ''; # */
 
 
-  # The initrd only has to mount / or any FS marked as necessary for
-  # booting (such as the FS containing /nix/store, or an FS needed for
-  # mounting /, like / on a loopback).
-  #
-  # We need to guarantee that / is the first filesystem in the list so
-  # that if and when lustrateRoot is invoked, nothing else is mounted
-  fileSystems = let
-    filterNeeded = filter
-      (fs: fs.mountPoint != "/" && (fs.neededForBoot || elem fs.mountPoint [ "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ]));
-    filterRoot = filter
-      (fs: fs.mountPoint == "/");
-    allFileSystems = attrValues config.fileSystems;
-  in (filterRoot allFileSystems) ++ (filterNeeded allFileSystems);
-
-
   udevRules = pkgs.stdenv.mkDerivation {
     name = "udev-rules";
     allowedReferences = [ extraUtils ];
@@ -405,9 +396,8 @@ in
   };
 
   config = mkIf (!config.boot.isContainer) {
-
     assertions = [
-      { assertion = any (fs: fs.mountPoint == "/") (attrValues config.fileSystems);
+      { assertion = any (fs: fs.mountPoint == "/") fileSystems;
         message = "The ‘fileSystems’ option does not specify your root file system.";
       }
       { assertion = let inherit (config.boot) resumeDevice; in
diff --git a/nixos/modules/tasks/encrypted-devices.nix b/nixos/modules/tasks/encrypted-devices.nix
index 457b86e95ab..b1a7711ddcb 100644
--- a/nixos/modules/tasks/encrypted-devices.nix
+++ b/nixos/modules/tasks/encrypted-devices.nix
@@ -3,7 +3,7 @@
 with lib;
 
 let
-  fileSystems = attrValues config.fileSystems ++ config.swapDevices;
+  fileSystems = config.system.build.fileSystems ++ config.swapDevices;
   encDevs = filter (dev: dev.encrypted.enable) fileSystems;
   keyedEncDevs = filter (dev: dev.encrypted.keyFile != null) encDevs;
   keylessEncDevs = filter (dev: dev.encrypted.keyFile == null) encDevs;
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index cf8232c3615..f146448200f 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -5,7 +5,16 @@ with utils;
 
 let
 
-  fileSystems = attrValues config.fileSystems;
+  fileSystems' = toposort fsBefore (attrValues config.fileSystems);
+
+  fileSystems = if fileSystems' ? "result"
+                then # use topologically sorted fileSystems everywhere
+                     fileSystems'.result
+                else # the assertion below will catch this,
+                     # but we fall back to the original order
+                     # anyway so that other modules could check
+                     # their assertions too
+                     (attrValues config.fileSystems);
 
   prioOption = prio: optionalString (prio != null) " pri=${toString prio}";
 
@@ -162,6 +171,17 @@ in
 
   config = {
 
+    assertions = let
+      ls = sep: concatMapStringsSep sep (x: x.mountPoint);
+    in [
+      { assertion = ! (fileSystems' ? "cycle");
+        message = "The ‘fileSystems’ option can't be topologically sorted: mountpoint dependency path ${ls " -> " fileSystems'.cycle} loops to ${ls ", " fileSystems'.loops}";
+      }
+    ];
+
+    # Export for use in other modules
+    system.build.fileSystems = fileSystems;
+
     boot.supportedFilesystems = map (fs: fs.fsType) fileSystems;
 
     # Add the mount helpers to the system path so that `mount' can find them.
@@ -175,9 +195,12 @@ in
         skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
       in ''
         # This is a generated file.  Do not edit!
+        #
+        # To make changes, edit the fileSystems and swapDevices NixOS options
+        # in your /etc/nixos/configuration.nix file.
 
         # Filesystems.
-        ${flip concatMapStrings fileSystems (fs:
+        ${concatMapStrings (fs:
             (if fs.device != null then fs.device
              else if fs.label != null then "/dev/disk/by-label/${fs.label}"
              else throw "No device specified for mount point ‘${fs.mountPoint}’.")
@@ -188,7 +211,7 @@ in
             + " " + (if skipCheck fs then "0" else
                      if fs.mountPoint == "/" then "1" else "2")
             + "\n"
-        )}
+        ) fileSystems}
 
         # Swap devices.
         ${flip concatMapStrings config.swapDevices (sw:
@@ -208,14 +231,15 @@ in
 
         formatDevice = fs:
           let
-            mountPoint' = escapeSystemdPath fs.mountPoint;
-            device' = escapeSystemdPath fs.device;
+            mountPoint' = "${escapeSystemdPath fs.mountPoint}.mount";
+            device'  = escapeSystemdPath fs.device;
+            device'' = "${device}.device";
           in nameValuePair "mkfs-${device'}"
           { description = "Initialisation of Filesystem ${fs.device}";
-            wantedBy = [ "${mountPoint'}.mount" ];
-            before = [ "${mountPoint'}.mount" "systemd-fsck@${device'}.service" ];
-            requires = [ "${device'}.device" ];
-            after = [ "${device'}.device" ];
+            wantedBy = [ mountPoint' ];
+            before = [ mountPoint' "systemd-fsck@${device'}.service" ];
+            requires = [ device'' ];
+            after = [ device'' ];
             path = [ pkgs.utillinux ] ++ config.system.fsPackages;
             script =
               ''
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 4ff3ffc74b1..c5f41cc338c 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -36,13 +36,11 @@ let
 
   fsToPool = fs: datasetToPool fs.device;
 
-  zfsFilesystems = filter (x: x.fsType == "zfs") (attrValues config.fileSystems);
-
-  isRoot = fs: fs.neededForBoot || elem fs.mountPoint [ "/" "/nix" "/nix/store" "/var" "/var/log" "/var/lib" "/etc" ];
+  zfsFilesystems = filter (x: x.fsType == "zfs") config.system.build.fileSystems;
 
   allPools = unique ((map fsToPool zfsFilesystems) ++ cfgZfs.extraPools);
 
-  rootPools = unique (map fsToPool (filter isRoot zfsFilesystems));
+  rootPools = unique (map fsToPool (filter fsNeededForBoot zfsFilesystems));
 
   dataPools = unique (filter (pool: !(elem pool rootPools)) allPools);
 
@@ -277,7 +275,7 @@ in
 
       systemd.services = let
         getPoolFilesystems = pool:
-          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) (attrValues config.fileSystems);
+          filter (x: x.fsType == "zfs" && (fsToPool x) == pool) config.system.build.fileSystems;
 
         getPoolMounts = pool:
           let
diff --git a/nixos/modules/virtualisation/qemu-opts b/nixos/modules/virtualisation/qemu-opts
deleted file mode 100644
index f06a5136608..00000000000
--- a/nixos/modules/virtualisation/qemu-opts
+++ /dev/null
@@ -1,4 +0,0 @@
-          -device virtio-serial \
-          -chardev socket,id=charconsole0,path=/tmp/nixos-socket,server,nowait \
-          #-device virtconsole,chardev=charconsole0,id=console0 \
-          -device virtserialport,chardev=chardev=charconsole0,id=serial0
diff --git a/nixos/modules/virtualisation/virtualbox-image.nix b/nixos/modules/virtualisation/virtualbox-image.nix
index fab59b2525a..4f8ea265100 100644
--- a/nixos/modules/virtualisation/virtualbox-image.nix
+++ b/nixos/modules/virtualisation/virtualbox-image.nix
@@ -29,22 +29,15 @@ in {
       partitioned = true;
       diskSize = cfg.baseImageSize;
 
-      configFile = pkgs.writeText "configuration.nix"
-        ''
-          {
-            imports = [ <nixpkgs/nixos/modules/virtualisation/virtualbox-image.nix> ];
-          }
-        '';
-
       postVM =
         ''
-          echo "creating VirtualBox disk image..."
-          ${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vdi $diskImage disk.vdi
-          rm $diskImage
-
-          echo "creating VirtualBox VM..."
           export HOME=$PWD
           export PATH=${pkgs.linuxPackages.virtualbox}/bin:$PATH
+
+          echo "creating VirtualBox pass-through disk wrapper (no copying invovled)..."
+          VBoxManage internalcommands createrawvmdk -filename disk.vmdk -rawdisk $diskImage
+
+          echo "creating VirtualBox VM..."
           vmName="NixOS ${config.system.nixosLabel} (${pkgs.stdenv.system})"
           VBoxManage createvm --name "$vmName" --register \
             --ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
@@ -57,7 +50,7 @@ in {
             --usb on --mouse usbtablet
           VBoxManage storagectl "$vmName" --name SATA --add sata --portcount 4 --bootable on --hostiocache on
           VBoxManage storageattach "$vmName" --storagectl SATA --port 0 --device 0 --type hdd \
-            --medium disk.vdi
+            --medium disk.vmdk
 
           echo "exporting VirtualBox VM..."
           mkdir -p $out
diff --git a/pkgs/applications/audio/ncmpcpp/default.nix b/pkgs/applications/audio/ncmpcpp/default.nix
index 528a0dcda05..6643b4475d3 100644
--- a/pkgs/applications/audio/ncmpcpp/default.nix
+++ b/pkgs/applications/audio/ncmpcpp/default.nix
@@ -15,11 +15,11 @@ assert taglibSupport -> (taglib != null);
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "ncmpcpp-${version}";
-  version = "0.7.4";
+  version = "0.7.5";
 
   src = fetchurl {
     url = "http://ncmpcpp.rybczak.net/stable/${name}.tar.bz2";
-    sha256 = "0qqy3w2vw3i9rxz0z8n0plmwwfv6gzrxip86l894l1xbvzqja16p";
+    sha256 = "0zg084m06y7dd8ccy6aq9hx8q7qi2s5kl0br5139hrmk40q68kvy";
   };
 
   configureFlags = [ "BOOST_LIB_SUFFIX=" ]
diff --git a/pkgs/applications/audio/qmmp/default.nix b/pkgs/applications/audio/qmmp/default.nix
index d0d37fb15a1..7bb8a591612 100644
--- a/pkgs/applications/audio/qmmp/default.nix
+++ b/pkgs/applications/audio/qmmp/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, cmake, qt4, pkgconfig, xlibsWrapper
+{ stdenv, fetchurl, cmake, pkgconfig, xlibsWrapper
+, qtbase, qttools, qtmultimedia, qtx11extras
 # transports
 , curl, libmms
 # input plugins
@@ -28,16 +29,17 @@
 # handle that.
 
 stdenv.mkDerivation rec {
-  name = "qmmp-0.9.9";
+  name = "qmmp-1.1.2";
 
   src = fetchurl {
     url = "http://qmmp.ylsoftware.com/files/${name}.tar.bz2";
-    sha256 = "1wv4kbjq50xflhrl1jjf1hm3rrw599xkd72dwm4rscm0sdvzhnc1";
+    sha256 = "023gvgchk6ybkz3miy0z08j9n5awz5cjvav7fqjdmpix4sivhn5q";
   };
 
   buildInputs =
     [ # basic requirements
-      cmake qt4 pkgconfig xlibsWrapper
+      cmake pkgconfig xlibsWrapper
+      qtbase qttools qtmultimedia qtx11extras
       # transports
       curl libmms
       # input plugins
@@ -49,6 +51,8 @@ stdenv.mkDerivation rec {
       libsamplerate
     ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Qt-based audio player that looks like Winamp";
     homepage = http://qmmp.ylsoftware.com/;
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index cfcb822ade0..e76d1028ebf 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.9.6";
+  version = "1.9.9";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "1hw3s4zc0rs138gg429w98kkgmkm19wgq7r790hic5naci7d7f4i";
+    sha256 = "1rgqajqc1z1n8ckwkxg61j0k6ridps25am54qdwjm25w53bd0z1x";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/idea/common.nix b/pkgs/applications/editors/idea/common.nix
index 37066039851..839f537843d 100644
--- a/pkgs/applications/editors/idea/common.nix
+++ b/pkgs/applications/editors/idea/common.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf, p7zip
 , coreutils, gnugrep, which, git, python, unzip }:
 
-{ name, product, version, build, src, wmClass, jdk, meta } @ attrs:
+{ name, product, version, src, wmClass, jdk, meta } @ attrs:
 
 with stdenv.lib;
 
@@ -11,7 +11,7 @@ let loName = toLower product;
 in
 
 with stdenv; lib.makeOverridable mkDerivation rec {
-  inherit name build src meta;
+  inherit name src meta;
   desktopItem = makeDesktopItem {
     name = execName;
     exec = execName;
diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix
index c113b63390f..06573f22a1a 100644
--- a/pkgs/applications/editors/idea/default.nix
+++ b/pkgs/applications/editors/idea/default.nix
@@ -6,13 +6,11 @@
 assert stdenv.isLinux;
 
 let
-
-  bnumber = with stdenv.lib; build: last (splitString "-" build);
   mkIdeaProduct = callPackage ./common.nix { };
 
-  buildClion = { name, version, build, src, license, description, wmClass }:
+  buildClion = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "CLion";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/clion/";
@@ -26,9 +24,9 @@ let
       };
     });
 
-  buildIdea = { name, version, build, src, license, description, wmClass }:
+  buildIdea = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "IDEA";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/idea/";
@@ -43,9 +41,9 @@ let
       };
     });
 
-  buildRubyMine = { name, version, build, src, license, description, wmClass }:
+  buildRubyMine = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "RubyMine";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/ruby/";
@@ -56,9 +54,9 @@ let
       };
     });
 
-  buildPhpStorm = { name, version, build, src, license, description, wmClass }:
+  buildPhpStorm = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "PhpStorm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/phpstorm/";
@@ -73,9 +71,9 @@ let
       };
     });
 
-  buildWebStorm = { name, version, build, src, license, description, wmClass }:
+  buildWebStorm = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "WebStorm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/webstorm/";
@@ -90,9 +88,9 @@ let
       };
     });
 
-  buildPycharm = { name, version, build, src, license, description, wmClass }:
+  buildPycharm = { name, version, src, license, description, wmClass }:
     (mkIdeaProduct rec {
-      inherit name version build src wmClass jdk;
+      inherit name version src wmClass jdk;
       product = "PyCharm";
       meta = with stdenv.lib; {
         homepage = "https://www.jetbrains.com/pycharm/";
@@ -120,11 +118,9 @@ let
 in
 
 {
-
   clion = buildClion rec {
     name = "clion-${version}";
     version = "1.2.5";
-    build = "CL-143.2370.46";
     description  = "C/C++ IDE. New. Intelligent. Cross-platform";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -137,7 +133,6 @@ in
   idea14-community = buildIdea rec {
     name = "idea-community-${version}";
     version = "14.1.7";
-    build = "IC-141.3058.30";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
@@ -150,7 +145,6 @@ in
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
     version = "2016.2";
-    build = "IC-162.1121";
     description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
@@ -163,7 +157,6 @@ in
   idea14-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
     version = "14.1.7";
-    build = "IU-141.3058.30";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -176,7 +169,6 @@ in
   idea15-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
     version = "15.0.6";
-    build = "IU-143.2370.31";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -188,13 +180,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2016.2";
-    build = "IU-162.1121";
+    version = "2016.2.2";
     description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
-      sha256 = "10hiqh6ccmai2cnc5p72vqjcz9kzmmcpn0hy5v514h4mq6vs4zk4";
+      sha256 = "1z5kr47n3hhx0ck163193lwlh76sykgchnq9hw1ihi25n6655j1z";
     };
     wmClass = "jetbrains-idea";
   };
@@ -202,7 +193,6 @@ in
   ruby-mine = buildRubyMine rec {
     name = "ruby-mine-${version}";
     version = "7.1.5";
-    build = "RM-141.3058.29";
     description = "The Most Intelligent Ruby and Rails IDE";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -215,7 +205,6 @@ in
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
     version = "2016.1.3";
-    build = "PC-145.971.25";
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
@@ -228,7 +217,6 @@ in
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
     version = "2016.1.3";
-    build = "PY-145.971.25";
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -241,7 +229,6 @@ in
   phpstorm = buildPhpStorm rec {
     name = "phpstorm-${version}";
     version = "10.0.4";
-    build = "PS-143.2370.33";
     description = "Professional IDE for Web and PHP developers";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
@@ -254,7 +241,6 @@ in
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
     version = "10.0.5";
-    build = "WS-141.3058.35";
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
diff --git a/pkgs/applications/editors/manuskript/default.nix b/pkgs/applications/editors/manuskript/default.nix
new file mode 100644
index 00000000000..93813152a16
--- /dev/null
+++ b/pkgs/applications/editors/manuskript/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, zlib, fetchFromGitHub, python3Packages }:
+
+python3Packages.buildPythonApplication rec {
+  name = "manuskript";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    repo = name;
+    owner = "olivierkes";
+    rev = version;
+    sha256 = "0bqxc4a8kyi6xz1zs0dp85wxl9h4v8lzc6073bbcsn1zg4y59ys7";
+  };
+
+  propagatedBuildInputs = [
+    python3Packages.pyqt5
+    python3Packages.lxml
+    zlib
+  ];
+
+  buildPhase = '''';
+
+  installPhase = ''
+    mkdir -p $out
+    cp -av * $out/
+  '';
+
+  doCheck = false;
+
+  meta = {
+    description = "A open-source tool for writers";
+    homepage = http://www.theologeek.ch/manuskript;
+    license = stdenv.lib.licenses.gpl3;
+    maintainers = [ stdenv.lib.maintainers.steveej ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index c13ad738ffe..19678d241e6 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -23,8 +23,8 @@ let
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "libvterm";
-      rev = "a9c7c6fd20fa35e0ad3e0e98901ca12dfca9c25c";
-      sha256 = "090pyf1n5asaw1m2l9bsbdv3zd753aq1plb0w0drbc2k43ds7k3g";
+      rev = "487f21dbf65f1c28962fef3f064603f415fbaeb2";
+      sha256 = "1fig6v0qk0ylr7lqqk0d6x5yywb9ymh85vay4spw5b5r5p0ky7yx";
     };
 
     buildInputs = [ perl ];
@@ -60,13 +60,13 @@ let
 
   neovim = stdenv.mkDerivation rec {
     name = "neovim-${version}";
-    version = "0.1.4";
+    version = "0.1.5";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "14c4gydkm2mz22i616190yif1k0i6d7h5hyxa1mf5cmcyqmp3kkp";
+      sha256 = "1ihlgm2h7147xyd5wrwg61vsnmkqc9j3ghsida4g2ilr7gw9c85y";
     };
 
     enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/neovim/qt.nix b/pkgs/applications/editors/neovim/qt.nix
index 778c1cc6445..10522f449ae 100644
--- a/pkgs/applications/editors/neovim/qt.nix
+++ b/pkgs/applications/editors/neovim/qt.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
   name = "neovim-qt-${version}";
 
   src = fetchFromGitHub {
-    repo = "neovim-qt";
     owner = "equalsraf";
+    repo = "neovim-qt";
     rev = "v${version}";
     sha256 = "0mqs2f7l05q2ayj77czr5fnpr7fa00qrmjdjxglbwxdxswcsz88n";
   };
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 3ec61a16915..78964e316c5 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -1,12 +1,12 @@
 { stdenv, lib, callPackage, fetchurl, unzip, atomEnv, makeDesktopItem }:
 
 let
-  version = "1.2.1";
-  rev = "fe7f407b95b7f78405846188259504b34ef72761";
+  version = "1.4.0";
+  rev = "6276dcb0ae497766056b4c09ea75be1d76a8b679";
 
-  sha256 = if stdenv.system == "i686-linux"    then "10jm92i88ds6q5rybm19z0z3g35gqhp6jqr2ldxcryijl17gj1n5"
-      else if stdenv.system == "x86_64-linux"  then "0jg40gbz3s9vxqpnkg267ck8kbwvgiqhw8hsn26r42wyxmj8773v"
-      else if stdenv.system == "x86_64-darwin" then "1b241wfzp8m0nvycjprwv39l4pax9lyqzngj4ghkkdnb8ai2hd2z"
+  sha256 = if stdenv.system == "i686-linux"    then "1k228kv1v2765qnz6zw41h79fddwx5pcy9v9jyhsrwyla83fx4ar"
+      else if stdenv.system == "x86_64-linux"  then "1v0am0xpgnlwb3k35v7wxlv22035444ii3v5gv6hf1xbnybsa7lm"
+      else if stdenv.system == "x86_64-darwin" then "0395wnq8wi9x382l51wf8wiaclx7bjf5p0j39gq8y6j2ww8y2z7n"
       else throw "Unsupported system: ${stdenv.system}";
 
   urlMod = if stdenv.system == "i686-linux" then "linux-ia32"
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index e009676f2f1..25cf3a990d1 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gtk, libXft
+{ stdenv, fetchurl, fetchpatch, pkgconfig, perl, perlXMLParser, gtk, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
 , gsl, python, numpy, pyxml, lxml, poppler, imagemagick, libwpg, librevenge
-, libvisio, libcdr, libexif, unzip
+, libvisio, libcdr, libexif, unzip, automake114x, autoconf
 , boxMakerPlugin ? false # boxmaker plugin
 }:
 
@@ -14,6 +14,11 @@ boxmaker = fetchurl {
   sha256 = "5c5697f43dc3a95468f61f479cb50b7e2b93379a1729abf19e4040ac9f43a1a8";
 };
 
+stdcxx-patch = fetchpatch {
+  url = http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/diff/14542?context=3;
+  sha256 = "15h831lsh61ichgdygkdkbdm1dlb9mhprldq27hkx2472lcnyx6y";
+};
+
 in
 
 stdenv.mkDerivation rec {
@@ -28,6 +33,7 @@ stdenv.mkDerivation rec {
   patches = [ ./deprecated-scopedptr.patch ];
 
   postPatch = ''
+    patch -i ${stdcxx-patch} -p 0
     patchShebangs share/extensions
   ''
   # Clang gets misdetected, so hardcode the right answer
@@ -46,7 +52,7 @@ stdenv.mkDerivation rec {
     pkgconfig perl perlXMLParser gtk libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm glibmm libsigcxx lcms boost gettext
     makeWrapper intltool gsl poppler imagemagick libwpg librevenge
-    libvisio libcdr libexif
+    libvisio libcdr libexif automake114x autoconf
   ] ++ stdenv.lib.optional boxMakerPlugin unzip;
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/kdeconnect/default.nix b/pkgs/applications/misc/kdeconnect/default.nix
index 8fe3fe098bd..ecf3e38aeb0 100644
--- a/pkgs/applications/misc/kdeconnect/default.nix
+++ b/pkgs/applications/misc/kdeconnect/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   name = "kdeconnect-${version}";
-  version = "0.9g";
+  version = "1.0";
 
   src = fetchurl {
-    url = http://download.kde.org/unstable/kdeconnect/0.9/src/kdeconnect-kde-0.9g.tar.xz;
-    sha256 = "4033754057bbc993b1d4350959afbe1d17a4f1e56dd60c6df6abca5a321ee1b8";
+    url = http://download.kde.org/stable/kdeconnect/1.0/src/kdeconnect-kde-1.0.tar.xz;
+    sha256 = "0pd8qw0w6akc7yzmsr0sjkfj3nw6rgm5xvq41g61ak8pp05syzr0";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/keybase/default.nix b/pkgs/applications/misc/keybase/default.nix
deleted file mode 100644
index e8cbce4cf8c..00000000000
--- a/pkgs/applications/misc/keybase/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ stdenv, fetchurl, makeWrapper, callPackage, gnupg, utillinux }:
-
-with stdenv.lib;
-
-let 
-  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
-    neededNatives = [] ++ optional (stdenv.isLinux) utillinux;
-    self = nodePackages;
-    generated = ./package.nix;
-  };
-
-in nodePackages.buildNodePackage rec {
-  name = "keybase-${version}";
-  version = "0.8.25";
-
-  src = [(fetchurl {
-    url = "https://github.com/keybase/node-client/archive/v${version}.tar.gz";
-    sha256 = "1zc357hwh26lsg8ngj7iwjdmywyzk6fz3wxmcqq1qyp2927i4jz3";
-  })];
-
-  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
-  buildInputs = [ makeWrapper gnupg ];
-
-  postInstall = ''
-    wrapProgram "$out/bin/keybase" --set NODE_PATH "$out/lib/node_modules/keybase/node_modules/"
-  '';
-
-  passthru.names = ["keybase"];
-
-  meta = {
-    description = "CLI for keybase.io written in/for Node.js";
-    license = licenses.mit;
-    homepage = https://keybase.io/docs/command_line;
-    maintainers = with maintainers; [manveru];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/misc/keybase/package.nix b/pkgs/applications/misc/keybase/package.nix
deleted file mode 100644
index 4a046ac0629..00000000000
--- a/pkgs/applications/misc/keybase/package.nix
+++ /dev/null
@@ -1,3566 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."CSSselect"."~0.4.0" =
-    self.by-version."CSSselect"."0.4.1";
-  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
-    name = "CSSselect-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
-      name = "CSSselect-0.4.1.tgz";
-      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
-    };
-    deps = {
-      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
-      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."CSSwhat"."0.4" =
-    self.by-version."CSSwhat"."0.4.7";
-  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
-    name = "CSSwhat-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
-      name = "CSSwhat-0.4.7.tgz";
-      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^2.0.0" =
-    self.by-version."ansi-regex"."2.0.0";
-  by-version."ansi-regex"."2.0.0" = self.buildNodePackage {
-    name = "ansi-regex-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
-      name = "ansi-regex-2.0.0.tgz";
-      sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-styles"."^2.1.0" =
-    self.by-version."ansi-styles"."2.1.0";
-  by-version."ansi-styles"."2.1.0" = self.buildNodePackage {
-    name = "ansi-styles-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz";
-      name = "ansi-styles-2.1.0.tgz";
-      sha1 = "990f747146927b559a932bf92959163d60c0d0e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."0.1.15" =
-    self.by-version."argparse"."0.1.15";
-  by-version."argparse"."0.1.15" = self.buildNodePackage {
-    name = "argparse-0.1.15";
-    version = "0.1.15";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-      name = "argparse-0.1.15.tgz";
-      sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-    };
-    deps = {
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "argparse" = self.by-version."argparse"."0.1.15";
-  by-spec."asn1".">=0.2.3 <0.3.0" =
-    self.by-version."asn1"."0.2.3";
-  by-version."asn1"."0.2.3" = self.buildNodePackage {
-    name = "asn1-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
-      name = "asn1-0.2.3.tgz";
-      sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus".">=0.2.0 <0.3.0" =
-    self.by-version."assert-plus"."0.2.0";
-  by-version."assert-plus"."0.2.0" = self.buildNodePackage {
-    name = "assert-plus-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
-      name = "assert-plus-0.2.0.tgz";
-      sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."^0.2.0" =
-    self.by-version."assert-plus"."0.2.0";
-  by-spec."async"."0.2.x" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."^1.4.0" =
-    self.by-version."async"."1.5.2";
-  by-version."async"."1.5.2" = self.buildNodePackage {
-    name = "async-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-1.5.2.tgz";
-      name = "async-1.5.2.tgz";
-      sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sign2"."~0.6.0" =
-    self.by-version."aws-sign2"."0.6.0";
-  by-version."aws-sign2"."0.6.0" = self.buildNodePackage {
-    name = "aws-sign2-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
-      name = "aws-sign2-0.6.0.tgz";
-      sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws4"."^1.2.1" =
-    self.by-version."aws4"."1.2.1";
-  by-version."aws4"."1.2.1" = self.buildNodePackage {
-    name = "aws4-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/aws4/-/aws4-1.2.1.tgz";
-      name = "aws4-1.2.1.tgz";
-      sha1 = "52b5659a4d32583d405f65e1124ac436d07fe5ac";
-    };
-    deps = {
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."badnode"."^1.0.1" =
-    self.by-version."badnode"."1.0.1";
-  by-version."badnode"."1.0.1" = self.buildNodePackage {
-    name = "badnode-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/badnode/-/badnode-1.0.1.tgz";
-      name = "badnode-1.0.1.tgz";
-      sha1 = "3f14123363badf4bed1acc8ed839ee99b27ad7e0";
-    };
-    deps = {
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "badnode" = self.by-version."badnode"."1.0.1";
-  by-spec."balanced-match"."^0.3.0" =
-    self.by-version."balanced-match"."0.3.0";
-  by-version."balanced-match"."0.3.0" = self.buildNodePackage {
-    name = "balanced-match-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz";
-      name = "balanced-match-0.3.0.tgz";
-      sha1 = "a91cdd1ebef1a86659e70ff4def01625fc2d6756";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bitcoyne".">=0.0.6" =
-    self.by-version."bitcoyne"."1.0.1";
-  by-version."bitcoyne"."1.0.1" = self.buildNodePackage {
-    name = "bitcoyne-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bitcoyne/-/bitcoyne-1.0.1.tgz";
-      name = "bitcoyne-1.0.1.tgz";
-      sha1 = "5a775f93ccb8c4b7b26d4c2a44c25916783cf40e";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "kbpgp-2.0.50" = self.by-version."kbpgp"."2.0.50";
-      "pgp-utils-0.0.27" = self.by-version."pgp-utils"."0.0.27";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bitcoyne" = self.by-version."bitcoyne"."1.0.1";
-  by-spec."bl"."~1.0.0" =
-    self.by-version."bl"."1.0.2";
-  by-version."bl"."1.0.2" = self.buildNodePackage {
-    name = "bl-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bl/-/bl-1.0.2.tgz";
-      name = "bl-1.0.2.tgz";
-      sha1 = "8c66490d825ba84d560de1f62196a29555b3a0c4";
-    };
-    deps = {
-      "readable-stream-2.0.5" = self.by-version."readable-stream"."2.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bn"."^1.0.0" =
-    self.by-version."bn"."1.0.1";
-  by-version."bn"."1.0.1" = self.buildNodePackage {
-    name = "bn-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bn/-/bn-1.0.1.tgz";
-      name = "bn-1.0.1.tgz";
-      sha1 = "a153825e6b1eb2c2db7726149b047a07ce0a3bb3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bn"."^1.0.1" =
-    self.by-version."bn"."1.0.1";
-  "bn" = self.by-version."bn"."1.0.1";
-  by-spec."boom"."2.x.x" =
-    self.by-version."boom"."2.10.1";
-  by-version."boom"."2.10.1" = self.buildNodePackage {
-    name = "boom-2.10.1";
-    version = "2.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
-      name = "boom-2.10.1.tgz";
-      sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."brace-expansion"."^1.0.0" =
-    self.by-version."brace-expansion"."1.1.2";
-  by-version."brace-expansion"."1.1.2" = self.buildNodePackage {
-    name = "brace-expansion-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.2.tgz";
-      name = "brace-expansion-1.1.2.tgz";
-      sha1 = "f21445d0488b658e2771efd870eff51df29f04ef";
-    };
-    deps = {
-      "balanced-match-0.3.0" = self.by-version."balanced-match"."0.3.0";
-      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bzip-deflate"."^1.0.0" =
-    self.by-version."bzip-deflate"."1.0.0";
-  by-version."bzip-deflate"."1.0.0" = self.buildNodePackage {
-    name = "bzip-deflate-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bzip-deflate/-/bzip-deflate-1.0.0.tgz";
-      name = "bzip-deflate-1.0.0.tgz";
-      sha1 = "b02db007ef37bebcc29384a4b2c6f4f0f4c796c9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.11.0" =
-    self.by-version."caseless"."0.11.0";
-  by-version."caseless"."0.11.0" = self.buildNodePackage {
-    name = "caseless-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
-      name = "caseless-0.11.0.tgz";
-      sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^1.1.1" =
-    self.by-version."chalk"."1.1.1";
-  by-version."chalk"."1.1.1" = self.buildNodePackage {
-    name = "chalk-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz";
-      name = "chalk-1.1.1.tgz";
-      sha1 = "509afb67066e7499f7eb3535c77445772ae2d019";
-    };
-    deps = {
-      "ansi-styles-2.1.0" = self.by-version."ansi-styles"."2.1.0";
-      "escape-string-regexp-1.0.4" = self.by-version."escape-string-regexp"."1.0.4";
-      "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
-      "strip-ansi-3.0.0" = self.by-version."strip-ansi"."3.0.0";
-      "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cheerio"."0.13.0" =
-    self.by-version."cheerio"."0.13.0";
-  by-version."cheerio"."0.13.0" = self.buildNodePackage {
-    name = "cheerio-0.13.0";
-    version = "0.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.13.0.tgz";
-      name = "cheerio-0.13.0.tgz";
-      sha1 = "44f5112044e0e0148300dd16bf8bbd7755ce65f1";
-    };
-    deps = {
-      "htmlparser2-3.4.0" = self.by-version."htmlparser2"."3.4.0";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "entities-0.5.0" = self.by-version."entities"."0.5.0";
-      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "cheerio" = self.by-version."cheerio"."0.13.0";
-  by-spec."cli"."0.4.x" =
-    self.by-version."cli"."0.4.5";
-  by-version."cli"."0.4.5" = self.buildNodePackage {
-    name = "cli-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cli/-/cli-0.4.5.tgz";
-      name = "cli-0.4.5.tgz";
-      sha1 = "78f9485cd161b566e9a6c72d7170c4270e81db61";
-    };
-    deps = {
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliff"."0.1.x" =
-    self.by-version."cliff"."0.1.10";
-  by-version."cliff"."0.1.10" = self.buildNodePackage {
-    name = "cliff-0.1.10";
-    version = "0.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz";
-      name = "cliff-0.1.10.tgz";
-      sha1 = "53be33ea9f59bec85609ee300ac4207603e52013";
-    };
-    deps = {
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "winston-0.8.3" = self.by-version."winston"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."codesign"."0.0.9" =
-    self.by-version."codesign"."0.0.9";
-  by-version."codesign"."0.0.9" = self.buildNodePackage {
-    name = "codesign-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/codesign/-/codesign-0.0.9.tgz";
-      name = "codesign-0.0.9.tgz";
-      sha1 = "2da6b703f1d1cf2a76e8b1d48f44fa922e21b55f";
-    };
-    deps = {
-      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-logger-0.0.6" = self.by-version."iced-logger"."0.0.6";
-      "glob-to-regexp-0.1.0" = self.by-version."glob-to-regexp"."0.1.0";
-      "tablify-0.1.5" = self.by-version."tablify"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "codesign" = self.by-version."codesign"."0.0.9";
-  by-spec."colors"."0.6.2" =
-    self.by-version."colors"."0.6.2";
-  by-version."colors"."0.6.2" = self.buildNodePackage {
-    name = "colors-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-      name = "colors-0.6.2.tgz";
-      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "colors" = self.by-version."colors"."0.6.2";
-  by-spec."colors"."0.6.x" =
-    self.by-version."colors"."0.6.2";
-  by-spec."colors".">=0.6.2" =
-    self.by-version."colors"."1.1.2";
-  by-version."colors"."1.1.2" = self.buildNodePackage {
-    name = "colors-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
-      name = "colors-1.1.2.tgz";
-      sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."~0.6.2" =
-    self.by-version."colors"."0.6.2";
-  by-spec."colors"."~1.0.3" =
-    self.by-version."colors"."1.0.3";
-  by-version."colors"."1.0.3" = self.buildNodePackage {
-    name = "colors-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
-      name = "colors-1.0.3.tgz";
-      sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."^1.0.5" =
-    self.by-version."combined-stream"."1.0.5";
-  by-version."combined-stream"."1.0.5" = self.buildNodePackage {
-    name = "combined-stream-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
-      name = "combined-stream-1.0.5.tgz";
-      sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
-    };
-    deps = {
-      "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."~1.0.5" =
-    self.by-version."combined-stream"."1.0.5";
-  by-spec."commander".">= 0.5.2" =
-    self.by-version."commander"."2.9.0";
-  by-version."commander"."2.9.0" = self.buildNodePackage {
-    name = "commander-2.9.0";
-    version = "2.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-      name = "commander-2.9.0.tgz";
-      sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."^2.9.0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."concat-map"."0.0.1" =
-    self.by-version."concat-map"."0.0.1";
-  by-version."concat-map"."0.0.1" = self.buildNodePackage {
-    name = "concat-map-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-      name = "concat-map-0.0.1.tgz";
-      sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.2";
-  by-version."core-util-is"."1.0.2" = self.buildNodePackage {
-    name = "core-util-is-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-      name = "core-util-is-1.0.2.tgz";
-      sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cryptiles"."2.x.x" =
-    self.by-version."cryptiles"."2.0.5";
-  by-version."cryptiles"."2.0.5" = self.buildNodePackage {
-    name = "cryptiles-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
-      name = "cryptiles-2.0.5.tgz";
-      sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
-    };
-    deps = {
-      "boom-2.10.1" = self.by-version."boom"."2.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cycle"."1.0.x" =
-    self.by-version."cycle"."1.0.3";
-  by-version."cycle"."1.0.3" = self.buildNodePackage {
-    name = "cycle-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
-      name = "cycle-1.0.3.tgz";
-      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dashdash".">=1.10.1 <2.0.0" =
-    self.by-version."dashdash"."1.12.2";
-  by-version."dashdash"."1.12.2" = self.buildNodePackage {
-    name = "dashdash-1.12.2";
-    version = "1.12.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dashdash/-/dashdash-1.12.2.tgz";
-      name = "dashdash-1.12.2.tgz";
-      sha1 = "1c6f70588498d047b8cd5777b32ba85a5e25be36";
-    };
-    deps = {
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-equal"."0.2.1" =
-    self.by-version."deep-equal"."0.2.1";
-  by-version."deep-equal"."0.2.1" = self.buildNodePackage {
-    name = "deep-equal-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.1.tgz";
-      name = "deep-equal-0.2.1.tgz";
-      sha1 = "fad7a793224cbf0c3c7786f92ef780e4fc8cc878";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "deep-equal" = self.by-version."deep-equal"."0.2.1";
-  by-spec."deep-equal".">=0.2.1" =
-    self.by-version."deep-equal"."1.0.1";
-  by-version."deep-equal"."1.0.1" = self.buildNodePackage {
-    name = "deep-equal-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
-      name = "deep-equal-1.0.1.tgz";
-      sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-equal"."~0.2.1" =
-    self.by-version."deep-equal"."0.2.2";
-  by-version."deep-equal"."0.2.2" = self.buildNodePackage {
-    name = "deep-equal-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz";
-      name = "deep-equal-0.2.2.tgz";
-      sha1 = "84b745896f34c684e98f2ce0e42abaf43bba017d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."delayed-stream"."~1.0.0" =
-    self.by-version."delayed-stream"."1.0.0";
-  by-version."delayed-stream"."1.0.0" = self.buildNodePackage {
-    name = "delayed-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-      name = "delayed-stream-1.0.0.tgz";
-      sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."docco"."~0.6.2" =
-    self.by-version."docco"."0.6.3";
-  by-version."docco"."0.6.3" = self.buildNodePackage {
-    name = "docco-0.6.3";
-    version = "0.6.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/docco/-/docco-0.6.3.tgz";
-      name = "docco-0.6.3.tgz";
-      sha1 = "c47b5823d79563d6fc3abd49f3de48986e5522ee";
-    };
-    deps = {
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "marked-0.3.5" = self.by-version."marked"."0.3.5";
-      "fs-extra-0.26.5" = self.by-version."fs-extra"."0.26.5";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "highlight.js-9.1.0" = self.by-version."highlight.js"."9.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domelementtype"."1" =
-    self.by-version."domelementtype"."1.3.0";
-  by-version."domelementtype"."1.3.0" = self.buildNodePackage {
-    name = "domelementtype-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
-      name = "domelementtype-1.3.0.tgz";
-      sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domhandler"."2.2" =
-    self.by-version."domhandler"."2.2.1";
-  by-version."domhandler"."2.2.1" = self.buildNodePackage {
-    name = "domhandler-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
-      name = "domhandler-2.2.1.tgz";
-      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.3" =
-    self.by-version."domutils"."1.3.0";
-  by-version."domutils"."1.3.0" = self.buildNodePackage {
-    name = "domutils-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domutils/-/domutils-1.3.0.tgz";
-      name = "domutils-1.3.0.tgz";
-      sha1 = "9ad4d59b5af6ca684c62fe6d768ef170e70df192";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.4" =
-    self.by-version."domutils"."1.4.3";
-  by-version."domutils"."1.4.3" = self.buildNodePackage {
-    name = "domutils-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
-      name = "domutils-1.4.3.tgz";
-      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ecc-jsbn".">=0.0.1 <1.0.0" =
-    self.by-version."ecc-jsbn"."0.1.1";
-  by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage {
-    name = "ecc-jsbn-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
-      name = "ecc-jsbn-0.1.1.tgz";
-      sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
-    };
-    deps = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."0.x" =
-    self.by-version."entities"."0.5.0";
-  by-version."entities"."0.5.0" = self.buildNodePackage {
-    name = "entities-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/entities/-/entities-0.5.0.tgz";
-      name = "entities-0.5.0.tgz";
-      sha1 = "f611cb5ae221050e0012c66979503fd7ae19cc49";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."^1.0.2" =
-    self.by-version."escape-string-regexp"."1.0.4";
-  by-version."escape-string-regexp"."1.0.4" = self.buildNodePackage {
-    name = "escape-string-regexp-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.4.tgz";
-      name = "escape-string-regexp-1.0.4.tgz";
-      sha1 = "b85e679b46f72d03fbbe8a3bf7259d535c21b62f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend"."~3.0.0" =
-    self.by-version."extend"."3.0.0";
-  by-version."extend"."3.0.0" = self.buildNodePackage {
-    name = "extend-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
-      name = "extend-3.0.0.tgz";
-      sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extsprintf"."1.0.2" =
-    self.by-version."extsprintf"."1.0.2";
-  by-version."extsprintf"."1.0.2" = self.buildNodePackage {
-    name = "extsprintf-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
-      name = "extsprintf-1.0.2.tgz";
-      sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eyes"."0.1.x" =
-    self.by-version."eyes"."0.1.8";
-  by-version."eyes"."0.1.8" = self.buildNodePackage {
-    name = "eyes-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-      name = "eyes-0.1.8.tgz";
-      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eyes"."~0.1.8" =
-    self.by-version."eyes"."0.1.8";
-  by-spec."forever-agent"."~0.6.1" =
-    self.by-version."forever-agent"."0.6.1";
-  by-version."forever-agent"."0.6.1" = self.buildNodePackage {
-    name = "forever-agent-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-      name = "forever-agent-0.6.1.tgz";
-      sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."~1.0.0-rc3" =
-    self.by-version."form-data"."1.0.0-rc3";
-  by-version."form-data"."1.0.0-rc3" = self.buildNodePackage {
-    name = "form-data-1.0.0-rc3";
-    version = "1.0.0-rc3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz";
-      name = "form-data-1.0.0-rc3.tgz";
-      sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "mime-types-2.1.9" = self.by-version."mime-types"."2.1.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."framed-msgpack-rpc"."1.1.4" =
-    self.by-version."framed-msgpack-rpc"."1.1.4";
-  by-version."framed-msgpack-rpc"."1.1.4" = self.buildNodePackage {
-    name = "framed-msgpack-rpc-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/framed-msgpack-rpc/-/framed-msgpack-rpc-1.1.4.tgz";
-      name = "framed-msgpack-rpc-1.1.4.tgz";
-      sha1 = "54bfc5fbdf0c7c1b7691f20ffb31ef955c185db2";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "purepack-1.0.4" = self.by-version."purepack"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "framed-msgpack-rpc" = self.by-version."framed-msgpack-rpc"."1.1.4";
-  by-spec."fs-extra".">= 0.6.0" =
-    self.by-version."fs-extra"."0.26.5";
-  by-version."fs-extra"."0.26.5" = self.buildNodePackage {
-    name = "fs-extra-0.26.5";
-    version = "0.26.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/fs-extra/-/fs-extra-0.26.5.tgz";
-      name = "fs-extra-0.26.5.tgz";
-      sha1 = "53ac74667ca083fd2dc1712c813039ca32d69a7f";
-    };
-    deps = {
-      "graceful-fs-4.1.3" = self.by-version."graceful-fs"."4.1.3";
-      "jsonfile-2.2.3" = self.by-version."jsonfile"."2.2.3";
-      "klaw-1.1.3" = self.by-version."klaw"."1.1.3";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "rimraf-2.5.1" = self.by-version."rimraf"."2.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-function"."^2.0.0" =
-    self.by-version."generate-function"."2.0.0";
-  by-version."generate-function"."2.0.0" = self.buildNodePackage {
-    name = "generate-function-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-      name = "generate-function-2.0.0.tgz";
-      sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-object-property"."^1.1.0" =
-    self.by-version."generate-object-property"."1.2.0";
-  by-version."generate-object-property"."1.2.0" = self.buildNodePackage {
-    name = "generate-object-property-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
-      name = "generate-object-property-1.2.0.tgz";
-      sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
-    };
-    deps = {
-      "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob".">= 3.1.4" =
-    self.by-version."glob"."6.0.4";
-  by-version."glob"."6.0.4" = self.buildNodePackage {
-    name = "glob-6.0.4";
-    version = "6.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/glob/-/glob-6.0.4.tgz";
-      name = "glob-6.0.4.tgz";
-      sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
-    };
-    deps = {
-      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."^6.0.1" =
-    self.by-version."glob"."6.0.4";
-  by-spec."glob-to-regexp".">=0.0.1" =
-    self.by-version."glob-to-regexp"."0.1.0";
-  by-version."glob-to-regexp"."0.1.0" = self.buildNodePackage {
-    name = "glob-to-regexp-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.1.0.tgz";
-      name = "glob-to-regexp-0.1.0.tgz";
-      sha1 = "e0369d426578fd456d47dc23b09de05c1da9ea5d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gpg-wrapper".">=1.0.0" =
-    self.by-version."gpg-wrapper"."1.0.5";
-  by-version."gpg-wrapper"."1.0.5" = self.buildNodePackage {
-    name = "gpg-wrapper-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/gpg-wrapper/-/gpg-wrapper-1.0.5.tgz";
-      name = "gpg-wrapper-1.0.5.tgz";
-      sha1 = "e3b9197c5e2dc7b0273cf59601430c18f17b3e51";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "iced-spawn-1.0.0" = self.by-version."iced-spawn"."1.0.0";
-      "iced-utils-0.1.23" = self.by-version."iced-utils"."0.1.23";
-      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
-      "spotty-1.0.0" = self.by-version."spotty"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gpg-wrapper".">=1.0.5" =
-    self.by-version."gpg-wrapper"."1.0.5";
-  "gpg-wrapper" = self.by-version."gpg-wrapper"."1.0.5";
-  by-spec."graceful-fs"."^4.1.2" =
-    self.by-version."graceful-fs"."4.1.3";
-  by-version."graceful-fs"."4.1.3" = self.buildNodePackage {
-    name = "graceful-fs-4.1.3";
-    version = "4.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz";
-      name = "graceful-fs-4.1.3.tgz";
-      sha1 = "92033ce11113c41e2628d61fdfa40bc10dc0155c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-readlink".">= 1.0.0" =
-    self.by-version."graceful-readlink"."1.0.1";
-  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
-    name = "graceful-readlink-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-      name = "graceful-readlink-1.0.1.tgz";
-      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."har-validator"."~2.0.6" =
-    self.by-version."har-validator"."2.0.6";
-  by-version."har-validator"."2.0.6" = self.buildNodePackage {
-    name = "har-validator-2.0.6";
-    version = "2.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
-      name = "har-validator-2.0.6.tgz";
-      sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
-    };
-    deps = {
-      "chalk-1.1.1" = self.by-version."chalk"."1.1.1";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "is-my-json-valid-2.12.4" = self.by-version."is-my-json-valid"."2.12.4";
-      "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^2.0.0" =
-    self.by-version."has-ansi"."2.0.0";
-  by-version."has-ansi"."2.0.0" = self.buildNodePackage {
-    name = "has-ansi-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-      name = "has-ansi-2.0.0.tgz";
-      sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~3.1.0" =
-    self.by-version."hawk"."3.1.3";
-  by-version."hawk"."3.1.3" = self.buildNodePackage {
-    name = "hawk-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
-      name = "hawk-3.1.3.tgz";
-      sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-      "boom-2.10.1" = self.by-version."boom"."2.10.1";
-      "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5";
-      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."highlight.js".">= 8.0.x" =
-    self.by-version."highlight.js"."9.1.0";
-  by-version."highlight.js"."9.1.0" = self.buildNodePackage {
-    name = "highlight.js-9.1.0";
-    version = "9.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/highlight.js/-/highlight.js-9.1.0.tgz";
-      name = "highlight.js-9.1.0.tgz";
-      sha1 = "eb94c125f52bbd25dc893551b45c37c5093f1c5c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."2.x.x" =
-    self.by-version."hoek"."2.16.3";
-  by-version."hoek"."2.16.3" = self.buildNodePackage {
-    name = "hoek-2.16.3";
-    version = "2.16.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
-      name = "hoek-2.16.3.tgz";
-      sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2"."~3.4.0" =
-    self.by-version."htmlparser2"."3.4.0";
-  by-version."htmlparser2"."3.4.0" = self.buildNodePackage {
-    name = "htmlparser2-3.4.0";
-    version = "3.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.4.0.tgz";
-      name = "htmlparser2-3.4.0.tgz";
-      sha1 = "a1cd65f5823ad285e19d63b085ad722d0a51eae7";
-    };
-    deps = {
-      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
-      "domutils-1.3.0" = self.by-version."domutils"."1.3.0";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature"."~1.1.0" =
-    self.by-version."http-signature"."1.1.1";
-  by-version."http-signature"."1.1.1" = self.buildNodePackage {
-    name = "http-signature-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
-      name = "http-signature-1.1.1.tgz";
-      sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
-    };
-    deps = {
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "jsprim-1.2.2" = self.by-version."jsprim"."1.2.2";
-      "sshpk-1.7.3" = self.by-version."sshpk"."1.7.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iced-coffee-script"."~1.7.1-c" =
-    self.by-version."iced-coffee-script"."1.7.1-g";
-  by-version."iced-coffee-script"."1.7.1-g" = self.buildNodePackage {
-    name = "iced-coffee-script-1.7.1-g";
-    version = "1.7.1-g";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-coffee-script/-/iced-coffee-script-1.7.1-g.tgz";
-      name = "iced-coffee-script-1.7.1-g.tgz";
-      sha1 = "41f9ccabe113bade608d519c10a41406a62c170b";
-    };
-    deps = {
-      "docco-0.6.3" = self.by-version."docco"."0.6.3";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-coffee-script" = self.by-version."iced-coffee-script"."1.7.1-g";
-  by-spec."iced-data-structures"."0.0.5" =
-    self.by-version."iced-data-structures"."0.0.5";
-  by-version."iced-data-structures"."0.0.5" = self.buildNodePackage {
-    name = "iced-data-structures-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-data-structures/-/iced-data-structures-0.0.5.tgz";
-      name = "iced-data-structures-0.0.5.tgz";
-      sha1 = "21de124f847fdeeb88f32cf232d3e3e600e05db4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-data-structures" = self.by-version."iced-data-structures"."0.0.5";
-  by-spec."iced-data-structures"."~0.0.5" =
-    self.by-version."iced-data-structures"."0.0.5";
-  by-spec."iced-db"."0.0.4" =
-    self.by-version."iced-db"."0.0.4";
-  by-version."iced-db"."0.0.4" = self.buildNodePackage {
-    name = "iced-db-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-db/-/iced-db-0.0.4.tgz";
-      name = "iced-db-0.0.4.tgz";
-      sha1 = "355bf9808998076013a0850ee33c6905dfb85a00";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "iced-utils-0.1.23" = self.by-version."iced-utils"."0.1.23";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-db" = self.by-version."iced-db"."0.0.4";
-  by-spec."iced-error"."0.0.9" =
-    self.by-version."iced-error"."0.0.9";
-  by-version."iced-error"."0.0.9" = self.buildNodePackage {
-    name = "iced-error-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-error/-/iced-error-0.0.9.tgz";
-      name = "iced-error-0.0.9.tgz";
-      sha1 = "c7c3057614c0a187d96b3d18c6d520e6b872ed37";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-error" = self.by-version."iced-error"."0.0.9";
-  by-spec."iced-error".">=0.0.8" =
-    self.by-version."iced-error"."0.0.9";
-  by-spec."iced-error".">=0.0.9" =
-    self.by-version."iced-error"."0.0.9";
-  by-spec."iced-error"."~0.0.8" =
-    self.by-version."iced-error"."0.0.9";
-  by-spec."iced-expect"."0.0.3" =
-    self.by-version."iced-expect"."0.0.3";
-  by-version."iced-expect"."0.0.3" = self.buildNodePackage {
-    name = "iced-expect-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-expect/-/iced-expect-0.0.3.tgz";
-      name = "iced-expect-0.0.3.tgz";
-      sha1 = "206f271f27b200b9b538e2c0ca66a70209be1238";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-expect" = self.by-version."iced-expect"."0.0.3";
-  by-spec."iced-lock"."^1.0.1" =
-    self.by-version."iced-lock"."1.0.1";
-  by-version."iced-lock"."1.0.1" = self.buildNodePackage {
-    name = "iced-lock-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-lock/-/iced-lock-1.0.1.tgz";
-      name = "iced-lock-1.0.1.tgz";
-      sha1 = "0914a61a4d3dec69db8f871ef40f95417fa38986";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-lock" = self.by-version."iced-lock"."1.0.1";
-  by-spec."iced-logger"."0.0.5" =
-    self.by-version."iced-logger"."0.0.5";
-  by-version."iced-logger"."0.0.5" = self.buildNodePackage {
-    name = "iced-logger-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-logger/-/iced-logger-0.0.5.tgz";
-      name = "iced-logger-0.0.5.tgz";
-      sha1 = "501852a410691cf7e9542598e04dfbfdadc51486";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-logger" = self.by-version."iced-logger"."0.0.5";
-  by-spec."iced-logger".">=0.0.3" =
-    self.by-version."iced-logger"."0.0.6";
-  by-version."iced-logger"."0.0.6" = self.buildNodePackage {
-    name = "iced-logger-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-logger/-/iced-logger-0.0.6.tgz";
-      name = "iced-logger-0.0.6.tgz";
-      sha1 = "3f38081e4df4742aab09b86bb0adf8ea6c12de82";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iced-logger"."~0.0.1" =
-    self.by-version."iced-logger"."0.0.6";
-  by-spec."iced-runtime".">=0.0.1" =
-    self.by-version."iced-runtime"."1.0.3";
-  by-version."iced-runtime"."1.0.3" = self.buildNodePackage {
-    name = "iced-runtime-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-runtime/-/iced-runtime-1.0.3.tgz";
-      name = "iced-runtime-1.0.3.tgz";
-      sha1 = "2d4f4fb999ab7aa5430b193c77a7fce4118319ce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iced-runtime".">=0.0.1 <2.0.0-0" =
-    self.by-version."iced-runtime"."1.0.3";
-  by-spec."iced-runtime".">=1.0.3" =
-    self.by-version."iced-runtime"."1.0.3";
-  "iced-runtime" = self.by-version."iced-runtime"."1.0.3";
-  by-spec."iced-runtime"."^1.0.0" =
-    self.by-version."iced-runtime"."1.0.3";
-  by-spec."iced-runtime"."^1.0.1" =
-    self.by-version."iced-runtime"."1.0.3";
-  by-spec."iced-runtime"."^1.0.2" =
-    self.by-version."iced-runtime"."1.0.3";
-  by-spec."iced-spawn".">=0.0.3" =
-    self.by-version."iced-spawn"."1.0.0";
-  by-version."iced-spawn"."1.0.0" = self.buildNodePackage {
-    name = "iced-spawn-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-spawn/-/iced-spawn-1.0.0.tgz";
-      name = "iced-spawn-1.0.0.tgz";
-      sha1 = "dab91968cb46f9c05baadd126a5abb53c5d7d1df";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iced-spawn".">=0.0.8" =
-    self.by-version."iced-spawn"."1.0.0";
-  by-spec."iced-spawn".">=1.0.0" =
-    self.by-version."iced-spawn"."1.0.0";
-  "iced-spawn" = self.by-version."iced-spawn"."1.0.0";
-  by-spec."iced-test".">=0.0.16" =
-    self.by-version."iced-test"."0.0.22";
-  by-version."iced-test"."0.0.22" = self.buildNodePackage {
-    name = "iced-test-0.0.22";
-    version = "0.0.22";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-test/-/iced-test-0.0.22.tgz";
-      name = "iced-test-0.0.22.tgz";
-      sha1 = "61e7149f443fe5c87ff402cbc2214a42d558af2b";
-    };
-    deps = {
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-test" = self.by-version."iced-test"."0.0.22";
-  by-spec."iced-utils"."0.1.22" =
-    self.by-version."iced-utils"."0.1.22";
-  by-version."iced-utils"."0.1.22" = self.buildNodePackage {
-    name = "iced-utils-0.1.22";
-    version = "0.1.22";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.22.tgz";
-      name = "iced-utils-0.1.22.tgz";
-      sha1 = "931925d9d39655a392fd337cefb2e111f503bb15";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "iced-utils" = self.by-version."iced-utils"."0.1.22";
-  by-spec."iced-utils".">=0.1.11" =
-    self.by-version."iced-utils"."0.1.23";
-  by-version."iced-utils"."0.1.23" = self.buildNodePackage {
-    name = "iced-utils-0.1.23";
-    version = "0.1.23";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iced-utils/-/iced-utils-0.1.23.tgz";
-      name = "iced-utils-0.1.23.tgz";
-      sha1 = "2b999eb6e34d84e10f449bca1f47ca3b556ea197";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iced-utils".">=0.1.16" =
-    self.by-version."iced-utils"."0.1.23";
-  by-spec."iced-utils".">=0.1.18" =
-    self.by-version."iced-utils"."0.1.23";
-  by-spec."iced-utils".">=0.1.22" =
-    self.by-version."iced-utils"."0.1.23";
-  by-spec."iced-utils"."^0.1.22" =
-    self.by-version."iced-utils"."0.1.23";
-  by-spec."inflight"."^1.0.4" =
-    self.by-version."inflight"."1.0.4";
-  by-version."inflight"."1.0.4" = self.buildNodePackage {
-    name = "inflight-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
-      name = "inflight-1.0.4.tgz";
-      sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."ipv6"."~3.1.1" =
-    self.by-version."ipv6"."3.1.3";
-  by-version."ipv6"."3.1.3" = self.buildNodePackage {
-    name = "ipv6-3.1.3";
-    version = "3.1.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ipv6/-/ipv6-3.1.3.tgz";
-      name = "ipv6-3.1.3.tgz";
-      sha1 = "4d9064f9c2dafa0dd10b8b7d76ffca4aad31b3b9";
-    };
-    deps = {
-      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
-      "cli-0.4.5" = self.by-version."cli"."0.4.5";
-      "cliff-0.1.10" = self.by-version."cliff"."0.1.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-my-json-valid"."^2.12.4" =
-    self.by-version."is-my-json-valid"."2.12.4";
-  by-version."is-my-json-valid"."2.12.4" = self.buildNodePackage {
-    name = "is-my-json-valid-2.12.4";
-    version = "2.12.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.4.tgz";
-      name = "is-my-json-valid-2.12.4.tgz";
-      sha1 = "d4ed2bc1d7f88daf8d0f763b3e3e39a69bd37880";
-    };
-    deps = {
-      "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
-      "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
-      "jsonpointer-2.0.0" = self.by-version."jsonpointer"."2.0.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-property"."^1.0.0" =
-    self.by-version."is-property"."1.0.2";
-  by-version."is-property"."1.0.2" = self.buildNodePackage {
-    name = "is-property-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
-      name = "is-property-1.0.2.tgz";
-      sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-typedarray"."~1.0.0" =
-    self.by-version."is-typedarray"."1.0.0";
-  by-version."is-typedarray"."1.0.0" = self.buildNodePackage {
-    name = "is-typedarray-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-      name = "is-typedarray-1.0.0.tgz";
-      sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = self.buildNodePackage {
-    name = "isarray-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-      name = "isarray-0.0.1.tgz";
-      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isstream"."0.1.x" =
-    self.by-version."isstream"."0.1.2";
-  by-version."isstream"."0.1.2" = self.buildNodePackage {
-    name = "isstream-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-      name = "isstream-0.1.2.tgz";
-      sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isstream"."~0.1.2" =
-    self.by-version."isstream"."0.1.2";
-  by-spec."jodid25519".">=1.0.0 <2.0.0" =
-    self.by-version."jodid25519"."1.0.2";
-  by-version."jodid25519"."1.0.2" = self.buildNodePackage {
-    name = "jodid25519-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
-      name = "jodid25519-1.0.2.tgz";
-      sha1 = "06d4912255093419477d425633606e0e90782967";
-    };
-    deps = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsbn".">=0.1.0 <0.2.0" =
-    self.by-version."jsbn"."0.1.0";
-  by-version."jsbn"."0.1.0" = self.buildNodePackage {
-    name = "jsbn-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
-      name = "jsbn-0.1.0.tgz";
-      sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsbn"."~0.1.0" =
-    self.by-version."jsbn"."0.1.0";
-  by-spec."json-schema"."0.2.2" =
-    self.by-version."json-schema"."0.2.2";
-  by-version."json-schema"."0.2.2" = self.buildNodePackage {
-    name = "json-schema-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
-      name = "json-schema-0.2.2.tgz";
-      sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stringify-safe"."~5.0.1" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage {
-    name = "json-stringify-safe-5.0.1";
-    version = "5.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-      name = "json-stringify-safe-5.0.1.tgz";
-      sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonfile"."^2.1.0" =
-    self.by-version."jsonfile"."2.2.3";
-  by-version."jsonfile"."2.2.3" = self.buildNodePackage {
-    name = "jsonfile-2.2.3";
-    version = "2.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jsonfile/-/jsonfile-2.2.3.tgz";
-      name = "jsonfile-2.2.3.tgz";
-      sha1 = "e252b99a6af901d3ec41f332589c90509a7bc605";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonpointer"."2.0.0" =
-    self.by-version."jsonpointer"."2.0.0";
-  by-version."jsonpointer"."2.0.0" = self.buildNodePackage {
-    name = "jsonpointer-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz";
-      name = "jsonpointer-2.0.0.tgz";
-      sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsprim"."^1.2.2" =
-    self.by-version."jsprim"."1.2.2";
-  by-version."jsprim"."1.2.2" = self.buildNodePackage {
-    name = "jsprim-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz";
-      name = "jsprim-1.2.2.tgz";
-      sha1 = "f20c906ac92abd58e3b79ac8bc70a48832512da1";
-    };
-    deps = {
-      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
-      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
-      "verror-1.3.6" = self.by-version."verror"."1.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kbpgp".">=2.0.41" =
-    self.by-version."kbpgp"."2.0.50";
-  by-version."kbpgp"."2.0.50" = self.buildNodePackage {
-    name = "kbpgp-2.0.50";
-    version = "2.0.50";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/kbpgp/-/kbpgp-2.0.50.tgz";
-      name = "kbpgp-2.0.50.tgz";
-      sha1 = "b060d0e00f965001ea1dd59d64e597f8e060e10c";
-    };
-    deps = {
-      "bn-1.0.1" = self.by-version."bn"."1.0.1";
-      "bzip-deflate-1.0.0" = self.by-version."bzip-deflate"."1.0.0";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "keybase-ecurve-1.0.0" = self.by-version."keybase-ecurve"."1.0.0";
-      "keybase-nacl-1.0.1" = self.by-version."keybase-nacl"."1.0.1";
-      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
-      "purepack-1.0.4" = self.by-version."purepack"."1.0.4";
-      "triplesec-3.0.25" = self.by-version."triplesec"."3.0.25";
-      "tweetnacl-0.13.3" = self.by-version."tweetnacl"."0.13.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kbpgp".">=2.0.46" =
-    self.by-version."kbpgp"."2.0.50";
-  "kbpgp" = self.by-version."kbpgp"."2.0.50";
-  by-spec."kbpgp"."^2.0.0" =
-    self.by-version."kbpgp"."2.0.50";
-  by-spec."keybase-ecurve"."^1.0.0" =
-    self.by-version."keybase-ecurve"."1.0.0";
-  by-version."keybase-ecurve"."1.0.0" = self.buildNodePackage {
-    name = "keybase-ecurve-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-ecurve/-/keybase-ecurve-1.0.0.tgz";
-      name = "keybase-ecurve-1.0.0.tgz";
-      sha1 = "c6bc72adda4603fd3184fee7e99694ed8fd69ad2";
-    };
-    deps = {
-      "bn-1.0.1" = self.by-version."bn"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keybase-installer"."1.0.2" =
-    self.by-version."keybase-installer"."1.0.2";
-  by-version."keybase-installer"."1.0.2" = self.buildNodePackage {
-    name = "keybase-installer-1.0.2";
-    version = "1.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-installer/-/keybase-installer-1.0.2.tgz";
-      name = "keybase-installer-1.0.2.tgz";
-      sha1 = "19a68b29ef7981daf8531a8f6fcfaffc885f7e6b";
-    };
-    deps = {
-      "badnode-1.0.1" = self.by-version."badnode"."1.0.1";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "gpg-wrapper-1.0.5" = self.by-version."gpg-wrapper"."1.0.5";
-      "iced-data-structures-0.0.5" = self.by-version."iced-data-structures"."0.0.5";
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-logger-0.0.6" = self.by-version."iced-logger"."0.0.6";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "iced-spawn-1.0.0" = self.by-version."iced-spawn"."1.0.0";
-      "iced-utils-0.1.23" = self.by-version."iced-utils"."0.1.23";
-      "keybase-path-0.0.15" = self.by-version."keybase-path"."0.0.15";
-      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
-      "progress-1.1.3" = self.by-version."progress"."1.1.3";
-      "request-2.69.0" = self.by-version."request"."2.69.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "keybase-installer" = self.by-version."keybase-installer"."1.0.2";
-  by-spec."keybase-nacl"."^1.0.0" =
-    self.by-version."keybase-nacl"."1.0.1";
-  by-version."keybase-nacl"."1.0.1" = self.buildNodePackage {
-    name = "keybase-nacl-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-nacl/-/keybase-nacl-1.0.1.tgz";
-      name = "keybase-nacl-1.0.1.tgz";
-      sha1 = "6047edb7baf241ac5c60cfc32e86512d69d652d3";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "tweetnacl-0.13.3" = self.by-version."tweetnacl"."0.13.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keybase-path"."0.0.16" =
-    self.by-version."keybase-path"."0.0.16";
-  by-version."keybase-path"."0.0.16" = self.buildNodePackage {
-    name = "keybase-path-0.0.16";
-    version = "0.0.16";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-path/-/keybase-path-0.0.16.tgz";
-      name = "keybase-path-0.0.16.tgz";
-      sha1 = "3d60804aa48274b628d802a212f5e0dfcc13acaa";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "keybase-path" = self.by-version."keybase-path"."0.0.16";
-  by-spec."keybase-path"."^0.0.15" =
-    self.by-version."keybase-path"."0.0.15";
-  by-version."keybase-path"."0.0.15" = self.buildNodePackage {
-    name = "keybase-path-0.0.15";
-    version = "0.0.15";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-path/-/keybase-path-0.0.15.tgz";
-      name = "keybase-path-0.0.15.tgz";
-      sha1 = "94b95448fc4edf73e096366279bd28a469d5f72f";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keybase-proofs"."^2.0.23" =
-    self.by-version."keybase-proofs"."2.0.47";
-  by-version."keybase-proofs"."2.0.47" = self.buildNodePackage {
-    name = "keybase-proofs-2.0.47";
-    version = "2.0.47";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/keybase-proofs/-/keybase-proofs-2.0.47.tgz";
-      name = "keybase-proofs-2.0.47.tgz";
-      sha1 = "27c4d9936b8740bc782038f9087d462a1e89b6e4";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "kbpgp-2.0.50" = self.by-version."kbpgp"."2.0.50";
-      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
-      "triplesec-3.0.25" = self.by-version."triplesec"."3.0.25";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keybase-proofs"."^2.0.46" =
-    self.by-version."keybase-proofs"."2.0.47";
-  "keybase-proofs" = self.by-version."keybase-proofs"."2.0.47";
-  by-spec."klaw"."^1.0.0" =
-    self.by-version."klaw"."1.1.3";
-  by-version."klaw"."1.1.3" = self.buildNodePackage {
-    name = "klaw-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/klaw/-/klaw-1.1.3.tgz";
-      name = "klaw-1.1.3.tgz";
-      sha1 = "7da33c6b42f9b3dc9cec00d17f13af017fcc2721";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libkeybase".">=1.2.19" =
-    self.by-version."libkeybase"."1.2.24";
-  by-version."libkeybase"."1.2.24" = self.buildNodePackage {
-    name = "libkeybase-1.2.24";
-    version = "1.2.24";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/libkeybase/-/libkeybase-1.2.24.tgz";
-      name = "libkeybase-1.2.24.tgz";
-      sha1 = "01bd5900eebad304c6ee906dad552ecc211ec989";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
-      "iced-logger-0.0.5" = self.by-version."iced-logger"."0.0.5";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "iced-utils-0.1.23" = self.by-version."iced-utils"."0.1.23";
-      "kbpgp-2.0.50" = self.by-version."kbpgp"."2.0.50";
-      "keybase-proofs-2.0.47" = self.by-version."keybase-proofs"."2.0.47";
-      "merkle-tree-0.0.14" = self.by-version."merkle-tree"."0.0.14";
-      "pgp-utils-0.0.28" = self.by-version."pgp-utils"."0.0.28";
-      "triplesec-3.0.25" = self.by-version."triplesec"."3.0.25";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "libkeybase" = self.by-version."libkeybase"."1.2.24";
-  by-spec."lru-cache"."^2.6.5" =
-    self.by-version."lru-cache"."2.7.3";
-  by-version."lru-cache"."2.7.3" = self.buildNodePackage {
-    name = "lru-cache-2.7.3";
-    version = "2.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
-      name = "lru-cache-2.7.3.tgz";
-      sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."marked".">= 0.2.7" =
-    self.by-version."marked"."0.3.5";
-  by-version."marked"."0.3.5" = self.buildNodePackage {
-    name = "marked-0.3.5";
-    version = "0.3.5";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/marked/-/marked-0.3.5.tgz";
-      name = "marked-0.3.5.tgz";
-      sha1 = "4113a15ac5d7bca158a5aae07224587b9fa15b94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merkle-tree"."0.0.14" =
-    self.by-version."merkle-tree"."0.0.14";
-  by-version."merkle-tree"."0.0.14" = self.buildNodePackage {
-    name = "merkle-tree-0.0.14";
-    version = "0.0.14";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/merkle-tree/-/merkle-tree-0.0.14.tgz";
-      name = "merkle-tree-0.0.14.tgz";
-      sha1 = "584c3b05beaf7d482fbd4c6a868e8c35a581a7ef";
-    };
-    deps = {
-      "deep-equal-0.2.2" = self.by-version."deep-equal"."0.2.2";
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "iced-utils-0.1.23" = self.by-version."iced-utils"."0.1.23";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "merkle-tree" = self.by-version."merkle-tree"."0.0.14";
-  by-spec."mime-db"."~1.21.0" =
-    self.by-version."mime-db"."1.21.0";
-  by-version."mime-db"."1.21.0" = self.buildNodePackage {
-    name = "mime-db-1.21.0";
-    version = "1.21.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.21.0.tgz";
-      name = "mime-db-1.21.0.tgz";
-      sha1 = "9b5239e3353cf6eb015a00d890261027c36d4bac";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."^2.1.3" =
-    self.by-version."mime-types"."2.1.9";
-  by-version."mime-types"."2.1.9" = self.buildNodePackage {
-    name = "mime-types-2.1.9";
-    version = "2.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.9.tgz";
-      name = "mime-types-2.1.9.tgz";
-      sha1 = "dfb396764b5fdf75be34b1f4104bc3687fb635f8";
-    };
-    deps = {
-      "mime-db-1.21.0" = self.by-version."mime-db"."1.21.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."~2.1.7" =
-    self.by-version."mime-types"."2.1.9";
-  by-spec."minimatch"."2 || 3" =
-    self.by-version."minimatch"."3.0.0";
-  by-version."minimatch"."3.0.0" = self.buildNodePackage {
-    name = "minimatch-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz";
-      name = "minimatch-3.0.0.tgz";
-      sha1 = "5236157a51e4f004c177fb3c527ff7dd78f0ef83";
-    };
-    deps = {
-      "brace-expansion-1.1.2" = self.by-version."brace-expansion"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist".">=0.0.8" =
-    self.by-version."minimist"."1.2.0";
-  by-version."minimist"."1.2.0" = self.buildNodePackage {
-    name = "minimist-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
-      name = "minimist-1.2.0.tgz";
-      sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."~0.0.1" =
-    self.by-version."minimist"."0.0.10";
-  by-version."minimist"."0.0.10" = self.buildNodePackage {
-    name = "minimist-0.0.10";
-    version = "0.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
-      name = "minimist-0.0.10.tgz";
-      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-      name = "mkdirp-0.3.5.tgz";
-      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mkdirp" = self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."~0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."more-entropy".">=0.0.7" =
-    self.by-version."more-entropy"."0.0.7";
-  by-version."more-entropy"."0.0.7" = self.buildNodePackage {
-    name = "more-entropy-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/more-entropy/-/more-entropy-0.0.7.tgz";
-      name = "more-entropy-0.0.7.tgz";
-      sha1 = "67bfc6f7a86f26fbc37aac83fd46d88c61d109b5";
-    };
-    deps = {
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."~0.0.4" =
-    self.by-version."mute-stream"."0.0.5";
-  by-version."mute-stream"."0.0.5" = self.buildNodePackage {
-    name = "mute-stream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
-      name = "mute-stream-0.0.5.tgz";
-      sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."network-byte-order"."~0.2.0" =
-    self.by-version."network-byte-order"."0.2.0";
-  by-version."network-byte-order"."0.2.0" = self.buildNodePackage {
-    name = "network-byte-order-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/network-byte-order/-/network-byte-order-0.2.0.tgz";
-      name = "network-byte-order-0.2.0.tgz";
-      sha1 = "6ac11bf44bf610daeddbe90a09a5c817c6e0d2b3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."~1.4.7" =
-    self.by-version."node-uuid"."1.4.7";
-  by-version."node-uuid"."1.4.7" = self.buildNodePackage {
-    name = "node-uuid-1.4.7";
-    version = "1.4.7";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
-      name = "node-uuid-1.4.7.tgz";
-      sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.8.0" =
-    self.by-version."oauth-sign"."0.8.1";
-  by-version."oauth-sign"."0.8.1" = self.buildNodePackage {
-    name = "oauth-sign-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.1.tgz";
-      name = "oauth-sign-0.8.1.tgz";
-      sha1 = "182439bdb91378bf7460e75c64ea43e6448def06";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.3";
-  by-version."once"."1.3.3" = self.buildNodePackage {
-    name = "once-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/once/-/once-1.3.3.tgz";
-      name = "once-1.3.3.tgz";
-      sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
-    };
-    deps = {
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."0.6.1" =
-    self.by-version."optimist"."0.6.1";
-  by-version."optimist"."0.6.1" = self.buildNodePackage {
-    name = "optimist-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
-      name = "optimist-0.6.1.tgz";
-      sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "optimist" = self.by-version."optimist"."0.6.1";
-  by-spec."path-is-absolute"."^1.0.0" =
-    self.by-version."path-is-absolute"."1.0.0";
-  by-version."path-is-absolute"."1.0.0" = self.buildNodePackage {
-    name = "path-is-absolute-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz";
-      name = "path-is-absolute-1.0.0.tgz";
-      sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pgp-utils"."0.0.27" =
-    self.by-version."pgp-utils"."0.0.27";
-  by-version."pgp-utils"."0.0.27" = self.buildNodePackage {
-    name = "pgp-utils-0.0.27";
-    version = "0.0.27";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.27.tgz";
-      name = "pgp-utils-0.0.27.tgz";
-      sha1 = "3c9afdc0c5d0674bd78ed5009e2d0aec20be32b3";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pgp-utils".">=0.0.21" =
-    self.by-version."pgp-utils"."0.0.28";
-  by-version."pgp-utils"."0.0.28" = self.buildNodePackage {
-    name = "pgp-utils-0.0.28";
-    version = "0.0.28";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pgp-utils/-/pgp-utils-0.0.28.tgz";
-      name = "pgp-utils-0.0.28.tgz";
-      sha1 = "fe29f874cb3f32d75daac79a33661b831a2e3add";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pgp-utils".">=0.0.22" =
-    self.by-version."pgp-utils"."0.0.28";
-  by-spec."pgp-utils".">=0.0.28" =
-    self.by-version."pgp-utils"."0.0.28";
-  "pgp-utils" = self.by-version."pgp-utils"."0.0.28";
-  by-spec."pgp-utils".">=0.0.8" =
-    self.by-version."pgp-utils"."0.0.28";
-  by-spec."pinkie"."^2.0.0" =
-    self.by-version."pinkie"."2.0.4";
-  by-version."pinkie"."2.0.4" = self.buildNodePackage {
-    name = "pinkie-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
-      name = "pinkie-2.0.4.tgz";
-      sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pinkie-promise"."^2.0.0" =
-    self.by-version."pinkie-promise"."2.0.0";
-  by-version."pinkie-promise"."2.0.0" = self.buildNodePackage {
-    name = "pinkie-promise-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz";
-      name = "pinkie-promise-2.0.0.tgz";
-      sha1 = "4c83538de1f6e660c29e0a13446844f7a7e88259";
-    };
-    deps = {
-      "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkginfo"."0.3.x" =
-    self.by-version."pkginfo"."0.3.1";
-  by-version."pkginfo"."0.3.1" = self.buildNodePackage {
-    name = "pkginfo-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz";
-      name = "pkginfo-0.3.1.tgz";
-      sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."process-nextick-args"."~1.0.6" =
-    self.by-version."process-nextick-args"."1.0.6";
-  by-version."process-nextick-args"."1.0.6" = self.buildNodePackage {
-    name = "process-nextick-args-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz";
-      name = "process-nextick-args-1.0.6.tgz";
-      sha1 = "0f96b001cea90b12592ce566edb97ec11e69bd05";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."progress"."1.1.3" =
-    self.by-version."progress"."1.1.3";
-  by-version."progress"."1.1.3" = self.buildNodePackage {
-    name = "progress-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/progress/-/progress-1.1.3.tgz";
-      name = "progress-1.1.3.tgz";
-      sha1 = "42f89c5fc3b6f0408a0bdd68993b174f96aababf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "progress" = self.by-version."progress"."1.1.3";
-  by-spec."progress"."~1.1.2" =
-    self.by-version."progress"."1.1.8";
-  by-version."progress"."1.1.8" = self.buildNodePackage {
-    name = "progress-1.1.8";
-    version = "1.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
-      name = "progress-1.1.8.tgz";
-      sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."purepack"."1.0.1" =
-    self.by-version."purepack"."1.0.1";
-  by-version."purepack"."1.0.1" = self.buildNodePackage {
-    name = "purepack-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/purepack/-/purepack-1.0.1.tgz";
-      name = "purepack-1.0.1.tgz";
-      sha1 = "9592f35bc22279a777885d3de04acc3555994f68";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "purepack" = self.by-version."purepack"."1.0.1";
-  by-spec."purepack".">=1" =
-    self.by-version."purepack"."1.0.4";
-  by-version."purepack"."1.0.4" = self.buildNodePackage {
-    name = "purepack-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/purepack/-/purepack-1.0.4.tgz";
-      name = "purepack-1.0.4.tgz";
-      sha1 = "086282fd939285f58664ba9a9bba31cdb165ccd2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."purepack".">=1.0.4" =
-    self.by-version."purepack"."1.0.4";
-  by-spec."qs"."~6.0.2" =
-    self.by-version."qs"."6.0.2";
-  by-version."qs"."6.0.2" = self.buildNodePackage {
-    name = "qs-6.0.2";
-    version = "6.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-6.0.2.tgz";
-      name = "qs-6.0.2.tgz";
-      sha1 = "88c68d590e8ed56c76c79f352c17b982466abfcd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read"."keybase/read" =
-    self.by-version."read"."1.0.5";
-  by-version."read"."1.0.5" = self.buildNodePackage {
-    name = "read-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchgit {
-      url = "git://github.com/keybase/read";
-      rev = "740ae6a1a72a96984ae3527eb0ce0066c9fc8d47";
-      sha256 = "927ce6e6e88c80c54b434261afb5717630568b6979afffc6828c4fc0335e22ec";
-    };
-    deps = {
-      "mute-stream-0.0.5" = self.by-version."mute-stream"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "read" = self.by-version."read"."1.0.5";
-  by-spec."readable-stream"."1.1" =
-    self.by-version."readable-stream"."1.1.13";
-  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
-    name = "readable-stream-1.1.13";
-    version = "1.1.13";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
-      name = "readable-stream-1.1.13.tgz";
-      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."~2.0.5" =
-    self.by-version."readable-stream"."2.0.5";
-  by-version."readable-stream"."2.0.5" = self.buildNodePackage {
-    name = "readable-stream-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz";
-      name = "readable-stream-2.0.5.tgz";
-      sha1 = "a2426f8dcd4551c77a33f96edf2886a23c829669";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "process-nextick-args-1.0.6" = self.by-version."process-nextick-args"."1.0.6";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."^2.58.0" =
-    self.by-version."request"."2.69.0";
-  by-version."request"."2.69.0" = self.buildNodePackage {
-    name = "request-2.69.0";
-    version = "2.69.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.69.0.tgz";
-      name = "request-2.69.0.tgz";
-      sha1 = "cf91d2e000752b1217155c005241911991a2346a";
-    };
-    deps = {
-      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
-      "aws4-1.2.1" = self.by-version."aws4"."1.2.1";
-      "bl-1.0.2" = self.by-version."bl"."1.0.2";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc3" = self.by-version."form-data"."1.0.0-rc3";
-      "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
-      "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.9" = self.by-version."mime-types"."2.1.9";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "oauth-sign-0.8.1" = self.by-version."oauth-sign"."0.8.1";
-      "qs-6.0.2" = self.by-version."qs"."6.0.2";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
-      "tunnel-agent-0.4.2" = self.by-version."tunnel-agent"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "request" = self.by-version."request"."2.69.0";
-  by-spec."rimraf"."^2.2.8" =
-    self.by-version."rimraf"."2.5.1";
-  by-version."rimraf"."2.5.1" = self.buildNodePackage {
-    name = "rimraf-2.5.1";
-    version = "2.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.5.1.tgz";
-      name = "rimraf-2.5.1.tgz";
-      sha1 = "52e1e946f3f9b9b0d5d8988ba3191aaf2a2dbd43";
-    };
-    deps = {
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver".">=1" =
-    self.by-version."semver"."5.1.0";
-  by-version."semver"."5.1.0" = self.buildNodePackage {
-    name = "semver-5.1.0";
-    version = "5.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz";
-      name = "semver-5.1.0.tgz";
-      sha1 = "85f2cf8550465c4df000cf7d86f6b054106ab9e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver".">=2.2.1" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."^4.0.0" =
-    self.by-version."semver"."4.3.6";
-  by-version."semver"."4.3.6" = self.buildNodePackage {
-    name = "semver-4.3.6";
-    version = "4.3.6";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
-      name = "semver-4.3.6.tgz";
-      sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "semver" = self.by-version."semver"."4.3.6";
-  by-spec."sntp"."1.x.x" =
-    self.by-version."sntp"."1.0.9";
-  by-version."sntp"."1.0.9" = self.buildNodePackage {
-    name = "sntp-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
-      name = "sntp-1.0.9.tgz";
-      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socks5-client"."0.x" =
-    self.by-version."socks5-client"."0.3.6";
-  by-version."socks5-client"."0.3.6" = self.buildNodePackage {
-    name = "socks5-client-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socks5-client/-/socks5-client-0.3.6.tgz";
-      name = "socks5-client-0.3.6.tgz";
-      sha1 = "4205b5791f2df77cf07527222558fe4e46aca2f1";
-    };
-    deps = {
-      "ipv6-3.1.3" = self.by-version."ipv6"."3.1.3";
-      "network-byte-order-0.2.0" = self.by-version."network-byte-order"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socks5-client"."^0.3.6" =
-    self.by-version."socks5-client"."0.3.6";
-  "socks5-client" = self.by-version."socks5-client"."0.3.6";
-  by-spec."socks5-client"."~0.3.4" =
-    self.by-version."socks5-client"."0.3.6";
-  by-spec."socks5-http-client"."^0.1.6" =
-    self.by-version."socks5-http-client"."0.1.6";
-  by-version."socks5-http-client"."0.1.6" = self.buildNodePackage {
-    name = "socks5-http-client-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socks5-http-client/-/socks5-http-client-0.1.6.tgz";
-      name = "socks5-http-client-0.1.6.tgz";
-      sha1 = "a915ba75573787876e5d3756ee4a81d60cd4b69b";
-    };
-    deps = {
-      "socks5-client-0.3.6" = self.by-version."socks5-client"."0.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "socks5-http-client" = self.by-version."socks5-http-client"."0.1.6";
-  by-spec."socks5-https-client"."^0.2.2" =
-    self.by-version."socks5-https-client"."0.2.2";
-  by-version."socks5-https-client"."0.2.2" = self.buildNodePackage {
-    name = "socks5-https-client-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socks5-https-client/-/socks5-https-client-0.2.2.tgz";
-      name = "socks5-https-client-0.2.2.tgz";
-      sha1 = "b855e950e97c4fa6bca72a108f00278d33ac91d1";
-    };
-    deps = {
-      "socks5-client-0.3.6" = self.by-version."socks5-client"."0.3.6";
-      "starttls-0.2.1" = self.by-version."starttls"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "socks5-https-client" = self.by-version."socks5-https-client"."0.2.2";
-  by-spec."spotty"."^1.0.0" =
-    self.by-version."spotty"."1.0.0";
-  by-version."spotty"."1.0.0" = self.buildNodePackage {
-    name = "spotty-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/spotty/-/spotty-1.0.0.tgz";
-      name = "spotty-1.0.0.tgz";
-      sha1 = "05bb5152b3dd0744a341764db5fcf8e47943e678";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "spotty" = self.by-version."spotty"."1.0.0";
-  by-spec."sprintf"."0.1.x" =
-    self.by-version."sprintf"."0.1.5";
-  by-version."sprintf"."0.1.5" = self.buildNodePackage {
-    name = "sprintf-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz";
-      name = "sprintf-0.1.5.tgz";
-      sha1 = "8f83e39a9317c1a502cb7db8050e51c679f6edcf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sshpk"."^1.7.0" =
-    self.by-version."sshpk"."1.7.3";
-  by-version."sshpk"."1.7.3" = self.buildNodePackage {
-    name = "sshpk-1.7.3";
-    version = "1.7.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sshpk/-/sshpk-1.7.3.tgz";
-      name = "sshpk-1.7.3.tgz";
-      sha1 = "caa8ef95e30765d856698b7025f9f211ab65962f";
-    };
-    deps = {
-      "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "dashdash-1.12.2" = self.by-version."dashdash"."1.12.2";
-    };
-    optionalDependencies = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-      "tweetnacl-0.13.3" = self.by-version."tweetnacl"."0.13.3";
-      "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
-      "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stack-trace"."0.0.x" =
-    self.by-version."stack-trace"."0.0.9";
-  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
-    name = "stack-trace-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-      name = "stack-trace-0.0.9.tgz";
-      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."starttls"."0.x" =
-    self.by-version."starttls"."0.2.1";
-  by-version."starttls"."0.2.1" = self.buildNodePackage {
-    name = "starttls-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/starttls/-/starttls-0.2.1.tgz";
-      name = "starttls-0.2.1.tgz";
-      sha1 = "b98d3e5e778d46f199c843a64f889f0347c6d19a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.31";
-  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
-    name = "string_decoder-0.10.31";
-    version = "0.10.31";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-      name = "string_decoder-0.10.31.tgz";
-      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stringstream"."~0.0.4" =
-    self.by-version."stringstream"."0.0.5";
-  by-version."stringstream"."0.0.5" = self.buildNodePackage {
-    name = "stringstream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
-      name = "stringstream-0.0.5.tgz";
-      sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^3.0.0" =
-    self.by-version."strip-ansi"."3.0.0";
-  by-version."strip-ansi"."3.0.0" = self.buildNodePackage {
-    name = "strip-ansi-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz";
-      name = "strip-ansi-3.0.0.tgz";
-      sha1 = "7510b665567ca914ccb5d7e072763ac968be3724";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^2.0.0" =
-    self.by-version."supports-color"."2.0.0";
-  by-version."supports-color"."2.0.0" = self.buildNodePackage {
-    name = "supports-color-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-      name = "supports-color-2.0.0.tgz";
-      sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tablify"."0.1.5" =
-    self.by-version."tablify"."0.1.5";
-  by-version."tablify"."0.1.5" = self.buildNodePackage {
-    name = "tablify-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tablify/-/tablify-0.1.5.tgz";
-      name = "tablify-0.1.5.tgz";
-      sha1 = "47160ce2918be291d63cecceddb5254dd72982c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "tablify" = self.by-version."tablify"."0.1.5";
-  by-spec."tablify".">=0.1.5" =
-    self.by-version."tablify"."0.1.5";
-  by-spec."timeago"."0.1.0" =
-    self.by-version."timeago"."0.1.0";
-  by-version."timeago"."0.1.0" = self.buildNodePackage {
-    name = "timeago-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/timeago/-/timeago-0.1.0.tgz";
-      name = "timeago-0.1.0.tgz";
-      sha1 = "21176a84d469be35ee431c5c48c0b6aba1f72464";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "timeago" = self.by-version."timeago"."0.1.0";
-  by-spec."tough-cookie"."~2.2.0" =
-    self.by-version."tough-cookie"."2.2.1";
-  by-version."tough-cookie"."2.2.1" = self.buildNodePackage {
-    name = "tough-cookie-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz";
-      name = "tough-cookie-2.2.1.tgz";
-      sha1 = "3b0516b799e70e8164436a1446e7e5877fda118e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."triplesec".">=3.0.16" =
-    self.by-version."triplesec"."3.0.25";
-  by-version."triplesec"."3.0.25" = self.buildNodePackage {
-    name = "triplesec-3.0.25";
-    version = "3.0.25";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/triplesec/-/triplesec-3.0.25.tgz";
-      name = "triplesec-3.0.25.tgz";
-      sha1 = "c66833548646effbd031de01dde4ed0721aaad58";
-    };
-    deps = {
-      "iced-error-0.0.9" = self.by-version."iced-error"."0.0.9";
-      "iced-lock-1.0.1" = self.by-version."iced-lock"."1.0.1";
-      "iced-runtime-1.0.3" = self.by-version."iced-runtime"."1.0.3";
-      "more-entropy-0.0.7" = self.by-version."more-entropy"."0.0.7";
-      "progress-1.1.8" = self.by-version."progress"."1.1.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "triplesec" = self.by-version."triplesec"."3.0.25";
-  by-spec."triplesec".">=3.0.19" =
-    self.by-version."triplesec"."3.0.25";
-  by-spec."triplesec"."^3.0.19" =
-    self.by-version."triplesec"."3.0.25";
-  by-spec."tunnel-agent"."~0.4.1" =
-    self.by-version."tunnel-agent"."0.4.2";
-  by-version."tunnel-agent"."0.4.2" = self.buildNodePackage {
-    name = "tunnel-agent-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz";
-      name = "tunnel-agent-0.4.2.tgz";
-      sha1 = "1104e3f36ac87125c287270067d582d18133bfee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tweetnacl".">=0.13.0 <1.0.0" =
-    self.by-version."tweetnacl"."0.13.3";
-  by-version."tweetnacl"."0.13.3" = self.buildNodePackage {
-    name = "tweetnacl-0.13.3";
-    version = "0.13.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz";
-      name = "tweetnacl-0.13.3.tgz";
-      sha1 = "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tweetnacl"."^0.13.1" =
-    self.by-version."tweetnacl"."0.13.3";
-  by-spec."underscore".">= 1.0.0" =
-    self.by-version."underscore"."1.8.3";
-  by-version."underscore"."1.8.3" = self.buildNodePackage {
-    name = "underscore-1.8.3";
-    version = "1.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-      name = "underscore-1.8.3.tgz";
-      sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."~1.4" =
-    self.by-version."underscore"."1.4.4";
-  by-version."underscore"."1.4.4" = self.buildNodePackage {
-    name = "underscore-1.4.4";
-    version = "1.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-      name = "underscore-1.4.4.tgz";
-      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."~1.4.3" =
-    self.by-version."underscore"."1.4.4";
-  by-spec."underscore.string"."~2.3.1" =
-    self.by-version."underscore.string"."2.3.3";
-  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
-    name = "underscore.string-2.3.3";
-    version = "2.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-      name = "underscore.string-2.3.3.tgz";
-      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util-deprecate"."~1.0.1" =
-    self.by-version."util-deprecate"."1.0.2";
-  by-version."util-deprecate"."1.0.2" = self.buildNodePackage {
-    name = "util-deprecate-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-      name = "util-deprecate-1.0.2.tgz";
-      sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."1.3.6" =
-    self.by-version."verror"."1.3.6";
-  by-version."verror"."1.3.6" = self.buildNodePackage {
-    name = "verror-1.3.6";
-    version = "1.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
-      name = "verror-1.3.6.tgz";
-      sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
-    };
-    deps = {
-      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."0.8.x" =
-    self.by-version."winston"."0.8.3";
-  by-version."winston"."0.8.3" = self.buildNodePackage {
-    name = "winston-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/winston/-/winston-0.8.3.tgz";
-      name = "winston-0.8.3.tgz";
-      sha1 = "64b6abf4cd01adcaefd5009393b1d8e8bec19db0";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."~0.0.2" =
-    self.by-version."wordwrap"."0.0.3";
-  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
-    name = "wordwrap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-      name = "wordwrap-0.0.3.tgz";
-      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wrappy"."1" =
-    self.by-version."wrappy"."1.0.1";
-  by-version."wrappy"."1.0.1" = self.buildNodePackage {
-    name = "wrappy-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
-      name = "wrappy-1.0.1.tgz";
-      sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xtend"."^4.0.0" =
-    self.by-version."xtend"."4.0.1";
-  by-version."xtend"."4.0.1" = self.buildNodePackage {
-    name = "xtend-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
-      name = "xtend-4.0.1.tgz";
-      sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
diff --git a/pkgs/applications/misc/navit/default.nix b/pkgs/applications/misc/navit/default.nix
index 5f70d4b5c44..53b1106a223 100644
--- a/pkgs/applications/misc/navit/default.nix
+++ b/pkgs/applications/misc/navit/default.nix
@@ -11,9 +11,12 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  # 'cvs' is only for the autogen
-  buildInputs = [ pkgconfig gtk SDL fontconfig freetype imlib2 SDL_image mesa
-    libXmu freeglut python gettext quesoglc gd postgresql cmake qt4 SDL_ttf fribidi ];
+  buildInputs = [ gtk SDL fontconfig freetype imlib2 SDL_image mesa
+    libXmu freeglut python gettext quesoglc gd postgresql qt4 SDL_ttf fribidi ];
+
+  nativeBuildInputs = [ pkgconfig cmake ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
 
   cmakeFlags = [ "-DSAMPLE_MAP=n" ];
 
diff --git a/pkgs/applications/misc/xsw/default.nix b/pkgs/applications/misc/xsw/default.nix
index 57ea8fe1921..b3a57e1cef2 100644
--- a/pkgs/applications/misc/xsw/default.nix
+++ b/pkgs/applications/misc/xsw/default.nix
@@ -1,6 +1,9 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake, SDL, SDL_image, SDL_ttf, SDL_gfx, flex, bison }:
+{ stdenv, lib, fetchFromGitHub, pkgconfig, SDL, SDL_image, SDL_ttf, SDL_gfx, flex, bison }:
 
-stdenv.mkDerivation rec {
+let
+  makeSDLFlags = map (p: "-I${lib.getDev p}/include/SDL");
+
+in stdenv.mkDerivation rec {
   name = "xsw-${version}";
   version = "0.1.2";
 
@@ -11,7 +14,11 @@ stdenv.mkDerivation rec {
     sha256 = "092vp61ngd2vscsvyisi7dv6qrk5m1i81gg19hyfl5qvjq5p0p8g";
   };
 
-  buildInputs = [ pkgconfig autoconf automake SDL SDL_image SDL_ttf SDL_gfx flex bison ];
+  nativeBuildInputs = [ SDL SDL_image SDL_ttf SDL_gfx flex bison ];
+
+  buildInputs = [ pkgconfig ];
+
+  NIX_CFLAGS_COMPILE = makeSDLFlags [ SDL SDL_image SDL_ttf SDL_gfx ];
 
   patches = [
     ./parse.patch # Fixes compilation error by avoiding redundant definitions.
diff --git a/pkgs/applications/misc/zathura/builder.sh b/pkgs/applications/misc/zathura/builder.sh
deleted file mode 100644
index 149481367b4..00000000000
--- a/pkgs/applications/misc/zathura/builder.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-source $stdenv/setup
-
-mkdir -pv $out/bin/
-mkdir -pv $out/share/
-mkdir -pv $out/share/applications/
-mkdir -pv $out/share/pixmaps/
-
-cat > $out/bin/zathura <<EOF
-#!/bin/sh
-exec $zathura_core/bin/zathura --plugins-dir=$plugins_path "\$@"
-EOF
-
-cp -rv $zathura_core/share/man $out/share
-cp -rv $zathura_core/share/locale $out/share
-cp -rv $icon $out/share/pixmaps/pwmt.xpm
-
-cat $zathura_core/share/applications/zathura.desktop > $out/share/applications/zathura.desktop
-echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
-
-chmod 755 $out/bin/zathura
-
diff --git a/pkgs/applications/misc/zathura/core/default.nix b/pkgs/applications/misc/zathura/core/default.nix
index dbb406a23e6..4995c425699 100644
--- a/pkgs/applications/misc/zathura/core/default.nix
+++ b/pkgs/applications/misc/zathura/core/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils, file, makeWrapper, zathura_icon, sqlite, glib
-, synctexSupport ? true, texlive ? null
-}:
+{ stdenv, lib, fetchurl, pkgconfig, gtk, girara, ncurses, gettext, docutils
+, file, makeWrapper, sqlite, glib
+, synctexSupport ? true, texlive ? null }:
 
 assert synctexSupport -> texlive != null;
 
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "0fyb5hak0knqvg90rmdavwcmilhnrwgg1s5ykx9wd3skbpi8nsh8";
   };
 
+  icon = ./icon.xpm;
+
   buildInputs = [ pkgconfig file gtk girara gettext makeWrapper sqlite glib
   ] ++ lib.optional synctexSupport texlive.bin.core;
 
@@ -27,23 +29,20 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     wrapProgram "$out/bin/zathura" \
-      --prefix PATH ":" "${file}/bin" \
+      --prefix PATH ":" "${lib.makeBinPath [ file ]}" \
       --prefix XDG_CONFIG_DIRS ":" "$out/etc"
 
+    install -Dm644 $icon $out/share/pixmaps/pwmt.xpm
     mkdir -pv $out/etc
-    echo "set window-icon ${zathura_icon}" > $out/etc/zathurarc
+    echo "set window-icon $out/share/pixmaps/pwmt.xpm" > $out/etc/zathurarc
+    echo "Icon=pwmt" >> $out/share/applications/zathura.desktop
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://pwmt.org/projects/zathura/;
     description = "A core component for zathura PDF viewer";
-    license = stdenv.lib.licenses.zlib;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
-
-    # Set lower priority in order to provide user with a wrapper script called
-    # 'zathura' instead of real zathura executable. The wrapper will build
-    # plugin path argument before executing the original.
-    priority = 1;
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ garbas ];
   };
 }
diff --git a/pkgs/applications/misc/zathura/icon.xpm b/pkgs/applications/misc/zathura/core/icon.xpm
index a863c5ddb09..a863c5ddb09 100644
--- a/pkgs/applications/misc/zathura/icon.xpm
+++ b/pkgs/applications/misc/zathura/core/icon.xpm
diff --git a/pkgs/applications/misc/zathura/default.nix b/pkgs/applications/misc/zathura/default.nix
index ed121be6dcd..e67bebb3710 100644
--- a/pkgs/applications/misc/zathura/default.nix
+++ b/pkgs/applications/misc/zathura/default.nix
@@ -1,59 +1,30 @@
-{ callPackage, lib, pkgs, fetchurl, stdenv, useMupdf, synctexSupport ? true }:
+{ pkgs, useMupdf ? true, synctexSupport ? true }:
 
-rec {
-  inherit stdenv;
+let
+  callPackage = pkgs.newScope self;
 
-  icon = ./icon.xpm;
-
-  zathura_core = callPackage ./core {
-    gtk = pkgs.gtk3;
-    zathura_icon = icon;
-    inherit synctexSupport;
-  };
-
-  zathura_pdf_poppler = callPackage ./pdf-poppler { };
-
-  zathura_pdf_mupdf = callPackage ./pdf-mupdf {
-    gtk = pkgs.gtk3;
-  };
-
-  zathura_djvu = callPackage ./djvu {
+  self = rec {
     gtk = pkgs.gtk3;
-  };
 
-  zathura_ps = callPackage ./ps {
-    gtk = pkgs.gtk3;
-  };
-
-  zathuraWrapper = stdenv.mkDerivation {
-
-    inherit zathura_core icon;
+    zathura_core = callPackage ./core {
+      inherit synctexSupport;
+    };
 
-    name = "zathura-${zathura_core.version}";
+    zathura_pdf_poppler = callPackage ./pdf-poppler { };
 
-    plugins_path = stdenv.lib.makeLibraryPath [
-      zathura_djvu
-      zathura_ps
-      (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
-    ];
+    zathura_pdf_mupdf = callPackage ./pdf-mupdf { };
 
-    builder = ./builder.sh;
+    zathura_djvu = callPackage ./djvu { };
 
-    preferLocalBuild = true;
+    zathura_ps = callPackage ./ps { };
 
-    meta = with lib; {
-      homepage = http://pwmt.org/projects/zathura/;
-      description = "A highly customizable and functional PDF viewer";
-      longDescription = ''
-        Zathura is a highly customizable and functional PDF viewer based on the
-        poppler rendering library and the gtk+ toolkit. The idea behind zathura
-        is an application that provides a minimalistic and space saving interface
-        as well as an easy usage that mainly focuses on keyboard interaction.
-      '';
-      license = licenses.zlib;
-      platforms = platforms.linux;
-      maintainers = with maintainers;[ garbas smironov ];
+    zathuraWrapper = callPackage ./wrapper.nix {
+      plugins = [
+        zathura_djvu
+        zathura_ps
+        (if useMupdf then zathura_pdf_mupdf else zathura_pdf_poppler)
+      ];
     };
   };
-}
 
+in self.zathuraWrapper
diff --git a/pkgs/applications/misc/zathura/djvu/default.nix b/pkgs/applications/misc/zathura/djvu/default.nix
index 21e482b1fd2..2e644453dcb 100644
--- a/pkgs/applications/misc/zathura/djvu/default.nix
+++ b/pkgs/applications/misc/zathura/djvu/default.nix
@@ -12,18 +12,18 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gtkflags.patch ];
 
-  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://pwmt.org/projects/zathura/;
     description = "A zathura DJVU plugin";
     longDescription = ''
-	  The zathura-djvu plugin adds DjVu support to zathura by using the
-	  djvulibre library.
+      The zathura-djvu plugin adds DjVu support to zathura by using the
+      djvulibre library.
     '';
-    license = stdenv.lib.licenses.zlib;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.garbas ];
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ garbas ];
   };
 }
 
diff --git a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
index b8f75b7151f..a78c94173e4 100644
--- a/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-mupdf/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl, libjpeg, jbig2dec, openjpeg, fetchpatch}:
+{ stdenv, lib, fetchurl, pkgconfig, zathura_core, gtk, girara, mupdf, openssl
+, libjpeg, jbig2dec, openjpeg, fetchpatch }:
 
 stdenv.mkDerivation rec {
   version = "0.3.0";
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
 
   patches = [(fetchpatch {
     name = "mupdf-1.9.patch";
-    url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.9.patch?h=packages/zathura-pdf-mupdf";
+    url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.9.patch?h=packages/zathura-pdf-mupdf&id=385ad96261b7297fdebbee6f4b22ec20dda8d65e";
     sha256 = "185wgg0z4b0z5aybcnnyvbs50h43imn5xz3nqmya4rk4v5bwy49y";
   })];
 
diff --git a/pkgs/applications/misc/zathura/pdf-poppler/default.nix b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
index 6c390d1ed85..4912489d6b3 100644
--- a/pkgs/applications/misc/zathura/pdf-poppler/default.nix
+++ b/pkgs/applications/misc/zathura/pdf-poppler/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig poppler zathura_core girara ];
 
-  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
 
   meta = with lib; {
     homepage = http://pwmt.org/projects/zathura/;
diff --git a/pkgs/applications/misc/zathura/ps/default.nix b/pkgs/applications/misc/zathura/ps/default.nix
index 630f45a1e41..89d8d5badb0 100644
--- a/pkgs/applications/misc/zathura/ps/default.nix
+++ b/pkgs/applications/misc/zathura/ps/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./gtkflags.patch ];
 
-  makeFlags = "PREFIX=$(out) PLUGINDIR=$(out)/lib";
+  makeFlags = [ "PREFIX=$(out)" "PLUGINDIR=$(out)/lib" ];
 
   meta = with lib; {
     homepage = http://pwmt.org/projects/zathura/;
diff --git a/pkgs/applications/misc/zathura/wrapper.nix b/pkgs/applications/misc/zathura/wrapper.nix
new file mode 100644
index 00000000000..55ac9bd187a
--- /dev/null
+++ b/pkgs/applications/misc/zathura/wrapper.nix
@@ -0,0 +1,31 @@
+{ symlinkJoin, lib, makeWrapper, zathura_core, plugins ? [] }:
+
+let
+  pluginsPath = lib.makeLibraryPath plugins;
+
+in symlinkJoin {
+  name = "zathura-with-plugins-${zathura_core.version}";
+
+  paths = [ zathura_core ];
+
+  buildInputs = [ makeWrapper ];
+
+  postBuild = ''
+    wrapProgram $out/bin/zathura \
+      --add-flags --plugins-dir=${pluginsPath}
+  '';
+
+  meta = with lib; {
+    homepage = http://pwmt.org/projects/zathura/;
+    description = "A highly customizable and functional PDF viewer";
+    longDescription = ''
+      Zathura is a highly customizable and functional PDF viewer based on the
+      poppler rendering library and the gtk+ toolkit. The idea behind zathura
+      is an application that provides a minimalistic and space saving interface
+      as well as an easy usage that mainly focuses on keyboard interaction.
+    '';
+    license = licenses.zlib;
+    platforms = platforms.linux;
+    maintainers = with maintainers;[ garbas smironov ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index e55a599267a..973669f87cd 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -74,9 +74,8 @@ in stdenv.mkDerivation {
     browserBinary = "${chromium.browser}/libexec/chromium/chromium";
     getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")";
   in with stdenv.lib; ''
-    mkdir -p "$out/bin" "$out/share/applications"
+    mkdir -p "$out/bin"
 
-    ln -s "${chromium.browser}/share" "$out/share"
     eval makeWrapper "${browserBinary}" "$out/bin/chromium" \
       ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled}
 
@@ -100,7 +99,11 @@ in stdenv.mkDerivation {
     ln -sv "${chromium.browser.sandbox}" "$sandbox"
 
     ln -s "$out/bin/chromium" "$out/bin/chromium-browser"
-    ln -s "${chromium.browser}/share/icons" "$out/share/icons"
+
+    mkdir -p "$out/share/applications"
+    for f in '${chromium.browser}'/share/*; do
+      ln -s -t "$out/share/" "$f"
+    done
     cp -v "${desktopItem}/share/applications/"* "$out/share/applications"
   '';
 
diff --git a/pkgs/applications/networking/browsers/firefox-bin/sources.nix b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
index 6b801800504..b4e683372e1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/sources.nix
@@ -4,189 +4,189 @@
 # ruby generate_sources.rb 46.0.1 > sources.nix
 
 {
-  version = "48.0.1";
+  version = "48.0.2";
   sources = [
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "84d34e59d4eed11498b8a37e7bf2e0efc776a3598fd461f6a2930a1faede5f6578671ba40e50908b951eaafd91478eaa908d9ad40ea0e63d389ed4d8adea380b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ach/firefox-48.0.1.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "7cfa63cfc1f7c4b973d413cbca648b6bfbd97eb55de887db0e530ff0eaf61b5cea3f367f87b1e6894b40f8d5ad409dbe4ce7152c2c3ba9f02b82444a17c589e6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "298f0d9d022c746394ac6e5f9138a1fb228229022e12857101322295b86aaba71962a4d61839146006d21f2a3839355f7206b23c83a93d638c53344925fd0291"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/af/firefox-48.0.1.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "5edbd16925a0aaaaa944a42f04c53a13eebfae03163666d0095e41fc6525e11dba10e60c9b064c19cfa2337c21508178c403c30c250e3d23ffb29b98ad4c50ab"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "76d66deaef18fa92c29676b773947c8ca84a381c0e092e23ee74a5b7b66439f511e1164241f81c95ec4f1b13ab1e2a42d886ef199e9795896ac00deb35ad8863"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/an/firefox-48.0.1.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "a958efab67dccbdf74b486d5480185d04d4735f98549c1017ac72256b1cc62b10b746f938d3e29096d39a6e881caa68d6d164a4271adc5380182c8cd33b6e8b2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "d6e80f7898521fd1ea0e99984f5bbb6e7602ecd84d0ae8f81a09690794c7d35e13381fe7af7fefc8e116da32cebcee4022b8651c04fd0bb777a42e5a9b94a312"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ar/firefox-48.0.1.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "80f0a19ea99e6058c9f753441ca48dc1bbcf64190e9b1f2dd424c0b65d229cbc2badb33bc619d98506d3282484ad03933eed8a502c6606a41152e556861d8601"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "f4e580a52d0a1f0886f3bfedbf1dafed4322be6ccb219b76c52b73680dfeaa1a410c55d903918ac5e6592eab413354096a16f8aac2f70613355823ecbb86e976"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/as/firefox-48.0.1.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "b5fde624790b040ef3b87824582a7b6171aff5e2eb38a361bdde93b021250460e0e17ae0b62a2d6369a0ca56a830019291a84e238837fd503acd9ffb252a81aa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "1bfc20ecd519f479460401ee32687cfdb7330430be06ff69d4d5b5ef4141ed21695a88b4d43abe5c6b9c4f8a9156ec7038f93077aab5b466298b14a19ab0f116"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ast/firefox-48.0.1.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "5ab70b9517830367645b3bde761d048191a7d03b9c7610ea8ca131d9dc381326e069de8a74894f1aa415adeb15471656b5f7d5189651db40e33ad3df99b506a5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "37f1b6eb7e07a21b0fed9b987fad957ff737d76a55b8f7ad55479c62a9fdb75cbb365fc3af2203e6367ac995fd24d1a310173aedc388014413b5392f74652ffd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/az/firefox-48.0.1.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "4b3a2bf0579debd0de0bbeae80661bd8b78157a17c8024c2d894848c555a524cfea1fa2f99c45c194633a7eff64d0774f577f179e2c719ffc981142811c96869"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "b7d1b6bd405fa3a033c73939b07375ef21943a3543a0c99c511434e4ce289cbc4719d68e60ec98a6b643735ac50a59b70b1c76dcb3d9a17a97abb7668be66487"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/be/firefox-48.0.1.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "bee66588c5a28d614c4949a317bf0c8d9a0be484476f57383379768c0ce3b9c8c700b7477f006e369ad34e8190859c7047209509ad59d09da18bef1b069b22f3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "30d9f0f80a78e19dc24fd5a0e618b8b3f299eac429e4999f78832d5248fb6e229c342f202db0b2f6a5910dbb34e8f4388598c74739cebc895a393ad0f2b788f3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bg/firefox-48.0.1.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "cf3c0335e0be4bde722f94b41fec4a3d60eeadd6724d0905c33ad69c690c60ba555f132209868d1d9aa97c933775d5b9e399600fc4630573fbb9009643f875b8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "17f1bf0073299f5428b22420cf1891015c5443d36ae9ff1f63a36fcfeab4e156e5307d23856f10ae6fc554e95f42548b3c12ac57411ed6e4c5602e829f71f8e2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-BD/firefox-48.0.1.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "2a5920402029c072751540f1777b68fb35f56a68045c5ae7d6065d385bce78e735c5085541088eb626f575e8190daa1800768d7c7603c4fe9ccb316c0537c8c0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "f699ecb0a27d0ff47a1424152954f9207aa32ed44227e3b8b34bfbe45a4667a987de6d87eec5407cd52104dea454bae93f54c0f5972694b111ea4e12dcb8a556"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bn-IN/firefox-48.0.1.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "1657abce7f712f47f9c7b0c326f5885affc9f34729a3f23e050f64863a81312345f845f504b367098587a2e7fdfed135d21e82bf1f1ce8a1bdac96daf4588f57"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "d086ad6c4c9dd91043dffca2e94df0b35e9b4578fc4d013a06ecc35c4d7ba529a3f248fd91e0cc3e88330790ae97ea7d84f74ac01c88d43a6df68d0adfccd53d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/br/firefox-48.0.1.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "abb2bef102b4bd54ee916d36b88e5ac6417bf828a66740eaefdd160684e2b2a02d9b64cb3bb81b4a4917e38e68a7e2ab2ba4258ec12aa3e1b026f0a4bad43c23"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "8344d35edb7c4eba1e37f7c3b2f61d72f1ebf0d4f973d996704ce20460b6b91cc22f31cd92528d87a2e8915f287d2dac656aa8a09e54520abfed4af376caed1f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/bs/firefox-48.0.1.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "1519eded3832e950d7a11679c9897452510d40978283fa46f1637b9eeceda61350c5b70168a84ea7adae98c00dddb4e6e86e1bc81f01b6517861dbf88304f83a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "f4756c5d62f4a25c46be2ed264edd32e30d63e62029d9571de8ea6784edd12aca8b7a139f41d3ffd59ba72f3697a24a4767f29f11829d553eeafbdc5bc4944e5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ca/firefox-48.0.1.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "b495de2da2a287bd89f1cfdcc9cf618a70a22312997f1e56a4283556265edd057dffeb36c10a8c8cac7cb5ff992870f9acd53d3776ea8504279d0841ee71f884"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "ece0d38378cfefd940136f52bbcd94330335afa9fb70dd63dbdf59ad1f2c9cc5f233fc2ee2a8f6a19bb0196e3c59f59fa018f7da09a091e21e361b4c661364dd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cak/firefox-48.0.1.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "b1b3e74890bb30dd94a220b2ed25270de000bbd9e6ab018e57d141e8932c00acd9985c811fce61a463f7ba25c11fcb4457057d854266c56423db62865f3b9ba0"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "9a446072b3b48d343ca7ade8c5882ee0dae7e99ad41992e1ec6e080fd28f38031265d9e541e98614d92b048c2d61cef356d331aab1abc31f724593025dca46e2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cs/firefox-48.0.1.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "19e9e93827b675dfc1f0a88b244b884d2621d3adc85259ef754413f4bcd4dfbe7ddc784fa0b79b85b41ffb1ae65fe9d6c782a38d5f251077a8b1d25cdf523eb1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "70471edc640730e5372da974bca2acc0905b945eb9d8ae3a4b030f0624bcbc53fd212929854d527b078fe97b41f19f0051306e62a8338d72caba5f297a81b492"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/cy/firefox-48.0.1.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "787ade4530fa3e716e1e54c3f2214b2ca036d0956d41385abf93db12e2bf73b149c17274b25ea3581d0cbe59c1578d25926e599dccca24288bfd531810e39cac"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "2af48a7bad80828531e6e8d611a133f1cc43de844273ab28bbb972432f7607689d6f784ec02ba2e76f5580d46a814fa09ecbe15bea2b10407620c4d2c71253d6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/da/firefox-48.0.1.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "d42207aad951e0b96317b05f2439d635ae36cf12cd7e4b149dd59025109783181929b7435334384f16dab56b7b6309acd4530caaaa22eb41263406380dac2fc9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "495559f2c5a7c6e21e6887d0adbc5c39038eec7b5947885c8c11490a6078f87e264ef622a0df7b2ccc8942a990fa8b8b70387e54a56620222ac4acb5082a31e9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/de/firefox-48.0.1.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "0eacaa9d0a2bdbbf88aa183d10108c6df25c2f8fa60e37b16b639ace18d0f4882f535275d7f601cf452555786a7339780c94ddc7ed94135db588bc05afdc8077"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "5c6ae45ee257553c32c708f4f027e1e938bbdde9715bedd9da44339da1e599302f081ddc4cec418cc5e0f49b12ffd4f14c4b7fe2495569358452fe82f60ae68f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/dsb/firefox-48.0.1.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "6199a2cc832e07ec50bc1dad515e7e9dbf030cb89d450ce74cd695398e8028707bfd071cc5aaac61f77bc478ae08a7c512e01387c3d83fbf2401fb33176a3d31"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "32dcfebc7f9b7d1bb2b9d22fab37c1156ceea29af0b55e01566a11afc9e7f0e1c590f5edc54afd9546e545d83460c358363b627ef8b10513b11648b52fd2c131"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/el/firefox-48.0.1.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "de23bd4671544ab40dc5aa10271e9876f795c0ab10a9a91df7429471f14720244bc190770f50e0cf6e64cf069dcdadae235dcd0714bdf3120cb86c080035bb48"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "ce36e954a355769c771f90808c19c6043a64b91b0e5764eb5a0be22835f84b95ca05bf60c8bf23d1c22cee7cf53e1d6f088186c6fb112577343ffa1e905e8f4a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-GB/firefox-48.0.1.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "d666e4a0334ee1f5c779514ad02c7afea7ca0c096059a6c30380064f95ca31f1d54fc5e28ecc84dc07c0859eba1c7d8b28fd62d2c5d8e4ddefdec7f302f8c4eb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "efa20f6c66f837dccc6067f7ba67ff35313d49bdb200f6cd921135c380b4501d74e1ca2422d8193f74c2f32120b784539e3f42471ce6c17a3d660c8c1063c408"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-US/firefox-48.0.1.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "645240eb0c9d97a31444f43eb8e504b6cc7ac0b8dc7c835448818992b3a1d531eb6b4413270a1df4b93a93c70b248846a814e94ff4ae1f520bbb0e935f13e4ee"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "032fc4c1a6baffc23aa7673cdc6f3cb8c72fce43940cfb1efb94cbe5876035e7399dc81572588730cf26697234a7e091b726416f9de5bd8df8ffc242efc86d42"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/en-ZA/firefox-48.0.1.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "24acf09ee0810af0eab93fe3f9ef198e61f64b91ae207ab030b070c1fe2f7d2e509f341828e278529c5874cbc9984c070f831ce0db97419082bfe5d1d3aa9791"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "958c51d91df80ae93d334cf7b13239138f6f736b5eaba5eddeef49ad994da818f5fafb1eee3fe00c71dd1a678ac10e877cd563833edc9676459cbfe36cf1235a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eo/firefox-48.0.1.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "3d11d451a9d71afb68b03804ce1f60a773bc65bc611817d124aa762fe9c78797de4ea7271bdcb4a08abaaf883fdfe7a4687ed9f62424c0d0367ecffa5110ae6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "0149b3520256237c2bd246a37be79d33f59f3a80922538eb964d0823e527966230e35b43c1590acd6300545e16e4ffe62b4a8557f422c4c640a7c54c0a6ead46"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-AR/firefox-48.0.1.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "b1d50cc3efc94703b8c198df41ab9026efe818e0183baba85fbf141417f829f8ef93930b560ef915e25f67c29928d924cd2ea451283ab9c717b8f91592704f0c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "f9a68f02c20145a11c50384977dc62a83b6212a649e399c0922b3139c1c4e133fa76f14999f17fae4c992e28c60701639200d70f6daefbb6763606990597e725"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-CL/firefox-48.0.1.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "32d8ba95b573d8142dfc8e86688c01a91bb2fdca03bd4093255db0b8dc13ad8d0d0b3f2db05735e49a10f50cf6d77447b1b695a2cf1fea19203a06813aae1d72"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "5ebc55110682d4d033cac727ed769f9931a95782851a1945a70242d2fedafef5efe476b03721a7aa6c6c86a12296de72283cc9133d5ccebed4ac026e2e1d0dc1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-ES/firefox-48.0.1.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "6cdb77f3267c3c23cc9e69a226428c90327930c0d8b166bd7c883adf1addf27a8cf531c2b931a2278320a0e182dac7c09954efb231bbe5bbb52a0f0a62179d6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "9c62d1b59ca495631e8da9ff262ebc97acb8f6ecc4dd1889c110f0dde8eaddf97df7f6f75e2ca21a4b13c50e65939f7a6d9ceca3c1379a92a641c8c9787ac5bc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/es-MX/firefox-48.0.1.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "ac076fda6eea7e82ef8da3206a88466994730d5b0a5455b11de4e39b5675ed199ec738c52ac44f15c4056c3c115549ea1822674c5fa70413369f9c8471074e62"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "dd7c076bd9eedee3099acb57b0a7713cf8f2033a4fabab81a900425d9c1217345351096c7deeb791fafe7247d8aa6b5c1e8aea0b3aff09fc2bbc91df48135e14"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/et/firefox-48.0.1.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "f0a6b6772be00616aa1520aae00f4bd6b8ca1a98eedc9a7bf30cf11ef90c12c6b5557a2b4b91f314a1118e84964f9d5b2b9b978d988306bae409006aa828c009"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "03aa604c1884f6a18e6be1a9244e1fd9a1954328d7209745945c9782613f3d85ced3c174d95d05ed462a17e8b663e956e4fcf502a08a9fa0b7b280ac17ea77f4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/eu/firefox-48.0.1.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "b52666bb77be972c05dab682faff55dcf15ffea015d12776fd876079da07ba6e10550e2fa9b8da8c436fb24fdde52a995fae045b08c404c39f80f9b5aefc7343"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "db50861f6a057cd1101a32193a99adfdcdddef644bfd3d963e1066704b72c1d94ee5f9bc71dd743969e2ea48baec75ff219e85bf915f2abc534e8a1138dd8306"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fa/firefox-48.0.1.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "043fb255127630304756c51d49d5dd3989a3d86a1fb5625b26d55872df4e2eb935bd7847516324c0d6ec5d0e3a1d341b00fd57d82d4ae25134d9f2c477327cd8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "1ef36b933799ed72d500050223d45d3092fbb2ab9a27c4f375d5442f8940a46488496ada23c6c302866324d23bbbf6e233f5ff575268994ae8db8027c4c842a5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ff/firefox-48.0.1.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "b88e288b0f3e9ce3f58684930ee5c51c3074c335fafba0b22ab86f3a9c2b82da68fb174c88f82c0d5224970ab0367f8c70f31e36042a0d032923b7af878ebdaa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "4c2673a54ad69e257367571a9b5d660a2ba059fcfd3fb0ac0da5ba75cf64e0ed0937562afa1cb08e6881b97f7090cb0abde8da69e7d02ec9b7d7fb1a82aa107d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fi/firefox-48.0.1.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "9e6a489b5d6913c0792947c270a742195503931d00cadfb8724fe64aae2ecfc55ad2265b2f0bcfd3dbfa816b520bcc53e02316ca5863f6c0af1075750d6ca537"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "4b63eaee80c8507800f32363b7510c95162af01648cf66202780e875ac7025cc2b1b5100f8766d2cd4942ac213e61bf9e45ebd3e38243f80f89d4ff07a9ec15b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fr/firefox-48.0.1.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "bc6b5ac4a9ecce521292aef265dee3c08ff38bcbf675efd84fcf4124a0c491174aea873a745162e5b60fff3f44fd125daff884d1c1b7a16989fa94dc8c45206d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "2663db9ddad2df4bea7064f8a95c973f5bd88a0526f3261d8345d8b9620a6cde2b31cc88fad88612ae442f4be1705863512319fe80e938aa6c25396a21cdacda"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/fy-NL/firefox-48.0.1.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "7562e80ce278df54433b1fbc4be29090bc3135b2709fc0bfd357debf94da846c68bbfd215a761faa2e678c0d7c08ce0202fa35b4b3028ec1564ab3280f097e70"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "0b6da27a71ad06467c5cec5f24140ef3d8951c8a8d8888984e78857d0ac078adcedcdd6242e4a21e101145a953bb1dadd9fba008dde9c9c0fb9101acabac8615"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ga-IE/firefox-48.0.1.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "42110c22b758cfb9179c2702f654bb528e53b1ecaff8dd1ae2b51a8082b2f79e4e54ce5a2cc9fd851933d77617ffa87c8185cb7c2bf2a44645ae8225618c7952"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "55cf8ad21e279c1106bbe9a8ebe75ae5ae25e668af9ba2d6724270b4d02d3bf385a4618562b37942523e91a5a7c6657a62f196c7062310b19abe2562e1ca1b6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gd/firefox-48.0.1.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "59e153481dab5cd9a0c881e4420e91ded9d425b6de76d6cf42bf6cdf8144896caf88800568f52a2865de7c15e721530b5502e8c1dc5061f88f801fa41948b4f3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "25bb23a847163a17fb374c931dc5c1c899c261721a1f3020c4227234509c3af73f9caf0b78734f3447b6e354791b2ce4dcd1beecc5357f048960be9edc6650f5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gl/firefox-48.0.1.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "e334f859af103e1fed8b456fadbfeeff05e8ef6a7e12717388f9be02ee17b5d0b5aa56311911d7295bd3ff8c19a95dde34c160ab2483c79690859ec2bc35f4f2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "5ce70cadb52acf75ae30122531dce3be147da587dd84b169d0537139884b993ca9b6646aada78f52e529450d23c51943d15dda36e921815bd89db9a002b34e90"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gn/firefox-48.0.1.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "b7c60eb01b13305b7caa8129714dfcb3ae7d6d7ca0220b8eb9b68915b3ff60238ff4f9d10120649586234cc123e149621e000efce2337a7bfb95762b89ea929e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "415dd82b8fb1d5b51677e4b5c9fb12533b21582f5e408989e6a2f0f08f1ab4020e94bb8d07c53c3b0ffdd052ebfc048eb74f1a8f40e6ba2df9c3e5ca5c4af3df"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/gu-IN/firefox-48.0.1.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "8d11429c00e2082ec5f87f278ca0fd48b5ea63f551ceb756d10c4a3b064988b856095c35bb5d7b6b98882276eb4bcf6cd3eaf7af0f85b1c419e91b93254e0b32"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "d210471e37da7e75fe68d16a134b6dabed991ec0ed74c506e646e7d7537645d49dc85382e80a6b8183e854140b1833650a1138cd5eb72daa501e36632705a49e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/he/firefox-48.0.1.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "66400e95b9e27cf22c2b4ec817136dfdf720f3b49a84a9ec2659485b8584e12e06d5ef608fd2d1ee72d3bda88d41e7bbf7c8320d773314cb1891533ba2b041ad"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "bc2efe6d01ca4dac7532ee2c8e11f6eadb082f4c9564f270889a5fae56e424e87540a1c49823bde755cd4cc1b5125a85a13d9ac2ee64c96e3d95a1a92fb2f3b4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hi-IN/firefox-48.0.1.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "0808a4421df8b98ed822931a51193d235b2421876ce2e2e9da66e676ce717b16dec92e532aea010170a6adc0cffdc2ab837d7d169b2122b946c3478a265b1688"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "0574f36fb28878f086af46e5818636a5dd406e15833b85ba752996305643623e1f0cf7374ce572a3d966f505a0c5b046b634bdaf8766d287674659cc192e396a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hr/firefox-48.0.1.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "66bb03fa5e3cc470cfac5b61d14c0100d27050889d3585e063d79a5c20e6b94041d0b9366216eeecd578f94a54ac11fcf20093c1479d52b25964465d4328b9cf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "ef5daadb2dfd7f8ddf5296397067d6b87e56b26082fa323b4ba9a3c4d22d247b94bdf218e7af2a73baeb11d3444a23cec444f8019bf51d7d0515feb0217ff24a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hsb/firefox-48.0.1.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "652128c26179e16f6b4fa8930933001c829a69e268f9214d01e5aaf62fc73ba973dc316ff95ac9dd232d3fa90241717b163c03c0e4fcf19681f2db858506faaa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "95bd19506c2afd6dc34c80ff3713ec5ba7447ed173bbc0b19d908ca824f107e1bfe57d567500bb70c82011a641e6e0735ea99c662124e6a62d7e612f000a8724"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hu/firefox-48.0.1.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "98dff7f7e6a98a1f16420f352ff4060ba648adb0358c51f37c606e22a39dd523b66a2fbf97ce847ab4caffcee1451582e9e9db8df5680ecbea26ccbbdcc0009d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "ba7dd08d99ec3bfa640be9724a7b41ac8a91e96c46b08eea10e3af3594e05838ce5b1a3597358c27ea97cf01ff812fe3c7902b1d109e4484594e51410f0c1ef2"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/hy-AM/firefox-48.0.1.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "417dae44b78e42267498369cd6709ce29e2efa71d4d73f46c867a234ce9706e64c3d43ea997411081d6e9be1f7dff953cd6a84eac2698a2672f43d429a776bdc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "99aa8d4df3b2c12c5a80cf0d120f50d695275cb700e6bf755fb2b489189dc8c269c021a4985dce949ecb829e6f04a6a3d13469c6ae6a75fbea7afe5f380eb82a"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/id/firefox-48.0.1.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "b573e1402ef0a865d03f086e6a1a94749224db95d9c3c92d4bda3b4a04599f91a85239703fce959b256b688e09e6811429e2b905824639e15c748a65cb405b1f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "1881b4c3fb880dbdd5ba8ba0a5639afdd0d9c3a92f88711c05e5852d4ad53c4bd9b95908e914d6503973e3d4733643335c966941784cc5ec611bb34126d37643"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/is/firefox-48.0.1.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "c78471e582cda47ac444bbd125a418ab6488767a9429cf16a5aa97ed379e628d2c84bc58b7a8f08bcce83bb0e41430a0b36424595fd7bf670347f6a8af345e69"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "a8c26050ab91294b0d28c326ae95346b009b678f29379ca1d9d3e77d2d75f46d79514be4f003be92338156a0eb84220c3da80f296d4eebc38ff4ddac3e43754e"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/it/firefox-48.0.1.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "457808b5ec65c83128e3e766943f5d778452771bbc3ea4e24624a5ccad5e32d03be07cc3c3861c3c7e1cf43973835a326de26e09f2a81f12613196c846cfd793"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "12e9bf550c12924e3262d1ffe3dbe5c0ab59cb9ad05944171cab95a10f5c3b1098653bb72801c32ed141dcbfaabfd61db474a9e2928f0e3472697ed6e110a221"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ja/firefox-48.0.1.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "e2c2f8e0aff1f3083fa4fcf5daafab759d67242637e5ee325451c8e4e4c745720d379aa0041fd00a83f10db689d26ddd3f07158bd1ddc482fe0ec145de484d92"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "43dad155aa22576500d16495973d50edc8b24b0616865e2ebb66e09afcc6ab69c2d5671de18c09dc35575e4df1ba0f59d560e45d8b26a4c619f8720ffe682d52"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kk/firefox-48.0.1.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "98316052f79b43bffe978471ab2d39b675e4921590aa8df59552d3f00499af279b085bfc203b5644eb12c9dc667662f48885d4e7b9ae3bbfaaf0d9d455073ad7"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "a96297705366912ea645df1c489ba5f298887f2fa9cfe35a68ed85c18476331da645c5c16945b9ca8a55a56567fe25dc3fdb4f7787fa53565da70604483eee45"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/km/firefox-48.0.1.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "9676d854f379efed87dde5fcc0b858e14b67361d0e79d5dc6444531f56c64d4dd2765916e48c688f23a89e8b4778d5f525bba802ca3e1a475be9849f57dc5a6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "82fd2fae33fa1274859601d69e864b6b8586d62ef712e0ed44de37f74546624ba99d5009b51ad52f21580ab37aecccd7d767acdc2bd318ce8e1b6ca7506910d3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/kn/firefox-48.0.1.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "575d9dc9a323364dfc5def354c8b81b31beb63cce126d289874bddba92e3a2801c0eab6009bd78b34b63a9f8b708e8de904d3d723233f41a19ac267c0a436228"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "278b40ab3884626704731b0573a7dd097d59366e1811d049384da200353dbd4492ee6913c935e5b2c28480feb99f0af746ed6aa7bd712e14b578559f6bf03d6c"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ko/firefox-48.0.1.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "d722c41396642eb402e77722fa9f2e5b7aae610924f6ca8ced78d8b0d4fc65d00d123014169cf5a2c4c39b495b0c196ab26e18f0d78aa7c30eff2eacb65fb352"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "2aebe8827252b05225efd7a2ed2ad8ec599818b30526fe41752c82e1e5c5c756ab899194c86cb95300ea5dd56cab354a32169317e74756aebd93f1932e51bcb3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lij/firefox-48.0.1.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "f394698e7c62d3e3a9d2e52f0c706037a9af622a36d4fc138ba91b3a2ed7154b595b965cf756a1e7a4f050645d2a70626dd651ca5383fab244e65065d73d4187"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "ab700214ff82fee55b875c00eb5d9b2303c49680f5a81b4fb6cbecaff7418f8ca9d891182ea2bdccccc9a9024ecc4282ed48ae8f54c72d4dd739c9a207f09b79"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lt/firefox-48.0.1.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "394926bbee72c781561de62cf2fb4508d7ca25f2809997f182e8cee9c3a10075bd376b7734ea30f2d79744f6c9eed31a2a13c74d42c467390d8f4de7e4abc917"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "5085fb9e2350bd6660898d0daf1ca407f43838438f6d9a2bd24d77797a9c8d664c5a6130166d12ef4bdb82647b08918a9241fe44ee6c00b4c82c325c6977a24f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/lv/firefox-48.0.1.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "b2c73d85eb17671a52935e7fd306fb854778c497e1d28fe67837d3d513fb1c2ecd883e20aded31a0a34b459cf038bdb817f5a209dfeb2df7aee330536a01e3aa"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "e71963728df5cd9c8f9c739e41ac3b03678b694cee30f03a080e67d09f5f6128da579b0d150ef04e79ba2a90a752a2c8cd9339ba7041854a86de0a0e77d07901"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mai/firefox-48.0.1.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "c65cf00c6767d2d22f9554882d54a5a2de892a353fc4c0316d8d400fb7c78a530f756bd1aece7b8ef8e96a310b61020d3fd62cd7c92721118297f4785ab880bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "32b2b565827ff5ece25001110207ad93f09d5305b92e426083361c5b9a0cc4d9cd10e1cb4358056b36efcc8c2f3c4c25a764a1f99783452303a713460b312182"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mk/firefox-48.0.1.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "6dfcb59d56352b0de7a4608a77b2bc2f668163049e8c7ffcac37d40b2212b59a8e3e8348f56fab0d045e5a9e2fddcc9a2ed6d895f56f0e7a15bc1706ba0769d3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "0120498f7f687527654a17fac56035809b09cd2ab9db01eedd82947c078980e0319ed6be091d69ceefe6014e2cb4539569cc393df8f65fa6b1a10c6ae880a79f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ml/firefox-48.0.1.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "00cfb9317afd0e3798eedbd4d822715d5ec3788c353a8c60f3d3af81f67b0cc1e4dbd40a8f9cc64f2aa6cb007e59b6e8d614838d08822b70d6b03234126b1587"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "8b989f8f53a321580e896221f4221d415548f4b460e1c4368a0ebcabad7b6b7c262062abbad4cb066859219b5470b04a1e00a4e036f0fe4e01e9d29a322fdd53"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/mr/firefox-48.0.1.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "14733e42d1105fd4a5aeebfb2e7a004f127000fa6363a069273fa60d44e2109483ed7e1472c81314e52f85b472a3379ef71a517193f3d68e6975463bdcebb3d1"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "f357bc56281ca1444626e071d779d6cf4d45fc72b04f20d5417ba3248ddd0225872d275a860c11d3bf3bcb5109774509e96974a31840df89663e372d38f569dc"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ms/firefox-48.0.1.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "2d58d7ace11098567e616f01a47da0c6a0faffd1a7af846fe2feaae67c7a29c1b6a4dc41ee9278cb28f63c4173479867968f20454f8a71198297b5fdc31d5b31"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "301110881cb905287ee82bc5c7fd051fedb2f438310dc8356876cd78b92f3296e1bb90a2caddd8b0ca18691817bcc62c376bda798ccdb46d93237f10dbae6fc3"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nb-NO/firefox-48.0.1.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "8f8bb8f9021043caea7a3c81340bf3adca2646d4967190b09efde03d010996dad7f49215e7f6eb56d90d762b0b7a1fc391e769822b298e2d1da2aa456081966f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "56be4ba289adbd28ba26f0b2f29480b1ab8679c9b11e81f1b2ded7fb6a9c56229276f6fb4ba6e4d358ee49825ea038eed96389d66229aea4864894f62dea91c8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nl/firefox-48.0.1.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "1a35abd1a4758cf3afc32e370a3b09dcbcb9a8eaafc6c97a83ba60586f5d2f1523f97c1eead4372e3abd08df977c9fa1ce42bc5c40da2238877957404485d91f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "51fe95a96abaa7d4c1d95811f8028663f863f9d24b04a40ab8a93ce8b9edfa64c8b717a407565cc577c6ce91227174c7a72ff5fb92dc4b9fde5434140afcf410"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/nn-NO/firefox-48.0.1.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "1b1e6be64ba3d38d4faa4ef09a46147ba505867464561d16dbf7f8dd1b9c006112791425c916ac8597bd3574261973dbeacc86ddb9ac10f09713cc3bc325a491"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "377dc2cc7721fdb3902ec356c6c2239a275c137b8bd23799851b8db94d9ab851ae5470482ee1b582e7c5961498cc01bfe78e06ceea9b39725156411fafd6d23b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/or/firefox-48.0.1.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "69e69a2dbb1ac376d34feb5a23c7d88059e3f4a41a6266501a45e77c115e87d0d1e05e8c43d028c9edf6635f5918204f090d71582baed4e78c8d600d11eb92e6"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "b4ee9cfb3ae3a786856b4a696d991f64eea6c4c8a6e5e1fabcac981f3ee3fbac267e6b3e52ae2c8483b90948d2bfdd957edfa9760d567df0aa1f367066a43b80"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pa-IN/firefox-48.0.1.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "774cbfd5dd3a0810fa69f7d307d6ac1a0f33d095c8e8a5c0ba6a5838a72d71fc63265ca44998f513efd2cb4a635cbc354b13c56837a1c487087d8f9bdacd4142"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "61683db5587f96b26c6a330a03c5b3bb20cc155202fde3469b542407e9af60b11948427eaa1d6f6ebc846c431eee84ea51eca1b20517ef6a5b093816ab532aca"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pl/firefox-48.0.1.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "8afbaed1c2ec86d5c56ad4e1281a3fe71ce1617b28fd7a80111ad5a39a52182c2b06baeeb30fb6de41f881d65e7d83ec0cda48f853644feda79098d70d04d1a4"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "2cc9bbcbd24da358f711602f791995a7ddaa226c265d91d3f08c9411a76aef8aa4220d89d2154d757edd2974369fd93ee0366d515e2d4e1f07f9283ad850c93f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-BR/firefox-48.0.1.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "6ed7736d2f58d9ab7a80d46fc9665eea77105c9aa5a15541ed743741437f31e06a9643bf2643d741afe370e0c1f866cfd512caec34d8aa7db0aff2798b6f0acb"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "d65bfc9cea8f24a0a6a9c533f6b9c64f42bc7b254aa01f64344b601460d83a2a66bd47b6c8e7f9d4cdd0ad8c0ca78ca5436300a02f76a7934b9d5900a01fcda8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/pt-PT/firefox-48.0.1.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "6613c6c5f4ff43948bd38df712fed094922306709e2833acac8394a9c459896e7f437753963dfb560cfada415c2a1ea48bc9224180048362a4a078e234e38ffe"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "650c225935ea3c5b1e4bb43099597749bbaea0e95e8de8cf257a2bf030768b855eeb8a8efbbd1f22f55dc071642c00ce79d74429b8e255186e1bf95aabbc95d5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/rm/firefox-48.0.1.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "64bf7df7bc26c40cca37d790525ef7db5a163ea8180a7ca65a856b576ba68eeefa6ca08536d0274edaa6ec25a53c70ca07b640abfb8f48190ec414d12152a986"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "5045771a67763b515991b22573b46cb6bfe7887f654f36272324b1d10d44b65b4c03743da6b8ffe1e898f9bad4e6a4f0353752ac36a670c6d2ea1781160e3f74"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ro/firefox-48.0.1.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "d6a981dee6fdb84621dc108211a707c4e0231b0ff4a2ff29a16a5d3f4fc47f2b831695b391e755800b43af0e753299bcf1d0cc0482906607713a6fd0f51f0a4f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "eeacc5c4f3c1ccb401de4af819b34c385a50099cd7f2c750886e84b0f2bb53b610c4fcba29c9ad525098e3f4d137819979937b78516a796d2750da25685afce8"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ru/firefox-48.0.1.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "15cdccbc456e9a44c11238d01980ce0319ed8326a14d4897f0c2bf0065d4ef4b52c3d5e19791c79ee0b212618036712b3aae696493b37e00c005adca751e87db"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "05190e6f4f409946f90fad97fc7ffab27215136387149fb64a98f234c02b862179fa0a5d5cc66d32ad0d2345647392b3296c244f43994a32d073ec06cb790240"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/si/firefox-48.0.1.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "83d2c6e1bd7da4c6e8f7e36ab1104c7621c053c67b0a0c8e8eaf0e9b5d6cbfc52f799c344f00ed28708e3f6057eddab2041b9042693b55f0c2447da7272bc90f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "a86d2bb2d42abca227daa3272f487055d0ebf08cb047f4530ca5a8a14b2af086f5631dbfdc215da7d75debd07d892ddcc6c3960d2b24b5af0f4f2fb34481e561"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sk/firefox-48.0.1.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "aa7435d973dc6b9b9a75d688e5819ea37b82d511eb38b80d473b9ac118dc21210a89b480489967c24a9c179cceff5057a898f2c25c8f9ae5b92435bd4641101f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "d7283f7697f3fc1694567cbc539ca6ade92ee757b1fc95361b214c1a2d2038e1b1b4d8a38cba8fcf9b33722d0e4b8b7332f671c79f1d861ad6d8ab8b7a343563"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sl/firefox-48.0.1.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "05877ee3ad41f8eedbe8997f760727011fbb382660b0452ad711f33a48e2770113561ce85c83c0145565231d363ddda7b7005e5857cf930e49172c777caa7866"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "7f48530afb2dcfd0737c32c4390b289e2ab25bbd947c0d9e96004f8f17d206b0880e7c52973f37ca6c2dbba357cb97b1fef60cfb60d177e42a5e3ff5bc335bc9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/son/firefox-48.0.1.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "5cb1704542582c94f6223227a5efe325f93c293e82424f4ce3da90a381dc01cbb2e70b408e36de3f35e2e48a9aaf802e43a23967f92972b7da1f62e054cf579d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "adc97dfae0e2e8d31cae7c2ed942fbc9928d6e938b8ed2f436598ee8f6c5433fb40cecd4c016c77d2e279b85571fe30fc7ff819abc40e28562e08542b851133d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sq/firefox-48.0.1.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "67f02ab6e885d0d45d03f514fcd1df9cad5e1783ae2f3d7f6285c8f1997eed09006cc0afbcf6abe0090984bcac988226afa0f2bdd9156f671c548bd4812a96bd"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "1023ea71f66a624eb56bfd22c88ca973ef36fb135d7fd2b998fefb4cb8be06c554c7bd6be06ef0a23d23092880197b3dc7cdea40abed6427da6998ae489ebb50"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sr/firefox-48.0.1.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "842e1a0c54b58e59711e8262405dc2bc83ad5714a3a017dea5e5be153a4e47638afbe16f128e11105838d8ab10338e6300c06aff73060694f4cf4918c222fe00"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "0775e2d943029be33ef4c8b321e6f52f088fa59a56064eafa4ab530089911a57d9923acd5b20e45953601698cd87e638930ba6a8798108098d79e39f5267732f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/sv-SE/firefox-48.0.1.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "1084649ed3d1dbc298d40f8121e54558a599ff61115dd301679ae4c8d0d2542530a855d24a165122df7d73b5076bddd62d6f5ecec60269ca8de28dbed58961a9"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "392dba7797c5ea128766e2fe50b7f1ab5463e392c83aa9e2d5748c25e35cf65cf15f54a6a63016a37644db5b251ab3975be6a7d3b4f038f2a2eb91dd59605101"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/ta/firefox-48.0.1.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "4278953713b3a3b90f7a1d262759cae0adcabde89b0c318ab2a128145df8c03da9b7a0ae6125167665a0e12a4efb0fc2b0987984452bb3dc9508a1f40fe7477b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "e6a5436858b331e0f4f12107307a662b162c8cc9d61c144b3bf72ece0a179f4b5bdae85bd89e69c8f4751bb9d467e13f0395b58cb1fa27ec33d6e881f9a60e80"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/te/firefox-48.0.1.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "15e6c34c2f109b87ffaa66958cdc79c5a7d2454ad58ab598258d9ad8562121540481f66f6b1bc5fb42a4ccdf37bf6f815819ae57895c238fe9b43f6a0d94ba79"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "c92825944fa315b5a58ae1c6b6fed39d297e9862d5257f2b506244ce580896499a6c003b203884ebc9e116b7a3ef1304c7557888382b080cb0af8afce58284ad"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/th/firefox-48.0.1.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "fd0948e291678f1cb6d1a95f7a639cacae85e1e3c1ea2b8b9435436c3413d7a344547f6d2a5c1c2886ea69c1ae2e5750c929b99426d37325859d2fcdaec92609"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "a581d3877aee6b2ddfdeab231f6ae299edfbef7d4abb33e3c4805093db1a201f892003f9073c29c65c35c4c508e4db26ee43bde3d45ad2836b32394c4d590ac5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/tr/firefox-48.0.1.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "21fc9d76ddd83024144883abcda19644eb15721ac61b18d8f9689efee52d1535c7677200cfd9eb5f02bba3d46b68cbf64a17d937b5999bd1203d7c3334b1a6b5"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "3c3b6c9de655a15cc5c1d07704235f1c2d6b78bbcc429e9387d27b98f1c7b9bfb355ee1d47d68f0f3f9efaf021af6f958ced6330772e875e88efa4e5c56e721b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uk/firefox-48.0.1.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "90bc184cff6792cdeab8c58d3126c2cb4130f0f3c13b75eed793438dd91a434253d59734546e29aec9f5c1e4736cd5af1bb03ae16248bc0217df8516da1ad55f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "fd4bb603afba6b037fc54c920f518b4d90fe61c89f99a2cb819f5544a7668b232b9936d1232d45ab6d761029125bcbeb70c9436c19d368c77c9fe7e5fe765e6d"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/uz/firefox-48.0.1.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "886efbfebcb82c7f14d18302d8fe0cda9ec1a08dfe5c808784584e0cd260ee99dc6ffa9b2a3c9e86db7c23c16e52ebddf1529a766a7081685203c77d48d32987"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "d9558de845d9cbe513a42646a5a94e7bbb05db6d10167c165a6ed8b32a7eab49eb29b1bc2dabb49912c2ecb0f3513bad30973700b0c295f87f51dfeeb744ceaf"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/vi/firefox-48.0.1.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "21b38b4e19b310773aabe650c4f3a51b8b36fa6ab7dfb9e2f3858e3aa2c13717803115fd78b1a181d34f8910a37745c785130edf8c34609e8add41f987808a42"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "d2729fe2a2d862e95da5dcc7215470744e2c4aa86634d4ca1185c49b543a1247531bcd2c036dd8bb9edb2aa67abcfae011c4d26ba47cecc75e6711e0caaa901b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/xh/firefox-48.0.1.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "294f93237f032ba13b7232e358ba7b457d83acd9912e1a66faaa0d6d743e1462d8628c0fc043c3e900e01a067c310af3e07580dcef43894652d27df58a789752"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "bea11b948f92a6b3325a348daaf171449fbe39d55c7a4622c675fb433d537f71206ac89c9fb66a86f01716f31eefe2c91501a34dc3f8f376a61458efccde8b4f"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-CN/firefox-48.0.1.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "da01dbf740c4b7ff182be3916690316ff524c95b4c23e3a64844324ce976d482c750d55b72cabaa78239e131002cb6a143f8b5f157aed909f49c27ac882c6e87"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-i686/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "e728bbd4e0754ae7210773faab7ff930963efb64205d494305c5f9af17743dc1d5fa46e1e99a1ad7e4d77832bcd3653de09f72266826b53783fd7b045e78da6b"; }
-    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.1/linux-x86_64/zh-TW/firefox-48.0.1.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "c99ce5dad2210cca5bff34908ee4d63f06abb839598d1b5953ccf77e41a2ac75f1a31f54e75c94a0a57b30ec867b3d10923d38d1501729f1ddf0f2081494136c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ach/firefox-48.0.2.tar.bz2"; locale = "ach"; arch = "linux-i686"; sha512 = "2e06c639284e5258e9bba9f02f3d21df6a3a37e3dc55667b2836e9eb68ad5ab24ccd99f82714da14231b5c6a301a40acaf9763ca19b920bb4f6acf535dc753b6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ach/firefox-48.0.2.tar.bz2"; locale = "ach"; arch = "linux-x86_64"; sha512 = "d0777aa0a5128f9ea0b0929781a7d86ad81e72bc8c204e8f026d37bac120d0e210b0a0c8ed42aabd378f96fe52237a103ea25c773b49ea814d06862e770e3180"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/af/firefox-48.0.2.tar.bz2"; locale = "af"; arch = "linux-i686"; sha512 = "81cddaae3ab0ac26b3cb5faefddfb088addea7f5d112a317d5c56c16cdae2801539e7c9c4fd9d77a14ad77db7a96a75767d5c08b3858455b801adab8a997da02"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/af/firefox-48.0.2.tar.bz2"; locale = "af"; arch = "linux-x86_64"; sha512 = "5020fda908bcc8b3bb937c5ea4f5a78e74cf836488937f3c4c6f6533a57d5e086e88a85fefac3983407254e3f9a9e2a0b03167095ba9b6e30e69b7381dfe756f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/an/firefox-48.0.2.tar.bz2"; locale = "an"; arch = "linux-i686"; sha512 = "a47b6bd64f1e654ed9041035c36ddda60cedaf634327fd005f9610390a53433da21f12fbe4a3225d756755544a01b9fea463965c47c08145103b357e5b1071b6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/an/firefox-48.0.2.tar.bz2"; locale = "an"; arch = "linux-x86_64"; sha512 = "31d116e6e1950ae3e93ad0ac744967f00699a04f3df89f9e0e4a2cea62e2a9675f7499ca41fcc2acbb91a72cbe3cd74f057dc25a6db947b1b5448fb0d92decdb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ar/firefox-48.0.2.tar.bz2"; locale = "ar"; arch = "linux-i686"; sha512 = "bb9acd986a258cdc8c368aa1375cee500bf45be31821220c90d562bcc3d526bafc5362c91d4dbd7a003955adc9f26adfe8d62403cf3b9004b82f3880a5b58db7"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ar/firefox-48.0.2.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; sha512 = "dc4ae811b19887c8f039b046ec2d48d4aaf628f7869e471c97b637e5daaa0e0b0b96fa327ab3b2ba3a184ffbf91213f4cb619d2d2a396b22849782ac41f7f31b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/as/firefox-48.0.2.tar.bz2"; locale = "as"; arch = "linux-i686"; sha512 = "d9dd79d56912bc65e4993214ff58f7dc725077a62e391495acb6aa4b50c371d1c843811e5c511408dc3b343df0056bf33efc1e8f16177f4549ee49fe7b22ccdb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/as/firefox-48.0.2.tar.bz2"; locale = "as"; arch = "linux-x86_64"; sha512 = "f8278a0141814f2b0e1ac4bb0e94e6d566e97943fabfd7561e249de6a2da9650edfc42456e503ed2473d7df65b4f1949d5fe423b79f9519d59a1ece121361029"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ast/firefox-48.0.2.tar.bz2"; locale = "ast"; arch = "linux-i686"; sha512 = "e1aca0b09d6c7ef78eff26e88d817a203ffc142f9be998ba08be74dce67da8ae4c728853c6f6f19a4b18fb439ed01fab556718a4f991a206bf5cc069232665a4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ast/firefox-48.0.2.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; sha512 = "53ab2cc04741152f11fd4f7ad70eec7f927c7aa70997cf9d3069736a13bafa3b26dcabe610cb5dc10243a1b6b00f22bf9d6bc05afd26d0b7de254f55412c5805"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/az/firefox-48.0.2.tar.bz2"; locale = "az"; arch = "linux-i686"; sha512 = "39649887ca38ed1beb819227d80f5c75b0fbc08c537d6af48755c35a0ecc195127d9cf4c1af05a09b0e9e604144f5e9e00ad57d1cf895cc3f0142b482c98980a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/az/firefox-48.0.2.tar.bz2"; locale = "az"; arch = "linux-x86_64"; sha512 = "5c75fb1a34fa9fa447f7b279ef57cd0701baeeb95a2dee48b878d01d7e33eeba3d7985ef375317080a1a74732bebc4c26883bedfd00578d1a653deb2a250ca6e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/be/firefox-48.0.2.tar.bz2"; locale = "be"; arch = "linux-i686"; sha512 = "7879202dc251f9f2dce656058e51a724b7e49e9b03db8bf5921448b8e48b74186c40425ef51a84be6df810819ce2e297895017ac748b30221e3cad73c80eb0eb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/be/firefox-48.0.2.tar.bz2"; locale = "be"; arch = "linux-x86_64"; sha512 = "35291f1c2326af74938c953ecb55e55951ceb8fe10443f39edd2b505dfd137be161f8c4a1e776e3ef75311f52609ce74cc5c13fb78f59893cbf7d7bdcb4c7162"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bg/firefox-48.0.2.tar.bz2"; locale = "bg"; arch = "linux-i686"; sha512 = "07d630045d9c99655ef04b6de10e34e4c1eb6a38f5a1eed4f08f90ce0f61ca9129235e48882005c0c98eb962273ac644a46dd4cdf76b748ad1b007a018b7f1ef"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bg/firefox-48.0.2.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; sha512 = "457d65bb0afa6c755048191a24eaef286f5fbd9b68b020abf554c7ad978398605947cf276ce09d4447cca4b64f053b956af805196c45617f2f14911598a75f6b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bn-BD/firefox-48.0.2.tar.bz2"; locale = "bn-BD"; arch = "linux-i686"; sha512 = "a355957e649ab82a6693e8da580b075111fa14bb1efa722397e3fc56c1dd14e6bc4f1315c7a74f1dc47aca228d0faa59db358b7f2baf79939f480c2e4113781b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bn-BD/firefox-48.0.2.tar.bz2"; locale = "bn-BD"; arch = "linux-x86_64"; sha512 = "612ef87c01fe221c6e546f110efe228a73e632312af5ee3a4324904aba028365d06c9aaf080eb010b90f653d0aeb4a19f78a0abd15ee02688102cfd4f4c15f5f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bn-IN/firefox-48.0.2.tar.bz2"; locale = "bn-IN"; arch = "linux-i686"; sha512 = "43e41905c397a2e311ab1a326f70070e0a1b922dd38301cfe9af17ae7916f2b697e1f3d218bbfd26741492d10ab5f6623a182691f036dbb653996d87cba10861"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bn-IN/firefox-48.0.2.tar.bz2"; locale = "bn-IN"; arch = "linux-x86_64"; sha512 = "29299d5174cc226330f7d89b734b15f934a8dbf6c577e81f37b362ce8fc2adf4d8f901f2ddbdf90d8d43181e369b5e339408604b5cd0bea8a2c6eeca5e319957"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/br/firefox-48.0.2.tar.bz2"; locale = "br"; arch = "linux-i686"; sha512 = "38ed922491f7690cc9aa62a4d9703c7d83dd67b067f3901a8ce34a3f937063fefacc0991530a79c66581554a86c564f8d0468f9a3aaf500c56abcc89ae4d872b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/br/firefox-48.0.2.tar.bz2"; locale = "br"; arch = "linux-x86_64"; sha512 = "efbb2ccf082f2ac5b5d580f02642730b934e367fc4b6e841c53fc651b43c129ad092c0028d810d94aed102f01b521838dd81a0137cf057e903ccc78e182911b6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/bs/firefox-48.0.2.tar.bz2"; locale = "bs"; arch = "linux-i686"; sha512 = "d9183190513145a246db8592631b22c61cb895fd8b8b5294c772da1c584f63cfdfdf67ab664cea5045611a9366521d91ec3ddeb74079a1046886ede1c0421ea5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/bs/firefox-48.0.2.tar.bz2"; locale = "bs"; arch = "linux-x86_64"; sha512 = "140a0e65e8995702986e3c85fd38ef5b729911405156a3d3fbc37d7c10685a88300850c339ddb94687994bfa8482fa1f93690e3781d3e02f8f90f8f6eee17371"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ca/firefox-48.0.2.tar.bz2"; locale = "ca"; arch = "linux-i686"; sha512 = "d80b1716eeafb294b2e1d68791e9d84b45285851361f732ec84688b5c440da1c30b669ac01b7a77bf8e065523d77d0a5a4e997a98a82652100b2111177c5567a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ca/firefox-48.0.2.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; sha512 = "12282634abc6acbd0877436258657116d1a0ea07f90b04447d8ce372c950e3b5288de9ae76a867b1af5c2d4dc2c85efbb349df616eaca95aa03774d7dd331c7a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cak/firefox-48.0.2.tar.bz2"; locale = "cak"; arch = "linux-i686"; sha512 = "407f1eb4b637a8abdc342b61ed898a5900d9914e5fc67c9c9f44327221dcbcb2fba0e27e9b1af5540d25ad282e9765d1c91bc70ec4a7ac641404ce05d83ea22e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cak/firefox-48.0.2.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; sha512 = "a611f37240c3b22e715121d64ed636a650620022edadf8090cd4a51769373c669f230efd39316244b4d727244e093087fb88754aafdeba2948b0bff3316092e5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cs/firefox-48.0.2.tar.bz2"; locale = "cs"; arch = "linux-i686"; sha512 = "e7c7a1564944bbbc5852d11c11480bc03366cfaaacd132f2252a9322fe4f4cc94cc4d7853b56b4c5a130882f254fce4d791a047e5d141dc5143c97d5248da72f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cs/firefox-48.0.2.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; sha512 = "d6931627e77fd8e4e0c445573e05a5e96bc6a2a47193cf2fb21403d0c10bdf009eb699d1cad6daee787e569d3508fb85f6edd8ffea80b69d6afed724d568ea50"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/cy/firefox-48.0.2.tar.bz2"; locale = "cy"; arch = "linux-i686"; sha512 = "15df651ea244c39150534bcb467649467c636281b7442af8ef5f2a296104b39ee951202b950fd6a960b10ff54fcea0f37a0b2a8f76cb969fbd9ed57e5a92d66b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/cy/firefox-48.0.2.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; sha512 = "0b168a6fc6f181303f7398ee3366f18bb2b256d654229da9cfa46ce0b424b4d5d414652509df3ca6600ddc7a9adf823050165d716a3d376a08563457af3e6696"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/da/firefox-48.0.2.tar.bz2"; locale = "da"; arch = "linux-i686"; sha512 = "64ef134d5839659c096d556e7060ee07ec160c59adc9ca3105eddbdc1c2b2b166e00996b2a88422461c7bdecdcd71b917e4ce1df8e92912542c413845ace7c69"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/da/firefox-48.0.2.tar.bz2"; locale = "da"; arch = "linux-x86_64"; sha512 = "cd477b4c541fa16f8c4054f670143c6605b7beb48fbe1b26948c50435e11f0d4fbcf907f192b53a1419a2be8589daf5c1efcae013366567a8c0003da0186593f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/de/firefox-48.0.2.tar.bz2"; locale = "de"; arch = "linux-i686"; sha512 = "6768f6445dabcd1e98ed27a8a28b930a160c7717b688ea38e0930055c59c123fcd7f52d0159dd2b2425978fd9e8e2d0e4e0877e6bba659f840836ff68b2e6c67"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/de/firefox-48.0.2.tar.bz2"; locale = "de"; arch = "linux-x86_64"; sha512 = "6dd6fe70fc26f4b7fbcc1e7ec212263e4e6822d365704364ae8f4ef3ede45a68ea1651e65c02f36e90dc44f2462a874703cfa02bc45e74bf0ab19bc31267e471"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/dsb/firefox-48.0.2.tar.bz2"; locale = "dsb"; arch = "linux-i686"; sha512 = "328e30142ed129560ca2a23de9963f40cdb0ff87454a9257b00b9bdd9b5d566b6f2f263c484f3c58c8e52ae6de5221a1ca936f7960ce01d88f7ba4c9b97f789e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/dsb/firefox-48.0.2.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; sha512 = "7e57b66afdfca30e7c770ec87d7ffcbdc644c54e01e037bb348709c8f091d82da48a3ff3a3dd8187f12f5ba1f94599f8aa8ed375c7e6bd90a2f787b3b5a09340"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/el/firefox-48.0.2.tar.bz2"; locale = "el"; arch = "linux-i686"; sha512 = "ea715903a796e386aa1d1bca22a0dc3cde08690efc17ecaa8380f086fdb0968292a838296adb4c78ac30b7c93baabd4dc19d088ffd890e11c76b58d9baf73efd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/el/firefox-48.0.2.tar.bz2"; locale = "el"; arch = "linux-x86_64"; sha512 = "1bf80e3b64c95d74b7893e2ee36947f293f574c49461d742d7f47ea990d198fa78d9d3f9c04ec3c4d81745549a23b2a502497766441c61098b9ccd5f9169f191"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-GB/firefox-48.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; sha512 = "4db30d4d7140cdeafb41353133c9ea5679f5eeae8fdafde86887d6ac3553d1d0db74f2e189219f6f7cb9a8d33f2c2eef58b3280fd0d435593109ab5058404eab"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-GB/firefox-48.0.2.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; sha512 = "4b9d24e2faff85cf56012baa7c4d32b29173f903a5c19b0ebc20c7959ae291be39ee875f98f08a07d16aacc0fa5e7633245e265f11b30c64f703f22c889abf7c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-US/firefox-48.0.2.tar.bz2"; locale = "en-US"; arch = "linux-i686"; sha512 = "656ddb1fc57f2308cd5a6b376828676d9c7529dca18751e5ec6f4b903b47cc31c15f6fb70717605219051f8a54a89d9c579cd70327e2029ca374953671d9d1e6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-US/firefox-48.0.2.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; sha512 = "ea8a1edee8ac64720a2694d0ed0ccecbc38d1b1aa6b65fa87969b31189f624549d3e3712052c55e0aebc65119701e88d4397bf01c8526b3ba662e6583acec815"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/en-ZA/firefox-48.0.2.tar.bz2"; locale = "en-ZA"; arch = "linux-i686"; sha512 = "27b805f5f89f999bf5a95f174dcc6d611dd297e8ae094e1557300d12311963a3410ad0c077355e2cb31d0e134f0d015fbdf7662e2f172174a1abb24dabdb4040"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/en-ZA/firefox-48.0.2.tar.bz2"; locale = "en-ZA"; arch = "linux-x86_64"; sha512 = "abad4283afed609217799fd3f97e6dd1b89d5844344a68912f712a8796613db371259883b92292fa12a33c923692f7302f63123431fbcba590c780fe4a9e2517"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/eo/firefox-48.0.2.tar.bz2"; locale = "eo"; arch = "linux-i686"; sha512 = "04fd9ec015150c9c8d26c69e7e0213caeb3a880b162eee48123b0355f73488bf667d5217cdcd2c45cd3cd5fc88c01ad02b4e2cc40b220beb93d55d64689206c6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/eo/firefox-48.0.2.tar.bz2"; locale = "eo"; arch = "linux-x86_64"; sha512 = "fabb940bc6f392ed1f5e6e0fe23947d28e1b8143f29784509eeac361050921f1fc97ffe18e51f47026b7a69178ddbb367e4dec6cda45feccfc6876e9e178d6f1"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-AR/firefox-48.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; sha512 = "01015a8756aaaa012fe35ba9d8192304fe8a22af6a512a644b20794446a31738b9142e03492db10e0e237a63cb3ffa2f581e700df00dfa3f4616157782cddf28"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-AR/firefox-48.0.2.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; sha512 = "0383d5df8041ee2ba1d32b9b1e090c50a4b911bcfe5354d0cc43a09355a790882afe5a9a837dcf2d9f4456ac75594112c5e3f520400e23d7bc91d37499ac9533"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-CL/firefox-48.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-i686"; sha512 = "4d74b9de4b4f0ab8ec43290d7f11c0439a1050e8561ae5192ff4fd3d0576d7d1857c9e616ed75b6fe7da5207e284b9713cb7184e65b093e101cbcb25fd90f74f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-CL/firefox-48.0.2.tar.bz2"; locale = "es-CL"; arch = "linux-x86_64"; sha512 = "77aa56f1fca65c9374f15f012ecf1bbe439b99ed6ebe9823cd7f820e06cb10014033a4f6abb914969d0a5b03564385910af2569eb060c6065b7d1ceab5bbe7ef"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-ES/firefox-48.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; sha512 = "9e93a646c345a5c129bd9472601dc9d1cf3955ee0e6ad44a4b55f2dec7dba7d133c865d2c8b59383f48b1a870e2e02f781c93ced3811b03873e9c2d241ba0513"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-ES/firefox-48.0.2.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; sha512 = "488b79aba6acefe5a7973d63ba034eacc8894fd2e5aaea6c010af84975f45f00c49e85c003e876f1636a00dd396c6071511c84f61c0b6961ab677cee6b31ac3b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/es-MX/firefox-48.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-i686"; sha512 = "d2c353bc74b35d13f0e018ac8f8a1c3bba211524269b82188504e4b76701a2db2b085bea9c293caee4cd8ea8251d1c871ef0628bf7fe17123a0ca4475611dcc2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/es-MX/firefox-48.0.2.tar.bz2"; locale = "es-MX"; arch = "linux-x86_64"; sha512 = "6bfea70619b2d9e853b36ad93ddc4b5b09c98279541eb737dda98009e61642fb9066ea097230fdfd942286d94fe512365fb48fa30ffddbde898589a471e02f89"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/et/firefox-48.0.2.tar.bz2"; locale = "et"; arch = "linux-i686"; sha512 = "c527a2736b3fabb6b248816e04373235281a5dd0f1275108fc006db1f2e48485bd5f413169f698f94d015aab2d6d8a00ba638a35eb574556453af2b8a2c20172"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/et/firefox-48.0.2.tar.bz2"; locale = "et"; arch = "linux-x86_64"; sha512 = "f3fad1f2f0256d0bdfabb3ce20eb475c1f54c762e3af1fec90565eb18cd7ef3603586c79821bfadca27eb7db42aad3a887abb348f955d394c8bbaad909314ce7"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/eu/firefox-48.0.2.tar.bz2"; locale = "eu"; arch = "linux-i686"; sha512 = "772423ee4b87e308d1dbda39265e6671a6576c3b950abcd2dbabe2491a8cc5b5b6fa8ddbb00504efa2f5f43b59339423ef1347a3a92b8f00f61ea4be5bab2c20"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/eu/firefox-48.0.2.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; sha512 = "0b87aff412594848f1aca67e766c2423e1f28ad294a42feb894a69514fbd97efe97e6c119a19daba21c8d09f6e205ecc94bf1c4d150a5b684f7990494dcd2524"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fa/firefox-48.0.2.tar.bz2"; locale = "fa"; arch = "linux-i686"; sha512 = "9d8c4f63297198054074bf244f947cb92db29f70695c69c6fd54cc18844653e4dae1447543c8ad8b8687c20231d72b6965e59d552aafb6f4c35bde89839b3909"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fa/firefox-48.0.2.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; sha512 = "7f3248c02c142ec88a9a32eed0a3f9802b6ad18a6fa56a28f2b5fd580ca917850352bbb4193559686f9e95f53e8e85727afd500eb03e3b5181180a1e5022328a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ff/firefox-48.0.2.tar.bz2"; locale = "ff"; arch = "linux-i686"; sha512 = "fc160572277bfdb35cd3fb9c5a5b0a39710c78de4782ed679b96ae00c6cdf22b14d99d62462679bb4ab9bd68b8f7dc3cf43fb390a382e31120c91b24a98993f9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ff/firefox-48.0.2.tar.bz2"; locale = "ff"; arch = "linux-x86_64"; sha512 = "c192466b8f92186a80895f5bfe1094747b214ace2135c72cbb19bd71a7fb7b77491c8af4648a88dcbf2a1235d73a408c6122d7b46fe923633bce8d7113f03298"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fi/firefox-48.0.2.tar.bz2"; locale = "fi"; arch = "linux-i686"; sha512 = "98bb77f6ad8b39d506e4fb0666386332fa22f01f4b7362fd614ea951c3520b7f692e8282d1aa175d94d43c46c267c941d4cfd0d19b454a7345ce13f7a264b6bf"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fi/firefox-48.0.2.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; sha512 = "14bf0b3a34dd2a6a7b5d0dcf8f5c0313e643f8a730afda92ab94afcf8505bed895724098e991c28344851288180d25e18b5327c44c742918d7e83007177cfb6c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fr/firefox-48.0.2.tar.bz2"; locale = "fr"; arch = "linux-i686"; sha512 = "b6a4ba15cc2c4d0f9aac90789e86f69d983e7dd33b744d213fa856259b57192e403ec67fce870d710782f0c0d3c24ae23a38bcb101d60efc967e87bf9efc43af"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fr/firefox-48.0.2.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; sha512 = "dba11e63b3435fe2665f5437147d854ac590394e1f270bc0ea9638f0f8622a8639ce54c74fb2ef0b75cc6df2eeaf28fa21ae4aec6a41637fa2b107581970ec4f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/fy-NL/firefox-48.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; sha512 = "6be75948bacadfb5de5f49f5a1455294e5a511aaa30cd9575823c91b304b1f433fa5e10c146d971497f23052e6e2db2111d740ffb9e48ea8aafac81fd5477ff8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/fy-NL/firefox-48.0.2.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; sha512 = "6e7e28ff66b29d39e87625711da4d83e376cca5521f8734b25b60b34e9bd350fb6b24a982306b902bfacbf367d9ebc3bb0d1de0d9d4f7fec39f5629aaeaec79b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ga-IE/firefox-48.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; sha512 = "22a3def2c74cefd8d7a254f4b746b1d131d9bc508f686c2027ad29bafd31a4e414d10a94d0c8c8ab7a4ac59b8a453e98183ce5e7597fd1624710803c139e704a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ga-IE/firefox-48.0.2.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; sha512 = "cc5ada6a14ca46a89a8d20deefd7da57b012ec1cf2a271e6327de676639217b67d60208c9bbf4ea88418b5447ca62dd2addc584613e55a51afe04b3fbafe4a60"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gd/firefox-48.0.2.tar.bz2"; locale = "gd"; arch = "linux-i686"; sha512 = "1c25a5d9c95c38faa1f9ee2709b1dbd2c3adad7b7c0d18a56dfb0e16b61cb0b47683e259d2876e2cce5a25c738fcec422939e417e3cc71229917af043a6425ac"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gd/firefox-48.0.2.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; sha512 = "c4f68019652565cb4fd9c3f7da7ff476442a6d2f168531db40f29524bf4b4961b04de98effefdbff935c8a7bd110fad0cd72aa229500348bda16807d55fa5de6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gl/firefox-48.0.2.tar.bz2"; locale = "gl"; arch = "linux-i686"; sha512 = "a74a1c2f18c2955f643315bf896d7ad2ca2b0f42c84622244c8ecb448911acb9a8aceb27e15b7f643c95293d7afef625ad7c6b927732e670f811a99287ccce3b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gl/firefox-48.0.2.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; sha512 = "51cb84043f5bccb269c39fd7d043445d70a750ebc13fa85d902aabeafdd72d6696eaf0b955a0e040abec44c9134ba6709b67f7b635b80ad45eb78fa5a1013d44"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gn/firefox-48.0.2.tar.bz2"; locale = "gn"; arch = "linux-i686"; sha512 = "f05f87f4be059f08a874cd28b5eea0a8be071bf548e726f9e14a47f0d96f9d0d9417cebb92919020fd5fc40801e83455a543270d61ce83652909508eac43d5a2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gn/firefox-48.0.2.tar.bz2"; locale = "gn"; arch = "linux-x86_64"; sha512 = "29f9a5895df46fb1844e447b1289b791d42b14250f814875afe67873cb00aba43d62175f29debc5d099abb9b0b4050465d2180d25987ec721d747ab46f433f47"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/gu-IN/firefox-48.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-i686"; sha512 = "b45dcf6d34b54bf69f36f49fd71589257ed6ce039315e50737c2ef4434917fb6b8dac18a4ee903575808d02762282620b9830c564578b87c1d4a5bd5a2234d30"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/gu-IN/firefox-48.0.2.tar.bz2"; locale = "gu-IN"; arch = "linux-x86_64"; sha512 = "efe560a176f13da9995ca59e5b8858d0c7a06c91aeebf361affcbecb0f0de88c977d33b15eb8ec9f80f305000b0ef2b621addf44cfa9ff4fbfb740b937b441f8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/he/firefox-48.0.2.tar.bz2"; locale = "he"; arch = "linux-i686"; sha512 = "314706b90bfd6ea3c94c28f880284992b0886897a4576c5c55b6bc2b02aa31e7050ccc11af1d5a085633a7fe65dd5fd03a435fc378c64ca5ddaa10ed91853f58"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/he/firefox-48.0.2.tar.bz2"; locale = "he"; arch = "linux-x86_64"; sha512 = "44b716392d79a000732a3ce2737f2367f65d855481c7a0d75f33898812a49abcbe73ed6c57a983035a6628b5f80ecf3921a336e4f45c964a7d52145c71c73b48"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hi-IN/firefox-48.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-i686"; sha512 = "03b36a04acfaf4a2e79a0e34368292723aa9aabbb2f4a0f0508dc8a7c7511133d18973ae08fe00b2ea571976ed6acabec44092694fc230c4cdaeee174d6aacb5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hi-IN/firefox-48.0.2.tar.bz2"; locale = "hi-IN"; arch = "linux-x86_64"; sha512 = "7d1b3d4e3b33c61d63671f4ec4a36e422c2ae99c192231bfd70d98c68b81a8ea61b0538e8efa47a3ad4b23ba58e405dcdd8044a7403aa1ff241aaf4ab76d4eec"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hr/firefox-48.0.2.tar.bz2"; locale = "hr"; arch = "linux-i686"; sha512 = "eb445e988d3ad1b009c1a8f92e07aafc38babcc8641c92b161efede4b7079731e72140d609cadf6220bbba23e3146ccabfd7fe875836c962ca4b12f451e8ac00"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hr/firefox-48.0.2.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; sha512 = "dbb8fa4458a36c403f68642c41c15fbd9cf1e7a703805ebdde827b9bf25752885c0263c1a604f37d0508994513259a2e3719b288fa9ed4d0b563d82e0e5f0dd9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hsb/firefox-48.0.2.tar.bz2"; locale = "hsb"; arch = "linux-i686"; sha512 = "e2b7c81ff1c57f1e656169fd206f33660718278468f062e46249b875babc6598857bcfcb884ac658ebe907e745413c82d948d8bf7a0ec34617a55cb0ae90f7e9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hsb/firefox-48.0.2.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; sha512 = "14544652977e0faa49cb5727e283e1e6cf59df14194b67777ee151e37ea68c53ed8efb2b5000233ffe8efa530ca881d4e84a7b5bf281a0f51d8baffb115f11fe"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hu/firefox-48.0.2.tar.bz2"; locale = "hu"; arch = "linux-i686"; sha512 = "072c40fac3ce476abed251140e71b1c537aa61ba29460bc26a6cbf224a43fd926cd2e690929c108e0437537025fe0a45fdda71fc2ac6637385a0e75678330cf8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hu/firefox-48.0.2.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; sha512 = "e9893aaab901d03e9563bf84839577d55942f8d78d1f520388922392d7e7101d7752354816696f6fb1ab77bc2473b0cdaa7b2c62d6412c33c6616353f0b9a984"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/hy-AM/firefox-48.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; sha512 = "bd4f2e7a1c9c7ab1558caced2716acd3e0d3441873dc00f1fcef9e20bc2b25e1d3ec3d520a378c3b8fe9bac36a500d745516f16f14aa9b530c9ad940565690f5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/hy-AM/firefox-48.0.2.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; sha512 = "e36ba4db7706d08d03c84cf3a78c20c60e7e67ebed01943d54b1483ec86e5b2f17dc7a1319c29863e7f6fd3b35ff390d1b462692c06c8ec26c164c0daa251dfb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/id/firefox-48.0.2.tar.bz2"; locale = "id"; arch = "linux-i686"; sha512 = "61cba41c80783921039ecb5038bc16da52e8191e38b8dd8d276225fe21f6bf1c8628d0e8f15292e02fa07a962ca355d7173f0dce6cd3b2259f87b823d2ce70ca"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/id/firefox-48.0.2.tar.bz2"; locale = "id"; arch = "linux-x86_64"; sha512 = "12ca05a297c65780d1a2df33aec2bed06498db34e98283053b1f7082e96fd83f92d320a8db91d7e4bd44405c21c5d276913f47403da479cacb3a082f6d1e43fa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/is/firefox-48.0.2.tar.bz2"; locale = "is"; arch = "linux-i686"; sha512 = "7df3200095a8b8b02bbf41f1a160e4557e059e514ffa4ef25c0dc0e274c319677d134cd8d2583e4ec51bed68091ca7cb8b13bf6e26afd682398ed285dc055da7"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/is/firefox-48.0.2.tar.bz2"; locale = "is"; arch = "linux-x86_64"; sha512 = "c55649493a8bd47a9d53ffc8d6c22f741550fc40124f54bce320c96a73316e6c48229e12d0615c48b55e873b3ddddf38320987af5a109db68f53646e3c8206a1"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/it/firefox-48.0.2.tar.bz2"; locale = "it"; arch = "linux-i686"; sha512 = "f42fc4acdb2f30650c62dd8ff440e1def00920a1481f8f008565517bb535459773f8c7a39d7d89edcac91b683f92eeeac41c0c4d4c5d4fbf6d74f66ddf528a07"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/it/firefox-48.0.2.tar.bz2"; locale = "it"; arch = "linux-x86_64"; sha512 = "c7828610404f8bf93f3dde1feaf713e3111a7d3a6db792b013ecfc0dc225782d537d5842ac35af292451a7c5e475407655f246881472575d2912d0c607b52c30"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ja/firefox-48.0.2.tar.bz2"; locale = "ja"; arch = "linux-i686"; sha512 = "9464f9a33ca3d0fbee32df31d1fe677ff298b21209986db8cc4893ff9414a96b885fa408f36d32c95e68274e2815a77be02c3859754c217874a5d3c0b6d280d6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ja/firefox-48.0.2.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; sha512 = "d150ad3102d90bcb755bd91c9960710c64518b7ffa445a6f4e15055a449eb9aeb4203084180cf2234c000dbe98620ac91fc9dc453415cb7e981457c43d08ae4f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/kk/firefox-48.0.2.tar.bz2"; locale = "kk"; arch = "linux-i686"; sha512 = "d28ad5965aa76f2525164045a06118a289cd543b1b9afd7e0681da4739467858a2c1eaf3a7aab1002c3c18d51a3a5623801d974c0230b78a07a664016d302b33"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/kk/firefox-48.0.2.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; sha512 = "4846ea6f4834cb21b609d1c71b3efbd75bc5a98b63cda04d152c18e0b22ff5980004e01d09aeb83a108ba2c401e655e5b6b2e5ea1a2e9fd707b1bb409c46f3c9"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/km/firefox-48.0.2.tar.bz2"; locale = "km"; arch = "linux-i686"; sha512 = "6d3fca317792c6929e55fc0757f72decbbd2f714f259fe53eeb549d0b85984745dd1177aa15d68bc352a541703d1d3f4983943b03c4d3cdc2edb6e57c1cfc2dc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/km/firefox-48.0.2.tar.bz2"; locale = "km"; arch = "linux-x86_64"; sha512 = "c719b3631626d57da3d14a1ae356122b3df1f3c92a1633e2f85ecdaed9ac83abf066cd2ea5ce679e6e38dbc1d1f6839e2f3df9ff2f8e217f25bd25900693f47e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/kn/firefox-48.0.2.tar.bz2"; locale = "kn"; arch = "linux-i686"; sha512 = "76faf5f9b98e4a13a42c71df7411fa51c0b6def1d973970c149b18adfa36b2e2eb14c94e3371d303abb3d0c7e226d9d42b15cb7a77d161fe404a4c567fea01ca"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/kn/firefox-48.0.2.tar.bz2"; locale = "kn"; arch = "linux-x86_64"; sha512 = "a772a4adf418adf933bf82379cc3b69c4f5e426ed63d4d6458a87b005a59070cd035a483718dedb433d9401f4da4dbec70e0a5e920f5046478a1aaa4547547e2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ko/firefox-48.0.2.tar.bz2"; locale = "ko"; arch = "linux-i686"; sha512 = "0ada95e8e3367ac30c91be660a037de18c5bb9edaf10d8a078d8c5f37c954717c3e33b710249274faf5e95409f9f67cef28f28d2ab34e452deae4fb66ab01bad"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ko/firefox-48.0.2.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; sha512 = "dda86dbbd40721ac85c9b8486dd54a33fc5978ca79312cabfeb7700e0fbba809062c3b6be61e6c784c6b479f435d4ab886c2a6788dd115585af9e9f277ba6192"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lij/firefox-48.0.2.tar.bz2"; locale = "lij"; arch = "linux-i686"; sha512 = "f9053b301331d36710e31fe6d2172a98af5219e9900d60810bb02eaf1f19e6f4db6e0500de6ef6e77acd4705fdb0bc5025e9db52ef44bb79d82c674b53eee6e0"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lij/firefox-48.0.2.tar.bz2"; locale = "lij"; arch = "linux-x86_64"; sha512 = "63a4b697a1295b92b93d8602abb027be6a07cc58c45ade11957f716d91b3670015901ae6f5a667c4119798f4135c59be128f3c8e97c7ed6dc69b7f2f40c7d58d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lt/firefox-48.0.2.tar.bz2"; locale = "lt"; arch = "linux-i686"; sha512 = "77dc96b596e3010cdad83d3ce2b23f075672ddae73999652fbff24c85ef7ec0a749c1793b77eb7d34bb9c8beb6803d97c8ccc84b8f6ec02a8629c895d1a3400f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lt/firefox-48.0.2.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; sha512 = "f7252d515e700fae4ffe31219b0135629d50487359947ad2b6d7a61e578b20997b95c4c2a7930b93f1b59ab9262a8b28bcfad22c14fc98029043339e3f2318aa"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/lv/firefox-48.0.2.tar.bz2"; locale = "lv"; arch = "linux-i686"; sha512 = "44d97dc8855004fd91b96155592edd4f6ac9e92257814eae2727df0a4e1df496e1be13fb95c0e2ba6d0e31e8ea12df659317cc5ac8d005322075c9d8d13a67ec"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/lv/firefox-48.0.2.tar.bz2"; locale = "lv"; arch = "linux-x86_64"; sha512 = "1fa86b8f8cfaec70db3c6033276f1b5a943e2065d78754f873c7ca99897f0195e0793bec936d2471b814a90c5a211a9653d8ef5480d64cd1fa9c49d7f8ed34bc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mai/firefox-48.0.2.tar.bz2"; locale = "mai"; arch = "linux-i686"; sha512 = "df4e98b7414b58c145e7fe82b78c66c5d8a7fa8dbb34f78b91f9160ce3bb9e22ab065485de15e13d3660186760a9cb3c88403e8955ad092064eaab29f8dfe9b2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mai/firefox-48.0.2.tar.bz2"; locale = "mai"; arch = "linux-x86_64"; sha512 = "7bf726777eaa92f4a18107c4be48024cb2a7ae4a3aa9d94cf55a6b0fa46ab7256f097e7f7c610ae1f748c376063b7dd275f03dc7664e86fc738b867671e5d231"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mk/firefox-48.0.2.tar.bz2"; locale = "mk"; arch = "linux-i686"; sha512 = "7c48c47f916ac8389b5b10bae29d40820b59b3e52fc86b1408c426f4ed662f49243fbe6e7267b17ed3ff9dc179b435fbfa2516dce974972097fb39985039b4e3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mk/firefox-48.0.2.tar.bz2"; locale = "mk"; arch = "linux-x86_64"; sha512 = "b184dc34a47a9336190ff0090140b47ca345b9445dfe40133ed08ba30bb9966e1f7b5488a5289ddc4d84cb4de0b7121824ed6570afe857f0da8ebf6ab26a5c4b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ml/firefox-48.0.2.tar.bz2"; locale = "ml"; arch = "linux-i686"; sha512 = "cb363c7b01ba9d252375b4f01d9515561bec11d72655730aa7c05d95d8ac4ba58288c64638543bcc48fb36387e6ea4e4604f34616d8b90ea068e09f7bfb8be61"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ml/firefox-48.0.2.tar.bz2"; locale = "ml"; arch = "linux-x86_64"; sha512 = "789aaaf1495740adbcc4ffc90ffe0e3dd2b7d1822444bea6676bddcad228aaecb0a67916560cac892067383f2faca06b066782e8a40f39928e7cdf2370a3f0f8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/mr/firefox-48.0.2.tar.bz2"; locale = "mr"; arch = "linux-i686"; sha512 = "d6a45cf0bf37fcf67369bfd9a3e0fd2a3fa4b1538a905e419915d5eaa350f812739de97179f2efcedf5aa2fa0571f555fe4012bd05a39adc331a34bab934808e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/mr/firefox-48.0.2.tar.bz2"; locale = "mr"; arch = "linux-x86_64"; sha512 = "46bac718bade7205bd307b7c1ec9957d245c18d305f08d9c2263e070128f49d4fb7e4fbd3b1270866a1aeae8e726a21e7befb884af8d86bf323bc6723cc05c63"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ms/firefox-48.0.2.tar.bz2"; locale = "ms"; arch = "linux-i686"; sha512 = "490fc881444dcdda259719b2545de34b8a3759d6f13a4d66cdd449fb629948bf6ded39576a2ffa53ef6d83ff16854c8c0b8521001ce3f43abf1f35387c8d6191"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ms/firefox-48.0.2.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; sha512 = "fc4c0588aeec05fdb2d65adadbacb210d04470e9588b3950d2011ab0e667311aed76262888f9870a4ce409370d8ed19b3d481437bef72960b151f76d0eb7ecb4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nb-NO/firefox-48.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; sha512 = "d75931b47ede66d7c5025c4fabfdd918f21b0f66a9d8c2a5e772d3d26d941926da4f0852ac8dab92dc9236a0aec4b5cc1eadf5132d00721a91676cff1d7076cb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nb-NO/firefox-48.0.2.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; sha512 = "e42a91e469b87235a8deed1e4564899287dd568d0ae93ebe139d499d9d5f59aafc327178a86f36f5f44d90ffb404907c80643f00f1160014708f061afe1e17a6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nl/firefox-48.0.2.tar.bz2"; locale = "nl"; arch = "linux-i686"; sha512 = "e0dbe6187eadcf305546f2916c8d21c6ae6dfa634aa30b51002a8d2ddda412cb35fd2c6cf5a44ab42c9805ec3a6c3322132e5121b04476935d7f67d30291011f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nl/firefox-48.0.2.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; sha512 = "56b674761390018c7bbfdc8523b0ccef1d66576478cee43a6464d6df3e0da741ed9775e7ab48abf57028f62f43d91d8a0e7b17a8ce301c87ee576f9daaceb1f5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/nn-NO/firefox-48.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; sha512 = "a18693969b1d3f8824ecdc705c3b577dc1288cd5ba47ca0e3cd8e88d0a5a01927f87e56a2beff62d3ca9e6aa325619221f2f134c8c95b0687a49bc0f2cfc2ada"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/nn-NO/firefox-48.0.2.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; sha512 = "73874b50e63de07f73de2feac7a907dfb4e0eb014d913ea433c2f7d3ce9050b8ba811b72884ff7129a149ee38a30603246aaa55d81f11bb80e9fdfff87ba9120"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/or/firefox-48.0.2.tar.bz2"; locale = "or"; arch = "linux-i686"; sha512 = "de8dc3c4b91e96c5e49b32197e1351717cd1b359ba3802c9f0fd39516f25d4df7a9a57b4d4058d32e1d31af3c0ca8e1a8fd3fb4edbdb9718dc51f0881499bb0e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/or/firefox-48.0.2.tar.bz2"; locale = "or"; arch = "linux-x86_64"; sha512 = "999a71a5f978e2cf507966ac465ae170b4c01602c703b7ee85fa02224c8edb0f789d35bb0a20a5f72c86782a95943e9f8f4bfca301fd74ecc7f063f35bfe1f4c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pa-IN/firefox-48.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; sha512 = "7378012baf763bdab21238f306244be208c20ade796cb15e2801133f0ac8b00cd92a86403d9591d5c2af94ea6fafd7162953ce88b5e9148fd447118128b2398f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pa-IN/firefox-48.0.2.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; sha512 = "b20490e7303aeecb8d7b158464dd1a4f4b70979d74d0c4f2f15661abd0403dacb4674ea1bc2a09ce5b04ebed2987eab4475e839786e63dfb2f1eedfc44ec021c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pl/firefox-48.0.2.tar.bz2"; locale = "pl"; arch = "linux-i686"; sha512 = "e0cf99f816eeca80e7f2a5344b11202be124e1fa1f7a2c206ffb5c349556e0a2d5a7a3c653538bbb867c0a4d19eb9126c947806e0f021b68a9268d1913a178c3"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pl/firefox-48.0.2.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; sha512 = "fe27c64b344f6d02e09e240f1a8c45236c9632c2ea9422ede227ef4c1890bb81c049a8c320e4a53cc818c129927e289f8279a64cf15655563958af23b4ca7076"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pt-BR/firefox-48.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; sha512 = "868461b1d4d971ae4af0010bffa03012940758fd5ae10c05045c77fd5bd0f50997775a1c390f1cdc553197eceb583de47659ce84055145a290ca81e6e66a0a36"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pt-BR/firefox-48.0.2.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; sha512 = "ff50b389d0c653db38a4ab8bf3b28095ca81b30340e973315bfccedfc737e9e853711d813fb08c52178e9948f49f7ec1bf7ae7958d611c1998fe938a9478b657"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/pt-PT/firefox-48.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; sha512 = "6a786c014c60268c8d24ca99e40106571fcc1777afef117a0125f7a78658f41cdcab4b16bfc2dd4c7ee520af0753b0b4180fcdcf32eaca8dfec7975146a08a60"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/pt-PT/firefox-48.0.2.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; sha512 = "56e911a6b2839a10c3d06b76bcdf0b746fb45fa0ced80c466d240a31cf7e6aba6df21b98dec1a4d3bf11baba2f530dbf06d1f94706b622acd2b08f2b2ef9ebf4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/rm/firefox-48.0.2.tar.bz2"; locale = "rm"; arch = "linux-i686"; sha512 = "88fe9ad3d7afc11e195f40ec0bddb4ab5e04446e08f9317f82733e32e536d32b2a68a1ebb235f8cca828555c4b315911dbba178159f12f8bb2cad64a8a44511a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/rm/firefox-48.0.2.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; sha512 = "5153adba79e65368d1e901dc557d311b637d8e9b0506ba979246bd1ab6d5e31e2d885a73be704488457e051e81467412bd45a6c74d30e20198d9309f6ce59dd6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ro/firefox-48.0.2.tar.bz2"; locale = "ro"; arch = "linux-i686"; sha512 = "faea58185a6bf7d57134b218a058ed4a3abf4d51dec96a5f5dde0f04daf2a2c8c76846bef8b8b43ed7fce05b4c6431fad52ee61f4e47ad62be95ef8b8914a726"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ro/firefox-48.0.2.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; sha512 = "319792a258e2ba40cceeabf5b0879c2572811484046bf34fa04b213c083391de20da1bcdb654294ac961a8b818f0c9c9287f32948e65eb50f3a85f43b15e538b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ru/firefox-48.0.2.tar.bz2"; locale = "ru"; arch = "linux-i686"; sha512 = "ec44f3a0d95beaebf99e9492c7457ecf3857899d4587e8d27ecbd2205d5b4a1c1d0159f471ccdff01b5d9efdeda9dcdf28bb84bbd12c73e676ea0baeafe0afbf"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ru/firefox-48.0.2.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; sha512 = "3525382dcd7b2ee2f3ce847245216c0b8925679d539ef2f83e43d9062be06724db6f66b9b4747f3e20c5e7355e4b6ecabd816c07f201f2afe921570905cd0a3f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/si/firefox-48.0.2.tar.bz2"; locale = "si"; arch = "linux-i686"; sha512 = "6cb64f9fa85fe4adddaf68f0a221da8b2dd92625b2302102ad530c15d51c6ca1994ba53a300ab1c054da1fc20c5073deb308a46060ee6d7ab6ca843a930a6138"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/si/firefox-48.0.2.tar.bz2"; locale = "si"; arch = "linux-x86_64"; sha512 = "499dd5b16a48ecca536379fec41fc9ebefc71ae12963bac44dd0d76014709e2ab219869f3b3fb08f5196b051ec8a7e519fb994b15613559b38b35c4e6d8bbfcc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sk/firefox-48.0.2.tar.bz2"; locale = "sk"; arch = "linux-i686"; sha512 = "11a73be8c2f801be0a46831b81980c2a9b2b9a4a645a710d01fb0d9a8e2de91ee18ea57c23b73b25e091bf88b15351a8fa261c349e9768d200172ea053e5c465"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sk/firefox-48.0.2.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; sha512 = "07e1462282e2484b58ba6b413034081a3e99ac907d7285f207530cb46d6ee61a6b166bb9d8820ca696789b57a0dcc3c1dc058975688d06b63b32f8a7a65974d2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sl/firefox-48.0.2.tar.bz2"; locale = "sl"; arch = "linux-i686"; sha512 = "64d0b5cfefc8e98c8ede5497164be13854334f72d1e526a08d43d6712e6286ae509347805e9329cb38bb8f4708615d51e56221309198071c0b6ecd6c7dfdfbb5"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sl/firefox-48.0.2.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; sha512 = "d6e727ca07084eefc02b2287a286daf6302ea0cc3c8fcc22f238ce2c9074e95c0ec031068acdeb34277786670a91faf85027c9ae5acb963d150b1a89e534f98f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/son/firefox-48.0.2.tar.bz2"; locale = "son"; arch = "linux-i686"; sha512 = "9ac81b861b81d7cd4e9e71b6cf72a1bd8469c8190371b93b41034596148d831ef7f231b84de9cb8e520d7e3e92e83fdaf2290bca5e9c578ade17e0dfab41293a"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/son/firefox-48.0.2.tar.bz2"; locale = "son"; arch = "linux-x86_64"; sha512 = "9759f52732b9a84b8c6b3237356b0ec1c2aa0a2a1db79164cee491e761a9e10d88e931f73a5bbf0b7ed184738c44d12e542903577e1f0811f823853d43daf2d4"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sq/firefox-48.0.2.tar.bz2"; locale = "sq"; arch = "linux-i686"; sha512 = "c7bc8ec81124127735d49d74bb12b77de24a5a851c34c3728adc752596e04c6b1ebeaf1a361fbca36631135cd9e385664adaef4d3c76ecea4d41cf88d7b6adfd"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sq/firefox-48.0.2.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; sha512 = "aa7b7c20f372f23d507aa7bfd088b2d2306b267a3cbf1b0004400d29b96187d9ea74a77933b9dcc42ef081d7dcb8db56b397d37ff001c61bed22976a6435d3b8"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sr/firefox-48.0.2.tar.bz2"; locale = "sr"; arch = "linux-i686"; sha512 = "cdef642d72e3c3e33c1e2cfb8a5005249719390ce732b06ffeb15b01a77539263605fd8657ac8cbe8acfa2c92b2e1c0dd2168728ae2578e25453d6d79c06a17b"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sr/firefox-48.0.2.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; sha512 = "f12bbabaefb8811d3babe7b3673fd7f281645bb8bba0372594cca4fee4e0b81afedf46378fef714c1e624ede6039c913f66bb227a2d076a6950a0e623606adad"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/sv-SE/firefox-48.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; sha512 = "dac4342478d5a8e2743c6cbb44f58774be0b9bb96d9ec7a94b4ef41d093e76a511ff914d323ee5aa55cd8a00292c477e41eb0bb9fe37cfd91c89fae432a661b7"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/sv-SE/firefox-48.0.2.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; sha512 = "44323f6ff400058dad98f2e7a2f82afd52d706fecd34e7a6dd1780f45b6af77d2f6e892e2aa33784e4624f40ec5251e494ad0b8f95bbc11351dca94c599b405f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/ta/firefox-48.0.2.tar.bz2"; locale = "ta"; arch = "linux-i686"; sha512 = "cac58900c6d169d1ef3828b4627c36c86224e21a011141c8bbf9fd3df3ea3bcddb5ba821d7d8ac9f5e6f5e348d1ae3cd92cbf2c151d380c22cb925f595cb637e"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/ta/firefox-48.0.2.tar.bz2"; locale = "ta"; arch = "linux-x86_64"; sha512 = "38fba18d8edc2a4fd614a39b77aeeafeafea98e1dbc3bc2863284bbc2b7b07d28b273da9e3fa0bcabac90bd8049dc295db3d28e0dd0f1f522bb496f06d7e7c5d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/te/firefox-48.0.2.tar.bz2"; locale = "te"; arch = "linux-i686"; sha512 = "25adccb31523a1159fa9022791198869d87c8ef44deb8e3d7626a2500ddd82fa977d3c294d755b7e0385eb4dc80e00067091da78c65ece26e45b3ab9f2a4676c"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/te/firefox-48.0.2.tar.bz2"; locale = "te"; arch = "linux-x86_64"; sha512 = "550ba329d8c968fda79d0dbc7291f83bfd66227ba60a79c697cfb29a81216d3323853a651e401a0a8d02c658093330470b42bc0b91f4e27bcde368b33072ed8f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/th/firefox-48.0.2.tar.bz2"; locale = "th"; arch = "linux-i686"; sha512 = "a41abdaa15a97e55e0062a9f114a80bdc0e750112c15fe7204124aa1f9e54ad3caa1515caf145cf5e5269f41d1b32d8a0c2fa6691612e1b36fbcbc685ba17f79"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/th/firefox-48.0.2.tar.bz2"; locale = "th"; arch = "linux-x86_64"; sha512 = "ecd440389c07042aaf7aad74a135562eaf60c23f840bea0b9b3b62438610c0adf8de1c2ca57ab700f70913ee498317d92fd1c00f92d1af5d6d50a95c15d9bf72"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/tr/firefox-48.0.2.tar.bz2"; locale = "tr"; arch = "linux-i686"; sha512 = "06b828afd3c9a89aaa448d9a8e18579142cf19d0008c409e115bb0148c4cb298eb2e896bdf20f3593f5f873489eb9b701104643d6088218c98e7b2ed44a6a775"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/tr/firefox-48.0.2.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; sha512 = "3107986002dd0b05fc10de856a532c40d5c38291bfbea07948b2c4fefe9cc2d4f5d8567b0e9856ec7fbbc7004078bc485a572b1a1dacf444db5c71aa7684edc6"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/uk/firefox-48.0.2.tar.bz2"; locale = "uk"; arch = "linux-i686"; sha512 = "9e6d5854a468c5ecc942735c89d740fc8e304053f6e07a9caa3960dbf95e4cb9a6c7c0dd2e9e951bb49314c4cf0385a5a99ad7df6700ba21b9816f6aa3c77689"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/uk/firefox-48.0.2.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; sha512 = "ef021c365d2ef8d2eeaa6a92ac5d9d979361de30e2de06c7442f2085d66719a9fa876f77393737778f5b8afa29cff1898a0ac638df2e45b6c54e0c25c7c9b2b2"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/uz/firefox-48.0.2.tar.bz2"; locale = "uz"; arch = "linux-i686"; sha512 = "d15770f8b6db9f55ecaff13d27a0c2559c032870873930c420fcd2d94c79ef3853138e42fe4205b5ac8af33aafcd6b2130c712025ef49801717b153e416058bc"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/uz/firefox-48.0.2.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; sha512 = "4b47c53585f3ed44d80d0099596ab710dc6565499c2f9ce0ed38ac24274882d5bdab16260c4c67c73b1b93b4fe9a8ceb0ca135b2d432fdae28c91025d1cb2e9d"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/vi/firefox-48.0.2.tar.bz2"; locale = "vi"; arch = "linux-i686"; sha512 = "2d2dfc0c5515dac6bbc337acb41d72aad101837caa75257a1e369991ca93dac0bbc4cc3b31c8457f76ccba18afc9751eba33b9f602777a65d65da5ce0c208858"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/vi/firefox-48.0.2.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; sha512 = "7afafaee8de0e47d8e9919bb60da7cd361b18ee15b764522d9609e44e1aeac3ca8b5ffa97c23430a66efc4f38c28a5ffdc05bb4a46734ad2e3388f587b16110f"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/xh/firefox-48.0.2.tar.bz2"; locale = "xh"; arch = "linux-i686"; sha512 = "b86ceb71c96d19e92af81604925b005eef63c7a55ce5fd9c1176017c9938389c30a5d91134c3d900a4a0635dcad7b25233f39848f9b50fee4e1ca1520dcf2c95"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/xh/firefox-48.0.2.tar.bz2"; locale = "xh"; arch = "linux-x86_64"; sha512 = "c6ed1a65b72d6d63b4c031da93fa1e07cca97027d2a3dedc15e9cd2ffc21b371236e1b2cdeae02534e37c7efe6112cdbce0e5924e872c76e057cd59445ceef04"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/zh-CN/firefox-48.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; sha512 = "90ea550631d4b3a314b56896d1eeff147e42e41667a94f6457fd18cd2c4bf0e18ca3134e4dc20696a2a30ad9795cfeb454908cb99c580b30bd5eb147e53004cb"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/zh-CN/firefox-48.0.2.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; sha512 = "3ef020131a05958aff64d5d313aa8bcb92801d1ea0215406532efa55cbc66291d976e7aaa9bb11b38d35634d3e2ead7f838a7d908066e0b36b65d41767d38583"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-i686/zh-TW/firefox-48.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; sha512 = "8725261467ff069d523d6e813ca04a8912a21df2fada21cfc8c9442aada3a882fbab7468fed376a2a16be121caf68e74de21fffbd1b9345bd68923dffa2c4a31"; }
+    { url = "http://download-installer.cdn.mozilla.net/pub/firefox/releases/48.0.2/linux-x86_64/zh-TW/firefox-48.0.2.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; sha512 = "172fe85c404b8ae7e073e11953a74896a07238c89077fc487be2dbb52a43fa183dd1ec17fb43971b2ada95c8c85a6aeb2b5bd9b637f0de8a3322a57b18783255"; }
   ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/default.nix b/pkgs/applications/networking/browsers/firefox/default.nix
index d6887ae7411..3e93c560ebb 100644
--- a/pkgs/applications/networking/browsers/firefox/default.nix
+++ b/pkgs/applications/networking/browsers/firefox/default.nix
@@ -132,8 +132,8 @@ in {
 
   firefox-unwrapped = common {
     pname = "firefox";
-    version = "48.0.1";
-    sha512 = "819f726a7e630f62e3d4019d8289341019941df2288e67b1d88d5b16c3ce8636a852ae098905be4f8f2f2049070ffcd008e49cf148f7a6fea7332d223f14a890";
+    version = "48.0.2";
+    sha512 = "d5addb0cd01e2aeb0fd9387800e82e385f3986716887840322d261d772a442f6fdb1d910cd53f2373f0fb82ed0b2a45356ac83f3ef230e14a2b9db8999ad8a4e";
   };
 
   firefox-esr-unwrapped = common {
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index ac2daaa856f..c782b857e0c 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "4.26.0.1655";
+  version = "4.26.0.1657";
 
   rpath = stdenv.lib.makeLibraryPath [
     xdg_utils
@@ -43,7 +43,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
-        sha256 = "1y484cp77kz984z9zdsy6c4669fmwv2knc287c1v24s81p5pqygg";
+        sha256 = "1ififcy1lhm0g4x9sprwfxlg34pkarkypww5ywsf8hvbcdnj02gp";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
index 7f4a27cf9a2..f0243f45b8f 100644
--- a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
+++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
     version = "2.0.52458.0531";
     src = fetchurl {
-      url = "https://zoom.us/client/latest/zoom_${version}_x86_64.tar.xz";
+      url = "https://zoom.us/client/${version}/zoom_${version}_x86_64.tar.xz";
       sha256 = "16d64pn9j27v3fnh4c9i32vpkr10q1yr26w14964n0af1mv5jf7a";
     };
 
diff --git a/pkgs/applications/networking/mailreaders/alpine/default.nix b/pkgs/applications/networking/mailreaders/alpine/default.nix
index 424619010e3..22859a4c25d 100644
--- a/pkgs/applications/networking/mailreaders/alpine/default.nix
+++ b/pkgs/applications/networking/mailreaders/alpine/default.nix
@@ -2,6 +2,7 @@
 , openldap
 }:
 
+# NOTE: Please check if any changes here are applicable to ../realpine/ as well
 let
   version = "2.00";
   baseName = "alpine";
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index a714e3752c0..be4ce9e41f2 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 }:
 
 stdenv.mkDerivation rec {
-  version = "20160723";
+  version = "20160827";
   name = "neomutt-${version}";
 
   src = fetchFromGitHub {
     owner = "neomutt";
     repo = "neomutt";
     rev = "neomutt-${version}";
-    sha256 = "16xjyad435n03qvmqysgsf4k36cfcv2k4irg92ajhm4dbz9d9l3j";
+    sha256 = "1gam2iyy75drlp9ap1hlfb38i0p6zwgw09m08m5x50dbp3lxf7xp";
   };
 
   buildInputs =
diff --git a/pkgs/applications/networking/mailreaders/realpine/default.nix b/pkgs/applications/networking/mailreaders/realpine/default.nix
index 7ba582cdb5d..c196ce777ff 100644
--- a/pkgs/applications/networking/mailreaders/realpine/default.nix
+++ b/pkgs/applications/networking/mailreaders/realpine/default.nix
@@ -1,6 +1,7 @@
 {stdenv, fetchurl, ncurses, tcl, openssl, pam, pkgconfig, gettext, kerberos
 , openldap
 }:
+# NOTE: Please check if any changes here are applicable to ../alpine/ as well
 let
   baseName = "re-alpine";
   version = "2.03";
@@ -23,6 +24,7 @@ stdenv.mkDerivation {
   configureFlags = [
     "--with-ssl-include-dir=${openssl.dev}/include/openssl"
     "--with-tcl-lib=${tcl.libPrefix}"
+    "--with-passfile=.pine-passfile"
   ];
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 2ac4f76c736..26dcbe20079 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -107,12 +107,12 @@ let
   };
 
   stableSource = rec {
-    version = "1.2.15";
+    version = "1.2.16";
     qtVersion = 4;
 
     src = fetchurl {
       url = "https://github.com/mumble-voip/mumble/releases/download/${version}/mumble-${version}.tar.gz";
-      sha256 = "1yjywzybgq23ry5s2yihggs13ffrphhwl6rlp6lq79rkwvafa9v5";
+      sha256 = "1ikswfm7zhwqcwcc1fwk0i9jjgqng49s0yilw50s34bgg1h3im7b";
     };
   };
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index bd156680d4b..276550e3afd 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.4";
+  version = "0.14.5";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner = "syncthing";
     repo = "syncthing";
     rev = "v${version}";
-    sha256 = "0i1pgwy7vn2hfcqa7dvrrc40hzrzn47alvnxm058f2hhxjis3fdw";
+    sha256 = "172ca3xgc3dp9yiqm3fmq696615jnclgfg521sh5mk78na1r4mgz";
   };
 
   buildInputs = [ go ];
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index ae7ee63519f..ba37a3ef428 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
-, goffice, gnome3, makeWrapper, gtk3
+, goffice, gnome3, makeWrapper, gtk3, bison
 , python, pygobject3
 }:
 
 stdenv.mkDerivation rec {
-  name = "gnumeric-1.12.26";
+  name = "gnumeric-1.12.32";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnumeric/1.12/${name}.tar.xz";
-    sha256 = "48250718133e998f7b2e73f71be970542e46c9096afb936dbcb152cf5394ee14";
+    sha256 = "a07bc83e2adaeb94bfa2c737c9a19d90381a19cb203dd7c4d5f7d6cfdbee6de8";
   };
 
   configureFlags = "--disable-component";
 
   # ToDo: optional libgda, introspection?
   buildInputs = [
-    pkgconfig intltool perl perlXMLParser
+    pkgconfig intltool perl perlXMLParser bison
     goffice gtk3 makeWrapper gnome3.defaultIconTheme
     python pygobject3
   ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     for f in "$out"/bin/gnumeric-*; do
       wrapProgram $f \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-        --prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"
+        ${stdenv.lib.optionalString (!stdenv.isDarwin) "--prefix GIO_EXTRA_MODULES : '${gnome3.dconf}/lib/gio/modules'"}
     done
   '';
 
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index d91da6a57a1..6904d1873aa 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, makeDesktopItem, ant, jdk, jre }:
 
 stdenv.mkDerivation rec {
-  version = "3.5";
+  version = "3.6";
   name = "jabref-${version}";
 
   src = fetchurl {
     url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}.jar";
-    sha256 = "19q86xc8qr6j8zd9rsc6aa3jd4kbblkr6ik1h6h7npq012019adm";
+    sha256 = "140fixwffw463dprgg6kcccsp833dnclzjzvwmqs7dq0f9y2nyc5";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 284ea570456..40983c918ac 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -135,6 +135,8 @@ in stdenv.mkDerivation rec {
     sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
     # Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
     sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
+    # one more fragile test?
+    sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
   '';
 
   makeFlags = "SHELL=${bash}/bin/bash";
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 4ec179b8f6e..8739f08fbd6 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -128,6 +128,8 @@ in stdenv.mkDerivation rec {
     sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
     # rendering-dependent test
     sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
+    # one more fragile test?
+    sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
   '';
 
   makeFlags = "SHELL=${bash}/bin/bash";
diff --git a/pkgs/applications/science/astronomy/gravit/default.nix b/pkgs/applications/science/astronomy/gravit/default.nix
index 19fa277341a..eb5506e7490 100644
--- a/pkgs/applications/science/astronomy/gravit/default.nix
+++ b/pkgs/applications/science/astronomy/gravit/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, mesa, libpng, lua5, automake, autoconf }:
+{ stdenv, fetchurl, SDL, SDL_ttf, SDL_image, libSM, libICE, mesa, libpng, lua5, autoconf, automake }:
 
 stdenv.mkDerivation rec {
   name = "gravit-0.5.1";
@@ -8,9 +8,11 @@ stdenv.mkDerivation rec {
     sha256 = "14vf7zj2bgrl96wsl3f1knsggc8h9624354ajzd72l46y09x5ky7";
   };
 
-  buildInputs = [mesa SDL SDL_ttf SDL_image lua5 automake autoconf libpng];
+  buildInputs = [ mesa SDL SDL_ttf SDL_image lua5 libpng libSM libICE ];
 
-  preConfigure = "sh autogen.sh";
+  nativeBuildInputs = [ autoconf automake ];
+
+  preConfigure = "./autogen.sh";
 
   meta = {
     homepage = "http://gravit.slowchop.com";
diff --git a/pkgs/applications/science/math/perseus/default.nix b/pkgs/applications/science/math/perseus/default.nix
index ae63716f106..55293e6c8a7 100644
--- a/pkgs/applications/science/math/perseus/default.nix
+++ b/pkgs/applications/science/math/perseus/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchurl, unzip, gcc48 }:
+{ stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
   name = "perseus-4-beta";
   version = "4-beta";
-  buildInputs = [unzip gcc48];
+  buildInputs = [ unzip ];
 
   hardeningDisable = [ "stackprotector" ];
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   sourceRoot = ".";
 
   buildPhase = ''
-    g++ Pers.cpp -O3 -o perseus
+    g++ Pers.cpp -O3 -fpermissive -o perseus
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 81f5accd478..4222336fe9b 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, git,  espeak, SDL, udev, doxygen, cmake, overrideCC#, gcc48
+{ stdenv, fetchgit, git,  espeak, SDL, udev, doxygen, cmake
   , qtbase, qtlocation, qtserialport, qtdeclarative, qtconnectivity, qtxmlpatterns
   , qtsvg, qtquick1, qtquickcontrols, qtgraphicaleffects, qmakeHook
   , makeQtWrapper, lndir
diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix
index 58e3a5cc34f..d940e9b5659 100644
--- a/pkgs/applications/version-management/fossil/default.nix
+++ b/pkgs/applications/version-management/fossil/default.nix
@@ -1,24 +1,29 @@
-{stdenv, libiconv, fetchurl, zlib, openssl, tcl, readline, sqlite, withJson ? true}:
+{stdenv, libiconv, fetchurl, zlib, openssl, tcl, readline, sqlite, ed, which
+, tcllib, withJson ? true}:
 
 stdenv.mkDerivation rec {
-  name = "fossil-1.33";
+  name = "fossil-1.35";
 
   src = fetchurl {
     urls = 
       [
-        https://www.fossil-scm.org/download/fossil-src-1.33.tar.gz
+        https://www.fossil-scm.org/download/fossil-src-1.35.tar.gz
       ];
     name = "${name}.tar.gz";
-    sha256 = "0gkzd9nj3xyznh9x8whv0phdnj11l5c8164rc3l0jvs5i61c95b2";
+    sha256 = "07ds6rhq69bhydpm9a01mgdhxf88p9b6y5hdnhn8gjc7ba92zyf1";
   };
 
-  buildInputs = [ zlib openssl readline sqlite ]
+  buildInputs = [ zlib openssl readline sqlite which ed ]
              ++ stdenv.lib.optional stdenv.isDarwin libiconv;
   nativeBuildInputs = [ tcl ];
 
   doCheck = true;
 
   checkTarget = "test";
+
+  preCheck = ''
+    export TCLLIBPATH="${tcllib}/lib/tcllib${tcllib.version}"
+  '';
   configureFlags = if withJson then  "--json" else  "";
 
   preBuild=''
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index ea04fa33a73..b322709bde6 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,14 +1,14 @@
 { stdenv, ruby, bundler, fetchFromGitLab }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.1";
+  version = "3.4.0";
   name = "gitlab-shell-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "099w4s606k2mk9xc42jwqym1ycr20824w6nkf3zpiv17slwakw90";
+    sha256 = "1vhwsiz6n96i6cbcqbf4pa93nzx4xkaph2lmzh0nm4mi5ydl49is";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
index df0125a6de8..b86bf2c40d3 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitLab, git, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.8";
+  version = "0.7.11";
   name = "gitlab-workhorse-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "03lhgmd8w2ainvgf2q3pgafz2jl5g4x32qyybyijlyxfl07vkg4g";
+    sha256 = "1z32nf9qbw050wzl1dsydrs68c9fp5kkvdn58z2g88bbyk6gyivm";
   };
 
   buildInputs = [ git go ];
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index e0e5143ae38..60aaf99cbd9 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -9,6 +9,7 @@ gem 'responders', '~> 2.0'
 # Specify a sprockets version due to increased performance
 # See https://gitlab.com/gitlab-org/gitlab-ce/issues/6069
 gem 'sprockets', '~> 3.6.0'
+gem 'sprockets-es6'
 
 # Default values for AR models
 gem 'default_value_for', '~> 3.0.0'
@@ -19,7 +20,7 @@ gem 'pg', '~> 0.18.2', group: :postgres
 
 # Authentication libraries
 gem 'devise',                 '~> 4.0'
-gem 'doorkeeper',             '~> 4.0'
+gem 'doorkeeper',             '~> 4.2.0'
 gem 'omniauth',               '~> 1.3.1'
 gem 'omniauth-auth0',         '~> 1.4.1'
 gem 'omniauth-azure-oauth2',  '~> 0.0.6'
@@ -52,7 +53,7 @@ gem 'browser', '~> 2.2'
 
 # Extracting information from a git repository
 # Provide access to Gitlab::Git library
-gem 'gitlab_git', '~> 10.3.2'
+gem 'gitlab_git', '~> 10.4.7'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -68,7 +69,7 @@ gem 'gollum-rugged_adapter', '~> 0.4.2', require: false
 gem 'github-linguist', '~> 4.7.0', require: 'linguist'
 
 # API
-gem 'grape',        '~> 0.13.0'
+gem 'grape',        '~> 0.15.0'
 gem 'grape-entity', '~> 0.4.2'
 gem 'rack-cors',    '~> 0.4.0', require: 'rack/cors'
 
@@ -76,7 +77,7 @@ gem 'rack-cors',    '~> 0.4.0', require: 'rack/cors'
 gem 'kaminari', '~> 0.17.0'
 
 # HAML
-gem 'hamlit', '~> 2.5'
+gem 'hamlit', '~> 2.6.1'
 
 # Files attachments
 gem 'carrierwave', '~> 0.10.0'
@@ -153,7 +154,7 @@ gem 'settingslogic', '~> 2.0.9'
 
 # Misc
 
-gem 'version_sorter', '~> 2.0.0'
+gem 'version_sorter', '~> 2.1.0'
 
 # Cache
 gem 'redis-rails', '~> 4.0.0'
@@ -162,9 +163,6 @@ gem 'redis-rails', '~> 4.0.0'
 gem 'redis', '~> 3.2'
 gem 'connection_pool', '~> 2.0'
 
-# Campfire integration
-gem 'tinder', '~> 1.10.0'
-
 # HipChat integration
 gem 'hipchat', '~> 1.5.0'
 
@@ -203,7 +201,7 @@ gem 'licensee', '~> 8.0.0'
 gem 'rack-attack', '~> 4.3.1'
 
 # Ace editor
-gem 'ace-rails-ap', '~> 4.0.2'
+gem 'ace-rails-ap', '~> 4.1.0'
 
 # Keyboard shortcuts
 gem 'mousetrap-rails', '~> 1.4.6'
@@ -211,7 +209,8 @@ gem 'mousetrap-rails', '~> 1.4.6'
 # Detect and convert string character encoding
 gem 'charlock_holmes', '~> 0.7.3'
 
-# Parse duration
+# Parse time & duration
+gem 'chronic', '~> 0.10.2'
 gem 'chronic_duration', '~> 0.10.6'
 
 gem 'sass-rails', '~> 5.0.0'
@@ -224,7 +223,7 @@ gem 'addressable',        '~> 2.3.8'
 gem 'bootstrap-sass',     '~> 3.3.0'
 gem 'font-awesome-rails', '~> 4.6.1'
 gem 'gemojione',          '~> 3.0'
-gem 'gon',                '~> 6.0.1'
+gem 'gon',                '~> 6.1.0'
 gem 'jquery-atwho-rails', '~> 1.3.2'
 gem 'jquery-rails',       '~> 4.1.0'
 gem 'jquery-ui-rails',    '~> 5.0.0'
@@ -252,7 +251,7 @@ group :development do
 
   gem 'letter_opener_web', '~> 1.3.0'
   gem 'rerun', '~> 0.11.0'
-  gem 'bullet', '~> 5.0.0', require: false
+  gem 'bullet', '~> 5.2.0', require: false
   gem 'rblineprof', '~> 0.3.6', platform: :mri, require: false
   gem 'web-console', '~> 2.0'
 
@@ -274,7 +273,7 @@ group :development, :test do
   gem 'awesome_print', '~> 1.2.0', require: false
   gem 'fuubar', '~> 2.0.0'
 
-  gem 'database_cleaner',   '~> 1.4.0'
+  gem 'database_cleaner',   '~> 1.5.0'
   gem 'factory_girl_rails', '~> 4.6.0'
   gem 'rspec-rails',        '~> 3.5.0'
   gem 'rspec-retry',        '~> 0.4.5'
@@ -302,7 +301,7 @@ group :development, :test do
   gem 'rubocop', '~> 0.41.2', require: false
   gem 'rubocop-rspec', '~> 1.5.0', require: false
   gem 'scss_lint', '~> 0.47.0', require: false
-  gem 'simplecov', '~> 0.11.0', require: false
+  gem 'simplecov', '0.12.0', require: false
   gem 'flog', '~> 4.3.2', require: false
   gem 'flay', '~> 2.6.1', require: false
   gem 'bundler-audit', '~> 0.5.0', require: false
@@ -316,6 +315,7 @@ end
 group :test do
   gem 'shoulda-matchers', '~> 2.8.0', require: false
   gem 'email_spec', '~> 1.6.0'
+  gem 'json-schema', '~> 2.6.2'
   gem 'webmock', '~> 1.21.0'
   gem 'test_after_commit', '~> 0.4.2'
   gem 'sham_rack', '~> 1.3.6'
@@ -325,7 +325,7 @@ group :production do
   gem 'gitlab_meta', '7.0'
 end
 
-gem 'newrelic_rpm', '~> 3.14'
+gem 'newrelic_rpm', '~> 3.16'
 
 gem 'octokit', '~> 4.3.0'
 
@@ -333,6 +333,8 @@ gem 'mail_room', '~> 0.8'
 
 gem 'email_reply_parser', '~> 0.5.8'
 
+gem 'ruby-prof', '~> 0.15.9'
+
 ## CI
 gem 'activerecord-session_store', '~> 1.0.0'
 gem 'nested_form', '~> 0.3.2'
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 8d5b2b2e137..38d357e42fe 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -2,7 +2,7 @@ GEM
   remote: https://rubygems.org/
   specs:
     RedCloth (4.3.2)
-    ace-rails-ap (4.0.2)
+    ace-rails-ap (4.1.0)
     actionmailer (4.2.7.1)
       actionpack (= 4.2.7.1)
       actionview (= 4.2.7.1)
@@ -61,7 +61,7 @@ GEM
       oauth2 (~> 1.0)
     asciidoctor (1.5.3)
     ast (2.3.0)
-    attr_encrypted (3.0.1)
+    attr_encrypted (3.0.3)
       encryptor (~> 3.0.0)
     attr_required (1.0.0)
     autoprefixer-rails (6.2.3)
@@ -87,6 +87,10 @@ GEM
       faraday (~> 0.9)
       faraday_middleware (~> 0.10)
       nokogiri (~> 1.6)
+    babel-source (5.8.35)
+    babel-transpiler (0.7.0)
+      babel-source (>= 4.0, < 6)
+      execjs (~> 2.0)
     babosa (1.0.2)
     base32 (0.3.2)
     bcrypt (3.1.11)
@@ -102,9 +106,9 @@ GEM
     brakeman (3.3.2)
     browser (2.2.0)
     builder (3.2.2)
-    bullet (5.0.0)
+    bullet (5.2.0)
       activesupport (>= 3.0.0)
-      uniform_notifier (~> 1.9.0)
+      uniform_notifier (~> 1.10.0)
     bundler-audit (0.5.0)
       bundler (~> 1.2)
       thor (~> 0.18)
@@ -126,6 +130,7 @@ GEM
       mime-types (>= 1.16)
     cause (0.1)
     charlock_holmes (0.7.3)
+    chronic (0.10.2)
     chronic_duration (0.10.6)
       numerizer (~> 0.1.1)
     chunky_png (1.3.5)
@@ -151,11 +156,11 @@ GEM
     d3_rails (3.5.11)
       railties (>= 3.1.0)
     daemons (1.2.3)
-    database_cleaner (1.4.1)
+    database_cleaner (1.5.3)
     debug_inspector (0.0.2)
     debugger-ruby_core_source (1.3.8)
-    default_value_for (3.0.1)
-      activerecord (>= 3.2.0, < 5.0)
+    default_value_for (3.0.2)
+      activerecord (>= 3.2.0, < 5.1)
     descendants_tracker (0.0.4)
       thread_safe (~> 0.3, >= 0.3.1)
     devise (4.1.1)
@@ -173,7 +178,7 @@ GEM
     diff-lcs (1.2.5)
     diffy (3.0.7)
     docile (1.1.5)
-    doorkeeper (4.0.0)
+    doorkeeper (4.2.0)
       railties (>= 4.2)
     dropzonejs-rails (0.7.2)
       rails (> 3.1)
@@ -276,7 +281,7 @@ GEM
       diff-lcs (~> 1.1)
       mime-types (>= 1.16, < 3)
       posix-spawn (~> 0.3)
-    gitlab_git (10.3.2)
+    gitlab_git (10.4.7)
       activesupport (~> 4.0)
       charlock_holmes (~> 0.7.3)
       github-linguist (~> 4.7.0)
@@ -301,12 +306,12 @@ GEM
     gollum-rugged_adapter (0.4.2)
       mime-types (>= 1.15)
       rugged (~> 0.24.0, >= 0.21.3)
-    gon (6.0.1)
+    gon (6.1.0)
       actionpack (>= 3.0)
       json
       multi_json
       request_store (>= 1.0)
-    grape (0.13.0)
+    grape (0.15.0)
       activesupport
       builder
       hashie (>= 2.1.0)
@@ -319,7 +324,7 @@ GEM
     grape-entity (0.4.8)
       activesupport
       multi_json (>= 1.3.2)
-    hamlit (2.5.0)
+    hamlit (2.6.1)
       temple (~> 0.7.6)
       thor
       tilt
@@ -333,11 +338,10 @@ GEM
       activesupport (>= 2)
       nokogiri (~> 1.4)
     htmlentities (4.3.4)
-    http_parser.rb (0.5.3)
     httparty (0.13.7)
       json (~> 1.8)
       multi_xml (>= 0.5.2)
-    httpclient (2.7.0.1)
+    httpclient (2.8.2)
     i18n (0.7.0)
     ice_nine (0.11.1)
     influxdb (0.2.3)
@@ -355,6 +359,8 @@ GEM
     jquery-ui-rails (5.0.5)
       railties (>= 3.2.16)
     json (1.8.3)
+    json-schema (2.6.2)
+      addressable (~> 2.3.8)
     jwt (1.5.4)
     kaminari (0.17.0)
       actionpack (>= 3.0.0)
@@ -402,9 +408,10 @@ GEM
     nested_form (0.3.2)
     net-ldap (0.12.1)
     net-ssh (3.0.1)
-    newrelic_rpm (3.14.1.311)
+    newrelic_rpm (3.16.0.318)
     nokogiri (1.6.7.2)
       mini_portile2 (~> 2.0.0.rc2)
+      pkg-config (~> 1.1.7)
     numerizer (0.1.1)
     oauth (0.4.7)
     oauth2 (1.2.0)
@@ -506,7 +513,7 @@ GEM
     rack-cors (0.4.0)
     rack-mount (0.8.3)
       rack (>= 1.0.0)
-    rack-oauth2 (1.2.1)
+    rack-oauth2 (1.2.3)
       activesupport (>= 2.3)
       attr_required (>= 0.0.5)
       httpclient (>= 2.4)
@@ -572,7 +579,7 @@ GEM
       redis-store (~> 1.1.0)
     redis-store (1.1.7)
       redis (>= 2.2)
-    request_store (1.3.0)
+    request_store (1.3.1)
     rerun (0.11.0)
       listen (~> 3.0)
     responders (2.1.1)
@@ -617,6 +624,7 @@ GEM
       rubocop (>= 0.40.0)
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
+    ruby-prof (0.15.9)
     ruby-progressbar (1.8.1)
     ruby-saml (1.3.0)
       nokogiri (>= 1.5.10)
@@ -668,10 +676,9 @@ GEM
       redis-namespace (>= 1.5.2)
       rufus-scheduler (>= 2.0.24)
       sidekiq (>= 4.0.0)
-    simple_oauth (0.1.9)
-    simplecov (0.11.2)
+    simplecov (0.12.0)
       docile (~> 1.1.0)
-      json (~> 1.8)
+      json (>= 1.8, < 3)
       simplecov-html (~> 0.10.0)
     simplecov-html (0.10.0)
     sinatra (1.4.7)
@@ -701,6 +708,10 @@ GEM
     sprockets (3.6.3)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
+    sprockets-es6 (0.9.0)
+      babel-source (>= 5.8.11)
+      babel-transpiler
+      sprockets (>= 3.0.0)
     sprockets-rails (3.1.1)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
@@ -734,21 +745,8 @@ GEM
     tilt (2.0.5)
     timecop (0.8.1)
     timfel-krb5-auth (0.8.3)
-    tinder (1.10.1)
-      eventmachine (~> 1.0)
-      faraday (~> 0.9.0)
-      faraday_middleware (~> 0.9)
-      hashie (>= 1.0)
-      json (~> 1.8.0)
-      mime-types
-      multi_json (~> 1.7)
-      twitter-stream (~> 0.1)
     turbolinks (2.5.3)
       coffee-rails
-    twitter-stream (0.1.16)
-      eventmachine (>= 0.12.8)
-      http_parser.rb (~> 0.5.1)
-      simple_oauth (~> 0.1.4)
     tzinfo (1.2.2)
       thread_safe (~> 0.1)
     u2f (0.2.1)
@@ -767,10 +765,10 @@ GEM
     unicorn-worker-killer (0.4.4)
       get_process_mem (~> 0)
       unicorn (>= 4, < 6)
-    uniform_notifier (1.9.0)
+    uniform_notifier (1.10.0)
     uuid (2.3.8)
       macaddr (~> 1.0)
-    version_sorter (2.0.0)
+    version_sorter (2.1.0)
     virtus (1.0.5)
       axiom-types (~> 0.1)
       coercible (~> 1.0)
@@ -803,7 +801,7 @@ PLATFORMS
 
 DEPENDENCIES
   RedCloth (~> 4.3.2)
-  ace-rails-ap (~> 4.0.2)
+  ace-rails-ap (~> 4.1.0)
   activerecord-nulldb-adapter
   activerecord-session_store (~> 1.0.0)
   acts-as-taggable-on (~> 3.4)
@@ -823,24 +821,25 @@ DEPENDENCIES
   bootstrap-sass (~> 3.3.0)
   brakeman (~> 3.3.0)
   browser (~> 2.2)
-  bullet (~> 5.0.0)
+  bullet (~> 5.2.0)
   bundler-audit (~> 0.5.0)
   byebug (~> 8.2.1)
   capybara (~> 2.6.2)
   capybara-screenshot (~> 1.0.0)
   carrierwave (~> 0.10.0)
   charlock_holmes (~> 0.7.3)
+  chronic (~> 0.10.2)
   chronic_duration (~> 0.10.6)
   coffee-rails (~> 4.1.0)
   connection_pool (~> 2.0)
   creole (~> 0.5.0)
   d3_rails (~> 3.5.0)
-  database_cleaner (~> 1.4.0)
+  database_cleaner (~> 1.5.0)
   default_value_for (~> 3.0.0)
   devise (~> 4.0)
   devise-two-factor (~> 3.0.0)
   diffy (~> 3.0.3)
-  doorkeeper (~> 4.0)
+  doorkeeper (~> 4.2.0)
   dropzonejs-rails (~> 0.7.1)
   email_reply_parser (~> 0.5.8)
   email_spec (~> 1.6.0)
@@ -863,15 +862,15 @@ DEPENDENCIES
   github-linguist (~> 4.7.0)
   github-markup (~> 1.4)
   gitlab-flowdock-git-hook (~> 1.0.1)
-  gitlab_git (~> 10.3.2)
+  gitlab_git (~> 10.4.7)
   gitlab_meta (= 7.0)
   gitlab_omniauth-ldap (~> 1.2.1)
   gollum-lib (~> 4.2)
   gollum-rugged_adapter (~> 0.4.2)
-  gon (~> 6.0.1)
-  grape (~> 0.13.0)
+  gon (~> 6.1.0)
+  grape (~> 0.15.0)
   grape-entity (~> 0.4.2)
-  hamlit (~> 2.5)
+  hamlit (~> 2.6.1)
   health_check (~> 2.1.0)
   hipchat (~> 1.5.0)
   html-pipeline (~> 1.11.0)
@@ -881,6 +880,7 @@ DEPENDENCIES
   jquery-rails (~> 4.1.0)
   jquery-turbolinks (~> 2.1.0)
   jquery-ui-rails (~> 5.0.0)
+  json-schema (~> 2.6.2)
   jwt
   kaminari (~> 0.17.0)
   knapsack (~> 1.11.0)
@@ -895,8 +895,8 @@ DEPENDENCIES
   mysql2 (~> 0.3.16)
   nested_form (~> 0.3.2)
   net-ssh (~> 3.0.1)
-  newrelic_rpm (~> 3.14)
-  nokogiri (~> 1.6.7, >= 1.6.7.2, < 1.6.8)
+  newrelic_rpm (~> 3.16)
+  nokogiri (~> 1.6.7, >= 1.6.7.2)
   oauth2 (~> 1.2.0)
   octokit (~> 4.3.0)
   omniauth (~> 1.3.1)
@@ -942,6 +942,7 @@ DEPENDENCIES
   rubocop (~> 0.41.2)
   rubocop-rspec (~> 1.5.0)
   ruby-fogbugz (~> 0.2.1)
+  ruby-prof (~> 0.15.9)
   sanitize (~> 2.0)
   sass-rails (~> 5.0.0)
   scss_lint (~> 0.47.0)
@@ -954,7 +955,7 @@ DEPENDENCIES
   shoulda-matchers (~> 2.8.0)
   sidekiq (~> 4.0)
   sidekiq-cron (~> 0.4.0)
-  simplecov (~> 0.11.0)
+  simplecov (= 0.12.0)
   sinatra (~> 1.4.4)
   six (~> 0.2.0)
   slack-notifier (~> 1.2.0)
@@ -965,6 +966,7 @@ DEPENDENCIES
   spring-commands-spinach (~> 1.1.0)
   spring-commands-teaspoon (~> 0.0.2)
   sprockets (~> 3.6.0)
+  sprockets-es6
   state_machines-activerecord (~> 0.4.0)
   sys-filesystem (~> 1.1.6)
   task_list (~> 1.0.2)
@@ -972,7 +974,6 @@ DEPENDENCIES
   teaspoon-jasmine (~> 2.2.0)
   test_after_commit (~> 0.4.2)
   thin (~> 1.7.0)
-  tinder (~> 1.10.0)
   turbolinks (~> 2.5.0)
   u2f (~> 0.2.1)
   uglifier (~> 2.7.2)
@@ -980,7 +981,7 @@ DEPENDENCIES
   unf (~> 0.1.4)
   unicorn (~> 4.9.0)
   unicorn-worker-killer (~> 0.4.2)
-  version_sorter (~> 2.0.0)
+  version_sorter (~> 2.1.0)
   virtus (~> 1.0.1)
   vmstat (~> 2.1.1)
   web-console (~> 2.0)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 453bae3613c..b97a9475c8e 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -24,7 +24,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.10.6";
+  version = "8.11.2";
 
   buildInputs = [ env ruby bundler tzdata git nodejs procps ];
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "1nk0ak9p5ncqynrm965ypwb9bj7b1r2jy5g4vdb9b0ma1ns2bkzf";
+    sha256 = "1id6jsf4mshxis07dqlkgdyqi1v415rp4lx9ix8sjfznchria58b";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index b0f6f3ec049..0ea8aa4d621 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -2,10 +2,10 @@
   ace-rails-ap = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1y1xdjmdb7fg1w0ym7xizpfvll8bicnhli2s65bzvpk3zp7h8qmi";
+      sha256 = "1jxpv0x8lzkk00v2pc13jxrcdigk4dv6pi3sa52j864ky8fk37rh";
       type = "gem";
     };
-    version = "4.0.2";
+    version = "4.1.0";
   };
   actionmailer = {
     source = {
@@ -157,10 +157,10 @@
   attr_encrypted = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xqb753sjgwxpb2s375j8nkrk8kjhjijzywyl6vps5r3nbs0l51k";
+      sha256 = "1dikbf55wjqyzfb9p4xjkkkajwan569pmzljdf9c1fy4a94cd13d";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.3";
   };
   attr_required = {
     source = {
@@ -212,6 +212,22 @@
     };
     version = "0.1.2";
   };
+  babel-source = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1ncq8h82k6hypzfb5dk7z95mmcdwnhsxmc53xz17m1nbklm25vvr";
+      type = "gem";
+    };
+    version = "5.8.35";
+  };
+  babel-transpiler = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0w0minwxj56w96xps1msm6n75fs0y7r1vqcr9zlsn74fksnz81jc";
+      type = "gem";
+    };
+    version = "0.7.0";
+  };
   babosa = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -298,10 +314,10 @@
   bullet = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "14i3ci990sygxzdsy9jsgzfs5zkzgx6fd56i0d58s77wmn2myham";
+      sha256 = "1i242hsnkrjsk6bjrd0glhfdir0836iaqcqbz6hrxz4gqkh2rg2g";
       type = "gem";
     };
-    version = "5.0.0";
+    version = "5.2.0";
   };
   bundler-audit = {
     source = {
@@ -360,6 +376,14 @@
     };
     version = "0.7.3";
   };
+  chronic = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hrdkn4g8x7dlzxwb1rfgr8kw3bp4ywg5l4y4i9c2g5cwv62yvvn";
+      type = "gem";
+    };
+    version = "0.10.2";
+  };
   chronic_duration = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -495,10 +519,10 @@
   database_cleaner = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0n5r7kvsmknk876v3scdphfnvllr9157fa5q7j5fczg8j5qm6kf0";
+      sha256 = "0fx6zmqznklmkbjl6f713jyl11d4g9q220rcl86m2jp82r8kfwjj";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "1.5.3";
   };
   debug_inspector = {
     source = {
@@ -517,13 +541,12 @@
     version = "1.3.8";
   };
   default_value_for = {
-    dependencies = ["activerecord"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1z4lrba4y1c3y0rxw8321qbwsb3nr6c2igrpksfvz93yhc9m6xm0";
+      sha256 = "014482mxjrc227fxv6vff6ccjr9dr0ydz52flxslsa7biq542k73";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.2";
   };
   descendants_tracker = {
     dependencies = ["thread_safe"];
@@ -577,10 +600,10 @@
   doorkeeper = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lillrbd2sy7zzni6a2kf3p09lfd0br831zzv22zsv4ffr6n1va1";
+      sha256 = "0hs8r280k7a1kibzxrhifjps880n43jfrybf4mqpffw669jrwk3v";
       type = "gem";
     };
-    version = "4.0.0";
+    version = "4.2.0";
   };
   dropzonejs-rails = {
     dependencies = ["rails"];
@@ -935,10 +958,10 @@
   gitlab_git = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00l5dv4k6q21yzxnviqh5ab6i2i6ajzlyjbwm1vgag7663wscny6";
+      sha256 = "0xcn55jwc3g53mcj1fjr6qfjcj0awba9lwgd1720d2hkpfiglsai";
       type = "gem";
     };
-    version = "10.3.2";
+    version = "10.4.7";
   };
   gitlab_meta = {
     source = {
@@ -990,22 +1013,20 @@
     version = "0.4.2";
   };
   gon = {
-    dependencies = ["actionpack" "json" "multi_json" "request_store"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1f359cd9zsa4nrng35bij5skvjrj5ywn2dhmlg41b97vmza26bxr";
+      sha256 = "1jmf6ly9wfrg52xkk9qb4hlfn3zdmz62ivclhp4f424m39rd9ngz";
       type = "gem";
     };
-    version = "6.0.1";
+    version = "6.1.0";
   };
   grape = {
-    dependencies = ["activesupport" "builder" "hashie" "multi_json" "multi_xml" "rack" "rack-accept" "rack-mount" "virtus"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1dxfal5jspxq612jjkqbd7xgp5dswdyllbbfq6fj2m7s21pismmh";
+      sha256 = "13rbm0whhirpzn2n58kjyvqn9989vvipynlxsj1ihmwp8xsmcj1i";
       type = "gem";
     };
-    version = "0.13.0";
+    version = "0.15.0";
   };
   grape-entity = {
     dependencies = ["activesupport" "multi_json"];
@@ -1019,10 +1040,10 @@
   hamlit = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "00360fr2kq9f31p6mq965z0lpb16vhji3mzgkywcsxym1z9srvwm";
+      sha256 = "0ph4kv2ddr538f9ni2fmk7aq38djv5am29r3m6y64adg52n6jma9";
       type = "gem";
     };
-    version = "2.5.0";
+    version = "2.6.1";
   };
   hashie = {
     source = {
@@ -1066,14 +1087,6 @@
     };
     version = "4.3.4";
   };
-  "http_parser.rb" = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0fwf5d573j1sw52kz057dw0nx2wlivczmx6ybf6mk065n5g54kyn";
-      type = "gem";
-    };
-    version = "0.5.3";
-  };
   httparty = {
     dependencies = ["json" "multi_xml"];
     source = {
@@ -1086,10 +1099,10 @@
   httpclient = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0k6bqsaqq6c824vrbfb5pkz8bpk565zikd10w85rzj2dy809ik6c";
+      sha256 = "1pg15svk9lv5r7w1hxd87di6apsr9y009af3mm01xcaccvqj4j2d";
       type = "gem";
     };
-    version = "2.7.0.1";
+    version = "2.8.2";
   };
   i18n = {
     source = {
@@ -1166,6 +1179,14 @@
     };
     version = "1.8.3";
   };
+  json-schema = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "15bva4w940ckan3q89in5f98s8zz77nxglylgm98697wa4fbfqp9";
+      type = "gem";
+    };
+    version = "2.6.2";
+  };
   jwt = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1389,10 +1410,10 @@
   newrelic_rpm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "155aj845rxn8ikcs15gphr8svnsrki8wzps794ddbi90h0ypr319";
+      sha256 = "0l8dvg4frrj6a93kb2zawrlmy2bb9mh683pk4wnhgf4nddizzzsh";
       type = "gem";
     };
-    version = "3.14.1.311";
+    version = "3.16.0.318";
   };
   nokogiri = {
     source = {
@@ -1743,13 +1764,12 @@
     version = "0.8.3";
   };
   rack-oauth2 = {
-    dependencies = ["activesupport" "attr_required" "httpclient" "multi_json" "rack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1szfnb74p5s7k0glpmiv16rfl4wx9mnrr7riapgpbcx163zzkxad";
+      sha256 = "0j7fh3fyajpfwg47gyfd8spavn7lmd6dcm468w7lhnhcviy5vmyf";
       type = "gem";
     };
-    version = "1.2.1";
+    version = "1.2.3";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -1960,10 +1980,10 @@
   request_store = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1vw3vkgnpbpgzc1b4cg2ifn3rb5w7bvk62x9jfy9laz40816nvkn";
+      sha256 = "1va9x0b3ww4chcfqlmi8b14db39di1mwa7qrjbh7ma0lhndvs2zv";
       type = "gem";
     };
-    version = "1.3.0";
+    version = "1.3.1";
   };
   rerun = {
     dependencies = ["listen"];
@@ -2106,6 +2126,14 @@
     };
     version = "0.2.1";
   };
+  ruby-prof = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qvz8yclvxch3bmwh7wmnb5h8jsbmb8jmqcf94jjrakpcs2sc072";
+      type = "gem";
+    };
+    version = "0.15.9";
+  };
   ruby-progressbar = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2304,21 +2332,13 @@
     };
     version = "0.4.0";
   };
-  simple_oauth = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0bb06p88xsdw4fxll1ikv5i5k58sl6y323ss0wp1hqjm3xw1jgvj";
-      type = "gem";
-    };
-    version = "0.1.9";
-  };
   simplecov = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1p0jhxwsv2ksk4hmp8qbhnr325z9fhs26z9y8in5v5c49y331qw2";
+      sha256 = "0ffhyrfnq2zm2mc1742a4hqy475g3qa1zf6yfldwg1ldh5sn3qbx";
       type = "gem";
     };
-    version = "0.11.2";
+    version = "0.12.0";
   };
   simplecov-html = {
     source = {
@@ -2428,6 +2448,14 @@
     };
     version = "3.6.3";
   };
+  sprockets-es6 = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17hjwpzkdg5dsgzky7hmaly2jih8867ya35855p3lxqpd3gyfpny";
+      type = "gem";
+    };
+    version = "0.9.0";
+  };
   sprockets-rails = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2575,15 +2603,6 @@
     };
     version = "0.8.3";
   };
-  tinder = {
-    dependencies = ["eventmachine" "faraday" "faraday_middleware" "hashie" "json" "mime-types" "multi_json" "twitter-stream"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1kwj0wd540wb2ws86d3jdva175dx00w2j8lyrvbb6qli3g27byd7";
-      type = "gem";
-    };
-    version = "1.10.1";
-  };
   turbolinks = {
     dependencies = ["coffee-rails"];
     source = {
@@ -2593,15 +2612,6 @@
     };
     version = "2.5.3";
   };
-  twitter-stream = {
-    dependencies = ["eventmachine" "http_parser.rb" "simple_oauth"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "0is81g3xvnjk64sqiaqlh2ziwfryzwvk1yvaniryg0zhppgsyriq";
-      type = "gem";
-    };
-    version = "0.1.16";
-  };
   tzinfo = {
     dependencies = ["thread_safe"];
     source = {
@@ -2681,10 +2691,10 @@
   uniform_notifier = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "009z60qx01am7klmrca8pcladrynljra3a9smifn9f81r4dc7q63";
+      sha256 = "1jha0l7x602g5rvah960xl9r0f3q25gslj39i0x1vai8i5z6zr1l";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.10.0";
   };
   uuid = {
     dependencies = ["macaddr"];
@@ -2698,10 +2708,10 @@
   version_sorter = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lad9c43w2xfzmva57ia6glpmhyivyk1m79jli42canshvan5v6y";
+      sha256 = "1smi0bf8pgx23014nkpfg29qnmlpgvwmn30q0ca7qrfbha2mjwdr";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   virtus = {
     dependencies = ["axiom-types" "coercible" "descendants_tracker" "equalizer"];
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
index e972e1568e3..2ee416dbb8e 100644
--- a/pkgs/applications/version-management/gitlab/nulladapter.patch
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -1,8 +1,8 @@
 diff --git a/Gemfile b/Gemfile
-index 92e666c..f97c991 100644
+index 68547b6..60aaf99 100644
 --- a/Gemfile
 +++ b/Gemfile
-@@ -117,7 +117,7 @@ gem 'rouge',         '~> 2.0'
+@@ -118,7 +118,7 @@ gem 'rouge',         '~> 2.0'
  
  # See https://groups.google.com/forum/#!topic/ruby-security-ann/aSbgDiwb24s
  # and https://groups.google.com/forum/#!topic/ruby-security-ann/Dy7YiKb_pMM
@@ -11,14 +11,14 @@ index 92e666c..f97c991 100644
  
  # Diffs
  gem 'diffy', '~> 3.0.3'
-@@ -349,3 +349,5 @@ gem 'health_check', '~> 2.1.0'
+@@ -351,3 +351,5 @@ gem 'health_check', '~> 2.1.0'
  # System information
  gem 'vmstat', '~> 2.1.1'
  gem 'sys-filesystem', '~> 1.1.6'
 +
 +gem "activerecord-nulldb-adapter"
 diff --git a/Gemfile.lock b/Gemfile.lock
-index e2b3d55..23a5454 100644
+index 5511d71..38d357e 100644
 --- a/Gemfile.lock
 +++ b/Gemfile.lock
 @@ -32,6 +32,8 @@ GEM
@@ -30,7 +30,7 @@ index e2b3d55..23a5454 100644
      activerecord-session_store (1.0.0)
        actionpack (>= 4.0, < 5.1)
        activerecord (>= 4.0, < 5.1)
-@@ -390,7 +392,7 @@ GEM
+@@ -396,7 +398,7 @@ GEM
      method_source (0.8.2)
      mime-types (2.99.2)
      mimemagic (0.3.0)
@@ -39,32 +39,22 @@ index e2b3d55..23a5454 100644
      minitest (5.7.0)
      mousetrap-rails (1.4.6)
      multi_json (1.12.1)
-@@ -401,9 +403,8 @@ GEM
+@@ -407,8 +409,8 @@ GEM
      net-ldap (0.12.1)
      net-ssh (3.0.1)
-     newrelic_rpm (3.14.1.311)
+     newrelic_rpm (3.16.0.318)
 -    nokogiri (1.6.8)
 -      mini_portile2 (~> 2.1.0)
--      pkg-config (~> 1.1.7)
 +    nokogiri (1.6.7.2)
 +      mini_portile2 (~> 2.0.0.rc2)
+       pkg-config (~> 1.1.7)
      numerizer (0.1.1)
      oauth (0.4.7)
-     oauth2 (1.2.0)
-@@ -803,6 +803,7 @@ PLATFORMS
+@@ -800,6 +802,7 @@ PLATFORMS
  DEPENDENCIES
    RedCloth (~> 4.3.2)
-   ace-rails-ap (~> 4.0.2)
+   ace-rails-ap (~> 4.1.0)
 +  activerecord-nulldb-adapter
    activerecord-session_store (~> 1.0.0)
    acts-as-taggable-on (~> 3.4)
    addressable (~> 2.3.8)
-@@ -894,7 +895,7 @@ DEPENDENCIES
-   nested_form (~> 0.3.2)
-   net-ssh (~> 3.0.1)
-   newrelic_rpm (~> 3.14)
--  nokogiri (~> 1.6.7, >= 1.6.7.2)
-+  nokogiri (~> 1.6.7, >= 1.6.7.2, < 1.6.8)
-   oauth2 (~> 1.2.0)
-   octokit (~> 4.3.0)
-   omniauth (~> 1.3.1)
diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix
index 23f6daf0d61..7eea4dc2d69 100644
--- a/pkgs/applications/video/mpv/default.nix
+++ b/pkgs/applications/video/mpv/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, docutils, makeWrapper, perl, pkgconfig, python, which
-, ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs, lua, lua5_sockets
+{ stdenv, fetchurl, fetchFromGitHub, docutils, makeWrapper, perl, pkgconfig
+, python, which, ffmpeg, freefont_ttf, freetype, libass, libpthreadstubs
+, lua, lua5_sockets
 , libuchardet, rubberband
 , x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null
 , xineramaSupport ? true, libXinerama ? null
@@ -54,19 +55,21 @@ let
   # for purity reasons this behavior should be avoided.
   wafVersion = "1.8.12";
   waf = fetchurl {
-    urls = [ "http://ftp.waf.io/pub/release/waf-${wafVersion}"
-             "http://waf.io/waf-${wafVersion}" ];
+    urls = [ "http://waf.io/waf-${wafVersion}"
+             "http://www.freehackers.org/~tnagy/release/waf-${wafVersion}" ];
     sha256 = "12y9c352zwliw0zk9jm2lhynsjcf5jy0k1qch1c1av8hnbm2pgq1";
   };
 in
 
 stdenv.mkDerivation rec {
   name = "mpv-${version}";
-  version = "0.18.1";
+  version = "0.19.0";
 
-  src = fetchurl {
-    url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz";
-    sha256 = "0ab3lkvx1j06x7qlp9m4r4zk28dr7z8ki3w4kfgkpm2axizxa4z4";
+  src = fetchFromGitHub {
+    owner = "mpv-player";
+    repo = "mpv";
+    rev = "v${version}";
+    sha256 = "14rbglrcplhkf16ik4fbcv7k27lz6h4glfayr12ylh98srmsscqa";
   };
 
   patchPhase = ''
diff --git a/pkgs/data/fonts/source-code-pro/default.nix b/pkgs/data/fonts/source-code-pro/default.nix
index aac66188cca..f5d065fd9c4 100644
--- a/pkgs/data/fonts/source-code-pro/default.nix
+++ b/pkgs/data/fonts/source-code-pro/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "source-code-pro-${version}";
-  version = "2.010";
+  version = "2.030";
 
   src = fetchFromGitHub {
     owner = "adobe-fonts";
     repo = "source-code-pro";
-    rev = "2.010R-ro/1.030R-it";
-    name = "2.010R-ro-1.030R-it";
-    sha256 = "0f40g23lfcajpd5m9r1z7v8x011dsfs6ba7fihjal6yzaf5hb6mh";
+    rev = "2.030R-ro/1.050R-it";
+    name = "2.030R-ro-1.050R-it";
+    sha256 = "0hc5kflr8xzqgdm0c3gbgb1paygznxmnivkylid69ipc7wnicx1n";
   };
 
   phases = "unpackPhase installPhase";
diff --git a/pkgs/desktops/enlightenment/default.nix b/pkgs/desktops/enlightenment/default.nix
index b285498be9d..2129005ab01 100644
--- a/pkgs/desktops/enlightenment/default.nix
+++ b/pkgs/desktops/enlightenment/default.nix
@@ -2,9 +2,6 @@
 rec {
   #### CORE EFL
   efl = callPackage ./efl.nix { openjpeg = pkgs.openjpeg_1; };
-  evas = callPackage ./evas.nix { };
-  emotion = callPackage ./emotion.nix { };
-  elementary = callPackage ./elementary.nix { };
 
   #### WINDOW MANAGER
   enlightenment = callPackage ./enlightenment.nix { };
diff --git a/pkgs/desktops/enlightenment/econnman.nix b/pkgs/desktops/enlightenment/econnman.nix
index 9cde3cf4594..60e63dc68ed 100644
--- a/pkgs/desktops/enlightenment/econnman.nix
+++ b/pkgs/desktops/enlightenment/econnman.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, efl, elementary, python2Packages, dbus, makeWrapper }:
+{ stdenv, fetchurl, pkgconfig, efl, python2Packages, dbus, makeWrapper }:
+
 stdenv.mkDerivation rec {
   name = "econnman-${version}";
   version = "1.1";
+
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/econnman/${name}.tar.gz";
     sha256 = "057pwwavlvrrq26bncqnfrf449zzaim0zq717xv86av4n940gwv0";
   };
 
-  buildInputs = [ makeWrapper pkgconfig efl python2Packages.python python2Packages.wrapPython dbus ];
-  pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python elementary ];
+  nativeBuildInputs = [ makeWrapper pkgconfig python2Packages.wrapPython ];
+
+  buildInputs = [ efl python2Packages.python dbus ];
+
+  pythonPath = [ python2Packages.pythonefl python2Packages.dbus-python ];
+
   postInstall = ''
     wrapPythonPrograms
   '';
diff --git a/pkgs/desktops/enlightenment/efl.nix b/pkgs/desktops/enlightenment/efl.nix
index 218de3bfa7c..b8b3d82ccb6 100644
--- a/pkgs/desktops/enlightenment/efl.nix
+++ b/pkgs/desktops/enlightenment/efl.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }:
-
+{ stdenv, fetchurl, pkgconfig, openssl, libjpeg, zlib, lz4, freetype, fontconfig, fribidi, SDL2, SDL, mesa, giflib, libpng, libtiff, glib, gst_all_1, libpulseaudio, libsndfile, xorg, libdrm, libxkbcommon, udev, utillinux, dbus, bullet, luajit, python27Packages, openjpeg, doxygen, expat, harfbuzz, jbig2dec, librsvg, dbus_libs, alsaLib, poppler, ghostscript, libraw, libspectre, xineLib, libwebp, curl, libinput, systemd }:
 
 stdenv.mkDerivation rec {
   name = "efl-${version}";
-  version = "1.17.2";
+  version = "1.18.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/efl/${name}.tar.xz";
-    sha256 = "1dpq5flygrjg931nzsr2ra8icqffzrzbs1lnrzarbpsbmgq3zacs";
+    sha256 = "17mzbjmz8d2vs8p63r1sk3mppl3l2fhxy2jv24dp75lgqbsvp806";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ openssl zlib freetype fontconfig fribidi SDL2 SDL mesa
-    giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base
+  buildInputs = [ openssl zlib lz4 freetype fontconfig fribidi SDL2 SDL mesa
+    giflib libpng libtiff glib gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gst_all_1.gst-libav libpulseaudio libsndfile xorg.libXcursor xorg.printproto
     xorg.libX11 udev utillinux systemd ];
 
@@ -21,22 +20,19 @@ stdenv.mkDerivation rec {
     xorg.libXdamage xorg.libXinerama xorg.libXp xorg.libXtst xorg.libXi xorg.libXext
     bullet xorg.libXScrnSaver xorg.libXrender xorg.libXfixes xorg.libXrandr
     xorg.libxkbfile xorg.libxcb xorg.xcbutilkeysyms openjpeg doxygen expat luajit
-    harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler libraw libspectre xineLib libwebp curl libdrm
+    harfbuzz jbig2dec librsvg dbus_libs alsaLib poppler ghostscript libraw libspectre xineLib libwebp curl libdrm
     libinput ];
 
   # ac_ct_CXX must be set to random value, because then it skips some magic which does alternative searching for g++
-  configureFlags = [ "--with-tests=none" "--enable-sdl" "--enable-drm" "--with-opengl=full"
-    "--enable-image-loader-jp2k" "--enable-xinput22" "--enable-multisense" "--enable-systemd"
+  configureFlags = [ "--enable-sdl" "--enable-drm" "--enable-elput" "--with-opengl=full"
+    "--enable-image-loader-jp2k" "--enable-xinput22" "--enable-multisense" "--enable-liblz4" "--enable-systemd"
     "--enable-image-loader-webp" "--enable-harfbuzz" "--enable-xine" "--enable-fb"
     "--disable-tslib" "--with-systemdunitdir=$out/systemd/user"
     "ac_ct_CXX=foo" ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${xorg.libXtst}" "-I${dbus_libs.dev}/include/dbus-1.0" "-I${dbus_libs.lib}/lib/dbus-1.0/include" ];
-
   patches = [ ./efl-elua.patch ];
 
   preConfigure = ''
-    export PKG_CONFIG_PATH="${gst_all_1.gst-plugins-base.dev}/lib/pkgconfig/gstreamer-video-0.10.pc:$PKG_CONFIG_PATH"
     export LD_LIBRARY_PATH="$(pwd)/src/lib/eina/.libs:$LD_LIBRARY_PATH"
   '';
 
@@ -50,7 +46,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "Enlightenment Core libraries";
+    description = "Enlightenment foundation libraries";
     homepage = http://enlightenment.org/;
     maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/desktops/enlightenment/elementary.nix b/pkgs/desktops/enlightenment/elementary.nix
deleted file mode 100644
index 10334eb98e9..00000000000
--- a/pkgs/desktops/enlightenment/elementary.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, efl, libcap, automake, autoconf, libdrm, gdbm }:
-stdenv.mkDerivation rec {
-  name = "elementary-${version}";
-  version = "1.17.1";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/elementary/${name}.tar.xz";
-    sha256 = "149xjq4z71l44w1kd8zks9b2g0wjc9656w46hzd27b58afj1dqc5";
-  };
-  nativeBuildInputs = [ pkgconfig automake autoconf ];
-  buildInputs = [ efl libdrm gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
-  NIX_CFLAGS_COMPILE = [ "-I${libdrm.dev}/include/libdrm" ];
-  patches = [ ./elementary.patch ];
-  enableParallelBuilding = true;
-  meta = {
-    description = "Widget set/toolkit";
-    homepage = http://enlightenment.org/;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.lgpl2;
-  };
-}
diff --git a/pkgs/desktops/enlightenment/emotion.nix b/pkgs/desktops/enlightenment/emotion.nix
deleted file mode 100644
index 39b3b162075..00000000000
--- a/pkgs/desktops/enlightenment/emotion.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, efl, vlc }:
-stdenv.mkDerivation rec {
-  name = "emotion_generic_players-${version}";
-  version = "1.17.0";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/emotion_generic_players/${name}.tar.xz";
-    sha256 = "03kaql95mk0c5j50v3c5i5lmlr3gz7xlh8p8q87xz8zf9j5h1pp7";
-  };
-  buildInputs = [ pkgconfig efl vlc ];
-  NIX_CFLAGS_COMPILE = [ "-I${efl}/include/eo-1" ];
-  meta = {
-    description = "Extra video decoders";
-    homepage = http://enlightenment.org/;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.bsd2;
-  };
-}
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index f490e030c65..f4ff94ad088 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -1,23 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, efl, elementary, xcbutilkeysyms, libXrandr, libXdmcp, libxcb,
-libffi, pam, alsaLib, luajit, bzip2, libuuid, libpthreadstubs, gdbm, libcap, mesa_glu
-, xkeyboard_config }:
+{ stdenv, fetchurl, pkgconfig, efl, xcbutilkeysyms, libXrandr, libXdmcp,
+libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap,
+mesa_glu , xkeyboard_config }:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.21.1";
+  version = "0.21.2";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "119sxrgrz163c01yx0q9n2jpmmbv0a58akmz0c2z4xy37f1m02rx";
+    sha256 = "0fi5dxrprnvhnn2y51gnfpsjj44snriqi20k20a73vhaqxfn8xx8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ efl elementary libXdmcp libxcb
-    xcbutilkeysyms libXrandr libffi pam alsaLib luajit bzip2 libuuid
+  buildInputs = [ efl libXdmcp libxcb
+    xcbutilkeysyms libXrandr libffi pam alsaLib luajit bzip2
     libpthreadstubs gdbm ] ++ stdenv.lib.optionals stdenv.isLinux [ libcap ];
 
-  NIX_CFLAGS_COMPILE = [ "-I${efl}/include/eo-1" "-I${efl}/include/emile-1" "-I${libuuid}/include/uuid" ];
+  NIX_CFLAGS_COMPILE = [
+    "-I${efl}/include/ecore-imf-1"
+    "-I${efl}/include/emile-1"
+    "-I${efl}/include/eo-1"
+    "-I${efl}/include/ethumb-1"
+    "-I${efl}/include/ethumb-client-1"
+  ];
 
   preConfigure = ''
     export USER_SESSION_DIR=$prefix/lib/systemd/user
diff --git a/pkgs/desktops/enlightenment/evas.nix b/pkgs/desktops/enlightenment/evas.nix
deleted file mode 100644
index fe8897b8be7..00000000000
--- a/pkgs/desktops/enlightenment/evas.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, efl, zlib, libspectre, gstreamer, gst_plugins_base, gst_ffmpeg, gst_plugins_good, poppler, librsvg, libraw }:
-stdenv.mkDerivation rec {
-  name = "evas_generic_loaders-${version}";
-  version = "1.17.0";
-  src = fetchurl {
-    url = "http://download.enlightenment.org/rel/libs/evas_generic_loaders/${name}.tar.xz";
-    sha256 = "0ynq1nx0bfgg19p4vki1fap36yyip53zaxpzncx2slr6jcx1kxf2";
-  };
-  buildInputs = [ pkgconfig efl zlib libspectre gstreamer gst_plugins_base gst_ffmpeg gst_plugins_good poppler librsvg libraw ];
-  meta = {
-    description = "Extra image decoders";
-    homepage = http://enlightenment.org/;
-    maintainers = with stdenv.lib.maintainers; [ matejc tstrobel ftrvxmtrx ];
-    platforms = stdenv.lib.platforms.linux;
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/desktops/enlightenment/rage.nix b/pkgs/desktops/enlightenment/rage.nix
index 67f9c68cd61..9ef557654dc 100644
--- a/pkgs/desktops/enlightenment/rage.nix
+++ b/pkgs/desktops/enlightenment/rage.nix
@@ -1,15 +1,36 @@
-{ stdenv, fetchurl, elementary, efl, automake, autoconf, libtool, pkgconfig, gst_all_1
+{ stdenv, fetchurl, efl, automake, autoconf, libtool, pkgconfig, gst_all_1
 , makeWrapper, lib }:
+
 stdenv.mkDerivation rec {
   name = "rage-${version}";
-  version = "0.1.4";
+  version = "0.2.0";
+  
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/rage/${name}.tar.gz";
-    sha256 = "10j3n8crk16jzqz2hn5djx6vms5f6x83qyiaphhqx94h9dgv2mgg";
+    sha256 = "06fxhznwbd5x341r8ml3cpwmvwn0aq9i1akcgclk4vjdqiyff1d9";
   };
+
+  nativeBuildInputs = [
+    automake autoconf libtool pkgconfig makeWrapper
+  ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${efl}/include/ecore-con-1"
+    "-I${efl}/include/ecore-evas-1"
+    "-I${efl}/include/ecore-file-1"
+    "-I${efl}/include/ecore-imf-1"
+    "-I${efl}/include/ecore-input-1"
+    "-I${efl}/include/eet-1"
+    "-I${efl}/include/efreet-1"
+    "-I${efl}/include/eldbus-1"
+    "-I${efl}/include/emile-1"
+    "-I${efl}/include/eo-1"
+    "-I${efl}/include/ethumb-1"
+    "-I${efl}/include/ethumb-client-1"
+  ];
+
   buildInputs = [
-    elementary efl automake autoconf libtool pkgconfig
-    makeWrapper
+    efl
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -25,6 +46,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/rage \
       --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"
   '';
+
   meta = {
     description = "Video + Audio player along the lines of mplayer";
     homepage = http://enlightenment.org/;
diff --git a/pkgs/desktops/enlightenment/terminology.nix b/pkgs/desktops/enlightenment/terminology.nix
index a302b7d5f61..34506c05fab 100644
--- a/pkgs/desktops/enlightenment/terminology.nix
+++ b/pkgs/desktops/enlightenment/terminology.nix
@@ -1,12 +1,27 @@
-{ stdenv, fetchurl, pkgconfig, efl, elementary }:
+{ stdenv, fetchurl, pkgconfig, efl }:
+
 stdenv.mkDerivation rec {
   name = "terminology-${version}";
   version = "0.9.1";
+
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/terminology/${name}.tar.xz";
     sha256 = "1kwv9vkhngdm5v38q93xpcykghnyawhjjcb5bgy0p89gpbk7mvpc";
   };
-  buildInputs = [ pkgconfig efl elementary ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ efl ];
+
+  NIX_CFLAGS_COMPILE = [
+    "-I${efl}/include/ecore-con-1"
+    "-I${efl}/include/eldbus-1"
+    "-I${efl}/include/elocation-1"
+    "-I${efl}/include/emile-1"
+    "-I${efl}/include/eo-1"
+    "-I${efl}/include/ethumb-1"
+  ];
+
   meta = {
     description = "The best terminal emulator written with the EFL";
     homepage = http://enlightenment.org/;
diff --git a/pkgs/desktops/gnome-3/3.20/core/eog/src.nix b/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
index 1aaf23319c4..f3995e6bc2c 100644
--- a/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "eog-3.20.3";
+  name = "eog-3.20.4";
 
   src = fetchurl {
     url = mirror://gnome/sources/eog/3.20/eog-3.20.3.tar.xz;
-    sha256 = "16308c389deced3acb801dcc180c5e5e18b1db6ba5bd5835b5320cba9b0d2c26";
+    sha256 = "09ic1ndvl31jnlsmigd5dgdv262ybq61ik0xh35kmvgcklw8qc0n";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/yelp/default.nix b/pkgs/desktops/gnome-3/3.20/core/yelp/default.nix
index 13464137bd8..4ee79bbc3dc 100644
--- a/pkgs/desktops/gnome-3/3.20/core/yelp/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/yelp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, intltool, fetchurl, webkitgtk, pkgconfig, gtk3, glib
-, file, librsvg, gnome3, gdk_pixbuf, sqlite
+, file, librsvg, gnome3, gdk_pixbuf, sqlite, groff
 , bash, makeWrapper, itstool, libxml2, libxslt, icu, gst_all_1
 , wrapGAppsHook }:
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig gtk3 glib webkitgtk intltool itstool sqlite
                   libxml2 libxslt icu file makeWrapper gnome3.yelp_xsl
-                  librsvg gdk_pixbuf gnome3.defaultIconTheme
+                  librsvg gdk_pixbuf gnome3.defaultIconTheme groff
                   gnome3.gsettings_desktop_schemas wrapGAppsHook
                   gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good ];
 
diff --git a/pkgs/desktops/kde-5/applications/default.nix b/pkgs/desktops/kde-5/applications/default.nix
index 47109aaeac2..3166b94adaa 100644
--- a/pkgs/desktops/kde-5/applications/default.nix
+++ b/pkgs/desktops/kde-5/applications/default.nix
@@ -47,6 +47,7 @@ let
     kcolorchooser = callPackage ./kcolorchooser.nix {};
     kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
     kdenetwork-filesharing = callPackage ./kdenetwork-filesharing.nix {};
+    kdf = callPackage ./kdf.nix {};
     kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
     khelpcenter = callPackage ./khelpcenter.nix {};
     kio-extras = callPackage ./kio-extras.nix {};
diff --git a/pkgs/desktops/kde-5/applications/fetch.sh b/pkgs/desktops/kde-5/applications/fetch.sh
new file mode 100644
index 00000000000..b3c71c44fcf
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.kde.org/stable/applications/16.08.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/kde-5/applications/kdelibs/default.nix b/pkgs/desktops/kde-5/applications/kdelibs/default.nix
index 4ddc25ba644..b93aea764a3 100644
--- a/pkgs/desktops/kde-5/applications/kdelibs/default.nix
+++ b/pkgs/desktops/kde-5/applications/kdelibs/default.nix
@@ -36,8 +36,6 @@ kdeApp {
     "-DKDE_DEFAULT_HOME=.kde"
   ];
 
-  setupHook = ./setup-hook.sh;
-
   meta = {
     platforms = lib.platforms.linux;
     homepage = "http://www.kde.org";
diff --git a/pkgs/desktops/kde-5/applications/kdelibs/setup-hook.sh b/pkgs/desktops/kde-5/applications/kdelibs/setup-hook.sh
deleted file mode 100644
index e0a75dc8acd..00000000000
--- a/pkgs/desktops/kde-5/applications/kdelibs/setup-hook.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-addQt4Plugins() {
-  if [[ -d "$1/lib/qt4/plugins" ]]; then
-      propagatedUserEnvPkgs+=" $1"
-  fi
-
-  if [[ -d "$1/lib/kde4/plugins" ]]; then
-      propagatedUserEnvPkgs+=" $1"
-  fi
-}
-envHooks+=(addQt4Plugins)
diff --git a/pkgs/desktops/kde-5/applications/kdf.nix b/pkgs/desktops/kde-5/applications/kdf.nix
new file mode 100644
index 00000000000..835f0344da7
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/kdf.nix
@@ -0,0 +1,21 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kcmutils
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "kdf";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = [ lib.maintainers.peterhoeg ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kcmutils
+      ];
+    };
+in
+kdeWrapper unwrapped { targets = [ "bin/kdf" ]; }
diff --git a/pkgs/desktops/kde-5/plasma/default.nix b/pkgs/desktops/kde-5/plasma/default.nix
index 4b502a3119b..2e090255e59 100644
--- a/pkgs/desktops/kde-5/plasma/default.nix
+++ b/pkgs/desktops/kde-5/plasma/default.nix
@@ -77,7 +77,6 @@ let
     oxygen = callPackage ./oxygen.nix {};
     plasma-desktop = callPackage ./plasma-desktop {};
     plasma-integration = callPackage ./plasma-integration.nix {};
-    plasma-mediacenter = callPackage ./plasma-mediacenter.nix {};
     plasma-nm = callPackage ./plasma-nm {};
     plasma-pa = callPackage ./plasma-pa.nix {};
     plasma-workspace = callPackage ./plasma-workspace {};
diff --git a/pkgs/desktops/kde-5/plasma/fetch.sh b/pkgs/desktops/kde-5/plasma/fetch.sh
new file mode 100644
index 00000000000..518c2e63163
--- /dev/null
+++ b/pkgs/desktops/kde-5/plasma/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.kde.org/stable/plasma/5.7.4/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/kde-5/plasma/plasma-mediacenter.nix b/pkgs/desktops/kde-5/plasma/plasma-mediacenter.nix
deleted file mode 100644
index 1967a0b8a4e..00000000000
--- a/pkgs/desktops/kde-5/plasma/plasma-mediacenter.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ plasmaPackage, ecm, baloo, kactivities, kconfig
-, kcoreaddons, kdeclarative, kguiaddons, ki18n, kio, kservice
-, kfilemetadata, plasma-framework, qtdeclarative, qtmultimedia
-, taglib
-}:
-
-plasmaPackage rec {
-  name = "plasma-mediacenter";
-  nativeBuildInputs = [
-    ecm
-  ];
-  propagatedBuildInputs = [
-    baloo kactivities kdeclarative kfilemetadata ki18n kio plasma-framework
-    kconfig kcoreaddons kguiaddons kservice qtdeclarative qtmultimedia taglib
-  ];
-}
diff --git a/pkgs/desktops/kde-5/plasma/srcs.nix b/pkgs/desktops/kde-5/plasma/srcs.nix
index 2e401796cf4..2531dc66f6c 100644
--- a/pkgs/desktops/kde-5/plasma/srcs.nix
+++ b/pkgs/desktops/kde-5/plasma/srcs.nix
@@ -1,325 +1,317 @@
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
 { fetchurl, mirror }:
 
 {
   bluedevil = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/bluedevil-5.7.3.tar.xz";
-      sha256 = "0485lm4d18qv1w0qgb46g318xbb3cd6d5j42j0s95snrg7rlp717";
-      name = "bluedevil-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/bluedevil-5.7.4.tar.xz";
+      sha256 = "0f6hdl5z9nfakhgsh9lgf1j63wnrw28wdqibahra6n97z5q6ymn9";
+      name = "bluedevil-5.7.4.tar.xz";
     };
   };
   breeze = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/breeze-5.7.3.tar.xz";
-      sha256 = "1wyj13sw4xrpb155p00wpn2hvvkpjrpf14b15sk3dpbhlzc8m77p";
-      name = "breeze-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/breeze-5.7.4.tar.xz";
+      sha256 = "0sjcbn87zk1xnkw19byhqwkldz9j1j10421akc77cwla0qmz1586";
+      name = "breeze-5.7.4.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/breeze-grub-5.7.3.tar.xz";
-      sha256 = "0xlxpg1z67mjn3mf698b2jrls7fyb19i3carmr56c0f45r628lpf";
-      name = "breeze-grub-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/breeze-grub-5.7.4.tar.xz";
+      sha256 = "0gixa1myhim3g06jpvbp5ygkmg1pq8bncigc9njc2fxxy8naj8jf";
+      name = "breeze-grub-5.7.4.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/breeze-gtk-5.7.3.tar.xz";
-      sha256 = "0bw9hj0ca99kfvfw621l19wm9x81p8pyc19yrlhbr527mhw65i65";
-      name = "breeze-gtk-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/breeze-gtk-5.7.4.tar.xz";
+      sha256 = "0igrr82cprk69g19h2lgv265780jbjlgbj1rh1j6hpfccwrwhg0x";
+      name = "breeze-gtk-5.7.4.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/breeze-plymouth-5.7.3.tar.xz";
-      sha256 = "0hiscvdqrnig594w9b0b69wzbqgcrc56p9r0z52pj2zw4df5m3za";
-      name = "breeze-plymouth-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/breeze-plymouth-5.7.4.tar.xz";
+      sha256 = "02qn0fvkcq4gd170pakm0ypfmwj51wjascdhylvn9aclmac3j7zk";
+      name = "breeze-plymouth-5.7.4.tar.xz";
     };
   };
   discover = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/discover-5.7.3.tar.xz";
-      sha256 = "1ylq2mfzqjibfx7g6xd1b83sg9a8s60jjnxzgf808kxqzrb7b6bg";
-      name = "discover-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/discover-5.7.4.tar.xz";
+      sha256 = "00w4n7c7k0lmjkqa6554sg0fh91n8aj01srcq6dz5h5fx1n858wz";
+      name = "discover-5.7.4.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kactivitymanagerd-5.7.3.tar.xz";
-      sha256 = "0ajm5d15qglb7k8js7626mcxi19g0vsgvs7y3ggqngvklpnpgqr0";
-      name = "kactivitymanagerd-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kactivitymanagerd-5.7.4.tar.xz";
+      sha256 = "10v4w8cadrhnc7xpy8j0s1fi10gmcv1vvisi6lc8vqzdil2hk89b";
+      name = "kactivitymanagerd-5.7.4.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kde-cli-tools-5.7.3.tar.xz";
-      sha256 = "1pg6zabll61q8krw3h5i8z0bj6zxm7g21dza5jgvb0vbirr4zgz6";
-      name = "kde-cli-tools-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kde-cli-tools-5.7.4.tar.xz";
+      sha256 = "0q2dz8qx2zqsc7d185zvmv1x5wz1mvkb8zs6i2454l2l1jy6934p";
+      name = "kde-cli-tools-5.7.4.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kdecoration-5.7.3.tar.xz";
-      sha256 = "1k20x7ndp8rv8ihphkz68g4m7r73gvswcnxi1ahipqnw5mnywl9c";
-      name = "kdecoration-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kdecoration-5.7.4.tar.xz";
+      sha256 = "160cb3ra9vgxydrgskvsacm50jhwnb0caqmfaj387gcpykxxayl1";
+      name = "kdecoration-5.7.4.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kde-gtk-config-5.7.3.tar.xz";
-      sha256 = "0ynpk4p4yx2wy0jm1bk9v8rk27w5fb1ra1d2w6gfz33ijp7iah92";
-      name = "kde-gtk-config-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kde-gtk-config-5.7.4.tar.xz";
+      sha256 = "0l69d6rj0r9mga2p6rf9vwsalcir140xb3szy2nhdrgqmrka3mbl";
+      name = "kde-gtk-config-5.7.4.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kdeplasma-addons-5.7.3.tar.xz";
-      sha256 = "0jdc2avjjy0p4rib7k7wd3ns02pyi57dyfqgja606gbipdvw1fwn";
-      name = "kdeplasma-addons-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kdeplasma-addons-5.7.4.tar.xz";
+      sha256 = "0vc865f3903g93r5w8phi9l0rnlblq68nirwblic2j2a2gyjsn4r";
+      name = "kdeplasma-addons-5.7.4.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kgamma5-5.7.3.tar.xz";
-      sha256 = "1zzig2iw5wjhvym35vbljqa4ma7jyprqvqxbcw3aqj1hp5z9g35k";
-      name = "kgamma5-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kgamma5-5.7.4.tar.xz";
+      sha256 = "15y86qhgrfs7p8imabsf45l7rpfis1mcjg4g22phizk17w4rzk92";
+      name = "kgamma5-5.7.4.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/khotkeys-5.7.3.tar.xz";
-      sha256 = "1xq70j2wfxxbhzn3darjx75120j641v8rd20wjcn5bmr1xlr5fb7";
-      name = "khotkeys-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/khotkeys-5.7.4.tar.xz";
+      sha256 = "1lggfcgpq4x1hdvlcjmi3k63rffprhrpjkfvjhryhx62648xb24a";
+      name = "khotkeys-5.7.4.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kinfocenter-5.7.3.tar.xz";
-      sha256 = "1s66400kh49wzfsgahdya6w1j2a4f5w47lllpy2i6w1xl3pag219";
-      name = "kinfocenter-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kinfocenter-5.7.4.tar.xz";
+      sha256 = "0j4l5yw0h0iwqqcfyah1wh5mnrg47nhqmqza7dz13b48n0bpg31l";
+      name = "kinfocenter-5.7.4.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kmenuedit-5.7.3.tar.xz";
-      sha256 = "0j0qk1p9j25kk8jysx41jnh52yflb2xf2xg64p7x72i6ci8axyaa";
-      name = "kmenuedit-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kmenuedit-5.7.4.tar.xz";
+      sha256 = "1g8a092kx68spvrys0b8xjyrnx1y94i5lsi51j1cw0ylgjmqsp3p";
+      name = "kmenuedit-5.7.4.tar.xz";
     };
   };
   kscreen = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kscreen-5.7.3.tar.xz";
-      sha256 = "1z48sycq6i618ypba78hm5vh8m3c9c0k44jl4lrxvx524axhg11w";
-      name = "kscreen-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kscreen-5.7.4.tar.xz";
+      sha256 = "1i0c0znfr2y7b5aczmkym5aflh08sv1f7nfi3j6xmbzcxpfdvidy";
+      name = "kscreen-5.7.4.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kscreenlocker-5.7.3.tar.xz";
-      sha256 = "1xnzca0mli25mmg0x4pqa1gfhvw4f3m7cqn1ml92z7fnh8rbqw5k";
-      name = "kscreenlocker-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kscreenlocker-5.7.4.tar.xz";
+      sha256 = "03giy5fxy11bdz6ww5hmgwhnlngcrzk7ahp4l1sd9yf3fd4rav6q";
+      name = "kscreenlocker-5.7.4.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/ksshaskpass-5.7.3.tar.xz";
-      sha256 = "1ihhavb87xzgb649lxc2z9hcxrc37pgx52f13hbswbzl1086nfqh";
-      name = "ksshaskpass-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/ksshaskpass-5.7.4.tar.xz";
+      sha256 = "15b0jhpkg086rspjmcpqi0ylnvxvl9wylz13vkaqdm6408d558gg";
+      name = "ksshaskpass-5.7.4.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/ksysguard-5.7.3.tar.xz";
-      sha256 = "1rkhjjxcp6d0ybpnyjkadx3hyv2r9c1xgby4x042ac0kycvkxdiz";
-      name = "ksysguard-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/ksysguard-5.7.4.tar.xz";
+      sha256 = "1r96zrplcbfb37r8vxvm2hzq638g979xx9y0jrsyhpzxhxgv4w1w";
+      name = "ksysguard-5.7.4.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kwallet-pam-5.7.3.tar.xz";
-      sha256 = "1nfphzlcwx0l6wa4kl7akwmf8wb1pr1acyaxchivj463wbnbygy4";
-      name = "kwallet-pam-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kwallet-pam-5.7.4.tar.xz";
+      sha256 = "1p3py66qw09s9pcrbn0x356c13w24nrhkgypz0v3kyr51ia1r1jr";
+      name = "kwallet-pam-5.7.4.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kwayland-integration-5.7.3.tar.xz";
-      sha256 = "1wlimrd33fa3wkvw5kdg3y73s6x33rd2i70prb4svr15bb82pfin";
-      name = "kwayland-integration-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kwayland-integration-5.7.4.tar.xz";
+      sha256 = "05n0m38rmil1zg5clilsic2pq7973nymcr54w6kh93dzrr4r9ls3";
+      name = "kwayland-integration-5.7.4.tar.xz";
     };
   };
   kwin = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kwin-5.7.3.tar.xz";
-      sha256 = "0rh4mjv9cspv21y5a81cfdi3p3mvybmwvcbyx68svpzpfj6mvpca";
-      name = "kwin-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kwin-5.7.4.tar.xz";
+      sha256 = "06fmk3jpk3zbig46rzsi5wmxa17z0lnh3r0fk9hxdalxdz4c9ws8";
+      name = "kwin-5.7.4.tar.xz";
     };
   };
   kwrited = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/kwrited-5.7.3.tar.xz";
-      sha256 = "1qx67gv75n9m777g4a6hj75nsbv7wqqb2bb7fm7bm5110lv1j3gl";
-      name = "kwrited-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/kwrited-5.7.4.tar.xz";
+      sha256 = "14c1rw8vmvi4iffqinkz7pgk49g80hw3mhh2mqk5lqj21rnrliqz";
+      name = "kwrited-5.7.4.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/libkscreen-5.7.3.tar.xz";
-      sha256 = "1zmzhqb2fb6mxilqfyxhgnflqwcf0cx006h3psx3mf634qqh1ixi";
-      name = "libkscreen-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/libkscreen-5.7.4.tar.xz";
+      sha256 = "1jifb6xi3d541y2c3ipx666dr4wa0i9sc59a4s75cdp82322qvsj";
+      name = "libkscreen-5.7.4.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/libksysguard-5.7.3.tar.xz";
-      sha256 = "1gcrwlksvv1br03j11v2bhgikkwwhh0ynv2z3g9lbyvbjg8jmwya";
-      name = "libksysguard-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/libksysguard-5.7.4.tar.xz";
+      sha256 = "1kkfsjzpraj0hc02mrz93jdp3ha2dv0m28jmwrxd7z059slfyfj0";
+      name = "libksysguard-5.7.4.tar.xz";
     };
   };
   milou = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/milou-5.7.3.tar.xz";
-      sha256 = "172qvnkniqbhxdzm1inl6adjxfy13a9hnimqfwdgf1f7ss5dmsp7";
-      name = "milou-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/milou-5.7.4.tar.xz";
+      sha256 = "1v117cdsiwg4l6g7x2k0mpgp57a9gc6k95jxxms9d41hqwq8qg6q";
+      name = "milou-5.7.4.tar.xz";
     };
   };
   oxygen = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/oxygen-5.7.3.tar.xz";
-      sha256 = "0y3jf5y21dzpyv9vz44qb7kqr1afmad9yvq45kwpjwlnabz75y3r";
-      name = "oxygen-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/oxygen-5.7.4.tar.xz";
+      sha256 = "1g18h5a3vxa7pxp07wg9g0yzddvjcqs7cnrlrb2mj8r4zdxg4nx3";
+      name = "oxygen-5.7.4.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-desktop-5.7.3.tar.xz";
-      sha256 = "1plfrfzczzz2x2pp8f3vkphds9hfp28qmcyaf2c63snjcply0vjg";
-      name = "plasma-desktop-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-desktop-5.7.4.tar.xz";
+      sha256 = "0xm8666acp3149gd9simmbkjpi36fbibpy86ppj0hg26pknc66mr";
+      name = "plasma-desktop-5.7.4.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-integration-5.7.3.tar.xz";
-      sha256 = "1wlwmjf4m6f4bps8vbk8f1ixjmd3krm5h1mc27mls35r783kh3hl";
-      name = "plasma-integration-5.7.3.tar.xz";
-    };
-  };
-  plasma-mediacenter = {
-    version = "5.7.3";
-    src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-mediacenter-5.7.3.tar.xz";
-      sha256 = "0p5pip14y2rfv9gsk40jqbv2hg2m7wg8cvycbc774gi19zr19ajr";
-      name = "plasma-mediacenter-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-integration-5.7.4.tar.xz";
+      sha256 = "0h0pmwhkz052dzv7gk9j2a699912agzx39z9iirhigkwniij8q1x";
+      name = "plasma-integration-5.7.4.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-nm-5.7.3.tar.xz";
-      sha256 = "0xap1mjj1lg9nvys1ld9d4bvx5vi3qi2gc4gvdh7h4i1phyzfqwz";
-      name = "plasma-nm-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-nm-5.7.4.tar.xz";
+      sha256 = "0p5c4n6xc4dw9393l2an320z85mgg8f9wsa04dxdami2638drq9i";
+      name = "plasma-nm-5.7.4.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-pa-5.7.3.tar.xz";
-      sha256 = "11dwm848ylm7fx2fgmjxsknqd5vq0832h8d3ak0f0a2gbrqpvgis";
-      name = "plasma-pa-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-pa-5.7.4.tar.xz";
+      sha256 = "1zk6kry02vfmm4mwznq5gy7xzjlbpvbb4a749z0zq0nkmlpx78d4";
+      name = "plasma-pa-5.7.4.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-sdk-5.7.3.tar.xz";
-      sha256 = "1xi4gyrcwll8m0ilmqrpaa8anx7bravz25f7j613zmr7c59372cb";
-      name = "plasma-sdk-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-sdk-5.7.4.tar.xz";
+      sha256 = "11zq31ja965p9xi4k5siki25blmy5lqsmhscq6pysqs7yzijjban";
+      name = "plasma-sdk-5.7.4.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-workspace-5.7.3.tar.xz";
-      sha256 = "0hlh7qvll48hnpmjkhf53fxx91yx8sdhsyc9y77mfzwavd72354q";
-      name = "plasma-workspace-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-workspace-5.7.4.tar.xz";
+      sha256 = "0g8f1wn3cjgxiyvsbgaac91digglrka9lqsf1xr4fj6l7kfvb1ap";
+      name = "plasma-workspace-5.7.4.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/plasma-workspace-wallpapers-5.7.3.tar.xz";
-      sha256 = "0452k2ic16cf385l057chh2a3wh4hjxxlpnlapfyxsmxhz29ymgz";
-      name = "plasma-workspace-wallpapers-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/plasma-workspace-wallpapers-5.7.4.tar.xz";
+      sha256 = "1px6sp59wld8j6b7a22dc61b4x4rk4jv4bdfispkxv9b6nb29pdp";
+      name = "plasma-workspace-wallpapers-5.7.4.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.7.3";
+    version = "1-5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/polkit-kde-agent-1-5.7.3.tar.xz";
-      sha256 = "1j1724dffrpv06xzmgqvm4xbdscflkcx31bshwh2mizcxknb2bbq";
-      name = "polkit-kde-agent-1-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/polkit-kde-agent-1-5.7.4.tar.xz";
+      sha256 = "19xw0y1d5cbxs5x79gg8x5nhpsc3lzrk3cq913symg1lz4y8py8l";
+      name = "polkit-kde-agent-1-5.7.4.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/powerdevil-5.7.3.tar.xz";
-      sha256 = "1npbdwhic2bkdzxggkvyl1bqpfb7ihcpa8rds3c6bf6smbkhwiqi";
-      name = "powerdevil-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/powerdevil-5.7.4.tar.xz";
+      sha256 = "19vjhs7cccfgvln4zn8wdnawk5xq6l12qi9jkzzxbhds456xqr84";
+      name = "powerdevil-5.7.4.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/sddm-kcm-5.7.3.tar.xz";
-      sha256 = "1s80j6hjjz8n079k8867xbb1q20n7mxrcjlfm44m2p0qz8nv4kjk";
-      name = "sddm-kcm-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/sddm-kcm-5.7.4.tar.xz";
+      sha256 = "0aljr8pmc65dd6xq4c1i17wasn50nk3p3qwm54rfm9z063qm865h";
+      name = "sddm-kcm-5.7.4.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/systemsettings-5.7.3.tar.xz";
-      sha256 = "0776vqnwvpf1x52lz8wpl3y43r5zq6l3wviw0fpbj4fcg8jmryr3";
-      name = "systemsettings-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/systemsettings-5.7.4.tar.xz";
+      sha256 = "024rqmnw5bdph15ck8zmzxjars77jzh0hfh3yys1c3ydbhnvrc3w";
+      name = "systemsettings-5.7.4.tar.xz";
     };
   };
   user-manager = {
-    version = "5.7.3";
+    version = "5.7.4";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.7.3/user-manager-5.7.3.tar.xz";
-      sha256 = "172gl6p6ai0gi2m10b0rpcg69xqf4127cf6gbvv0r22cprhxw1cb";
-      name = "user-manager-5.7.3.tar.xz";
+      url = "${mirror}/stable/plasma/5.7.4/user-manager-5.7.4.tar.xz";
+      sha256 = "002qzlvh911ybffp7d0ln4qn6z87lnikagmcagy5bb3ypg217ijf";
+      name = "user-manager-5.7.4.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
index a39b388cbb7..256f9949e83 100755
--- a/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
+++ b/pkgs/desktops/kde-5/plasma/startkde/startkde.sh
@@ -185,28 +185,6 @@ if test -z "$dl"; then
   esac
 fi
 
-# Source scripts found in <config locations>/plasma-workspace/env/*.sh
-# (where <config locations> correspond to the system and user's configuration
-# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
-# and /etc/xdg/ on Linux)
-#
-# This is where you can define environment variables that will be available to
-# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
-# or eval `gpg-agent --daemon`.
-# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
-#
-# (see end of this file).
-# For anything else (that doesn't set env vars, or that needs a window manager),
-# better use the Autostart folder.
-
-IFS=":" read -r -a scriptpath <<< $(qtpaths --paths GenericConfigLocation)
-# Add /env/ to the directory to locate the scripts to be sourced
-for prefix in "${scriptpath[@]}"; do
-  for file in "$prefix"/plasma-workspace/env/*.sh; do
-    test -r "$file" && . "$file" || true
-  done
-done
-
 echo 'startkde: Starting up...'  1>&2
 
 # Make sure that D-Bus is running
@@ -255,6 +233,28 @@ export KDE_SESSION_UID
 XDG_CURRENT_DESKTOP=KDE
 export XDG_CURRENT_DESKTOP
 
+# Source scripts found in <config locations>/plasma-workspace/env/*.sh
+# (where <config locations> correspond to the system and user's configuration
+# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
+# and /etc/xdg/ on Linux)
+#
+# This is where you can define environment variables that will be available to
+# all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent`
+# or eval `gpg-agent --daemon`.
+# Note: if you do that, you should also put "ssh-agent -k" as a shutdown script
+#
+# (see end of this file).
+# For anything else (that doesn't set env vars, or that needs a window manager),
+# better use the Autostart folder.
+
+IFS=":" read -r -a scriptpath <<< $(qtpaths --paths GenericConfigLocation)
+# Add /env/ to the directory to locate the scripts to be sourced
+for prefix in "${scriptpath[@]}"; do
+  for file in "$prefix"/plasma-workspace/env/*.sh; do
+    test -r "$file" && . "$file" || true
+  done
+done
+
 # At this point all the environment is ready, let's send it to kwalletd if running
 if test -n "$PAM_KWALLET_LOGIN" ; then
     env | socat STDIN UNIX-CONNECT:$PAM_KWALLET_LOGIN
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 74c198696b6..079b277a8e5 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -58,7 +58,7 @@ assert langGo -> langCC;
 with stdenv.lib;
 with builtins;
 
-let version = "6.1.0";
+let version = "6.2.0";
 
     # Whether building a cross-compiler for GNU/Hurd.
     crossGNU = cross != null && cross.config == "i586-pc-gnu";
@@ -215,7 +215,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
-    sha256 = "0ld3y4rgimyqgx1nwvzqyl5gr4wzc0ch4akkvsqp3fgbmdfcii09";
+    sha256 = "1idpf43988v1a6i8lw9ak1r7igcfg1bm5kn011iydlr2qygmhi4r";
   };
 
   inherit patches;
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index b214c1feb23..43a7e767c6a 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -6,18 +6,18 @@ let
   inherit (bootPkgs) ghc;
 
 in stdenv.mkDerivation rec {
-  version = "7.11.20151216";
+  version = "8.1.20160826";
   name = "ghc-${version}";
-  rev = "28638dfe79e915f33d75a1b22c5adce9e2b62b97";
+  rev = "0050aff22ba04baca732bf5124002417ab667f8a";
 
   src = fetchgit {
     url = "git://git.haskell.org/ghc.git";
     inherit rev;
-    sha256 = "0rjzkzn0hz1vdnjikcbwfs5ggs8r3y4gqxfdn4jzfp45gx94wiwv";
+    sha256 = "1iirb11fr8914pb6i988cfji56gs698ll819bgb0hpcdkrmffwqc";
   };
 
   patches = [
-    ./ghc-7.x-dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
+    ./ghc-8.x-dont-pass-linker-flags-via-response-files.patch   # https://github.com/NixOS/nixpkgs/issues/10752
     ./relocation.patch
   ];
 
@@ -43,7 +43,7 @@ in stdenv.mkDerivation rec {
   '';
 
   configureFlags = [
-    "--with-gcc=${stdenv.cc}/bin/cc"
+    "--with-cc=${stdenv.cc}/bin/cc"
     "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
     "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
   ] ++ stdenv.lib.optional stdenv.isDarwin [
diff --git a/pkgs/development/compilers/go/1.7.nix b/pkgs/development/compilers/go/1.7.nix
index a65b1dd6b78..89f56a2438c 100644
--- a/pkgs/development/compilers/go/1.7.nix
+++ b/pkgs/development/compilers/go/1.7.nix
@@ -100,6 +100,9 @@ stdenv.mkDerivation rec {
 
     sed -i '/TestDisasmExtld/areturn' src/cmd/objdump/objdump_test.go
 
+    sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
+    sed -i 's/unrecognized/unknown/' src/cmd/go/build.go
+
     touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
 
     sed -i '1 a\exit 0' misc/cgo/errors/test.bash
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index ef4aa44d436..f8524e777a0 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, libmemcached, pcre
-, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php, re2c
+, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
 , expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
 , libxslt, ocaml, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   name    = "hhvm-${version}";
-  version = "3.12.1";
+  version = "3.14.5";
 
   # use git version since we need submodules
   src = fetchgit {
diff --git a/pkgs/development/compilers/rust/beta.nix b/pkgs/development/compilers/rust/beta.nix
index 130b3311cc5..2414480dda8 100644
--- a/pkgs/development/compilers/rust/beta.nix
+++ b/pkgs/development/compilers/rust/beta.nix
@@ -3,12 +3,11 @@
 
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "beta-1.11.0";
+    shortVersion = "beta-2016-08-17";
     forceBundledLLVM = false;
-    needsCmake = true;
     configureFlags = [ "--release-channel=beta" ];
-    srcRev = "9333c420da0da6291740c313d5af3d620b55b8bc";
-    srcSha = "05z6i4s5jjw3c5ypap6kzxk81bg4dib47h51znvsvcvr0svsnkgs";
+    srcRev = "822166b842e4d0b32fafc8b077fb927ec281253d";
+    srcSha = "1zkv7hyjvcj7kvbngf309skgllk6rd7727a6hkvhd3hg8jlz0d00";
     patches = [
       ./patches/disable-lockfile-check.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 1ced865fc90..e7cc7b15627 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -17,13 +17,13 @@ let
   # fetch hashes by running `print-hashes.sh 1.9.0`
   bootstrapHash =
     if stdenv.system == "i686-linux"
-    then "dd4d9bf1b9393867eb18d00431e8fb733894984f2c7b5154bc1b64d045077b45"
+    then "be93dd2b80a97f2877679950d56990628c6547b953294f16bf6d69c18a39edc0"
     else if stdenv.system == "x86_64-linux"
-    then "288ff13efa2577e81c77fc2cb6e2b49b1ed0ceab51b4fa12f7efb87039ac49b7"
+    then "f189303d52b37c8bb694b9d9739ae73ffa926cbdeffde1d5d6a5c6e811940293"
     else if stdenv.system == "i686-darwin"
-    then "4d4d4b256d6bd6ae2527cf61007b2553de200f0a1910b7ad41e4f51d2b21e536"
+    then "40d4782a58dd5bef22dbbaa7a363f3b42f844628db07205f6435ac934f350061"
     else if stdenv.system == "x86_64-darwin"
-    then "d59b5509e69c1cace20a57072e3b3ecefdbfd8c7e95657b0ff2ac10aa1dfebe6"
+    then "4bb71249f4afd7cee07f63d681f9fcb1b525ee3dfd49722adab7a40024e45af7"
     else throw "missing boostrap hash for platform ${stdenv.system}";
 
   needsPatchelf = stdenv.isLinux;
@@ -33,7 +33,7 @@ let
      sha256 = bootstrapHash;
   };
 
-  version = "1.9.0";
+  version = "1.10.0";
 in
 
 rec {
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index bfab4453a34..9bbcb360e61 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -7,15 +7,17 @@ in
 
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "1.10.0";
+    shortVersion = "1.11.0";
     isRelease = true;
     forceBundledLLVM = false;
     configureFlags = [ "--release-channel=stable" ];
-    srcRev = "cfcb716cf0961a7e3a4eceac828d94805cf8140b";
-    srcSha = "15i81ybh32xymmkyz3bkb5bdgi9hx8nb0sh00ac6qba6w8ljpii9";
+    srcRev = "9b21dcd6a89f38e8ceccb2ede8c9027cb409f6e3";
+    srcSha = "12djpxhwqvq3262ai9vd096bvriynci2mrwn0dfjrd0w6s0i8viy";
+
     patches = [
       ./patches/disable-lockfile-check.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
+
     inherit targets;
     inherit targetPatches;
     inherit targetToolchains;
@@ -27,10 +29,10 @@ rec {
     # `http.cainfo` option from .cargo/config which isn't released
     # yet.
 
-    version = "master-2016-07-25";
-    srcRev = "f09ef68cc47956ccc5f99212bdcdd15298c400a0";
-    srcSha = "1r6q9jd0fl6mzhwkvrrcv358q2784hg51dfpy28xgh4n61m7c155";
-    depsSha256 = "1p1ygabg9k9b0azm0mrx8asjzdi35c5zw53iysba198lli6bhdl4";
+    version = "0.12.0";
+    srcRev = "6b98d1f8abf5b33c1ca2771d3f5f3bafc3407b93";
+    srcSha = "0pq6l3yzmh2il6320f6501hvp9iikdxzl34i5b52v93ncpim36bk";
+    depsSha256 = "1jrwzm9fd15kf2d5zb17q901hx32h711ivcwdpxpmzwq08sjlcvl";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/head.nix b/pkgs/development/compilers/rust/head.nix
index 3406fdb317f..2288a360a51 100644
--- a/pkgs/development/compilers/rust/head.nix
+++ b/pkgs/development/compilers/rust/head.nix
@@ -3,17 +3,13 @@
 
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "master-1.12.0";
+    shortVersion = "master-1.13.0";
     forceBundledLLVM = false;
-    needsCmake = true;
     configureFlags = [ "--release-channel=nightly" ];
-    srcRev = "d9a911d236cbecb47775276ba51a5f9111bdbc9c";
-    srcSha = "07wybqvnw99fljmcy33vb9iwirmp10cwy47n008p396s7pb852hv";
+    srcRev = "308824acecf902f2b6a9c1538bde0324804ba68e";
+    srcSha = "17zv1a27a7w6n3a22brriqx5m6i4s3nsj7mlnpliwghlbz8q7384";
     patches = [
       ./patches/disable-lockfile-check.patch
-      # Drop this patch after
-      # https://github.com/rust-lang/rust/pull/35140 gets merged
-      ./patches/tcp-stress-test-run-a-smaller-number-of-threads.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
     inherit targets;
     inherit targetPatches;
diff --git a/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch b/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch
deleted file mode 100644
index 1b1d62160f6..00000000000
--- a/pkgs/development/compilers/rust/patches/tcp-stress-test-run-a-smaller-number-of-threads.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From b6202b5d602ca8216febe8ce9078581faa32955e Mon Sep 17 00:00:00 2001
-From: Moritz Ulrich <moritz@tarn-vedra.de>
-Date: Sat, 30 Jul 2016 09:01:13 +0200
-Subject: [PATCH] tcp-stress-test: Run a smaller number of threads.
-
----
- src/test/run-pass/tcp-stress.rs | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/test/run-pass/tcp-stress.rs b/src/test/run-pass/tcp-stress.rs
-index dfc8649..df8cdc9 100644
---- a/src/test/run-pass/tcp-stress.rs
-+++ b/src/test/run-pass/tcp-stress.rs
-@@ -21,6 +21,8 @@ use std::sync::mpsc::channel;
- use std::time::Duration;
- use std::thread::{self, Builder};
- 
-+const TARGET_CNT: usize = 256;
-+
- fn main() {
-     // This test has a chance to time out, try to not let it time out
-     thread::spawn(move|| -> () {
-@@ -42,8 +44,9 @@ fn main() {
-     });
- 
-     let (tx, rx) = channel();
-+
-     let mut spawned_cnt = 0;
--    for _ in 0..1000 {
-+    for _ in 0..TARGET_CNT {
-         let tx = tx.clone();
-         let res = Builder::new().stack_size(64 * 1024).spawn(move|| {
-             match TcpStream::connect(addr) {
-@@ -66,6 +69,6 @@ fn main() {
-     for _ in 0..spawned_cnt {
-         rx.recv().unwrap();
-     }
--    assert_eq!(spawned_cnt, 1000);
-+    assert_eq!(spawned_cnt, TARGET_CNT);
-     process::exit(0);
- }
--- 
-2.9.1
-
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 85e842176f4..f8f0e6df0d8 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -2,7 +2,6 @@
 , llvm, jemalloc, ncurses, darwin, binutils, rustPlatform, git, cmake, curl
 
 , isRelease ? false
-, needsCmake ? false
 , shortVersion
 , forceBundledLLVM ? false
 , srcSha, srcRev
@@ -81,7 +80,7 @@ stdenv.mkDerivation {
 
     # Fix the configure script to not require curl as we won't use it
     sed -i configure \
-      -e '/probe_need CFG_CURLORWGET/d'
+      -e '/probe_need CFG_CURL curl/d'
 
     # Fix the use of jemalloc prefixes which our jemalloc doesn't have
     # TODO: reenable if we can figure out how to get our jemalloc to work
@@ -92,7 +91,7 @@ stdenv.mkDerivation {
     rm -vr src/test/run-make/linker-output-non-utf8/
 
     # Useful debugging parameter
-    #export VERBOSE=1
+    # export VERBOSE=1
   '';
 
   preConfigure = ''
@@ -101,14 +100,12 @@ stdenv.mkDerivation {
     configureFlagsArray+=("--infodir=$out/share/info")
   '';
 
-  # New -beta and -unstable unfortunately need cmake for compiling
-  # llvm-rt but don't use it for the normal build. This disables cmake
-  # in Nix.
-  dontUseCmakeConfigure = needsCmake;
+  # rustc unfortunately need cmake for compiling llvm-rt but doesn't
+  # use it for the normal build. This disables cmake in Nix.
+  dontUseCmakeConfigure = true;
 
   # ps is needed for one of the test cases
-  nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git ]
-    ++ stdenv.lib.optional needsCmake [ cmake curl ];
+  nativeBuildInputs = [ file python2 procps rustPlatform.rust.rustc git cmake ];
 
   buildInputs = [ ncurses ] ++ targetToolchains
     ++ optional (!forceBundledLLVM) llvmShared;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 860ed1fec0c..003fef4f096 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -2825,7 +2825,6 @@ dont-distribute-packages:
   language-lua-qq:                              [ i686-linux, x86_64-darwin, x86_64-linux ]
   language-mixal:                               [ i686-linux, x86_64-linux ]
   language-objc:                                [ i686-linux, x86_64-linux ]
-  language-puppet:                              [ i686-linux, x86_64-darwin, x86_64-linux ]
   language-python-colour:                       [ i686-linux, x86_64-darwin, x86_64-linux ]
   language-qux:                                 [ i686-linux, x86_64-darwin, x86_64-linux ]
   language-sh:                                  [ i686-linux, x86_64-linux ]
diff --git a/pkgs/development/haskell-modules/configuration-lts.nix b/pkgs/development/haskell-modules/configuration-lts.nix
index bcebd87d40a..59f791e93bd 100644
--- a/pkgs/development/haskell-modules/configuration-lts.nix
+++ b/pkgs/development/haskell-modules/configuration-lts.nix
@@ -321,6 +321,7 @@ self: super: {
   "FpMLv53" = dontDistribute super."FpMLv53";
   "FractalArt" = dontDistribute super."FractalArt";
   "Fractaler" = dontDistribute super."Fractaler";
+  "Frames" = doDistribute super."Frames_0_1_4";
   "Frank" = dontDistribute super."Frank";
   "FreeTypeGL" = dontDistribute super."FreeTypeGL";
   "FunGEn" = dontDistribute super."FunGEn";
@@ -1038,6 +1039,7 @@ self: super: {
   "accentuateus" = dontDistribute super."accentuateus";
   "access-time" = dontDistribute super."access-time";
   "accuerr" = dontDistribute super."accuerr";
+  "acid-state" = doDistribute super."acid-state_0_14_1";
   "acid-state-dist" = dontDistribute super."acid-state-dist";
   "acid-state-tls" = dontDistribute super."acid-state-tls";
   "acl2" = dontDistribute super."acl2";
@@ -1191,6 +1193,7 @@ self: super: {
   "anatomy" = dontDistribute super."anatomy";
   "android" = dontDistribute super."android";
   "android-lint-summary" = dontDistribute super."android-lint-summary";
+  "angle" = dontDistribute super."angle";
   "animalcase" = dontDistribute super."animalcase";
   "annah" = dontDistribute super."annah";
   "annihilator" = dontDistribute super."annihilator";
@@ -1611,6 +1614,7 @@ self: super: {
   "bounded-tchan" = dontDistribute super."bounded-tchan";
   "boundingboxes" = dontDistribute super."boundingboxes";
   "bowntz" = dontDistribute super."bowntz";
+  "box-tuples" = dontDistribute super."box-tuples";
   "bpann" = dontDistribute super."bpann";
   "braid" = dontDistribute super."braid";
   "brainfuck" = dontDistribute super."brainfuck";
@@ -1660,6 +1664,7 @@ self: super: {
   "bytestring-rematch" = dontDistribute super."bytestring-rematch";
   "bytestring-short" = dontDistribute super."bytestring-short";
   "bytestring-show" = dontDistribute super."bytestring-show";
+  "bytestring-tree-builder" = doDistribute super."bytestring-tree-builder_0_2_7";
   "bytestringparser" = dontDistribute super."bytestringparser";
   "bytestringparser-temporary" = dontDistribute super."bytestringparser-temporary";
   "bytestringreadp" = dontDistribute super."bytestringreadp";
@@ -1774,6 +1779,8 @@ self: super: {
   "cash" = dontDistribute super."cash";
   "casing" = dontDistribute super."casing";
   "casr-logbook" = dontDistribute super."casr-logbook";
+  "casr-logbook-html" = dontDistribute super."casr-logbook-html";
+  "casr-logbook-meta" = dontDistribute super."casr-logbook-meta";
   "cassandra-cql" = dontDistribute super."cassandra-cql";
   "cassandra-thrift" = dontDistribute super."cassandra-thrift";
   "cassava-conduit" = dontDistribute super."cassava-conduit";
@@ -1890,6 +1897,7 @@ self: super: {
   "clckwrks-dot-com" = dontDistribute super."clckwrks-dot-com";
   "clckwrks-plugin-bugs" = dontDistribute super."clckwrks-plugin-bugs";
   "clckwrks-plugin-ircbot" = dontDistribute super."clckwrks-plugin-ircbot";
+  "clckwrks-plugin-page" = doDistribute super."clckwrks-plugin-page_0_4_3_3";
   "clckwrks-theme-clckwrks" = dontDistribute super."clckwrks-theme-clckwrks";
   "clckwrks-theme-geo-bootstrap" = dontDistribute super."clckwrks-theme-geo-bootstrap";
   "cld2" = dontDistribute super."cld2";
@@ -2030,6 +2038,7 @@ self: super: {
   "conduit-find" = dontDistribute super."conduit-find";
   "conduit-merge" = dontDistribute super."conduit-merge";
   "conduit-network-stream" = dontDistribute super."conduit-network-stream";
+  "conduit-parse" = doDistribute super."conduit-parse_0_1_1_1";
   "conduit-resumablesink" = dontDistribute super."conduit-resumablesink";
   "conduit-tokenize-attoparsec" = dontDistribute super."conduit-tokenize-attoparsec";
   "conf" = dontDistribute super."conf";
@@ -2523,6 +2532,7 @@ self: super: {
   "djinn" = dontDistribute super."djinn";
   "djinn-th" = dontDistribute super."djinn-th";
   "dlist" = doDistribute super."dlist_0_7_1_2";
+  "dns" = doDistribute super."dns_2_0_4";
   "dnscache" = dontDistribute super."dnscache";
   "dnsrbl" = dontDistribute super."dnsrbl";
   "dnssd" = dontDistribute super."dnssd";
@@ -3079,6 +3089,7 @@ self: super: {
   "gang-of-threads" = dontDistribute super."gang-of-threads";
   "garepinoh" = dontDistribute super."garepinoh";
   "garsia-wachs" = dontDistribute super."garsia-wachs";
+  "gasp" = dontDistribute super."gasp";
   "gbu" = dontDistribute super."gbu";
   "gc" = dontDistribute super."gc";
   "gc-monitoring-wai" = dontDistribute super."gc-monitoring-wai";
@@ -3167,6 +3178,7 @@ self: super: {
   "ghc-srcspan-plugin" = dontDistribute super."ghc-srcspan-plugin";
   "ghc-syb" = dontDistribute super."ghc-syb";
   "ghc-time-alloc-prof" = dontDistribute super."ghc-time-alloc-prof";
+  "ghc-typelits-extra" = doDistribute super."ghc-typelits-extra_0_1_3";
   "ghc-typelits-knownnat" = dontDistribute super."ghc-typelits-knownnat";
   "ghc-typelits-natnormalise" = doDistribute super."ghc-typelits-natnormalise_0_4_6";
   "ghc-typelits-presburger" = dontDistribute super."ghc-typelits-presburger";
@@ -3231,6 +3243,7 @@ self: super: {
   "gitHUD" = dontDistribute super."gitHUD";
   "gitcache" = dontDistribute super."gitcache";
   "gitdo" = dontDistribute super."gitdo";
+  "github-backup" = doDistribute super."github-backup_1_20160522";
   "github-post-receive" = dontDistribute super."github-post-receive";
   "github-utils" = dontDistribute super."github-utils";
   "gitignore" = dontDistribute super."gitignore";
@@ -3641,6 +3654,7 @@ self: super: {
   "happs-tutorial" = dontDistribute super."happs-tutorial";
   "happstack" = dontDistribute super."happstack";
   "happstack-auth" = dontDistribute super."happstack-auth";
+  "happstack-authenticate" = doDistribute super."happstack-authenticate_2_3_4_3";
   "happstack-contrib" = dontDistribute super."happstack-contrib";
   "happstack-data" = dontDistribute super."happstack-data";
   "happstack-dlg" = dontDistribute super."happstack-dlg";
@@ -3729,6 +3743,7 @@ self: super: {
   "haskell-import-graph" = dontDistribute super."haskell-import-graph";
   "haskell-in-space" = dontDistribute super."haskell-in-space";
   "haskell-kubernetes" = dontDistribute super."haskell-kubernetes";
+  "haskell-lexer" = doDistribute super."haskell-lexer_1_0";
   "haskell-modbus" = dontDistribute super."haskell-modbus";
   "haskell-mpfr" = dontDistribute super."haskell-mpfr";
   "haskell-mpi" = dontDistribute super."haskell-mpi";
@@ -4029,6 +4044,7 @@ self: super: {
   "hit-graph" = dontDistribute super."hit-graph";
   "hjcase" = dontDistribute super."hjcase";
   "hjs" = dontDistribute super."hjs";
+  "hjsmin" = doDistribute super."hjsmin_0_2_0_1";
   "hjson-query" = dontDistribute super."hjson-query";
   "hjsonpointer" = dontDistribute super."hjsonpointer";
   "hjsonschema" = dontDistribute super."hjsonschema";
@@ -4087,6 +4103,7 @@ self: super: {
   "hob" = dontDistribute super."hob";
   "hobbes" = dontDistribute super."hobbes";
   "hobbits" = dontDistribute super."hobbits";
+  "hocilib" = dontDistribute super."hocilib";
   "hoe" = dontDistribute super."hoe";
   "hofix-mtl" = dontDistribute super."hofix-mtl";
   "hog" = dontDistribute super."hog";
@@ -4155,6 +4172,7 @@ self: super: {
   "hpaste" = dontDistribute super."hpaste";
   "hpasteit" = dontDistribute super."hpasteit";
   "hpath" = dontDistribute super."hpath";
+  "hpc-coveralls" = doDistribute super."hpc-coveralls_1_0_4";
   "hpc-strobe" = dontDistribute super."hpc-strobe";
   "hpc-tracer" = dontDistribute super."hpc-tracer";
   "hpdft" = dontDistribute super."hpdft";
@@ -4241,6 +4259,7 @@ self: super: {
   "hsc3-sf-hsndfile" = dontDistribute super."hsc3-sf-hsndfile";
   "hsc3-unsafe" = dontDistribute super."hsc3-unsafe";
   "hsc3-utils" = dontDistribute super."hsc3-utils";
+  "hscaffold" = dontDistribute super."hscaffold";
   "hscamwire" = dontDistribute super."hscamwire";
   "hscassandra" = dontDistribute super."hscassandra";
   "hscd" = dontDistribute super."hscd";
@@ -4395,6 +4414,7 @@ self: super: {
   "http-reverse-proxy" = doDistribute super."http-reverse-proxy_0_4_3";
   "http-server" = dontDistribute super."http-server";
   "http-shed" = dontDistribute super."http-shed";
+  "http-streams" = doDistribute super."http-streams_0_8_3_3";
   "http-test" = dontDistribute super."http-test";
   "http-trace" = dontDistribute super."http-trace";
   "http-wget" = dontDistribute super."http-wget";
@@ -4443,6 +4463,7 @@ self: super: {
   "hxournal" = dontDistribute super."hxournal";
   "hxt-binary" = dontDistribute super."hxt-binary";
   "hxt-cache" = dontDistribute super."hxt-cache";
+  "hxt-css" = doDistribute super."hxt-css_0_1_0_2";
   "hxt-extras" = dontDistribute super."hxt-extras";
   "hxt-filter" = dontDistribute super."hxt-filter";
   "hxt-xpath" = dontDistribute super."hxt-xpath";
@@ -4600,6 +4621,7 @@ self: super: {
   "interpolation" = dontDistribute super."interpolation";
   "interruptible" = dontDistribute super."interruptible";
   "interspersed" = dontDistribute super."interspersed";
+  "interval" = dontDistribute super."interval";
   "intricacy" = dontDistribute super."intricacy";
   "intset" = dontDistribute super."intset";
   "invariant" = doDistribute super."invariant_0_3_1";
@@ -4628,6 +4650,7 @@ self: super: {
   "irc-colors" = dontDistribute super."irc-colors";
   "irc-conduit" = doDistribute super."irc-conduit_0_1_2_0";
   "irc-core" = dontDistribute super."irc-core";
+  "irc-dcc" = doDistribute super."irc-dcc_1_2_1";
   "irc-fun-bot" = dontDistribute super."irc-fun-bot";
   "irc-fun-client" = dontDistribute super."irc-fun-client";
   "irc-fun-color" = dontDistribute super."irc-fun-color";
@@ -4798,6 +4821,7 @@ self: super: {
   "keycode" = doDistribute super."keycode_0_2";
   "keyed" = dontDistribute super."keyed";
   "keyring" = dontDistribute super."keyring";
+  "keysafe" = dontDistribute super."keysafe";
   "keystore" = dontDistribute super."keystore";
   "keyvaluehash" = dontDistribute super."keyvaluehash";
   "keyword-args" = dontDistribute super."keyword-args";
@@ -5087,6 +5111,7 @@ self: super: {
   "llvm-data-interop" = dontDistribute super."llvm-data-interop";
   "llvm-extra" = dontDistribute super."llvm-extra";
   "llvm-ffi" = dontDistribute super."llvm-ffi";
+  "llvm-ffi-tools" = dontDistribute super."llvm-ffi-tools";
   "llvm-general" = dontDistribute super."llvm-general";
   "llvm-general-pure" = dontDistribute super."llvm-general-pure";
   "llvm-general-quote" = dontDistribute super."llvm-general-quote";
@@ -5130,6 +5155,8 @@ self: super: {
   "lojysamban" = dontDistribute super."lojysamban";
   "lol" = dontDistribute super."lol";
   "lol-apps" = dontDistribute super."lol-apps";
+  "lol-calculus" = dontDistribute super."lol-calculus";
+  "lol-typing" = dontDistribute super."lol-typing";
   "loli" = dontDistribute super."loli";
   "lookup-tables" = dontDistribute super."lookup-tables";
   "loop-effin" = dontDistribute super."loop-effin";
@@ -5294,6 +5321,7 @@ self: super: {
   "memscript" = dontDistribute super."memscript";
   "merge-bash-history" = dontDistribute super."merge-bash-history";
   "mersenne-random" = dontDistribute super."mersenne-random";
+  "mersenne-random-pure64" = doDistribute super."mersenne-random-pure64_0_2_0_5";
   "messente" = dontDistribute super."messente";
   "meta-misc" = dontDistribute super."meta-misc";
   "meta-par" = dontDistribute super."meta-par";
@@ -5377,6 +5405,7 @@ self: super: {
   "modulo" = dontDistribute super."modulo";
   "moe" = dontDistribute super."moe";
   "mohws" = dontDistribute super."mohws";
+  "mollie-api-haskell" = dontDistribute super."mollie-api-haskell";
   "monad-abort-fd" = dontDistribute super."monad-abort-fd";
   "monad-atom" = dontDistribute super."monad-atom";
   "monad-atom-simple" = dontDistribute super."monad-atom-simple";
@@ -5456,6 +5485,7 @@ self: super: {
   "morfette" = dontDistribute super."morfette";
   "morfeusz" = dontDistribute super."morfeusz";
   "morph" = dontDistribute super."morph";
+  "morte" = doDistribute super."morte_1_6_1";
   "mosaico-lib" = dontDistribute super."mosaico-lib";
   "mount" = dontDistribute super."mount";
   "mp" = dontDistribute super."mp";
@@ -5748,6 +5778,7 @@ self: super: {
   "old-version" = dontDistribute super."old-version";
   "olwrapper" = dontDistribute super."olwrapper";
   "omaketex" = dontDistribute super."omaketex";
+  "ombra" = dontDistribute super."ombra";
   "omega" = dontDistribute super."omega";
   "omnicodec" = dontDistribute super."omnicodec";
   "on-a-horse" = dontDistribute super."on-a-horse";
@@ -5861,6 +5892,7 @@ self: super: {
   "pandoc-lens" = dontDistribute super."pandoc-lens";
   "pandoc-placetable" = dontDistribute super."pandoc-placetable";
   "pandoc-plantuml-diagrams" = dontDistribute super."pandoc-plantuml-diagrams";
+  "pandoc-types" = doDistribute super."pandoc-types_1_16_1";
   "pandoc-unlit" = dontDistribute super."pandoc-unlit";
   "pango" = doDistribute super."pango_0_13_1_1";
   "papillon" = dontDistribute super."papillon";
@@ -6005,6 +6037,7 @@ self: super: {
   "phraskell" = dontDistribute super."phraskell";
   "phybin" = dontDistribute super."phybin";
   "pi-calculus" = dontDistribute super."pi-calculus";
+  "pi-forall" = dontDistribute super."pi-forall";
   "pia-forward" = dontDistribute super."pia-forward";
   "pianola" = dontDistribute super."pianola";
   "picologic" = dontDistribute super."picologic";
@@ -6031,6 +6064,7 @@ self: super: {
   "pipes-errors" = dontDistribute super."pipes-errors";
   "pipes-extra" = dontDistribute super."pipes-extra";
   "pipes-files" = dontDistribute super."pipes-files";
+  "pipes-http" = doDistribute super."pipes-http_1_0_3";
   "pipes-interleave" = dontDistribute super."pipes-interleave";
   "pipes-key-value-csv" = dontDistribute super."pipes-key-value-csv";
   "pipes-lzma" = dontDistribute super."pipes-lzma";
@@ -6160,6 +6194,7 @@ self: super: {
   "practice-room" = dontDistribute super."practice-room";
   "precis" = dontDistribute super."precis";
   "predicates" = dontDistribute super."predicates";
+  "predictive" = dontDistribute super."predictive";
   "prednote-test" = dontDistribute super."prednote-test";
   "prefork" = dontDistribute super."prefork";
   "pregame" = dontDistribute super."pregame";
@@ -6310,6 +6345,7 @@ self: super: {
   "qtah-examples" = dontDistribute super."qtah-examples";
   "qtah-generator" = dontDistribute super."qtah-generator";
   "qtah-qt5" = dontDistribute super."qtah-qt5";
+  "quack" = dontDistribute super."quack";
   "quadratic-irrational" = dontDistribute super."quadratic-irrational";
   "quantfin" = dontDistribute super."quantfin";
   "quantities" = dontDistribute super."quantities";
@@ -6401,6 +6437,7 @@ self: super: {
   "rbr" = dontDistribute super."rbr";
   "rclient" = dontDistribute super."rclient";
   "rcu" = dontDistribute super."rcu";
+  "rdf" = dontDistribute super."rdf";
   "rdf4h" = dontDistribute super."rdf4h";
   "rdioh" = dontDistribute super."rdioh";
   "rdtsc" = dontDistribute super."rdtsc";
@@ -6567,6 +6604,7 @@ self: super: {
   "restful-snap" = dontDistribute super."restful-snap";
   "restricted-workers" = dontDistribute super."restricted-workers";
   "restyle" = dontDistribute super."restyle";
+  "result" = dontDistribute super."result";
   "resumable-exceptions" = dontDistribute super."resumable-exceptions";
   "rethinkdb-client-driver" = doDistribute super."rethinkdb-client-driver_0_0_22";
   "rethinkdb-model" = dontDistribute super."rethinkdb-model";
@@ -7416,6 +7454,7 @@ self: super: {
   "tak-ai" = dontDistribute super."tak-ai";
   "takahashi" = dontDistribute super."takahashi";
   "takusen-oracle" = dontDistribute super."takusen-oracle";
+  "tal" = dontDistribute super."tal";
   "tamarin-prover" = dontDistribute super."tamarin-prover";
   "tamarin-prover-term" = dontDistribute super."tamarin-prover-term";
   "tamarin-prover-theory" = dontDistribute super."tamarin-prover-theory";
@@ -7425,6 +7464,7 @@ self: super: {
   "task" = dontDistribute super."task";
   "task-distribution" = dontDistribute super."task-distribution";
   "taskpool" = dontDistribute super."taskpool";
+  "tasty" = doDistribute super."tasty_0_11_0_3";
   "tasty-groundhog-converters" = dontDistribute super."tasty-groundhog-converters";
   "tasty-hunit-adapter" = dontDistribute super."tasty-hunit-adapter";
   "tasty-integrate" = dontDistribute super."tasty-integrate";
@@ -7688,6 +7728,7 @@ self: super: {
   "trawl" = dontDistribute super."trawl";
   "traypoweroff" = dontDistribute super."traypoweroff";
   "tree-monad" = dontDistribute super."tree-monad";
+  "treemap" = dontDistribute super."treemap";
   "treemap-html" = dontDistribute super."treemap-html";
   "treemap-html-tools" = dontDistribute super."treemap-html-tools";
   "treersec" = dontDistribute super."treersec";
@@ -7821,6 +7862,7 @@ self: super: {
   "ui-command" = dontDistribute super."ui-command";
   "uid" = dontDistribute super."uid";
   "una" = dontDistribute super."una";
+  "unagi-bloomfilter" = dontDistribute super."unagi-bloomfilter";
   "unagi-chan" = dontDistribute super."unagi-chan";
   "unagi-streams" = dontDistribute super."unagi-streams";
   "unamb" = dontDistribute super."unamb";
@@ -7914,6 +7956,7 @@ self: super: {
   "usb-id-database" = dontDistribute super."usb-id-database";
   "usb-iteratee" = dontDistribute super."usb-iteratee";
   "usb-safe" = dontDistribute super."usb-safe";
+  "userid" = doDistribute super."userid_0_1_2_6";
   "utc" = dontDistribute super."utc";
   "utf8-env" = dontDistribute super."utf8-env";
   "utf8-prelude" = dontDistribute super."utf8-prelude";
@@ -8049,6 +8092,7 @@ self: super: {
   "wai-middleware-cache" = dontDistribute super."wai-middleware-cache";
   "wai-middleware-cache-redis" = dontDistribute super."wai-middleware-cache-redis";
   "wai-middleware-catch" = dontDistribute super."wai-middleware-catch";
+  "wai-middleware-content-type" = doDistribute super."wai-middleware-content-type_0_4_0";
   "wai-middleware-crowd" = doDistribute super."wai-middleware-crowd_0_1_4_1";
   "wai-middleware-etag" = dontDistribute super."wai-middleware-etag";
   "wai-middleware-gunzip" = dontDistribute super."wai-middleware-gunzip";
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 6c3eb98d853..606add41f04 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -5575,7 +5575,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "Frames" = callPackage
+  "Frames_0_1_4" = callPackage
     ({ mkDerivation, base, ghc-prim, pipes, primitive, readable
      , template-haskell, text, transformers, vector, vinyl
      }:
@@ -5589,6 +5589,23 @@ self: {
        ];
        description = "Data frames For working with tabular data files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "Frames" = callPackage
+    ({ mkDerivation, base, ghc-prim, pipes, primitive, readable
+     , template-haskell, text, transformers, vector, vinyl
+     }:
+     mkDerivation {
+       pname = "Frames";
+       version = "0.1.6";
+       sha256 = "7a7a6639b04e9650d5dde93bb67bc0f26b053fd3456a34808f39640a0f780a50";
+       libraryHaskellDepends = [
+         base ghc-prim pipes primitive readable template-haskell text
+         transformers vector vinyl
+       ];
+       description = "Data frames For working with tabular data files";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "Frank" = callPackage
@@ -5730,6 +5747,8 @@ self: {
        pname = "GLFW-b";
        version = "1.4.8.0";
        sha256 = "4e88c518d527e28606c9f150c74ace2e350bbb5630d51e4f365a13b2c14ef4ef";
+       revision = "1";
+       editedCabalFile = "f686b01337a2a511c3c6819d07dda3cb604ee44647a4b3dbde3bff24470a2836";
        libraryHaskellDepends = [ base bindings-GLFW ];
        testHaskellDepends = [
          base bindings-GLFW HUnit test-framework test-framework-hunit
@@ -9605,8 +9624,8 @@ self: {
     ({ mkDerivation, base, bytestring, HsOpenSSL, unix }:
      mkDerivation {
        pname = "HsOpenSSL-x509-system";
-       version = "0.1.0.2";
-       sha256 = "ecc942c69f4c25fa52dec70f34d3e324de62596826b0bdc1ba8196594d13289b";
+       version = "0.1.0.3";
+       sha256 = "5bdcb7ae2faba07a374109fea0a1431ae09d080f8574e60ab7a351b46f931f92";
        libraryHaskellDepends = [ base bytestring HsOpenSSL unix ];
        homepage = "https://github.com/redneb/HsOpenSSL-x509-system";
        description = "Use the system's native CA certificate store with HsOpenSSL";
@@ -14856,12 +14875,11 @@ self: {
      }:
      mkDerivation {
        pname = "RepLib";
-       version = "0.5.3.5";
-       sha256 = "05c21fdaf2d09a44ffdb4d4f02a3b9a282dd5b5542ecc3e71222d31228644550";
+       version = "0.5.4";
+       sha256 = "986447e27a4eb12408b9571f51c766612f31f99c40e94d031c796387ce24838d";
        libraryHaskellDepends = [
          base containers mtl template-haskell transformers
        ];
-       jailbreak = true;
        homepage = "https://github.com/sweirich/replib";
        description = "Generic programming library with representation types";
        license = stdenv.lib.licenses.bsd3;
@@ -17386,8 +17404,8 @@ self: {
      }:
      mkDerivation {
        pname = "VKHS";
-       version = "1.7.1";
-       sha256 = "1b6075e1cae298b47d0d71e8a2f42c5bdc1e7428f82e81d9d55f993a3b0247a2";
+       version = "1.7.2";
+       sha256 = "5fa26bab55d5566cf512412256b06072e286707718532cd4132ce330ad9f437e";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -19239,7 +19257,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "acid-state" = callPackage
+  "acid-state_0_14_1" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
      , directory, extensible-exceptions, filepath, mtl, network
      , safecopy, stm, template-haskell, unix
@@ -19259,6 +19277,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "acid-state" = callPackage
+    ({ mkDerivation, array, base, bytestring, cereal, containers
+     , directory, extensible-exceptions, filepath, mtl, network
+     , safecopy, stm, template-haskell, unix
+     }:
+     mkDerivation {
+       pname = "acid-state";
+       version = "0.14.2";
+       sha256 = "86dc1ebbcb4870e1c233764c3e038f38c8c8802694440baf83c3f7dc05ebe5c0";
+       libraryHaskellDepends = [
+         array base bytestring cereal containers directory
+         extensible-exceptions filepath mtl network safecopy stm
+         template-haskell unix
+       ];
+       homepage = "http://acid-state.seize.it/";
+       description = "Add ACID guarantees to any serializable Haskell data structure";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "acid-state-dist" = callPackage
     ({ mkDerivation, acid-state, base, bytestring, cereal
      , concurrent-extra, containers, directory, filepath, mtl, random
@@ -20264,6 +20302,7 @@ self: {
          test-framework test-framework-hunit test-framework-quickcheck2 text
          time time-locale-compat unordered-containers vector
        ];
+       jailbreak = true;
        homepage = "https://github.com/bos/aeson";
        description = "Fast JSON parsing and encoding";
        license = stdenv.lib.licenses.bsd3;
@@ -20477,28 +20516,6 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-injector";
-       version = "1.0.4.0";
-       sha256 = "1f3e4e2d32a919b9ac2f297b3d7ab3fe337aa729aa08eb2c18490c8bd962a30f";
-       libraryHaskellDepends = [
-         aeson base bifunctors deepseq lens servant-docs swagger2 text
-         unordered-containers
-       ];
-       testHaskellDepends = [
-         aeson base HUnit lens QuickCheck quickcheck-text scientific
-         swagger2 tasty tasty-hunit tasty-quickcheck text vector
-       ];
-       description = "Injecting fields into aeson values";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "aeson-injector_1_0_5_1" = callPackage
-    ({ mkDerivation, aeson, base, bifunctors, deepseq, HUnit, lens
-     , QuickCheck, quickcheck-text, scientific, servant-docs, swagger2
-     , tasty, tasty-hunit, tasty-quickcheck, text, unordered-containers
-     , vector
-     }:
-     mkDerivation {
-       pname = "aeson-injector";
        version = "1.0.5.1";
        sha256 = "61cd48cf2f6fa2ace98841918b092727e478099bf1f9b159eed0966ae3c6a8d9";
        libraryHaskellDepends = [
@@ -20509,10 +20526,8 @@ self: {
          aeson base HUnit lens QuickCheck quickcheck-text scientific
          swagger2 tasty tasty-hunit tasty-quickcheck text vector
        ];
-       jailbreak = true;
        description = "Injecting fields into aeson values";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-iproute" = callPackage
@@ -23715,6 +23730,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "angle" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haskeline
+     , mtl, process, QuickCheck, split, tasty, tasty-quickcheck
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "angle";
+       version = "0.8.1.0";
+       sha256 = "2439f9267cd299c73e418354e97f884777107078590d1bbf5ccd825ff27e8ba1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers directory filepath mtl process transformers
+         transformers-compat
+       ];
+       executableHaskellDepends = [
+         base containers directory haskeline mtl split transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         base containers mtl QuickCheck tasty tasty-quickcheck transformers
+         transformers-compat
+       ];
+       jailbreak = true;
+       description = "A small, general-purpose programming language";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "animalcase" = callPackage
     ({ mkDerivation, base, bytestring, text }:
      mkDerivation {
@@ -30245,6 +30288,8 @@ self: {
        pname = "bindings-GLFW";
        version = "3.1.2.1";
        sha256 = "083cea7d2262aecd8a80f74d80c82c2aaa84cf80e960d456e8e34fc38398decb";
+       revision = "1";
+       editedCabalFile = "d215ed7ea8c1d6879f877e446ce3e3ab78d7721ab9e6fbb4d8e91cf004b4cda3";
        libraryHaskellDepends = [ base bindings-DSL template-haskell ];
        librarySystemDepends = [
          libX11 libXcursor libXext libXfixes libXi libXinerama libXrandr
@@ -31149,8 +31194,8 @@ self: {
      }:
      mkDerivation {
        pname = "bioinformatics-toolkit";
-       version = "0.2.1";
-       sha256 = "3085dd865c075555a8d67049840d0cd9ce66d5565d55aee48f54950354b9c72f";
+       version = "0.2.2";
+       sha256 = "df424767fad8d8df0cf70581fc2b478fcbba30bbde71545d9bdce44ec8c2989e";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -31165,8 +31210,9 @@ self: {
          shelly split text
        ];
        testHaskellDepends = [
-         base bytestring conduit conduit-combinators data-default-class mtl
-         random tasty tasty-golden tasty-hunit unordered-containers vector
+         base bytestring conduit conduit-combinators data-default-class
+         matrices mtl random tasty tasty-golden tasty-hunit
+         unordered-containers vector
        ];
        description = "A collection of bioinformatics tools";
        license = stdenv.lib.licenses.mit;
@@ -33249,6 +33295,17 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "box-tuples" = callPackage
+    ({ mkDerivation, base, ghc-prim }:
+     mkDerivation {
+       pname = "box-tuples";
+       version = "0.1.0.0";
+       sha256 = "713ef3146ce16ab075f3e4a4b3e28a5c7252b0eebf10775fe43b4415a7f07ad6";
+       libraryHaskellDepends = [ base ghc-prim ];
+       description = "A hack to use GHC.Prim primitives in GHCi";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "boxes" = callPackage
     ({ mkDerivation, base, QuickCheck, split }:
      mkDerivation {
@@ -33773,8 +33830,8 @@ self: {
      }:
      mkDerivation {
        pname = "buildbox";
-       version = "2.1.9.1";
-       sha256 = "4143193ed3a190a1f9559de05d1070df7df0f2e6cfa905d531aee3acde0c32e7";
+       version = "2.1.9.2";
+       sha256 = "7f9a3d82643b2d300cee11da526359cb4480388a9c7b9e7be6d8a0abce1053ce";
        libraryHaskellDepends = [
          base bytestring containers directory exceptions mtl old-locale
          pretty process stm temporary text time
@@ -34409,7 +34466,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "bytestring-tree-builder" = callPackage
+  "bytestring-tree-builder_0_2_7" = callPackage
     ({ mkDerivation, base, base-prelude, bytestring, QuickCheck
      , quickcheck-instances, semigroups, tasty, tasty-hunit
      , tasty-quickcheck, tasty-smallcheck, text
@@ -34428,6 +34485,28 @@ self: {
        homepage = "https://github.com/nikita-volkov/bytestring-tree-builder";
        description = "A very efficient ByteString builder implementation based on the binary tree";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "bytestring-tree-builder" = callPackage
+    ({ mkDerivation, base, base-prelude, bytestring
+     , quickcheck-instances, semigroups, tasty, tasty-hunit
+     , tasty-quickcheck, tasty-smallcheck, text
+     }:
+     mkDerivation {
+       pname = "bytestring-tree-builder";
+       version = "0.2.7.1";
+       sha256 = "ae03a5b2e24068870dfcff6c6dc8d6d243aaebdb7c66746d499e7cf6cfd16bd5";
+       libraryHaskellDepends = [
+         base base-prelude bytestring semigroups text
+       ];
+       testHaskellDepends = [
+         base-prelude bytestring quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck tasty-smallcheck
+       ];
+       homepage = "https://github.com/nikita-volkov/bytestring-tree-builder";
+       description = "A very efficient ByteString builder implementation based on the binary tree";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "bytestring-trie" = callPackage
@@ -36873,8 +36952,8 @@ self: {
      }:
      mkDerivation {
        pname = "casr-logbook";
-       version = "0.1.2";
-       sha256 = "e74f15d65d80cae1c5858c7ed769d74519212a6e9362b7c97d844bec4d9ca34d";
+       version = "0.1.3";
+       sha256 = "5cf395400ffe15ad83522d98f3c6626d3755fef5ef538cda1ce00cb3e7cb342f";
        libraryHaskellDepends = [ base containers digit lens time ];
        testHaskellDepends = [
          base directory doctest filepath QuickCheck template-haskell
@@ -36884,6 +36963,43 @@ self: {
        license = "unknown";
      }) {};
 
+  "casr-logbook-html" = callPackage
+    ({ mkDerivation, base, casr-logbook, digit, directory, doctest
+     , filepath, lens, lucid, QuickCheck, template-haskell, text, time
+     }:
+     mkDerivation {
+       pname = "casr-logbook-html";
+       version = "0.0.1";
+       sha256 = "9ab0cd9a42379fb4f892f00558802de86556727b6d898c8034291b27b6909079";
+       libraryHaskellDepends = [
+         base casr-logbook digit lens lucid text time
+       ];
+       testHaskellDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/tonymorris/casr-logbook-html";
+       description = "CASR 61.345 Pilot Personal Logbook HTML output";
+       license = "unknown";
+     }) {};
+
+  "casr-logbook-meta" = callPackage
+    ({ mkDerivation, base, casr-logbook, directory, doctest, filepath
+     , lens, QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "casr-logbook-meta";
+       version = "0.0.2";
+       sha256 = "68460e46a3f7367efbd46a72daa802ee249321ffddb3ad5b4630115e2be692de";
+       libraryHaskellDepends = [ base casr-logbook lens ];
+       testHaskellDepends = [
+         base directory doctest filepath QuickCheck template-haskell
+       ];
+       homepage = "https://github.com/tonymorris/casr-logbook-meta";
+       description = "Meta-information about entries in a CASR 61.345 logbook (casr-logbook)";
+       license = "unknown";
+     }) {};
+
   "cassandra-cql" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers, cryptohash
      , Decimal, hslogger, MonadCatchIO-transformers, mtl, network
@@ -36961,6 +37077,26 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "cassava-conduit_0_3_3" = callPackage
+    ({ mkDerivation, array, base, bifunctors, bytestring, cassava
+     , conduit, conduit-extra, containers, mtl, QuickCheck, text
+     }:
+     mkDerivation {
+       pname = "cassava-conduit";
+       version = "0.3.3";
+       sha256 = "04286953d887cb1ba2c12aa7f3ba3697789920e39b93abd2de2e3081e2272759";
+       libraryHaskellDepends = [
+         array base bifunctors bytestring cassava conduit conduit-extra
+         containers mtl text
+       ];
+       testHaskellDepends = [ base QuickCheck ];
+       jailbreak = true;
+       homepage = "https://github.com/domdere/cassava-conduit";
+       description = "Conduit interface for cassava package";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cassava-megaparsec" = callPackage
     ({ mkDerivation, base, bytestring, cassava, containers, hspec
      , hspec-megaparsec, megaparsec, unordered-containers, vector
@@ -39097,6 +39233,8 @@ self: {
        pname = "clash-ghc";
        version = "0.6.23";
        sha256 = "ec13dd8c85c452751860d761f44744c9a1d70ad81c053fc8a5747c6359a3378c";
+       revision = "2";
+       editedCabalFile = "8755a6b93d6722500034289e29e12fed3c0845fcc33179a9c51b1a0059b375e4";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -39190,8 +39328,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "0.10.13";
-       sha256 = "e0c9704a5ebf42acffa66a22d9282710d40650301b38538080a3d0c56073f203";
+       version = "0.10.14";
+       sha256 = "bf99eabf5a0ac6a86523c95a122242d3f5631d1b1870ba83d8e7319f245ef7f2";
        libraryHaskellDepends = [
          array base data-default deepseq ghc-prim ghc-typelits-extra
          ghc-typelits-natnormalise integer-gmp lens QuickCheck reflection
@@ -39680,7 +39818,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "clckwrks-plugin-page" = callPackage
+  "clckwrks-plugin-page_0_4_3_3" = callPackage
     ({ mkDerivation, acid-state, aeson, attoparsec, base, clckwrks
      , containers, directory, filepath, happstack-hsp, happstack-server
      , hsp, hsx2hs, ixset, mtl, old-locale, random, reform
@@ -39705,6 +39843,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "clckwrks-plugin-page" = callPackage
+    ({ mkDerivation, acid-state, aeson, attoparsec, base, clckwrks
+     , containers, directory, filepath, happstack-hsp, happstack-server
+     , hsp, hsx2hs, ixset, mtl, old-locale, random, reform
+     , reform-happstack, reform-hsp, safecopy, tagsoup, template-haskell
+     , text, time, time-locale-compat, uuid, uuid-orphans, web-plugins
+     , web-routes, web-routes-happstack, web-routes-th
+     }:
+     mkDerivation {
+       pname = "clckwrks-plugin-page";
+       version = "0.4.3.4";
+       sha256 = "8c2667447c59c57d02a911ea858d9b9ea73dfc87a9aba3a11389c67a423b60e7";
+       libraryHaskellDepends = [
+         acid-state aeson attoparsec base clckwrks containers directory
+         filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
+         old-locale random reform reform-happstack reform-hsp safecopy
+         tagsoup template-haskell text time time-locale-compat uuid
+         uuid-orphans web-plugins web-routes web-routes-happstack
+         web-routes-th
+       ];
+       homepage = "http://www.clckwrks.com/";
+       description = "support for CMS/Blogging in clckwrks";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "clckwrks-theme-bootstrap" = callPackage
     ({ mkDerivation, base, clckwrks, happstack-authenticate, hsp
      , hsx-jmacro, hsx2hs, jmacro, mtl, text, web-plugins
@@ -42648,7 +42812,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "conduit-parse" = callPackage
+  "conduit-parse_0_1_1_1" = callPackage
     ({ mkDerivation, base, conduit, dlist, exceptions, hlint, mtl
      , parsers, resourcet, tasty, tasty-hunit, text, transformers
      }:
@@ -42666,6 +42830,29 @@ self: {
        homepage = "https://github.com/k0ral/conduit-parse";
        description = "Parsing framework based on conduit";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "conduit-parse" = callPackage
+    ({ mkDerivation, base, conduit, dlist, hlint, mtl, parsers
+     , resourcet, safe, safe-exceptions, tasty, tasty-hunit, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "conduit-parse";
+       version = "0.1.2.0";
+       sha256 = "15621f6b0e452d30fbd7738d98a6dfcdcb078f4d51044ed6e32ea227f07bce17";
+       libraryHaskellDepends = [
+         base conduit dlist mtl parsers safe safe-exceptions text
+         transformers
+       ];
+       testHaskellDepends = [
+         base conduit hlint mtl parsers resourcet safe-exceptions tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/k0ral/conduit-parse";
+       description = "Parsing framework based on conduit";
+       license = "unknown";
      }) {};
 
   "conduit-resumablesink" = callPackage
@@ -47557,8 +47744,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "data-category";
-       version = "0.6.1";
-       sha256 = "0ccb310d6b0b94df9e148c7f7d1ac792340b6767dc8d542e249c12f6e2e77de6";
+       version = "0.6.2";
+       sha256 = "8e82d0b076c9330ad99b39d6f934401ddb71400b51c259a3fd974cfa99bdec4e";
        homepage = "http://github.com/sjoerdvisscher/data-category";
        description = "Category theory";
        license = stdenv.lib.licenses.bsd3;
@@ -48321,8 +48508,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-lens";
-       version = "2.11.0.1";
-       sha256 = "690a282338dbd94ecf05fce07ea90724f1bd3349defd2f6619fcf635fb7b881b";
+       version = "2.11.1";
+       sha256 = "fbbe0bb7d754fa9bced7c89a0629146618ab204cbe7a7ea26b1fa9746ac73c32";
        libraryHaskellDepends = [
          base comonad containers semigroupoids transformers
        ];
@@ -51289,6 +51476,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-cairo_1_3_1_2" = callPackage
+    ({ mkDerivation, array, base, bytestring, cairo, colour, containers
+     , data-default-class, diagrams-core, diagrams-lib, filepath
+     , hashable, JuicyPixels, lens, mtl, optparse-applicative, pango
+     , split, statestack, transformers, unix, vector
+     }:
+     mkDerivation {
+       pname = "diagrams-cairo";
+       version = "1.3.1.2";
+       sha256 = "099ffe00c3fa0b6522ac2b5c4ed8beb0ff82884b164c147f3ec900dc773126f4";
+       libraryHaskellDepends = [
+         array base bytestring cairo colour containers data-default-class
+         diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
+         optparse-applicative pango split statestack transformers unix
+         vector
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams";
+       description = "Cairo backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-canvas_1_3_0_5" = callPackage
     ({ mkDerivation, base, blank-canvas, cmdargs, containers
      , data-default-class, diagrams-core, diagrams-lib, lens, mtl
@@ -51329,6 +51539,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-canvas_1_3_0_7" = callPackage
+    ({ mkDerivation, base, blank-canvas, cmdargs, containers
+     , data-default-class, diagrams-core, diagrams-lib, lens, mtl
+     , NumInstances, optparse-applicative, statestack, text
+     }:
+     mkDerivation {
+       pname = "diagrams-canvas";
+       version = "1.3.0.7";
+       sha256 = "dd8477ed65f58d3137b5541e3c42994144af6ffc7e7f4b72b41754a86f1600da";
+       libraryHaskellDepends = [
+         base blank-canvas cmdargs containers data-default-class
+         diagrams-core diagrams-lib lens mtl NumInstances
+         optparse-applicative statestack text
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "HTML5 canvas backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-contrib" = callPackage
     ({ mkDerivation, base, circle-packing, colour, containers
      , data-default, data-default-class, diagrams-core, diagrams-lib
@@ -51611,13 +51842,14 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-pgf";
-       version = "0.1.0.4";
-       sha256 = "106f0401b97fe6d14572fd964bf97d400277bf44e9af19f3711e4fa14a4fb85a";
+       version = "0.1.0.5";
+       sha256 = "6f5a4274b447614599603b5cc819f723e262ba0794c3ed2bbe842079a48f6898";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
          optparse-applicative process split texrunner time vector zlib
        ];
+       jailbreak = true;
        homepage = "http://github.com/cchalmers/diagrams-pgf";
        description = "PGF backend for diagrams drawing EDSL";
        license = stdenv.lib.licenses.bsd3;
@@ -51692,6 +51924,8 @@ self: {
        pname = "diagrams-rasterific";
        version = "1.3.1.8";
        sha256 = "b76001105055563e2a51f6dbff2e1c12547644014f748e7564f1ded42b75cb99";
+       revision = "1";
+       editedCabalFile = "9a5004b0563415202937cd437518f75c9910ff25c605630eed77456ce2238041";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib filepath FontyFruity hashable JuicyPixels lens mtl
@@ -51703,6 +51937,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-rasterific_1_3_1_9" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default-class
+     , diagrams-core, diagrams-lib, filepath, FontyFruity, hashable
+     , JuicyPixels, lens, mtl, optparse-applicative, Rasterific, split
+     , unix
+     }:
+     mkDerivation {
+       pname = "diagrams-rasterific";
+       version = "1.3.1.9";
+       sha256 = "b3305657391f75b9f69c3a30905724c1151ea7cab78561c800657f7a81166ab8";
+       libraryHaskellDepends = [
+         base bytestring containers data-default-class diagrams-core
+         diagrams-lib filepath FontyFruity hashable JuicyPixels lens mtl
+         optparse-applicative Rasterific split unix
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "Rasterific backend for diagrams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-reflex" = callPackage
     ({ mkDerivation, base, colour, containers, diagrams-core
      , diagrams-lib, lens, monoid-extras, mtl, reflex, reflex-dom
@@ -51798,6 +52054,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "diagrams-svg_1_4_0_4" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, colour
+     , containers, diagrams-core, diagrams-lib, directory, filepath
+     , hashable, JuicyPixels, lens, monoid-extras, mtl, old-time
+     , optparse-applicative, process, semigroups, split, svg-builder
+     , text, time
+     }:
+     mkDerivation {
+       pname = "diagrams-svg";
+       version = "1.4.0.4";
+       sha256 = "b9843885cd30a70b3acf97a0ce41934776d535777584b670f5b3ec4a39b6668c";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring colour containers diagrams-core
+         diagrams-lib directory filepath hashable JuicyPixels lens
+         monoid-extras mtl old-time optparse-applicative process semigroups
+         split svg-builder text time
+       ];
+       jailbreak = true;
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "SVG backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-tikz" = callPackage
     ({ mkDerivation, base, diagrams-core, diagrams-lib, dlist, mtl }:
      mkDerivation {
@@ -52750,8 +53030,8 @@ self: {
      }:
      mkDerivation {
        pname = "dirstream";
-       version = "1.0.0";
-       sha256 = "7c1f944d519b8b56ccb855486482be8fed83492335d5b78ad73f08280c63b5c3";
+       version = "1.0.1";
+       sha256 = "76136a076311a19e4e3242ef15bd21e39b8eade315d03b92f9b8750daffdbe59";
        libraryHaskellDepends = [
          base directory pipes pipes-safe system-fileio system-filepath unix
        ];
@@ -53687,7 +53967,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dns" = callPackage
+  "dns_2_0_4" = callPackage
     ({ mkDerivation, attoparsec, base, binary, blaze-builder
      , bytestring, conduit, conduit-extra, containers, doctest, hspec
      , iproute, mtl, network, random, resourcet, safe, word8
@@ -53709,9 +53989,10 @@ self: {
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "dns_2_0_5" = callPackage
+  "dns" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring
      , bytestring-builder, conduit, conduit-extra, containers, doctest
      , hspec, iproute, mtl, network, random, resourcet, safe, word8
@@ -53729,10 +54010,10 @@ self: {
          conduit-extra containers doctest hspec iproute mtl network random
          resourcet safe word8
        ];
+       doCheck = false;
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dnscache" = callPackage
@@ -57198,16 +57479,18 @@ self: {
      }) {};
 
   "emailaddress" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, doctest, email-validate
-     , Glob, opaleye, postgresql-simple, product-profunctors
-     , profunctors, text
+    ({ mkDerivation, aeson, base, bifunctors, bytestring, doctest
+     , email-validate, Glob, http-api-data, opaleye, path-pieces
+     , persistent, postgresql-simple, product-profunctors, profunctors
+     , text
      }:
      mkDerivation {
        pname = "emailaddress";
-       version = "0.1.0.0";
-       sha256 = "97d8dbe96ee77f341cbf1e1f382a3944adc434376bde1a82ea9df3c66be2cdba";
+       version = "0.1.6.0";
+       sha256 = "5b81ba46a7228bad005cf0370a4762fac06729277355dc02085c4d81697c689d";
        libraryHaskellDepends = [
-         aeson base bytestring email-validate opaleye postgresql-simple
+         aeson base bifunctors bytestring email-validate http-api-data
+         opaleye path-pieces persistent postgresql-simple
          product-profunctors profunctors text
        ];
        testHaskellDepends = [ base doctest Glob ];
@@ -58733,10 +59016,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventloop";
-       version = "0.8.1.2";
-       sha256 = "1e4a62abcfb50f949cffe61a53d37c6b7a5ad157cdaecba31f528046f36fe42e";
-       revision = "3";
-       editedCabalFile = "c2eeaa631bc97d0a2214829ded0eaf1411852515fe1a9d2ed5aa5a25e8e6302d";
+       version = "0.8.2.0";
+       sha256 = "2d3e90201da379a76f68aed93b0058d76f766ae07e4078c797e5f91c0e315f1b";
        libraryHaskellDepends = [
          aeson base bytestring concurrent-utilities deepseq network stm
          suspend text timers websockets
@@ -60332,7 +60613,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "fay_0_23_1_14" = callPackage
+  "fay_0_23_1_15" = callPackage
     ({ mkDerivation, aeson, base, base-compat, bytestring, containers
      , data-default, data-lens-light, directory, filepath, ghc-paths
      , haskell-src-exts, language-ecmascript, mtl, mtl-compat
@@ -60343,8 +60624,8 @@ self: {
      }:
      mkDerivation {
        pname = "fay";
-       version = "0.23.1.14";
-       sha256 = "d5f3c6bb8373e35333075c438ba0c48faa0963c6162649780ab55ee5f61a4280";
+       version = "0.23.1.15";
+       sha256 = "d8a1912c8359877e8d9cfec4c07275d21167cb03e607f7dd8190d201d967af59";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -65467,6 +65748,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "gasp" = callPackage
+    ({ mkDerivation, base, binary, containers }:
+     mkDerivation {
+       pname = "gasp";
+       version = "1.0.1.0";
+       sha256 = "7f9dcc98599814557179e428e281a82ceebc8208a698d87e726c3f8307b033f9";
+       libraryHaskellDepends = [ base binary containers ];
+       description = "A framework of algebraic classes";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "gbu" = callPackage
     ({ mkDerivation, base, containers, fgl, Graphalyze, haskell98, mtl
      , regex-posix
@@ -65874,8 +66166,8 @@ self: {
        pname = "generic-aeson";
        version = "0.2.0.8";
        sha256 = "de29fa648b9eb6c9e678b0715a530efaf70aac8f1ad8becc22d7ef1411ded5cb";
-       revision = "1";
-       editedCabalFile = "7d8da0973a605807887ae7309ff75483ccdaf1735adb2117a67c2721f6452c43";
+       revision = "2";
+       editedCabalFile = "1796cd85bd71d6f83a9dfd2f56cbb90c0059591e4e3bbf6e38864435f726c971";
        libraryHaskellDepends = [
          aeson attoparsec base generic-deriving mtl tagged text
          unordered-containers vector
@@ -65944,8 +66236,8 @@ self: {
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "generic-deriving";
-       version = "1.10.7";
-       sha256 = "c0d8bc935951beafb13aec33e25e2896eb0e39aba60b1eba17dbd990adae07fa";
+       version = "1.11";
+       sha256 = "16d40544e4dad85af78d93158e9b6a39b35c88ca10a455cfc861a4282556240d";
        libraryHaskellDepends = [
          base containers ghc-prim template-haskell
        ];
@@ -66016,10 +66308,8 @@ self: {
      }:
      mkDerivation {
        pname = "generic-random";
-       version = "0.2.0.0";
-       sha256 = "f191ee3303d3437dd3f9cc7ebe37e8872f5bcfc4aeb77c9c838d5cd6e594538c";
-       revision = "1";
-       editedCabalFile = "0232fea4599edb18571d3a167f83978acd12ee1b1bdb1c9a1c3013e5df786b1d";
+       version = "0.3.0.0";
+       sha256 = "80a8484be904a8ac7a536c454bffe8e912897e184bfb8574ff317461eb228546";
        libraryHaskellDepends = [
          ad base containers hashable hmatrix ieee754 MonadRandom mtl
          QuickCheck transformers unordered-containers vector
@@ -66102,6 +66392,8 @@ self: {
        pname = "generic-xmlpickler";
        version = "0.1.0.5";
        sha256 = "d51760f5650051eebe561f2b18670657e8398014fa2a623c0e0169bfeca336af";
+       revision = "1";
+       editedCabalFile = "eb0855e93042f13a9becd93e75ebc42edf67546ce5bb157152fdf32b6b4c380f";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
        testHaskellDepends = [
          base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
@@ -66341,8 +66633,8 @@ self: {
     ({ mkDerivation, base, hspec, QuickCheck, validity }:
      mkDerivation {
        pname = "genvalidity";
-       version = "0.2.0.1";
-       sha256 = "b5f071c161a5720728f03998a50aac86bf298b21cd07723ef151943dac3ac447";
+       version = "0.2.0.2";
+       sha256 = "039cb76d733452b664c701a068e65ac86a3731a8dd33bc9192623d1e88bdf288";
        libraryHaskellDepends = [ base QuickCheck validity ];
        testHaskellDepends = [ base hspec QuickCheck ];
        homepage = "https://github.com/NorfairKing/validity#readme";
@@ -67384,18 +67676,24 @@ self: {
      }) {};
 
   "ghc-time-alloc-prof" = callPackage
-    ({ mkDerivation, attoparsec, base, containers, text, time }:
+    ({ mkDerivation, attoparsec, base, containers, directory, filepath
+     , process, tasty, tasty-hunit, temporary, text, time
+     }:
      mkDerivation {
        pname = "ghc-time-alloc-prof";
-       version = "0.0.0.1";
-       sha256 = "9a3fabe71006ce604945d3195f4d3057bdf24693e483633b688f447819381b98";
+       version = "0.1.0";
+       sha256 = "61a877a8f7a7dbfc8ceeac0e7b20f63a52183b7d1690d0557b4300c0bbfe30d5";
        libraryHaskellDepends = [ attoparsec base containers text time ];
+       testHaskellDepends = [
+         attoparsec base directory filepath process tasty tasty-hunit
+         temporary text
+       ];
        homepage = "https://github.com/maoe/ghc-time-alloc-prof";
        description = "Library for parsing GHC time and allocation profiling reports";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "ghc-typelits-extra" = callPackage
+  "ghc-typelits-extra_0_1_3" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra
      , ghc-typelits-natnormalise, integer-gmp, tasty, tasty-hunit
      , transformers
@@ -67413,6 +67711,31 @@ self: {
        homepage = "http://www.clash-lang.org/";
        description = "Additional type-level operations on GHC.TypeLits.Nat";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "ghc-typelits-extra" = callPackage
+    ({ mkDerivation, base, ghc, ghc-tcplugins-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, integer-gmp
+     , singletons, tasty, tasty-hunit, transformers
+     }:
+     mkDerivation {
+       pname = "ghc-typelits-extra";
+       version = "0.2";
+       sha256 = "7ea3126b4dcf8de6dacd4654bbed1eb019cd088a70f79434d34193d93fac2c17";
+       revision = "1";
+       editedCabalFile = "52861a8d689da7f12990a870c6f3c0a219e9b2946570733710e21841947afdbc";
+       libraryHaskellDepends = [
+         base ghc ghc-tcplugins-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise integer-gmp singletons transformers
+       ];
+       testHaskellDepends = [
+         base ghc-typelits-knownnat ghc-typelits-natnormalise tasty
+         tasty-hunit
+       ];
+       homepage = "http://www.clash-lang.org/";
+       description = "Additional type-level operations on GHC.TypeLits.Nat";
+       license = stdenv.lib.licenses.bsd2;
      }) {};
 
   "ghc-typelits-knownnat" = callPackage
@@ -67422,8 +67745,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-typelits-knownnat";
-       version = "0.2";
-       sha256 = "ea8363b81b55219ceb037afe349d81c77952969370bf2a9451208679fb0abf8c";
+       version = "0.2.1";
+       sha256 = "5c4e3f8be0fe29e523c1129cea98a18d46950ea53178b57fd06ae3b0057271ee";
        libraryHaskellDepends = [
          base ghc ghc-tcplugins-extra ghc-typelits-natnormalise singletons
          template-haskell transformers
@@ -67960,7 +68283,7 @@ self: {
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
        preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo.dev}/lib/pkgconfig"
+         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
          setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
        '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
@@ -67986,7 +68309,7 @@ self: {
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
        preCompileBuildDriver = ''
-         PKG_CONFIG_PATH+=":${cairo.dev}/lib/pkgconfig"
+         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
          setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
        '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
@@ -68807,8 +69130,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.2.7.0";
-       sha256 = "809944fc799e3238911595ba45a54437a9c206528a37cf60dd4aa98d142bd1ef";
+       version = "0.2.8.0";
+       sha256 = "17f7ee8a2f0cb1ee40b20043a1d39e6fd6dc100e7cb6548f590cc82030af9856";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -69512,7 +69835,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "github-backup" = callPackage
+  "github-backup_1_20160522" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory
      , exceptions, filepath, git, github, hslogger, IfElse, MissingH
      , mtl, network, network-uri, optparse-applicative, pretty-show
@@ -69536,6 +69859,33 @@ self: {
        homepage = "https://github.com/joeyh/github-backup";
        description = "backs up everything github knows about a repository, to the repository";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) git;};
+
+  "github-backup" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory
+     , exceptions, filepath, git, github, hslogger, IfElse, MissingH
+     , mtl, network, network-uri, optparse-applicative, pretty-show
+     , process, text, transformers, unix, unix-compat, utf8-string
+     , vector
+     }:
+     mkDerivation {
+       pname = "github-backup";
+       version = "1.20160922";
+       sha256 = "ea8036c3d9e40057bcf6c26fe925606bce8769277f0d2cfa394fd23a73df4242";
+       isLibrary = false;
+       isExecutable = true;
+       setupHaskellDepends = [ base hslogger MissingH ];
+       executableHaskellDepends = [
+         base bytestring containers directory exceptions filepath github
+         hslogger IfElse MissingH mtl network network-uri
+         optparse-applicative pretty-show process text transformers unix
+         unix-compat utf8-string vector
+       ];
+       executableToolDepends = [ git ];
+       homepage = "https://github.com/joeyh/github-backup";
+       description = "backs up everything github knows about a repository, to the repository";
+       license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {inherit (pkgs) git;};
 
@@ -70203,8 +70553,8 @@ self: {
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.9";
-       sha256 = "7328b69803806ebdc80c938efc70fc687d64ecc6343b99562afe95c9d60ae2ab";
+       version = "2.10";
+       sha256 = "9ecb9d1e0fd365d2bf51706e2df09ce8e6e17a648ad9f603d2888ae15129f368";
        isLibrary = false;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -73332,8 +73682,8 @@ self: {
      }:
      mkDerivation {
        pname = "graphmod";
-       version = "1.2.9";
-       sha256 = "2e9af4e92a2cad0fc4132060bcf61bdbed28bde50b3ca5d1cadb9db37d1493d9";
+       version = "1.3";
+       sha256 = "8f9197bd25aa79974e31fe81498cca7920d33979fe9b49084023ca9965e71910";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -76504,14 +76854,13 @@ self: {
      }:
      mkDerivation {
        pname = "hailgun";
-       version = "0.4.0.5";
-       sha256 = "b314252ae3c7346e67b1e17b719fc9eefc743eb14f6be5ea095ba3f4fd773e16";
+       version = "0.4.1.0";
+       sha256 = "9700d1718e92ffb55b457ed21bc21731fefe71990d21bc36b92bb6a5e08c869b";
        libraryHaskellDepends = [
          aeson base bytestring email-validate exceptions filepath
          http-client http-client-tls http-types tagsoup text time
          transformers
        ];
-       jailbreak = true;
        description = "Mailgun REST api interface for Haskell";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -77601,7 +77950,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "happstack-authenticate" = callPackage
+  "happstack-authenticate_2_3_4_3" = callPackage
     ({ mkDerivation, acid-state, aeson, authenticate, base
      , base64-bytestring, boomerang, bytestring, containers
      , data-default, email-validate, filepath, happstack-hsp
@@ -77631,6 +77980,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "happstack-authenticate" = callPackage
+    ({ mkDerivation, acid-state, aeson, authenticate, base
+     , base64-bytestring, boomerang, bytestring, containers
+     , data-default, email-validate, filepath, happstack-hsp
+     , happstack-jmacro, happstack-server, hsp, hsx-jmacro, hsx2hs
+     , http-conduit, http-types, ixset-typed, jmacro, jwt, lens
+     , mime-mail, mtl, pwstore-purehaskell, random, safecopy
+     , shakespeare, text, time, unordered-containers, userid, web-routes
+     , web-routes-boomerang, web-routes-happstack, web-routes-hsp
+     , web-routes-th
+     }:
+     mkDerivation {
+       pname = "happstack-authenticate";
+       version = "2.3.4.4";
+       sha256 = "7c48c45dd4e67101fa098b9cdd5b2e11853da0253cfefe2e9f1a773e13094a59";
+       libraryHaskellDepends = [
+         acid-state aeson authenticate base base64-bytestring boomerang
+         bytestring containers data-default email-validate filepath
+         happstack-hsp happstack-jmacro happstack-server hsp hsx-jmacro
+         hsx2hs http-conduit http-types ixset-typed jmacro jwt lens
+         mime-mail mtl pwstore-purehaskell random safecopy shakespeare text
+         time unordered-containers userid web-routes web-routes-boomerang
+         web-routes-happstack web-routes-hsp web-routes-th
+       ];
+       homepage = "http://www.happstack.com/";
+       description = "Happstack Authentication Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happstack-clientsession" = callPackage
     ({ mkDerivation, base, bytestring, cereal, clientsession
      , happstack-server, monad-control, mtl, safecopy, transformers-base
@@ -78711,8 +79090,8 @@ self: {
      }:
      mkDerivation {
        pname = "hashabler";
-       version = "1.2.1";
-       sha256 = "dbe4b8698748642afe6441b533fcde55d2c467557a86fe47700544841c4f13f5";
+       version = "1.3.0";
+       sha256 = "6bbd711b75f9c8fe72a1471ed99709e382ce7a58595a0088228aa39e74bf74ab";
        libraryHaskellDepends = [
          array base bytestring ghc-prim integer-gmp primitive
          template-haskell text
@@ -79573,7 +79952,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "haskell-lexer" = callPackage
+  "haskell-lexer_1_0" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "haskell-lexer";
@@ -79582,6 +79961,18 @@ self: {
        libraryHaskellDepends = [ base ];
        description = "A fully compliant Haskell 98 lexer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-lexer" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "haskell-lexer";
+       version = "1.0.1";
+       sha256 = "d7d42ab3c4bc2f0232ede8b005fb9de57f862ee4c1c83aa61e1022346fc84366";
+       libraryHaskellDepends = [ base ];
+       description = "A fully compliant Haskell 98 lexer";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "haskell-modbus" = callPackage
@@ -81822,6 +82213,8 @@ self: {
        pname = "hat";
        version = "2.9.0.0";
        sha256 = "2e557847aca6531307d0fd9d5f453ea6663a0f7fd41d89896d50455a037e4b17";
+       revision = "1";
+       editedCabalFile = "b02535be9ba2feeb0fb04f6f88cdec934286b740eec1472ee9e3de0eb56857f3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -81831,6 +82224,7 @@ self: {
          base bytestring containers directory filepath haskeline
          haskell-src-exts polyparse process
        ];
+       jailbreak = true;
        homepage = "http://projects.haskell.org/hat/";
        description = "The Haskell tracer, generating and viewing Haskell execution traces";
        license = "unknown";
@@ -85392,8 +85786,8 @@ self: {
        pname = "hindent";
        version = "4.6.4";
        sha256 = "26fc1498705b8a64b03eb5b699ba6229955273d91a49a01c3c2b58436c8e4dcf";
-       revision = "1";
-       editedCabalFile = "f0a60118bc1676b194de34b26a83a11f62ff91b557c8ef0e1da737a7923e0642";
+       revision = "2";
+       editedCabalFile = "d06cf7934ba7a7bc938bf9c378955ee5d4925ee3f45cfa1e417a2adbe5db5955";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -85411,24 +85805,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hindent_5_0_0" = callPackage
-    ({ mkDerivation, base, containers, descriptive, directory, ghc-prim
-     , haskell-src-exts, hspec, monad-loops, mtl, text, transformers
+  "hindent_5_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, deepseq, descriptive
+     , directory, exceptions, ghc-prim, haskell-src-exts, hspec
+     , monad-loops, mtl, text, transformers, utf8-string
      }:
      mkDerivation {
        pname = "hindent";
-       version = "5.0.0";
-       sha256 = "ad2f652d086e7bd8dd933b3aed682fd811bcb081b367279097f9d384dd738d77";
+       version = "5.0.1";
+       sha256 = "429f2603479b7a972332aaa91bbc69ac204d5b7a218f83fc071f8565120cc6b9";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers haskell-src-exts monad-loops mtl text transformers
+         base bytestring containers exceptions haskell-src-exts monad-loops
+         mtl text transformers utf8-string
        ];
        executableHaskellDepends = [
-         base descriptive directory ghc-prim haskell-src-exts text
+         base bytestring descriptive directory ghc-prim haskell-src-exts
+         text utf8-string
        ];
        testHaskellDepends = [
-         base directory haskell-src-exts hspec monad-loops mtl text
+         base bytestring deepseq directory exceptions haskell-src-exts hspec
+         monad-loops mtl utf8-string
        ];
        jailbreak = true;
        homepage = "http://www.github.com/chrisdone/hindent";
@@ -86108,7 +86506,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "hjsmin" = callPackage
+  "hjsmin_0_2_0_1" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, containers
      , language-javascript, optparse-applicative, text
      }:
@@ -86128,6 +86526,29 @@ self: {
        homepage = "http://github.com/erikd/hjsmin";
        description = "Haskell implementation of a javascript minifier";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hjsmin" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, containers
+     , language-javascript, optparse-applicative, text
+     }:
+     mkDerivation {
+       pname = "hjsmin";
+       version = "0.2.0.2";
+       sha256 = "bec153d2396962c63998eb12d0a2c7c9f7df6f774cb00e41b6cdb1f5a4905484";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base blaze-builder bytestring containers language-javascript text
+       ];
+       executableHaskellDepends = [
+         base blaze-builder bytestring containers language-javascript
+         optparse-applicative text
+       ];
+       homepage = "http://github.com/erikd/hjsmin";
+       description = "Haskell implementation of a javascript minifier";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hjson" = callPackage
@@ -87525,6 +87946,25 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "hocilib" = callPackage
+    ({ mkDerivation, base, bytestring, c2hs, containers, inline-c
+     , ocilib, tasty, tasty-hunit, template-haskell
+     }:
+     mkDerivation {
+       pname = "hocilib";
+       version = "0.0.0";
+       sha256 = "a8bd06eec5224d8fa0c72a4a1d0f2639ef9f3ba84e52cad42c633435a8bf8ee0";
+       libraryHaskellDepends = [
+         base containers inline-c template-haskell
+       ];
+       librarySystemDepends = [ ocilib ];
+       libraryToolDepends = [ c2hs ];
+       testHaskellDepends = [ base bytestring tasty tasty-hunit ];
+       homepage = "https://github.com/fpinsight/hocilib";
+       description = "FFI binding to OCILIB";
+       license = stdenv.lib.licenses.bsd3;
+     }) {ocilib = null;};
+
   "hoe" = callPackage
     ({ mkDerivation, base, exceptions, hint, mtl, optparse-declarative
      , regex-posix, split, text, time
@@ -88940,38 +89380,6 @@ self: {
      }:
      mkDerivation {
        pname = "hpack-convert";
-       version = "0.14.4";
-       sha256 = "dff7716b20bbe03e9b96d4051becb0ece42315c926e8b5999782a2566ed879d1";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob pretty text unordered-containers vector
-         yaml
-       ];
-       executableHaskellDepends = [
-         aeson base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob pretty text unordered-containers vector
-         yaml
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq base base-compat bytestring Cabal containers deepseq
-         directory filepath Glob hspec interpolate mockery pretty QuickCheck
-         temporary text unordered-containers vector yaml
-       ];
-       homepage = "https://github.com/yamadapc/hpack-convert#readme";
-       description = "Convert Cabal manifests into hpack's package.yamls";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hpack-convert_0_14_5" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
-     , Cabal, containers, deepseq, directory, filepath, Glob, hspec
-     , interpolate, mockery, pretty, QuickCheck, temporary, text
-     , unordered-containers, vector, yaml
-     }:
-     mkDerivation {
-       pname = "hpack-convert";
        version = "0.14.5";
        sha256 = "fddb0bbb0a0aeb7362ee4333fb15f5d90191a6163698d596aead89577b4656ae";
        isLibrary = true;
@@ -88994,7 +89402,6 @@ self: {
        homepage = "https://github.com/yamadapc/hpack-convert#readme";
        description = "Convert Cabal manifests into hpack's package.yamls";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hpaco" = callPackage
@@ -89160,7 +89567,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hpc-coveralls" = callPackage
+  "hpc-coveralls_1_0_4" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, Cabal, cmdargs
      , containers, curl, directory, directory-tree, hpc, HUnit, process
      , pureMD5, regex-posix, retry, safe, split, transformers
@@ -89184,6 +89591,33 @@ self: {
        homepage = "https://github.com/guillaume-nargeot/hpc-coveralls";
        description = "Coveralls.io support for Haskell.";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hpc-coveralls" = callPackage
+    ({ mkDerivation, aeson, async, base, bytestring, Cabal, cmdargs
+     , containers, curl, directory, directory-tree, hpc, HUnit, process
+     , pureMD5, regex-posix, retry, safe, split, transformers
+     }:
+     mkDerivation {
+       pname = "hpc-coveralls";
+       version = "1.0.6";
+       sha256 = "e58739ab2c0db02770911927aa534e04c808b38f11b39b646c14b0cab802cf84";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring Cabal cmdargs containers curl directory
+         directory-tree hpc process pureMD5 retry safe split transformers
+       ];
+       executableHaskellDepends = [
+         aeson async base bytestring Cabal cmdargs containers curl directory
+         directory-tree hpc process pureMD5 regex-posix retry safe split
+         transformers
+       ];
+       testHaskellDepends = [ base HUnit ];
+       homepage = "https://github.com/guillaume-nargeot/hpc-coveralls";
+       description = "Coveralls.io support for Haskell.";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hpc-strobe" = callPackage
@@ -89595,6 +90029,35 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "hquantlib_0_0_3_1" = callPackage
+    ({ mkDerivation, base, containers, HerbiePlugin, hmatrix
+     , hmatrix-gsl, hmatrix-special, HUnit, mersenne-random, parallel
+     , QuickCheck, statistics, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, vector, vector-algorithms
+     }:
+     mkDerivation {
+       pname = "hquantlib";
+       version = "0.0.3.1";
+       sha256 = "1da4a612d63aceca1ac946d204ee8048732fb82a74ece9df7b8c15f0b17ee0e4";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers HerbiePlugin hmatrix hmatrix-gsl hmatrix-special
+         mersenne-random parallel statistics time vector vector-algorithms
+       ];
+       executableHaskellDepends = [
+         base containers mersenne-random parallel
+       ];
+       testHaskellDepends = [
+         base HUnit QuickCheck test-framework test-framework-hunit
+         test-framework-quickcheck2
+       ];
+       homepage = "http://github.com/paulrzcz/hquantlib.git";
+       description = "HQuantLib is a port of essencial parts of QuantLib to Haskell";
+       license = "LGPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hquery" = callPackage
     ({ mkDerivation, base, bytestring, containers, filepath, HUnit
      , parsec, test-framework, test-framework-hunit, text, xmlhtml
@@ -90806,6 +91269,34 @@ self: {
        license = "GPL";
      }) {};
 
+  "hscaffold" = callPackage
+    ({ mkDerivation, base, directory, exceptions, filepath, hspec, mtl
+     , QuickCheck, regex-compat, temporary, text, transformers, unix
+     }:
+     mkDerivation {
+       pname = "hscaffold";
+       version = "0.4.4.0";
+       sha256 = "f56776610c0a64fe5bf396a3d0d1fff5e2e22ad8996f1f95fa1336d7d25285df";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base directory exceptions filepath mtl regex-compat temporary text
+         transformers unix
+       ];
+       executableHaskellDepends = [
+         base directory exceptions filepath mtl regex-compat temporary text
+         transformers unix
+       ];
+       testHaskellDepends = [
+         base directory exceptions filepath hspec mtl QuickCheck
+         regex-compat temporary text transformers unix
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/yamadapc/hscaffold#readme";
+       description = "Very simple file/directory structure scaffolding writer monad EDSL";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hscamwire" = callPackage
     ({ mkDerivation, array, base, camwire_1394, dc1394_control, raw1394
      , time, unix
@@ -92223,6 +92714,38 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-setup_0_2_1_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, bytestring, cryptohash
+     , directory, directory-tree, filepath, haskell-src-exts, hspec
+     , language-dockerfile, pretty, process, projectroot, QuickCheck
+     , split, strict
+     }:
+     mkDerivation {
+       pname = "hspec-setup";
+       version = "0.2.1.0";
+       sha256 = "abd91c97ca341f3111b318e7a203daf083424b180ba3bd00fc7e5d9ba2c177d0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         ansi-wl-pprint base directory directory-tree filepath
+         haskell-src-exts pretty process projectroot split strict
+       ];
+       executableHaskellDepends = [
+         ansi-wl-pprint base directory directory-tree filepath
+         haskell-src-exts pretty process projectroot split strict
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base bytestring cryptohash directory directory-tree
+         filepath haskell-src-exts hspec language-dockerfile pretty process
+         projectroot QuickCheck split strict
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/yamadapc/haskell-hspec-setup";
+       description = "Add an hspec test-suite in one command";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-shouldbe" = callPackage
     ({ mkDerivation, hspec, test-shouldbe }:
      mkDerivation {
@@ -94386,7 +94909,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "http-streams" = callPackage
+  "http-streams_0_8_3_3" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
      , base64-bytestring, blaze-builder, bytestring, case-insensitive
      , directory, ghc-prim, HsOpenSSL, hspec, hspec-expectations
@@ -94414,6 +94937,39 @@ self: {
          transformers unordered-containers
        ];
        jailbreak = true;
+       homepage = "http://research.operationaldynamics.com/projects/http-streams/";
+       description = "An HTTP client using io-streams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "http-streams" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base
+     , base64-bytestring, blaze-builder, bytestring, case-insensitive
+     , directory, ghc-prim, HsOpenSSL, hspec, hspec-expectations
+     , http-common, HUnit, io-streams, lifted-base, mtl, network
+     , network-uri, openssl-streams, snap-core, snap-server
+     , system-fileio, system-filepath, text, transformers
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "http-streams";
+       version = "0.8.4.0";
+       sha256 = "d8778352ca3d87b7ea6839d9c26e20d89792e723a6b63e399d19e7811aaf4793";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-builder bytestring
+         case-insensitive directory HsOpenSSL http-common io-streams mtl
+         network network-uri openssl-streams text transformers
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty attoparsec base base64-bytestring blaze-builder
+         bytestring case-insensitive directory ghc-prim HsOpenSSL hspec
+         hspec-expectations http-common HUnit io-streams lifted-base mtl
+         network network-uri openssl-streams snap-core snap-server
+         system-fileio system-filepath text transformers
+         unordered-containers
+       ];
        doCheck = false;
        homepage = "http://research.operationaldynamics.com/projects/http-streams/";
        description = "An HTTP client using io-streams";
@@ -94701,14 +95257,14 @@ self: {
      }) {inherit (pkgs) ruby;};
 
   "huckleberry" = callPackage
-    ({ mkDerivation, base, bytestring, HUnit, mtl, serialport }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "huckleberry";
-       version = "0.9.0.2";
-       sha256 = "70fd7cbe9e41d28f2d8882364646007745ce6b2a64d6369b25fd5a3222eda32d";
-       libraryHaskellDepends = [ base bytestring mtl serialport ];
-       testHaskellDepends = [ base HUnit ];
-       description = "IchigoJam BASIC expressed in Haskell";
+       version = "0.9.1.1";
+       sha256 = "cbb6e78b098a466fdc8b6f90e64f510bd362920c4979d42aeb2bb47f6a258778";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/mitsuji/huckleberry#readme";
+       description = "Haskell IOT on Intel Edison and other Linux computers";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -95702,7 +96258,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hxt-css" = callPackage
+  "hxt-css_0_1_0_2" = callPackage
     ({ mkDerivation, base, hxt, parsec, split }:
      mkDerivation {
        pname = "hxt-css";
@@ -95712,6 +96268,19 @@ self: {
        homepage = "https://github.com/redneb/hxt-css";
        description = "CSS selectors for HXT";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hxt-css" = callPackage
+    ({ mkDerivation, base, hxt, parsec, split }:
+     mkDerivation {
+       pname = "hxt-css";
+       version = "0.1.0.3";
+       sha256 = "0244fc145d5923df0522ad80949e9b221b01a028c755ebfc4740339881ef65b7";
+       libraryHaskellDepends = [ base hxt parsec split ];
+       homepage = "https://github.com/redneb/hxt-css";
+       description = "CSS selectors for HXT";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "hxt-curl" = callPackage
@@ -96549,19 +97118,20 @@ self: {
      }) {};
 
   "i18n" = callPackage
-    ({ mkDerivation, array, base, containers, directory, filepath, mtl
-     , old-locale, old-time, parsec, utf8-string
+    ({ mkDerivation, base, containers, directory, filepath, hspec, mtl
+     , parsec, tasty, tasty-hspec, text, transformers
      }:
      mkDerivation {
        pname = "i18n";
-       version = "0.3";
-       sha256 = "37e012104ab07255ae4f45490af8795d743e24857e83c38dd1dddaf0984a3f50";
-       revision = "1";
-       editedCabalFile = "d439935bdde42851690657019ef6fe3a9869299d918ed04db2e6752614608d36";
+       version = "0.4.0.0";
+       sha256 = "7e0df375883fb3428b0cd20aac1163ea38de80fd3499ec3007979b36fe2f93fa";
        libraryHaskellDepends = [
-         array base containers directory filepath mtl old-locale old-time
-         parsec utf8-string
+         base containers directory filepath mtl parsec text transformers
        ];
+       testHaskellDepends = [
+         base containers hspec tasty tasty-hspec text
+       ];
+       homepage = "https://github.com/filib/i18n";
        description = "Internationalization for Haskell";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = [ "x86_64-darwin" ];
@@ -98059,8 +98629,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "inchworm";
-       version = "1.0.0.1";
-       sha256 = "40449b0515ab4ae191879cb951947ab5f44aed5d9c067beee5fb825f07318645";
+       version = "1.0.2.1";
+       sha256 = "ec3b3d9035dffb6fa9f062a54273b1eb68556b6d5ac23c3e262acad0b34ddda5";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/DDCSF/inchworm";
        description = "Inchworm Lexer Framework";
@@ -99364,6 +99934,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "interval" = callPackage
+    ({ mkDerivation, base, deepseq, fingertree, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "interval";
+       version = "1.20160821";
+       sha256 = "773ef5d0296c8639d4aa47dad4bdbdec7a28dd476765f133fc8dd629293acadd";
+       revision = "1";
+       editedCabalFile = "fa0c92596237e63a8804b9a208bc185945100d0932e8481348990f1c16d586a8";
+       libraryHaskellDepends = [ base deepseq fingertree ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       description = "Intervals with adherences";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "intervals" = callPackage
     ({ mkDerivation, array, base, distributive, ghc-prim }:
      mkDerivation {
@@ -100005,8 +100589,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "0.4.2.2";
-       sha256 = "adde49f71e32f9c89c7b4ec307efc1b70556ab8c04864a091ce2d05ad105ab27";
+       version = "0.4.3.0";
+       sha256 = "e40fb8d41b6230a01820deed60e43fea525554cd900e9be3582a6371d69c2676";
        libraryHaskellDepends = [
          base bytestring conduit irc-conduit irc-ctcp old-locale stm
          stm-conduit text time transformers
@@ -100073,6 +100657,8 @@ self: {
        pname = "irc-core";
        version = "2.1.0.0";
        sha256 = "e1dcd6a967bd866d56df30b29fcdeb97b11d9608419e1886288e45a29a2e799d";
+       revision = "1";
+       editedCabalFile = "81dda1142ca0a847629278e19cb1535c3073e9f4755aac347f088d4eb2c6dc60";
        libraryHaskellDepends = [
          attoparsec base bytestring hashable lens memory primitive text time
          vector
@@ -100094,7 +100680,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "irc-dcc" = callPackage
+  "irc-dcc_1_2_1" = callPackage
     ({ mkDerivation, attoparsec, base, binary, bytestring, errors
      , hspec-attoparsec, io-streams, iproute, irc-ctcp, network, path
      , tasty, tasty-hspec, transformers, utf8-string
@@ -100116,6 +100702,30 @@ self: {
        homepage = "https://github.com/JanGe/irc-dcc";
        description = "A DCC message parsing and helper library for IRC clients";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "irc-dcc" = callPackage
+    ({ mkDerivation, attoparsec, base, binary, bytestring, errors
+     , hspec-attoparsec, io-streams, iproute, irc-ctcp, mtl, network
+     , path, safe-exceptions, tasty, tasty-hspec, tasty-quickcheck
+     , transformers, utf8-string
+     }:
+     mkDerivation {
+       pname = "irc-dcc";
+       version = "2.0.0";
+       sha256 = "af21bb0929ead7439e0d45ce4db1c35799949d91c8dd8f25f048826498483115";
+       libraryHaskellDepends = [
+         attoparsec base binary bytestring errors io-streams iproute
+         irc-ctcp mtl network path safe-exceptions transformers utf8-string
+       ];
+       testHaskellDepends = [
+         base bytestring hspec-attoparsec iproute network path tasty
+         tasty-hspec tasty-quickcheck utf8-string
+       ];
+       homepage = "https://github.com/JanGe/irc-dcc";
+       description = "A DCC message parsing and helper library for IRC clients";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "irc-fun-bot" = callPackage
@@ -102333,8 +102943,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "560d6a17d6eab734f43d329e51967e3ed62f8df2a6fea4a92d06359fe77d7c96";
-       revision = "4";
-       editedCabalFile = "686610295b3967be97f3b6e433b76b331c203f9058cc05b6bcd907ddecdb8d00";
+       revision = "5";
+       editedCabalFile = "ec1615227a46ff11cc6dca76df0564ace2a8ff8069e9c84cea0064cd908d0eb3";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -103137,32 +103747,29 @@ self: {
 
   "kawaii" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default, hakyll
-     , hakyll-serve, hspec, lens, lifted-base, monad-control
-     , monad-logger, mtl, optparse-applicative, QuickCheck, safe
-     , streaming-commons, text, wai, wai-app-static, wai-extra, warp
-     , warp-tls
+     , hspec, lens, lifted-base, monad-control, monad-logger, mtl
+     , optparse-applicative, QuickCheck, safe, streaming-commons, text
+     , wai, wai-app-static, wai-extra, warp, warp-tls
      }:
      mkDerivation {
        pname = "kawaii";
-       version = "0.0.1.0";
-       sha256 = "93901fdb028401d96461ff75fad794933bedc090f7cab7947d878ec36fe90228";
+       version = "0.0.1.1";
+       sha256 = "9b7e66ffbb281d4cf4cab30a9b4aed4c7593875bb637f192a629fce3595f42c0";
        libraryHaskellDepends = [
          base bytestring containers data-default hakyll lens lifted-base
          monad-control monad-logger mtl optparse-applicative safe
          streaming-commons text wai wai-app-static wai-extra warp warp-tls
        ];
        testHaskellDepends = [
-         base bytestring containers data-default hakyll hakyll-serve hspec
-         lens lifted-base monad-control monad-logger mtl
-         optparse-applicative QuickCheck safe streaming-commons text wai
-         wai-app-static wai-extra warp warp-tls
+         base bytestring containers data-default hakyll hspec lens
+         lifted-base monad-control monad-logger mtl optparse-applicative
+         QuickCheck safe streaming-commons text wai wai-app-static wai-extra
+         warp warp-tls
        ];
-       jailbreak = true;
        homepage = "https://phabricator.chromabits.com/diffusion/KWAI/";
        description = "Utilities for serving static sites and blogs with Wai/Warp";
        license = stdenv.lib.licenses.asl20;
-       broken = true;
-     }) {hakyll-serve = null;};
+     }) {};
 
   "kawhi" = callPackage
     ({ mkDerivation, aeson, base, bytestring, exceptions, http-client
@@ -103838,6 +104445,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "keysafe" = callPackage
+    ({ mkDerivation, argon2, base, binary, bytestring, containers
+     , deepseq, dice-entropy-conduit, directory, filepath, finite-field
+     , optparse-applicative, polynomial, process, raaz, random, readline
+     , split, text, time, unix, utf8-string, vector, zxcvbn-c
+     }:
+     mkDerivation {
+       pname = "keysafe";
+       version = "0.20160819";
+       sha256 = "cd6909e3cbbcd8e144ebc8fb75b2fa4068ad6d4330d4ba6d5cf7e81529020704";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base binary bytestring containers deepseq dice-entropy-conduit
+         directory filepath finite-field optparse-applicative polynomial
+         process raaz random readline split text time unix utf8-string
+         vector zxcvbn-c
+       ];
+       executableSystemDepends = [ argon2 ];
+       jailbreak = true;
+       homepage = "https://joeyh.name/code/keysafe/";
+       description = "back up a secret key securely to the cloud";
+       license = stdenv.lib.licenses.agpl3;
+     }) {argon2 = null;};
+
   "keystore" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, ansi-wl-pprint, api-tools
      , asn1-encoding, asn1-types, base, base64-bytestring, byteable
@@ -104509,6 +105141,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "lackey_0_4_0" = callPackage
+    ({ mkDerivation, base, servant, servant-foreign, tasty, tasty-hspec
+     , text
+     }:
+     mkDerivation {
+       pname = "lackey";
+       version = "0.4.0";
+       sha256 = "34fa0c06eac9c6039aa704e7f64bfd0ed058e36088bef338459b4118e21a7fbb";
+       libraryHaskellDepends = [ base servant servant-foreign text ];
+       testHaskellDepends = [ base servant tasty tasty-hspec text ];
+       jailbreak = true;
+       homepage = "https://github.com/tfausak/lackey#readme";
+       description = "Generate Ruby clients from Servant APIs";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "lagrangian" = callPackage
     ({ mkDerivation, ad, base, hmatrix, HUnit, nonlinear-optimization
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -105471,32 +106120,6 @@ self: {
      }:
      mkDerivation {
        pname = "language-dockerfile";
-       version = "0.3.3.0";
-       sha256 = "70850bdf6d00a40160a3203de2d94fd45e4b51edd2b8284952286a26adf49afc";
-       libraryHaskellDepends = [
-         base bytestring free mtl parsec pretty ShellCheck split
-         template-haskell th-lift th-lift-instances transformers
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath free Glob hspec HUnit mtl parsec
-         pretty process QuickCheck ShellCheck split template-haskell
-         test-framework test-framework-hunit th-lift th-lift-instances
-         transformers
-       ];
-       doCheck = false;
-       homepage = "https://github.com/beijaflor-io/language-dockerfile#readme";
-       description = "Dockerfile linter, parser, pretty-printer and embedded DSL";
-       license = stdenv.lib.licenses.gpl3;
-     }) {};
-
-  "language-dockerfile_0_3_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, directory, filepath, free, Glob
-     , hspec, HUnit, mtl, parsec, pretty, process, QuickCheck
-     , ShellCheck, split, template-haskell, test-framework
-     , test-framework-hunit, th-lift, th-lift-instances, transformers
-     }:
-     mkDerivation {
-       pname = "language-dockerfile";
        version = "0.3.4.0";
        sha256 = "94e6996d5e56b6fb73f967e09d47d1aa2dc5a8e31ce991f27b49f28a3d8953d0";
        libraryHaskellDepends = [
@@ -105509,10 +106132,10 @@ self: {
          test-framework test-framework-hunit th-lift th-lift-instances
          transformers
        ];
+       doCheck = false;
        homepage = "https://github.com/beijaflor-io/language-dockerfile#readme";
        description = "Dockerfile linter, parser, pretty-printer and embedded DSL";
        license = stdenv.lib.licenses.gpl3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "language-dot" = callPackage
@@ -105977,7 +106600,6 @@ self: {
        homepage = "http://lpuppet.banquise.net/";
        description = "Tools to parse and evaluate the Puppet DSL";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "language-puppet_1_3" = callPackage
@@ -109965,15 +110587,33 @@ self: {
     ({ mkDerivation, base, enumset, llvm }:
      mkDerivation {
        pname = "llvm-ffi";
-       version = "3.5.1";
-       sha256 = "17f5ede28961ab5dddff7643a3c4bc82b5f68fc47f4671f758a85840c606d7a4";
+       version = "3.7.0";
+       sha256 = "1d9f2ef4df9d031422b0ad887bcb3bbea041f61e8b105a583e6496168cea83f7";
        libraryHaskellDepends = [ base enumset ];
        libraryPkgconfigDepends = [ llvm ];
        homepage = "http://haskell.org/haskellwiki/LLVM";
        description = "FFI bindings to the LLVM compiler toolkit";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (self.llvmPackages) llvm;};
+     }) {"llvm" = null;};
+
+  "llvm-ffi-tools" = callPackage
+    ({ mkDerivation, base, bytestring, containers, regex-posix
+     , utility-ht
+     }:
+     mkDerivation {
+       pname = "llvm-ffi-tools";
+       version = "0.0";
+       sha256 = "fd8042f38772b64f0a0b6df48c92e5ff46546a57252e5e9234b7b3fb9d518ea2";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring containers regex-posix utility-ht
+       ];
+       homepage = "http://haskell.org/haskellwiki/LLVM";
+       description = "Tools for maintaining the llvm-ffi package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
 
   "llvm-general" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, HUnit
@@ -110075,14 +110715,13 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-pkg-config";
-       version = "0.0.0.1";
-       sha256 = "557be5a87569fe41ce009e4ed8ad49d4ab3f0c5cdf3239ce9dc8313790892f0a";
+       version = "0.0.1";
+       sha256 = "3913c3214ee56bf5bdd6b0a721eed7fd49f335374f32f7f4ed7670ab549bddfa";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base Cabal explicit-exception process transformers utility-ht
        ];
-       jailbreak = true;
        description = "Generate Pkg-Config configuration file for LLVM";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -110125,18 +110764,19 @@ self: {
      }) {};
 
   "llvm-tf" = callPackage
-    ({ mkDerivation, base, containers, fixed-length, llvm-ffi
+    ({ mkDerivation, base, containers, enumset, fixed-length, llvm-ffi
      , non-empty, process, storable-record, tfp, transformers
      , utility-ht
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "3.0.3.2";
-       sha256 = "d2ddc2b15e48a241f43ff220d453839750c9c462f523b941c22fcff35ba3a02f";
+       version = "3.0.3.3";
+       sha256 = "865822db0079228ac904fd5bf7074ad2433f353c3c87eb0fff3b38f42b812e30";
        libraryHaskellDepends = [
-         base containers fixed-length llvm-ffi non-empty process
+         base containers enumset fixed-length llvm-ffi non-empty process
          storable-record tfp transformers utility-ht
        ];
+       jailbreak = true;
        description = "Bindings to the LLVM compiler toolkit using type families";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -110872,6 +111512,51 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "lol-calculus" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, haskeline
+     , mtl, parsec, text, text-format, transformers
+     }:
+     mkDerivation {
+       pname = "lol-calculus";
+       version = "1.20160822";
+       sha256 = "06bda58d895274d2786d1b20fe5903d2788d5735903c6c0db4ab8f447ddf60af";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers parsec text text-format transformers
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath haskeline mtl parsec text
+         text-format transformers
+       ];
+       description = "Calculus for LOL (λω language)";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
+  "lol-typing" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , ghc-prim, lol-calculus, monad-classes, parsec, tasty, tasty-hunit
+     , text, text-format, transformers, uuagc, uuagc-cabal
+     }:
+     mkDerivation {
+       pname = "lol-typing";
+       version = "1.20160822";
+       sha256 = "23dc43a7cc9a742da3c335b4b68118b46e9d9afc868ac929f077cdbb35e1538b";
+       setupHaskellDepends = [ base Cabal uuagc uuagc-cabal ];
+       libraryHaskellDepends = [
+         base containers ghc-prim lol-calculus monad-classes parsec text
+         text-format transformers uuagc uuagc-cabal
+       ];
+       testHaskellDepends = [
+         base containers directory filepath ghc-prim lol-calculus
+         monad-classes tasty tasty-hunit text text-format transformers
+       ];
+       jailbreak = true;
+       homepage = "http://pad.autogeree.net/informatique/lol/";
+       description = "Type inferencer for LOL (λω language)";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "loli" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default, hack
      , hack-contrib, mps, mtl, template, utf8-string
@@ -111121,11 +111806,9 @@ self: {
          polynomials-bernstein process reflection text typography-geometry
          vector
        ];
-       jailbreak = true;
        description = "An EDSL for diagrams based based on linear constraints";
        license = stdenv.lib.licenses.agpl3;
-       broken = true;
-     }) {gasp = null;};
+     }) {};
 
   "lp-diagrams-svg" = callPackage
     ({ mkDerivation, base, containers, FontyFruity, gasp, JuicyPixels
@@ -111140,11 +111823,9 @@ self: {
          base containers FontyFruity gasp JuicyPixels lens linear
          lp-diagrams lucid-svg mtl optparse-applicative svg-tree text vector
        ];
-       jailbreak = true;
        description = "SVG Backend for lp-diagrams";
        license = "GPL";
-       broken = true;
-     }) {gasp = null;};
+     }) {};
 
   "lrucache" = callPackage
     ({ mkDerivation, base, containers, contravariant }:
@@ -111321,8 +112002,8 @@ self: {
      }:
      mkDerivation {
        pname = "ltiv1p1";
-       version = "1.0.0.1";
-       sha256 = "76a0bb0a2206225007a9cbf9524518e5a64b15f17d8ca0c9552a5a4908926e7d";
+       version = "1.0.0.2";
+       sha256 = "d51a7723a205b344b15a153de8baf463d31c23275891691613b13fe2dc9de24c";
        libraryHaskellDepends = [
          authenticate-oauth base blaze-builder bytestring containers
          data-default http-client http-types random text time transformers
@@ -113347,8 +114028,8 @@ self: {
      }:
      mkDerivation {
        pname = "mars";
-       version = "0.1.0.0";
-       sha256 = "3154d125ab96dcb6fc23685ca35483d622e8e6ff02e5564df570eb3cfed80ae9";
+       version = "0.2.0.0";
+       sha256 = "070993003d162fa6e76cf38a0976fa821a3072cf792a0415759f89003209fa96";
        libraryHaskellDepends = [
          array base bytestring colour gloss MonadRandom mtl random
        ];
@@ -114530,7 +115211,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "mersenne-random-pure64" = callPackage
+  "mersenne-random-pure64_0_2_0_5" = callPackage
     ({ mkDerivation, base, old-time, random }:
      mkDerivation {
        pname = "mersenne-random-pure64";
@@ -114540,6 +115221,19 @@ self: {
        homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
        description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "mersenne-random-pure64" = callPackage
+    ({ mkDerivation, base, random, time }:
+     mkDerivation {
+       pname = "mersenne-random-pure64";
+       version = "0.2.1.0";
+       sha256 = "0f2b3eb57e53e3057598bb0c026f16143dbc73b1237bc45d69a9a9ec64f6904f";
+       libraryHaskellDepends = [ base random time ];
+       homepage = "http://code.haskell.org/~dons/code/mersenne-random-pure64/";
+       description = "Generate high quality pseudorandom numbers purely using a Mersenne Twister";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "messagepack" = callPackage
@@ -116407,6 +117101,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "mollie-api-haskell" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, HsOpenSSL, http-client
+     , http-client-openssl, http-types, mtl, text, time
+     }:
+     mkDerivation {
+       pname = "mollie-api-haskell";
+       version = "0.1.0.1";
+       sha256 = "a23421f8c7a8c3ed21f8742a8ec5072c7381e4d3e65c3c4ebf30e5fa7e2f5a20";
+       libraryHaskellDepends = [
+         aeson base bytestring HsOpenSSL http-client http-client-openssl
+         http-types mtl text time
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/paramanders/mollie-api-haskell";
+       description = "Mollie API client for Haskell http://www.mollie.com";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "monad-abort-fd" = callPackage
     ({ mkDerivation, base, monad-control, mtl, transformers
      , transformers-abort, transformers-base
@@ -118160,7 +118872,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "morte" = callPackage
+  "morte_1_6_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, containers, deepseq
      , Earley, http-client, http-client-tls, microlens, microlens-mtl
      , mtl, optparse-applicative, pipes, QuickCheck, system-fileio
@@ -118186,6 +118898,65 @@ self: {
        ];
        description = "A bare-bones calculus of constructions";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "morte" = callPackage
+    ({ mkDerivation, alex, array, base, binary, containers, deepseq
+     , Earley, http-client, http-client-tls, microlens, microlens-mtl
+     , mtl, optparse-applicative, pipes, QuickCheck, system-fileio
+     , system-filepath, tasty, tasty-hunit, tasty-quickcheck, text
+     , text-format, transformers
+     }:
+     mkDerivation {
+       pname = "morte";
+       version = "1.6.2";
+       sha256 = "277ba41cc40236a8a02dd154d29108ddc9d8ca7706daa5fe3177189487363b5a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary containers deepseq Earley http-client
+         http-client-tls microlens microlens-mtl pipes system-fileio
+         system-filepath text text-format transformers
+       ];
+       libraryToolDepends = [ alex ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       testHaskellDepends = [
+         base mtl QuickCheck system-filepath tasty tasty-hunit
+         tasty-quickcheck text transformers
+       ];
+       description = "A bare-bones calculus of constructions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "morte_1_6_4" = callPackage
+    ({ mkDerivation, alex, array, base, binary, containers, deepseq
+     , Earley, http-client, http-client-tls, microlens, microlens-mtl
+     , mtl, optparse-applicative, pipes, QuickCheck, system-fileio
+     , system-filepath, tasty, tasty-hunit, tasty-quickcheck, text
+     , text-format, transformers
+     }:
+     mkDerivation {
+       pname = "morte";
+       version = "1.6.4";
+       sha256 = "8066f8a4092d3fee6fc67bb361bee0a71dc59f9bb38bb81e4d85d9f799076598";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary containers deepseq Earley http-client
+         http-client-tls microlens microlens-mtl pipes system-fileio
+         system-filepath text text-format transformers
+       ];
+       libraryToolDepends = [ alex ];
+       executableHaskellDepends = [ base optparse-applicative text ];
+       testHaskellDepends = [
+         base mtl QuickCheck system-filepath tasty tasty-hunit
+         tasty-quickcheck text transformers
+       ];
+       jailbreak = true;
+       description = "A bare-bones calculus of constructions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mosaico-lib" = callPackage
@@ -120031,27 +120802,30 @@ self: {
 
   "mysql-haskell" = callPackage
     ({ mkDerivation, base, binary, blaze-textual, bytestring
-     , bytestring-lexing, cryptonite, io-streams, memory, monad-loops
-     , network, scientific, tasty, tasty-hunit, tcp-streams, text, time
-     , tls, transformers, wire-streams, word24
+     , bytestring-lexing, cryptonite, HsOpenSSL, io-streams, memory
+     , monad-loops, network, openssl, optparse-applicative, scientific
+     , tasty, tasty-hunit, tcp-streams, text, time, tls, wire-streams
+     , word24
      }:
      mkDerivation {
        pname = "mysql-haskell";
-       version = "0.1.0.0";
-       sha256 = "3367dd2735ee81268d6c02da7a9588374258f8ec9eb860f71d74ead2ccd2b735";
+       version = "0.4.0.0";
+       sha256 = "44cdd2fa3e897cd90667a60d63e408beca0acfcf83be134a49236db6ee809914";
        libraryHaskellDepends = [
          base binary blaze-textual bytestring bytestring-lexing cryptonite
-         io-streams memory monad-loops network scientific tcp-streams text
-         time tls transformers wire-streams word24
+         HsOpenSSL io-streams memory monad-loops network scientific
+         tcp-streams text time tls wire-streams word24
        ];
+       librarySystemDepends = [ openssl ];
        testHaskellDepends = [
-         base bytestring io-streams tasty tasty-hunit text time
+         base bytestring io-streams optparse-applicative tasty tasty-hunit
+         text time
        ];
        jailbreak = true;
        homepage = "https://github.com/winterland1989/mysql-haskell";
        description = "pure haskell MySQL driver";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+     }) {inherit (pkgs) openssl;};
 
   "mysql-simple" = callPackage
     ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
@@ -121052,8 +121826,8 @@ self: {
      }:
      mkDerivation {
        pname = "nested-routes";
-       version = "7.2.0";
-       sha256 = "a9d15f4f1c98add0f91ec50102d088bf24e27b7a58a3d9984feb71ed58bea037";
+       version = "7.2.1";
+       sha256 = "f2a813bccfb40ea242c2787ee85ab02fed43a2a7d2644509066c66fc939472ed";
        libraryHaskellDepends = [
          attoparsec base bytestring composition-extra errors exceptions
          hashable hashtables mtl poly-arity pred-set pred-trie regex-compat
@@ -124003,20 +124777,22 @@ self: {
 
   "octane" = callPackage
     ({ mkDerivation, aeson, base, bimap, binary, binary-bits
-     , bytestring, containers, data-binary-ieee754, deepseq, doctest
-     , file-embed, http-client, http-client-tls, regex-compat, tasty
-     , tasty-hspec, text, unordered-containers, vector
+     , bytestring, containers, data-binary-ieee754, data-default-class
+     , deepseq, doctest, file-embed, http-client, http-client-tls
+     , overloaded-records, regex-compat, tasty, tasty-hspec, text
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "octane";
-       version = "0.13.4";
-       sha256 = "ac1e3afab893ae0cf5c134640b6b825a833a6fc6226e8f607be1ff53203a2005";
+       version = "0.14.0";
+       sha256 = "4e51bd02cfe07791d0fc413c26ace571b945ba8d49c14f4ad4355ca791162d3c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 deepseq file-embed http-client http-client-tls
-         regex-compat text unordered-containers vector
+         data-binary-ieee754 data-default-class deepseq file-embed
+         http-client http-client-tls overloaded-records regex-compat text
+         unordered-containers vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest tasty tasty-hspec ];
@@ -124347,6 +125123,25 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "ombra" = callPackage
+    ({ mkDerivation, base, gl, hashable, hashtables, transformers
+     , unordered-containers, vect, vector
+     }:
+     mkDerivation {
+       pname = "ombra";
+       version = "0.1.0.0";
+       sha256 = "2d89e1b8630c71973aa69c2aa8ea7c52367705f4661d37b8f68528c9377def93";
+       revision = "1";
+       editedCabalFile = "ce10c9b1257110bbfec5edbd403abe27e43dfa7a7cdf7d62890530a5ace21376";
+       libraryHaskellDepends = [
+         base gl hashable hashtables transformers unordered-containers vect
+         vector
+       ];
+       homepage = "https://github.com/ziocroc/Ombra";
+       description = "Render engine";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "omega" = callPackage
     ({ mkDerivation, array, base, containers, directory, filepath
      , pretty, time
@@ -125721,6 +126516,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-generic_1_1_3" = callPackage
+    ({ mkDerivation, base, bytestring, optparse-applicative
+     , system-filepath, text, time, transformers, void
+     }:
+     mkDerivation {
+       pname = "optparse-generic";
+       version = "1.1.3";
+       sha256 = "aa999234f55296f2c82a05f2ba9e7e418065ae60c826569e6590f021be7321a0";
+       libraryHaskellDepends = [
+         base bytestring optparse-applicative system-filepath text time
+         transformers void
+       ];
+       description = "Auto-generate a command-line parser for your datatype";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-helper" = callPackage
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
@@ -126803,13 +127615,13 @@ self: {
   "pandoc-crossref" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-accessor
      , data-accessor-template, data-accessor-transformers, data-default
-     , hspec, mtl, pandoc, pandoc-types, process, roman-numerals, syb
-     , template-haskell, yaml
+     , directory, filepath, hspec, mtl, pandoc, pandoc-types, process
+     , roman-numerals, syb, template-haskell, yaml
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.2.2.1";
-       sha256 = "85da5dff663b578367ed75dcd71d8273a9cd92e8ae4a907ff0b83694d8417abd";
+       version = "0.2.3.0";
+       sha256 = "b6b4200023da4835cf50a2c9a247a837282ccf16e1684336b5a15d17b9ad085e";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -126823,8 +127635,9 @@ self: {
        ];
        testHaskellDepends = [
          base bytestring containers data-accessor data-accessor-template
-         data-accessor-transformers data-default hspec mtl pandoc
-         pandoc-types process roman-numerals syb template-haskell yaml
+         data-accessor-transformers data-default directory filepath hspec
+         mtl pandoc pandoc-types process roman-numerals syb template-haskell
+         yaml
        ];
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
@@ -126942,7 +127755,7 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
-  "pandoc-types" = callPackage
+  "pandoc-types_1_16_1" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, deepseq
      , ghc-prim, syb
      }:
@@ -126956,6 +127769,23 @@ self: {
        homepage = "http://johnmacfarlane.net/pandoc";
        description = "Types for representing a structured document";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pandoc-types" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, deepseq
+     , ghc-prim, syb
+     }:
+     mkDerivation {
+       pname = "pandoc-types";
+       version = "1.16.1.1";
+       sha256 = "f8feb3aef9adc16e7a81d4fd4548e5a142366c59a826272f9b04a9dddbfb9524";
+       libraryHaskellDepends = [
+         aeson base bytestring containers deepseq ghc-prim syb
+       ];
+       homepage = "http://johnmacfarlane.net/pandoc";
+       description = "Types for representing a structured document";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "pandoc-unlit" = callPackage
@@ -130223,6 +131053,30 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "pi-forall" = callPackage
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , HUnit, mtl, parsec, pretty, QuickCheck, transformers
+     , unbound-generics
+     }:
+     mkDerivation {
+       pname = "pi-forall";
+       version = "0.1.1";
+       sha256 = "c3b736d069854ad0d3126fae42cb398dd6c23c4659ffbbd929dd5cc03e76a540";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base containers directory filepath HUnit mtl parsec pretty
+         QuickCheck transformers unbound-generics
+       ];
+       executableHaskellDepends = [
+         array base containers directory filepath HUnit mtl parsec pretty
+         QuickCheck transformers unbound-generics
+       ];
+       homepage = "https://github.com/sweirich/pi-forall";
+       description = "Demo implementation of typechecker for dependently-typed language";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pia-forward" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, directory
      , filepath, http-client, http-client-tls, network-info, process
@@ -130476,8 +131330,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinchot";
-       version = "0.20.0.0";
-       sha256 = "704dcc99baf5cb62836696cdf66d785b7e9d103511a616734329844c1b0e669e";
+       version = "0.22.0.0";
+       sha256 = "248a9e9108d5e12afd4da1aa5bc6bc8d2e732257da318c60bb225844edb88617";
        libraryHaskellDepends = [
          base containers Earley lens ListLike non-empty-sequence pretty-show
          semigroups template-haskell transformers
@@ -131023,7 +131877,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pipes-http" = callPackage
+  "pipes-http_1_0_3" = callPackage
     ({ mkDerivation, base, bytestring, http-client, http-client-tls
      , pipes
      }:
@@ -131036,6 +131890,22 @@ self: {
        ];
        description = "HTTP client with pipes interface";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "pipes-http" = callPackage
+    ({ mkDerivation, base, bytestring, http-client, http-client-tls
+     , pipes
+     }:
+     mkDerivation {
+       pname = "pipes-http";
+       version = "1.0.4";
+       sha256 = "f5cff84b9f415f1a65dbe04837884793fa10b1b52e96b29d52987b820c5a0216";
+       libraryHaskellDepends = [
+         base bytestring http-client http-client-tls pipes
+       ];
+       description = "HTTP client with pipes interface";
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "pipes-illumina" = callPackage
@@ -132376,8 +133246,8 @@ self: {
     ({ mkDerivation, base, containers, hspec, lens, mtl }:
      mkDerivation {
        pname = "polar-shader";
-       version = "0.1.0.4";
-       sha256 = "7f19c299d8e8c1672f6d98a475bfe969feefc8f862c47c39c2088de6ebfe12d4";
+       version = "0.2.0.0";
+       sha256 = "a251680f9d717394cb91e758d51ab8a69889be619325aff378d80b21742867f5";
        libraryHaskellDepends = [ base containers lens mtl ];
        testHaskellDepends = [ base containers hspec ];
        description = "High-level shader compiler for Polar Game Engine";
@@ -133299,6 +134169,7 @@ self: {
          quickcheck-assertions quickcheck-instances tasty tasty-hunit
          tasty-quickcheck tasty-th text time
        ];
+       doCheck = false;
        homepage = "https://bitbucket.org/s9gf4ult/postgresql-query";
        description = "Sql interpolating quasiquote plus some kind of primitive ORM using it";
        license = stdenv.lib.licenses.bsd3;
@@ -133354,23 +134225,23 @@ self: {
 
   "postgresql-simple-bind" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, case-conversion
-     , heredoc, HUnit, postgresql-simple, template-haskell, text, time
+     , data-default, exceptions, heredoc, hspec, postgresql-simple
+     , template-haskell, text, time
      }:
      mkDerivation {
        pname = "postgresql-simple-bind";
-       version = "0.1.0.0";
-       sha256 = "179b91ff7bc98ba3c818a8b8d181c20d607c198344afc3916abd7cf8fb598371";
+       version = "0.2.0.0";
+       sha256 = "9e9f91c1b8b41ad19ebd01416435007e847560e840f62e4d5187185d051936fb";
        libraryHaskellDepends = [
-         attoparsec base bytestring heredoc postgresql-simple
-         template-haskell text time
+         attoparsec base bytestring data-default exceptions heredoc
+         postgresql-simple template-haskell text time
        ];
        testHaskellDepends = [
-         attoparsec base bytestring case-conversion HUnit postgresql-simple
-         text
+         attoparsec base bytestring case-conversion data-default hspec
+         postgresql-simple text
        ];
-       jailbreak = true;
        description = "A FFI-like bindings for PostgreSQL stored functions";
-       license = stdenv.lib.licenses.gpl3;
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -133380,8 +134251,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-migration";
-       version = "0.1.5.0";
-       sha256 = "c45e5467c384498dc07ca9e96578ea69781a899f92c53f19fb7024d6d98aa06e";
+       version = "0.1.6.0";
+       sha256 = "f67d4d14970ca4310939238cd1b483a6cd427766384e1b6b4fdf69abd9117e15";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133393,7 +134264,6 @@ self: {
          postgresql-simple text time
        ];
        testHaskellDepends = [ base bytestring hspec postgresql-simple ];
-       jailbreak = true;
        homepage = "https://github.com/ameingast/postgresql-simple-migration";
        description = "PostgreSQL Schema Migrations";
        license = stdenv.lib.licenses.bsd3;
@@ -133833,6 +134703,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "predictive" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "predictive";
+       version = "0.1.0";
+       sha256 = "20aeaca3fde85e13d9421d85377c1560725b968ac5f633a2540fe93ff2a23158";
+       libraryHaskellDepends = [ base containers ];
+       homepage = "https://github.com/esoeylemez/predictive";
+       description = "Predict the future, backtrack on failure";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "prednote" = callPackage
     ({ mkDerivation, base, bytestring, containers, contravariant
      , QuickCheck, rainbow, split, tasty, tasty-quickcheck, tasty-th
@@ -136502,51 +137384,6 @@ self: {
   "purescript" = callPackage
     ({ mkDerivation, aeson, aeson-better-errors, ansi-terminal
      , ansi-wl-pprint, base, base-compat, bower-json, boxes, bytestring
-     , containers, directory, dlist, edit-distance, filepath, fsnotify
-     , Glob, haskeline, hspec, hspec-discover, http-types, HUnit
-     , language-javascript, lifted-base, monad-control, monad-logger
-     , mtl, network, optparse-applicative, parallel, parsec
-     , pattern-arrows, pipes, pipes-http, process, regex-tdfa, safe
-     , semigroups, silently, sourcemap, spdx, split, stm, syb, text
-     , time, transformers, transformers-base, transformers-compat
-     , unordered-containers, utf8-string, vector
-     }:
-     mkDerivation {
-       pname = "purescript";
-       version = "0.9.1";
-       sha256 = "72a4c9148a5d6b6ec2650185be7b8aa6a43a089d73037f870babd0ded9a5d0e7";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-better-errors ansi-terminal base base-compat bower-json
-         boxes bytestring containers directory dlist edit-distance filepath
-         fsnotify Glob haskeline http-types language-javascript lifted-base
-         monad-control monad-logger mtl parallel parsec pattern-arrows pipes
-         pipes-http process regex-tdfa safe semigroups sourcemap spdx split
-         stm syb text time transformers transformers-base
-         transformers-compat unordered-containers utf8-string vector
-       ];
-       executableHaskellDepends = [
-         aeson ansi-terminal ansi-wl-pprint base base-compat boxes
-         bytestring containers directory filepath Glob haskeline
-         monad-logger mtl network optparse-applicative parsec process split
-         stm text time transformers transformers-compat utf8-string
-       ];
-       testHaskellDepends = [
-         aeson aeson-better-errors base base-compat boxes bytestring
-         containers directory filepath Glob haskeline hspec hspec-discover
-         HUnit mtl optparse-applicative parsec process silently stm text
-         time transformers transformers-compat utf8-string vector
-       ];
-       doCheck = false;
-       homepage = "http://www.purescript.org/";
-       description = "PureScript Programming Language Compiler";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "purescript_0_9_3" = callPackage
-    ({ mkDerivation, aeson, aeson-better-errors, ansi-terminal
-     , ansi-wl-pprint, base, base-compat, bower-json, boxes, bytestring
      , clock, containers, directory, dlist, edit-distance, file-embed
      , filepath, fsnotify, Glob, haskeline, hspec, hspec-discover
      , http-client, http-types, HUnit, language-javascript, lifted-base
@@ -136586,10 +137423,10 @@ self: {
          HUnit mtl optparse-applicative parsec process protolude silently
          stm text time transformers transformers-compat utf8-string vector
        ];
+       doCheck = false;
        homepage = "http://www.purescript.org/";
        description = "PureScript Programming Language Compiler";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "purescript-bridge" = callPackage
@@ -136598,8 +137435,8 @@ self: {
      }:
      mkDerivation {
        pname = "purescript-bridge";
-       version = "0.6.0.2";
-       sha256 = "821c1376f642e7721ce2076726013e18e01cec8dafbe916dad8baaede9f80ed5";
+       version = "0.7.0.0";
+       sha256 = "f80ddb4a613614b775e7636cbb92755a938ffa7b0b6093cfded3d5487bf79e7b";
        libraryHaskellDepends = [
          base containers directory filepath generic-deriving lens mtl text
          transformers
@@ -137226,6 +138063,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {qtah = null; inherit (pkgs.qt5) qtbase;};
 
+  "quack" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, http-types, mtl, text }:
+     mkDerivation {
+       pname = "quack";
+       version = "0.0.0.1";
+       sha256 = "86a7aae649a3c81bea6ccf368a13d75deddf11efd850580e28c92ede55cee8a3";
+       libraryHaskellDepends = [
+         aeson attoparsec base http-types mtl text
+       ];
+       description = "Convenience parser combinators for URI query strings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "quadratic-irrational" = callPackage
     ({ mkDerivation, arithmoi, base, containers, directory, doctest
      , filepath, mtl, numbers, QuickCheck, tasty, tasty-quickcheck
@@ -137503,8 +138353,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-arbitrary-adt";
-       version = "0.1.0.0";
-       sha256 = "d28cafb8aadeb8931076e3ba2565e9bcc1bbb51f57d54f301e3b524f83931e80";
+       version = "0.2.0.0";
+       sha256 = "d9998dbfa2785f29164c0bdc345b2ffaed630dd5bfb1bdbaa3b0e13e0724c0db";
        libraryHaskellDepends = [ base QuickCheck ];
        testHaskellDepends = [
          base hspec lens QuickCheck template-haskell transformers
@@ -139087,6 +139937,22 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "rdf" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, deepseq, dlist, fgl
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "rdf";
+       version = "0.1.0.0";
+       sha256 = "b18dac5e3a4465a0f24eafb03deb2cdbf9de8deaf7713e565408c52e9fe5b37a";
+       libraryHaskellDepends = [
+         attoparsec base bytestring deepseq dlist fgl text transformers
+       ];
+       homepage = "https://github.com/traviswhitaker/rdf";
+       description = "Representation and Incremental Processing of RDF Data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "rdf4h" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, deepseq
      , directory, fgl, hashable, hgal, HTTP, HUnit, hxt, network
@@ -142647,6 +143513,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rest-gen_0_20_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, blaze-html, Cabal
+     , code-builder, directory, fclabels, filepath, hashable
+     , haskell-src-exts, HStringTemplate, HUnit, hxt, json-schema
+     , pretty, process, rest-core, safe, scientific, semigroups, split
+     , test-framework, test-framework-hunit, text, uniplate
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "rest-gen";
+       version = "0.20.0.0";
+       sha256 = "81a9486136f91773371858f9d3e248b80458e7d55aab11f17cc158c3ce68d542";
+       libraryHaskellDepends = [
+         aeson base base-compat blaze-html Cabal code-builder directory
+         fclabels filepath hashable haskell-src-exts HStringTemplate hxt
+         json-schema pretty process rest-core safe scientific semigroups
+         split text uniplate unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base fclabels haskell-src-exts HUnit rest-core test-framework
+         test-framework-hunit
+       ];
+       jailbreak = true;
+       description = "Documentation and client generation from rest definition";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rest-happstack" = callPackage
     ({ mkDerivation, base, containers, happstack-server, mtl, rest-core
      , rest-gen, utf8-string
@@ -142655,6 +143549,8 @@ self: {
        pname = "rest-happstack";
        version = "0.3.1.1";
        sha256 = "794f06eb2c96b995397e21f4578bd7094a20334f43883e97af81dbe60b394ff6";
+       revision = "1";
+       editedCabalFile = "a8e6fd0f4e8090876b1770ceb55397d9a33f1d7706d52a9781e577fd913f4eac";
        libraryHaskellDepends = [
          base containers happstack-server mtl rest-core rest-gen utf8-string
        ];
@@ -142793,6 +143689,19 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {};
 
+  "result" = callPackage
+    ({ mkDerivation, base, bifunctors, keys, semigroups }:
+     mkDerivation {
+       pname = "result";
+       version = "0.2.2.0";
+       sha256 = "9807a72c07467c617a27bf5a7c4ebae6e1732cba6a767d934edb9b7435e26e51";
+       libraryHaskellDepends = [ base bifunctors keys semigroups ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/srijs/haskell-result";
+       description = "Encode success or at least one error";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "resumable-exceptions" = callPackage
     ({ mkDerivation, base, mtl }:
      mkDerivation {
@@ -146634,8 +147543,8 @@ self: {
      }:
      mkDerivation {
        pname = "scrape-changes";
-       version = "0.1.0.2";
-       sha256 = "5a5d38ee976fd528167c84bce3bcbbf842a8ac4142a587872f1ac7e60a9e5e5d";
+       version = "0.1.0.3";
+       sha256 = "adc2e84e97cdc4c4cca7012be5be61683e55c4ba2bb539dd2dfe75cda1a3f4e7";
        libraryHaskellDepends = [
          async attoparsec base bytestring cron directory email-validate
          filepath hashable hslogger http-client lens mime-mail network-uri
@@ -146646,7 +147555,6 @@ self: {
          shakespeare test-framework test-framework-hunit
          test-framework-quickcheck2 text validation
        ];
-       jailbreak = true;
        description = "Scrape websites for changes";
        license = stdenv.lib.licenses.gpl3;
      }) {};
@@ -148078,8 +148986,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-aeson-specs";
-       version = "0.4";
-       sha256 = "7a409bb60daedd077575f5c8f8d300660131c2d5dfed2c4c7b0808d1bf9cb56a";
+       version = "0.4.1";
+       sha256 = "659294fbc3e56202ff886b96f72ea6d3aeb8e6b083e17e9d48e57485ef5eb058";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring directory filepath hspec
          QuickCheck random servant
@@ -148089,7 +148997,6 @@ self: {
          hspec-core mockery QuickCheck quickcheck-instances random servant
          silently string-conversions temporary text
        ];
-       jailbreak = true;
        homepage = "https://github.com/plow-technologies/servant-aeson-specs#readme";
        description = "generic tests for aeson serialization in servant";
        license = stdenv.lib.licenses.mit;
@@ -148105,8 +149012,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.3.0.3";
-       sha256 = "50b7a4e28ccd95169f1eb0159c302ea517c68cf35f57507ea59a2dea8ddc4474";
+       version = "0.3.1";
+       sha256 = "fe4b1fe4948d1368ece446695b406170e5e049f8b7818e8d35c7bd7ffc5c4f1d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -148565,15 +149472,18 @@ self: {
      }) {};
 
   "servant-matrix-param" = callPackage
-    ({ mkDerivation, base, doctest, hspec, servant, servant-aeson-specs
+    ({ mkDerivation, aeson, base, bytestring, containers, doctest
+     , hspec, http-types, servant, servant-aeson-specs, servant-server
+     , text, transformers, wai, wai-extra
      }:
      mkDerivation {
        pname = "servant-matrix-param";
-       version = "0.1.0.1";
-       sha256 = "eedf69940d621282b42eb3f06474851a4903fdaa29c399f3747426c8474ebeb9";
+       version = "0.2";
+       sha256 = "22e8bc5a2109066c26ec2bca18bd349509cfe8cd35ff7507bd6f2536f9544bd0";
        libraryHaskellDepends = [ base servant ];
        testHaskellDepends = [
-         base doctest hspec servant servant-aeson-specs
+         aeson base bytestring containers doctest hspec http-types servant
+         servant-aeson-specs servant-server text transformers wai wai-extra
        ];
        jailbreak = true;
        description = "Matrix parameter combinator for servant";
@@ -148707,6 +149617,7 @@ self: {
          aeson base containers lens mainland-pretty purescript-bridge
          servant servant-foreign servant-subscriber text
        ];
+       jailbreak = true;
        homepage = "https://github.com/eskimor/servant-purescript#readme";
        description = "Generate PureScript accessor functions for you servant API";
        license = stdenv.lib.licenses.bsd3;
@@ -148912,6 +149823,7 @@ self: {
          wai-websockets warp websockets
        ];
        executableHaskellDepends = [ base purescript-bridge ];
+       jailbreak = true;
        homepage = "http://github.com/eskimor/servant-subscriber#readme";
        description = "When REST is not enough ...";
        license = stdenv.lib.licenses.bsd3;
@@ -148973,23 +149885,26 @@ self: {
     ({ mkDerivation, aeson, base, base-compat, blaze-markup, bytestring
      , directory, file-embed, filepath, http-media, lens, servant
      , servant-blaze, servant-server, servant-swagger, swagger2
-     , template-haskell, text, wai, wai-app-static, warp
+     , template-haskell, text, transformers, transformers-compat, wai
+     , wai-app-static, warp
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.1.1.2.1.4";
-       sha256 = "45d27f6e92207422937cfc865c9e0a5aa32596282a134a9196f1248fe15496e4";
+       version = "0.2.0.2.1.5";
+       sha256 = "57fa0b9d8a46482051f3e2bcab7c513adec07450b3fb6bb00281758f99922d57";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
-         swagger2 template-haskell text wai-app-static
+         swagger2 template-haskell text transformers transformers-compat
+         wai-app-static
        ];
        testHaskellDepends = [
          aeson base base-compat blaze-markup bytestring directory file-embed
          filepath http-media lens servant servant-blaze servant-server
-         servant-swagger swagger2 template-haskell text wai wai-app-static
-         warp
+         servant-swagger swagger2 template-haskell text transformers
+         transformers-compat wai wai-app-static warp
        ];
+       doCheck = false;
        homepage = "https://github.com/phadej/servant-swagger-ui#readme";
        description = "Servant swagger ui";
        license = stdenv.lib.licenses.bsd3;
@@ -153203,8 +154118,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap-server";
-       version = "1.0.0.0";
-       sha256 = "dd92414cf5005f548d54ed246c1de92ce47f7f75e1a160ff31a590f9fa50aa61";
+       version = "1.0.1.0";
+       sha256 = "a398b15e90d2d6bc77af3edf6f5926df7863073a4774c71a46c0adb43c837488";
        configureFlags = [ "-fopenssl" ];
        libraryHaskellDepends = [
          attoparsec base blaze-builder bytestring bytestring-builder
@@ -153455,8 +154370,8 @@ self: {
        pname = "snaplet-fay";
        version = "0.3.3.13";
        sha256 = "39810748b7177b45a0fab785e48ac497d81587e48dde9dc8ad75e8d704bdda3f";
-       revision = "2";
-       editedCabalFile = "43c3a484e0e34f13bf2f372850d33b98de9d8057fd33e9d79be0fcc0a5013559";
+       revision = "3";
+       editedCabalFile = "9c0c70fba7d28449f5e2d2aa6612466aac98b4416a63f829adc3012fec9199a2";
        libraryHaskellDepends = [
          aeson base bytestring configurator directory fay filepath mtl snap
          snap-core transformers
@@ -156414,8 +157329,8 @@ self: {
        pname = "stack";
        version = "1.1.2";
        sha256 = "fc836b24fdeac54244fc79b6775d5edee146b7e552ad8e69596c7cc2f2b10625";
-       revision = "7";
-       editedCabalFile = "af269ebe5ac7a096cd4b44af570643c1e48444a4b9eb01dc8f97c8fb53eea55f";
+       revision = "8";
+       editedCabalFile = "0eb7cd69c79c481cd463ccd8e33cc8e03bc79169f084c8f9bf3ef006da7c3a12";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -158613,12 +159528,12 @@ self: {
      }) {};
 
   "strict-data" = callPackage
-    ({ mkDerivation, aeson, base, deepseq, store }:
+    ({ mkDerivation, aeson, base, deepseq }:
      mkDerivation {
        pname = "strict-data";
-       version = "0.1.0.0";
-       sha256 = "b3af392c5efc321a78960624a1f8c32511c5d8ae58822a3b9781ddf20481a6bb";
-       libraryHaskellDepends = [ aeson base deepseq store ];
+       version = "0.1.1.0";
+       sha256 = "d97632137b191064bd377dd0474cf99cf3782065aae6839ea8112c701d8bc3af";
+       libraryHaskellDepends = [ aeson base deepseq ];
        homepage = "https://github.com/agrafix/strict-data#readme";
        description = "Verious useful strict data structures";
        license = stdenv.lib.licenses.bsd3;
@@ -159330,15 +160245,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "stylish-haskell_0_6_2_0" = callPackage
+  "stylish-haskell_0_6_3_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, haskell-src-exts, HUnit, mtl, optparse-applicative
      , strict, syb, test-framework, test-framework-hunit, yaml
      }:
      mkDerivation {
        pname = "stylish-haskell";
-       version = "0.6.2.0";
-       sha256 = "2f4fcef31803e5f671fc65c20c480ebc664d7efb28e757ba4ca27f58811b18ec";
+       version = "0.6.3.0";
+       sha256 = "a285bf678220fa365eec2624192ab36c2f35dd0893d811b7118eff887701bfa2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160037,34 +160952,6 @@ self: {
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.1.1";
-       sha256 = "f492429ea0f3f48b9bc1c164de17e47509b9192e10b4a53d8c1316e97b366918";
-       libraryHaskellDepends = [
-         aeson base base-compat containers generics-sop hashable http-media
-         insert-ordered-containers lens mtl network scientific
-         template-haskell text time transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson aeson-qq base base-compat bytestring containers doctest Glob
-         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
-         text time unordered-containers vector
-       ];
-       doHaddock = false;
-       homepage = "https://github.com/GetShopTV/swagger2";
-       description = "Swagger 2.0 data model";
-       license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
-     }) {};
-
-  "swagger2_2_1_2_1" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, base-compat, bytestring
-     , containers, doctest, generics-sop, Glob, hashable, hspec
-     , http-media, HUnit, insert-ordered-containers, lens, mtl, network
-     , QuickCheck, scientific, template-haskell, text, time
-     , transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "swagger2";
        version = "2.1.2.1";
        sha256 = "112b053db3cbeeeea9c7b43cb0f07a6ea9f73715ac5883b2eee9c2855c444930";
        libraryHaskellDepends = [
@@ -160077,10 +160964,11 @@ self: {
          hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
          text time unordered-containers vector
        ];
+       doHaddock = false;
        homepage = "https://github.com/GetShopTV/swagger2";
        description = "Swagger 2.0 data model";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       hydraPlatforms = [ "x86_64-darwin" "x86_64-linux" ];
      }) {};
 
   "swapper" = callPackage
@@ -161939,6 +162827,22 @@ self: {
        hydraPlatforms = [ "x86_64-darwin" ];
      }) {clntsh = null; sqlplus = null;};
 
+  "tal" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty, transformers
+     , unbound
+     }:
+     mkDerivation {
+       pname = "tal";
+       version = "0.1.0.0";
+       sha256 = "365c63031df56be1f876d7ac7ccb9205008dbbefe62df0660b24494737dd5f11";
+       libraryHaskellDepends = [
+         base containers mtl pretty transformers unbound
+       ];
+       homepage = "https://github.com/sweirich/tal";
+       description = "An implementation of Typed Assembly Language (Morrisett, Walker, Crary, Glew)";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "tamarin-prover" = callPackage
     ({ mkDerivation, aeson, array, base, binary, blaze-builder
      , blaze-html, bytestring, cmdargs, conduit, containers, deepseq
@@ -162205,7 +163109,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "tasty" = callPackage
+  "tasty_0_11_0_3" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, clock, containers
      , deepseq, mtl, optparse-applicative, regex-tdfa, stm, tagged
      , unbounded-delays
@@ -162223,6 +163127,25 @@ self: {
        homepage = "http://documentup.com/feuerbach/tasty";
        description = "Modern and extensible testing framework";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "tasty" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, clock, containers
+     , deepseq, mtl, optparse-applicative, regex-tdfa, stm, tagged
+     , unbounded-delays
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "0.11.0.4";
+       sha256 = "e0e248d50aaa098b2633d51a1c71f3da569ba5d6c0e77e0e39b6c9b7de97fd16";
+       libraryHaskellDepends = [
+         ansi-terminal async base clock containers deepseq mtl
+         optparse-applicative regex-tdfa stm tagged unbounded-delays
+       ];
+       homepage = "http://documentup.com/feuerbach/tasty";
+       description = "Modern and extensible testing framework";
+       license = stdenv.lib.licenses.mit;
      }) {};
 
   "tasty-ant-xml" = callPackage
@@ -162700,25 +163623,26 @@ self: {
 
   "tcp-streams" = callPackage
     ({ mkDerivation, base, bytestring, data-default-class, HsOpenSSL
-     , HsOpenSSL-x509-system, HUnit, io-streams, network, pem
+     , HsOpenSSL-x509-system, HUnit, io-streams, network, openssl, pem
      , QuickCheck, test-framework, test-framework-hunit
      , test-framework-quickcheck2, tls, x509, x509-store, x509-system
      }:
      mkDerivation {
        pname = "tcp-streams";
-       version = "0.3.0.0";
-       sha256 = "850582af5b8020aa30b4593b31be2710fbb28624fa440d01d01dda70058d596a";
+       version = "0.4.0.0";
+       sha256 = "e6ada5a4c34cb8653bd03c5db43229f8f954bc0eda60e8169b4fd1c4156a0824";
        libraryHaskellDepends = [
          base bytestring data-default-class HsOpenSSL HsOpenSSL-x509-system
          io-streams network pem tls x509 x509-store x509-system
        ];
+       librarySystemDepends = [ openssl ];
        testHaskellDepends = [
          base bytestring HUnit io-streams network QuickCheck test-framework
          test-framework-hunit test-framework-quickcheck2
        ];
        description = "One stop solution for tcp client and server with tls support";
        license = stdenv.lib.licenses.bsd3;
-     }) {};
+     }) {inherit (pkgs) openssl;};
 
   "tdd-util" = callPackage
     ({ mkDerivation, base, bytestring, HUnit, lens
@@ -164076,8 +165000,8 @@ self: {
     ({ mkDerivation, base, text, text-format, text-show }:
      mkDerivation {
        pname = "text-all";
-       version = "0.3.0.1";
-       sha256 = "2ffe6420dc2793b2e0ff8b108b4fc04fc76ab3cc562b0007c6c134515247004c";
+       version = "0.3.0.2";
+       sha256 = "1874b6d56a4e31e3754be6d7dadcb3f64dbc86fe473063631a4794f27fa13f85";
        libraryHaskellDepends = [ base text text-format text-show ];
        homepage = "http://github.com/aelve/text-all";
        description = "Everything Data.Text related in one package";
@@ -164495,8 +165419,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show";
-       version = "3.3";
-       sha256 = "a581f42ee24690fd96dd81179b86135e95502b22f2ab41d28f81acfd882d92e6";
+       version = "3.4";
+       sha256 = "ce8a7adcca87617766a4c988808ff41fee20a2c84ac5442d6f3d8c5cec55d7c7";
        libraryHaskellDepends = [
          array base base-compat bifunctors bytestring bytestring-builder
          containers contravariant generic-deriving ghc-boot-th ghc-prim
@@ -164526,8 +165450,8 @@ self: {
      }:
      mkDerivation {
        pname = "text-show-instances";
-       version = "3.3";
-       sha256 = "795d7e22f4ade987293a8b0376ef976822fb7f3383b4e1629566d27c1c4f991c";
+       version = "3.4";
+       sha256 = "bf2e9e4a8ed01481024cce33a611daf52d733527e2ceb2ef2a576cf79ace6322";
        libraryHaskellDepends = [
          base base-compat bifunctors binary bytestring containers directory
          ghc-boot haskeline hoopl hpc old-locale old-time pretty random
@@ -168065,6 +168989,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "treemap" = callPackage
+    ({ mkDerivation, base, containers, deepseq, semigroups, strict
+     , tasty, tasty-hunit, text, transformers
+     }:
+     mkDerivation {
+       pname = "treemap";
+       version = "1.20160814";
+       sha256 = "95aa1f68710aaff75bbd71317f61fe6e47c4f20bdaabfb4be05514f6f841f97f";
+       libraryHaskellDepends = [
+         base containers deepseq semigroups strict transformers
+       ];
+       testHaskellDepends = [
+         base containers semigroups strict tasty tasty-hunit text
+         transformers
+       ];
+       jailbreak = true;
+       description = "A tree of Data.Map.";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "treemap-html" = callPackage
     ({ mkDerivation, base, Cabal, containers, filepath, ghc, html
      , parsec, regex-posix
@@ -169364,8 +170308,8 @@ self: {
      }:
      mkDerivation {
        pname = "twitter-feed";
-       version = "0.2.0.8";
-       sha256 = "e75182594dbd68219902c9ed7bb2a36addf9a8cdb1f456ec4eafef70b57915c4";
+       version = "0.2.0.9";
+       sha256 = "570e20335adce61cddbdefa8f3f01131e44f266fb1970ccbe65d3716fbe72960";
        libraryHaskellDepends = [
          aeson authenticate-oauth base bytestring http-conduit
        ];
@@ -169864,8 +170808,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "type-operators";
-       version = "0.1.0.0";
-       sha256 = "1ed1669c0185a6411eeea83034b6b46f366d57341813006992273b3724c5c2a4";
+       version = "0.1.0.3";
+       sha256 = "ea0b994df588b84679171878ebdc420d20dbfef975d263ff48622ab161057dc2";
        libraryHaskellDepends = [ base ghc-prim ];
        homepage = "https://github.com/Shou/type-operators#readme";
        description = "Various type-level operators";
@@ -170664,6 +171608,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unagi-bloomfilter" = callPackage
+    ({ mkDerivation, atomic-primops, base, bytestring, hashabler
+     , primitive
+     }:
+     mkDerivation {
+       pname = "unagi-bloomfilter";
+       version = "0.1.0.0";
+       sha256 = "19b0a1b8c03cc407177c55ec2b00b83c9ed69e043011aa0c0785509cb828cc6b";
+       libraryHaskellDepends = [
+         atomic-primops base bytestring hashabler primitive
+       ];
+       homepage = "http://github.com/jberryman/unagi-bloomfilter";
+       description = "A fast, cache-efficient, concurrent bloom filter";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unagi-chan" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, ghc-prim
      , primitive
@@ -170718,17 +171678,20 @@ self: {
      }) {};
 
   "unbound" = callPackage
-    ({ mkDerivation, base, binary, containers, mtl, RepLib
-     , transformers
+    ({ mkDerivation, base, binary, containers, mtl, parsec, pretty
+     , QuickCheck, RepLib, template-haskell, transformers
      }:
      mkDerivation {
        pname = "unbound";
-       version = "0.4.4";
-       sha256 = "c6454dd5725bf2a02cc99f74b18fc5b3b1ab9d44dd99d6322e42d8399409eb7e";
+       version = "0.5.0";
+       sha256 = "1290827b7a67d87eaa4dfa8d753e01d98ef0d501ee42da0f9635fdd73b64220e";
        libraryHaskellDepends = [
          base binary containers mtl RepLib transformers
        ];
-       jailbreak = true;
+       testHaskellDepends = [
+         base binary containers mtl parsec pretty QuickCheck RepLib
+         template-haskell transformers
+       ];
        homepage = "https://github.com/sweirich/replib";
        description = "Generic support for programming with names and binders";
        license = stdenv.lib.licenses.bsd3;
@@ -170852,8 +171815,8 @@ self: {
      }:
      mkDerivation {
        pname = "unfoldable";
-       version = "0.8.3";
-       sha256 = "62926d1f12db96468ca2c9c7e55cb63201c62d97c7486ef30a62a910893e2ddd";
+       version = "0.8.4";
+       sha256 = "af86e863625d4ae45820d1942a49de00559e4d4ee25db20610859d0a19cc1683";
        libraryHaskellDepends = [
          base ghc-prim QuickCheck random transformers
        ];
@@ -171938,22 +172901,22 @@ self: {
 
   "unused" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cassava
-     , containers, directory, filepath, hspec, inflections, megaparsec
-     , mtl, optparse-applicative, parallel-io, process, regex-tdfa
-     , terminal-progress-bar, text, transformers, unix
+     , containers, directory, file-embed, filepath, hspec, inflections
+     , megaparsec, mtl, optparse-applicative, parallel-io, process
+     , regex-tdfa, terminal-progress-bar, text, transformers, unix
      , unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "unused";
-       version = "0.6.0.0";
-       sha256 = "ff84730dc03f01e73769abf1a2c0d11b46421a08b13608a4b542b2f9bbdc7f8a";
+       version = "0.6.1.0";
+       sha256 = "763cd92955d6ec154037e10e1332507272d8557abc1b2a2262a354a3c226375f";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-terminal base bytestring cassava containers directory filepath
-         inflections megaparsec mtl parallel-io process regex-tdfa
-         terminal-progress-bar text transformers unix unordered-containers
-         vector yaml
+         ansi-terminal base bytestring cassava containers directory
+         file-embed filepath inflections megaparsec mtl parallel-io process
+         regex-tdfa terminal-progress-bar text transformers unix
+         unordered-containers vector yaml
        ];
        executableHaskellDepends = [
          base mtl optparse-applicative transformers
@@ -172505,7 +173468,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "userid" = callPackage
+  "userid_0_1_2_6" = callPackage
     ({ mkDerivation, aeson, base, boomerang, safecopy, web-routes
      , web-routes-th
      }:
@@ -172522,6 +173485,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "userid" = callPackage
+    ({ mkDerivation, aeson, base, boomerang, safecopy, web-routes
+     , web-routes-th
+     }:
+     mkDerivation {
+       pname = "userid";
+       version = "0.1.2.7";
+       sha256 = "9d8a614cf760556f40ab79f7f733161defd5240219bcd23399756c0589f2dc8c";
+       libraryHaskellDepends = [
+         aeson base boomerang safecopy web-routes web-routes-th
+       ];
+       homepage = "http://www.github.com/Happstack/userid";
+       description = "The UserId type and useful instances for web development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "users" = callPackage
     ({ mkDerivation, aeson, base, bcrypt, path-pieces, text, time }:
      mkDerivation {
@@ -173276,8 +174256,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "validity";
-       version = "0.3.0.1";
-       sha256 = "a70eada6f9a91361cfc13a14c896b272978df57daabbc34b767c18e07d6dcbaa";
+       version = "0.3.0.2";
+       sha256 = "c1d7a91bbcb4c06ebad9149e11f02a1e10bc3617f3835b441d0340230d4d1fef";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "Validity typeclass";
@@ -175663,7 +176643,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "wai-middleware-content-type" = callPackage
+  "wai-middleware-content-type_0_4_0" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, blaze-html, bytestring
      , clay, exceptions, hashable, hspec, hspec-wai, http-media
      , http-types, lucid, mmorph, monad-control, monad-logger, mtl
@@ -175693,6 +176673,37 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wai-middleware-content-type" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, blaze-html, bytestring
+     , clay, exceptions, hashable, hspec, hspec-wai, http-media
+     , http-types, lucid, mmorph, monad-control, monad-logger, mtl
+     , pandoc, pandoc-types, resourcet, shakespeare, tasty, tasty-hspec
+     , text, transformers, transformers-base, unordered-containers
+     , urlpath, wai, wai-transformers, warp
+     }:
+     mkDerivation {
+       pname = "wai-middleware-content-type";
+       version = "0.4.1";
+       sha256 = "99dcd8ae5da77650d31a1cd91d43d93c1a18687cd8947a3ea32cb1424229743e";
+       libraryHaskellDepends = [
+         aeson base blaze-builder blaze-html bytestring clay exceptions
+         hashable http-media http-types lucid mmorph monad-control
+         monad-logger mtl pandoc resourcet shakespeare text transformers
+         transformers-base unordered-containers urlpath wai wai-transformers
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder blaze-html bytestring clay exceptions
+         hashable hspec hspec-wai http-media http-types lucid mmorph
+         monad-control monad-logger mtl pandoc pandoc-types resourcet
+         shakespeare tasty tasty-hspec text transformers transformers-base
+         unordered-containers urlpath wai wai-transformers warp
+       ];
+       doCheck = false;
+       description = "Route to different middlewares based on the incoming Accept header";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-crowd_0_1_4_1" = callPackage
     ({ mkDerivation, authenticate, base, base64-bytestring, binary
      , blaze-builder, bytestring, case-insensitive, clientsession
@@ -176013,8 +177024,8 @@ self: {
      }:
      mkDerivation {
        pname = "wai-middleware-verbs";
-       version = "0.3.0";
-       sha256 = "cfc8b80412a6fe3e4ee4e4828be478d28cdb8aadc063c7c229a44a74a4aa9806";
+       version = "0.3.2";
+       sha256 = "691fa97fda7204d84e1fa8f953334ca51cb1055577a5ec1d56cc5f07491aaa66";
        libraryHaskellDepends = [
          base errors exceptions hashable http-types mmorph monad-logger mtl
          resourcet transformers transformers-base unordered-containers wai
@@ -178488,8 +179499,8 @@ self: {
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.2.7";
-       sha256 = "4e3f8e4e39336d9ef685ade61864e0baab422d5e3f2f8f59e909a6cddf5ca643";
+       version = "0.2.8";
+       sha256 = "a76f54f9274e021787c59f2739a55a74f803576eaa624c506648839dd3b52a8c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -179503,6 +180514,7 @@ self: {
          network optparse-applicative path random simpleirc transformers
          unix-compat
        ];
+       jailbreak = true;
        homepage = "https://github.com/JanGe/xdcc";
        description = "A wget-like utility for retrieving files from XDCC bots on IRC";
        license = stdenv.lib.licenses.mit;
@@ -179510,22 +180522,24 @@ self: {
      }) {};
 
   "xdcc" = callPackage
-    ({ mkDerivation, ascii-progress, base, bytestring, case-insensitive
-     , concurrent-extra, concurrent-output, errors, iproute, irc-ctcp
-     , irc-dcc, lifted-base, network, optparse-applicative, path, random
-     , simpleirc, transformers, unix-compat
+    ({ mkDerivation, ascii-progress, async, base, bytestring
+     , case-insensitive, concurrent-extra, concurrent-output, errors
+     , iproute, irc-client, irc-conduit, irc-ctcp, irc-dcc, lifted-base
+     , network, optparse-applicative, path, random, safe-exceptions, stm
+     , text, text-format, transformers, unix-compat
      }:
      mkDerivation {
        pname = "xdcc";
-       version = "1.0.6";
-       sha256 = "2a28d2c3bd13647b605adb845bb2f377c9be502218d979a52f6ed653050fb1b8";
+       version = "1.1.2";
+       sha256 = "d3268b0e1ffc28dabd33ffdc8c5f2e632b114002b5b3cc1d6836faa2d640b35d";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         ascii-progress base bytestring case-insensitive concurrent-extra
-         concurrent-output errors iproute irc-ctcp irc-dcc lifted-base
-         network optparse-applicative path random simpleirc transformers
-         unix-compat
+         ascii-progress async base bytestring case-insensitive
+         concurrent-extra concurrent-output errors iproute irc-client
+         irc-conduit irc-ctcp irc-dcc lifted-base network
+         optparse-applicative path random safe-exceptions stm text
+         text-format transformers unix-compat
        ];
        homepage = "https://github.com/JanGe/xdcc";
        description = "A wget-like utility for retrieving files from XDCC bots on IRC";
@@ -179592,11 +180606,16 @@ self: {
      }) {};
 
   "xfconf" = callPackage
-    ({ mkDerivation, base, glib, gtk2hs-buildtools, libxfconf-0 }:
+    ({ mkDerivation, base, Cabal, containers, directory, filepath, glib
+     , gtk2hs-buildtools, libxfconf-0
+     }:
      mkDerivation {
        pname = "xfconf";
        version = "4.8.0.0";
        sha256 = "9febbf8349f27fa184c56959a01db2f78176bd534f103f6b1be0bb01b7fac360";
+       revision = "1";
+       editedCabalFile = "ce4bb3ab326d8e4c0a4fc2576045b589305b12f7ca28b79a69fcc367c429d33c";
+       setupHaskellDepends = [ base Cabal containers directory filepath ];
        libraryHaskellDepends = [ base glib ];
        libraryPkgconfigDepends = [ libxfconf-0 ];
        libraryToolDepends = [ gtk2hs-buildtools ];
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index 2841a70ddcf..7c1fe8f2967 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -299,20 +299,13 @@ let
     });
 
 in {
-
-  php55 = generic {
-    version = "5.5.38";
-    sha256 = "0f1y76whg6yx9a18mh97f8yq8lb64ri1f0zfr9la9374nbmq2g27";
-  };
-
   php56 = generic {
-    version = "5.6.24";
-    sha256 = "1iiqmjgxr10ci69f33fzyhplp06km6ybgqmxr1g142pdqdz628xz";
+    version = "5.6.25";
+    sha256 = "1pldn4z7pzcjm8li9xryrniz5cz542cbv4nlrr13wzzdmhr61kjq";
   };
 
   php70 = generic {
-    version = "7.0.9";
-    sha256 = "0yrv5ijw6bgc0ahplczwhl5nm6l5mnd1i2n5023z7wkmb25rdrif";
+    version = "7.0.10";
+    sha256 = "1ppn17n5klhs1b2mcbbxxiqq4xvdbmv8p866q0qnk61nlzjvnmc0";
   };
-
 }
diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix
index 9dc6b9983e6..1f290bf7044 100644
--- a/pkgs/development/libraries/SDL_ttf/default.nix
+++ b/pkgs/development/libraries/SDL_ttf/default.nix
@@ -21,8 +21,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL freetype ];
 
-  postInstall = "ln -s $out/include/SDL/SDL_ttf.h $out/include/";
-
   meta = with stdenv.lib; {
     description = "SDL TrueType library";
     license = licenses.zlib;
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index 9953f283924..fbf3cd57e3b 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }:
+{ fetchurl, stdenv, pkgconfig, darwin, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }:
 let
   ver_maj = "1.12";
   ver_min = "0";
@@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ cairo libsigcxx ];
-  buildInputs = [ fontconfig freetype ];
+  buildInputs = [ fontconfig freetype ]
+  ++ stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    ApplicationServices
+  ]);
 
   doCheck = true;
 
@@ -35,6 +38,6 @@ stdenv.mkDerivation rec {
     homepage = http://cairographics.org/;
 
     license = with licenses; [ lgpl2Plus mpl10 ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/cppcms/default.nix b/pkgs/development/libraries/cppcms/default.nix
new file mode 100644
index 00000000000..063d07e3524
--- /dev/null
+++ b/pkgs/development/libraries/cppcms/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, cmake, pcre, zlib, python, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "cppcms";
+  version = "1.0.5";
+
+  src = fetchurl {
+      url = "mirror://sourceforge/cppcms/${name}-${version}.tar.bz2";
+      sha256 = "0r8qyp102sq4lw8xhrjhan0dnslhsmxj4zs9jzlw75yagfbqbdl4";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake pcre zlib python openssl ];
+
+  cmakeFlags = [
+    "--no-warn-unused-cli"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://cppcms.com";
+    description = "High Performance C++ Web Framework";
+    platforms = platforms.linux ;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/libraries/cppdb/default.nix b/pkgs/development/libraries/cppdb/default.nix
new file mode 100644
index 00000000000..68fcb2ba25b
--- /dev/null
+++ b/pkgs/development/libraries/cppdb/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, cmake, sqlite, libmysql, postgresql, unixODBC }:
+
+stdenv.mkDerivation rec {
+  name = "cppdb";
+  version = "0.3.1";
+
+  src = fetchurl {
+      url = "mirror://sourceforge/cppcms/${name}-${version}.tar.bz2";
+      sha256 = "0blr1casmxickic84dxzfmn3lm7wrsl4aa2abvpq93rdfddfy3nn";
+  };
+
+  enableParallelBuilding = true;
+
+  buildInputs = [ cmake sqlite libmysql postgresql unixODBC ];
+
+  cmakeFlags = [ "--no-warn-unused-cli" ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://cppcms.com/sql/cppdb/";
+    description = "C++ Connectivity library that supports MySQL, PostgreSQL, Sqlite3 databases and generic ODBC drivers";
+    platforms = platforms.linux ;
+    license = licenses.boost;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/libraries/ffmpeg/3.1.nix b/pkgs/development/libraries/ffmpeg/3.1.nix
index 84e6f57c523..f2158b3756f 100644
--- a/pkgs/development/libraries/ffmpeg/3.1.nix
+++ b/pkgs/development/libraries/ffmpeg/3.1.nix
@@ -5,8 +5,8 @@
 }@args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.1";
+  version = "${branch}.2";
   branch = "3.1";
-  sha256 = "1d5knh87cgnla5zawy56gkrpb48qhyiq7i0pm8z9hyx3j05abg55";
+  sha256 = "1xvh1c8nlws0wx6b7yl1pvkybgzaj5585h1r6z1gzhck1f0qvsv2";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index f4ab12e3c7f..af8b1cb8737 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "An open-source C++ library developed and used at Facebook";
     homepage = https://github.com/facebook/folly;
-    license = licenses.mit;
+    license = licenses.asl20;
     # 32bit is not supported: https://github.com/facebook/folly/issues/103
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 4b58f3ab2ef..cf9ab101018 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -2,11 +2,11 @@
 , libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
 
 stdenv.mkDerivation rec {
-  name = "goffice-0.10.26";
+  name = "goffice-0.10.32";
 
   src = fetchurl {
     url = "mirror://gnome/sources/goffice/0.10/${name}.tar.xz";
-    sha256 = "2b8dd0a0f84ef4f6bd32bfdae2b68caa0e41631026a74d04c4d2266512a744bb";
+    sha256 = "02b37da9f54fb92725b973875d1d2da49b54f6486eb03648fd1ea58e4a297ac3";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
new file mode 100644
index 00000000000..4a01d1d8314
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -0,0 +1 @@
+WGET_ARGS=( http://download.kde.org/stable/frameworks/5.24/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/libmpack/default.nix b/pkgs/development/libraries/libmpack/default.nix
index de2bb9334d5..5ac5c9eee96 100644
--- a/pkgs/development/libraries/libmpack/default.nix
+++ b/pkgs/development/libraries/libmpack/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "libmpack-${version}";
   version = "1.0.3-rev${rev}";
-  rev = "071d944c9ff7b7fbd2c3c19d1fd1a231363ddeea";
+  rev = "80bd55ea677e70b041f65a4b99438c1f059cce4b";
   src = fetchFromGitHub {
     owner = "tarruda";
     repo = "libmpack";
     inherit rev;
-    sha256 = "1h3pbmykm69gfyi0wz647gz5836a6f3jc4azzll7i3mkpc11gcrd";
+    sha256 = "1whnbgxd5580h59kvc2xgx6ymw7nk9kz6r4ajgsfv6c6h2xbwbl3";
   };
   LIBTOOL = "libtool";
   buildInputs = [ libtool ];
diff --git a/pkgs/development/libraries/loadcaffe/default.nix b/pkgs/development/libraries/loadcaffe/default.nix
new file mode 100644
index 00000000000..f0904726eed
--- /dev/null
+++ b/pkgs/development/libraries/loadcaffe/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchFromGitHub, cmake, torch, protobuf, protobufc}:
+stdenv.mkDerivation rec {
+  name = "loadcaffe-${version}";
+  version = "0.0pre2016.08.01";
+  buildInputs = [cmake torch protobuf protobufc];
+  src = fetchFromGitHub {
+    owner = "szagoruyko";
+    repo = "loadcaffe";
+    rev = "9be65cf6fa08e9333eae3553f68a8082debe9978";
+    sha256 = "0b22hvd9nvjsan2h93nl6y34kkkbs36d0k1zr3csjfb5l13xz0lh";
+  };
+  meta = {
+    inherit version;
+    description = ''Torch7 loader for Caffe networks'';
+    license = stdenv.lib.licenses.bsd2 ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 5b8a36444eb..f706ba97f7f 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -18,7 +18,7 @@ let
 
     patches =
       args.patches
-      ++ [ ./use-etc-ssl-certs.patch ]
+      ++ optional (versionOlder version "1.1.0") ./use-etc-ssl-certs.patch
       ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
       ++ optional
            (versionOlder version "1.0.2" && (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")))
@@ -123,4 +123,9 @@ in {
     ];
   };
 
+  openssl_1_1_0 = common {
+    version = "1.1.0";
+    sha256 = "10lcpmnxap9nw8ymdglys93cgkwd1lf1rz4fhq5whwhlmkwrzipm";
+  };
+
 }
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 097031d54f1..207b7a2ffab 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -7,9 +7,9 @@
 , minimal ? false, suffix ? "glib"
 }:
 
-let # beware: updates often break cups_filters build
-  version = "0.46.0"; # even major numbers are stable
-  sha256 = "11z4d5vrrd0m7w9bfydwabksk273z7z0xf2nwvzf5pk17p8kazcn";
+let # beware: updates often break cups-filters build
+  version = "0.47.0"; # even major numbers are stable
+  sha256 = "0hnjkcqqk87dw3hlda4gh4l7brkslniax9a79g772jn3iwiffwmq";
 in
 stdenv.mkDerivation rec {
   name = "poppler-${suffix}-${version}";
diff --git a/pkgs/development/libraries/qt-5/5.5/fetch.sh b/pkgs/development/libraries/qt-5/5.5/fetch.sh
new file mode 100755
index 00000000000..512d985f346
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.5/fetch.sh
@@ -0,0 +1,3 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/ \
+            http://download.qt.io/community_releases/5.5/5.5.1/ \
+            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh b/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh
deleted file mode 100755
index c958b5c9eed..00000000000
--- a/pkgs/development/libraries/qt-5/5.5/fetchsrcs.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#! /usr/bin/env nix-shell
-#! nix-shell -i bash -p coreutils findutils gnused nix wget
-
-set -x
-
-MAJOR_VERSION="5.5"
-VERSION="${MAJOR_VERSION}.1"
-# The trailing slash at the end is necessary!
-RELEASE_URLS=(
-    "http://download.qt.io/official_releases/qt/$MAJOR_VERSION/$VERSION/submodules/"
-    "http://download.qt.io/community_releases/$MAJOR_VERSION/$VERSION/"
-)
-EXTRA_WGET_ARGS='-A *.tar.xz'
-
-mkdir tmp; cd tmp
-
-for url in "${RELEASE_URLS[@]}"; do
-    wget -nH -r -c --no-parent $url $EXTRA_WGET_ARGS
-done
-
-cat >../srcs.nix <<EOF
-# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh
-{ fetchurl, mirror }:
-
-{
-EOF
-
-workdir=$(pwd)
-
-find . | sort | while read src; do
-    if [[ -f "${src}" ]]; then
-        url="${src:2}"
-        # Sanitize file name
-        filename=$(basename "$src" | tr '@' '_')
-        nameversion="${filename%.tar.*}"
-        name=$(echo "$nameversion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,')
-        version=$(echo "$nameversion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
-        sha256=$(nix-hash --type sha256 --base32 --flat "$src")
-        cat >>../srcs.nix <<EOF
-  $name = {
-    version = "$version";
-    src = fetchurl {
-      url = "\${mirror}/$url";
-      sha256 = "$sha256";
-      name = "$filename";
-    };
-  };
-EOF
-    fi
-done
-
-echo "}" >>../srcs.nix
-
-cd ..
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch
index 63c4ab7256a..0d5c2d51092 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/cmake-paths.patch
@@ -1,7 +1,7 @@
-Index: qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
  endif()
  !!ENDIF
@@ -173,19 +173,23 @@ Index: qtbase-opensource-src-5.6.0/qtbase/mkspecs/features/data/cmake/Qt5BasicCo
      endif()
  !!ENDIF // CMAKE_RELEASE_TYPE
  !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+@@ -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)
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
 -        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
+-!!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.0/src/gui/Qt5GuiConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in
 @@ -2,7 +2,7 @@
  !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
  
@@ -211,10 +215,10 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/gui/Qt5GuiConfigExtras.cmake.in
  !!ELSE
      set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
      add_executable(Qt5::uic IMPORTED)
  
@@ -224,10 +228,10 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/widgets/Qt5WidgetsConfigExtras.cma
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
      add_executable(Qt5::qmake IMPORTED)
  
@@ -255,7 +259,7 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -133,7 +133,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)
@@ -264,7 +268,7 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
  !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
      set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
  
  !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
@@ -273,10 +277,10 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtras.cmake.
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 @@ -1,6 +1,6 @@
  
  !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
@@ -285,10 +289,10 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecD
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 @@ -1,6 +1,6 @@
  
  !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
@@ -297,10 +301,10 @@ Index: qtbase-opensource-src-5.6.0/qtbase/src/corelib/Qt5CoreConfigExtrasMkspecD
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/qtbase/dbus/Qt5DBusConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/qtbase/src/dbus/Qt5DBusConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
      add_executable(Qt5::qdbuscpp2xml IMPORTED)
  
@@ -319,3 +323,63 @@ Index: qtbase-opensource-src-5.6.0/src/qtbase/dbus/Qt5DBusConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
+Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.7.0/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.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.7.0/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.6/fetch.sh b/pkgs/development/libraries/qt-5/5.6/fetch.sh
new file mode 100644
index 00000000000..b5b76d3e674
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/fetch.sh
@@ -0,0 +1,3 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.1-1/submodules/ \
+            http://download.qt.io/community_releases/5.6/5.6.1/ \
+            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch
index 6a5c73d3e14..0d5c2d51092 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch
@@ -1,7 +1,7 @@
-Index: qtbase-opensource-src-5.6.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.6.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 @@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
  endif()
  !!ENDIF
@@ -173,19 +173,23 @@ Index: qtbase-opensource-src-5.6.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm
      endif()
  !!ENDIF // CMAKE_RELEASE_TYPE
  !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+@@ -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)
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
 -        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/gui/Qt5GuiConfigExtras.cmake.in
+-!!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.0/src/gui/Qt5GuiConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/gui/Qt5GuiConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/gui/Qt5GuiConfigExtras.cmake.in
 @@ -2,7 +2,7 @@
  !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
  
@@ -211,10 +215,10 @@ Index: qtbase-opensource-src-5.6.0/src/gui/Qt5GuiConfigExtras.cmake.in
  !!ELSE
      set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
      add_executable(Qt5::uic IMPORTED)
  
@@ -224,10 +228,10 @@ Index: qtbase-opensource-src-5.6.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
      add_executable(Qt5::qmake IMPORTED)
  
@@ -255,7 +259,7 @@ Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -133,7 +133,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)
@@ -264,7 +268,7 @@ Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
  !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
      set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
  
  !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
@@ -273,10 +277,10 @@ Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
 @@ -1,6 +1,6 @@
  
  !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
@@ -285,10 +289,10 @@ Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForIn
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ qtbase-opensource-src-5.7.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
 @@ -1,6 +1,6 @@
  
  !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
@@ -297,10 +301,10 @@ Index: qtbase-opensource-src-5.6.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmak
  !!ELSE
  set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
-Index: qtbase-opensource-src-5.6.0/src/dbus/Qt5DBusConfigExtras.cmake.in
+Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 ===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.0/src/dbus/Qt5DBusConfigExtras.cmake.in
+--- qtbase-opensource-src-5.7.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
      add_executable(Qt5::qdbuscpp2xml IMPORTED)
  
@@ -319,3 +323,63 @@ Index: qtbase-opensource-src-5.6.0/src/dbus/Qt5DBusConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
+Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.7.0/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.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.7.0/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/fetch.sh b/pkgs/development/libraries/qt-5/5.7/fetch.sh
new file mode 100644
index 00000000000..282fe742fd0
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.7/fetch.sh
@@ -0,0 +1,2 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.7/5.7.0/submodules/ \
+            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch
index 6e2de0b3022..0d5c2d51092 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/cmake-paths.patch
@@ -173,15 +173,19 @@ Index: qtbase-opensource-src-5.7.0/mkspecs/features/data/cmake/Qt5BasicConfig.cm
      endif()
  !!ENDIF // CMAKE_RELEASE_TYPE
  !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -329,7 +259,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
+@@ -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)
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
 -        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
-+        set(imported_location \"@NIX_OUT@/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ELSE
-         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
- !!ENDIF
+-!!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.0/src/gui/Qt5GuiConfigExtras.cmake.in
 ===================================================================
 --- qtbase-opensource-src-5.7.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
@@ -319,3 +323,63 @@ Index: qtbase-opensource-src-5.7.0/src/dbus/Qt5DBusConfigExtras.cmake.in
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
+Index: qtbase-opensource-src-5.7.0/mkspecs/features/create_cmake.prf
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/create_cmake.prf
++++ qtbase-opensource-src-5.7.0/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.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
+===================================================================
+--- qtbase-opensource-src-5.7.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
++++ qtbase-opensource-src-5.7.0/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/torch/default.nix b/pkgs/development/libraries/torch/default.nix
index 8700378ae75..254c210a61e 100644
--- a/pkgs/development/libraries/torch/default.nix
+++ b/pkgs/development/libraries/torch/default.nix
@@ -1,18 +1,32 @@
-{stdenv, fetchgit, luajit, openblas, imagemagick, cmake, curl, fftw, gnuplot,
-  libjpeg_turbo, zeromq3, ncurses, openssl, libpng, qt4, readline, unzip}:
+{stdenv, fetchgit, luajit, openblas, imagemagick, cmake, curl, fftw, gnuplot
+  , libjpeg, zeromq3, ncurses, openssl, libpng, qt4, readline, unzip
+  , pkgconfig, zlib, libX11, which
+  }:
 stdenv.mkDerivation rec{
   version = "0.0pre20160820";
   name = "torch-${version}";
   buildInputs = [
     luajit openblas imagemagick cmake curl fftw gnuplot unzip qt4
-    libjpeg_turbo zeromq3 ncurses openssl libpng readline
+    libjpeg zeromq3 ncurses openssl libpng readline pkgconfig
+    zlib libX11 which
   ];
   src = fetchgit (stdenv.lib.importJSON ./src.json);
-  configurePhase = ''
-  '';
   buildPhase = ''
     cd ..
     export PREFIX=$out
+
+    include=
+    for i in $NIX_CFLAGS_COMPILE; do
+      if test -n "$include" && test -d "$i"; then
+        export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH''${CMAKE_INCLUDE_PATH:+:}$i"
+      fi;
+      if test "x$i" = "x-isystem"; then
+        include=1
+      else
+        include=
+      fi
+    done
+
     mkdir "$out"
     sh install.sh -s
   '';
diff --git a/pkgs/development/libraries/webkitgtk/2.12.nix b/pkgs/development/libraries/webkitgtk/2.12.nix
index 93a6375e345..05bd5ccb69c 100644
--- a/pkgs/development/libraries/webkitgtk/2.12.nix
+++ b/pkgs/development/libraries/webkitgtk/2.12.nix
@@ -11,7 +11,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.12.3";
+  version = "2.12.4";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "01y34v62khf03w25fnzgd42rrai5mf1m95lr5vjyw8ya5sdbng0p";
+    sha256 = "0xwsc2lpb4q55vdgmwljx43219l0sa6r5mqs3bmw3fwsb5vk2ka2";
   };
 
   patches = [ ./finding-harfbuzz-icu.patch ];
diff --git a/pkgs/development/python-modules/dbus/default.nix b/pkgs/development/python-modules/dbus/default.nix
index af2e6af0c82..e99a10ab1c4 100644
--- a/pkgs/development/python-modules/dbus/default.nix
+++ b/pkgs/development/python-modules/dbus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, python, pkgconfig, dbus, dbus_glib, dbus_tools, isPyPy
-, ncurses }:
+, ncurses, pygobject3 }:
 
 if isPyPy then throw "dbus-python not supported for interpreter ${python.executable}" else stdenv.mkDerivation rec {
   name = "dbus-python-1.2.4";
@@ -12,7 +12,7 @@ if isPyPy then throw "dbus-python not supported for interpreter ${python.executa
   postPatch = "patchShebangs .";
 
   buildInputs = [ python pkgconfig dbus dbus_glib ]
-    ++ stdenv.lib.optional doCheck dbus_tools
+    ++ stdenv.lib.optionals doCheck [ dbus_tools pygobject3 ]
     # My guess why it's sometimes trying to -lncurses.
     # It seems not to retain the dependency anyway.
     ++ stdenv.lib.optional (! python ? modules) ncurses;
diff --git a/pkgs/development/tools/leaps/default.nix b/pkgs/development/tools/leaps/default.nix
index c80861b2fd7..d3e82076788 100644
--- a/pkgs/development/tools/leaps/default.nix
+++ b/pkgs/development/tools/leaps/default.nix
@@ -21,5 +21,6 @@ buildGoPackage rec {
     license = "MIT";
     maintainers = with stdenv.lib.maintainers; [ qknight ];
     meta.platforms = stdenv.lib.platforms.linux;
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index 49e5c67572b..33b782098c5 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -1,33 +1,35 @@
-{ stdenv, fetchgit, php, flex, makeWrapper }:
+{ stdenv, fetchFromGitHub, php, flex, makeWrapper }:
 
 let
-  libphutil = fetchgit {
-    url    = "git://github.com/phacility/libphutil.git";
-    rev    = "b25e0477b280ca3e8345bb97cd55e95bcb5023ec";
-    sha256 = "04l1am6k3xcjya3dscjb3vacg0fklbzqiv84qqi98rq3b3mgyhz8";
+  libphutil = fetchFromGitHub {
+    owner = "phacility";
+    repo = "libphutil";
+    rev = "5fd1af8b4f2b9631e2ceb06bd88d21f2416123c2";
+    sha256 = "06zkfkgwni8prr3cnsbf1h4s30k4v00y8ll1bcl6282xynnh3gf6";
   };
-  arcanist = fetchgit {
-    url    = "git://github.com/phacility/arcanist.git";
-    rev    = "2234c8cacc21ce61c9c10e8e5918b6a63cc38fc8";
-    sha256 = "1c0wsgg10v94iy8dwa8pw4qcxafn7nvb9s57x2ps4a08lxakimn0";
+  arcanist = fetchFromGitHub {
+    owner = "phacility";
+    repo = "arcanist";
+    rev = "9e82ef979e8148c43b9b8439025d505b1219e213";
+    sha256 = "0h7ny8wr3cjn105gyzhd4qmhhccd0ilalslsdjj10nxxw2cgn193";
   };
 in
 stdenv.mkDerivation rec {
   name    = "arcanist-${version}";
-  version = "20160516";
+  version = "20160825";
 
   src = [ arcanist libphutil ];
   buildInputs = [ php makeWrapper flex ];
 
   unpackPhase = "true";
   buildPhase = ''
-    ORIG=`pwd`
     cp -R ${libphutil} libphutil
     cp -R ${arcanist} arcanist
     chmod +w -R libphutil arcanist
-    cd libphutil/support/xhpast
-    make clean all install
-    cd $ORIG
+    (
+      cd libphutil/support/xhpast
+      make clean all install
+    )
   '';
   installPhase = ''
     mkdir -p $out/bin $out/libexec
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index d4b3e56ebe3..a70afe51179 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "re2c-${version}";
-  version = "0.14.3";
+  version = "0.16";
 
-  src = fetchurl {
-    url    = "mirror://sourceforge/re2c/re2c/${version}/${name}.tar.gz";
-    sha256 = "113yj5h38isfsjigqvb2j3ammfmxckgwyxmm0h4fyflzb7ghcs0w";
+  sourceRoot = "${name}-src/re2c";
+
+  src = fetchFromGitHub {
+    owner = "skvadrik";
+    repo = "re2c";
+    rev = version;
+    sha256 = "0cijgmbyx34nwl2jmsswggkgvzy364871rkbxz8biq9x8xrhhjw5";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+
   meta = {
     description = "Tool for writing very fast and very flexible scanners";
     homepage    = "http://re2c.org";
diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix
index d1e3ba8b0cb..e5d275ec1f5 100644
--- a/pkgs/development/tools/rust/racerd/default.nix
+++ b/pkgs/development/tools/rust/racerd/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "racerd-${version}";
-  version = "0.1.1";
+  version = "2016-08-23";
   src = fetchgit {
     url = "git://github.com/jwilm/racerd.git";
-    rev = "dcbb7885e84eb5e2fbb2072e185701ad1abbd93a";
-    sha256 = "0qm0hpvxba632av355mj1wqd616zjvi0qy045np7mi746m0bbqwh";
+    rev = "5d685ed26ba812a1afe892a8c0d12eb6abbeeb3d";
+    sha256 = "1ww96nc00l8p28rnln31n92x0mp2p5jnaqh2nwc8xi3r559p1y5i";
   };
 
   doCheck = false;
 
-  depsSha256 = "0ca0lc8mm8kczll5m03n5fwsr0540c2xbfi4nn9ksn0s4sap50yn";
+  depsSha256 = "13vkabr6bbl2nairxpn3lhqxcr3larasjk03r4hzrn7ff7sy40h2";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/rust/rustfmt/default.nix b/pkgs/development/tools/rust/rustfmt/default.nix
index 5e661a8afb8..32a4eafc02c 100644
--- a/pkgs/development/tools/rust/rustfmt/default.nix
+++ b/pkgs/development/tools/rust/rustfmt/default.nix
@@ -4,16 +4,16 @@ with rustPlatform;
 
 buildRustPackage rec {
   name = "rustfmt-${version}";
-  version = "0.4";
+  version = "0.6";
 
   src = fetchFromGitHub {
     owner = "rust-lang-nursery";
     repo = "rustfmt";
-    rev = "19768da5c97c108a05e6f545b73ba4b76d1b1788";
-    sha256 = "0f2m0gvlqlybcjl2xqwxlp5hjkhd30kx25dq56k5x0r3808ijksg";
+    rev = "d022f05f340b9aa4956ca315f5e424a6d3ab3248";
+    sha256 = "1w6ll3802061wbggqhk31pmzws423qm7jc4hyxk8a6pf9ksp0nk5";
   };
 
-  depsSha256 = "1lbcpvp7xhyl96w7jfd18w6py60nwllr93jna5j33zvnip61cpf5";
+  depsSha256 = "13rrhgzxxx5gwpwvyxw03m5xng9c1xyaycmqpi123ma3ps5822jf";
 
   meta = with stdenv.lib; {
     description = "A tool for formatting Rust code according to style guidelines";
diff --git a/pkgs/development/tools/scalafmt/default.nix b/pkgs/development/tools/scalafmt/default.nix
index e434f381067..295109cda47 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.2.11";
+  version = "0.3.1";
   baseName = "scalafmt";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "https://github.com/olafurpg/scalafmt/releases/download/v${version}/${baseName}.tar.gz";
-    sha256 = "044n00mhrdxij1kc8wplvni7pf8lnninxrsm9v41gicbk73cm2q8";
+    sha256 = "08jbhwnmcqjq95a4c0wsw7vp2v9apys6czrpjjaw7x1q4vgcnjzv";
   };
 
   unpackPhase = "tar xvzf $src";
diff --git a/pkgs/games/crawl/crawl_purify.patch b/pkgs/games/crawl/crawl_purify.patch
index bae82bebfb7..0e2d335adac 100644
--- a/pkgs/games/crawl/crawl_purify.patch
+++ b/pkgs/games/crawl/crawl_purify.patch
@@ -7,7 +7,7 @@ index b7e2fbf..5ff23db 100644
  
  ifndef CROSSHOST
 -	SQLITE_INCLUDE_DIR := /usr/include
-+	SQLITE_INCLUDE_DIR := ${sqlite.dev}/include
++	SQLITE_INCLUDE_DIR := ${sqlite}/include
  else
  	# This is totally wrong, works only with some old-style setups, and
  	# on some architectures of Debian/new FHS multiarch -- excluding, for
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index edaa3ef1fcc..186768617f7 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -30,6 +30,7 @@ stdenv.mkDerivation rec {
       patchShebangs $i
     done
     patchShebangs util/gen-mi-enum
+    rm -rf contrib
   '';
 
   makeFlags = [ "prefix=$(out)" "FORCE_CC=gcc" "FORCE_CXX=g++" "HOSTCXX=g++"
diff --git a/pkgs/games/liquidwar/5.nix b/pkgs/games/liquidwar/5.nix
new file mode 100644
index 00000000000..ac24f3bac74
--- /dev/null
+++ b/pkgs/games/liquidwar/5.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, allegro }:
+stdenv.mkDerivation rec {
+  version = "5.6.4";
+  name = "liquidwar5-${version}";
+  src = fetchurl {
+    url = "http://download.savannah.gnu.org/releases/liquidwar/liquidwar-${version}.tar.gz";
+    sha256 = "18wkbfzp07yckg05b5gjy67rw06z9lxp0hzg0zwj7rz8i12jxi9j";
+  };
+
+   buildInputs = [
+     allegro
+   ];
+
+   configureFlags = 
+     (stdenv.lib.optional stdenv.isx86_64 "--disable-asm")
+     ;
+
+   meta = with stdenv.lib; {
+     description = ''The classic version of a quick tactics game LiquidWar'';
+     maintainers = [ maintainers.raskin ];
+     license = licenses.gpl2Plus;
+     platforms = platforms.linux;
+   };
+}
diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix
index 9daf98dcfb4..e34f05402f7 100644
--- a/pkgs/games/pokerth/default.nix
+++ b/pkgs/games/pokerth/default.nix
@@ -19,6 +19,8 @@ in stdenv.mkDerivation rec {
 
   qmakeFlags = [ "pokerth.pro" ];
 
+  NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
+
   postPatch = ''
     for f in connectivity.pro load.pro pokerth_game.pro pokerth_server.pro
     do
@@ -27,6 +29,8 @@ in stdenv.mkDerivation rec {
     done
   '';
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     install -D -m755 bin/pokerth_server $server/bin/pokerth_server
   '';
diff --git a/pkgs/games/spring/default.nix b/pkgs/games/spring/default.nix
index 5b14e287f2c..634389d1410 100644
--- a/pkgs/games/spring/default.nix
+++ b/pkgs/games/spring/default.nix
@@ -8,11 +8,11 @@
 stdenv.mkDerivation rec {
 
   name = "spring-${version}";
-  version = "102.0";
+  version = "103.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/springrts/spring_${version}_src.tar.lzma";
-    sha256 = "0gjlpzwl3bdv1ickm8r3xlrbc6dm7m8i968hw3p0an49k6bqa77i";
+    sha256 = "1fmnwk8ig36429pkp1rafzg4hyzp7i6mwy27p7fdxrdj1q4blx9l";
   };
 
   # The cmake included module correcly finds nix's glew, however
diff --git a/pkgs/games/spring/revert_58b423e.patch b/pkgs/games/spring/revert_58b423e.patch
new file mode 100644
index 00000000000..79a42cefa5a
--- /dev/null
+++ b/pkgs/games/spring/revert_58b423e.patch
@@ -0,0 +1,16 @@
+--- a/src/utils/slpaths.cpp
++++ b/src/utils/slpaths.cpp
+@@ -165,13 +165,10 @@
+ 			usync_paths.push_back(bundle);
+ 		}
+ 		if (!SlPaths::IsPortableMode()) {
+-			/*
+-//FIXME: reenable when #707 is fixed / spring 102.0 is "established"
+ 			LSL::SpringBundle systembundle;
+ 			if (LSL::SpringBundle::LocateSystemInstalledSpring(systembundle)) {
+ 				usync_paths.push_back(systembundle);
+ 			}
+-*/
+ 
+ 			std::vector<std::string> paths;
+ 			PossibleEnginePaths(paths);
diff --git a/pkgs/games/spring/springlobby.nix b/pkgs/games/spring/springlobby.nix
index efab1defbed..78b9e155642 100644
--- a/pkgs/games/spring/springlobby.nix
+++ b/pkgs/games/spring/springlobby.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "springlobby-${version}";
-  version = "0.247";
+  version = "0.255";
 
   src = fetchurl {
     url = "http://www.springlobby.info/tarballs/springlobby-${version}.tar.bz2";
-    sha256 = "0sx14k4xsyjkmphhxfn9q341lv32c53g6wl1cbdx2sknzs3qasxs";
+    sha256 = "12iv6h1mz998lzxc2jwkza0m1yvaaq8h05k36i85xyp7g90197jw";
   };
 
   buildInputs = [
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     boost libpng libX11 libnotify gtk doxygen makeWrapper glib minizip alure
   ];
 
+  patches = [ ./revert_58b423e.patch ]; # Allows springLobby to continue using system installed spring until #707 is fixed
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix
index 61903cacfca..36b580bb16d 100644
--- a/pkgs/misc/drivers/foo2zjs/default.nix
+++ b/pkgs/misc/drivers/foo2zjs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, foomatic_filters, bc, unzip, ghostscript, systemd, vim }:
+{ stdenv, fetchurl, foomatic-filters, bc, unzip, ghostscript, systemd, vim }:
 
 stdenv.mkDerivation rec {
   name = "foo2zjs-20110210";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vss8gdbbgxr694xw48rys2qflbnb4sp4gdb1v6z4m9ab97hs5yk";
   };
 
-  buildInputs = [ foomatic_filters bc unzip ghostscript systemd vim ];
+  buildInputs = [ foomatic-filters bc unzip ghostscript systemd vim ];
 
   patches = [ ./no-hardcode-fw.diff ];
 
diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/misc/emulators/wine/packages.nix
index 6c06bcb0949..a786babc79d 100644
--- a/pkgs/misc/emulators/wine/packages.nix
+++ b/pkgs/misc/emulators/wine/packages.nix
@@ -1,5 +1,4 @@
 { system, stdenv, stdenv_32bit, lib, pkgs, pkgsi686Linux, callPackage, callPackage_i686,
-  overrideCC, wrapCCMulti, gcc49,
   wineRelease ? "stable",
   supportFlags
 }:
@@ -17,9 +16,6 @@ in with src; {
   wine64 = callPackage ./base.nix {
     name = "wine64-${version}";
     inherit src version supportFlags;
-    # FIXME: drop this when GCC is updated to >5.3.
-    # Corresponding bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69140
-    stdenv = overrideCC stdenv gcc49;
     pkgArches = [ pkgs ];
     geckos = [ gecko64 ];
     monos =  [ mono ];
@@ -29,8 +25,7 @@ in with src; {
   wineWow = callPackage ./base.nix {
     name = "wine-wow-${version}";
     inherit src version supportFlags;
-    # FIXME: see above.
-    stdenv = overrideCC stdenv_32bit (wrapCCMulti gcc49);
+    stdenv = stdenv_32bit;
     pkgArches = [ pkgs pkgsi686Linux ];
     geckos = [ gecko32 gecko64 ];
     monos =  [ mono ];
diff --git a/pkgs/misc/screensavers/xautolock/default.nix b/pkgs/misc/screensavers/xautolock/default.nix
index c050454790d..c65c7ef121c 100644
--- a/pkgs/misc/screensavers/xautolock/default.nix
+++ b/pkgs/misc/screensavers/xautolock/default.nix
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
       sha256 = "042lc5yyyl3zszll2l930apysd0lip26w0d0f0gjkl7sbhshgk8v";
     })
   ];
+  NIX_CFLAGS_COMPILE = "-DSYSV";
   makeFlags="BINDIR=\${out}/bin MANPATH=\${out}/man";
   preBuild = "xmkmf";
   installTargets = "install install.man";
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index bdeda5b776e..6a49103a2f7 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -816,11 +816,11 @@ rec {
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2016-07-26";
+    name = "vimtex-2016-08-19";
     src = fetchgit {
       url = "git://github.com/lervag/vimtex";
-      rev = "35fae13d17a08a7688a385644879f073a0fc8809";
-      sha256 = "0czj44ivvhh26w69w6grv26sq4b2rbcphsgs5hjga8wdnw63yxmd";
+      rev = "5bc5b14ae213deeafd2b6d8702ac11cefd4c0e8b";
+      sha256 = "0gqjxwjln82ar8dnv0dpmkhmycznxk2r0g06sddaq12y4r6bw5s9";
     };
     dependencies = [];
 
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
index ccce7448e5d..ef449a7d415 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
@@ -29,7 +29,7 @@ name: version: sha256: args: let
         makeFlagsArray=(-j''$NIX_BUILD_CORES)
       '';
       buildInputs = [
-        pkgs.gnustep-make
+        pkgs.gnustep.make
         pkgs.darwin.apple_sdk.frameworks.AppKit
         pkgs.darwin.apple_sdk.frameworks.Foundation
         pkgs.darwin.cf-private
@@ -38,6 +38,7 @@ name: version: sha256: args: let
         "-f${makeFile}"
         "MAKEFILE_NAME=${makeFile}"
         "GNUSTEP_ABSOLUTE_INSTALL_PATHS=yes"
+        "GNUSTEP_MAKEFILES=${pkgs.gnustep.make}/share/GNUstep/Makefiles"
         "LIB_LINK_INSTALL_DIR=\$(out)/lib"
       ];
       installFlags = [
diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix
index f0877aa3404..6944d2b8b43 100644
--- a/pkgs/os-specific/darwin/security-tool/default.nix
+++ b/pkgs/os-specific/darwin/security-tool/default.nix
@@ -1,5 +1,5 @@
 { CoreServices, Foundation, PCSC, Security, GSS, Kerberos, makeWrapper, apple_sdk,
-fetchurl, gnustep-make, libobjc, libsecurity_apple_csp, libsecurity_apple_cspdl,
+fetchurl, gnustep, libobjc, libsecurity_apple_csp, libsecurity_apple_cspdl,
 libsecurity_apple_file_dl, libsecurity_apple_x509_cl, libsecurity_apple_x509_tp,
 libsecurity_asn1, libsecurity_cdsa_client, libsecurity_cdsa_plugin,
 libsecurity_cdsa_utilities, libsecurity_cdsa_utils, libsecurity_cssm, libsecurity_filedb,
@@ -39,7 +39,11 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = "-no_dtrace_dof";
 
-  makeFlags = "-f ${./GNUmakefile} MAKEFILE_NAME=${./GNUmakefile}";
+  makeFlags = [
+    "-f ${./GNUmakefile}"
+    "MAKEFILE_NAME=${./GNUmakefile}"
+    "GNUSTEP_MAKEFILES=${gnustep.make}/share/GNUstep/Makefiles"
+  ];
 
   installFlags = [
     "security_INSTALL_DIR=\$(out)/bin"
@@ -50,7 +54,7 @@ stdenv.mkDerivation rec {
   __propagatedImpureHostDeps = [ "/System/Library/Keychains" ];
 
   buildInputs = [
-    gnustep-make
+    gnustep.make
     libsecurity_asn1
     libsecurity_utilities
     libsecurity_cdsa_utilities
diff --git a/pkgs/os-specific/linux/audit/default.nix b/pkgs/os-specific/linux/audit/default.nix
index da27d3ed9d4..de56a8b8416 100644
--- a/pkgs/os-specific/linux/audit/default.nix
+++ b/pkgs/os-specific/linux/audit/default.nix
@@ -5,11 +5,11 @@
 assert enablePython -> python != null;
 
 stdenv.mkDerivation rec {
-  name = "audit-2.4.4";
+  name = "audit-2.6.6";
 
   src = fetchurl {
     url = "http://people.redhat.com/sgrubb/audit/${name}.tar.gz";
-    sha256 = "08sfcx8ykcn5jsryil15q8yqm0a8czymyqbb2sqxfc1jbx37zx95";
+    sha256 = "0jwrww1vn7yqxmb84n6y4p58z34gga0ic4rs2msvpzc2x1hxrn31";
   };
 
   buildInputs = [ openldap ]
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 509fb281195..7cec276a4fa 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -181,6 +181,9 @@ with stdenv.lib;
   VGA_SWITCHEROO y # Hybrid graphics support
   DRM_GMA600 y
   DRM_GMA3600 y
+  ${optionalString (versionAtLeast version "4.5") ''
+    DRM_AMD_POWERPLAY y # necessary for amdgpu polaris support
+  ''}
 
   # Sound.
   SND_DYNAMIC_MINORS y
diff --git a/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.4.patch b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.4.patch
new file mode 100644
index 00000000000..8f2418c9efc
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.4.patch
@@ -0,0 +1,407 @@
+commit e7cae741f6d645ac68fe8823ca6ef45dbbf6891b
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Misc preps for cgroup unified hierarchy interface
+    
+    Make the following changes in preparation for the cpu controller
+    interface implementation for the unified hierarchy.  This patch
+    doesn't cause any functional differences.
+    
+    * s/cpu_stats_show()/cpu_cfs_stats_show()/
+    
+    * s/cpu_files/cpu_legacy_files/
+    
+    * Separate out cpuacct_stats_read() from cpuacct_stats_show().  While
+      at it, remove pointless cpuacct_stat_desc[] array.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 732e993..77f3ddd 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8512,7 +8512,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota)
+ 	return ret;
+ }
+ 
+-static int cpu_stats_show(struct seq_file *sf, void *v)
++static int cpu_cfs_stats_show(struct seq_file *sf, void *v)
+ {
+ 	struct task_group *tg = css_tg(seq_css(sf));
+ 	struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
+@@ -8552,7 +8552,7 @@ static u64 cpu_rt_period_read_uint(struct cgroup_subsys_state *css,
+ }
+ #endif /* CONFIG_RT_GROUP_SCHED */
+ 
+-static struct cftype cpu_files[] = {
++static struct cftype cpu_legacy_files[] = {
+ #ifdef CONFIG_FAIR_GROUP_SCHED
+ 	{
+ 		.name = "shares",
+@@ -8573,7 +8573,7 @@ static struct cftype cpu_files[] = {
+ 	},
+ 	{
+ 		.name = "stat",
+-		.seq_show = cpu_stats_show,
++		.seq_show = cpu_cfs_stats_show,
+ 	},
+ #endif
+ #ifdef CONFIG_RT_GROUP_SCHED
+@@ -8599,7 +8599,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.fork		= cpu_cgroup_fork,
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+-	.legacy_cftypes	= cpu_files,
++	.legacy_cftypes	= cpu_legacy_files,
+ 	.early_init	= 1,
+ };
+ 
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index dd7cbb5..42b2dd5 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -177,36 +177,33 @@ static int cpuacct_percpu_seq_show(struct seq_file *m, void *V)
+ 	return 0;
+ }
+ 
+-static const char * const cpuacct_stat_desc[] = {
+-	[CPUACCT_STAT_USER] = "user",
+-	[CPUACCT_STAT_SYSTEM] = "system",
+-};
+-
+-static int cpuacct_stats_show(struct seq_file *sf, void *v)
++static void cpuacct_stats_read(struct cpuacct *ca, u64 *userp, u64 *sysp)
+ {
+-	struct cpuacct *ca = css_ca(seq_css(sf));
+ 	int cpu;
+-	s64 val = 0;
+ 
++	*userp = 0;
+ 	for_each_online_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_USER];
+-		val += kcpustat->cpustat[CPUTIME_NICE];
++		*userp += kcpustat->cpustat[CPUTIME_USER];
++		*userp += kcpustat->cpustat[CPUTIME_NICE];
+ 	}
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_USER], val);
+ 
+-	val = 0;
++	*sysp = 0;
+ 	for_each_online_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_SYSTEM];
+-		val += kcpustat->cpustat[CPUTIME_IRQ];
+-		val += kcpustat->cpustat[CPUTIME_SOFTIRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SYSTEM];
++		*sysp += kcpustat->cpustat[CPUTIME_IRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SOFTIRQ];
+ 	}
++}
+ 
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val);
++static int cpuacct_stats_show(struct seq_file *sf, void *v)
++{
++	cputime64_t user, sys;
+ 
++	cpuacct_stats_read(css_ca(seq_css(sf)), &user, &sys);
++	seq_printf(sf, "user %lld\n", cputime64_to_clock_t(user));
++	seq_printf(sf, "system %lld\n", cputime64_to_clock_t(sys));
+ 	return 0;
+ }
+ 
+
+commit 1bb33e8a69f089f2d3f58a0e681d4ff352e11c97
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Implement interface for cgroup unified hierarchy
+    
+    While the cpu controller doesn't have any functional problems, there
+    are a couple interface issues which can be addressed in the v2
+    interface.
+    
+    * cpuacct being a separate controller.  This separation is artificial
+      and rather pointless as demonstrated by most use cases co-mounting
+      the two controllers.  It also forces certain information to be
+      accounted twice.
+    
+    * Use of different time units.  Writable control knobs use
+      microseconds, some stat fields use nanoseconds while other cpuacct
+      stat fields use centiseconds.
+    
+    * Control knobs which can't be used in the root cgroup still show up
+      in the root.
+    
+    * Control knob names and semantics aren't consistent with other
+      controllers.
+    
+    This patchset implements cpu controller's interface on the unified
+    hierarchy which adheres to the controller file conventions described
+    in Documentation/cgroups/unified-hierarchy.txt.  Overall, the
+    following changes are made.
+    
+    * cpuacct is implictly enabled and disabled by cpu and its information
+      is reported through "cpu.stat" which now uses microseconds for all
+      time durations.  All time duration fields now have "_usec" appended
+      to them for clarity.  While this doesn't solve the double accounting
+      immediately, once majority of users switch to v2, cpu can directly
+      account and report the relevant stats and cpuacct can be disabled on
+      the unified hierarchy.
+    
+      Note that cpuacct.usage_percpu is currently not included in
+      "cpu.stat".  If this information is actually called for, it can be
+      added later.
+    
+    * "cpu.shares" is replaced with "cpu.weight" and operates on the
+      standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000).
+      The weight is scaled to scheduler weight so that 100 maps to 1024
+      and the ratio relationship is preserved - if weight is W and its
+      scaled value is S, W / 100 == S / 1024.  While the mapped range is a
+      bit smaller than the orignal scheduler weight range, the dead zones
+      on both sides are relatively small and covers wider range than the
+      nice value mappings.  This file doesn't make sense in the root
+      cgroup and isn't create on root.
+    
+    * "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max"
+      which contains both quota and period.
+    
+    * "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by
+      "cpu.rt.max" which contains both runtime and period.
+    
+    v2: cpu_stats_show() was incorrectly using CONFIG_FAIR_GROUP_SCHED for
+        CFS bandwidth stats and also using raw division for u64.  Use
+        CONFIG_CFS_BANDWITH and do_div() instead.
+    
+        The semantics of "cpu.rt.max" is not fully decided yet.  Dropped
+        for now.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 77f3ddd..7aafe63 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8591,6 +8591,139 @@ static struct cftype cpu_legacy_files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++static int cpu_stats_show(struct seq_file *sf, void *v)
++{
++	cpuacct_cpu_stats_show(sf);
++
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		struct task_group *tg = css_tg(seq_css(sf));
++		struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
++		u64 throttled_usec;
++
++		throttled_usec = cfs_b->throttled_time;
++		do_div(throttled_usec, NSEC_PER_USEC);
++
++		seq_printf(sf, "nr_periods %d\n"
++			   "nr_throttled %d\n"
++			   "throttled_usec %llu\n",
++			   cfs_b->nr_periods, cfs_b->nr_throttled,
++			   throttled_usec);
++	}
++#endif
++	return 0;
++}
++
++#ifdef CONFIG_FAIR_GROUP_SCHED
++static u64 cpu_weight_read_u64(struct cgroup_subsys_state *css,
++			       struct cftype *cft)
++{
++	struct task_group *tg = css_tg(css);
++	u64 weight = scale_load_down(tg->shares);
++
++	return DIV_ROUND_CLOSEST_ULL(weight * CGROUP_WEIGHT_DFL, 1024);
++}
++
++static int cpu_weight_write_u64(struct cgroup_subsys_state *css,
++				struct cftype *cftype, u64 weight)
++{
++	/*
++	 * cgroup weight knobs should use the common MIN, DFL and MAX
++	 * values which are 1, 100 and 10000 respectively.  While it loses
++	 * a bit of range on both ends, it maps pretty well onto the shares
++	 * value used by scheduler and the round-trip conversions preserve
++	 * the original value over the entire range.
++	 */
++	if (weight < CGROUP_WEIGHT_MIN || weight > CGROUP_WEIGHT_MAX)
++		return -ERANGE;
++
++	weight = DIV_ROUND_CLOSEST_ULL(weight * 1024, CGROUP_WEIGHT_DFL);
++
++	return sched_group_set_shares(css_tg(css), scale_load(weight));
++}
++#endif
++
++static void __maybe_unused cpu_period_quota_print(struct seq_file *sf,
++						  long period, long quota)
++{
++	if (quota < 0)
++		seq_puts(sf, "max");
++	else
++		seq_printf(sf, "%ld", quota);
++
++	seq_printf(sf, " %ld\n", period);
++}
++
++/* caller should put the current value in *@periodp before calling */
++static int __maybe_unused cpu_period_quota_parse(char *buf,
++						 u64 *periodp, u64 *quotap)
++{
++	char tok[21];	/* U64_MAX */
++
++	if (!sscanf(buf, "%s %llu", tok, periodp))
++		return -EINVAL;
++
++	*periodp *= NSEC_PER_USEC;
++
++	if (sscanf(tok, "%llu", quotap))
++		*quotap *= NSEC_PER_USEC;
++	else if (!strcmp(tok, "max"))
++		*quotap = RUNTIME_INF;
++	else
++		return -EINVAL;
++
++	return 0;
++}
++
++#ifdef CONFIG_CFS_BANDWIDTH
++static int cpu_max_show(struct seq_file *sf, void *v)
++{
++	struct task_group *tg = css_tg(seq_css(sf));
++
++	cpu_period_quota_print(sf, tg_get_cfs_period(tg), tg_get_cfs_quota(tg));
++	return 0;
++}
++
++static ssize_t cpu_max_write(struct kernfs_open_file *of,
++			     char *buf, size_t nbytes, loff_t off)
++{
++	struct task_group *tg = css_tg(of_css(of));
++	u64 period = tg_get_cfs_period(tg);
++	u64 quota;
++	int ret;
++
++	ret = cpu_period_quota_parse(buf, &period, &quota);
++	if (!ret)
++		ret = tg_set_cfs_bandwidth(tg, period, quota);
++	return ret ?: nbytes;
++}
++#endif
++
++static struct cftype cpu_files[] = {
++	{
++		.name = "stat",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_stats_show,
++	},
++#ifdef CONFIG_FAIR_GROUP_SCHED
++	{
++		.name = "weight",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.read_u64 = cpu_weight_read_u64,
++		.write_u64 = cpu_weight_write_u64,
++	},
++#endif
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		.name = "max",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_max_show,
++		.write = cpu_max_write,
++	},
++#endif
++	{ }	/* terminate */
++};
++
+ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.css_alloc	= cpu_cgroup_css_alloc,
+ 	.css_free	= cpu_cgroup_css_free,
+@@ -8600,7 +8733,15 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+ 	.legacy_cftypes	= cpu_legacy_files,
++	.dfl_cftypes	= cpu_files,
+ 	.early_init	= 1,
++#ifdef CONFIG_CGROUP_CPUACCT
++	/*
++	 * cpuacct is enabled together with cpu on the unified hierarchy
++	 * and its stats are reported through "cpu.stat".
++	 */
++	.depends_on	= 1 << cpuacct_cgrp_id,
++#endif
+ };
+ 
+ #endif	/* CONFIG_CGROUP_SCHED */
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index 42b2dd5..b4d32a6 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -224,6 +224,30 @@ static struct cftype files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++/* used to print cpuacct stats in cpu.stat on the unified hierarchy */
++void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++	struct cgroup_subsys_state *css;
++	u64 usage, user, sys;
++
++	css = cgroup_get_e_css(seq_css(sf)->cgroup, &cpuacct_cgrp_subsys);
++
++	usage = cpuusage_read(css, seq_cft(sf));
++	cpuacct_stats_read(css_ca(css), &user, &sys);
++
++	user *= TICK_NSEC;
++	sys *= TICK_NSEC;
++	do_div(usage, NSEC_PER_USEC);
++	do_div(user, NSEC_PER_USEC);
++	do_div(sys, NSEC_PER_USEC);
++
++	seq_printf(sf, "usage_usec %llu\n"
++		   "user_usec %llu\n"
++		   "system_usec %llu\n", usage, user, sys);
++
++	css_put(css);
++}
++
+ /*
+  * charge this task's execution time to its accounting group.
+  *
+diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
+index ed60562..44eace9 100644
+--- a/kernel/sched/cpuacct.h
++++ b/kernel/sched/cpuacct.h
+@@ -2,6 +2,7 @@
+ 
+ extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
+ extern void cpuacct_account_field(struct task_struct *p, int index, u64 val);
++extern void cpuacct_cpu_stats_show(struct seq_file *sf);
+ 
+ #else
+ 
+@@ -14,4 +15,8 @@ cpuacct_account_field(struct task_struct *p, int index, u64 val)
+ {
+ }
+ 
++static inline void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++}
++
+ #endif
diff --git a/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.6.patch b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.6.patch
new file mode 100644
index 00000000000..f64908317ca
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.6.patch
@@ -0,0 +1,407 @@
+commit 6426c5b02d4aab620219b08a5d97ad8851b56b0d
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Misc preps for cgroup unified hierarchy interface
+    
+    Make the following changes in preparation for the cpu controller
+    interface implementation for the unified hierarchy.  This patch
+    doesn't cause any functional differences.
+    
+    * s/cpu_stats_show()/cpu_cfs_stats_show()/
+    
+    * s/cpu_files/cpu_legacy_files/
+    
+    * Separate out cpuacct_stats_read() from cpuacct_stats_show().  While
+      at it, remove pointless cpuacct_stat_desc[] array.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index d1f7149..0d34f35 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8371,7 +8371,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota)
+ 	return ret;
+ }
+ 
+-static int cpu_stats_show(struct seq_file *sf, void *v)
++static int cpu_cfs_stats_show(struct seq_file *sf, void *v)
+ {
+ 	struct task_group *tg = css_tg(seq_css(sf));
+ 	struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
+@@ -8411,7 +8411,7 @@ static u64 cpu_rt_period_read_uint(struct cgroup_subsys_state *css,
+ }
+ #endif /* CONFIG_RT_GROUP_SCHED */
+ 
+-static struct cftype cpu_files[] = {
++static struct cftype cpu_legacy_files[] = {
+ #ifdef CONFIG_FAIR_GROUP_SCHED
+ 	{
+ 		.name = "shares",
+@@ -8432,7 +8432,7 @@ static struct cftype cpu_files[] = {
+ 	},
+ 	{
+ 		.name = "stat",
+-		.seq_show = cpu_stats_show,
++		.seq_show = cpu_cfs_stats_show,
+ 	},
+ #endif
+ #ifdef CONFIG_RT_GROUP_SCHED
+@@ -8457,7 +8457,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.fork		= cpu_cgroup_fork,
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+-	.legacy_cftypes	= cpu_files,
++	.legacy_cftypes	= cpu_legacy_files,
+ 	.early_init	= true,
+ };
+ 
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index 4a81120..b99030a 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -180,36 +180,33 @@ static int cpuacct_percpu_seq_show(struct seq_file *m, void *V)
+ 	return 0;
+ }
+ 
+-static const char * const cpuacct_stat_desc[] = {
+-	[CPUACCT_STAT_USER] = "user",
+-	[CPUACCT_STAT_SYSTEM] = "system",
+-};
+-
+-static int cpuacct_stats_show(struct seq_file *sf, void *v)
++static void cpuacct_stats_read(struct cpuacct *ca, u64 *userp, u64 *sysp)
+ {
+-	struct cpuacct *ca = css_ca(seq_css(sf));
+ 	int cpu;
+-	s64 val = 0;
+ 
++	*userp = 0;
+ 	for_each_online_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_USER];
+-		val += kcpustat->cpustat[CPUTIME_NICE];
++		*userp += kcpustat->cpustat[CPUTIME_USER];
++		*userp += kcpustat->cpustat[CPUTIME_NICE];
+ 	}
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_USER], val);
+ 
+-	val = 0;
++	*sysp = 0;
+ 	for_each_online_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_SYSTEM];
+-		val += kcpustat->cpustat[CPUTIME_IRQ];
+-		val += kcpustat->cpustat[CPUTIME_SOFTIRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SYSTEM];
++		*sysp += kcpustat->cpustat[CPUTIME_IRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SOFTIRQ];
+ 	}
++}
+ 
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val);
++static int cpuacct_stats_show(struct seq_file *sf, void *v)
++{
++	cputime64_t user, sys;
+ 
++	cpuacct_stats_read(css_ca(seq_css(sf)), &user, &sys);
++	seq_printf(sf, "user %lld\n", cputime64_to_clock_t(user));
++	seq_printf(sf, "system %lld\n", cputime64_to_clock_t(sys));
+ 	return 0;
+ }
+ 
+
+commit d2a799f795a5d5a69c9dc365c34f926e0649f840
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Implement interface for cgroup unified hierarchy
+    
+    While the cpu controller doesn't have any functional problems, there
+    are a couple interface issues which can be addressed in the v2
+    interface.
+    
+    * cpuacct being a separate controller.  This separation is artificial
+      and rather pointless as demonstrated by most use cases co-mounting
+      the two controllers.  It also forces certain information to be
+      accounted twice.
+    
+    * Use of different time units.  Writable control knobs use
+      microseconds, some stat fields use nanoseconds while other cpuacct
+      stat fields use centiseconds.
+    
+    * Control knobs which can't be used in the root cgroup still show up
+      in the root.
+    
+    * Control knob names and semantics aren't consistent with other
+      controllers.
+    
+    This patchset implements cpu controller's interface on the unified
+    hierarchy which adheres to the controller file conventions described
+    in Documentation/cgroups/unified-hierarchy.txt.  Overall, the
+    following changes are made.
+    
+    * cpuacct is implictly enabled and disabled by cpu and its information
+      is reported through "cpu.stat" which now uses microseconds for all
+      time durations.  All time duration fields now have "_usec" appended
+      to them for clarity.  While this doesn't solve the double accounting
+      immediately, once majority of users switch to v2, cpu can directly
+      account and report the relevant stats and cpuacct can be disabled on
+      the unified hierarchy.
+    
+      Note that cpuacct.usage_percpu is currently not included in
+      "cpu.stat".  If this information is actually called for, it can be
+      added later.
+    
+    * "cpu.shares" is replaced with "cpu.weight" and operates on the
+      standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000).
+      The weight is scaled to scheduler weight so that 100 maps to 1024
+      and the ratio relationship is preserved - if weight is W and its
+      scaled value is S, W / 100 == S / 1024.  While the mapped range is a
+      bit smaller than the orignal scheduler weight range, the dead zones
+      on both sides are relatively small and covers wider range than the
+      nice value mappings.  This file doesn't make sense in the root
+      cgroup and isn't create on root.
+    
+    * "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max"
+      which contains both quota and period.
+    
+    * "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by
+      "cpu.rt.max" which contains both runtime and period.
+    
+    v2: cpu_stats_show() was incorrectly using CONFIG_FAIR_GROUP_SCHED for
+        CFS bandwidth stats and also using raw division for u64.  Use
+        CONFIG_CFS_BANDWITH and do_div() instead.
+    
+        The semantics of "cpu.rt.max" is not fully decided yet.  Dropped
+        for now.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 0d34f35..5990efc 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8450,6 +8450,139 @@ static struct cftype cpu_legacy_files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++static int cpu_stats_show(struct seq_file *sf, void *v)
++{
++	cpuacct_cpu_stats_show(sf);
++
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		struct task_group *tg = css_tg(seq_css(sf));
++		struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
++		u64 throttled_usec;
++
++		throttled_usec = cfs_b->throttled_time;
++		do_div(throttled_usec, NSEC_PER_USEC);
++
++		seq_printf(sf, "nr_periods %d\n"
++			   "nr_throttled %d\n"
++			   "throttled_usec %llu\n",
++			   cfs_b->nr_periods, cfs_b->nr_throttled,
++			   throttled_usec);
++	}
++#endif
++	return 0;
++}
++
++#ifdef CONFIG_FAIR_GROUP_SCHED
++static u64 cpu_weight_read_u64(struct cgroup_subsys_state *css,
++			       struct cftype *cft)
++{
++	struct task_group *tg = css_tg(css);
++	u64 weight = scale_load_down(tg->shares);
++
++	return DIV_ROUND_CLOSEST_ULL(weight * CGROUP_WEIGHT_DFL, 1024);
++}
++
++static int cpu_weight_write_u64(struct cgroup_subsys_state *css,
++				struct cftype *cftype, u64 weight)
++{
++	/*
++	 * cgroup weight knobs should use the common MIN, DFL and MAX
++	 * values which are 1, 100 and 10000 respectively.  While it loses
++	 * a bit of range on both ends, it maps pretty well onto the shares
++	 * value used by scheduler and the round-trip conversions preserve
++	 * the original value over the entire range.
++	 */
++	if (weight < CGROUP_WEIGHT_MIN || weight > CGROUP_WEIGHT_MAX)
++		return -ERANGE;
++
++	weight = DIV_ROUND_CLOSEST_ULL(weight * 1024, CGROUP_WEIGHT_DFL);
++
++	return sched_group_set_shares(css_tg(css), scale_load(weight));
++}
++#endif
++
++static void __maybe_unused cpu_period_quota_print(struct seq_file *sf,
++						  long period, long quota)
++{
++	if (quota < 0)
++		seq_puts(sf, "max");
++	else
++		seq_printf(sf, "%ld", quota);
++
++	seq_printf(sf, " %ld\n", period);
++}
++
++/* caller should put the current value in *@periodp before calling */
++static int __maybe_unused cpu_period_quota_parse(char *buf,
++						 u64 *periodp, u64 *quotap)
++{
++	char tok[21];	/* U64_MAX */
++
++	if (!sscanf(buf, "%s %llu", tok, periodp))
++		return -EINVAL;
++
++	*periodp *= NSEC_PER_USEC;
++
++	if (sscanf(tok, "%llu", quotap))
++		*quotap *= NSEC_PER_USEC;
++	else if (!strcmp(tok, "max"))
++		*quotap = RUNTIME_INF;
++	else
++		return -EINVAL;
++
++	return 0;
++}
++
++#ifdef CONFIG_CFS_BANDWIDTH
++static int cpu_max_show(struct seq_file *sf, void *v)
++{
++	struct task_group *tg = css_tg(seq_css(sf));
++
++	cpu_period_quota_print(sf, tg_get_cfs_period(tg), tg_get_cfs_quota(tg));
++	return 0;
++}
++
++static ssize_t cpu_max_write(struct kernfs_open_file *of,
++			     char *buf, size_t nbytes, loff_t off)
++{
++	struct task_group *tg = css_tg(of_css(of));
++	u64 period = tg_get_cfs_period(tg);
++	u64 quota;
++	int ret;
++
++	ret = cpu_period_quota_parse(buf, &period, &quota);
++	if (!ret)
++		ret = tg_set_cfs_bandwidth(tg, period, quota);
++	return ret ?: nbytes;
++}
++#endif
++
++static struct cftype cpu_files[] = {
++	{
++		.name = "stat",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_stats_show,
++	},
++#ifdef CONFIG_FAIR_GROUP_SCHED
++	{
++		.name = "weight",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.read_u64 = cpu_weight_read_u64,
++		.write_u64 = cpu_weight_write_u64,
++	},
++#endif
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		.name = "max",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_max_show,
++		.write = cpu_max_write,
++	},
++#endif
++	{ }	/* terminate */
++};
++
+ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.css_alloc	= cpu_cgroup_css_alloc,
+ 	.css_released	= cpu_cgroup_css_released,
+@@ -8458,7 +8591,15 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+ 	.legacy_cftypes	= cpu_legacy_files,
++	.dfl_cftypes	= cpu_files,
+ 	.early_init	= true,
++#ifdef CONFIG_CGROUP_CPUACCT
++	/*
++	 * cpuacct is enabled together with cpu on the unified hierarchy
++	 * and its stats are reported through "cpu.stat".
++	 */
++	.depends_on	= 1 << cpuacct_cgrp_id,
++#endif
+ };
+ 
+ #endif	/* CONFIG_CGROUP_SCHED */
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index b99030a..a1a5a4b 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -227,6 +227,30 @@ static struct cftype files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++/* used to print cpuacct stats in cpu.stat on the unified hierarchy */
++void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++	struct cgroup_subsys_state *css;
++	u64 usage, user, sys;
++
++	css = cgroup_get_e_css(seq_css(sf)->cgroup, &cpuacct_cgrp_subsys);
++
++	usage = cpuusage_read(css, seq_cft(sf));
++	cpuacct_stats_read(css_ca(css), &user, &sys);
++
++	user *= TICK_NSEC;
++	sys *= TICK_NSEC;
++	do_div(usage, NSEC_PER_USEC);
++	do_div(user, NSEC_PER_USEC);
++	do_div(sys, NSEC_PER_USEC);
++
++	seq_printf(sf, "usage_usec %llu\n"
++		   "user_usec %llu\n"
++		   "system_usec %llu\n", usage, user, sys);
++
++	css_put(css);
++}
++
+ /*
+  * charge this task's execution time to its accounting group.
+  *
+diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
+index ba72807..ddf7af4 100644
+--- a/kernel/sched/cpuacct.h
++++ b/kernel/sched/cpuacct.h
+@@ -2,6 +2,7 @@
+ 
+ extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
+ extern void cpuacct_account_field(struct task_struct *tsk, int index, u64 val);
++extern void cpuacct_cpu_stats_show(struct seq_file *sf);
+ 
+ #else
+ 
+@@ -14,4 +15,8 @@ cpuacct_account_field(struct task_struct *tsk, int index, u64 val)
+ {
+ }
+ 
++static inline void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++}
++
+ #endif
diff --git a/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.7.patch b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.7.patch
new file mode 100644
index 00000000000..74dae740e37
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/4.7.patch
@@ -0,0 +1,407 @@
+commit 0d966df508ef4d6c0b1baae9e369f4fb0d3e10af
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Misc preps for cgroup unified hierarchy interface
+    
+    Make the following changes in preparation for the cpu controller
+    interface implementation for the unified hierarchy.  This patch
+    doesn't cause any functional differences.
+    
+    * s/cpu_stats_show()/cpu_cfs_stats_show()/
+    
+    * s/cpu_files/cpu_legacy_files/
+    
+    * Separate out cpuacct_stats_read() from cpuacct_stats_show().  While
+      at it, remove pointless cpuacct_stat_desc[] array.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index 97ee9ac..c148dfe 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8482,7 +8482,7 @@ static int __cfs_schedulable(struct task_group *tg, u64 period, u64 quota)
+ 	return ret;
+ }
+ 
+-static int cpu_stats_show(struct seq_file *sf, void *v)
++static int cpu_cfs_stats_show(struct seq_file *sf, void *v)
+ {
+ 	struct task_group *tg = css_tg(seq_css(sf));
+ 	struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
+@@ -8522,7 +8522,7 @@ static u64 cpu_rt_period_read_uint(struct cgroup_subsys_state *css,
+ }
+ #endif /* CONFIG_RT_GROUP_SCHED */
+ 
+-static struct cftype cpu_files[] = {
++static struct cftype cpu_legacy_files[] = {
+ #ifdef CONFIG_FAIR_GROUP_SCHED
+ 	{
+ 		.name = "shares",
+@@ -8543,7 +8543,7 @@ static struct cftype cpu_files[] = {
+ 	},
+ 	{
+ 		.name = "stat",
+-		.seq_show = cpu_stats_show,
++		.seq_show = cpu_cfs_stats_show,
+ 	},
+ #endif
+ #ifdef CONFIG_RT_GROUP_SCHED
+@@ -8568,7 +8568,7 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.fork		= cpu_cgroup_fork,
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+-	.legacy_cftypes	= cpu_files,
++	.legacy_cftypes	= cpu_legacy_files,
+ 	.early_init	= true,
+ };
+ 
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index 41f85c4..3eb9eda 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -242,36 +242,33 @@ static int cpuacct_percpu_seq_show(struct seq_file *m, void *V)
+ 	return __cpuacct_percpu_seq_show(m, CPUACCT_USAGE_NRUSAGE);
+ }
+ 
+-static const char * const cpuacct_stat_desc[] = {
+-	[CPUACCT_STAT_USER] = "user",
+-	[CPUACCT_STAT_SYSTEM] = "system",
+-};
+-
+-static int cpuacct_stats_show(struct seq_file *sf, void *v)
++static void cpuacct_stats_read(struct cpuacct *ca, u64 *userp, u64 *sysp)
+ {
+-	struct cpuacct *ca = css_ca(seq_css(sf));
+ 	int cpu;
+-	s64 val = 0;
+ 
++	*userp = 0;
+ 	for_each_possible_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_USER];
+-		val += kcpustat->cpustat[CPUTIME_NICE];
++		*userp += kcpustat->cpustat[CPUTIME_USER];
++		*userp += kcpustat->cpustat[CPUTIME_NICE];
+ 	}
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_USER], val);
+ 
+-	val = 0;
++	*sysp = 0;
+ 	for_each_possible_cpu(cpu) {
+ 		struct kernel_cpustat *kcpustat = per_cpu_ptr(ca->cpustat, cpu);
+-		val += kcpustat->cpustat[CPUTIME_SYSTEM];
+-		val += kcpustat->cpustat[CPUTIME_IRQ];
+-		val += kcpustat->cpustat[CPUTIME_SOFTIRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SYSTEM];
++		*sysp += kcpustat->cpustat[CPUTIME_IRQ];
++		*sysp += kcpustat->cpustat[CPUTIME_SOFTIRQ];
+ 	}
++}
+ 
+-	val = cputime64_to_clock_t(val);
+-	seq_printf(sf, "%s %lld\n", cpuacct_stat_desc[CPUACCT_STAT_SYSTEM], val);
++static int cpuacct_stats_show(struct seq_file *sf, void *v)
++{
++	cputime64_t user, sys;
+ 
++	cpuacct_stats_read(css_ca(seq_css(sf)), &user, &sys);
++	seq_printf(sf, "user %lld\n", cputime64_to_clock_t(user));
++	seq_printf(sf, "system %lld\n", cputime64_to_clock_t(sys));
+ 	return 0;
+ }
+ 
+
+commit ed6d93036ec930cb774da10b7c87f67905ce71f1
+Author: Tejun Heo <tj@kernel.org>
+Date:   Fri Mar 11 07:31:23 2016 -0500
+
+    sched: Implement interface for cgroup unified hierarchy
+    
+    While the cpu controller doesn't have any functional problems, there
+    are a couple interface issues which can be addressed in the v2
+    interface.
+    
+    * cpuacct being a separate controller.  This separation is artificial
+      and rather pointless as demonstrated by most use cases co-mounting
+      the two controllers.  It also forces certain information to be
+      accounted twice.
+    
+    * Use of different time units.  Writable control knobs use
+      microseconds, some stat fields use nanoseconds while other cpuacct
+      stat fields use centiseconds.
+    
+    * Control knobs which can't be used in the root cgroup still show up
+      in the root.
+    
+    * Control knob names and semantics aren't consistent with other
+      controllers.
+    
+    This patchset implements cpu controller's interface on the unified
+    hierarchy which adheres to the controller file conventions described
+    in Documentation/cgroups/unified-hierarchy.txt.  Overall, the
+    following changes are made.
+    
+    * cpuacct is implictly enabled and disabled by cpu and its information
+      is reported through "cpu.stat" which now uses microseconds for all
+      time durations.  All time duration fields now have "_usec" appended
+      to them for clarity.  While this doesn't solve the double accounting
+      immediately, once majority of users switch to v2, cpu can directly
+      account and report the relevant stats and cpuacct can be disabled on
+      the unified hierarchy.
+    
+      Note that cpuacct.usage_percpu is currently not included in
+      "cpu.stat".  If this information is actually called for, it can be
+      added later.
+    
+    * "cpu.shares" is replaced with "cpu.weight" and operates on the
+      standard scale defined by CGROUP_WEIGHT_MIN/DFL/MAX (1, 100, 10000).
+      The weight is scaled to scheduler weight so that 100 maps to 1024
+      and the ratio relationship is preserved - if weight is W and its
+      scaled value is S, W / 100 == S / 1024.  While the mapped range is a
+      bit smaller than the orignal scheduler weight range, the dead zones
+      on both sides are relatively small and covers wider range than the
+      nice value mappings.  This file doesn't make sense in the root
+      cgroup and isn't create on root.
+    
+    * "cpu.cfs_quota_us" and "cpu.cfs_period_us" are replaced by "cpu.max"
+      which contains both quota and period.
+    
+    * "cpu.rt_runtime_us" and "cpu.rt_period_us" are replaced by
+      "cpu.rt.max" which contains both runtime and period.
+    
+    v2: cpu_stats_show() was incorrectly using CONFIG_FAIR_GROUP_SCHED for
+        CFS bandwidth stats and also using raw division for u64.  Use
+        CONFIG_CFS_BANDWITH and do_div() instead.
+    
+        The semantics of "cpu.rt.max" is not fully decided yet.  Dropped
+        for now.
+    
+    Signed-off-by: Tejun Heo <tj@kernel.org>
+    Cc: Ingo Molnar <mingo@redhat.com>
+    Cc: Peter Zijlstra <peterz@infradead.org>
+    Cc: Li Zefan <lizefan@huawei.com>
+    Cc: Johannes Weiner <hannes@cmpxchg.org>
+
+diff --git a/kernel/sched/core.c b/kernel/sched/core.c
+index c148dfe..7bba2c5 100644
+--- a/kernel/sched/core.c
++++ b/kernel/sched/core.c
+@@ -8561,6 +8561,139 @@ static struct cftype cpu_legacy_files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++static int cpu_stats_show(struct seq_file *sf, void *v)
++{
++	cpuacct_cpu_stats_show(sf);
++
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		struct task_group *tg = css_tg(seq_css(sf));
++		struct cfs_bandwidth *cfs_b = &tg->cfs_bandwidth;
++		u64 throttled_usec;
++
++		throttled_usec = cfs_b->throttled_time;
++		do_div(throttled_usec, NSEC_PER_USEC);
++
++		seq_printf(sf, "nr_periods %d\n"
++			   "nr_throttled %d\n"
++			   "throttled_usec %llu\n",
++			   cfs_b->nr_periods, cfs_b->nr_throttled,
++			   throttled_usec);
++	}
++#endif
++	return 0;
++}
++
++#ifdef CONFIG_FAIR_GROUP_SCHED
++static u64 cpu_weight_read_u64(struct cgroup_subsys_state *css,
++			       struct cftype *cft)
++{
++	struct task_group *tg = css_tg(css);
++	u64 weight = scale_load_down(tg->shares);
++
++	return DIV_ROUND_CLOSEST_ULL(weight * CGROUP_WEIGHT_DFL, 1024);
++}
++
++static int cpu_weight_write_u64(struct cgroup_subsys_state *css,
++				struct cftype *cftype, u64 weight)
++{
++	/*
++	 * cgroup weight knobs should use the common MIN, DFL and MAX
++	 * values which are 1, 100 and 10000 respectively.  While it loses
++	 * a bit of range on both ends, it maps pretty well onto the shares
++	 * value used by scheduler and the round-trip conversions preserve
++	 * the original value over the entire range.
++	 */
++	if (weight < CGROUP_WEIGHT_MIN || weight > CGROUP_WEIGHT_MAX)
++		return -ERANGE;
++
++	weight = DIV_ROUND_CLOSEST_ULL(weight * 1024, CGROUP_WEIGHT_DFL);
++
++	return sched_group_set_shares(css_tg(css), scale_load(weight));
++}
++#endif
++
++static void __maybe_unused cpu_period_quota_print(struct seq_file *sf,
++						  long period, long quota)
++{
++	if (quota < 0)
++		seq_puts(sf, "max");
++	else
++		seq_printf(sf, "%ld", quota);
++
++	seq_printf(sf, " %ld\n", period);
++}
++
++/* caller should put the current value in *@periodp before calling */
++static int __maybe_unused cpu_period_quota_parse(char *buf,
++						 u64 *periodp, u64 *quotap)
++{
++	char tok[21];	/* U64_MAX */
++
++	if (!sscanf(buf, "%s %llu", tok, periodp))
++		return -EINVAL;
++
++	*periodp *= NSEC_PER_USEC;
++
++	if (sscanf(tok, "%llu", quotap))
++		*quotap *= NSEC_PER_USEC;
++	else if (!strcmp(tok, "max"))
++		*quotap = RUNTIME_INF;
++	else
++		return -EINVAL;
++
++	return 0;
++}
++
++#ifdef CONFIG_CFS_BANDWIDTH
++static int cpu_max_show(struct seq_file *sf, void *v)
++{
++	struct task_group *tg = css_tg(seq_css(sf));
++
++	cpu_period_quota_print(sf, tg_get_cfs_period(tg), tg_get_cfs_quota(tg));
++	return 0;
++}
++
++static ssize_t cpu_max_write(struct kernfs_open_file *of,
++			     char *buf, size_t nbytes, loff_t off)
++{
++	struct task_group *tg = css_tg(of_css(of));
++	u64 period = tg_get_cfs_period(tg);
++	u64 quota;
++	int ret;
++
++	ret = cpu_period_quota_parse(buf, &period, &quota);
++	if (!ret)
++		ret = tg_set_cfs_bandwidth(tg, period, quota);
++	return ret ?: nbytes;
++}
++#endif
++
++static struct cftype cpu_files[] = {
++	{
++		.name = "stat",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_stats_show,
++	},
++#ifdef CONFIG_FAIR_GROUP_SCHED
++	{
++		.name = "weight",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.read_u64 = cpu_weight_read_u64,
++		.write_u64 = cpu_weight_write_u64,
++	},
++#endif
++#ifdef CONFIG_CFS_BANDWIDTH
++	{
++		.name = "max",
++		.flags = CFTYPE_NOT_ON_ROOT,
++		.seq_show = cpu_max_show,
++		.write = cpu_max_write,
++	},
++#endif
++	{ }	/* terminate */
++};
++
+ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.css_alloc	= cpu_cgroup_css_alloc,
+ 	.css_released	= cpu_cgroup_css_released,
+@@ -8569,7 +8702,15 @@ struct cgroup_subsys cpu_cgrp_subsys = {
+ 	.can_attach	= cpu_cgroup_can_attach,
+ 	.attach		= cpu_cgroup_attach,
+ 	.legacy_cftypes	= cpu_legacy_files,
++	.dfl_cftypes	= cpu_files,
+ 	.early_init	= true,
++#ifdef CONFIG_CGROUP_CPUACCT
++	/*
++	 * cpuacct is enabled together with cpu on the unified hierarchy
++	 * and its stats are reported through "cpu.stat".
++	 */
++	.depends_on	= 1 << cpuacct_cgrp_id,
++#endif
+ };
+ 
+ #endif	/* CONFIG_CGROUP_SCHED */
+diff --git a/kernel/sched/cpuacct.c b/kernel/sched/cpuacct.c
+index 3eb9eda..7a02d26 100644
+--- a/kernel/sched/cpuacct.c
++++ b/kernel/sched/cpuacct.c
+@@ -305,6 +305,30 @@ static struct cftype files[] = {
+ 	{ }	/* terminate */
+ };
+ 
++/* used to print cpuacct stats in cpu.stat on the unified hierarchy */
++void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++	struct cgroup_subsys_state *css;
++	u64 usage, user, sys;
++
++	css = cgroup_get_e_css(seq_css(sf)->cgroup, &cpuacct_cgrp_subsys);
++
++	usage = cpuusage_read(css, seq_cft(sf));
++	cpuacct_stats_read(css_ca(css), &user, &sys);
++
++	user *= TICK_NSEC;
++	sys *= TICK_NSEC;
++	do_div(usage, NSEC_PER_USEC);
++	do_div(user, NSEC_PER_USEC);
++	do_div(sys, NSEC_PER_USEC);
++
++	seq_printf(sf, "usage_usec %llu\n"
++		   "user_usec %llu\n"
++		   "system_usec %llu\n", usage, user, sys);
++
++	css_put(css);
++}
++
+ /*
+  * charge this task's execution time to its accounting group.
+  *
+diff --git a/kernel/sched/cpuacct.h b/kernel/sched/cpuacct.h
+index ba72807..ddf7af4 100644
+--- a/kernel/sched/cpuacct.h
++++ b/kernel/sched/cpuacct.h
+@@ -2,6 +2,7 @@
+ 
+ extern void cpuacct_charge(struct task_struct *tsk, u64 cputime);
+ extern void cpuacct_account_field(struct task_struct *tsk, int index, u64 val);
++extern void cpuacct_cpu_stats_show(struct seq_file *sf);
+ 
+ #else
+ 
+@@ -14,4 +15,8 @@ cpuacct_account_field(struct task_struct *tsk, int index, u64 val)
+ {
+ }
+ 
++static inline void cpuacct_cpu_stats_show(struct seq_file *sf)
++{
++}
++
+ #endif
diff --git a/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
new file mode 100644
index 00000000000..6d48fde6bee
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
@@ -0,0 +1,21 @@
+Patches for CPU Controller on Control Group v2
+===============================================
+
+See Tejun Heo's [explanation][1] for why these patches are currently
+out-of-tree.
+
+Generating the patches
+-----------------------
+
+In a linux checkout, with remote tc-cgroup pointing to
+git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git, your
+nixpkgs checkout in the same directory as your linux checkout (or
+modify the command accordingly), and setting `ver` to the appropriate
+version:
+
+```shell
+$ ver=4.7
+$ git log --reverse --patch v$ver..remotes/tc-cgroup/cgroup-v2-cpu-v$ver > ../nixpkgs/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/$ver.patch
+```
+
+[1]: https://git.kernel.org/cgit/linux/kernel/git/tj/cgroup.git/tree/Documentation/cgroup-v2-cpu.txt?h=cgroup-v2-cpu
diff --git a/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/default.nix b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/default.nix
new file mode 100644
index 00000000000..5bef5633aa0
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/default.nix
@@ -0,0 +1,11 @@
+let
+  ents = builtins.readDir ./.;
+in builtins.listToAttrs (builtins.filter (x: x != null) (map (name: let
+  match = builtins.match "(.*)\\.patch" name;
+in if match == null then null else {
+  name = builtins.head match;
+  value = {
+    name = "cpu-cgroup-v2-${name}";
+    patch = ./. + "/${name}";
+  };
+}) (builtins.attrNames ents)))
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 278548f09e9..3d98da9526b 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.61";
+  version = "3.12.62";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1q44z8gdbrw76vl5wbm8y2vy119lacxyaf2xi6q9jasvwkjc4h36";
+    sha256 = "0a9vghq3z5xhr9xssfivb78d3i74h4kn15wqgls1cw5qzyhc1wb0";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.14.nix b/pkgs/os-specific/linux/kernel/linux-3.14.nix
index f06526ea52d..fdc5cc802a1 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.14.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.14.73";
+  version = "3.14.77";
   extraMeta.branch = "3.14";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "17wpb2za3kymk88xk68k8qhlc4vvhky9wvcwyfbiq5hblf98ghgy";
+    sha256 = "1v3cc3ddla2b8gkwbms4x3lbjygw87r13150nikf1gc0hf64rqp0";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 975a60ff6bf..98151295d1b 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.36";
+  version = "3.18.40";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0iqyll1p1pkyl5rj440kjg483gqhhg6z7r61ln6rzbqm5g943fvq";
+    sha256 = "0x94lp4vkw1472m8sq308r8aw96nirkwppkjvqi2240ayw89d5jb";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 9b23d370775..1f89edecfe6 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.30";
+  version = "4.1.31";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1iljmpr3b07fwhzzxkmx0pqz6ja8cnkx4fv52glcjrp6rjpfl8lx";
+    sha256 = "0madbh1sdkf8gk6ns0zacygvfrpzrl1vd1a4qw8py7slg1bpk79n";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index ef2bf819539..b1892e51600 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.18";
+  version = "4.4.19";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0b2pna9l8hl2dc07faii3i0ixy382476pmh50wl1j8v1bz50rfg6";
+    sha256 = "1566d8x0ljdsgcgazj7paia3m3qfjw0hw3qh9dg6yd321dphrbam";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 37e5da5a905..da2296bb22a 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.7-rc7";
-  modDirVersion = "4.7.0-rc7";
+  version = "4.8-rc3";
+  modDirVersion = "4.8.0-rc3";
   extraMeta.branch = "4.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "11c87rhxlrmag9hhg1m8zfff0d52yrzvhyjj9dxfa3nmxj4sfbb7";
+    sha256 = "08ir3w034qkalyi8mc6czgk9mcglm7wfazr2md94a8x98j69v38r";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 26311c326fb..1b4a83cb114 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -144,4 +144,6 @@ rec {
         sha256 = "14rm1qr87p7a5prz8g5fwbpxzdp3ighj095x8rvhm8csm20wspyy";
       };
     };
+
+  cpu-cgroup-v2 = import ./cpu-cgroup-v2-patches;
 }
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index 22ff351e45a..1327a349474 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libsepol, pcre
+{ stdenv, fetchurl, fetchpatch, pkgconfig, libsepol, pcre
 , enablePython ? true, swig ? null, python ? null
 }:
 
@@ -21,6 +21,15 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-fstack-protector-all -std=gnu89";
 
+  # Unreleased upstream patch that fixes Python package issue arising
+  # from recent SWIG changes.
+  patches = optional enablePython (fetchpatch {
+    name = "fix-python-swig.patch";
+    url = "https://github.com/SELinuxProject/selinux/commit/a9604c30a5e2f71007d31aa6ba41cf7b95d94822.patch";
+    sha256 = "0mjrclh0sd8m7vq0wvl6pg29ss415j3kn0266v8ixy4fprafagfp";
+    stripLen = 1;
+  });
+
   postPatch = optionalString enablePython ''
     sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
   '';
diff --git a/pkgs/os-specific/linux/sysklogd/default.nix b/pkgs/os-specific/linux/sysklogd/default.nix
index fd1d932990e..c1cf77e63c8 100644
--- a/pkgs/os-specific/linux/sysklogd/default.nix
+++ b/pkgs/os-specific/linux/sysklogd/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
 
   patches = [ ./systemd.patch ];
 
+  NIX_CFLAGS_COMPILE = "-DSYSV";
+
   installFlags = "BINDIR=$(out)/sbin MANDIR=$(out)/share/man INSTALL=install";
 
   preConfigure =
diff --git a/pkgs/servers/http/apache-httpd/2.4.nix b/pkgs/servers/http/apache-httpd/2.4.nix
index aa3ea07de53..f73ca2add06 100644
--- a/pkgs/servers/http/apache-httpd/2.4.nix
+++ b/pkgs/servers/http/apache-httpd/2.4.nix
@@ -16,12 +16,12 @@ assert ldapSupport -> aprutil.ldapSupport && openldap != null;
 assert http2Support -> nghttp2 != null;
 
 stdenv.mkDerivation rec {
-  version = "2.4.20";
+  version = "2.4.23";
   name = "apache-httpd-${version}";
 
   src = fetchurl {
     url = "mirror://apache/httpd/httpd-${version}.tar.bz2";
-    sha1 = "cefe8ea4a3f81c7a08e36c80ebbd792c67ab361b";
+    sha256 = "0n2yx3gjlpr4kgqx845fj6amnmg25r2l6a7rzab5hxnpmar985hc";
   };
 
   # FIXME: -dev depends on -doc
diff --git a/pkgs/servers/mail/postfix/pflogsumm.nix b/pkgs/servers/mail/postfix/pflogsumm.nix
new file mode 100644
index 00000000000..f73a22e130a
--- /dev/null
+++ b/pkgs/servers/mail/postfix/pflogsumm.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, buildPerlPackage, perlPackages
+}:
+
+buildPerlPackage rec {
+  name = "pflogsumm-${version}";
+  version = "1.1.3";
+
+  src = fetchurl {
+    url = "http://jimsun.linxnet.com/downloads/${name}.tar.gz";
+    sha256 = "0hkim9s5f1yg5sfs5048jydhy3sbxafls496wcjk0cggxb113py4";
+  };
+
+  outputs = [ "out" "man" ];
+  buildInputs = [ perlPackages.DateCalc ];
+
+  preConfigure = ''
+    touch Makefile.PL
+  '';
+  doCheck = false;
+
+  installPhase = ''
+    mkdir -p "$out/bin"
+    mv "pflogsumm.pl" "$out/bin/pflogsumm"
+
+    mkdir -p "$out/share/man/man1"
+    mv "pflogsumm.1" "$out/share/man/man1"
+  '';
+
+  meta = {
+    homepage = "http://jimsun.linxnet.com/postfix_contrib.html";
+    description = "Postfix activity overview";
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index b228ab82609..57abffa601f 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -12,13 +12,13 @@ let
 in
 buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.17.0";
+  version = "0.17.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "0rkaadc1vkg6p3d91yid2y6a0l7drbvpkqa8v7f50gpcbdzn1l93";
+    sha256 = "04wl6lznffxhvfq52cmbg2amkl03454wyaqc17i0zlc6b0p14dli";
   };
 
   patches = [ ./matrix-synapse.patch ];
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 69d6377b664..7dbdf5f04a2 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, lua }:
 
 stdenv.mkDerivation rec {
-  version = "3.2.2";
+  version = "3.2.3";
   name = "redis-${version}";
 
   src = fetchurl {
     url = "http://download.redis.io/releases/${name}.tar.gz";
-    sha256 = "05cf63502b2248b5d39588962100bfa4fcb47dabd56931a8cb60b301b1d8daea";
+    sha256 = "05az2g3gna5lkhh6x1a5m6yardbiig1l4ysggldlk5if8ww9qkk7";
   };
 
   buildInputs = [ lua ];
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
new file mode 100644
index 00000000000..e1e6dacfe98
--- /dev/null
+++ b/pkgs/servers/search/groonga/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, mecab, kytea, libedit, pkgconfig
+, suggestSupport ? false, zeromq, libevent, libmsgpack
+, lz4Support ? false, lz4
+, zlibSupport ? false, zlib
+}:
+
+stdenv.mkDerivation rec {
+
+  name    = "groonga-${version}";
+  version = "6.0.7";
+
+  src = fetchurl {
+    url    = "http://packages.groonga.org/source/groonga/groonga-6.0.7.tar.gz";
+    sha256 = "19vpjjq3mqaqy9idlmqg2agrz9dc48a9id8j7nx158pkwjvpj7jf";
+  };
+
+  buildInputs = with stdenv.lib; [ pkgconfig mecab kytea libedit ] ++
+    optional lz4Support lz4 ++
+    optional zlibSupport zlib ++
+    optional suggestSupport [ zeromq libevent libmsgpack ];
+
+  configureFlags = with stdenv.lib; ''
+    ${optionalString zlibSupport "--with-zlib"}
+    ${optionalString lz4Support "--with-lz4"}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://groonga.org/;
+    description = "An open-source fulltext search engine and column store";
+
+    longDescription = ''
+      Groonga is an open-source fulltext search engine and column store. 
+      It lets you write high-performance applications that requires fulltext search.
+    '';
+
+    license = licenses.lgpl21;
+
+    maintainers = [ maintainers.ericsagnes ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/servers/sip/freeswitch/default.nix b/pkgs/servers/sip/freeswitch/default.nix
index 1cce4c518ea..977575491f5 100644
--- a/pkgs/servers/sip/freeswitch/default.nix
+++ b/pkgs/servers/sip/freeswitch/default.nix
@@ -1,16 +1,20 @@
-{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline, openssl, perl, libjpeg
-, libzrtpcpp }:
+{ fetchurl, stdenv, ncurses, curl, pkgconfig, gnutls, readline
+, openssl, perl, sqlite, libjpeg, libzrtpcpp, speex, pcre
+, ldns, libedit, yasm, which, lua, libopus, libsndfile }:
 
 stdenv.mkDerivation rec {
-  name = "freeswitch-1.6.6";
+  name = "freeswitch-1.6.9";
 
   src = fetchurl {
-    url = "http://files.freeswitch.org/releases/freeswitch/${name}.tar.bz2";
-    sha256 = "0kfvn5f75c6r6yp18almjz9p6llvpm66gpbxcjswrg3ddgbkzg0k";
+    url = "http://files.freeswitch.org/freeswitch-releases/${name}.tar.bz2";
+    sha256 = "0g0x4m8rb2ybpxwrszb4w37rb10v9fbszm7l2skjakf4dx0gw5i7";
   };
 
-  buildInputs = [ ncurses curl pkgconfig gnutls readline openssl perl libjpeg
-    libzrtpcpp ];
+  buildInputs = [
+    ncurses curl pkgconfig gnutls readline openssl perl libjpeg
+    sqlite libzrtpcpp pcre speex ldns libedit yasm which lua libopus
+    libsndfile
+  ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
diff --git a/pkgs/shells/rc/default.nix b/pkgs/shells/rc/default.nix
new file mode 100644
index 00000000000..298c4a1c32f
--- /dev/null
+++ b/pkgs/shells/rc/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl, autoreconfHook
+, ncurses #acinclude.m4 wants headers for tgetent().
+, historySupport ? false
+, readline ? null
+}:
+
+stdenv.mkDerivation rec {
+  name = "rc-${version}";
+  version = "1.7.4";
+
+  src = fetchurl {
+    url = "http://static.tobold.org/rc/rc-${version}.tar.gz";
+    sha256 = "1n5zz6d6z4z6s3fwa0pscqqawy561k4xfnmi91i626hcvls67ljy";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ ncurses ]
+    ++ stdenv.lib.optionals (readline != null) [ readline ];
+
+  configureFlags = [
+    "--enable-def-interp=${stdenv.shell}" #183
+    ] ++ stdenv.lib.optionals historySupport [ "--with-history" ]
+    ++ stdenv.lib.optionals (readline != null) [ "--with-edit=readline" ];
+
+  prePatch = ''
+    substituteInPlace configure.ac \
+      --replace "date -I" "echo 2015-05-13" #reproducible-build
+  '';
+
+  passthru = {
+    shellPath = "/bin/rc";
+  };
+
+  meta = with stdenv.lib; {
+    description = "The Plan 9 shell";
+    longDescription = "Byron Rakitzis' UNIX reimplementation of Tom Duff's Plan 9 shell.";
+    homepage = http://tobold.org/article/rc;
+    license = with licenses; zlib;
+    maintainers = with maintainers; [ ramkromberg ];
+    platforms = with platforms; all;
+  };
+}
diff --git a/pkgs/shells/tcsh/default.nix b/pkgs/shells/tcsh/default.nix
index 419acd8d61d..02702510014 100644
--- a/pkgs/shells/tcsh/default.nix
+++ b/pkgs/shells/tcsh/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jaw51382pqyb6d1kgfg8ir0wd3p5qr2bmg8svcmjhlyp3h73qhj";
   };
 
-  patches = [ ./avoid-gcc5-wrong-optimisation.patch ];
+  patches = [ ./avoid-gcc5-wrong-optimisation.patch ./tcsh.glibc-2.24.patch ];
   
   buildInputs = [ ncurses ];
 
diff --git a/pkgs/shells/tcsh/tcsh.glibc-2.24.patch b/pkgs/shells/tcsh/tcsh.glibc-2.24.patch
new file mode 100644
index 00000000000..267d89c8f1b
--- /dev/null
+++ b/pkgs/shells/tcsh/tcsh.glibc-2.24.patch
@@ -0,0 +1,21 @@
+Proposed patch from Debian bug tracker by Aurelien Jarno <aurel32@debian.org>
+
+diff --git a/sh.proc.c b/sh.proc.c
+index ad07250..5c68409 100644
+--- a/sh.proc.c
++++ b/sh.proc.c
+@@ -47,11 +47,11 @@ RCSID("$tcsh$")
+ # define HZ 16
+ #endif /* aiws */
+ 
+-#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
+-# if !defined(__ANDROID__)
++#if defined(_BSD) || (defined(IRIS4D) && __STDC__) || defined(__lucid) || defined(__linux__) || defined(__GLIBC__)
++# if !defined(__ANDROID__) && !defined(__GLIBC__)
+ #  define BSDWAIT
+ # endif
+-#endif /* _BSD || (IRIS4D && __STDC__) || __lucid || glibc */
++#endif /* _BSD || (IRIS4D && __STDC__) || __lucid || gnu-linux */
+ #ifndef WTERMSIG
+ # define WTERMSIG(w)	(((union wait *) &(w))->w_termsig)
+ # ifndef BSDWAIT
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 522c28905a8..af82788d3fa 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -16,6 +16,7 @@ let
       libc = "glibc";
       platform = pkgsNoParams.platforms.sheevaplug;
       openssl.system = "linux-generic32";
+      inherit (platform) gcc;
     };
   };
 
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 7da43d6fa71..27ca19178a0 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -4,18 +4,18 @@ with python27Packages;
 
 stdenv.mkDerivation rec {
   name = "google-cloud-sdk-${version}";
-  version = "113.0.0";
+  version = "122.0.0";
 
   src =
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86.tar.gz";
-        sha256 = "0v90am3zb77c1d4qbm8pn3mn4xc9xbcw48clca2v5mr5g48aq221";
+        sha256 = "0nx348yx1avbb34bpj316fb7jzyzkylscyx8kv183rg4s1q2f798";
       }
     else
       fetchurl {
         url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86_64.tar.gz";
-        sha256 = "1fjc80i1szzppib5pplw3vxh83vzkimlfcpg82vakyhvbjndnqyr";
+        sha256 = "0jhw8yv2kv0fs64rzvddx3szzpn74nqnd3rbd9wx2vi6nmffkrwv";
       };
 
   buildInputs = [python27 makeWrapper];
diff --git a/pkgs/tools/bootloaders/refind/default.nix b/pkgs/tools/bootloaders/refind/default.nix
index f38b24c0fc0..5121ecc9477 100644
--- a/pkgs/tools/bootloaders/refind/default.nix
+++ b/pkgs/tools/bootloaders/refind/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl
-, unzip, gnu-efi, efibootmgr, dosfstools, imagemagick }:
+{ stdenv, fetchurl, fetchpatch
+, gnu-efi, efibootmgr, dosfstools, imagemagick }:
 
 assert (stdenv.system == "x86_64-linux" ||stdenv.system == "i686-linux");
 
@@ -9,11 +9,19 @@ stdenv.mkDerivation rec {
   srcName = "refind-src-${meta.version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/project/refind/${meta.version}/${srcName}.zip";
-    sha256 = "0ai150rzx20sfl92j6y1p6qnyy0wbmazrlp2fg19acs98qyxl8lh";
+    url = "mirror://sourceforge/project/refind/${meta.version}/${srcName}.tar.gz";
+    sha256 = "1r2qp29mz08lx36i7x52i2598773bxvfhwryd954ssq2baifjav5";
   };
 
-  buildInputs = [ unzip gnu-efi efibootmgr dosfstools imagemagick ];
+  patches = [
+    (fetchpatch {
+      url = "https://bugs.debian.org/cgi-bin/bugreport.cgi?att=1;bug=831258;filename=002-efiprot.patch;msg=10";
+      sha256 = "17h03h5mgkpamcj9jcq8h6x2admpknysrbdwccg7yxirlc52fc2s";
+      name = "002-efiprot.patch";
+    })
+  ];
+
+  buildInputs = [ gnu-efi efibootmgr dosfstools imagemagick ];
 
   hardeningDisable = [ "stackprotector" ];
 
@@ -22,7 +30,7 @@ stdenv.mkDerivation rec {
     else if stdenv.system == "i686-linux" then "ia32"
     else "null";
 
-  patchPhase = ''
+  postPatch = ''
     sed -e 's|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -maccumulate-outgoing-args|g' -i Make.common
     sed -e 's|-DEFIX64|-DEFIX64 -maccumulate-outgoing-args|g' -i Make.common
     sed -e 's|-m64|-maccumulate-outgoing-args -m64|g' -i filesystems/Make.gnuefi
@@ -57,9 +65,9 @@ stdenv.mkDerivation rec {
     install -D -m0644 gptsync/gptsync_${HOSTARCH}.efi $out/share/refind/tools_${HOSTARCH}/gptsync_${HOSTARCH}.efi
 
     # helper scripts
-    install -D -m0755 install.sh $out/bin/refind-install
-    install -D -m0755 mkrlconf.sh $out/bin/refind-mkrlconf
-    install -D -m0755 mvrefind.sh $out/bin/refind-mvrefind
+    install -D -m0755 refind-install $out/bin/refind-install
+    install -D -m0755 mkrlconf $out/bin/refind-mkrlconf
+    install -D -m0755 mvrefind $out/bin/refind-mvrefind
     install -D -m0755 fonts/mkfont.sh $out/bin/refind-mkfont
 
     # sample config files
@@ -78,7 +86,7 @@ stdenv.mkDerivation rec {
     rm -f $out/share/refind/fonts/mkfont.sh
 
     # icons
-    install -D -m0644 icons/* $out/share/refind/icons/
+    install -D -m0644 icons/*.png $out/share/refind/icons/
 
     # images
     install -D -m0644 images/*.{png,bmp} $out/share/refind/images/
@@ -92,11 +100,10 @@ stdenv.mkDerivation rec {
     # Post-install fixes
     sed -e "s|^ThisDir=.*|ThisDir=$out/share/refind/|g" -i $out/bin/refind-install
     sed -e "s|^RefindDir=.*|RefindDir=$out/share/refind/|g" -i $out/bin/refind-install
-    sed -e "s|^ThisScript=.*|ThisScript=$out/bin/refind-install|g" -i $out/bin/refind-install
   '';
 
   meta = with stdenv.lib; {
-    version = "0.9.2";
+    version = "0.10.3";
     description = "A graphical {,U}EFI boot manager";
     longDescription = ''
       rEFInd is a graphical boot manager for EFI- and UEFI-based
diff --git a/pkgs/tools/graphics/neural-style/default.nix b/pkgs/tools/graphics/neural-style/default.nix
new file mode 100644
index 00000000000..4efa6aa2976
--- /dev/null
+++ b/pkgs/tools/graphics/neural-style/default.nix
@@ -0,0 +1,57 @@
+{stdenv, fetchFromGitHub, torch, loadcaffe, fetchurl, bash}:
+stdenv.mkDerivation rec {
+  name = "neural-style-${version}";
+  version = "0.0pre2016.08.15";
+  buildInputs = [torch loadcaffe];
+  src = fetchFromGitHub {
+    owner = "jcjohnson";
+    repo = "neural-style";
+    rev = "ec5ba3a690d3090428d3b92b0c5d686a311bf432";
+    sha256 = "14qzbs9f95izvd0vbbirhymdw9pq2nw0jvhrh7vnyzr99xllwp02";
+  };
+  models = [
+    (fetchurl {
+      url = "https://gist.githubusercontent.com/ksimonyan/3785162f95cd2d5fee77/raw/bb2b4fe0a9bb0669211cf3d0bc949dfdda173e9e/VGG_ILSVRC_19_layers_deploy.prototxt";
+      sha256 = "09cpz7pyvc8sypg2q5j2i8yqwj1sjdbnmd6skl293p9pv13dmjg7";
+    })
+    (fetchurl {
+      url = "https://bethgelab.org/media/uploads/deeptextures/vgg_normalised.caffemodel";
+      sha256 = "11qckdvlck7wwl3pan0nawgxm8l2ccddi272i5l8rs9qzm7b23rf";
+    })
+    (fetchurl {
+      url = "http://www.robots.ox.ac.uk/~vgg/software/very_deep/caffe/VGG_ILSVRC_19_layers.caffemodel";
+      sha256 = "0m399x7pl4lnhy435ycsyz8xpzapqmx9n1sz698y2vhcqhkwdd1i";
+    })
+  ];
+  installPhase = ''
+    mkdir -p "$out"/{bin,lib/lua/neural-style/models,share/doc/neural-style,share/neural-style}
+    for file in $models; do
+      cp "$file" "$out/lib/lua/neural-style/models/$(basename "$file" | sed -e 's/[^-]*-//')"
+    done;
+    cp README* INSTALL* LICEN?E* "$out"/share/doc/neural-style/
+    cp neural_style.lua "$out"/lib/lua/neural-style
+
+    substituteAll "${./neural-style.sh}" "$out/bin/neural-style"
+    chmod a+x "$out/bin/neural-style"
+    cp "$out/bin/neural-style" .
+    cp "$out/lib/lua/neural-style/models/"* models/
+
+    echo "Testing..."
+
+    "$out/bin/neural-style" -style_image examples/inputs/golden_gate.jpg \
+      -content_image examples/inputs/golden_gate.jpg -output_image $PWD/test.png \
+      -gpu -1 -save_iter 1 -print_iter 1 -num_iterations 1 || true
+
+    cp -f "$out/lib/lua/neural-style/models/"* models/
+
+    test -e test.png || exit 1
+  '';
+  inherit torch bash loadcaffe;
+  meta = {
+    inherit version;
+    description = ''A torch implementation of the paper A Neural Algorithm of Artistic Style'';
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/graphics/neural-style/neural-style.sh b/pkgs/tools/graphics/neural-style/neural-style.sh
new file mode 100644
index 00000000000..07a4d6dedc0
--- /dev/null
+++ b/pkgs/tools/graphics/neural-style/neural-style.sh
@@ -0,0 +1,25 @@
+#! @bash@/bin/bash
+
+declare -a args
+c=1
+flag=
+
+for arg in "$@"; do
+        if test "$arg" = "${arg#-}" && test "$arg" = "${arg#/}" && test -n "$flag"; then
+                arg="$PWD/$arg"
+                flag=
+        elif test "$arg" != "${arg%_image}" && test "$arg" != "${arg#-}"; then
+                flag=1
+        else
+                flag=
+        fi
+        args[c]="$arg";
+        c=$((c+1));
+done
+
+cd "@out@/lib/lua/neural-style"
+
+export LUA_PATH="$LUA_PATH${LUA_PATH:+;}@loadcaffe@/lua/?/init.lua;@loadcaffe@/lua/?.lua"
+export LUA_CPATH="$LUA_CPATH${LUA_CPATH:+;}@loadcaffe@/lib/?.so"
+
+@torch@/bin/th neural_style.lua "${args[@]}"
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index 47cf0a60c2f..c6bde4c5b0c 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libpng ];
 
   # disable failing test on i686
+  # https://lists.gnu.org/archive/html/bug-plotutils/2016-04/msg00002.html
   prePatch = stdenv.lib.optionalString stdenv.isi686 ''
     substituteInPlace test/Makefile.in --replace 'spline.test' ' '
   '';
diff --git a/pkgs/tools/graphics/quirc/default.nix b/pkgs/tools/graphics/quirc/default.nix
index 2769a988669..a801dd8ebda 100644
--- a/pkgs/tools/graphics/quirc/default.nix
+++ b/pkgs/tools/graphics/quirc/default.nix
@@ -1,17 +1,17 @@
-{stdenv, fetchgit, SDL_gfx, SDL, libjpeg, pkgconfig}:
+{stdenv, fetchgit, SDL_gfx, SDL, libjpeg, libpng, pkgconfig}:
 let
   s =
   rec {
-    date = "2014-11-01";
+    date = "2016-08-16";
     version = "git-${date}";
     baseName = "quirc";
     name = "${baseName}-${version}";
     url = "https://github.com/dlbeer/quirc";
-    rev = "3a3df0d1d6adc59fdc2cadecfaed91650b84cacb";
-    sha256 = "1r7jzxl4j93dmky8p5szpcxq7i5f7p1kfrklnzhazlizjc7a2844";
+    rev = "5b262480091d5f84a67a4a56c728fc8b39844339";
+    sha256 = "1w5qvjafn14s6jjs7kiwsqirlsqbgv0p152hrsq463pm34hp0lzy";
   };
   buildInputs = [
-    SDL SDL_gfx libjpeg pkgconfig
+    SDL SDL_gfx libjpeg pkgconfig libpng
   ];
 in
 stdenv.mkDerivation {
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     inherit (s) url sha256 rev;
   };
-  NIX_CFLAGS_COMPILE="-I${SDL.dev}/include/SDL";
+  NIX_CFLAGS_COMPILE="-I${SDL.dev}/include/SDL -I${SDL_gfx}/include/SDL";
   configurePhase = ''
     sed -e 's/-[og] root//g' -i Makefile
   '';
diff --git a/pkgs/tools/misc/exa/default.nix b/pkgs/tools/misc/exa/default.nix
index 62f8d31ee7e..d743a68c83b 100644
--- a/pkgs/tools/misc/exa/default.nix
+++ b/pkgs/tools/misc/exa/default.nix
@@ -6,7 +6,7 @@ buildRustPackage rec {
   name = "exa-${version}";
   version = "2016-04-20";
 
-  depsSha256 = "0nyrdl57nhr3lxqs3gaij3mdmlrm0z52qv6mznvgw0ziwqmlq5w1";
+  depsSha256 = "0qsqkgc1wxigvskhaamgfp5pyc2kprsikhcfccysgs07w44nxkd0";
 
   src = fetchFromGitHub {
     owner = "ogham";
diff --git a/pkgs/tools/misc/system-config-printer/default.nix b/pkgs/tools/misc/system-config-printer/default.nix
index 67ec9585c7a..ab4a008fa09 100644
--- a/pkgs/tools/misc/system-config-printer/default.nix
+++ b/pkgs/tools/misc/system-config-printer/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchurl, udev, intltool, pkgconfig, glib, xmlto
 , makeWrapper, gtk3, docbook_xml_dtd_412, docbook_xsl
 , libxml2, desktop_file_utils, libusb1, cups, gdk_pixbuf, pango, atk, libnotify
+, cups-filters
 , pythonPackages
 , withGUI ? true
 }:
@@ -39,7 +40,9 @@ in stdenv.mkDerivation rec {
       giTypelibPath = stdenv.lib.makeSearchPath "lib/girepository-1.0" [ gdk_pixbuf.out gtk3.out pango.out atk.out libnotify.out ];
     in
     ''
-      export makeWrapperArgs="--set prefix $out --set GI_TYPELIB_PATH ${giTypelibPath}"
+      export makeWrapperArgs="--set prefix $out \
+          --set GI_TYPELIB_PATH ${giTypelibPath} \
+          --set CUPS_DATADIR ${cups-filters}/share/cups"
       wrapPythonPrograms
       # The program imports itself, so we need to move shell wrappers to a proper place.
       fixupWrapper() {
@@ -59,6 +62,10 @@ in stdenv.mkDerivation rec {
 
       # The below line will be unneeded when the next upstream release arrives.
       sed -i -e "s|/usr/bin|$out/bin|" "$out/share/dbus-1/services/org.fedoraproject.Config.Printing.service"
+
+      # Manually expand literal "$(out)", which have failed to expand
+      sed -e "s|ExecStart=\$(out)|ExecStart=$out|" \
+          -i "$out/etc/systemd/system/configure-printer@.service"
     '';
 
   meta = {
diff --git a/pkgs/tools/misc/unclutter-xfixes/default.nix b/pkgs/tools/misc/unclutter-xfixes/default.nix
new file mode 100644
index 00000000000..dd13a0d9adc
--- /dev/null
+++ b/pkgs/tools/misc/unclutter-xfixes/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchFromGitHub,
+  xlibsWrapper, libev, libXi, libXfixes,
+  pkgconfig, asciidoc, libxslt, docbook_xsl }:
+
+let version = "1.2"; in
+
+stdenv.mkDerivation {
+  name = "unclutter-xfixes-${version}";
+  version = version;
+  
+  src = fetchFromGitHub {
+    owner = "Airblader";
+    repo = "unclutter-xfixes";
+    rev = "v${version}";
+    sha256 = "1pw567mj7mq5kr8mqnyrvy7jj62qfg6zgqfyzz21nncslddnjzg8";
+  };
+
+  nativeBuildInputs = [pkgconfig];
+  buildInputs = [
+    xlibsWrapper libev libXi libXfixes
+    asciidoc libxslt docbook_xsl
+  ];
+
+  postPatch = ''
+    substituteInPlace Makefile --replace "CC = gcc" "CC = cc"
+  '';
+
+  preBuild = ''
+    # The Makefile calls git only to discover the package version,
+    # but that doesn't work right in the build environment,
+    # so we fake it.
+    git() { echo v${version}; }
+    export -f git
+  '';
+
+  preInstall = ''
+    export DESTDIR=$out MANDIR=/man/man1
+  '';
+  
+  postInstall = ''
+    mv $out/usr/bin $out/bin
+    mv $out/usr/share/man $out/man
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Rewrite of unclutter using the X11 Xfixes extension";
+    platforms = platforms.unix;
+    license = stdenv.lib.licenses.mit;
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/misc/vmtouch/default.nix b/pkgs/tools/misc/vmtouch/default.nix
index 34328b339fc..ec2f9c63547 100644
--- a/pkgs/tools/misc/vmtouch/default.nix
+++ b/pkgs/tools/misc/vmtouch/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "vmtouch";
-  version = "1.0.2";
+  version = "1.1.0";
   name = "${pname}-git-${version}";
 
   src = fetchFromGitHub {
     owner = "hoytech";
     repo = "vmtouch";
-    rev = "vmtouch-${version}";
-    sha256 = "0m4s1am1r3qp8si3rnc8j2qc7sbf1k3gxvxr6fnpbf8fcfhh6cay";
+    rev = "v${version}";
+    sha256 = "1cr8bw3favdvc3kc05n1r7f5fibqqv54bn3z2jwj70br8s5g0qx0";
   };
 
   buildInputs = [perl];
diff --git a/pkgs/tools/misc/yad/default.nix b/pkgs/tools/misc/yad/default.nix
index 2c8660a4913..52d23d141fc 100644
--- a/pkgs/tools/misc/yad/default.nix
+++ b/pkgs/tools/misc/yad/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
+{ stdenv, fetchurl, pkgconfig, intltool, gtk2, hicolor_icon_theme
+, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
-
-  name = "yad-0.25.1";
+  name = "yad-0.37.0";
 
   src = fetchurl {
-    url = "http://yad.googlecode.com/files/${name}.tar.xz";
-    sha256 = "1pljs9799xa2w3y2vjg93gqkv76z0pjh947djd7179yq3kryb57a";
+    url = "http://sourceforge.net/projects/yad-dialog/files/${name}.tar.xz";
+    sha256 = "0fhqsgml1axaa9avd0hbam5wm77c2c7q1bz4hs7fvyvdnljazvwi";
   };
 
   configureFlags = [
@@ -16,19 +16,17 @@ stdenv.mkDerivation rec {
   # for gcc5: c11 inline semantics breaks the build
   NIX_CFLAGS_COMPILE = "-fgnu89-inline";
 
-  buildInputs = [ gtk2 ];
+  buildInputs = [ gtk2 hicolor_icon_theme ];
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool wrapGAppsHook ];
 
   postPatch = ''
     sed -i src/file.c -e '21i#include <glib/gprintf.h>'
     sed -i src/form.c -e '21i#include <stdlib.h>'
   '';
 
-  preFixup = "rm $out/share/icons/hicolor/icon-theme.cache";
-
   meta = {
-    homepage = "http://code.google.com/p/yad/";
+    homepage = "http://yad-dialog.sourceforge.net/";
     description = "GUI dialog tool for shell scripts";
     longDescription = ''
       Yad (yet another dialog) is a GUI dialog tool for shell scripts. It is a
diff --git a/pkgs/tools/networking/argus-clients/default.nix b/pkgs/tools/networking/argus-clients/default.nix
new file mode 100644
index 00000000000..fe30a1eab82
--- /dev/null
+++ b/pkgs/tools/networking/argus-clients/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers, pkgconfig, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "argus-clients";
+  version = "3.0.8.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://qosient.com/argus/src/${name}.tar.gz";
+    sha256 = "1c9vj6ma00gqq9h92fg71sxcsjzz912166sdg90ahvnmvmh3l1rj";
+  };
+
+  patchPhase = ''
+    for file in ./examples/*/*.pl; do
+      substituteInPlace $file \
+        --subst-var-by PERLBIN ${perl}/bin/perl
+    done
+    '';
+
+  configureFlags = "--with-perl=${perl}/bin/perl";
+
+  buildInputs = [ libpcap pkgconfig bison cyrus_sasl tcp_wrappers flex ];
+
+  meta = with stdenv.lib; {
+    description = "Clients for ARGUS";
+    longDescription = ''Clients for Audit Record Generation and
+    Utilization System (ARGUS). The Argus Project is focused on developing all
+    aspects of large scale network situtational awareness derived from
+    network activity audit. Argus, itself, is next-generation network
+    flow technology, processing packets, either on the wire or in
+    captures, into advanced network flow data. The data, its models,
+    formats, and attributes are designed to support Network
+    Operations, Performance and Security Management. If you need to
+    know what is going on in your network, right now or historically,
+    you will find Argus a useful tool. '';
+    homepage = http://qosient.com/argus;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/argus/default.nix b/pkgs/tools/networking/argus/default.nix
new file mode 100644
index 00000000000..673f98e2f3a
--- /dev/null
+++ b/pkgs/tools/networking/argus/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, libpcap, bison, flex, cyrus_sasl, tcp_wrappers,
+  pkgconfig, procps, which, wget, lsof, net_snmp, bash, perl }:
+
+stdenv.mkDerivation rec {
+  pname = "argus";
+  version = "3.0.8.2";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://qosient.com/argus/src/${name}.tar.gz";
+    sha256 = "1zzf688dbbcb5z2r9v1p28rddns6znzx35nc05ygza6lp7aknkna";
+  };
+
+  buildInputs = [ libpcap pkgconfig bison cyrus_sasl tcp_wrappers flex ];
+  propagatedBuildInputs = [ procps which wget lsof net_snmp ];
+
+  patchPhase = ''
+     substituteInPlace events/argus-extip.pl \
+       --subst-var-by PERLBIN ${perl}/bin/perl
+    substituteInPlace events/argus-lsof.pl \
+      --replace "\`which lsof\`" "\"${lsof}/bin/lsof\"" \
+      --subst-var-by PERLBIN ${perl}/bin/perl
+    substituteInPlace events/argus-vmstat.sh \
+      --replace vm_stat ${procps}/bin/vmstat
+    substituteInPlace events/argus-snmp.sh \
+      --replace /usr/bin/snmpget ${net_snmp}/bin/snmpget \
+      --replace /usr/bin/snmpwalk ${net_snmp}/bin/snmpwalk
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Audit Record Generation and Utilization System for networks";
+    longDescription = ''The Argus Project is focused on developing all
+    aspects of large scale network situtational awareness derived from
+    network activity audit. Argus, itself, is next-generation network
+    flow technology, processing packets, either on the wire or in
+    captures, into advanced network flow data. The data, its models,
+    formats, and attributes are designed to support Network
+    Operations, Performance and Security Management. If you need to
+    know what is going on in your network, right now or historically,
+    you will find Argus a useful tool. '';
+    homepage = http://qosient.com/argus;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ leenaars ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/dhcpcd/default.nix b/pkgs/tools/networking/dhcpcd/default.nix
index 578fe6ea4f7..766e7505f27 100644
--- a/pkgs/tools/networking/dhcpcd/default.nix
+++ b/pkgs/tools/networking/dhcpcd/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, udev }:
 
 stdenv.mkDerivation rec {
-  name = "dhcpcd-6.10.1";
+  name = "dhcpcd-6.11.3";
 
   src = fetchurl {
     url = "mirror://roy/dhcpcd/${name}.tar.xz";
-    sha256 = "0yxfx3r6ik47rsv1f8q7siw0vas6jcsrbjpaqnx0nn707f6byji8";
+    sha256 = "01lv4a7ls55iv9f9gkh6vswqmbpqkdzj4d8ayq4dcir9vz215gas";
   };
 
   buildInputs = [ pkgconfig udev ];
diff --git a/pkgs/tools/networking/ferm/default.nix b/pkgs/tools/networking/ferm/default.nix
new file mode 100644
index 00000000000..f4cf387ecc5
--- /dev/null
+++ b/pkgs/tools/networking/ferm/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, makeWrapper, perl, ebtables, ipset, iptables }:
+
+stdenv.mkDerivation rec {
+  version = "2.3";
+  name = "ferm-${version}";
+
+  src = fetchurl {
+    url = "http://ferm.foo-projects.org/download/${version}/ferm-${version}.tar.gz";
+    sha256 = "0jx63fhjw5y1ahgdbn4hgd7sq6clxl80dr8a2hkryibfbwz3vs4x";
+  };
+
+  buildInputs = [ perl ipset ebtables iptables makeWrapper ];
+  preConfigure = ''
+    substituteInPlace config.mk --replace "PERL = /usr/bin/perl" "PERL = ${perl}/bin/perl"
+    substituteInPlace config.mk --replace "PREFIX = /usr" "PREFIX = $out"
+  '';
+  postInstall = ''
+    rm -r $out/lib/systemd
+    for i in "$out/sbin/"*; do
+      wrapProgram "$i" --prefix PATH : "${iptables}/bin:${ipset}/bin:${ebtables}/bin"
+    done
+  '';
+
+  meta = {
+    homepage = http://ferm.foo-projects.org/;
+    description = "Tool to maintain complex firewalls";
+    longDescription = ''
+      ferm is a tool to maintain complex firewalls, without having the trouble to
+      rewrite the complex rules over and over again. ferm allows the entire
+      firewall rule set to be stored in a separate file, and to be loaded with one
+      command. The firewall configuration resembles structured programming-like
+      language, which can contain levels and lists.
+    '';
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [mic92];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/tools/package-management/fpm/Gemfile.lock b/pkgs/tools/package-management/fpm/Gemfile.lock
index a2a652c4056..ab3d4dd6b46 100644
--- a/pkgs/tools/package-management/fpm/Gemfile.lock
+++ b/pkgs/tools/package-management/fpm/Gemfile.lock
@@ -1,23 +1,40 @@
 GEM
   remote: https://rubygems.org/
   specs:
+    archive-tar-minitar (0.5.2)
     arr-pm (0.0.10)
       cabin (> 0)
     backports (3.6.8)
     cabin (0.8.1)
     childprocess (0.5.9)
       ffi (~> 1.0, >= 1.0.11)
-    clamp (0.6.5)
-    ffi (1.9.10)
-    fpm (1.4.0)
+    clamp (1.0.0)
+    ffi (1.9.14)
+    fpm (1.6.2)
+      archive-tar-minitar
       arr-pm (~> 0.0.10)
       backports (>= 2.6.2)
       cabin (>= 0.6.0)
       childprocess
-      clamp (~> 0.6)
+      clamp (~> 1.0.0)
       ffi
-      json (>= 1.7.7)
+      json (>= 1.7.7, < 2.0)
+      pleaserun (~> 0.0.24)
+      ruby-xz
+    insist (1.0.0)
+    io-like (0.3.0)
     json (1.8.3)
+    mustache (0.99.8)
+    pleaserun (0.0.24)
+      cabin (> 0)
+      clamp
+      insist
+      mustache (= 0.99.8)
+      stud
+    ruby-xz (0.2.3)
+      ffi (~> 1.9)
+      io-like (~> 0.3)
+    stud (0.0.22)
 
 PLATFORMS
   ruby
@@ -26,4 +43,4 @@ DEPENDENCIES
   fpm
 
 BUNDLED WITH
-   1.10.6
+   1.12.5
diff --git a/pkgs/tools/package-management/fpm/gemset.nix b/pkgs/tools/package-management/fpm/gemset.nix
index 0751fdc48bc..0670d3a5b14 100644
--- a/pkgs/tools/package-management/fpm/gemset.nix
+++ b/pkgs/tools/package-management/fpm/gemset.nix
@@ -1,4 +1,12 @@
 {
+  archive-tar-minitar = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
+      type = "gem";
+    };
+    version = "0.5.2";
+  };
   arr-pm = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -34,26 +42,42 @@
   clamp = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1gpz9jvg1gpr8xmfqd35gvyzsvmjvlvwm2sq3pyhml3i84a6qjrq";
+      sha256 = "0vy6ghz9l84qazlza30z0dwwrlifc5c7akgrl1v72ivmmjga45hw";
       type = "gem";
     };
-    version = "0.6.5";
+    version = "1.0.0";
   };
   ffi = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1m5mprppw0xcrv2mkim5zsk70v089ajzqiq5hpyb0xg96fcyzyxj";
+      sha256 = "1nkcrmxqr0vb1y4rwliclwlj2ajsi4ddpdx2gvzjy0xbkk5iqzfp";
       type = "gem";
     };
-    version = "1.9.10";
+    version = "1.9.14";
   };
   fpm = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ljifrfzjirad5ql5yvs1prpbivsjnwdbhzlqb8r7sdidd9kwakz";
+      sha256 = "1ids20mcs6w8nf4bpjj749ayc7h637kqx0pdw5d5a0yzik34daaj";
+      type = "gem";
+    };
+    version = "1.6.2";
+  };
+  insist = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg";
       type = "gem";
     };
-    version = "1.4.0";
+    version = "1.0.0";
+  };
+  io-like = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04nn0s2wmgxij3k760h3r8m1dgih5dmd9h4v1nn085yi824i5z6k";
+      type = "gem";
+    };
+    version = "0.3.0";
   };
   json = {
     source = {
@@ -63,4 +87,36 @@
     };
     version = "1.8.3";
   };
+  mustache = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g5hplm0k06vwxwqzwn1mq5bd02yp0h3rym4zwzw26aqi7drcsl2";
+      type = "gem";
+    };
+    version = "0.99.8";
+  };
+  pleaserun = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0s26216ip6skzbdl48z8wbrzqbvwq1q4s6sm8r209zvvlp0rinkw";
+      type = "gem";
+    };
+    version = "0.0.24";
+  };
+  ruby-xz = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "11bgpvvk0098ghvlxr4i713jmi2izychalgikwvdwmpb452r3ndw";
+      type = "gem";
+    };
+    version = "0.2.3";
+  };
+  stud = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1raavxgn5k4bxap5wqdl7zmfw5k4ndl8aagnajlfg4f0bmm8yni7";
+      type = "gem";
+    };
+    version = "0.0.22";
+  };
 }
\ No newline at end of file
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index 43e324ec269..2c6b3150089 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     sha256 = "0chk6pnn365d5kcz6vfqx1d0383ksk97icc0lzg0vvb0kvyj0ff1";
   };
 
+  # readdir_r(3) is deprecated in glibc >= 2.24
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+
   patches = [ ./fix_absolute_path.patch  ./fix_environment_variables.patch  ./fix_scons.patch  ./insert_prefetches.patch ];
 
   postPatch = ''
diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix
index af5e72faca4..05ce60a0508 100644
--- a/pkgs/tools/security/duo-unix/default.nix
+++ b/pkgs/tools/security/duo-unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "duo-unix-${version}";
-  version = "1.9.11";
+  version = "1.9.19";
 
   src = fetchurl {
     url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
-    sha256 = "0747avzmzzz1gaisahgjlpxyxxbrn04w1mip90lfj9wp2x6a9jgm";
+    sha256 = "02hvayknj0kvdik4mqm9j9isqzxk0f992i9v274s27891xqgj8rd";
   };
 
   buildInputs = [ pam openssl zlib ];
diff --git a/pkgs/tools/security/tor/default.nix b/pkgs/tools/security/tor/default.nix
index 8ac7472a2bc..533cb0dcd8e 100644
--- a/pkgs/tools/security/tor/default.nix
+++ b/pkgs/tools/security/tor/default.nix
@@ -1,29 +1,30 @@
-{ stdenv, fetchurl, libevent, openssl, zlib, torsocks, libseccomp }:
+{ stdenv, fetchurl, pkgconfig, libevent, openssl, zlib, torsocks
+, libseccomp, systemd, libcap
+}:
 
 stdenv.mkDerivation rec {
-  name = "tor-0.2.7.6";
+  name = "tor-0.2.8.7";
 
   src = fetchurl {
     url = "https://archive.torproject.org/tor-package-archive/${name}.tar.gz";
-    sha256 = "0p8hjlfi8dwghlyjif5s0q98cmpgz9kn9jja25430l04z5wqcfj9";
+    sha256 = "1iigfi8ljl88s8b5y1g4ak8im57simazscl467zvfbg8k6vf4i5f";
   };
 
-  # Note: torsocks is specified as a dependency, as the distributed
-  # 'torify' wrapper attempts to use it; although there is no
-  # ./configure time check for any of this.
-  buildInputs = [ libevent openssl zlib torsocks ] ++
-    stdenv.lib.optional stdenv.isLinux libseccomp;
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libevent openssl zlib ] ++
+    stdenv.lib.optionals stdenv.isLinux [ libseccomp systemd libcap ];
 
   NIX_CFLAGS_LINK = stdenv.lib.optionalString stdenv.cc.isGNU "-lgcc_s";
 
-  # Patch 'torify' to point directly to torsocks.
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace contrib/client-tools/torify \
       --replace 'pathfind torsocks' true          \
       --replace 'exec torsocks' 'exec ${torsocks}/bin/torsocks'
   '';
 
-  doCheck = true;
+  # Fails in a sandboxed environment; at some point we want to disable
+  # just the tests that require networking.
+  doCheck = false;
 
   meta = with stdenv.lib; {
     homepage = https://www.torproject.org/;
diff --git a/pkgs/tools/system/runit/Makefile.patch b/pkgs/tools/system/runit/Makefile.patch
deleted file mode 100644
index 43257728e92..00000000000
--- a/pkgs/tools/system/runit/Makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur admin.orig/runit-2.1.2/src/Makefile admin/runit-2.1.2/src/Makefile
---- admin.orig/runit-2.1.2/src/Makefile	2014-08-10 20:22:35.000000000 +0200
-+++ admin/runit-2.1.2/src/Makefile	2014-10-15 13:04:02.892937939 +0200
-@@ -234,7 +234,6 @@
- 
- hasshsgr.h: chkshsgr choose compile hasshsgr.h1 hasshsgr.h2 load \
- tryshsgr.c warn-shsgr
--	./chkshsgr || ( cat warn-shsgr; exit 1 )
- 	./choose clr tryshsgr hasshsgr.h1 hasshsgr.h2 > hasshsgr.h
- 
- haswaitp.h: choose compile haswaitp.h1 haswaitp.h2 load trywaitp.c
diff --git a/pkgs/tools/system/runit/default.nix b/pkgs/tools/system/runit/default.nix
index c10e41d709b..87cf720b981 100644
--- a/pkgs/tools/system/runit/default.nix
+++ b/pkgs/tools/system/runit/default.nix
@@ -9,33 +9,37 @@ stdenv.mkDerivation rec {
     sha256 = "065s8w62r6chjjs6m9hapcagy33m75nlnxb69vg0f4ngn061dl3g";
   };
 
-  patches = [ ./Makefile.patch ];
+  outputs = [ "out" "man" ];
+
+  sourceRoot = "admin/${name}";
+
+  doCheck = true;
 
   postPatch = ''
-    cd ${name}
     sed -i 's,-static,,g' src/Makefile
   '';
 
-  buildPhase = ''
-    make -C 'src'
-  '';
+  preBuild = ''
+    cd src
 
-  checkPhase = ''
-    make -C 'src' check
+    # Both of these are originally hard-coded to gcc
+    echo cc > conf-cc
+    echo cc > conf-ld
   '';
 
   installPhase = ''
     mkdir -p $out/bin
-    for f in $(cat package/commands); do
-      mv src/$f $out/bin/
-    done
+    cp -t $out/bin $(< ../package/commands)
+
+    mkdir -p $man/share/man
+    cp -r ../man $man/share/man/man8
   '';
 
   meta = with stdenv.lib; {
     description = "UNIX init scheme with service supervision";
     license = licenses.bsd3;
     homepage = "http://smarden.org/runit";
-    maintainers = with maintainers; [ rickynils ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ rickynils joachifm ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/text/kytea/default.nix b/pkgs/tools/text/kytea/default.nix
new file mode 100644
index 00000000000..2aec0d04a61
--- /dev/null
+++ b/pkgs/tools/text/kytea/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+
+  name    = "kytea-${version}";
+  version = "0.4.7";
+
+  src = fetchurl {
+    url    = "http://www.phontron.com/kytea/download/kytea-0.4.6.tar.gz";
+    sha256 = "0n6d88j0qda4dmy6mcj0cyin46n05m5phvjiah9i4ip54h8vs9s3";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://www.phontron.com/kytea/;
+    description = "General toolkit developed for analyzing text";
+
+    longDescription = ''
+      A general toolkit developed for analyzing text, with a focus on Japanese, 
+      Chinese and other languages requiring word or morpheme segmentation.
+    '';
+
+    license = licenses.asl20;
+
+    maintainers = [ maintainers.ericsagnes ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index ec1df4cf166..ee3aaa70b24 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -36,6 +36,7 @@ doNotDisplayTwice rec {
   conkerorWrapper = conkeror; # added 2015-01
   cool-old-term = cool-retro-term; # added 2015-01-31
   cupsBjnp = cups-bjnp; # added 2016-01-02
+  cups_filters = cups-filters; # added 2016-08
   cv = progress; # added 2015-09-06
   debian_devscripts = debian-devscripts; # added 2016-03-23
   dwarf_fortress = dwarf-fortress; # added 2016-01-23
@@ -45,6 +46,7 @@ doNotDisplayTwice rec {
   firefox-esr-wrapper = firefox-esr;  # 2016-01
   firefox-wrapper = firefox;          # 2016-01
   firefoxWrapper = firefox;           # 2015-09
+  foomatic_filters = foomatic-filters;  # 2016-08
   fuse_exfat = exfat;                   # 2015-09-11
   fuse_zip = fuse-zip; # added 2016-04-27
   gettextWithExpat = gettext; # 2016-02-19
@@ -57,6 +59,7 @@ doNotDisplayTwice rec {
   inotifyTools = inotify-tools;
   joseki = apache-jena-fuseki; # added 2016-02-28
   jquery_ui = jquery-ui;  # added 2014-09-07
+  keybase-go = keybase;  # added 2016-08-24
   letsencrypt = certbot; # added 2016-05-16
   libdbusmenu_qt5 = qt5.libdbusmenu;  # added 2015-12-19
   libcap_manpages = libcap.doc; # added 2016-04-29
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ff421bd6c79..71e83860238 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -422,6 +422,10 @@ in
 
   apitrace = qt55.callPackage ../applications/graphics/apitrace {};
 
+  argus = callPackage ../tools/networking/argus {};
+
+  argus-clients = callPackage ../tools/networking/argus-clients {};
+
   argtable = callPackage ../tools/misc/argtable {};
 
   argyllcms = callPackage ../tools/graphics/argyllcms {};
@@ -1548,6 +1552,8 @@ in
 
   fdm = callPackage ../tools/networking/fdm {};
 
+  ferm = callPackage ../tools/networking/ferm { };
+
   fgallery = callPackage ../tools/graphics/fgallery {
     inherit (perlPackages) ImageExifTool JSON;
   };
@@ -1867,6 +1873,8 @@ in
     ghostscript = null;
   };
 
+  groonga = callPackage ../servers/search/groonga { };
+
   grub = callPackage_i686 ../tools/misc/grub {
     buggyBiosCDSupport = config.grub.buggyBiosCDSupport or true;
   };
@@ -2198,9 +2206,7 @@ in
 
   kexectools = callPackage ../os-specific/linux/kexectools { };
 
-  keybase = callPackage ../applications/misc/keybase { };
-
-  keybase-go = callPackage ../tools/security/keybase { };
+  keybase = callPackage ../tools/security/keybase { };
 
   kbfs = callPackage ../tools/security/kbfs { };
 
@@ -2222,6 +2228,8 @@ in
 
   kst = qt5.callPackage ../tools/graphics/kst { gsl = gsl_1; };
 
+  kytea = callPackage ../tools/text/kytea { };
+
   leocad = callPackage ../applications/graphics/leocad { };
 
   less = callPackage ../tools/misc/less { };
@@ -2689,6 +2697,8 @@ in
 
   netcdffortran = callPackage ../development/libraries/netcdf-fortran { };
 
+  neural-style = callPackage ../tools/graphics/neural-style {};
+
   nco = callPackage ../development/libraries/nco { };
 
   nc6 = callPackage ../tools/networking/nc6 { };
@@ -3269,6 +3279,8 @@ in
 
   rawdog = callPackage ../applications/networking/feedreaders/rawdog { };
 
+  rc = callPackage ../shells/rc { };
+
   read-edid = callPackage ../os-specific/linux/read-edid { };
 
   redir = callPackage ../tools/networking/redir { };
@@ -3986,6 +3998,8 @@ in
 
   unclutter = callPackage ../tools/misc/unclutter { };
 
+  unclutter-xfixes = callPackage ../tools/misc/unclutter-xfixes { };
+
   unbound = callPackage ../tools/networking/unbound { };
 
   units = callPackage ../tools/misc/units { };
@@ -4486,24 +4500,6 @@ in
     libcCross = if crossSystem != null then libcCross else null;
   }));
 
-  gcc46 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.6 {
-    inherit noSysDirs;
-
-    ppl = null;
-    cloog = null;
-
-    # bootstrapping a profiled compiler does not work in the sheevaplug:
-    # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43944
-    profiledCompiler = false;
-
-    # When building `gcc.crossDrv' (a "Canadian cross", with host == target
-    # and host != build), `cross' must be null but the cross-libc must still
-    # be passed.
-    cross = null;
-    libcCross = if crossSystem != null then libcCross else null;
-    texinfo = texinfo413;
-  }));
-
   gcc48 = lowPrio (wrapCC (callPackage ../development/compilers/gcc/4.8 {
     inherit noSysDirs;
 
@@ -4739,9 +4735,11 @@ in
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
   };
 
-  go_1_7 = callPackage ../development/compilers/go/1.7.nix {
+  go_1_7 = callPackage ../development/compilers/go/1.7.nix ({
     inherit (darwin.apple_sdk.frameworks) Security Foundation;
-  };
+  } // stdenv.lib.optionalAttrs stdenv.isDarwin {
+    stdenv = stdenvAdapters.overrideCC pkgs.stdenv pkgs.clang_38;
+  });
 
   go = self.go_1_7;
 
@@ -5850,10 +5848,6 @@ in
 
   phpPackages = php56Packages;
 
-  php55Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
-    php = php55;
-  });
-
   php56Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
     php = php56;
   });
@@ -5863,7 +5857,6 @@ in
   });
 
   inherit (callPackages ../development/interpreters/php { })
-    php55
     php56
     php70;
 
@@ -7054,8 +7047,12 @@ in
 
   ctpl = callPackage ../development/libraries/ctpl { };
 
+  cppdb = callPackage ../development/libraries/cppdb { };
+
   cpp-netlib = callPackage ../development/libraries/cpp-netlib { };
 
+  cppcms = callPackage ../development/libraries/cppcms { };
+
   cppunit = callPackage ../development/libraries/cppunit { };
 
   cpputest = callPackage ../development/libraries/cpputest { };
@@ -8693,6 +8690,8 @@ in
 
   live555 = callPackage ../development/libraries/live555 { };
 
+  loadcaffe = callPackage ../development/libraries/loadcaffe {};
+
   log4cpp = callPackage ../development/libraries/log4cpp { };
 
   log4cxx = callPackage ../development/libraries/log4cxx { };
@@ -8979,7 +8978,8 @@ in
       };
     })
     openssl_1_0_1
-    openssl_1_0_2;
+    openssl_1_0_2
+    openssl_1_1_0;
 
   openssl-chacha = callPackage ../development/libraries/openssl/chacha.nix {
     cryptodevHeaders = linuxPackages.cryptodev.override {
@@ -9564,7 +9564,9 @@ in
 
   tokyotyrant = callPackage ../development/libraries/tokyo-tyrant { };
 
-  torch = callPackage ../development/libraries/torch {};
+  torch = callPackage ../development/libraries/torch {
+    openblas = openblasCompat;
+  };
 
   tremor = callPackage ../development/libraries/tremor { };
 
@@ -9979,7 +9981,11 @@ in
     go = go_1_6;
   };
 
-  buildGoPackage = buildGo16Package;
+  buildGo17Package = callPackage ../development/go-modules/generic {
+    go = go_1_7;
+  };
+
+  buildGoPackage = buildGo17Package;
 
   go2nix = callPackage ../development/tools/go2nix { };
 
@@ -10414,6 +10420,7 @@ in
   rspamd = callPackage ../servers/mail/rspamd { };
 
   pfixtools = callPackage ../servers/mail/postfix/pfixtools.nix { };
+  pflogsumm = callPackage ../servers/mail/postfix/pflogsumm.nix { };
 
   pshs = callPackage ../servers/http/pshs { };
 
@@ -11141,6 +11148,7 @@ in
   linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.cpu-cgroup-v2."4.4"
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11152,6 +11160,7 @@ in
   linux_4_6 = callPackage ../os-specific/linux/kernel/linux-4.6.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        kernelPatches.cpu-cgroup-v2."4.6"
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -11163,6 +11172,9 @@ in
   linux_4_7 = callPackage ../os-specific/linux/kernel/linux-4.7.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
+        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+        # when adding a new linux version
+        kernelPatches.cpu-cgroup-v2."4.7"
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -13306,6 +13318,8 @@ in
 
   linssid = qt5.callPackage ../applications/networking/linssid { };
 
+  manuskript = callPackage ../applications/editors/manuskript { };
+
   mi2ly = callPackage ../applications/audio/mi2ly {};
 
   praat = callPackage ../applications/audio/praat { };
@@ -14423,7 +14437,7 @@ in
 
   qmidiroute = callPackage ../applications/audio/qmidiroute { };
 
-  qmmp = callPackage ../applications/audio/qmmp { };
+  qmmp = qt5.callPackage ../applications/audio/qmmp { };
 
   qnotero = callPackage ../applications/office/qnotero { };
 
@@ -15510,13 +15524,9 @@ in
 
   zam-plugins = callPackage ../applications/audio/zam-plugins { };
 
-  zathuraCollection = recurseIntoAttrs
-    (callPackage ../applications/misc/zathura {
-        callPackage = newScope pkgs.zathuraCollection;
-        useMupdf = config.zathura.useMupdf or true;
-      });
-
-  zathura = zathuraCollection.zathuraWrapper;
+  zathura = callPackage ../applications/misc/zathura {
+    useMupdf = config.zathura.useMupdf or true;
+  };
 
   zed = callPackage ../applications/editors/zed { };
 
@@ -15776,6 +15786,9 @@ in
     guile = guile_1_8;
   };
 
+  liquidwar5 = callPackage ../games/liquidwar/5.nix {
+  };
+
   macopix = callPackage ../games/macopix {
     gtk = gtk2;
   };
@@ -16983,7 +16996,7 @@ in
     libusb = libusb1;
   };
 
-  cups_filters = callPackage ../misc/cups/filters.nix { };
+  cups-filters = callPackage ../misc/cups/filters.nix { };
 
   cups-pk-helper = callPackage ../misc/cups/cups-pk-helper.nix { };
 
@@ -17071,7 +17084,7 @@ in
 
   foo2zjs = callPackage ../misc/drivers/foo2zjs {};
 
-  foomatic_filters = callPackage ../misc/drivers/foomatic-filters {};
+  foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
   freestyle = callPackage ../misc/freestyle { };
 
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 2d93d0a0b77..23737ca0ff7 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -47,7 +47,7 @@ rec {
       inherit (bootPkgs) hscolour;
     };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
-      bootPkgs = packages.ghc784;
+      bootPkgs = packages.ghc7103;
       inherit (bootPkgs) alex happy;
     };
     ghcNokinds = callPackage ../development/compilers/ghc/nokinds.nix rec {
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 092a61c4383..a1a080aac55 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -3028,10 +3028,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   DataValidateDomain = buildPerlPackage rec {
-    name = "Data-Validate-Domain-0.12";
+    name = "Data-Validate-Domain-0.14";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DR/DROLSKY/${name}.tar.gz";
-      sha256 = "6bd39c71d232fa341ad1324158bf1edf5df9add2bcac87996aa4b584445cdec5";
+      sha256 = "4470f253b8d2720a4dd3fa3ae550995417c2269f3be7ff030e01afa04a3a9421";
     };
     buildInputs = [ Test2Suite ];
     propagatedBuildInputs = [ NetDomainTLD ];
@@ -5417,10 +5417,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   FontTTF = buildPerlPackage rec {
-    name = "Font-TTF-1.05";
+    name = "Font-TTF-1.06";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/M/MH/MHOSKEN/${name}.tar.gz";
-      sha256 = "0l7vxag0v3hf7w1kjyjv02zqrjzhg6xczcv60z00l3z0fr78xi16";
+      url = "mirror://cpan/authors/id/B/BH/BHALLISSY/${name}.tar.gz";
+      sha256 = "4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293";
     };
     propagatedBuildInputs = [ IOString ];
     meta = {
@@ -10749,18 +10749,18 @@ let self = _self // overrides; _self = with self; {
   };
 
   Redis = buildPerlPackage rec {
-    name = "Redis-1.982";
+    name = "Redis-1.991";
     src = fetchurl {
       url = "mirror://cpan/authors/id/D/DA/DAMS/${name}.tar.gz";
-      sha256 = "1ig6sg1sgdz1dq8gpafin9m4nk0n9k1hzs9c45fl6wslpyim864z";
+      sha256 = "f7d1a934fa9360a26e480f896f97be0fd62807f9d9baca65a9aa8d007ff2acaa";
     };
     buildInputs = [ IOString ModuleBuildTiny PodCoverageTrustPod TestCPANMeta TestDeep TestFatal TestSharedFork TestTCP ];
-    propagatedBuildInputs = [ IOSocketTimeout ];
+    propagatedBuildInputs = [ IOSocketTimeout TryTiny ];
     meta = {
-      homepage = https://metacpan.org/pod/Redis;
+      homepage = https://github.com/PerlRedis/perl-redis;
       description = "Perl binding for Redis database";
       license = stdenv.lib.licenses.artistic2;
-      maintainers = with maintainers; [ rycee ];
+      maintainers = [ maintainers.rycee ];
       platforms   = stdenv.lib.platforms.unix;
     };
   };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 177607098ea..14b2fa376a7 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -7130,6 +7130,29 @@ in modules // {
     };
   };
 
+  lightblue = buildPythonPackage rec {
+    pname = "lightblue";
+    version = "0.4";
+    name = "${pname}-${version}";
+
+    src = pkgs.fetchurl {
+      url = "mirror://sourceforge/${pname}/${name}.tar.gz";
+      sha256 = "016h1mlhpqxjj25lcvl4fqc19k8ifmsv6df7rhr12fyfcrp5i14d";
+    };
+
+    buildInputs = [ pkgs.bluez pkgs.openobex ];
+
+
+    meta = {
+      homepage = http://lightblue.sourceforge.net;
+      description = "Cross-platform Bluetooth API for Python";
+      maintainers = with maintainers; [ leenaars ];
+      license = licenses.gpl3;
+      platform = platforms.all;
+    };
+  };
+
+
   lightning = buildPythonPackage rec {
     version = "1.2.1";
     name = "lightning-python-${version}";
@@ -7503,6 +7526,33 @@ in modules // {
     };
   };
 
+  nxt-python = buildPythonPackage rec {
+    version = "unstable-20160819";
+    pname = "nxt-python";
+    name = "${pname}-${version}";
+
+    propagatedBuildInputs = with self; [ pyusb pybluez pyfantom pkgs.git ];
+    disabled = isPy3k;
+
+    src = pkgs.fetchgit {
+      url = "http://github.com/Eelviny/nxt-python";
+      rev = "479e20b7491b28567035f4cee294c4a2af629297";
+      sha256 = "0mcsajhgm2wy4iy2lhmyi3xibgmbixbchanzmlhsxk6qyjccn9r9";
+      branchName= "pyusb";
+    };
+
+    # Tests fail on Mac dependency
+    doCheck = false;
+
+    meta = {
+      description = "Python driver/interface for Lego Mindstorms NXT robot";
+      homepage = https://github.com/Eelviny/nxt-python;
+      license = licenses.gpl3;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ leenaars ];
+    };
+  };
+
   odfpy = buildPythonPackage rec {
     version = "0.9.6";
     name = "odfpy-${version}";
@@ -7807,6 +7857,30 @@ in modules // {
     };
   };
 
+   pybluez = buildPythonPackage rec {
+    version = "unstable-20160819";
+    pname = "pybluez";
+    name = "${pname}-${version}";
+
+    propagatedBuildInputs = with self; [ pkgs.bluez ];
+
+    src = pkgs.fetchFromGitHub {
+      owner = "karulis";
+      repo = "${pname}";
+      rev = "a0b226a61b166e170d48539778525b31e47a4731";
+      sha256 = "104dm5ngfhqisv1aszdlr3szcav2g3bhsgzmg4qfs09b3i5zj047";
+    };
+
+    # the tests do not pass
+    doCheck = false;
+
+    meta = {
+      description = "Bluetooth Python extension module";
+      license = licenses.gpl2;
+      maintainers = with maintainers; [ leenaars ];
+    };
+  };
+
   pycares = buildPythonPackage rec {
     name = "pycares-${version}";
     version = "1.0.0";
@@ -8878,7 +8952,7 @@ in modules // {
     };
 
     propagatedBuildInputs = with self; [
-      pyGtkGlade pkgs.libtorrentRasterbar twisted Mako chardet pyxdg self.pyopenssl modules.curses service-identity
+      pyGtkGlade pkgs.libtorrentRasterbar_1_09 twisted Mako chardet pyxdg self.pyopenssl modules.curses service-identity
     ];
 
     nativeBuildInputs = [ pkgs.intltool ];
@@ -8936,16 +9010,6 @@ in modules // {
 
   django = self.django_1_10;
 
-  django_gis = self.django.override rec {
-    patches = [
-      (pkgs.substituteAll {
-        src = ../development/python-modules/django/1.10-gis-libs.template.patch;
-        geos = pkgs.geos;
-        gdal = pkgs.gdal;
-      })
-    ];
-  };
-
   django_1_10 = buildPythonPackage rec {
     name = "Django-${version}";
     version = "1.10";
@@ -8956,6 +9020,14 @@ in modules // {
       sha256 = "01bh5yra6zyxcpqacahbwfbn0y4ivw07j2jsw3crvmjzivb6if26";
     };
 
+    patches = [
+      (pkgs.substituteAll {
+        src = ../development/python-modules/django/1.10-gis-libs.template.patch;
+        geos = pkgs.geos;
+        gdal = self.gdal;
+      })
+    ];
+
     # patch only $out/bin to avoid problems with starter templates (see #3134)
     postFixup = ''
       wrapPythonProgramsIn $out/bin "$out $pythonPath"
@@ -8972,12 +9044,12 @@ in modules // {
 
   django_1_9 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.9.5";
+    version = "1.9.9";
     disabled = pythonOlder "2.7";
 
     src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.9/${name}.tar.gz";
-      sha256 = "19kaw9flk9jjz1n7q378waybxnkrrhkq240lby4zaaas62nnfip5";
+      sha256 = "136ypwacj4av6xqmbfp6lhlr0171ws2knv74h0r59ssaaffznh73";
     };
 
     # patch only $out/bin to avoid problems with starter templates (see #3134)
@@ -8996,12 +9068,12 @@ in modules // {
 
   django_1_8 = buildPythonPackage rec {
     name = "Django-${version}";
-    version = "1.8.12";
+    version = "1.8.14";
     disabled = pythonOlder "2.7";
 
     src = pkgs.fetchurl {
       url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz";
-      sha256 = "04vi1rmin161drssqhi9n54j6mz8l6vs46pc7zbn50vzacysg3xn";
+      sha256 = "0ka6slangri68qaf91gl10l9m14f6waj4ncz543rbcpvj25w90jj";
     };
 
     # too complicated to setup
@@ -9368,11 +9440,11 @@ in modules // {
 
   django_raster = buildPythonPackage rec {
     name = "django-raster-${version}";
-    version = "0.2";
+    version = "0.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/d/django-raster/${name}.tar.gz";
-      sha256 = "1zdcxzj43qrv7cl6q9nb2dkfnsyn74dzf2igpnd6nbbfdnkif9bm";
+      sha256 = "0vn11y07wag7yvjzrk7m99xs3cqyaaaklwcsik9zbvw0kwp2khni";
     };
 
     propagatedBuildInputs = with self ; [ numpy django_colorful pillow psycopg2
@@ -10776,6 +10848,12 @@ in modules // {
     };
   };
 
+  gdal = (pkgs.gdal.overrideDerivation (oldattrs: {
+    name = "${python.libPrefix}-" + oldattrs.name;
+  })).override {
+    pythonPackages = self;
+  };
+
   gdrivefs = buildPythonPackage rec {
     version = "0.14.3";
     name = "gdrivefs-${version}";
@@ -18615,6 +18693,25 @@ in modules // {
     };
   };
 
+  pyfantom = buildPythonPackage rec {
+     name = "pyfantom-${version}";
+     version = "unstable-2013-12-18";
+
+     src = pkgs.fetchgit {
+       url = "http://git.ni.fr.eu.org/pyfantom.git";
+       sha256 = "1m53n8bxslq5zmvcf7i1xzsgq5bdsf1z529br5ypmj5bg0s86j4q";
+     };
+
+     # No tests included
+     doCheck = false;
+
+     meta = {
+       homepage = http://pyfantom.ni.fr.eu.org/;
+       description = "Wrapper for the LEGO Mindstorms Fantom Driver";
+       license = licenses.gpl2;
+     };
+   };
+
   pyfeed = buildPythonPackage rec {
     url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz";
     name = stdenv.lib.nameFromURL url ".tar";
@@ -19087,11 +19184,11 @@ in modules // {
 
   pyparsing = buildPythonPackage rec {
     name = "pyparsing-${version}";
-    version = "2.1.4";
+    version = "2.1.8";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyparsing/${name}.tar.gz";
-      sha256 = "0z3rn5cl22kglrvlkfbdjgrp7s443k6k4hcr5awlj3dmg7m4s8x9";
+      sha256 = "0sy5fxhsvhf0fwk9h6nqlhn1lsjpdmg41jziw5z814rlkydqd903";
     };
 
     # Not everything necessary to run the tests is included in the distribution
@@ -26135,6 +26232,8 @@ in modules // {
       sed -i -e "s|find_library=None|find_library=lambda _:\"$libusb\"|" usb/backend/libusb1.py
     '';
 
+    propagatedBuildInputs = [ pkgs.libusb ];
+
     # No tests included
     doCheck = false;
 
@@ -26160,6 +26259,8 @@ in modules // {
     # Likely current pyusb will work but we need to patch the hard requirement then.
     broken = true;
 
+    patchPhase = "substituteInPlace setup.py --replace pyusb==1.0.0b1 pyusb==1.0.0";
+
     propagatedBuildInputs = with self; [ pyusb ];
 
     meta = {
@@ -26729,10 +26830,10 @@ in modules // {
   # Should be bumped along with EFL!
   pythonefl = buildPythonPackage rec {
     name = "python-efl-${version}";
-    version = "1.17.0";
+    version = "1.18.0";
     src = pkgs.fetchurl {
       url = "http://download.enlightenment.org/rel/bindings/python/${name}.tar.xz";
-      sha256 = "0yciffcgmyfmy95gidg9jhczv96jyi38zcdj0q19fjmx704zx84y";
+      sha256 = "0p92xsw7sh7965mb097lxy98va5xsrkxdqqaq11fhkpwqccy2l8p";
     };
 
     preConfigure = ''
@@ -26741,7 +26842,7 @@ in modules // {
     preBuild = "${python}/bin/${python.executable} setup.py build_ext";
     installPhase= "${python}/bin/${python.executable} setup.py install --prefix=$out";
 
-    buildInputs = with self; [ pkgs.pkgconfig pkgs.enlightenment.efl pkgs.enlightenment.elementary ];
+    buildInputs = with self; [ pkgs.pkgconfig pkgs.enlightenment.efl ];
     doCheck = false;
 
     meta = {
@@ -27621,12 +27722,13 @@ in modules // {
       sed -i -e "s|test_open_unix_connection_error|skip_test_open_unix_connection_error|" tests/test_streams.py
       sed -i -e "s|test_open_unix_connection_no_loop_ssl|skip_test_open_unix_connection_no_loop_ssl|" tests/test_streams.py
       sed -i -e "s|test_open_unix_connection|skip_test_open_unix_connection|" tests/test_streams.py
+      sed -i -e "s|test_pause_reading|skip_test_pause_reading|" tests/test_subprocess.py
       sed -i -e "s|test_read_pty_output|skip_test_read_pty_output|" tests/test_events.py
-      sed -i -e "s|test_write_pty|skip_test_write_pty|" tests/test_events.py
       sed -i -e "s|test_start_unix_server|skip_test_start_unix_server|" tests/test_streams.py
       sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py
       sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py
       sed -i -e "s|test_unix_sock_client_ops|skip_test_unix_sock_client_ops|" tests/test_events.py
+      sed -i -e "s|test_write_pty|skip_test_write_pty|" tests/test_events.py
     '' + optionalString isPy26 ''
       sed -i -e "s|test_env_var_debug|skip_test_env_var_debug|" tests/test_tasks.py
     '';
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index 4acf8e86786..815ad81dc1e 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,9 +7,9 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-08-10";
-  rev = "fe018be71eeed9c1dc441a16e6a0f32eb6a46bce";
-  sha256 = "0d8rvhndkz8sz7zn79lrk5vlkpljfilrk52cb2pr5rx83cm89vmi";
+  version = "2016-08-23";
+  rev = "e98ce679ed90bb5b8a64ad9f5bd82f87fd6b641f";
+  sha256 = "0dpl071ic3ddknsy98dxm99mznlblhmgjqi9ha6rlbldbjp3gf8j";
 
   src = fetchFromGitHub {
       inherit rev;