summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.github/CONTRIBUTING.md16
-rw-r--r--doc/cross-compilation.xml31
-rw-r--r--lib/licenses.nix5
-rw-r--r--lib/maintainers.nix3
-rw-r--r--nixos/doc/manual/release-notes/rl-1703.xml24
-rw-r--r--nixos/modules/hardware/video/amdgpu-pro.nix2
-rw-r--r--nixos/modules/hardware/video/ati.nix2
-rw-r--r--nixos/modules/hardware/video/bumblebee.nix2
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl16
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/profiles/all-hardware.nix3
-rw-r--r--nixos/modules/rename.nix4
-rw-r--r--nixos/modules/security/grsecurity.xml38
-rw-r--r--nixos/modules/services/hardware/bluetooth.nix51
-rw-r--r--nixos/modules/services/hardware/illum.nix35
-rw-r--r--nixos/modules/services/hardware/sane.nix2
-rw-r--r--nixos/modules/services/hardware/trezord.nix54
-rw-r--r--nixos/modules/services/mail/postfix.nix2
-rw-r--r--nixos/modules/services/misc/gogs.nix1
-rw-r--r--nixos/modules/services/misc/taskserver/default.nix8
-rw-r--r--nixos/modules/services/network-filesystems/glusterfs.nix84
-rw-r--r--nixos/modules/services/network-filesystems/nfsd.nix97
-rw-r--r--nixos/modules/services/networking/chrony.nix47
-rw-r--r--nixos/modules/services/networking/cjdns.nix5
-rw-r--r--nixos/modules/services/networking/dnschain.nix177
-rw-r--r--nixos/modules/services/networking/firewall.nix4
-rw-r--r--nixos/modules/services/networking/namecoind.nix211
-rw-r--r--nixos/modules/services/networking/rpcbind.nix52
-rw-r--r--nixos/modules/services/networking/supplicant.nix3
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/default.nix2
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/moodle.nix198
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix17
-rw-r--r--nixos/modules/system/boot/systemd-lib.nix8
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix6
-rw-r--r--nixos/modules/system/boot/systemd.nix23
-rw-r--r--nixos/modules/tasks/filesystems.nix2
-rw-r--r--nixos/modules/tasks/filesystems/glusterfs.nix11
-rw-r--r--nixos/modules/tasks/filesystems/nfs.nix97
-rw-r--r--nixos/modules/tasks/kbd.nix5
-rw-r--r--nixos/modules/tasks/network-interfaces-systemd.nix4
-rw-r--r--nixos/tests/chromium.nix39
-rw-r--r--nixos/tests/nfs.nix6
-rw-r--r--pkgs/applications/audio/audio-recorder/default.nix25
-rw-r--r--pkgs/applications/audio/audio-recorder/icon-names.diff51
-rw-r--r--pkgs/applications/audio/gbsplay/default.nix28
-rw-r--r--pkgs/applications/audio/qjackctl/default.nix9
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix484
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix84
-rw-r--r--pkgs/applications/editors/emacs/macport-25.1.nix11
-rw-r--r--pkgs/applications/editors/vim/configurable.nix4
-rw-r--r--pkgs/applications/editors/vscode/default.nix5
-rw-r--r--pkgs/applications/graphics/digikam/5.nix4
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix6
-rw-r--r--pkgs/applications/misc/googleearth/default.nix96
-rw-r--r--pkgs/applications/misc/keepassx/community.nix4
-rw-r--r--pkgs/applications/misc/krename/kde4.nix (renamed from pkgs/applications/misc/krename/default.nix)0
-rw-r--r--pkgs/applications/misc/krename/kde5.nix35
-rw-r--r--pkgs/applications/misc/llpp/default.nix19
-rw-r--r--pkgs/applications/misc/redshift-plasma-applet/default.nix40
-rw-r--r--pkgs/applications/misc/taskwarrior/0001-bash-completion-quote-pattern-argument-to-grep.patch28
-rw-r--r--pkgs/applications/misc/taskwarrior/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix5
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/terragrunt/deps.nix60
-rw-r--r--pkgs/applications/networking/instant-messengers/scudcloud/default.nix8
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/muchsync.nix21
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix466
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/default.nix4
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix111
-rw-r--r--pkgs/applications/networking/remote/freerdp/legacy.nix73
-rw-r--r--pkgs/applications/networking/remote/freerdp/unstable.nix56
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix34
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix6
-rw-r--r--pkgs/applications/office/cb2bib/default.nix15
-rw-r--r--pkgs/applications/office/libreoffice/default.nix1
-rw-r--r--pkgs/applications/office/libreoffice/still.nix1
-rw-r--r--pkgs/applications/science/biology/ecopcr/default.nix37
-rw-r--r--pkgs/applications/science/biology/emboss/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/video/gnash/default.nix122
-rw-r--r--pkgs/applications/video/kodi/plugins.nix6
-rw-r--r--pkgs/applications/video/vokoscreen/default.nix15
-rw-r--r--pkgs/applications/virtualization/rkt/default.nix4
-rw-r--r--pkgs/applications/virtualization/virt-top/default.nix23
-rw-r--r--pkgs/applications/window-managers/jwm/default.nix4
-rw-r--r--pkgs/build-support/fetchurl/mirrors.nix2
-rw-r--r--pkgs/data/fonts/liberastika/default.nix33
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/binary.nix20
-rw-r--r--pkgs/data/fonts/redhat-liberation-fonts/default.nix100
-rw-r--r--pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix4
-rw-r--r--pkgs/desktops/kde-4.14/kdenetwork/krdc.nix4
-rw-r--r--pkgs/desktops/kde-5/applications/default.nix1
-rw-r--r--pkgs/desktops/kde-5/applications/gwenview.nix6
-rw-r--r--pkgs/desktops/kde-5/applications/okteta.nix26
-rw-r--r--pkgs/development/compilers/julia/0.5.nix6
-rw-r--r--pkgs/development/compilers/julia/0004-hardened-0.4.7.patch25
-rw-r--r--pkgs/development/compilers/julia/0004-hardened.patch25
-rw-r--r--pkgs/development/compilers/julia/default.nix7
-rw-r--r--pkgs/development/compilers/julia/git.nix7
-rw-r--r--pkgs/development/compilers/kotlin/default.nix4
-rw-r--r--pkgs/development/compilers/ocaml/4.04.nix3
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix12
-rw-r--r--pkgs/development/compilers/rust/default.nix15
-rw-r--r--pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch26
-rw-r--r--pkgs/development/compilers/rust/rustc.nix2
-rw-r--r--pkgs/development/compilers/souper/default.nix56
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix349
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml96
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix390
-rw-r--r--pkgs/development/haskell-modules/default.nix9
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix1697
-rw-r--r--pkgs/development/interpreters/mujs/default.nix6
-rw-r--r--pkgs/development/libraries/gnu-efi/aarch64-fix-discarded-qualifier.patch13
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix4
-rw-r--r--pkgs/development/libraries/jbig2dec/default.nix18
-rw-r--r--pkgs/development/libraries/jsoncpp/1.6.5/default.nix48
-rw-r--r--pkgs/development/libraries/jsoncpp/default.nix47
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix4
-rw-r--r--pkgs/development/libraries/libidn2/default.nix34
-rw-r--r--pkgs/development/libraries/libnfc/default.nix4
-rw-r--r--pkgs/development/libraries/libpsl/default.nix10
-rw-r--r--pkgs/development/libraries/libsixel/default.nix6
-rw-r--r--pkgs/development/libraries/libzmf/default.nix1
-rw-r--r--pkgs/development/libraries/mesa/default.nix3
-rw-r--r--pkgs/development/libraries/ming/default.nix44
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix3
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix5
-rw-r--r--pkgs/development/libraries/qt-5/qt-env.nix44
-rw-r--r--pkgs/development/libraries/spice/0001-Adapting-the-following-patch-from-http-pkgs.fedorapr.patch56
-rw-r--r--pkgs/development/libraries/spice/default.nix23
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix16
-rw-r--r--pkgs/development/libraries/wavpack/default.nix4
-rw-r--r--pkgs/development/libraries/zimg/default.nix16
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix6
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix258
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix225
-rw-r--r--pkgs/development/node-packages/node-packages.json1
-rw-r--r--pkgs/development/ocaml-modules/curses/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/lablgl/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix36
-rw-r--r--pkgs/development/ocaml-modules/ocaml-libvirt/default.nix29
-rw-r--r--pkgs/development/python-modules/docker_compose.nix4
-rw-r--r--pkgs/development/python-modules/pep257.nix23
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix4
-rw-r--r--pkgs/development/python-modules/pytest-pep257.nix19
-rw-r--r--pkgs/development/python-modules/searx.patch26
-rw-r--r--pkgs/development/qtcreator/default.nix4
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/leiningen/default.nix6
-rw-r--r--pkgs/development/tools/database/squirrel-sql/default.nix69
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix2
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix11
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix18
-rw-r--r--pkgs/development/tools/rhc/Gemfile2
-rw-r--r--pkgs/development/tools/rhc/Gemfile.lock21
-rw-r--r--pkgs/development/tools/rhc/default.nix24
-rw-r--r--pkgs/development/tools/rhc/gemset.nix97
-rw-r--r--pkgs/development/tools/rust/racerd/default.nix8
-rw-r--r--pkgs/development/tools/wp-cli/default.nix4
-rw-r--r--pkgs/games/gcs/default.nix77
-rw-r--r--pkgs/games/minetest/default.nix1
-rw-r--r--pkgs/games/multimc/default.nix6
-rw-r--r--pkgs/misc/emulators/cdemu/analyzer.nix8
-rw-r--r--pkgs/misc/emulators/cdemu/client.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/daemon.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/gui.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/libmirage.nix4
-rw-r--r--pkgs/misc/emulators/cdemu/vhba.nix4
-rw-r--r--pkgs/misc/screensavers/electricsheep/default.nix44
-rw-r--r--pkgs/misc/vim-plugins/default.nix44
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names4
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/default.nix49
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch30
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch97
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch (renamed from pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch)8
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch28
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch74
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch136
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch163
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch28
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch40
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch61
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch25
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch114
-rw-r--r--pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch55
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/autofs/default.nix17
-rw-r--r--pkgs/os-specific/linux/bluez/default.nix4
-rw-r--r--pkgs/os-specific/linux/btfs/default.nix10
-rw-r--r--pkgs/os-specific/linux/exfat/default.nix31
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix8
-rw-r--r--pkgs/os-specific/linux/intel-ocl/default.nix61
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix10
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix23
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix78
-rw-r--r--pkgs/os-specific/linux/spl/default.nix4
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/default.nix43
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix6
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix21
-rw-r--r--pkgs/servers/dnschain/default.nix56
-rw-r--r--pkgs/servers/dnschain/package.nix552
-rw-r--r--pkgs/servers/ldap/389/default.nix13
-rw-r--r--pkgs/servers/matrix-synapse/default.nix10
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/deps-1.2.1.nix (renamed from pkgs/servers/monitoring/telegraf/deps-1.2.0.nix)0
-rw-r--r--pkgs/servers/portmap/default.nix45
-rw-r--r--pkgs/servers/portmap/reuse-socket.patch38
-rw-r--r--pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch43
-rw-r--r--pkgs/servers/rpcbind/default.nix19
-rw-r--r--pkgs/servers/trezord/default.nix51
-rw-r--r--pkgs/servers/trezord/dynamic-link.patch18
-rw-r--r--pkgs/servers/web-apps/shaarli/material-theme.nix35
-rw-r--r--pkgs/servers/x11/xorg/default.nix6
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix18
-rw-r--r--pkgs/servers/x11/xquartz/default.nix4
-rw-r--r--pkgs/shells/bash-completion/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix4
-rw-r--r--pkgs/stdenv/cross/default.nix3
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix2
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix2
-rw-r--r--pkgs/tools/admin/salt/default.nix4
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix4
-rw-r--r--pkgs/tools/filesystems/ntfs-3g/default.nix10
-rw-r--r--pkgs/tools/graphics/asymptote/default.nix3
-rw-r--r--pkgs/tools/graphics/flam3/default.nix25
-rw-r--r--pkgs/tools/graphics/glee/default.nix34
-rw-r--r--pkgs/tools/graphics/plotutils/default.nix2
-rw-r--r--pkgs/tools/graphics/pstoedit/default.nix11
-rw-r--r--pkgs/tools/misc/autorevision/default.nix14
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/os-prober/default.nix4
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix8
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix2
-rw-r--r--pkgs/tools/networking/network-manager/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/openconnect.nix4
-rw-r--r--pkgs/tools/networking/network-manager/openvpn.nix4
-rw-r--r--pkgs/tools/networking/network-manager/strongswan.nix4
-rw-r--r--pkgs/tools/networking/wget/default.nix17
-rw-r--r--pkgs/tools/networking/wuzz/default.nix24
-rw-r--r--pkgs/tools/networking/wuzz/deps.nix29
-rw-r--r--pkgs/tools/package-management/fpm/Gemfile2
-rw-r--r--pkgs/tools/package-management/fpm/Gemfile.lock10
-rw-r--r--pkgs/tools/package-management/fpm/gemset.nix10
-rw-r--r--pkgs/tools/security/minisign/default.nix4
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/illum/default.nix36
-rw-r--r--pkgs/tools/text/kdiff3/kde5.nix37
-rw-r--r--pkgs/tools/text/nkf/default.nix6
-rw-r--r--pkgs/top-level/all-packages.nix135
-rw-r--r--pkgs/top-level/default.nix47
-rw-r--r--pkgs/top-level/dotnet-packages.nix77
-rw-r--r--pkgs/top-level/impure.nix19
-rw-r--r--pkgs/top-level/lua-packages.nix9
-rw-r--r--pkgs/top-level/ocaml-packages.nix10
-rw-r--r--pkgs/top-level/python-packages.nix371
-rw-r--r--pkgs/top-level/release-small.nix2
282 files changed, 6491 insertions, 4756 deletions
diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
index 8400aa5c684f..14f60b936f81 100644
--- a/.github/CONTRIBUTING.md
+++ b/.github/CONTRIBUTING.md
@@ -14,14 +14,22 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 
 * Format the commits in the following way:
 
-  `(pkg-name | service-name): (from -> to | init at version | refactor | etc)`
+  ```
+  (pkg-name | service-name): (from -> to | init at version | refactor | etc)
+  
+  (Motivation for change. Additional information.)
+  ```
 
   Examples:
 
   * nginx: init at 2.0.1
   * firefox: 3.0 -> 3.1.1
   * hydra service: add bazBaz option
+  
+    Dual baz behavior is needed to do foo.
   * nginx service: refactor config generation
+    
+    The old config generation system used impure shell scripts and could break in specific circumstances (see #1234).
 
 * `meta.description` should:
   * Be capitalized
@@ -30,6 +38,12 @@ under the terms of [COPYING](../COPYING), which is an MIT-like license.
 
 See the nixpkgs manual for more details on how to [Submit changes to nixpkgs](https://nixos.org/nixpkgs/manual/#chap-submitting-changes).
 
+## Writing good commit messages
+
+In addition to writing properly formatted commit messages, it's important to include relevant information so other developers can later understand *why* a change was made. While this information usually can be found by digging code, mailing list archives, pull request discussions or upstream changes, it may require a lot of work.
+
+For package version upgrades and such a one-line commit message is usually sufficient.
+
 ## Reviewing contributions
 
 See the nixpkgs manual for more details on how to [Review contributions](https://nixos.org/nixpkgs/manual/#sec-reviewing-contributions).
diff --git a/doc/cross-compilation.xml b/doc/cross-compilation.xml
index e93d1a98f7fd..8e981a4318e1 100644
--- a/doc/cross-compilation.xml
+++ b/doc/cross-compilation.xml
@@ -25,7 +25,7 @@
 <!--============================================================-->
 
 <section xml:id="sec-cross-packaging">
-  <title>Packing in a cross-friendly manner</title>
+  <title>Packaging in a cross-friendly manner</title>
 
   <section>
     <title>Platform parameters</title>
@@ -105,14 +105,15 @@
       This is the most important guiding principle behind cross-compilation with Nixpkgs, and will be called the <wordasword>sliding window principle</wordasword>.
       In this manner, given the 3 platforms for one package, we can determine the three platforms for all its transitive dependencies.
     </para>
+    <para>
+      Some examples will probably make this clearer.
+      If a package is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, bar)</literal>, then its build-time dependencies would have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those packages'</emphasis> build-time dependencies would have triple of <literal>(foo, foo, foo)</literal>.
+      In other words, it should take two "rounds" of following build-time dependency edges before one reaches a fixed point where, by the sliding window principle, the platform triple no longer changes.
+      Indeed, this happens with cross compilation, where only rounds of native dependencies starting with the second necessarily coincide with native packages.
+    </para>
     <note><para>
       The depending package's target platform is unconstrained by the sliding window principle, which makes sense in that one can in principle build cross compilers targeting arbitrary platforms.
     </para></note>
-    <warning><para>
-      From the above, one would surmise that if a package is being built with a <literal>(build, host, target)</literal> platform triple of <literal>(foo, bar, bar)</literal>, then its build-time dependencies would have a triple of <literal>(foo, foo, bar)</literal>, and <emphasis>those packages'</emphasis> build-time dependencies would have triple of <literal>(foo, foo, foo)</literal>.
-      In other words, it should take two "rounds" of following build-time dependency edges before one reaches a fixed point where, by the sliding window principle, the platform triple no longer changes.
-      Unfortunately, at the moment, we do <emphasis>not</emphasis> implement this correctly, and after only one round of following build-time dependencies is the fixed point reached, with target incorrectly kept different than the others.
-    </para></warning>
     <para>
       How does this work in practice? Nixpkgs is now structured so that build-time dependencies are taken from from <varname>buildPackages</varname>, whereas run-time dependencies are taken from the top level attribute set.
       For example, <varname>buildPackages.gcc</varname> should be used at build time, while <varname>gcc</varname> should be used at run time.
@@ -131,9 +132,23 @@
 
 <section xml:id="sec-cross-usage">
   <title>Cross-building packages</title>
+  <note><para>
+    More information needs to moved from the old wiki, especially <link xlink:href="https://nixos.org/wiki/CrossCompiling" />, for this section.
+  </para></note>
+  <para>
+    Many sources (manual, wiki, etc) probably mention passing <varname>system</varname>, <varname>platform</varname>, and, optionally, <varname>crossSystem</varname> to nixpkgs:
+    <literal>import &lt;nixpkgs&gt; { system = ..; platform = ..; crossSystem = ..; }</literal>.
+    <varname>system</varname> and <varname>platform</varname> together determine the system on which packages are built, and <varname>crossSystem</varname> specifies the platform on which packages are ultimately intended to run, if it is different.
+    This still works, but with more recent changes, one can alternatively pass <varname>localSystem</varname>, containing <varname>system</varname> and <varname>platform</varname>, for symmetry.
+  </para>
   <para>
-    To be written.
-    This is basically unchanged so see the old wiki for now.
+    One would think that <varname>localSystem</varname> and <varname>crossSystem</varname> overlap horribly with the three <varname>*Platforms</varname> (<varname>buildPlatform</varname>, <varname>hostPlatform,</varname> and <varname>targetPlatform</varname>; see <varname>stage.nix</varname> or the manual).
+    Actually, those identifiers are purposefully not used here to draw a subtle but important distinction:
+    While the granularity of having 3 platforms is necessary to properly *build* packages, it is overkill for specifying the user's *intent* when making a build plan or package set.
+    A simple "build vs deploy" dichotomy is adequate: the sliding window principle described in the previous section shows how to interpolate between the these two "end points" to get the 3 platform triple for each bootstrapping stage.
+    That means for any package a given package set, even those not bound on the top level but only reachable via dependencies or <varname>buildPackages</varname>, the three platforms will be defined as one of <varname>localSystem</varname> or <varname>crossSystem</varname>, with the former replacing the latter as one traverses build-time dependencies.
+    A last simple difference then is <varname>crossSystem</varname> should be null when one doesn't want to cross-compile, while the <varname>*Platform</varname>s are always non-null.
+    <varname>localSystem</varname> is always non-null.
   </para>
 </section>
 
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 90c1cc177cb3..4d4a3c1a9544 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -379,6 +379,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Mozilla Public License 2.0";
   };
 
+  mspl = spdx {
+    spdxId = "MS-PL";
+    fullName = "Microsoft Public License";
+  };
+
   msrla = {
     fullName  = "Microsoft Research License Agreement";
     url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 4672dc59d431..98cbc93bcd5c 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -81,6 +81,7 @@
   c0dehero = "CodeHero <codehero@nerdpol.ch>";
   calrama = "Moritz Maxeiner <moritz@ucworks.org>";
   campadrenalin = "Philip Horger <campadrenalin@gmail.com>";
+  canndrew = "Andrew Cann <shum@canndrew.org>";
   carlsverre = "Carl Sverre <accounts@carlsverre.com>";
   cdepillabout = "Dennis Gosnell <cdep.illabout@gmail.com>";
   cfouche = "Chaddaï Fouché <chaddai.fouche@gmail.com>";
@@ -111,6 +112,7 @@
   cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
   DamienCassou = "Damien Cassou <damien@cassou.me>";
   danbst = "Danylo Hlynskyi <abcz2.uprola@gmail.com>";
+  dancek = "Hannu Hartikainen <hannu.hartikainen@gmail.com>";
   danielfullmer = "Daniel Fullmer <danielrf12@gmail.com>";
   dasuxullebt = "Christoph-Simon Senjak <christoph.senjak@googlemail.com>";
   davidak = "David Kleuker <post@davidak.de>";
@@ -296,6 +298,7 @@
   mdaiter = "Matthew S. Daiter <mdaiter8121@gmail.com>";
   meditans = "Carlo Nucera <meditans@gmail.com>";
   meisternu = "Matt Miemiec <meister@krutt.org>";
+  metabar = "Celine Mercier <softs@metabarcoding.org>";
   mguentner = "Maximilian Güntner <code@klandest.in>";
   mic92 = "Jörg Thalheim <joerg@higgsboson.tk>";
   michaelpj = "Michael Peyton Jones <michaelpj@gmail.com>";
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml
index 09358f3af231..278dc88e1de3 100644
--- a/nixos/doc/manual/release-notes/rl-1703.xml
+++ b/nixos/doc/manual/release-notes/rl-1703.xml
@@ -46,6 +46,7 @@ following incompatible changes:</para>
       for what those parameters represent.
     </para>
   </listitem>
+
   <listitem>
     <para>
       <literal>ansible</literal> now defaults to ansible version 2 as version 1
@@ -54,6 +55,7 @@ following incompatible changes:</para>
       vulnerability</link> unpatched by upstream.
     </para>
   </listitem>
+
   <listitem>
     <para>
       <literal>gnome</literal> alias has been removed along with
@@ -116,7 +118,6 @@ following incompatible changes:</para>
   </listitem>
 
   <listitem>
-
     <para><literal>overridePackages</literal> function no longer exists.
     It is replaced by <link
     xlink:href="https://nixos.org/nixpkgs/manual/#sec-overlays-install">
@@ -153,18 +154,39 @@ following incompatible changes:</para>
     </para>
   </listitem>
 
+  <listitem>
+    <para>
+      <literal>local_recipient_maps</literal> is not set to empty value by
+      Postfix service. It's an insecure default as stated by Postfix
+      documentation. Those who want to retain this setting need to set it via
+      <literal>services.postfix.extraConfig</literal>.
+    </para>
+  </listitem>
+
 </itemizedlist>
 
 
 <para>Other notable improvements:</para>
 
 <itemizedlist>
+
   <listitem>
     <para>Module type system have a new extensible option types feature that
       allow to extend certain types, such as enum, through multiple option
       declarations of the same option across multiple modules.
     </para>
   </listitem>
+
+  <listitem>
+    <para>
+      <literal>jre</literal> now defaults to GTK+ UI by default. This
+      improves visual consistency and makes Java follow system font style,
+      improving the situation on HighDPI displays. This has a cost of increased
+      closure size; for server and other headless workloads it's recommended to
+      use <literal>jre_headless</literal>.
+    </para>
+  </listitem>
+
 </itemizedlist>
 
 
diff --git a/nixos/modules/hardware/video/amdgpu-pro.nix b/nixos/modules/hardware/video/amdgpu-pro.nix
index 06a405ee057f..5cc96d8bd074 100644
--- a/nixos/modules/hardware/video/amdgpu-pro.nix
+++ b/nixos/modules/hardware/video/amdgpu-pro.nix
@@ -21,6 +21,8 @@ in
 
   config = mkIf enabled {
 
+    nixpkgs.config.xorg.abiCompat = "1.18";
+
     services.xserver.drivers = singleton
       { name = "amdgpu"; modules = [ package ]; libPath = [ package ]; };
 
diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix
index bf91bcf0776b..022fdea0a0a3 100644
--- a/nixos/modules/hardware/video/ati.nix
+++ b/nixos/modules/hardware/video/ati.nix
@@ -18,7 +18,7 @@ in
 
   config = mkIf enabled {
 
-    nixpkgs.config.xorg.fglrxCompat = true;
+    nixpkgs.config.xorg.abiCompat = "1.17";
 
     services.xserver.drivers = singleton
       { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; };
diff --git a/nixos/modules/hardware/video/bumblebee.nix b/nixos/modules/hardware/video/bumblebee.nix
index 3ce97ad31c22..fbf3f20885b5 100644
--- a/nixos/modules/hardware/video/bumblebee.nix
+++ b/nixos/modules/hardware/video/bumblebee.nix
@@ -76,7 +76,7 @@ in
 
   config = mkIf cfg.enable {
     boot.blacklistedKernelModules = [ "nvidia-drm" "nvidia" "nouveau" ];
-    boot.kernelModules = optional useBbswitch [ "bbswitch" ];
+    boot.kernelModules = optional useBbswitch "bbswitch";
     boot.extraModulePackages = optional useBbswitch kernel.bbswitch ++ optional useNvidia kernel.nvidia_x11;
 
     environment.systemPackages = [ bumblebee primus ];
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index e17c02d13745..c920a2b52d89 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -208,9 +208,6 @@ foreach my $path (glob "/sys/bus/pci/devices/*") {
     pciCheck $path;
 }
 
-push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
-
-
 # Idem for USB devices.
 
 sub usbCheck {
@@ -277,6 +274,12 @@ if ($virt eq "qemu" || $virt eq "kvm" || $virt eq "bochs") {
     push @imports, "<nixpkgs/nixos/modules/profiles/qemu-guest.nix>";
 }
 
+# Also for Hyper-V.
+if ($virt eq "microsoft") {
+    push @initrdAvailableKernelModules, "hv_storvsc";
+    $videoDriver = "fbdev";
+}
+
 
 # Pull in NixOS configuration for containers.
 if ($virt eq "systemd-nspawn") {
@@ -307,6 +310,7 @@ sub findStableDevPath {
     return $dev;
 }
 
+push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
 
 # Generate the swapDevices option from the currently activated swap
 # devices.
@@ -588,6 +592,12 @@ $bootLoaderConfig
   # Enable the OpenSSH daemon.
   # services.openssh.enable = true;
 
+  # Open ports in the firewall.
+  # networking.firewall.allowedTCPPorts = [ ... ];
+  # networking.firewall.allowedUDPPorts = [ ... ];
+  # Or disable the firewall altogether.
+  # networking.firewall.enable = false;
+
   # Enable CUPS to print documents.
   # services.printing.enable = true;
 
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 0ed44f9d3d15..60e00ce874a8 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -286,6 +286,7 @@
       gogs = 268;
       pdns-recursor = 269;
       kresd = 270;
+      rpc = 271;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -541,6 +542,7 @@
       couchpotato = 267;
       gogs = 268;
       kresd = 270;
+      #rpc = 271; # unused
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index fed75053e567..ad823c755e27 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -197,6 +197,7 @@
   ./services/hardware/bluetooth.nix
   ./services/hardware/brltty.nix
   ./services/hardware/freefall.nix
+  ./services/hardware/illum.nix
   ./services/hardware/irqbalance.nix
   ./services/hardware/nvidia-optimus.nix
   ./services/hardware/pcscd.nix
@@ -205,6 +206,7 @@
   ./services/hardware/tcsd.nix
   ./services/hardware/tlp.nix
   ./services/hardware/thinkfan.nix
+  ./services/hardware/trezord.nix
   ./services/hardware/udev.nix
   ./services/hardware/udisks2.nix
   ./services/hardware/upower.nix
@@ -339,6 +341,7 @@
   ./services/monitoring/zabbix-server.nix
   ./services/network-filesystems/cachefilesd.nix
   ./services/network-filesystems/drbd.nix
+  ./services/network-filesystems/glusterfs.nix
   ./services/network-filesystems/ipfs.nix
   ./services/network-filesystems/netatalk.nix
   ./services/network-filesystems/nfsd.nix
diff --git a/nixos/modules/profiles/all-hardware.nix b/nixos/modules/profiles/all-hardware.nix
index 99b45228ce4d..6b4d8c737eba 100644
--- a/nixos/modules/profiles/all-hardware.nix
+++ b/nixos/modules/profiles/all-hardware.nix
@@ -42,6 +42,9 @@
       # Virtio (QEMU, KVM etc.) support.
       "virtio_net" "virtio_pci" "virtio_blk" "virtio_scsi" "virtio_balloon" "virtio_console"
 
+      # Hyper-V support.
+      "hv_storvsc"
+
       # Keyboards
       "usbhid" "hid_apple" "hid_logitech_dj" "hid_lenovo_tpkbd" "hid_roccat"
     ];
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 4e7f62fc8f5c..5ae3f4bd6e63 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -172,6 +172,10 @@ with lib;
     (mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
     (mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths" )
 
+    # nfs
+    (mkRenamedOptionModule [ "services" "nfs" "lockdPort" ] [ "services" "nfs" "server" "lockdPort" ])
+    (mkRenamedOptionModule [ "services" "nfs" "statdPort" ] [ "services" "nfs" "server" "statdPort" ])
+
     # Options that are obsolete and have no replacement.
     (mkRemovedOptionModule [ "boot" "initrd" "luks" "enable" ] "")
     (mkRemovedOptionModule [ "programs" "bash" "enable" ] "")
diff --git a/nixos/modules/security/grsecurity.xml b/nixos/modules/security/grsecurity.xml
index a7bcf4924f01..ef0aab4a3f13 100644
--- a/nixos/modules/security/grsecurity.xml
+++ b/nixos/modules/security/grsecurity.xml
@@ -7,21 +7,20 @@
   <title>Grsecurity/PaX</title>
 
   <para>
-    Grsecurity/PaX is a set of patches against the Linux kernel that make it
-    harder to exploit bugs.  The patchset includes protections such as
-    enforcement of non-executable memory, address space layout randomization,
-    and chroot jail hardening.  These and other
+    Grsecurity/PaX is a set of patches against the Linux kernel that
+    implements an extensive suite of
     <link xlink:href="https://grsecurity.net/features.php">features</link>
-    render entire classes of exploits inert without additional efforts on the
-    part of the adversary.
+    designed to increase the difficulty of exploiting kernel and
+    application bugs.
   </para>
 
   <para>
     The NixOS grsecurity/PaX module is designed with casual users in mind and is
-    intended to be compatible with normal desktop usage, without unnecessarily
-    compromising security.  The following sections describe the configuration
-    and administration of a grsecurity/PaX enabled NixOS system.  For
-    more comprehensive coverage, please refer to the
+    intended to be compatible with normal desktop usage, without
+    <emphasis>unnecessarily</emphasis> compromising security.  The
+    following sections describe the configuration and administration of
+    a grsecurity/PaX enabled NixOS system.  For more comprehensive
+    coverage, please refer to the
     <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity">grsecurity wikibook</link>
     and the
     <link xlink:href="https://wiki.archlinux.org/index.php/Grsecurity">Arch
@@ -35,7 +34,7 @@
     and each configuration requires quite a bit of testing to ensure that the
     resulting packages work as advertised.  Defining additional package sets
     would likely result in a large number of functionally broken packages, to
-    nobody's benefit.</para></note>.
+    nobody's benefit.</para></note>
   </para>
 
   <sect1 xml:id="sec-grsec-enable"><title>Enabling grsecurity/PaX</title>
@@ -126,10 +125,10 @@
     The NixOS kernel is built using upstream's recommended settings for a
     desktop deployment that generally favours security over performance.  This
     section details deviations from upstream's recommendations that may
-    compromise operational security.
+    compromise security.
 
     <warning><para>There may be additional problems not covered here!</para>
-    </warning>.
+    </warning>
   </para>
 
   <itemizedlist>
@@ -159,8 +158,8 @@
     <listitem><para>
       The NixOS module conditionally weakens <command>chroot</command>
       restrictions to accommodate NixOS lightweight containers and sandboxed Nix
-      builds.  This is problematic if the deployment also runs a privileged
-      network facing process that <emphasis>relies</emphasis> on
+      builds.  This can be problematic if the deployment also runs privileged
+      network facing processes that <emphasis>rely</emphasis> on
       <command>chroot</command> for isolation.
     </para></listitem>
 
@@ -221,15 +220,18 @@
   </para>
 
   <para>
-    The wikibook provides an exhaustive listing of
+    The grsecurity/PaX wikibook provides an exhaustive listing of
     <link xlink:href="https://en.wikibooks.org/wiki/Grsecurity/Appendix/Grsecurity_and_PaX_Configuration_Options">kernel configuration options</link>.
   </para>
 
   <para>
     The NixOS module makes several assumptions about the kernel and so
     may be incompatible with your customised kernel. Currently, the only way
-    to work around incompatibilities is to eschew the NixOS module.
+    to work around these incompatibilities is to eschew the NixOS
+    module.
+  </para>
 
+  <para>
     If not using the NixOS module, a custom grsecurity package set can
     be specified inline instead, as in
     <programlisting>
@@ -290,7 +292,7 @@
 
     <listitem><para>User initiated autoloading of modules (e.g., when
     using fuse or loop devices) is disallowed; either load requisite modules
-    as root or add them to<option>boot.kernelModules</option>.</para></listitem>
+    as root or add them to <option>boot.kernelModules</option>.</para></listitem>
 
     <listitem><para>Virtualization: KVM is the preferred virtualization
     solution. Xen, Virtualbox, and VMWare are
diff --git a/nixos/modules/services/hardware/bluetooth.nix b/nixos/modules/services/hardware/bluetooth.nix
index 2c271b328179..f6cf2d01d809 100644
--- a/nixos/modules/services/hardware/bluetooth.nix
+++ b/nixos/modules/services/hardware/bluetooth.nix
@@ -2,41 +2,9 @@
 
 with lib;
 let
-    bluez-bluetooth = if config.services.xserver.desktopManager.kde4.enable then pkgs.bluez else pkgs.bluez5;
-
-    configBluez = {
-        description = "Bluetooth Service";
-        serviceConfig = {
-          Type = "dbus";
-          BusName = "org.bluez";
-          ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
-        };
-        wantedBy = [ "bluetooth.target" ];
-    };
-
-    configBluez5 =  {
-        description = "Bluetooth Service";
-        serviceConfig = {
-          Type = "dbus";
-          BusName = "org.bluez";
-          ExecStart = "${getBin bluez-bluetooth}/bin/bluetoothd -n";
-          NotifyAccess="main";
-          CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE";
-          LimitNPROC=1;
-        };
-        wantedBy = [ "bluetooth.target" ];
-    };
+  isBluez4 = config.services.xserver.desktopManager.kde4.enable;
+  bluez-bluetooth = if isBluez4 then pkgs.bluez4 else pkgs.bluez;
 
-    obexConfig = {
-        description = "Bluetooth OBEX service";
-        serviceConfig = {
-          Type = "dbus";
-          BusName = "org.bluez.obex";
-          ExecStart = "${getBin bluez-bluetooth}/bin/obexd";
-        };
-    };
-
-    bluezConfig = if config.services.xserver.desktopManager.kde4.enable then configBluez else configBluez5;
 in
 
 {
@@ -58,10 +26,21 @@ in
   config = mkIf config.hardware.bluetooth.enable {
 
     environment.systemPackages = [ bluez-bluetooth pkgs.openobex pkgs.obexftp ];
+
     services.udev.packages = [ bluez-bluetooth ];
+
     services.dbus.packages = [ bluez-bluetooth ];
-    systemd.services."dbus-org.bluez" = bluezConfig;
-    systemd.services."dbus-org.bluez.obex" = obexConfig;
+
+    systemd.packages = [ bluez-bluetooth ];
+
+    systemd.services.bluetooth = {
+      wantedBy = [ "bluetooth.target" ];
+      aliases = [ "dbus-org.bluez.service" ];
+    };
+
+    systemd.user.services.obex = mkIf (!isBluez4) {
+      aliases = [ "dbus-org.bluez.obex.service" ];
+    };
 
   };
 
diff --git a/nixos/modules/services/hardware/illum.nix b/nixos/modules/services/hardware/illum.nix
new file mode 100644
index 000000000000..ff73c99a6537
--- /dev/null
+++ b/nixos/modules/services/hardware/illum.nix
@@ -0,0 +1,35 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.illum;
+in {
+
+  options = {
+
+    services.illum = {
+
+      enable = mkOption {
+        default = false;
+        type = types.bool;
+        description = ''
+          Enable illum, a daemon for controlling screen brightness with brightness buttons.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    systemd.services.illum = {
+      description = "Backlight Adjustment Service";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig.ExecStart = "${pkgs.illum}/bin/illum-d";
+    };
+
+  };
+
+}
diff --git a/nixos/modules/services/hardware/sane.nix b/nixos/modules/services/hardware/sane.nix
index 8ddb9ef9c53b..d651ccaa5776 100644
--- a/nixos/modules/services/hardware/sane.nix
+++ b/nixos/modules/services/hardware/sane.nix
@@ -51,7 +51,7 @@ in
         Enable support for SANE scanners.
 
         <note><para>
-          Users in the "scanner" group will gain access to the scanner.
+          Users in the "scanner" group will gain access to the scanner, or the "lp" group if it's also a printer.
         </para></note>
       '';
     };
diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix
new file mode 100644
index 000000000000..38d0a3a1d752
--- /dev/null
+++ b/nixos/modules/services/hardware/trezord.nix
@@ -0,0 +1,54 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+let
+  cfg = config.services.trezord;
+in {
+  
+  ### interface
+
+  options = {
+    services.trezord = {
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable Trezor bridge daemon, for use with Trezor hardware bitcoin wallets.
+        '';
+      };
+    };
+  };
+  
+  ### implementation
+
+  config = mkIf cfg.enable {
+    services.udev.packages = lib.singleton (pkgs.writeTextFile {
+      name = "trezord-udev-rules";
+      destination = "/etc/udev/rules.d/51-trezor.rules";
+      text = ''
+        SUBSYSTEM=="usb", ATTR{idVendor}=="534c", ATTR{idProduct}=="0001", MODE="0666", GROUP="dialout", SYMLINK+="trezor%n"
+        KERNEL=="hidraw*", ATTRS{idVendor}=="534c", ATTRS{idProduct}=="0001",  MODE="0666", GROUP="dialout"
+      '';
+    });
+
+    systemd.services.trezord = {
+      description = "TREZOR Bridge";
+      after = [ "systemd-udev-settle.service" "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+      path = [];
+      serviceConfig = {
+        Type = "simple";
+        ExecStart = "${pkgs.trezord}/bin/trezord -f";
+        User = "trezord";
+      };
+    };
+
+    users.users.trezord = {
+      group = "trezord";
+      description = "Trezor bridge daemon user";
+    };
+
+    users.groups.trezord = {};
+  };
+}
+
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index cdde41446224..caaa87b94d61 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -79,8 +79,6 @@ let
       relay_domains = ${concatStringsSep ", " cfg.relayDomains}
     ''
     + ''
-      local_recipient_maps =
-
       relayhost = ${if cfg.lookupMX || cfg.relayHost == "" then
           cfg.relayHost
         else
diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix
index 09e5c4fe1ff1..ca8fc06e4835 100644
--- a/nixos/modules/services/misc/gogs.nix
+++ b/nixos/modules/services/misc/gogs.nix
@@ -208,6 +208,7 @@ in
         group = "gogs";
         home = cfg.stateDir;
         createHome = true;
+        shell = pkgs.bash;
       };
       extraGroups.gogs.gid = config.ids.gids.gogs;
     };
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index ca82a733f6fc..d28c5dc7af85 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -125,10 +125,10 @@ let
       server.key = ${cfg.dataDir}/keys/server.key
       server.crl = ${cfg.dataDir}/keys/server.crl
     '' else ''
-      ca.cert = ${cfg.pki.ca.cert}
-      server.cert = ${cfg.pki.server.cert}
-      server.key = ${cfg.pki.server.key}
-      server.crl = ${cfg.pki.server.crl}
+      ca.cert = ${cfg.pki.manual.ca.cert}
+      server.cert = ${cfg.pki.manual.server.cert}
+      server.key = ${cfg.pki.manual.server.key}
+      server.crl = ${cfg.pki.manual.server.crl}
     ''}
   '' + cfg.extraConfig);
 
diff --git a/nixos/modules/services/network-filesystems/glusterfs.nix b/nixos/modules/services/network-filesystems/glusterfs.nix
new file mode 100644
index 000000000000..a2f2c0339515
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/glusterfs.nix
@@ -0,0 +1,84 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  inherit (pkgs) glusterfs;
+
+  cfg = config.services.glusterfs;
+
+in
+
+{
+
+  ###### interface
+
+  options = {
+
+    services.glusterfs = {
+
+      enable = mkEnableOption "GlusterFS Daemon";
+
+      logLevel = mkOption {
+        type = types.enum ["DEBUG" "INFO" "WARNING" "ERROR" "CRITICAL" "TRACE" "NONE"];
+        description = "Log level used by the GlusterFS daemon";
+        default = "INFO";
+      };
+
+      extraFlags = mkOption {
+        type = types.listOf types.str;
+        description = "Extra flags passed to the GlusterFS daemon";
+        default = [];
+      };
+    };
+  };
+
+  ###### implementation
+
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.glusterfs ];
+
+    services.rpcbind.enable = true;
+
+    systemd.services.glusterd = {
+
+      description = "GlusterFS, a clustered file-system server";
+
+      wantedBy = [ "multi-user.target" ];
+
+      requires = [ "rpcbind.service" ];
+      after = [ "rpcbind.service" "network.target" "local-fs.target" ];
+      before = [ "network-online.target" ];
+
+      preStart = ''
+        install -m 0755 -d /var/log/glusterfs
+      '';
+
+      serviceConfig = {
+        Type="forking";
+        PIDFile="/run/glusterd.pid";
+        LimitNOFILE=65536;
+        ExecStart="${glusterfs}/sbin/glusterd -p /run/glusterd.pid --log-level=${cfg.logLevel} ${toString cfg.extraFlags}";
+        KillMode="process";
+      };
+    };
+
+    systemd.services.glustereventsd = {
+
+      description = "Gluster Events Notifier";
+
+      wantedBy = [ "multi-user.target" ];
+
+      after = [ "syslog.target" "network.target" ];
+
+      serviceConfig = {
+        Type="simple";
+        Environment="PYTHONPATH=${glusterfs}/usr/lib/python2.7/site-packages";
+        PIDFile="/run/glustereventsd.pid";
+        ExecStart="${glusterfs}/sbin/glustereventsd --pid-file /run/glustereventsd.pid";
+        ExecReload="/bin/kill -SIGUSR2 $MAINPID";
+        KillMode="control-group";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/network-filesystems/nfsd.nix b/nixos/modules/services/network-filesystems/nfsd.nix
index ddc7258ce0b4..7d127145101b 100644
--- a/nixos/modules/services/network-filesystems/nfsd.nix
+++ b/nixos/modules/services/network-filesystems/nfsd.nix
@@ -20,6 +20,7 @@ in
 
       server = {
         enable = mkOption {
+          type = types.bool;
           default = false;
           description = ''
             Whether to enable the kernel's NFS server.
@@ -27,6 +28,7 @@ in
         };
 
         exports = mkOption {
+          type = types.lines;
           default = "";
           description = ''
             Contents of the /etc/exports file.  See
@@ -36,6 +38,7 @@ in
         };
 
         hostName = mkOption {
+          type = types.nullOr types.str;
           default = null;
           description = ''
             Hostname or address on which NFS requests will be accepted.
@@ -46,6 +49,7 @@ in
         };
 
         nproc = mkOption {
+          type = types.int;
           default = 8;
           description = ''
             Number of NFS server threads.  Defaults to the recommended value of 8.
@@ -53,11 +57,13 @@ in
         };
 
         createMountPoints = mkOption {
+          type = types.bool;
           default = false;
           description = "Whether to create the mount points in the exports file at startup time.";
         };
 
         mountdPort = mkOption {
+          type = types.nullOr types.int;
           default = null;
           example = 4002;
           description = ''
@@ -66,11 +72,26 @@ in
         };
 
         lockdPort = mkOption {
-          default = 0;
+          type = types.nullOr types.int;
+          default = null;
+          example = 4001;
+          description = ''
+            Use a fixed port for the NFS lock manager kernel module
+            (<literal>lockd/nlockmgr</literal>).  This is useful if the
+            NFS server is behind a firewall.
+          '';
+        };
+
+        statdPort = mkOption {
+          type = types.nullOr types.int;
+          default = null;
+          example = 4000;
           description = ''
-            Fix the lockd port number. This can help setting firewall rules for NFS.
+            Use a fixed port for <command>rpc.statd</command>. This is
+            useful if the NFS server is behind a firewall.
           '';
         };
+
       };
 
     };
@@ -82,60 +103,47 @@ in
 
   config = mkIf cfg.enable {
 
-    services.rpcbind.enable = true;
+    services.nfs.extraConfig = ''
+      [nfsd]
+      threads=${toString cfg.nproc}
+      ${optionalString (cfg.hostName != null) "host=${cfg.hostName}"}
 
-    boot.supportedFilesystems = [ "nfs" ]; # needed for statd and idmapd
-
-    environment.systemPackages = [ pkgs.nfs-utils ];
+      [mountd]
+      ${optionalString (cfg.mountdPort != null) "port=${toString cfg.mountdPort}"}
 
-    environment.etc.exports.source = exports;
+      [statd]
+      ${optionalString (cfg.statdPort != null) "port=${toString cfg.statdPort}"}
 
-    boot.kernelModules = [ "nfsd" ];
+      [lockd]
+      ${optionalString (cfg.lockdPort != null) ''
+        port=${toString cfg.lockdPort}
+        udp-port=${toString cfg.lockdPort}
+      ''}
+    '';
 
-    systemd.services.nfsd =
-      { description = "NFS Server";
+    services.rpcbind.enable = true;
 
-        wantedBy = [ "multi-user.target" ];
+    boot.supportedFilesystems = [ "nfs" ]; # needed for statd and idmapd
 
-        requires = [ "rpcbind.service" "mountd.service" ];
-        after = [ "rpcbind.service" "mountd.service" "idmapd.service" ];
-        before = [ "statd.service" ];
+    environment.etc.exports.source = exports;
 
-        path = [ pkgs.nfs-utils ];
+    systemd.services.nfs-server =
+      { enable = true;
+        wantedBy = [ "multi-user.target" ];
 
-        script =
+        preStart =
           ''
-            # Create a state directory required by NFSv4.
             mkdir -p /var/lib/nfs/v4recovery
-
-            ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_tcpport=${builtins.toString cfg.lockdPort}
-            ${pkgs.procps}/sbin/sysctl -w fs.nfs.nlm_udpport=${builtins.toString cfg.lockdPort}
-
-            rpc.nfsd \
-              ${if cfg.hostName != null then "-H ${cfg.hostName}" else ""} \
-              ${builtins.toString cfg.nproc}
           '';
-
-        postStop = "rpc.nfsd 0";
-
-        serviceConfig.Type = "oneshot";
-        serviceConfig.RemainAfterExit = true;
       };
 
-    systemd.services.mountd =
-      { description = "NFSv3 Mount Daemon";
-
-        requires = [ "rpcbind.service" ];
-        after = [ "rpcbind.service" "local-fs.target" ];
-
-        path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
+    systemd.services.nfs-mountd =
+      { enable = true;
+        restartTriggers = [ exports ];
 
         preStart =
           ''
             mkdir -p /var/lib/nfs
-            touch /var/lib/nfs/rmtab
-
-            mountpoint -q /proc/fs/nfsd || mount -t nfsd none /proc/fs/nfsd
 
             ${optionalString cfg.createMountPoints
               ''
@@ -146,18 +154,7 @@ in
                 | xargs -d '\n' mkdir -p
               ''
             }
-
-            exportfs -rav
           '';
-
-        restartTriggers = [ exports ];
-
-        serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = ''
-          @${pkgs.nfs-utils}/sbin/rpc.mountd rpc.mountd \
-              ${if cfg.mountdPort != null then "-p ${toString cfg.mountdPort}" else ""}
-        '';
-        serviceConfig.Restart = "always";
       };
 
   };
diff --git a/nixos/modules/services/networking/chrony.nix b/nixos/modules/services/networking/chrony.nix
index f2ff11633b1b..9bf266b38054 100644
--- a/nixos/modules/services/networking/chrony.nix
+++ b/nixos/modules/services/networking/chrony.nix
@@ -12,6 +12,25 @@ let
 
   cfg = config.services.chrony;
 
+  configFile = pkgs.writeText "chrony.conf" ''
+    ${concatMapStringsSep "\n" (server: "server " + server) cfg.servers}
+
+    ${optionalString
+      cfg.initstepslew.enabled
+      "initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}"
+    }
+
+    driftfile ${stateDir}/chrony.drift
+
+    keyfile ${keyFile}
+
+    ${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
+
+    ${cfg.extraConfig}
+  '';
+
+  chronyFlags = "-n -m -u chrony -f ${configFile} ${toString cfg.extraFlags}";
+
 in
 
 {
@@ -58,6 +77,13 @@ in
           <literal>chrony.conf</literal>
         '';
       };
+
+      extraFlags = mkOption {
+        default = [];
+        example = [ "-s" ];
+        type = types.listOf types.str;
+        description = "Extra flags passed to the chronyd command.";
+      };
     };
 
   };
@@ -70,25 +96,6 @@ in
     # Make chronyc available in the system path
     environment.systemPackages = [ pkgs.chrony ];
 
-    environment.etc."chrony.conf".text =
-      ''
-        ${concatMapStringsSep "\n" (server: "server " + server) cfg.servers}
-
-        ${optionalString
-          cfg.initstepslew.enabled
-          "initstepslew ${toString cfg.initstepslew.threshold} ${concatStringsSep " " cfg.initstepslew.servers}"
-        }
-
-        driftfile ${stateDir}/chrony.drift
-
-        keyfile ${keyFile}
-        generatecommandkey
-
-        ${optionalString (!config.time.hardwareClockInLocalTime) "rtconutc"}
-
-        ${cfg.extraConfig}
-      '';
-
     users.extraGroups = singleton
       { name = "chrony";
         gid = config.ids.gids.chrony;
@@ -124,7 +131,7 @@ in
           '';
 
         serviceConfig =
-          { ExecStart = "${pkgs.chrony}/bin/chronyd -n -m -u chrony";
+          { ExecStart = "${pkgs.chrony}/bin/chronyd ${chronyFlags}";
           };
       };
 
diff --git a/nixos/modules/services/networking/cjdns.nix b/nixos/modules/services/networking/cjdns.nix
index a10851c16523..12c2677c3368 100644
--- a/nixos/modules/services/networking/cjdns.nix
+++ b/nixos/modules/services/networking/cjdns.nix
@@ -258,9 +258,8 @@ in
         Restart = "always";
         StartLimitInterval = 0;
         RestartSec = 1;
-        CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW";
-        AmbientCapabilities = "CAP_NET_ADMIN CAP_NET_RAW";
-        ProtectSystem = "full";
+        CapabilityBoundingSet = "CAP_NET_ADMIN CAP_NET_RAW CAP_SETUID";
+        ProtectSystem = true;
         MemoryDenyWriteExecute = true;
         ProtectHome = true;
         PrivateTmp = true;
diff --git a/nixos/modules/services/networking/dnschain.nix b/nixos/modules/services/networking/dnschain.nix
index f17f8c832ee4..b64929960576 100644
--- a/nixos/modules/services/networking/dnschain.nix
+++ b/nixos/modules/services/networking/dnschain.nix
@@ -3,23 +3,28 @@
 with lib;
 
 let
-  cfg = config.services;
+  cfgs = config.services;
+  cfg  = cfgs.dnschain;
 
-  dnschainConf = pkgs.writeText "dnschain.conf" ''
+  dataDir  = "/var/lib/dnschain";
+  username = "dnschain";
+
+  configFile = pkgs.writeText "dnschain.conf" ''
     [log]
-    level=info
+    level = info
 
     [dns]
-    host = 127.0.0.1
-    port = 5333
+    host = ${cfg.dns.address}
+    port = ${toString cfg.dns.port}
     oldDNSMethod = NO_OLD_DNS
-    # TODO: check what that address is acutally used for
-    externalIP = 127.0.0.1
+    externalIP = ${cfg.dns.address}
 
     [http]
-    host = 127.0.0.1
-    port=8088
-    tlsPort=4443
+    host = ${cfg.api.hostname}
+    port = ${toString cfg.api.port}
+    tlsPort = ${toString cfg.api.tlsPort}
+
+    ${cfg.extraConfig}
   '';
 
 in
@@ -32,28 +37,81 @@ in
 
     services.dnschain = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = false;
+      enable = mkEnableOption ''
+        DNSChain, a blockchain based DNS + HTTP server.
+        To resolve .bit domains set <literal>services.namecoind.enable = true;</literal>
+        and an RPC username/password.
+      '';
+
+      dns.address = mkOption {
+        type = types.str;
+        default = "127.0.0.1";
         description = ''
-          Whether to run dnschain. That implies running
-          namecoind as well, so make sure to configure
-          it appropriately.
+          The IP address that will be used to reach this machine.
+          Leave this unchanged if you do not wish to directly expose the DNSChain resolver.
         '';
       };
 
-    };
+      dns.port = mkOption {
+        type = types.int;
+        default = 5333;
+        description = ''
+          The port the DNSChain resolver will bind to.
+        '';
+      };
+
+      api.hostname = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = ''
+          The hostname (or IP address) the DNSChain API server will bind to.
+        '';
+      };
+
+      api.port = mkOption {
+        type = types.int;
+        default = 8080;
+        description = ''
+          The port the DNSChain API server (HTTP) will bind to.
+        '';
+      };
 
-    services.dnsmasq = {
-      resolveDnschainQueries = mkOption {
-        type = types.bool;
-        default = false;
+      api.tlsPort = mkOption {
+        type = types.int;
+        default = 4433;
         description = ''
-          Resolve <literal>.bit</literal> top-level domains
-          with dnschain and namecoind.
+          The port the DNSChain API server (HTTPS) will bind to.
         '';
       };
 
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          [log]
+          level = debug
+        '';
+        description = ''
+          Additional options that will be appended to the configuration file.
+        '';
+      };
+
+    };
+
+    services.dnsmasq.resolveDNSChainQueries = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Resolve <literal>.bit</literal> top-level domains using DNSChain and namecoin.
+      '';
+    };
+
+    services.pdns-recursor.resolveDNSChainQueries = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Resolve <literal>.bit</literal> top-level domains using DNSChain and namecoin.
+      '';
     };
 
   };
@@ -61,48 +119,47 @@ in
 
   ###### implementation
 
-  config = mkIf cfg.dnschain.enable {
-
-    services.namecoind.enable = true;
+  config = mkIf cfg.enable {
 
-    services.dnsmasq.servers = optionals cfg.dnsmasq.resolveDnschainQueries [ "/.bit/127.0.0.1#5333" ];
+    services.dnsmasq.servers = optionals cfgs.dnsmasq.resolveDNSChainQueries
+      [ "/.bit/127.0.0.1#${toString cfg.dns.port}"
+        "/.dns/127.0.0.1#${toString cfg.dns.port}"
+      ];
 
-    users.extraUsers = singleton
-      { name = "dnschain";
-        uid = config.ids.uids.dnschain;
-        extraGroups = [ "namecoin" ];
-        description = "Dnschain daemon user";
-        home = "/var/lib/dnschain";
-        createHome = true;
+    services.pdns-recursor.forwardZones = mkIf cfgs.pdns-recursor.resolveDNSChainQueries
+      { bit = "127.0.0.1:${toString cfg.dns.port}";
+        dns = "127.0.0.1:${toString cfg.dns.port}";
       };
 
+    users.extraUsers = singleton {
+      name = username;
+      description = "DNSChain daemon user";
+      home = dataDir;
+      createHome = true;
+      uid = config.ids.uids.dnschain;
+      extraGroups = optional cfgs.namecoind.enable "namecoin";
+    };
+
     systemd.services.dnschain = {
-        description = "Dnschain Daemon";
-        after = [ "namecoind.target" ];
-        wantedBy = [ "multi-user.target" ];
-        path = [ pkgs.openssl ];
-        preStart = ''
-          # Link configuration file into dnschain HOME directory
-          if [ "$(${pkgs.coreutils}/bin/realpath /var/lib/dnschain/.dnschain.conf)" != "${dnschainConf}" ]; then
-              rm -rf /var/lib/dnschain/.dnschain.conf
-              ln -s ${dnschainConf} /var/lib/dnschain/.dnschain.conf
-          fi
-
-          # Create empty namecoin.conf so that dnschain is not
-          # searching for /etc/namecoin/namecoin.conf
-          if [ ! -e /var/lib/dnschain/.namecoin/namecoin.conf ]; then
-              mkdir -p /var/lib/dnschain/.namecoin
-              touch /var/lib/dnschain/.namecoin/namecoin.conf
-          fi
-        '';
-        serviceConfig = {
-          Type = "simple";
-          User = "dnschain";
-          EnvironmentFile = config.services.namecoind.userFile;
-          ExecStart = "${pkgs.dnschain}/bin/dnschain --rpcuser=\${USER} --rpcpassword=\${PASSWORD} --rpcport=8336";
-          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-          ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
-        };
+      description = "DNSChain daemon";
+      after    = optional cfgs.namecoind.enable "namecoind.target";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        User = "dnschain";
+        Restart = "on-failure";
+        ExecStart = "${pkgs.dnschain}/bin/dnschain";
+      };
+
+      preStart = ''
+        # Link configuration file into dnschain home directory
+        configPath=${dataDir}/.dnschain/dnschain.conf
+        mkdir -p ${dataDir}/.dnschain
+        if [ "$(realpath $configPath)" != "${configFile}" ]; then
+          rm -f $configPath
+          ln -s ${configFile} $configPath
+        fi
+      '';
     };
 
   };
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index 34b731ad35c9..243cd04c96c2 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -38,9 +38,9 @@ let
 
   cfg = config.networking.firewall;
 
-  kernelPackages = config.boot.kernelPackages;
+  inherit (config.boot.kernelPackages) kernel;
 
-  kernelHasRPFilter = kernelPackages.kernel.features.netfilterRPFilter or false;
+  kernelHasRPFilter = ((kernel.config.isEnabled or (x: false)) "IP_NF_MATCH_RPFILTER") || (kernel.features.netfilterRPFilter or false);
 
   helpers =
     ''
diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix
index 83fc1ec66679..9df9f67cde83 100644
--- a/nixos/modules/services/networking/namecoind.nix
+++ b/nixos/modules/services/networking/namecoind.nix
@@ -3,25 +3,35 @@
 with lib;
 
 let
-  cfg = config.services.namecoind;
+  cfg     = config.services.namecoind;
+  dataDir = "/var/lib/namecoind";
+  useSSL  = (cfg.rpc.certificate != null) && (cfg.rpc.key != null);
+  useRPC  = (cfg.rpc.user != null) && (cfg.rpc.password != null);
 
-  namecoinConf =
-  let
-    useSSL = (cfg.rpcCertificate != null) && (cfg.rpcKey != null);
-  in
-  pkgs.writeText "namecoin.conf" ''
+  listToConf = option: list:
+    concatMapStrings (value :"${option}=${value}\n") list;
+
+  configFile = pkgs.writeText "namecoin.conf" (''
     server=1
     daemon=0
-    rpcallowip=127.0.0.1
-    walletpath=${cfg.wallet}
-    gen=${if cfg.generate then "1" else "0"}
-    rpcssl=${if useSSL then "1" else "0"}
-    ${optionalString useSSL "rpcsslcertificatechainfile=${cfg.rpcCertificate}"}
-    ${optionalString useSSL "rpcsslprivatekeyfile=${cfg.rpcKey}"}
-    ${optionalString useSSL "rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH"}
     txindex=1
     txprevcache=1
-  '';
+    walletpath=${cfg.wallet}
+    gen=${if cfg.generate then "1" else "0"}
+    ${listToConf "addnode" cfg.extraNodes}
+    ${listToConf "connect" cfg.trustedNodes}
+  '' + optionalString useRPC ''
+    rpcbind=${cfg.rpc.address}
+    rpcport=${toString cfg.rpc.port}
+    rpcuser=${cfg.rpc.user}
+    rpcpassword=${cfg.rpc.password}
+    ${listToConf "rpcallowip" cfg.rpc.allowFrom}
+  '' + optionalString useSSL ''
+    rpcssl=1
+    rpcsslcertificatechainfile=${cfg.rpc.certificate}
+    rpcsslprivatekeyfile=${cfg.rpc.key}
+    rpcsslciphers=TLSv1.2+HIGH:TLSv1+HIGH:!SSLv2:!aNULL:!eNULL:!3DES:@STRENGTH
+  '');
 
 in
 
@@ -33,66 +43,102 @@ in
 
     services.namecoind = {
 
-      enable = mkOption {
+      enable = mkEnableOption "namecoind, Namecoin client.";
+
+      wallet = mkOption {
+        type = types.path;
+        default = "${dataDir}/wallet.dat";
+        description = ''
+          Wallet file. The ownership of the file has to be
+          namecoin:namecoin, and the permissions must be 0640.
+        '';
+      };
+
+      generate = mkOption {
         type = types.bool;
         default = false;
         description = ''
-          Whether to run namecoind.
+          Whether to generate (mine) Namecoins.
         '';
       };
 
-      wallet = mkOption {
-        type = types.path;
-        example = "/etc/namecoin/wallet.dat";
+      extraNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
         description = ''
-          Wallet file. The ownership of the file has to be
-          namecoin:namecoin, and the permissions must be 0640.
+          List of additional peer IP addresses to connect to.
         '';
       };
 
-      userFile = mkOption {
-        type = types.nullOr types.path;
+      trustedNodes = mkOption {
+        type = types.listOf types.str;
+        default = [ ];
+        description = ''
+          List of the only peer IP addresses to connect to. If specified
+          no other connection will be made.
+        '';
+      };
+
+      rpc.user = mkOption {
+        type = types.nullOr types.str;
         default = null;
-        example = "/etc/namecoin/user";
         description = ''
-          File containing the user name and user password to
-          authenticate RPC connections to namecoind.
-          The content of the file is of the form:
-          <literal>
-          USER=namecoin
-          PASSWORD=secret
-          </literal>
-          The ownership of the file has to be namecoin:namecoin,
-          and the permissions must be 0640.
+          User name for RPC connections.
         '';
       };
 
-      generate = mkOption {
-        type = types.bool;
-        default = false;
+      rpc.password = mkOption {
+        type = types.str;
+        default = null;
         description = ''
-          Whether to generate (mine) Namecoins.
+          Password for RPC connections.
         '';
       };
 
-      rpcCertificate = mkOption {
+      rpc.address = mkOption {
+        type = types.str;
+        default = "0.0.0.0";
+        description = ''
+          IP address the RPC server will bind to.
+        '';
+      };
+
+      rpc.port = mkOption {
+        type = types.int;
+        default = 8332;
+        description = ''
+          Port the RPC server will bind to.
+        '';
+      };
+
+      rpc.certificate = mkOption {
         type = types.nullOr types.path;
         default = null;
-        example = "/etc/namecoin/server.cert";
+        example = "/var/lib/namecoind/server.cert";
         description = ''
           Certificate file for securing RPC connections.
         '';
       };
 
-      rpcKey = mkOption {
+      rpc.key = mkOption {
         type = types.nullOr types.path;
         default = null;
-        example = "/etc/namecoin/server.pem";
+        example = "/var/lib/namecoind/server.pem";
         description = ''
           Key file for securing RPC connections.
         '';
       };
 
+
+      rpc.allowFrom = mkOption {
+        type = types.listOf types.str;
+        default = [ "127.0.0.1" ];
+        description = ''
+          List of IP address ranges allowed to use the RPC API.
+          Wiledcards (*) can be user to specify a range.
+        '';
+      };
+
     };
 
   };
@@ -102,47 +148,54 @@ in
 
   config = mkIf cfg.enable {
 
-    users.extraUsers = singleton
-      { name = "namecoin";
-        uid = config.ids.uids.namecoin;
-        description = "Namecoin daemon user";
-        home = "/var/lib/namecoin";
-        createHome = true;
-      };
+    services.dnschain.extraConfig = ''
+      [namecoin]
+      config = ${configFile}
+    '';
+
+    users.extraUsers = singleton {
+      name = "namecoin";
+      uid  = config.ids.uids.namecoin;
+      description = "Namecoin daemon user";
+      home = dataDir;
+      createHome = true;
+    };
 
-    users.extraGroups = singleton
-      { name = "namecoin";
-        gid = config.ids.gids.namecoin;
-      };
+    users.extraGroups = singleton {
+      name = "namecoin";
+      gid  = config.ids.gids.namecoin;
+    };
 
     systemd.services.namecoind = {
-        description = "Namecoind Daemon";
-        after = [ "network.target" ];
-        wantedBy = [ "multi-user.target" ];
-        preStart = ''
-          if [  "$(stat --printf '%u' ${cfg.userFile})" != "${toString config.ids.uids.namecoin}" \
-             -o "$(stat --printf '%g' ${cfg.userFile})" != "${toString config.ids.gids.namecoin}" \
-             -o "$(stat --printf '%a' ${cfg.userFile})" != "640" ]; then
-             echo "ERROR: bad ownership or rights on ${cfg.userFile}" >&2
-             exit 1
-          fi
-          if [  "$(stat --printf '%u' ${cfg.wallet})" != "${toString config.ids.uids.namecoin}" \
-             -o "$(stat --printf '%g' ${cfg.wallet})" != "${toString config.ids.gids.namecoin}" \
-             -o "$(stat --printf '%a' ${cfg.wallet})" != "640" ]; then
-             echo "ERROR: bad ownership or rights on ${cfg.wallet}" >&2
-             exit 1
-          fi
-        '';
-        serviceConfig = {
-          Type = "simple";
-          User = "namecoin";
-          EnvironmentFile = cfg.userFile;
-          ExecStart = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${namecoinConf} -rpcuser=\${USER} -rpcpassword=\${PASSWORD} -printtoconsole";
-          ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-          ExecStop = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
-          StandardOutput = "null";
-          Nice = "10";
-        };
+      description = "Namecoind daemon";
+      after    = [ "network.target" ];
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        User  = "namecoin";
+        Griup = "namecoin";
+        ExecStart  = "${pkgs.altcoins.namecoind}/bin/namecoind -conf=${configFile} -datadir=${dataDir} -printtoconsole";
+        ExecStop   = "${pkgs.coreutils}/bin/kill -KILL $MAINPID";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        Nice = "10";
+        PrivateTmp = true;
+        TimeoutStopSec     = "60s";
+        TimeoutStartSec    = "2s";
+        Restart            = "always";
+        StartLimitInterval = "120s";
+        StartLimitBurst    = "5";
+      };
+
+      preStart = optionalString (cfg.wallet != "${dataDir}/wallet.dat")  ''
+        # check wallet file permissions
+        if [ "$(stat --printf '%u' ${cfg.wallet})" != "${toString config.ids.uids.namecoin}" \
+           -o "$(stat --printf '%g' ${cfg.wallet})" != "${toString config.ids.gids.namecoin}" \
+           -o "$(stat --printf '%a' ${cfg.wallet})" != "640" ]; then
+           echo "ERROR: bad ownership or rights on ${cfg.wallet}" >&2
+           exit 1
+        fi
+      '';
+
     };
 
   };
diff --git a/nixos/modules/services/networking/rpcbind.nix b/nixos/modules/services/networking/rpcbind.nix
index eef1e8e8cd88..cddcb09054e0 100644
--- a/nixos/modules/services/networking/rpcbind.nix
+++ b/nixos/modules/services/networking/rpcbind.nix
@@ -2,35 +2,6 @@
 
 with lib;
 
-let
-
-  netconfigFile = {
-    target = "netconfig";
-    source = pkgs.writeText "netconfig" ''
-      #
-      # The network configuration file. This file is currently only used in
-      # conjunction with the TI-RPC code in the libtirpc library.
-      #
-      # Entries consist of:
-      #
-      #       <network_id> <semantics> <flags> <protofamily> <protoname> \
-      #               <device> <nametoaddr_libs>
-      #
-      # The <device> and <nametoaddr_libs> fields are always empty in this
-      # implementation.
-      #
-      udp        tpi_clts      v     inet     udp     -       -
-      tcp        tpi_cots_ord  v     inet     tcp     -       -
-      udp6       tpi_clts      v     inet6    udp     -       -
-      tcp6       tpi_cots_ord  v     inet6    tcp     -       -
-      rawip      tpi_raw       -     inet      -      -       -
-      local      tpi_cots_ord  -     loopback  -      -       -
-      unix       tpi_cots_ord  -     loopback  -      -       -
-    '';
-  };
-
-in
-
 {
 
   ###### interface
@@ -58,25 +29,18 @@ in
   ###### implementation
 
   config = mkIf config.services.rpcbind.enable {
-
     environment.systemPackages = [ pkgs.rpcbind ];
 
-    environment.etc = [ netconfigFile ];
-
-    systemd.services.rpcbind =
-      { description = "ONC RPC Directory Service";
+    systemd.packages = [ pkgs.rpcbind ];
 
-        wantedBy = [ "multi-user.target" ];
-
-        requires = [ "basic.target" ];
-        after = [ "basic.target" ];
-
-        unitConfig.DefaultDependencies = false; # don't stop during shutdown
-
-        serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${pkgs.rpcbind}/bin/rpcbind rpcbind";
-      };
+    systemd.services.rpcbind = {
+      wantedBy = [ "multi-user.target" ];
+    };
 
+    users.extraUsers.rpc = {
+      group = "nogroup";
+      uid = config.ids.uids.rpc;
+    };
   };
 
 }
diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix
index 0c459fb1dd0c..31d11548f195 100644
--- a/nixos/modules/services/networking/supplicant.nix
+++ b/nixos/modules/services/networking/supplicant.nix
@@ -82,7 +82,8 @@ in
           configFile = {
   
             path = mkOption {
-              type = types.path;
+              type = types.nullOr types.path;
+              default = null;
               example = literalExample "/etc/wpa_supplicant.conf";
               description = ''
                 External <literal>wpa_supplicant.conf</literal> configuration file.
diff --git a/nixos/modules/services/web-servers/apache-httpd/default.nix b/nixos/modules/services/web-servers/apache-httpd/default.nix
index dc0ca501a484..ed77e0844769 100644
--- a/nixos/modules/services/web-servers/apache-httpd/default.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/default.nix
@@ -63,6 +63,8 @@ let
       let
         svcFunction =
           if svc ? function then svc.function
+          # instead of using serviceType="mediawiki"; you can copy mediawiki.nix to any location outside nixpkgs, modify it at will, and use serviceExpression=./mediawiki.nix;
+          else if svc ? serviceExpression then import (toString svc.serviceExpression)
           else import (toString "${toString ./.}/${if svc ? serviceType then svc.serviceType else svc.serviceName}.nix");
         config = (evalModules
           { modules = [ { options = res.options; config = svc.config or svc; } ];
diff --git a/nixos/modules/services/web-servers/apache-httpd/moodle.nix b/nixos/modules/services/web-servers/apache-httpd/moodle.nix
deleted file mode 100644
index d525348d5c7e..000000000000
--- a/nixos/modules/services/web-servers/apache-httpd/moodle.nix
+++ /dev/null
@@ -1,198 +0,0 @@
-{ config, lib, pkgs, serverInfo, php, ... }:
-
-with lib;
-
-let
-
-  httpd = serverInfo.serverConfig.package;
-
-  version24 = !versionOlder httpd.version "2.4";
-
-  allGranted = if version24 then ''
-    Require all granted
-  '' else ''
-    Order allow,deny
-    Allow from all
-  '';
-
-  moodleConfig = pkgs.writeText "config.php"
-    ''
-      <?php
-      unset($CFG);
-      global $CFG;
-      $CFG = new stdClass();
-      $CFG->dbtype    = '${config.dbType}';
-      $CFG->dblibrary = 'native';
-      $CFG->dbhost    = '${config.dbHost}';
-      $CFG->dbname    = '${config.dbName}';
-      $CFG->dbuser    = '${config.dbUser}';
-      $CFG->dbpass    = '${config.dbPassword}';
-      $CFG->prefix    = '${config.dbPrefix}';
-      $CFG->dboptions = array(
-          'dbpersist' => false,
-          'dbsocket'  => false,
-          'dbport'    => "${config.dbPort}",
-      );
-      $CFG->wwwroot   = '${config.wwwRoot}';
-      $CFG->dataroot  = '${config.dataRoot}';
-      $CFG->directorypermissions = 02777;
-      $CFG->admin = 'admin';
-      ${optionalString (config.debug.noEmailEver == true) ''
-        $CFG->noemailever = true;
-      ''}
-
-      ${config.extraConfig}
-      require_once(dirname(__FILE__) . '/lib/setup.php'); // Do not edit
-    '';
-  # Unpack Moodle and put the config file in its root directory.
-  moodleRoot = pkgs.stdenv.mkDerivation rec {
-    name= "moodle-2.8.10";
-
-    src = pkgs.fetchurl {
-      url = "https://download.moodle.org/stable28/${name}.tgz";
-      sha256 = "0c3r5081ipcwc9s6shakllnrkd589y2ln5z5m1q09l4h6a7cy4z2";
-    };
-
-    buildPhase =
-      ''
-      '';
-
-    installPhase =
-      ''
-        mkdir -p $out
-        cp -r * $out
-        cp ${moodleConfig} $out/config.php
-      '';
-    # Marked as broken due to needing an update for security issues.
-    # See: https://github.com/NixOS/nixpkgs/issues/18856
-    meta.broken = true;
-
-  };
-
-in
-
-{
-
-  extraConfig =
-  ''
-    # this should be config.urlPrefix instead of /
-    Alias / ${moodleRoot}/
-    <Directory ${moodleRoot}>
-      DirectoryIndex index.php
-    </Directory>
-  '';
-
-  documentRoot = moodleRoot; # TODO: fix this, should be config.urlPrefix
-
-  enablePHP = true;
-
-  options = {
-
-    id = mkOption {
-      default = "main";
-      description = ''
-        A unique identifier necessary to keep multiple Moodle server
-        instances on the same machine apart.
-      '';
-    };
-
-    dbType = mkOption {
-      default = "postgres";
-      example = "mysql";
-      description = "Database type.";
-    };
-
-    dbName = mkOption {
-      default = "moodle";
-      description = "Name of the database that holds the Moodle data.";
-    };
-
-    dbHost = mkOption {
-      default = "localhost";
-      example = "10.0.2.2";
-      description = ''
-        The location of the database server.
-      '';
-    };
-
-    dbPort = mkOption {
-      default = ""; # use the default port
-      example = "12345";
-      description = ''
-        The port that is used to connect to the database server.
-      '';
-    };
-
-    dbUser = mkOption {
-      default = "moodle";
-      description = "The user name for accessing the database.";
-    };
-
-    dbPassword = mkOption {
-      default = "";
-      example = "password";
-      description = ''
-        The password of the database user.  Warning: this is stored in
-        cleartext in the Nix store!
-      '';
-    };
-
-    dbPrefix = mkOption {
-      default = "mdl_";
-      example = "my_other_mdl_";
-      description = ''
-        A prefix for each table, if multiple moodles should run in a single database.
-      '';
-    };
-
-    wwwRoot = mkOption {
-      type = types.string;
-      example = "http://my.machine.com/my-moodle";
-      description = ''
-        The full web address where moodle has been installed.
-      '';
-    };
-
-    dataRoot = mkOption {
-      default = "/var/lib/moodledata";
-      example = "/var/lib/moodledata";
-      description = ''
-        The data directory for moodle. Needs to be writable!
-      '';
-      type = types.path;
-      };
-
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      example =
-        ''
-        '';
-      description = ''
-        Any additional text to be appended to Moodle's
-        configuration file.  This is a PHP script.
-      '';
-    };
-
-    debug = {
-      noEmailEver = mkOption {
-        default = false;
-	example = "true";
-	description = ''
-	  Set this to true to prevent Moodle from ever sending any email.
-	'';
-	};
-    };
-  };
-
-  startupScript = pkgs.writeScript "moodle_startup.sh" ''
-  echo "Checking for existence of ${config.dataRoot}"
-  if [ ! -e "${config.dataRoot}" ]
-  then
-    mkdir -p "${config.dataRoot}"
-    chown ${serverInfo.serverConfig.user}.${serverInfo.serverConfig.group} "${config.dataRoot}"
-  fi
-  '';
-
-}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index c9eacdd85dcd..aa11a5d5e80a 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -16,7 +16,20 @@ let
   ) cfg.virtualHosts;
   enableIPv6 = config.networking.enableIPv6;
 
-  configFile = pkgs.writeText "nginx.conf" ''
+  configFile = pkgs.runCommand "nginx.conf" {
+    inherit configFileUnformatted;
+    passAsFile = [ "configFileUnformatted" ];
+    # configFileUnformatted is created locally, therefore so should this be.
+    preferLocalBuild = true;
+    allowSubstitutes = false;
+  } ''
+    cp ${configFileUnformatted} nginx.conf
+    chmod u+w nginx.conf
+    ${pkgs.nginx-config-formatter}/bin/nginxfmt nginx.conf
+    cp nginx.conf $out
+  '';
+
+  configFileUnformatted = pkgs.writeText "nginx.unformatted.conf" ''
     user ${cfg.user} ${cfg.group};
     error_log stderr;
     daemon off;
@@ -403,7 +416,7 @@ in
         acmeEnabledVhosts = filter (vhostConfig: vhostConfig.enableACME) vhostsConfigs;
         acmePairs = map (vhostConfig: { name = vhostConfig.serverName; value = {
             user = cfg.user;
-            group = cfg.group;
+            group = lib.mkDefault cfg.group;
             webroot = vhostConfig.acmeRoot;
             extraDomains = genAttrs vhostConfig.serverAliases (alias: null);
             postRun = ''
diff --git a/nixos/modules/system/boot/systemd-lib.nix b/nixos/modules/system/boot/systemd-lib.nix
index 997770b8beca..7dbf3b25cdb0 100644
--- a/nixos/modules/system/boot/systemd-lib.nix
+++ b/nixos/modules/system/boot/systemd-lib.nix
@@ -159,7 +159,13 @@ rec {
         fi
       done
 
-      # Created .wants and .requires symlinks from the wantedBy and
+      # Create service aliases from aliases option.
+      ${concatStrings (mapAttrsToList (name: unit:
+          concatMapStrings (name2: ''
+            ln -sfn '${name}' $out/'${name2}'
+          '') unit.aliases) units)}
+
+      # Create .wants and .requires symlinks from the wantedBy and
       # requiredBy options.
       ${concatStrings (mapAttrsToList (name: unit:
           concatMapStrings (name2: ''
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 69af23981485..904e41b019fb 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -52,6 +52,12 @@ in rec {
       description = "Units that want (i.e. depend on) this unit.";
     };
 
+    aliases = mkOption {
+      default = [];
+      type = types.listOf types.str;
+      description = "Aliases of that unit.";
+    };
+
   };
 
   concreteUnitOptions = sharedOptions // {
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index ace1545b96e6..904404e1e472 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -42,7 +42,8 @@ let
       "systemd-udevd.service"
       "systemd-udev-settle.service"
       "systemd-udev-trigger.service"
-      "systemd-hwdb-update.service"
+      # hwdb.bin is managed by NixOS
+      # "systemd-hwdb-update.service"
 
       # Consoles.
       "getty.target"
@@ -61,7 +62,6 @@ let
       # Login stuff.
       "systemd-logind.service"
       "autovt@.service"
-      #"systemd-vconsole-setup.service"
       "systemd-user-sessions.service"
       "dbus-org.freedesktop.login1.service"
       "dbus-org.freedesktop.machine1.service"
@@ -313,7 +313,7 @@ let
     '';
 
   targetToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text =
         ''
           [Unit]
@@ -322,7 +322,7 @@ let
     };
 
   serviceToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Service]
@@ -342,7 +342,7 @@ let
     };
 
   socketToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Socket]
@@ -352,7 +352,7 @@ let
     };
 
   timerToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Timer]
@@ -361,7 +361,7 @@ let
     };
 
   pathToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Path]
@@ -370,7 +370,7 @@ let
     };
 
   mountToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Mount]
@@ -379,7 +379,7 @@ let
     };
 
   automountToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Automount]
@@ -388,7 +388,7 @@ let
     };
 
   sliceToUnit = name: def:
-    { inherit (def) wantedBy requiredBy enable;
+    { inherit (def) aliases wantedBy requiredBy enable;
       text = commonUnitText def +
         ''
           [Slice]
@@ -753,7 +753,8 @@ in
 
         # Keep a persistent journal. Note that systemd-tmpfiles will
         # set proper ownership/permissions.
-        mkdir -m 0700 -p /var/log/journal
+        # FIXME: revert to 0700 with systemd v233.
+        mkdir -m 0750 -p /var/log/journal
       '';
 
     users.extraUsers.systemd-network.uid = config.ids.uids.systemd-network;
diff --git a/nixos/modules/tasks/filesystems.nix b/nixos/modules/tasks/filesystems.nix
index 49ba66ad50af..8bd35385739e 100644
--- a/nixos/modules/tasks/filesystems.nix
+++ b/nixos/modules/tasks/filesystems.nix
@@ -216,7 +216,7 @@ in
 
     environment.etc.fstab.text =
       let
-        fsToSkipCheck = [ "none" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" ];
+        fsToSkipCheck = [ "none" "btrfs" "zfs" "tmpfs" "nfs" "vboxsf" "glusterfs" ];
         skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck;
       in ''
         # This is a generated file.  Do not edit!
diff --git a/nixos/modules/tasks/filesystems/glusterfs.nix b/nixos/modules/tasks/filesystems/glusterfs.nix
new file mode 100644
index 000000000000..e8c7fa8efbae
--- /dev/null
+++ b/nixos/modules/tasks/filesystems/glusterfs.nix
@@ -0,0 +1,11 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+{
+  config = mkIf (any (fs: fs == "glusterfs") config.boot.supportedFilesystems) {
+
+    system.fsPackages = [ pkgs.glusterfs ];
+
+  };
+}
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index e9a7ccc721a9..73cf18384bd4 100644
--- a/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixos/modules/tasks/filesystems/nfs.nix
@@ -24,6 +24,8 @@ let
     Method = nsswitch
   '';
 
+  nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig;
+
   cfg = config.services.nfs;
 
 in
@@ -32,23 +34,12 @@ in
   ###### interface
 
   options = {
-
     services.nfs = {
-      statdPort = mkOption {
-        default = null;
-        example = 4000;
-        description = ''
-          Use a fixed port for <command>rpc.statd</command>. This is
-          useful if the NFS server is behind a firewall.
-        '';
-      };
-      lockdPort = mkOption {
-        default = null;
-        example = 4001;
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
         description = ''
-          Use a fixed port for the NFS lock manager kernel module
-          (<literal>lockd/nlockmgr</literal>).  This is useful if the
-          NFS server is behind a firewall.
+          Extra nfs-utils configuration.
         '';
       };
     };
@@ -62,69 +53,49 @@ in
 
     system.fsPackages = [ pkgs.nfs-utils ];
 
-    boot.extraModprobeConfig = mkIf (cfg.lockdPort != null) ''
-      options lockd nlm_udpport=${toString cfg.lockdPort} nlm_tcpport=${toString cfg.lockdPort}
-    '';
-
-    boot.kernelModules = [ "sunrpc" ];
-
     boot.initrd.kernelModules = mkIf inInitrd [ "nfs" ];
 
-    # FIXME: should use upstream units from nfs-utils.
-
-    systemd.services.statd =
-      { description = "NFSv3 Network Status Monitor";
+    systemd.packages = [ pkgs.nfs-utils ];
+    systemd.generator-packages = [ pkgs.nfs-utils ];
 
-        path = [ pkgs.nfs-utils pkgs.sysvtools pkgs.utillinux ];
+    environment.etc = {
+      "idmapd.conf".source = idmapdConfFile;
+      "nfs.conf".source = nfsConfFile;
+    };
 
-        wants = [ "remote-fs-pre.target" ];
-        before = [ "remote-fs-pre.target" ];
-        wantedBy = [ "remote-fs.target" ];
-        requires = [ "basic.target" "rpcbind.service" ];
-        after = [ "basic.target" "rpcbind.service" ];
+    systemd.services.nfs-blkmap =
+      { restartTriggers = [ nfsConfFile ];
+      };
 
-        unitConfig.DefaultDependencies = false; # don't stop during shutdown
+    systemd.targets.nfs-client =
+      { wantedBy = [ "multi-user.target" "remote-fs.target" ];
+      };
 
-        preStart =
-          ''
-            mkdir -p ${nfsStateDir}/sm
-            mkdir -p ${nfsStateDir}/sm.bak
-            sm-notify -d
-          '';
+    systemd.services.nfs-idmapd =
+      { restartTriggers = [ idmapdConfFile ];
+      };
 
-        serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = ''
-          @${pkgs.nfs-utils}/sbin/rpc.statd rpc.statd --no-notify \
-              ${if cfg.statdPort != null then "-p ${toString cfg.statdPort}" else ""}
-        '';
-        serviceConfig.Restart = "always";
+    systemd.services.nfs-mountd =
+      { restartTriggers = [ nfsConfFile ];
+        enable = mkDefault false;
       };
 
-    systemd.services.idmapd =
-      { description = "NFSv4 ID Mapping Daemon";
+    systemd.services.nfs-server =
+      { restartTriggers = [ nfsConfFile ];
+        enable = mkDefault false;
+      };
 
-        path = [ pkgs.sysvtools pkgs.utillinux ];
+    systemd.services.rpc-gssd =
+      { restartTriggers = [ nfsConfFile ];
+      };
 
-        wants = [ "remote-fs-pre.target" ];
-        before = [ "remote-fs-pre.target" ];
-        wantedBy = [ "remote-fs.target" ];
-        requires = [ "rpcbind.service" ];
-        after = [ "rpcbind.service" ];
+    systemd.services.rpc-statd =
+      { restartTriggers = [ nfsConfFile ];
 
         preStart =
           ''
-            mkdir -p ${rpcMountpoint}
-            mount -t rpc_pipefs rpc_pipefs ${rpcMountpoint}
+            mkdir -p /var/lib/nfs/{sm,sm.bak}
           '';
-
-        postStop =
-          ''
-            umount ${rpcMountpoint}
-          '';
-
-        serviceConfig.Type = "forking";
-        serviceConfig.ExecStart = "@${pkgs.nfs-utils}/sbin/rpc.idmapd rpc.idmapd -c ${idmapdConfFile}";
-        serviceConfig.Restart = "always";
       };
 
   };
diff --git a/nixos/modules/tasks/kbd.nix b/nixos/modules/tasks/kbd.nix
index e001832ec2eb..0af376a90bcf 100644
--- a/nixos/modules/tasks/kbd.nix
+++ b/nixos/modules/tasks/kbd.nix
@@ -100,15 +100,12 @@ in
       }
 
       (mkIf (!config.boot.earlyVconsoleSetup) {
-        # This is identical to the systemd-vconsole-setup.service unit
-        # shipped with systemd, except that it uses /dev/tty1 instead of
-        # /dev/tty0 to prevent putting the X server in non-raw mode, and
-        # it has a restart trigger.
         systemd.services."systemd-vconsole-setup" =
           { wantedBy = [ "sysinit.target" ];
             before = [ "display-manager.service" ];
             after = [ "systemd-udev-settle.service" ];
             restartTriggers = [ vconsoleConf kbdEnv ];
+            restartIfChanged = false; # fails when tty is inactive
           };
       })
 
diff --git a/nixos/modules/tasks/network-interfaces-systemd.nix b/nixos/modules/tasks/network-interfaces-systemd.nix
index a1212c905560..cd599d8b8941 100644
--- a/nixos/modules/tasks/network-interfaces-systemd.nix
+++ b/nixos/modules/tasks/network-interfaces-systemd.nix
@@ -62,9 +62,9 @@ in
         genericNetwork = override: {
           DHCP = override (dhcpStr cfg.useDHCP);
         } // optionalAttrs (cfg.defaultGateway != null) {
-          gateway = override [ cfg.defaultGateway ];
+          gateway = override [ cfg.defaultGateway.address ];
         } // optionalAttrs (cfg.defaultGateway6 != null) {
-          gateway = override [ cfg.defaultGateway6 ];
+          gateway = override [ cfg.defaultGateway6.address ];
         } // optionalAttrs (domains != [ ]) {
           domains = override domains;
         };
diff --git a/nixos/tests/chromium.nix b/nixos/tests/chromium.nix
index 55b1fb5a7222..3a2c65164766 100644
--- a/nixos/tests/chromium.nix
+++ b/nixos/tests/chromium.nix
@@ -18,8 +18,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
 
   enableOCR = true;
 
-  machine.imports = [ ./common/x11.nix ];
+  machine.imports = [ ./common/user-account.nix ./common/x11.nix ];
   machine.virtualisation.memorySize = 2047;
+  machine.services.xserver.displayManager.auto.user = "alice";
   machine.environment.systemPackages = [ chromiumPkg ];
 
   startupHTML = pkgs.writeText "chromium-startup.html" ''
@@ -43,14 +44,20 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
       xdoScript = pkgs.writeText "${name}.xdo" text;
     in "${pkgs.xdotool}/bin/xdotool '${xdoScript}'";
   in ''
+    # Run as user alice
+    sub ru ($) {
+      my $esc = $_[0] =~ s/'/'\\${"'"}'/gr;
+      return "su - alice -c '$esc'";
+    }
+
     sub createNewWin {
       $machine->nest("creating a new Chromium window", sub {
-        $machine->execute("${xdo "new-window" ''
+        $machine->execute(ru "${xdo "new-window" ''
           search --onlyvisible --name "startup done"
           windowfocus --sync
           windowactivate --sync
         ''}");
-        $machine->execute("${xdo "new-window" ''
+        $machine->execute(ru "${xdo "new-window" ''
           key Ctrl+n
         ''}");
       });
@@ -58,16 +65,16 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
 
     sub closeWin {
       Machine::retry sub {
-        $machine->execute("${xdo "close-window" ''
+        $machine->execute(ru "${xdo "close-window" ''
           search --onlyvisible --name "new tab"
           windowfocus --sync
           windowactivate --sync
         ''}");
-        $machine->execute("${xdo "close-window" ''
+        $machine->execute(ru "${xdo "close-window" ''
           key Ctrl+w
         ''}");
         for (1..20) {
-          my ($status, $out) = $machine->execute("${xdo "wait-for-close" ''
+          my ($status, $out) = $machine->execute(ru "${xdo "wait-for-close" ''
             search --onlyvisible --name "new tab"
           ''}");
           return 1 if $status != 0;
@@ -80,7 +87,7 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
       my $ret = 0;
       $machine->nest("waiting for new Chromium window to appear", sub {
         for (1..20) {
-          my ($status, $out) = $machine->execute("${xdo "wait-for-window" ''
+          my ($status, $out) = $machine->execute(ru "${xdo "wait-for-window" ''
             search --onlyvisible --name "new tab"
             windowfocus --sync
             windowactivate --sync
@@ -113,13 +120,9 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
     $machine->waitForX;
 
     my $url = "file://${startupHTML}";
-    my $args = "--user-data-dir=/tmp/chromium-${channel}";
-    $machine->execute(
-      "ulimit -c unlimited; ".
-      "chromium $args \"$url\" & disown"
-    );
+    $machine->execute(ru "ulimit -c unlimited; chromium \"$url\" & disown");
     $machine->waitForText(qr/startup done/);
-    $machine->waitUntilSucceeds("${xdo "check-startup" ''
+    $machine->waitUntilSucceeds(ru "${xdo "check-startup" ''
       search --sync --onlyvisible --name "startup done"
       # close first start help popup
       key -delay 1000 Escape
@@ -134,13 +137,13 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
     $machine->screenshot("startup_done");
 
     testNewWin "check sandbox", sub {
-      $machine->succeed("${xdo "type-url" ''
+      $machine->succeed(ru "${xdo "type-url" ''
         search --sync --onlyvisible --name "new tab"
         windowfocus --sync
         type --delay 1000 "chrome://sandbox"
       ''}");
 
-      $machine->succeed("${xdo "submit-url" ''
+      $machine->succeed(ru "${xdo "submit-url" ''
         search --sync --onlyvisible --name "new tab"
         windowfocus --sync
         key --delay 1000 Return
@@ -148,15 +151,15 @@ mapAttrs (channel: chromiumPkg: makeTest rec {
 
       $machine->screenshot("sandbox_info");
 
-      $machine->succeed("${xdo "submit-url" ''
+      $machine->succeed(ru "${xdo "submit-url" ''
         search --sync --onlyvisible --name "sandbox status"
         windowfocus --sync
       ''}");
-      $machine->succeed("${xdo "submit-url" ''
+      $machine->succeed(ru "${xdo "submit-url" ''
         key --delay 1000 Ctrl+a Ctrl+c
       ''}");
 
-      my $clipboard = $machine->succeed("${pkgs.xclip}/bin/xclip -o");
+      my $clipboard = $machine->succeed(ru "${pkgs.xclip}/bin/xclip -o");
       die "sandbox not working properly: $clipboard"
       unless $clipboard =~ /namespace sandbox.*yes/mi
           && $clipboard =~ /pid namespaces.*yes/mi
diff --git a/nixos/tests/nfs.nix b/nixos/tests/nfs.nix
index 36cd6a395779..6ed1995f262a 100644
--- a/nixos/tests/nfs.nix
+++ b/nixos/tests/nfs.nix
@@ -40,7 +40,7 @@ in
 
   testScript =
     ''
-      $server->waitForUnit("nfsd");
+      $server->waitForUnit("nfs-server");
       $server->succeed("systemctl start network-online.target");
       $server->waitForUnit("network-online.target");
 
@@ -54,8 +54,8 @@ in
       $client2->succeed("echo bla > /data/bar");
       $server->succeed("test -e /data/bar");
 
-      # Test whether restarting ‘nfsd’ works correctly.
-      $server->succeed("systemctl restart nfsd");
+      # Test whether restarting ‘nfs-server’ works correctly.
+      $server->succeed("systemctl restart nfs-server");
       $client2->succeed("echo bla >> /data/bar"); # will take 90 seconds due to the NFS grace period
 
       # Test whether we can get a lock.
diff --git a/pkgs/applications/audio/audio-recorder/default.nix b/pkgs/applications/audio/audio-recorder/default.nix
index 2a611da45f80..e6addd6c4fdf 100644
--- a/pkgs/applications/audio/audio-recorder/default.nix
+++ b/pkgs/applications/audio/audio-recorder/default.nix
@@ -1,24 +1,27 @@
 { stdenv, fetchurl, lib
-, pkgconfig, intltool, autoconf, makeWrapper
+, pkgconfig, intltool, autoconf, gnome3
 , glib, dbus, gtk3, libdbusmenu-gtk3, libappindicator-gtk3, gst_all_1
+, librsvg, wrapGAppsHook
 , pulseaudioSupport ? true, libpulseaudio ? null }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   name = "audio-recorder-${version}";
-  version = "1.7-5";
+  version = "1.9.4";
 
   src = fetchurl {
-    name = "${name}-wily.tar.gz";
-    url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ewily.tar.gz";
-    sha256 = "1cdlqhfqw2mg51f068j2lhn8mzxggzsbl560l4pl4fxgmpjywpkj";
+    name = "${name}-zesty.tar.gz";
+    url = "${meta.homepage}/+archive/ubuntu/ppa/+files/audio-recorder_${version}%7Ezesty.tar.gz";
+    sha256 = "062bad38cz4fqzv418wza0x8sa4m5mqr3xsisrr1qgkqj9hg1f6x";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool autoconf makeWrapper ];
+  nativeBuildInputs = [ pkgconfig intltool autoconf wrapGAppsHook ];
+
+  patches = [ ./icon-names.diff ];
 
   buildInputs = with gst_all_1; [
-    glib dbus gtk3 libdbusmenu-gtk3 libappindicator-gtk3
+    glib dbus gtk3 librsvg libdbusmenu-gtk3 libappindicator-gtk3 gnome3.dconf
     gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav
   ] ++ optional pulseaudioSupport libpulseaudio;
 
@@ -30,10 +33,10 @@ stdenv.mkDerivation rec {
     intltoolize
   '';
 
-  postFixup = ''
-    wrapProgram $out/bin/audio-recorder \
-      --prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \
-      --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
+  preFixup = ''
+    gappsWrapperArgs+=('--prefix XDG_DATA_DIRS : "$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"'
+      '--prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0"'
+      '--prefix GIO_EXTRA_MODULES : "${gnome3.dconf}/lib/gio/modules"')
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/audio-recorder/icon-names.diff b/pkgs/applications/audio/audio-recorder/icon-names.diff
new file mode 100644
index 000000000000..28f21799166a
--- /dev/null
+++ b/pkgs/applications/audio/audio-recorder/icon-names.diff
@@ -0,0 +1,51 @@
+diff -ru audio-recorder/src/main.c audio-recorder.new/src/main.c
+--- audio-recorder/src/main.c	2017-01-03 20:27:36.000000000 +0100
++++ audio-recorder.new/src/main.c	2017-01-30 20:19:44.019255096 +0100
+@@ -1099,7 +1099,7 @@
+     gtk_container_add(GTK_CONTAINER(frame2), g_win.timer_text);
+ 
+     // Timer [Save] button
+-    g_win.timer_save_button = gtk_button_new_from_icon_name("gtk-save", GTK_ICON_SIZE_BUTTON);
++    g_win.timer_save_button = gtk_button_new_from_icon_name("document-save", GTK_ICON_SIZE_BUTTON);
+     // Hide it
+     gtk_widget_hide(g_win.timer_save_button);
+     g_signal_connect(g_win.timer_save_button, "clicked", G_CALLBACK(win_timer_save_text_cb), NULL);
+@@ -1129,7 +1129,7 @@
+     // The [Info] button
+     GtkWidget *button0 = gtk_button_new();
+     gtk_widget_show(button0);
+-    GtkWidget *image = gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_BUTTON);
++    GtkWidget *image = gtk_image_new_from_icon_name("dialog-information", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show(image);
+     gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
+     gtk_button_set_image(GTK_BUTTON(button0), image);
+@@ -1220,7 +1220,7 @@
+     // Add [Reload] button
+     button0 = gtk_button_new();
+     gtk_widget_show(button0);
+-    image = gtk_image_new_from_icon_name("gtk-refresh", GTK_ICON_SIZE_BUTTON);
++    image = gtk_image_new_from_icon_name("view-refresh", GTK_ICON_SIZE_BUTTON);
+     gtk_widget_show(image);
+     gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
+ 
+@@ -1297,7 +1297,7 @@
+     gtk_widget_show(hbox4);
+     gtk_box_pack_start(GTK_BOX(vbox0), hbox4, FALSE, TRUE, 0);
+ 
+-    button0 = gtk_button_new_from_icon_name("gtk-close", GTK_ICON_SIZE_BUTTON);
++    button0 = gtk_button_new_from_icon_name("window-close", GTK_ICON_SIZE_BUTTON);
+     gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
+     gtk_widget_show(button0);
+     gtk_box_pack_end(GTK_BOX(hbox4), button0, FALSE, FALSE, 0);
+diff -ru audio-recorder/src/settings.c audio-recorder.new/src/settings.c
+--- audio-recorder/src/settings.c	2017-01-02 10:47:27.000000000 +0100
++++ audio-recorder.new/src/settings.c	2017-01-30 20:23:04.621314105 +0100
+@@ -659,7 +659,7 @@
+     gtk_entry_set_invisible_char(GTK_ENTRY(file_name_pattern), 9679);
+ 
+     button0 = gtk_button_new();
+-    GtkWidget *image = gtk_image_new_from_icon_name("gtk-info", GTK_ICON_SIZE_BUTTON);
++    GtkWidget *image = gtk_image_new_from_icon_name("dialog-information", GTK_ICON_SIZE_BUTTON);
+     gtk_button_set_always_show_image(GTK_BUTTON(button0), TRUE);
+     gtk_button_set_image(GTK_BUTTON(button0), image);
+     g_signal_connect(button0, "clicked", G_CALLBACK(win_settings_show_filename_help), NULL);
diff --git a/pkgs/applications/audio/gbsplay/default.nix b/pkgs/applications/audio/gbsplay/default.nix
new file mode 100644
index 000000000000..9ff9b8dc1145
--- /dev/null
+++ b/pkgs/applications/audio/gbsplay/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, libpulseaudio }:
+
+stdenv.mkDerivation {
+  name = "gbsplay-2016-12-17";
+
+  src = fetchFromGitHub {
+    owner = "mmitch";
+    repo = "gbsplay";
+    rev = "2c4486e17fd4f4cdea8c3fd79ae898c892616b70";
+    sha256 = "1214j67sr87zfhvym41cw2g823fmqh4hr451r7y1s9ql3jpjqhpz";
+  };
+
+  buildInputs = [ libpulseaudio ];
+  
+  configureFlagsArray =
+   [ "--without-test" "--without-contrib" "--disable-devdsp"
+     "--enable-pulse" "--disable-alsa" "--disable-midi"
+     "--disable-nas" "--disable-dsound" "--disable-i18n" ];
+
+  makeFlagsArray = [ "tests=" ];
+
+  meta = with stdenv.lib; {
+    description = "gameboy sound player";
+    license = licenses.gpl1;
+    platforms = ["i686-linux" "x86_64-linux"];
+    maintainers = with maintainers; [ dasuxullebt ];
+  };
+}
diff --git a/pkgs/applications/audio/qjackctl/default.nix b/pkgs/applications/audio/qjackctl/default.nix
index c84e5cdfb494..52b94ca07d9e 100644
--- a/pkgs/applications/audio/qjackctl/default.nix
+++ b/pkgs/applications/audio/qjackctl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, libjack2, dbus, qt5 }:
+{ stdenv, fetchurl, alsaLib, libjack2, dbus, qtbase, qttools, qtx11extras }:
 
 stdenv.mkDerivation rec {
   version = "0.4.3";
@@ -12,14 +12,15 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    qt5.full
-    qt5.qtx11extras
+    qtbase
+    qtx11extras
+    qttools
     alsaLib
     libjack2
     dbus
   ];
 
-  configureFlags = "--enable-jack-version";
+  configureFlags = [ "--enable-jack-version" ];
 
   meta = with stdenv.lib; {
     description = "A Qt application to control the JACK sound server daemon";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 49af6c23177c..a0a6b2ec53b4 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -1465,12 +1465,12 @@
     alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alect-themes";
-        version = "20170117.217";
+        version = "20170202.6";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "alect-themes";
-          rev = "714516d3f3695d0673f07721d4cff0043a287495";
-          sha256 = "1cxc27579ik7yrjvahdk5ciji1gfwzlzbjrwzx55v67v13y9kz6r";
+          rev = "1812abbe0079d1075525d9fb2da6fcfec7db3766";
+          sha256 = "0sl2njnhm37cya06y39ls8p3zwpjwyv1pd7w3yfk5frz24vaxlcq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes";
@@ -1549,12 +1549,12 @@
     all-the-icons = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, font-lock-plus, lib, melpaBuild }:
     melpaBuild {
         pname = "all-the-icons";
-        version = "20161219.329";
+        version = "20170203.1928";
         src = fetchFromGitHub {
           owner = "domtronn";
           repo = "all-the-icons.el";
-          rev = "1e4a1a0b53ffcb427fdbc6d13ee6e9c8d23e6216";
-          sha256 = "0nrihr280aqq58x65fjyrpci4bsam9ddhsnid2cf8jmsngpvhcdc";
+          rev = "34a6bf1b036e162b61cdfbad2165c8f8b63dec0d";
+          sha256 = "1j11453x3229mm28sw88nc2pvdbw4i97ddgqnjy0s2hqz9z2ykzn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/604c01aa15927bd122260529ff0f4bb6a8168b7e/recipes/all-the-icons";
@@ -2756,6 +2756,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    async-await = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, promise }:
+    melpaBuild {
+        pname = "async-await";
+        version = "20170203.2134";
+        src = fetchFromGitHub {
+          owner = "chuntaro";
+          repo = "emacs-async-await";
+          rev = "0a7a504a6a1b38fffc037b4c5671b20047c55402";
+          sha256 = "12xrcms2jhps63mjisd81pcam14larpascdix7lcdqd38vcxnzdm";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9d74ecf94e5dbb46a939d26833b7cd0efd159ca1/recipes/async-await";
+          sha256 = "1534rhr4j74qbndafdj9q2wggcn8gphhjn3id8p27wyxr5sh93ms";
+          name = "async-await";
+        };
+        packageRequires = [ emacs promise ];
+        meta = {
+          homepage = "https://melpa.org/#/async-await";
+          license = lib.licenses.free;
+        };
+      }) {};
     at = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, queue }:
     melpaBuild {
         pname = "at";
@@ -6506,12 +6527,12 @@
     cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "cargo";
-        version = "20170124.1149";
+        version = "20170203.35";
         src = fetchFromGitHub {
           owner = "kwrooijen";
           repo = "cargo.el";
-          rev = "d17c66ac4eb9b226df23b0dbe12eec976d93093d";
-          sha256 = "1fmplh1r6xs7md5x7fwvfw6fkkblcbnfzh5j4adqci9j42cgcnfx";
+          rev = "25ca2fcbd6b664cc7a20b0cccca3adc19e79917a";
+          sha256 = "1fzrczx1aq0q130qrvzq8dssc1qm5qc9pclsyd3zn27xbn5lsag3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo";
@@ -6907,8 +6928,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "84c81f4701a2e8e8f8f5473377ae858dc9c40597";
-          sha256 = "0wkz94al5jnavz5lpq5kr91yb2zqkini69i7zq1x91z6zy3i0wlr";
+          rev = "6ac74e951bf11593ce134cf002456ae5d420a2b4";
+          sha256 = "0ywq2lg95a1r1hls4pnns7pjii42ai8qyp87hsxbbci88ay0i81i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -6947,7 +6968,7 @@
         version = "20170201.347";
         src = fetchsvn {
           url = "http://beta.visl.sdu.dk/svn/visl/tools/vislcg3/trunk/emacs";
-          rev = "11991";
+          rev = "11993";
           sha256 = "0lv9lsh1dnsmida4hhj04ysq48v4m12nj9yq621xn3i6s2qz7s1k";
         };
         recipeFile = fetchurl {
@@ -7804,7 +7825,7 @@
         version = "20170120.137";
         src = fetchsvn {
           url = "http://llvm.org/svn/llvm-project/cfe/trunk/tools/clang-format";
-          rev = "293835";
+          rev = "294096";
           sha256 = "13516xv7ypswhlarh4sd97sc17zar10snbmrcn14wd53jgxx440y";
         };
         recipeFile = fetchurl {
@@ -8379,12 +8400,12 @@
     cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cm-mode";
-        version = "20170112.614";
+        version = "20170203.1307";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "criticmarkup-emacs";
-          rev = "64913b0107a5ccf3ba4a3569ee03c020c45a3566";
-          sha256 = "1smj4iig5x3va3jl91aassk0smcg67naknk81fshigshif1vs273";
+          rev = "276d49c859822265070ae5dfbb403fd7d8d06436";
+          sha256 = "0mqbjw9wiaq735v307hd7g0g6i3a4k7h71bi4g9rr2jbgiljmql4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode";
@@ -8421,12 +8442,12 @@
     cmake-ide = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, levenshtein, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "cmake-ide";
-        version = "20170130.451";
+        version = "20170202.1402";
         src = fetchFromGitHub {
           owner = "atilaneves";
           repo = "cmake-ide";
-          rev = "7cea81b31d73e84084d4eec4134556f501911eaf";
-          sha256 = "0q2zxnkr4l9dqf29rgc4877x6wmqx3j5q0ky2b77079mp160ljy4";
+          rev = "916f35e775c721a97fca8e11565c12207448c2f1";
+          sha256 = "1c7y2zyk8ihzn2za9mlpvjv5fp559rd2a5b42jz7lm2zkyn5a8b8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17e8a8a5205d222950dc8e9245549a48894b864a/recipes/cmake-ide";
@@ -8446,8 +8467,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "2d357ea267a5ab0f54f7b411befbadc583dd41d7";
-          sha256 = "08sz807iclkjav2fzrapc5h4m4nc7jb7k64ywar9dpq7944z7zkj";
+          rev = "d5f0c696116541ff4d58513d5fa2970ab70cccf7";
+          sha256 = "12pl3wy4cp457ha58w9xk6jd6x66nk4sq08h02hhpyrz7d3wi3cp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -10469,12 +10490,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20170201.726";
+        version = "20170203.1430";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "dbcee946f462e0fe2aa26f2a9e7ff4784c9e0e70";
-          sha256 = "199wg32ai117zkww4nzanksvdvzhmnnrn4cmp7l74z8i18cn2j2p";
+          rev = "7c73f7166486eeca829446a62efdb9520802ebea";
+          sha256 = "0q8wjynrlq2n6wf0x2nnmvj9h1i2pl39xpz6b7f3jbm7720182ld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -11013,12 +11034,12 @@
     csharp-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "csharp-mode";
-        version = "20170127.1100";
+        version = "20170203.1122";
         src = fetchFromGitHub {
           owner = "josteink";
           repo = "csharp-mode";
-          rev = "8ab3cc8d0143c878cab0f3424916cd9c0edc3217";
-          sha256 = "1p1q56399bfmdmzm453y18wkvxva5i1glkd4s5173dswgw9kh2gg";
+          rev = "571c4c70fe2de790e093cff23050827c5f6e96aa";
+          sha256 = "14wr98hq1banf0dbyi83rar0apj9gvwdqfvmnmhzxfr6dnzxsybf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/736716bbcfd9c9fb1d10ce290cb4f66fe1c68f44/recipes/csharp-mode";
@@ -11488,8 +11509,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "d92a718a26c9354fbf35f31a17de5c069865a447";
-          sha256 = "0qxkxwkkx4343mmy38dh3cbxvi4vk3cv1b8ralvh6h7jas09qnzq";
+          rev = "68336b38580db34bb85cfed03a3243522c328d09";
+          sha256 = "04qcq9nsy57hy23r6crrk7i7hy95424bag5ymqa378vkqw490s9s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -14665,7 +14686,7 @@
         version = "20130120.1257";
         src = fetchsvn {
           url = "http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/emacs/";
-          rev = "1781330";
+          rev = "1781698";
           sha256 = "016dxpzm1zba8rag7czynlk58hys4xab4mz1nkry5bfihknpzcrq";
         };
         recipeFile = fetchurl {
@@ -15925,11 +15946,11 @@
       }) {};
     eide = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "eide";
-        version = "20160926.1332";
+        version = "20170202.1345";
         src = fetchgit {
           url = "git://git.tuxfamily.org/gitroot/eide/emacs-ide.git";
-          rev = "72c07fdbe6c8507147e997a22abcc2b42e45fce8";
-          sha256 = "1v64b6ii4xl3cyr6cvyq25i2xzyk6czr4m1z82pknb3qmxx3m26w";
+          rev = "c812097018143642cf8164309581b805fb947c78";
+          sha256 = "0ynxz0xlb2iak8riz404gb4spy6x7xr3rmhsm65apylkmj999g06";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d384f185f76039b06a1b5b12c792b346c6d47a22/recipes/eide";
@@ -16075,8 +16096,8 @@
         src = fetchFromGitHub {
           owner = "dimitri";
           repo = "el-get";
-          rev = "71717d7d3ac575045f215ab27dd8a86e80b44c9d";
-          sha256 = "1k95szxx0f8ksa8lr8hs3rcyrg86whnv0x5pd8d3wnf1vxyhgcqs";
+          rev = "f98bbc72303e17fe6833ece472c5f110ccd97911";
+          sha256 = "19l295g5ryx95jxgxgh55s1j97la30qjl7xkgkd5gn01hdvn9v97";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1c61197a2b616d6d3c6b652248cb166196846b44/recipes/el-get";
@@ -16155,12 +16176,12 @@
     el-patch = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "el-patch";
-        version = "20170129.2111";
+        version = "20170201.1652";
         src = fetchFromGitHub {
           owner = "raxod502";
           repo = "el-patch";
-          rev = "787b320080043de457a953f05915ed8e83334492";
-          sha256 = "1ki15pl2snf3qvdcdjgfpsa48frksx3j5ygckaylfyrfs1yikp8q";
+          rev = "2714aa06af088155bc3d163f8ebde7d410c0694a";
+          sha256 = "0fdf05g6lsjwa1qx5h1yx3lzvkcw26lbn90022jb3f70b38adhf0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f4f57e0edbae35597aa4a7744d22d2f971d5de5/recipes/el-patch";
@@ -18725,8 +18746,8 @@
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "2896c966d9456721a0b9c11dbd8a14c474a3ace0";
-          sha256 = "0pk5847m8mxlsmhysd482wlr0lzbrs2svr9nkv6lghr4a4rg0l2p";
+          rev = "181d1c60def42e938dc3642cf798a73fa73d1425";
+          sha256 = "14fpiyq68nw4z4wykrxhqic0y9ghr7yjx0wx3zff4l001c0lqr4w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -20223,12 +20244,12 @@
     evil-mc-extras = callPackage ({ cl-lib ? null, emacs, evil, evil-mc, evil-numbers, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-mc-extras";
-        version = "20160731.1641";
+        version = "20170202.849";
         src = fetchFromGitHub {
           owner = "gabesoft";
           repo = "evil-mc-extras";
-          rev = "22f9b4cdb66cd6dffc89a66ee3a70593946a7d16";
-          sha256 = "0cbpx6ynang74g7w3hv43vp57nf00axfsprc9zyl6q10mpzdpkhn";
+          rev = "ba3252ae129c3b79aeb70ec3d276cbda32b00421";
+          sha256 = "0a7mn1z0db4xi8wclqp41hcbzh017q6pndxr9mrfxb67sqs601id";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd7c9aa0f4c17e7f27836e75a0b83c44a68ad744/recipes/evil-mc-extras";
@@ -20286,12 +20307,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20161031.409";
+        version = "20170203.505";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "54c618aada776bfda0742819ff9e91845a91e095";
-          sha256 = "04iyr6ys453pyfvif91qnhn6xyhl4z4cz2apj6vga61pa8lc70da";
+          rev = "e1de1d759bcbd1026aeff8e402a2ef7edf546c0d";
+          sha256 = "1zm878w3lmsc76zf8ddvpm3lxsbqdvwcrxjyrhz8amfiw75klja4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -22400,12 +22421,12 @@
     floobits = callPackage ({ fetchFromGitHub, fetchurl, highlight, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "floobits";
-        version = "20160804.1135";
+        version = "20170204.226";
         src = fetchFromGitHub {
           owner = "Floobits";
           repo = "floobits-emacs";
-          rev = "da342a7389f2490cd51a057aff1b9272e023771f";
-          sha256 = "04nciqgyjkg8ky8y60mcbdxmad6ygqr7q992azc7jh6iq0wyidfm";
+          rev = "643dbefca9754765e6d0f88a8953dc3689f5f93f";
+          sha256 = "1wh4y53vqi2zb03gxa2g2s14i280yqv0i7432ifi10v2qdwkilna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/95c859e8440049579630b4c2bcc31e7eaa13b1f1/recipes/floobits";
@@ -24749,12 +24770,12 @@
     forecast = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "forecast";
-        version = "20170109.859";
+        version = "20170202.1427";
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "forecast.el";
-          rev = "1bae400e5154d7494fd989b1be47450565810e23";
-          sha256 = "0kcyn2m122wbbsp7mwji5acsrdfdkfpf427zj6dn88rfx90q82w2";
+          rev = "975bf79f16f2c653466315669f4a26f85be0eaa3";
+          sha256 = "0vq0fafll0j2k0f9b0rbzbyg6jxp3sba0nq5bqx0l3mjfvlg0x4d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e6ff6a4ee29b96bccb2e4bc0644f2bd2e51971ee/recipes/forecast";
@@ -25235,8 +25256,8 @@
         version = "20170107.626";
         src = fetchgit {
           url = "git://factorcode.org/git/factor.git";
-          rev = "39811fc7e745a7081b6e03b3743d36148f849f76";
-          sha256 = "15ppa89x78wpbq5d8rnz0by74p82vfq2bwxxiwy3nxbmcdygzlf7";
+          rev = "f342fd04d9aad172dca83533ab8d3a525f47784f";
+          sha256 = "0b3vraxxgxp7x6mz6d25ha6dkgxzy847bdw2157h12f0p7pac0j4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0c3633c23baa472560a489fc663a0302f082bcef/recipes/fuel";
@@ -25252,12 +25273,12 @@
     fuff = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "fuff";
-        version = "20170201.1515";
+        version = "20170202.703";
         src = fetchFromGitHub {
           owner = "joelmo";
           repo = "fuff";
-          rev = "d25e084f1f870046dd98b38de00d6ad468a91ebc";
-          sha256 = "0xnjk59572m3hqbjfi8za59gw24hfhdss9pxapp764q81656dv36";
+          rev = "278e849913df87bd8756c59382282d87474802c3";
+          sha256 = "12s25c0abvghkhfbxcf77d2dc20y3xn9df7mfk8mkfwnlwdss2ga";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4d0fc6d19559a9ea1bb7fce0c26a2dd65fc71603/recipes/fuff";
@@ -25685,12 +25706,12 @@
     general = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20170117.1707";
+        version = "20170202.1509";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "a685d573e5b03ef1199a6e9425b9e292ac38753c";
-          sha256 = "00pnz8hjw07p302fxh4x3xhz1wzkwcqcidnkq19429dv5hkp01pi";
+          rev = "66fa3050e59137763bc207c1cc7eb09922ce2e01";
+          sha256 = "1g50iyvcgkkniq9dj6q2b6yw04cja3z97hn85i7b2qrj161yinps";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -26151,8 +26172,8 @@
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "e34f4e8eb00f292e8c475489fa7caa286857a421";
-          sha256 = "02kk093bg1vjnqfl3qy9h8zs50xzxbkay78qizav0h5myv4mjy10";
+          rev = "b43de68002e77c06e3bc288eca5e849d077864cb";
+          sha256 = "00f0g34hmfyjqyy0zmzssani9wppi1bqbbvnqqfxdlcbf7chxr74";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27597,8 +27618,8 @@
         src = fetchFromGitHub {
           owner = "golang";
           repo = "lint";
-          rev = "206c0f020eba0f7fbcfbc467a5eb808037df2ed6";
-          sha256 = "11ygf8hswvc9rj6jp7zn8wyjlraw9qrl072grn2h4s1flblpxp53";
+          rev = "5295072ea38460cda1ff822cf6d30a7bf64329bd";
+          sha256 = "1q21ll8ip9zgdc9vqmad96dv39swch2zwkar840yk9ydbv46sbyp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34f22d829257456abbc020c006b92da9c7a7860e/recipes/golint";
@@ -28538,6 +28559,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    guess-language = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, typo }:
+    melpaBuild {
+        pname = "guess-language";
+        version = "20170204.956";
+        src = fetchFromGitHub {
+          owner = "tmalsburg";
+          repo = "guess-language.el";
+          rev = "8450268f18610e552942641e67bc16f7347fffd5";
+          sha256 = "08qqljcvpm76hm57vd8r67w4zjbrdlbkq5mcyhk1qifa38cah52r";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/6e78cb707943fcaaba0414d7af2af717efce84d0/recipes/guess-language";
+          sha256 = "1p8j18hskvsv4pn3cal5s91l19hgshq8hpclmp84z9hlnj9g9fpm";
+          name = "guess-language";
+        };
+        packageRequires = [ cl-lib emacs typo ];
+        meta = {
+          homepage = "https://melpa.org/#/guess-language";
+          license = lib.licenses.free;
+        };
+      }) {};
     guide-key = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, popwin, s }:
     melpaBuild {
         pname = "guide-key";
@@ -28688,12 +28730,12 @@
     habitica = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "habitica";
-        version = "20161001.1122";
+        version = "20170203.2122";
         src = fetchFromGitHub {
           owner = "abrochard";
           repo = "emacs-habitica";
-          rev = "e0fba32899da6bd0484b1b820578184d5764ec5b";
-          sha256 = "1vch1m605m5nxga08i49fga6ik2xxf3n6pibhr6q9wj59zv515hi";
+          rev = "9b42651888c4b75e1d6f9df41d138ce6e77acbcc";
+          sha256 = "1jrvjk8ccf47945liwz24xqvdaqm6zch1kb4cahgm4pp8m9hdcgn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf9543db3564f4806440ed8c5c30fecbbc625fa1/recipes/habitica";
@@ -28706,22 +28748,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    hacker-typer = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    hacker-typer = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "hacker-typer";
-        version = "20170131.822";
+        version = "20170204.838";
         src = fetchFromGitHub {
           owner = "therockmandolinist";
           repo = "emacs-hacker-typer";
-          rev = "809987b4da8b7350e42abf3783eaabd06c2ce559";
-          sha256 = "137hkjfyx0nw7lql3snm8vfx35464g9jn901wc75p61777a7x970";
+          rev = "baff7225a4ea340b35e341baea3cd2b25e7fc15e";
+          sha256 = "0yfngpkc8w5y8sagf4jh126m5dw37hgilyw6h24qw5cvan1ndbz7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/561661965a7a500f24671454b3b680816457e180/recipes/hacker-typer";
           sha256 = "0i9kkxcz0fz4yviksl3f0ggh9kpwr9sidg7945r46bmblni3f0j9";
           name = "hacker-typer";
         };
-        packageRequires = [ async ];
+        packageRequires = [ async emacs ];
         meta = {
           homepage = "https://melpa.org/#/hacker-typer";
           license = lib.licenses.free;
@@ -29066,12 +29108,12 @@
     haskell-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "haskell-mode";
-        version = "20170116.407";
+        version = "20170204.556";
         src = fetchFromGitHub {
           owner = "haskell";
           repo = "haskell-mode";
-          rev = "6f729159ea21997f629473652266dcd32dcba523";
-          sha256 = "0hmynqg4qv10w2s4wlh3k1ignzxspqfr67860xy9g7vyyifyrhqj";
+          rev = "f299294968faa2a5115467abc086d04fd4145964";
+          sha256 = "0vjhqv72ak6wdz33r7vkmjm4sb9wr0r4zmhpbs8g8g0yisdpgdjk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7f18b4dcbad4192b0153a316cff6533272898f1a/recipes/haskell-mode";
@@ -29334,12 +29376,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20170131.2356";
+        version = "20170203.715";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "74a0c4d17a970ebd2271453681d5633e55c3b00b";
-          sha256 = "0id3zn627j7lfv0fqynvdr72r59ngbwrhg2sw8pq0jza4yhg9n4n";
+          rev = "6105ddd0be224e5b60a1a8d8fcdd176a21c76848";
+          sha256 = "1i1xk75zs5q1f4z50ywi8l2qnc9vh2hyd01112vjp6qgqspn0kkk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -29733,12 +29775,12 @@
     helm-cider = callPackage ({ cider, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "helm-cider";
-        version = "20170125.2048";
+        version = "20170203.1535";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "helm-cider";
-          rev = "9544babe63a14557594c5effc0b55db381776506";
-          sha256 = "0g6z3xy6hf2xy68qqa03ai4rl6aa6hd1wd62jrpx1iimyxbxjfdw";
+          rev = "24972f395de6ee261d01c06301e9b4480f865a9c";
+          sha256 = "15qn0xcci4mb8bh6mh4bf80ss8hqj0fzd1mqvhnmihlfww8a3jpd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/31d3cd618f2ac88860d0b11335ff81b6e2973982/recipes/helm-cider";
@@ -29901,12 +29943,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20170131.754";
+        version = "20170204.906";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "74a0c4d17a970ebd2271453681d5633e55c3b00b";
-          sha256 = "0id3zn627j7lfv0fqynvdr72r59ngbwrhg2sw8pq0jza4yhg9n4n";
+          rev = "6105ddd0be224e5b60a1a8d8fcdd176a21c76848";
+          sha256 = "1i1xk75zs5q1f4z50ywi8l2qnc9vh2hyd01112vjp6qgqspn0kkk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -30031,8 +30073,8 @@
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-describe-modes";
-          rev = "74e086a2462fc64234dd0222cde3c5c060a60068";
-          sha256 = "01kwh3f8hxacvjk5vva084jd4f55jlg8f8aa9hmcirif7r7pdidi";
+          rev = "11fb36af119b784539d31c6160002de1957408aa";
+          sha256 = "1d5b85m33hsdb4wswh9wpid0ghsr2zrj3f6ky587lc32s4bs0w0z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/23f0b2025073850c477ba4646c3821b3c7de6c42/recipes/helm-describe-modes";
@@ -31328,12 +31370,12 @@
     helm-projectile = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "helm-projectile";
-        version = "20170125.1815";
+        version = "20170202.1000";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "helm-projectile";
-          rev = "afb825b1eee559e11b0d950d4f3918d3a5663862";
-          sha256 = "0nlmhzgcyv3xqzfgbj1fzkg8by5lsy0rq3wdr5m5riqh4nza5ahr";
+          rev = "e16da3ec6d6c495ee8355e3c3729294bdee0a57b";
+          sha256 = "0wmzkqy7pr2nflfpbzq7gljk3jxxq3pbq76di1zl2rlj67whs1xk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8bc4e3a5af7ba86d277c73a1966a91c87d3d855a/recipes/helm-projectile";
@@ -33086,12 +33128,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20170201.858";
+        version = "20170203.1909";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "95e07b837706d86792649299fc13790248248139";
-          sha256 = "1gcq6cr3b502z1gjx57qkf65i74xklgbi7hxvgvywv2bzimwigxp";
+          rev = "0038c446bfc5cb1b65fc1b3e181f8d57e73887fe";
+          sha256 = "1z2251slpymbrqh09ismyq36kd34s81a677i26b9jzcd4x4ns4bb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c656975c61396d8d4ded0f13ab52b17ccc238408/recipes/hledger-mode";
@@ -33589,8 +33631,8 @@
         src = fetchFromGitHub {
           owner = "nflath";
           repo = "hungry-delete";
-          rev = "78a787a87aceb821818bbe2a322fbf2e5cbf80c3";
-          sha256 = "171s7akqcpj0jcbm8w19b4n9kdzw0acf7cv0ymwdz5mmgmfiy292";
+          rev = "2cedcdd113032414ea6d3bfa2504c8820b1a841a";
+          sha256 = "1fg2his564qiqk7b47nswxcq4pd17ip164v4zva9715cjzgyzn66";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e33960d9b7e24f830ebe4e5a26a562422d52fe97/recipes/hungry-delete";
@@ -35350,12 +35392,12 @@
     inkpot-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inkpot-theme";
-        version = "20161220.2134";
+        version = "20170203.2120";
         src = fetchFromGitHub {
           owner = "ideasman42";
           repo = "emacs-inkpot-theme";
-          rev = "e175dbd7d0484ae905525ff157cda4e190977ba6";
-          sha256 = "0cpmc92234xhddb14np8v9fq3cq06ci3qcc25a72dnmjf19kkjcm";
+          rev = "a7bbc67de279cbd1646d5f6733900fb4f4402280";
+          sha256 = "1r0b7bnjg161km86pif4rsbwix81kr9n9w5bcp4p7ngrvxhfndgs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme";
@@ -35559,12 +35601,12 @@
     intero = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "intero";
-        version = "20170110.430";
+        version = "20170203.248";
         src = fetchFromGitHub {
           owner = "commercialhaskell";
           repo = "intero";
-          rev = "6e7c3df37be8275590e0e2442631d4fa25cae7c8";
-          sha256 = "061x79zr6wgd18a81bh7k554j7cds6z24w2l11i65gj5s3ir4a11";
+          rev = "bde85cc8af5d9b038bb58acc0763ef0be7278675";
+          sha256 = "0lhcq4cl8vx9bvcl2ab4iv4bqiw49jpc20kkj54ms40npfgfjksc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1b56ca344ad944e03b669a9974e9b734b5b445bb/recipes/intero";
@@ -36117,12 +36159,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20170109.626";
+        version = "20170202.223";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "dbcee946f462e0fe2aa26f2a9e7ff4784c9e0e70";
-          sha256 = "199wg32ai117zkww4nzanksvdvzhmnnrn4cmp7l74z8i18cn2j2p";
+          rev = "7c73f7166486eeca829446a62efdb9520802ebea";
+          sha256 = "0q8wjynrlq2n6wf0x2nnmvj9h1i2pl39xpz6b7f3jbm7720182ld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -36159,12 +36201,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "20170122.2137";
+        version = "20170203.244";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "914dfbeb2d9ccaed2e830637ecc814ac1da2f82f";
-          sha256 = "0a5fmqkasy87vq9x95qavqszmb9jalsi8ihgxx120rbrzfib28ys";
+          rev = "f5bee7c5368d55be4ebca30610b73c33978830cf";
+          sha256 = "0lcydjg8kyxdv5bbly0jf4d5wl4z7s63i536gvnlz0wfgj5swp5v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -36205,8 +36247,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "dbcee946f462e0fe2aa26f2a9e7ff4784c9e0e70";
-          sha256 = "199wg32ai117zkww4nzanksvdvzhmnnrn4cmp7l74z8i18cn2j2p";
+          rev = "7c73f7166486eeca829446a62efdb9520802ebea";
+          sha256 = "0q8wjynrlq2n6wf0x2nnmvj9h1i2pl39xpz6b7f3jbm7720182ld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -37309,12 +37351,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20170116.733";
+        version = "20170202.1422";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "03c679eb9914d58d7d9b7afc2036c482a9a01236";
-          sha256 = "1kgmljgh71f2sljdsr134jrj1i6kgj9bwyh4pl1lrz0v4ahwgd6g";
+          rev = "faf73e8b6cfa9b896abde60cedd4cc69c9dfae19";
+          sha256 = "12las04bxp74w0pp1w8ri4mqv7kl48sz6dzqvq9xb50nz8y9bijy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -37831,11 +37873,11 @@
       }) {};
     kanban = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "kanban";
-        version = "20170117.316";
+        version = "20170203.1701";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/kanban.el";
-          rev = "713e6c7d8e07";
-          sha256 = "1m1rgkdwb9zm3k131l6xh2pz4750arvflly7fbmsik3y1pr5f60r";
+          rev = "4481f57aee47";
+          sha256 = "1crghlq0d87kc9mwy7prifxqla4q59c2447hhhl0pxbkf3ag9si1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/kanban";
@@ -38356,8 +38398,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "309ac127558f13f3c1c0d1aa8713392f56d2246c";
-          sha256 = "13gmmvx6mc2r96jgpshhb11vwndid2d95ijy2vlrhjfkznkiqimd";
+          rev = "57d41c920997ae2b373b0bfa57862845d99337fb";
+          sha256 = "1pb3kid4jb5fr37n2p19h7yvnip9gmp1gjjkbaz7k176r73bf16q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -39041,12 +39083,12 @@
     ledger-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ledger-mode";
-        version = "20170124.439";
+        version = "20170202.448";
         src = fetchFromGitHub {
           owner = "ledger";
           repo = "ledger-mode";
-          rev = "ce483998b9df81d72e2d28b241b4285f1042fd3d";
-          sha256 = "17cy23a8gbvipa62405izplj2w1f794dxmwspxpmn4g44xfazlhk";
+          rev = "63b47814b0f44fdd2c5e3a16144588a78923ec55";
+          sha256 = "0ng4giaz54iycp3lcvfzfvfpl0cr1w3m0qrz19kdgk7p3ag1c8in";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/851eca11911b337f809d030785dc2608c8a47424/recipes/ledger-mode";
@@ -39607,12 +39649,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20170201.1201";
+        version = "20170203.2342";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "68a11104caf14054d018043ca1545c189d9e65af";
-          sha256 = "12gsbg1v5jbd3bfig9h75sa55vvdg1hfagydrl5sp3n3xkh0jgh1";
+          rev = "5c160ffc38caa1e62614550e9e74981163f07c2c";
+          sha256 = "0p2z907wy090fq4ln0mysflwqialxs0hpvi85j4k8hwfrpir0yl6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -39920,12 +39962,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20170125.2135";
+        version = "20170203.2106";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "8c9db327dcd89ff4abf0dd8f0396d7efd66c0aca";
-          sha256 = "15h37r3nhcjsx8z963s5ic5gcagnw9apy3hdnri57mvfg8h1k6s6";
+          rev = "2134cfef9c7194a2f7b093e037374673e03d2267";
+          sha256 = "1q4vskmkpwk10lwxvhsf4f5p43pjfkh2pvnjip95dp6vn5hgc1p2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -40007,8 +40049,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "http://llvm.org/git/llvm";
-          rev = "a1d4ee75a4d2e148a47febd36c88f41d5ccb4ca8";
-          sha256 = "1i294wmg7p111agmirmgyvirm849qy9kdgsiw7h06vxyy4wdvs4q";
+          rev = "e6120c3c7f5ba8ac0ab6e087c794b1881aa2ef24";
+          sha256 = "1mhcm8id257jdwa4qvyh90a125nfkz33mjwysa21iqqp6fhy4qgy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05b7a689463c1dd4d3d00b992b9863d10e93112d/recipes/llvm-mode";
@@ -40584,12 +40626,12 @@
     madhat2r-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "madhat2r-theme";
-        version = "20170130.1431";
+        version = "20170202.1630";
         src = fetchFromGitHub {
           owner = "madhat2r";
           repo = "madhat2r-theme";
-          rev = "b7def53611d83cec80be22f8dbf76df49d2d17b1";
-          sha256 = "0vralm3a6qbf92zbvv9383rd79i5zwlz41c2p5qvb9qlr6x4bf7r";
+          rev = "6b387f09de055cfcc15d74981cd4f32f8f9a7323";
+          sha256 = "1nnjdqqbarzv62ic3ddc2z9wmh93zjia4nvfjmji8213dngrrf88";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/44a382a388821908306c0b8350fba91218515e1b/recipes/madhat2r-theme";
@@ -40668,12 +40710,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20170201.254";
+        version = "20170203.1633";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "e34f4e8eb00f292e8c475489fa7caa286857a421";
-          sha256 = "02kk093bg1vjnqfl3qy9h8zs50xzxbkay78qizav0h5myv4mjy10";
+          rev = "b43de68002e77c06e3bc288eca5e849d077864cb";
+          sha256 = "00f0g34hmfyjqyy0zmzssani9wppi1bqbbvnqqfxdlcbf7chxr74";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -40847,8 +40889,8 @@
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "e34f4e8eb00f292e8c475489fa7caa286857a421";
-          sha256 = "02kk093bg1vjnqfl3qy9h8zs50xzxbkay78qizav0h5myv4mjy10";
+          rev = "b43de68002e77c06e3bc288eca5e849d077864cb";
+          sha256 = "00f0g34hmfyjqyy0zmzssani9wppi1bqbbvnqqfxdlcbf7chxr74";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -40948,12 +40990,12 @@
     magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit, melpaBuild, s, with-editor }:
     melpaBuild {
         pname = "magithub";
-        version = "20170115.1723";
+        version = "20170203.437";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "dc03f31edb5f45a1c9ada8ae00c1c9baf0126213";
-          sha256 = "1sv7h3gnqxm6vw4ygqm28grckxzvcfr39fgd4qhrzj0d6sss9gr5";
+          rev = "6880e5efb73e0cc8b8b71c639328cbec29d9cb9d";
+          sha256 = "1l82vibgmhpwpsarvh40js6q044b458h3i7r0wm7l897izsxkk84";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4605012c9d43403e968609710375e34f1b010235/recipes/magithub";
@@ -41305,12 +41347,12 @@
     mandoku = callPackage ({ fetchFromGitHub, fetchurl, git, github-clone, lib, magit, melpaBuild, org }:
     melpaBuild {
         pname = "mandoku";
-        version = "20170131.506";
+        version = "20170204.332";
         src = fetchFromGitHub {
           owner = "mandoku";
           repo = "mandoku";
-          rev = "bc7cb4b4dcc8b3f176f09345ccbaf843ae9dc41f";
-          sha256 = "0n10d6kdaw0cdjyafk5xzmjriig4nqc9gjcdmif38sqrcm5pwrkp";
+          rev = "5c4320254840dfeee410c46ab36ba94fa2efb6e1";
+          sha256 = "1wy2xs87ndvsg821chq9apnvh2l6ny2bdq815fqw1kyr3ml5x8mk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1aac4ae2c908de2c44624fb22a3f5ccf0b7a4912/recipes/mandoku";
@@ -45318,8 +45360,8 @@
         src = fetchFromGitHub {
           owner = "NixOS";
           repo = "nix";
-          rev = "7a65b2470eb53a320749d76746fbf65790183d9d";
-          sha256 = "0h0x8qxyqg1n9z8p9l66bqlw2b0ihimkic645b1xndiqrv3lxnvm";
+          rev = "1351b0df87a0984914769c5dc76489618b3a3fec";
+          sha256 = "09zvphzik9pypi1bnjs0v83qwgl5cfb5w0c788jlr5wbd8x3crv1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f2b542189cfde5b9b1ebee4625684949b6704ded/recipes/nix-mode";
@@ -46675,8 +46717,8 @@
         src = fetchFromGitHub {
           owner = "OCamlPro";
           repo = "ocp-indent";
-          rev = "4849905f909aaec03508612a092cfdf520e24984";
-          sha256 = "0p05vx17xk9591afx80pms5v16vl7kyn28sxdgzsifcjv6k8pnv7";
+          rev = "5dc0ab3bee633aad64967e79539cdd007bbcacac";
+          sha256 = "1d7q3gd6clyhpzy4phi6g5435iz50kba2mbn0jd403x3270gdk9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e1af061328b15360ed25a232cc6b8fbce4a7b098/recipes/ocp-indent";
@@ -47582,8 +47624,8 @@
         src = fetchFromGitHub {
           owner = "dfeich";
           repo = "org-clock-convenience";
-          rev = "dc8054d0d9ab5ef659c56c27bdd125c8b850b36f";
-          sha256 = "0wbij5inn5wy0jhghnba32h537ff3xy8wwy7jaf495hcws4gnag8";
+          rev = "2d3fab0991ef7fa8d94c46a63a66abd289c79d9e";
+          sha256 = "0dm8mzjy2hldn9lqblrfcq5w4d2byrgggg6wcs9rhdnpx96cvz74";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a80ed929181cdd28886ca598a0c387a31d239b2e/recipes/org-clock-convenience";
@@ -47767,12 +47809,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20170105.1740";
+        version = "20170202.927";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "bbfca2fe4149f21105c70d3df76bb789b3868643";
-          sha256 = "19729mfbvsi2gpikv7c6c5a3ah7vrxkjc3s863783kginq28n8yl";
+          rev = "c63b057e84b8ba1e7c969391a0263f7d0ce936e4";
+          sha256 = "1qb0vqk1k7v0ydhfwsvhfqrjfm3c5baz8358ibivnm126d2hbsya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -48106,8 +48148,8 @@
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "24313870fa682a53e7f3f916b0e853a731868886";
-          sha256 = "0nc3jl7sgqc8swi89rdk1yapmqxp8vaxm7390iqxy7a1sng4jydh";
+          rev = "3f29a64655cd03c662fa24ff687e5ed29d6bdd9e";
+          sha256 = "1a5z726hfaimjhidxskw7fr89hc3i0wl5hmpk8x64q87an0mkcmi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@@ -48168,8 +48210,8 @@
         version = "20140107.519";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "f157283c127729c681ac363daa3f411b68da7c3c";
-          sha256 = "0cqsahn5ghcivfx0qsa29ij5bviykmq4zx32ssckwp8za5pswfl6";
+          rev = "de58e0ae3351f4333752da07ad13db549b2a44bc";
+          sha256 = "176i7pwljwwq5dy7ch39ydk87njjmcqdxb55zpyhdg8bimvkg4xy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ee69e5e7b1617a29919d5fcece92414212fdf963/recipes/org-mac-iCal";
@@ -48188,8 +48230,8 @@
         version = "20170105.1723";
         src = fetchgit {
           url = "git://orgmode.org/org-mode.git";
-          rev = "f157283c127729c681ac363daa3f411b68da7c3c";
-          sha256 = "0cqsahn5ghcivfx0qsa29ij5bviykmq4zx32ssckwp8za5pswfl6";
+          rev = "de58e0ae3351f4333752da07ad13db549b2a44bc";
+          sha256 = "176i7pwljwwq5dy7ch39ydk87njjmcqdxb55zpyhdg8bimvkg4xy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/org-mac-link";
@@ -48205,12 +48247,12 @@
     org-mime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-mime";
-        version = "20170110.2011";
+        version = "20170204.531";
         src = fetchFromGitHub {
           owner = "org-mime";
           repo = "org-mime";
-          rev = "e554d8821d8513d4e8c33ca6efb147e3dfce2a5b";
-          sha256 = "000zgp2palvn12rahbjg8vrl4r3x2gjzbxxw2fkaqc2bx4rkjiv7";
+          rev = "91d8f487755a3b7159891e4da77ccfa7ff2836f4";
+          sha256 = "164gqknhb1ddfafkafjdr2a2a34m71sm8pbglfh5q0qg52f832za";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime";
@@ -49688,8 +49730,8 @@
         src = fetchFromGitHub {
           owner = "jkitchin";
           repo = "scimax";
-          rev = "e633abf5fc953e88e3629e9a5d7ca9bdf47a29cd";
-          sha256 = "0fasg280qza87dsmpsgyclk50nrr5jmm2vf6jxpzkccm7m1ar8w6";
+          rev = "18d63e2823ad481414499d070623f898f9c0ba3a";
+          sha256 = "0k4ddlhpjinc5h0ajv58qjgj28b3zp6nhk6ivi8ygivxin228r00";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/222ccf4480395bda8c582ad5faf8c7902a69370e/recipes/ox-clip";
@@ -50188,12 +50230,12 @@
     package-lint = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "package-lint";
-        version = "20170127.1538";
+        version = "20170203.429";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "package-lint";
-          rev = "f1b0f6237613a680dfdcddc1c096dc870a8efaa5";
-          sha256 = "0wrqsjcs3dvbay7z3zw73hys259yz9chblrvcnfqgmjl5n693gnf";
+          rev = "77bb3161c99949949426a544444b27eeb8b3ea2f";
+          sha256 = "0kvb46n9578xs1nx1y5p21akia9i1jycj58zyy0zq9iqj82lbb8d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9744d8521b4ac5aeb1f28229c0897af7260c6f78/recipes/package-lint";
@@ -52007,12 +52049,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20170131.1741";
+        version = "20170201.1842";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "349b85c1a9c79505d218b43940470c862dcdff32";
-          sha256 = "15mlzk7mvv3wfz73k30a7syb274myls6d44nibwg00r794drr57g";
+          rev = "e41a44f39d5d78acc2bd59d2a614f5fc9ff80cd3";
+          sha256 = "0ykdi8k6qj97r6nx9icd5idakksw1p10digfgl8r8z4qgwb00gcr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -54043,12 +54085,12 @@
     promise = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "promise";
-        version = "20170118.431";
+        version = "20170203.2139";
         src = fetchFromGitHub {
           owner = "chuntaro";
           repo = "emacs-promise";
-          rev = "250cb722bbcc06358be57c4e26b08a2416e7612f";
-          sha256 = "0jv9761fw0p06sb853r19cp87s4cyyfbb3r5abhk8j466nvw49f4";
+          rev = "8b176ba4354e9b6e6c2fa87231b85424c25c511c";
+          sha256 = "11mx0gcyi4dmhh45n6r93xqvi9s94dhx7ii1iy4g35f4ki2cqfdx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3eaf5ac668008759677b9cc6f11406abd573012a/recipes/promise";
@@ -54853,8 +54895,8 @@
         src = fetchFromGitHub {
           owner = "JackCrawley";
           repo = "pygen";
-          rev = "3a5d1d1a0640865b15be05cd1eeb33bb4793b622";
-          sha256 = "0fzpvdwb7hhmfmjxzvap8413bc81lrx8r3ij3yasqaxyqw3a6vy1";
+          rev = "430e2a059b6e2b0d76700cf79a3de55d9deefd9b";
+          sha256 = "1blb9j3y1vfph0gxsslr4gw2diyqqb6xbkrkkcp8vzmx4jr06ki3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e761724e52de6fa4d92950751953645dd439d340/recipes/pygen";
@@ -54916,8 +54958,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "7daed7b8982480c868b0f642a5251f00ffb253c6";
-          sha256 = "1sa21sylx5hvp1m28vx823hmk1lnp1ygg9pl22jjv318iks6f2vj";
+          rev = "854bfe802145355a659e0b1ec068d31d8000988d";
+          sha256 = "1hc17wqg5sp51j0k8iv7m0xkc483ay514c2mfc5nkbrq6kxz05dq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -55059,12 +55101,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20170117.455";
+        version = "20170203.606";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "49353d3d4b53470fa0493c13e5e33c77edb0f66d";
-          sha256 = "1w0b35789jhasqyz5g0fsp61mjikhbbjdripiwaam377b7k0w1bq";
+          rev = "7df57bba67d5c8aab9382d41a28018d1e0fda891";
+          sha256 = "1jyk8y7yijxwn0196fz75yxxmd8s53r240wi3555g3fr2898x16x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -55273,8 +55315,8 @@
         src = fetchFromGitHub {
           owner = "quelpa";
           repo = "quelpa";
-          rev = "e49a855cf699931cad7ef339a32812498f94e048";
-          sha256 = "1iwrcm1pw8pjif1jbh522zivlpw7cpdrd91n99pcj4a8sv7wsc6j";
+          rev = "d68a45fe0c4a1d4125b98adbeab65e3c8a30e908";
+          sha256 = "16sva8zl0hv6a6cr63d1g9038c304x6qxqgip117zxy1w36cfzdl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7dc3ba4f3efbf66142bf946d9cd31ff0c7a0b60e/recipes/quelpa";
@@ -55458,12 +55500,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170129.1015";
+        version = "20170203.1014";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "bb61c8d3026c598fc6c52f742ca7898a9f7c22c7";
-          sha256 = "0gxdclp8mg90v30wb30ksx6xr1r1kjyrqnr9r16cplqvkac1lz0x";
+          rev = "d010a865355e9014f1a897de587cacbb6cf23aa4";
+          sha256 = "1n15vnq21kym4ani61pf35a80kmp3i17hfn1dj7ayx5q2ifi0qi7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -55815,12 +55857,12 @@
     rbt = callPackage ({ fetchFromGitHub, fetchurl, lib, magit, melpaBuild, popup }:
     melpaBuild {
         pname = "rbt";
-        version = "20161220.1352";
+        version = "20170202.1502";
         src = fetchFromGitHub {
           owner = "joeheyming";
           repo = "rbt.el";
-          rev = "25ed055ffa444cb077042f95622ef253759f3ee2";
-          sha256 = "1gv0bm25c5v6sygpcxg1h7cnn8md8q7njh8jz1was5cmgkq3i3kg";
+          rev = "32bfba9062a014e375451cf4203c29535b5efc1e";
+          sha256 = "0jzhyf42m9gqcnsz9gxc9wk8bbb9a7fj78swwyj0wqn9jm8jxbra";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7241985be1e8a26a454b8136a537040b7ae801/recipes/rbt";
@@ -57719,8 +57761,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "a979685278d465b5426ae952e3b502b987ac1ae4";
-          sha256 = "11db2kiwg8y3x6wjyziqy74mzq60jw2r11v20zwxkj2za0q3q60k";
+          rev = "9f9e3d1e915927a2e4202b411933261cc1599b4d";
+          sha256 = "1fzaaj5y9p13x3laycacxidf4lmhb9pz210w1iqlavyjsf6vdw6g";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac3b84fe84a7f57d09f1a303d8947ef19aaf02fb/recipes/rtags";
@@ -57781,7 +57823,7 @@
         version = "20161115.2259";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57494";
+          rev = "57535";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -57861,7 +57903,7 @@
         version = "20150424.752";
         src = fetchsvn {
           url = "http://svn.ruby-lang.org/repos/ruby/trunk/misc/";
-          rev = "57494";
+          rev = "57535";
           sha256 = "0n4gnpms3vyvnag3sa034yisfcfy5gnwl2l46krfwy6qjm1nyzhf";
         };
         recipeFile = fetchurl {
@@ -58491,8 +58533,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "ea53e85c7983592c600ecd4a9cb08ae2760cf41e";
-          sha256 = "135is6zqca3ca1vkzpicqnf4jbxal2z5a93bflgbiha16i6485nn";
+          rev = "757c43bdd3ff9f3d35f5714e7ee695dc964bf8dc";
+          sha256 = "0di1lzfx17002rssl7ys57kg56pmadwcsm7km3301qd8b95ihzvv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -60561,12 +60603,12 @@
     slack = callPackage ({ alert, circe, emojify, fetchFromGitHub, fetchurl, lib, melpaBuild, oauth2, request, websocket }:
     melpaBuild {
         pname = "slack";
-        version = "20170124.1831";
+        version = "20170202.700";
         src = fetchFromGitHub {
           owner = "yuya373";
           repo = "emacs-slack";
-          rev = "dde1abb46558fc47a642853ac352985e9f7f7026";
-          sha256 = "1znscxiff64r9091vy8z18q53b4m73ghbf23hwhqv66wrp7g4bd5";
+          rev = "4f5912550a876bcc08e8c4342c2faccd1e6ab5c6";
+          sha256 = "0mb7pszpgjpzkwsmsqpccssv5zzca0j92pgxpd453kjknp5l24ag";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f0258cc41de809b67811a5dde3d475c429df0695/recipes/slack";
@@ -60624,12 +60666,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20170122.245";
+        version = "20170203.1728";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "38416762c68dfa793f8e4f7c686137ab99b0a18f";
-          sha256 = "0gjlhbvw2kfhqn01v60apjmp948pmzfmaancdb93ibs6z4dxfpz1";
+          rev = "7a2b4694ab8f70cbaabfda83fc17cb23d7c0b987";
+          sha256 = "1izfrm0j98wdmd3lnxf62b6g4sqv4686m8lrx42m5s8y1knr5igk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -64087,8 +64129,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "dbcee946f462e0fe2aa26f2a9e7ff4784c9e0e70";
-          sha256 = "199wg32ai117zkww4nzanksvdvzhmnnrn4cmp7l74z8i18cn2j2p";
+          rev = "7c73f7166486eeca829446a62efdb9520802ebea";
+          sha256 = "0q8wjynrlq2n6wf0x2nnmvj9h1i2pl39xpz6b7f3jbm7720182ld";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -64520,12 +64562,12 @@
     systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "systemd";
-        version = "20170122.1745";
+        version = "20170202.1844";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "systemd-mode";
-          rev = "bd94a2cb97ba66f06f564679eecdacb9c3c7456f";
-          sha256 = "1l83j79phd2q8m3bmyl7fglijymppjmffpmmqvmvv72cn103rlgf";
+          rev = "4c1b2befd0c853dcc7bca52d9b084933c3a08254";
+          sha256 = "1sdrga3mmajai2jcf4zpcii0l2b9wch8rhdsbjlzx76ia5snp23l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd";
@@ -65751,8 +65793,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "de9c330b24c9190078eefb68c864d2a41a4dee07";
-          sha256 = "0y16xm0pkyyancg646ni1zz190rzdlsypdbkk0jslnz1l9zq445j";
+          rev = "a3d6be906b339ce4e55e8fb8d98ff11480792949";
+          sha256 = "1wf143c5d5kwg6a7rs3x56jf5pvcpba121pr8178rn45lqdnimr0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -66641,12 +66683,12 @@
     transmission = callPackage ({ emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "transmission";
-        version = "20161231.2101";
+        version = "20170201.426";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "transmission";
-          rev = "39b1fdb924727698e5b85c588bc6fd83200e4b90";
-          sha256 = "08wgqx48b3kbggxmkjjxwyinfl1j6b8wi4xvg0hwbkyw0zka0cii";
+          rev = "462584da4677af833054e023bd630a2d9f10c692";
+          sha256 = "1i8k6jiwzrsamc887mdmzipbr7vshv4mfa9sgzzsmq521diaigk7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9ed7e414687c0bd82b140a1bd8044084d094d18f/recipes/transmission";
@@ -66927,12 +66969,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20170130.1530";
+        version = "20170202.1751";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "4bdc7e15262a533aa7ea8aca48d615a49ad9e2c9";
-          sha256 = "1b1i0s8z6grvfa7lkbv4fgjg0dzi61gidz2ygwjwsqhqgw269ym1";
+          rev = "8614825a9dcc08f0c77264ae8892f2417468cefb";
+          sha256 = "0jfvva5j33hs99grz4jzpr1qkmhx5vwrixl2pf20ggb4jd7c482j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -67383,12 +67425,12 @@
     ujelly-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ujelly-theme";
-        version = "20170201.217";
+        version = "20170202.2206";
         src = fetchFromGitHub {
           owner = "marktran";
           repo = "color-theme-ujelly";
-          rev = "2d886a64f84b3a27a53d2f29cd22528a8e3c7be2";
-          sha256 = "1w8v3a9hm15q0yih9vcby2y4g01kf64axfd368w1jchx01ql6n2p";
+          rev = "0a339a439390f9bec41f66b1f058e8e8ca90ba31";
+          sha256 = "13qsbncz6plld5y5n1klrliag6v8lzng7z4m5906vfw6sbpfyqx5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/ujelly-theme";
@@ -68353,12 +68395,12 @@
     vdiff = callPackage ({ emacs, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild }:
     melpaBuild {
         pname = "vdiff";
-        version = "20170201.1043";
+        version = "20170204.1156";
         src = fetchFromGitHub {
           owner = "justbur";
           repo = "emacs-vdiff";
-          rev = "bc5a9a8c5e78835a7311d0fcfcc4619a92ffaa3a";
-          sha256 = "112xrpznada8br8xcc7ln69k4w9da6h4c658gcjpj5a7mgqlbc4d";
+          rev = "ff1fbc409f816574a230bfdaa17ea73f65196654";
+          sha256 = "1h2arynqw3ps960cb18nyhkj00rjn7xdrrn7vlbrvzxqawpjhn82";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e90f19c8fa4b0d267d269b76f117995e812e899c/recipes/vdiff";
@@ -69921,8 +69963,8 @@
         src = fetchFromGitHub {
           owner = "foretagsplatsen";
           repo = "emacs-js";
-          rev = "7bf3be6afab3c902c17b923cd4cdd12f4a2559c9";
-          sha256 = "1whq3cbk0z70pn8alrcp5m53ap278rkm7hzcbkg5yrjvjfxw38dz";
+          rev = "b5bcc7d5dd37a658a1fa77ec2272c9b2a8ca30b8";
+          sha256 = "0jgrx90n17h9ib9vjymxxra2abjk7pbdk1h9whqby2jg2xvzp0hm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/78d7a15152f45a193384741fa00d0649c4bba91e/recipes/widgetjs";
@@ -71794,12 +71836,12 @@
     yasnippet = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "yasnippet";
-        version = "20170127.2128";
+        version = "20170203.626";
         src = fetchFromGitHub {
           owner = "joaotavora";
           repo = "yasnippet";
-          rev = "e74f00e70324101130c00b10af15f1f23e150654";
-          sha256 = "0b33mb10k5mvkg9v79kq1yx45swckz9pc1kn52h76rifcl83pif2";
+          rev = "9abf842e356e7b42fa105fe6284fb5ebe58a7ed1";
+          sha256 = "1gnaa8nwxa969pxgspk1v1vmfcxb32mbswy7yr60gnmb6mlfmjkk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1927dc3351d3522de1baccdc4ce200ba52bd6e/recipes/yasnippet";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 2e546092c6ba..07748209b7e8 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -1031,12 +1031,12 @@
     alect-themes = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alect-themes";
-        version = "0.7";
+        version = "0.8";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "alect-themes";
-          rev = "db7cc6ebf695a71881d803966d672f80fe967da6";
-          sha256 = "1pk5dgjqrynap85700wdivq41bdqvwd5hkfimgmcd48l5lhj9pbj";
+          rev = "1812abbe0079d1075525d9fb2da6fcfec7db3766";
+          sha256 = "0sl2njnhm37cya06y39ls8p3zwpjwyv1pd7w3yfk5frz24vaxlcq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84c25a290ae4bcc4674434c83c66ae128e4c4282/recipes/alect-themes";
@@ -3208,12 +3208,12 @@
     cargo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rust-mode }:
     melpaBuild {
         pname = "cargo";
-        version = "0.2.0";
+        version = "0.4.0";
         src = fetchFromGitHub {
           owner = "kwrooijen";
           repo = "cargo.el";
-          rev = "9db98208c1086dffdb351c85a74a096b48e6141f";
-          sha256 = "0xgnq21fb37y05535ipy0z584pnaglxy5bfqzdppyzsy7lpbb4k3";
+          rev = "25ca2fcbd6b664cc7a20b0cccca3adc19e79917a";
+          sha256 = "1fzrczx1aq0q130qrvzq8dssc1qm5qc9pclsyd3zn27xbn5lsag3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e997b356b009b3d2ab467fe49b79d728a8cfe24b/recipes/cargo";
@@ -4101,12 +4101,12 @@
     cm-mode = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cm-mode";
-        version = "1.5";
+        version = "1.6";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "criticmarkup-emacs";
-          rev = "12b7460691dc502d27329d6ac11c51cc83cd098e";
-          sha256 = "018limfwcb396yr2kn6jixxdmpmiif3l7gp0p1pmwbg07fldllha";
+          rev = "276d49c859822265070ae5dfbb403fd7d8d06436";
+          sha256 = "0mqbjw9wiaq735v307hd7g0g6i3a4k7h71bi4g9rr2jbgiljmql4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42dda804ec0c7338c39c57eec6ba479609a38555/recipes/cm-mode";
@@ -5658,6 +5658,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    dante = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
+    melpaBuild {
+        pname = "dante";
+        version = "1.2";
+        src = fetchFromGitHub {
+          owner = "jyp";
+          repo = "dante";
+          rev = "385dd8114bb9eaba44943f00f9f7aea71af7bf34";
+          sha256 = "1jkdq9li3vqzdmmznpaxak7mf9y9vlk0abdb7ffzvvlry19dvgs8";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
+          sha256 = "1j0qwjshh2227k63vd06bvrsccymqssx26yfzams1xf7bp6y0krs";
+          name = "dante";
+        };
+        packageRequires = [ dash emacs flycheck ];
+        meta = {
+          homepage = "https://melpa.org/#/dante";
+          license = lib.licenses.free;
+        };
+      }) {};
     darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darcula-theme";
@@ -10815,12 +10836,12 @@
     floobits = callPackage ({ fetchFromGitHub, fetchurl, highlight, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "floobits";
-        version = "1.7.2";
+        version = "1.8.1";
         src = fetchFromGitHub {
           owner = "Floobits";
           repo = "floobits-emacs";
-          rev = "6fea6eb2a1841d163acdeb5d9d59e51a5d7f61c4";
-          sha256 = "1n6x8n3fzxfwgpkvvnbxv6w3b08zzmx95pwv9yhqxl5b4pwyl31i";
+          rev = "643dbefca9754765e6d0f88a8953dc3689f5f93f";
+          sha256 = "1wh4y53vqi2zb03gxa2g2s14i280yqv0i7432ifi10v2qdwkilna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/95c859e8440049579630b4c2bcc31e7eaa13b1f1/recipes/floobits";
@@ -12206,6 +12227,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    fstar-mode = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "fstar-mode";
+        version = "0.9.4.0";
+        src = fetchFromGitHub {
+          owner = "FStarLang";
+          repo = "fstar-mode.el";
+          rev = "3a9be64827bbed8e34d38803b5c44d8d4f6cd688";
+          sha256 = "0manmkd66355g1fw2q1q96ispd0vxf842i8dcr6g592abrz5lhi7";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e1198ee309675c391c479ce39efcdca23f548d2a/recipes/fstar-mode";
+          sha256 = "0kyzkghdkrnqqbd5b969pjyz9jxgq0j8hkmvlcwikl7ynnhm9lgy";
+          name = "fstar-mode";
+        };
+        packageRequires = [ dash emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/fstar-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     fuel = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "fuel";
         version = "0.96";
@@ -17863,12 +17905,12 @@
     ivy-erlang-complete = callPackage ({ async, counsel, emacs, erlang, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-erlang-complete";
-        version = "0.1.3";
+        version = "0.1.4";
         src = fetchFromGitHub {
           owner = "s-kostyaev";
           repo = "ivy-erlang-complete";
-          rev = "914dfbeb2d9ccaed2e830637ecc814ac1da2f82f";
-          sha256 = "0a5fmqkasy87vq9x95qavqszmb9jalsi8ihgxx120rbrzfib28ys";
+          rev = "f5bee7c5368d55be4ebca30610b73c33978830cf";
+          sha256 = "0lcydjg8kyxdv5bbly0jf4d5wl4z7s63i536gvnlz0wfgj5swp5v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac1b9e350d3f066e4e56202ebb443134d5fc3669/recipes/ivy-erlang-complete";
@@ -25093,12 +25135,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "1.18.1";
+        version = "1.18.2";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "349b85c1a9c79505d218b43940470c862dcdff32";
-          sha256 = "15mlzk7mvv3wfz73k30a7syb274myls6d44nibwg00r794drr57g";
+          rev = "e41a44f39d5d78acc2bd59d2a614f5fc9ff80cd3";
+          sha256 = "0ykdi8k6qj97r6nx9icd5idakksw1p10digfgl8r8z4qgwb00gcr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -30670,12 +30712,12 @@
     systemd = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "systemd";
-        version = "1.4.1";
+        version = "1.5";
         src = fetchFromGitHub {
           owner = "holomorph";
           repo = "systemd-mode";
-          rev = "7769000ba6b395dfaa2c6b0fce48ae5d5cd9a035";
-          sha256 = "1vqcqrq8qk9n512rbwi2lcvjiy0wqmybwa2lmrkv49yshqjhm5ld";
+          rev = "4c1b2befd0c853dcc7bca52d9b084933c3a08254";
+          sha256 = "1sdrga3mmajai2jcf4zpcii0l2b9wch8rhdsbjlzx76ia5snp23l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca810e512c357d1d0130aeeb9b46b38c595e3351/recipes/systemd";
diff --git a/pkgs/applications/editors/emacs/macport-25.1.nix b/pkgs/applications/editors/emacs/macport-25.1.nix
index 84d1950b8659..9169c12417ae 100644
--- a/pkgs/applications/editors/emacs/macport-25.1.nix
+++ b/pkgs/applications/editors/emacs/macport-25.1.nix
@@ -19,6 +19,11 @@ stdenv.mkDerivation rec {
     sha256 = "1zwxh7zsvwcg221mpjh0dhpdas3j9mc5q92pprf8yljl7clqvg62";
   };
 
+  hiresSrc = fetchurl {
+    url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/emacs-hires-icons-2.0.tar.gz";
+    sha256 = "1ari8n3y1d4hdl9npg3c3hk27x7cfkwfgyhgzn1vlqkrdah4z434";
+  };
+
   enableParallelBuilding = true;
 
   buildInputs = [ ncurses libxml2 gnutls pkgconfig texinfo gettext autoconf automake];
@@ -32,12 +37,18 @@ stdenv.mkDerivation rec {
     mv $sourceRoot $name
     tar xzf $macportSrc
     mv $name $sourceRoot
+
+    # extract retina image resources
+    tar xzfv $hiresSrc --strip 1 -C $sourceRoot
   '';
 
   postPatch = ''
     patch -p1 < patch-mac
     substituteInPlace lisp/international/mule-cmds.el \
       --replace /usr/share/locale ${gettext}/share/locale
+
+    # use newer emacs icon
+    cp nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns mac/Emacs.app/Contents/Resources/Emacs.icns
   '';
 
   configureFlags = [
diff --git a/pkgs/applications/editors/vim/configurable.nix b/pkgs/applications/editors/vim/configurable.nix
index ee33c3e30708..9c0becc47295 100644
--- a/pkgs/applications/editors/vim/configurable.nix
+++ b/pkgs/applications/editors/vim/configurable.nix
@@ -161,6 +161,10 @@ composableDerivation {
       // edf "gtktest" "gtktest" { } #Do not try to compile and run a test GTK program
     */
 
+  preInstall = ''
+    mkdir -p $out/share/applications $out/share/icons/{hicolor,locolor}/{16x16,32x32,48x48}/apps
+  '';
+
   postInstall = stdenv.lib.optionalString stdenv.isLinux ''
     patchelf --set-rpath \
       "$(patchelf --print-rpath $out/bin/vim):${lib.makeLibraryPath buildInputs}" \
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index f0f44bfe62f5..d17943639751 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -3,9 +3,12 @@
 
 let
   version = "1.9.0";
-  rev = "38746938a4ab94f2f57d9e1309c51fd6fb37553d";
+  rev = "27240e71ef390bf2d66307e677c2a333cebf75af";
   channel = "stable";
 
+  # The revision can be obtained with the following command (see https://github.com/NixOS/nixpkgs/issues/22465):
+  # curl -w "%{url_effective}\n" -I -L -s -S https://vscode-update.azurewebsites.net/latest/linux-x64/stable -o /dev/null
+
   sha256 = if stdenv.system == "i686-linux"    then "05f1sk2lq2skp8fxq6q229kf89vi2sq3zz6lywq7nk81pwvp8jap"
       else if stdenv.system == "x86_64-linux"  then "0wj17lwq8f88xvfa6wfbqm580kp0470ib2yxn15j9mv0iw7nzqry"
       else if stdenv.system == "x86_64-darwin" then "1k067h099j6fv820nn6h4i8ax35yvd1h8f4h5216dm66cpikv7nd"
diff --git a/pkgs/applications/graphics/digikam/5.nix b/pkgs/applications/graphics/digikam/5.nix
index 3e5d1b7b52ef..ca7377c405c6 100644
--- a/pkgs/applications/graphics/digikam/5.nix
+++ b/pkgs/applications/graphics/digikam/5.nix
@@ -45,11 +45,11 @@
 
 stdenv.mkDerivation rec {
   name    = "digikam-${version}";
-  version = "5.3.0";
+  version = "5.4.0";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/digikam/${name}.tar.xz";
-    sha256 = "0p1y5kgkz7lzzqpf7qd3mmg59zfdkkz9jg7knldd8dl94wkzlv5k";
+    sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg";
   };
 
   nativeBuildInputs = [ cmake ecm makeQtWrapper ];
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 5627faec0944..53fdc67cf242 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.0";
+  version = "5.0-r1";
   name = "rawtherapee-" + version;
 
   src = fetchFromGitHub {
     owner = "Beep6581";
     repo = "RawTherapee";
-    rev = "9fbbb052eefb739753f0f3d631e45694d659610a";
-    sha256 = "0r8wzxp7q77g3hjz7dr5lh5wih762pgjad3lkzjfhki9lxr7ii7q";
+    rev = "1077c4ba2e2dbe249884e6974c6050db8eb5e9c2";
+    sha256 = "1xqmkwprk3h9nhy6q562mkjdpynyg9ff7a92sdga50k56gi0aj0s";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix
index 1e6caa93b2d3..df8cb71d6f9e 100644
--- a/pkgs/applications/misc/googleearth/default.nix
+++ b/pkgs/applications/misc/googleearth/default.nix
@@ -1,77 +1,79 @@
 { stdenv, fetchurl, glibc, mesa, freetype, glib, libSM, libICE, libXi, libXv
 , libXrender, libXrandr, libXfixes, libXcursor, libXinerama, libXext, libX11, qt4
-, zlib, fontconfig }:
+, zlib, fontconfig, dpkg }:
 
-/* I haven't found any x86_64 package from them */
-assert stdenv.system == "i686-linux";
-
-stdenv.mkDerivation {
-  name = "googleearth-6.0.3.2197";
-
-  src = fetchurl {
-    url = http://dl.google.com/earth/client/current/GoogleEarthLinux.bin;
-    sha256 = "0bcpmnlk03382x577qbnbw3i6y08hr3qmg85pqj35scnl6van74c";
-  };
-
-  nativeBuildInputs = [
+let
+  arch =
+    if stdenv.system == "x86_64-linux" then "amd64"
+    else if stdenv.system == "i686-linux" then "i386"
+    else abort "Unsupported architecture";
+  sha256 =
+    if arch == "amd64"
+    then "0dwnppn5snl5bwkdrgj4cyylnhngi0g66fn2k41j3dvis83x24k6"
+    else "0gndbxrj3kgc2dhjqwjifr3cl85hgpm695z0wi01wvwzhrjqs0l2";
+  fullPath = stdenv.lib.makeLibraryPath [
     glibc
     glib
     stdenv.cc.cc
-    libSM 
-    libICE 
-    libXi 
+    libSM
+    libICE
+    libXi
     libXv
     mesa
-    libXrender 
-    libXrandr 
-    libXfixes 
-    libXcursor 
-    libXinerama 
-    freetype 
-    libXext 
-    libX11 
+    libXrender
+    libXrandr
+    libXfixes
+    libXcursor
+    libXinerama
+    freetype
+    libXext
+    libX11
     qt4
     zlib
     fontconfig
   ];
+in
+stdenv.mkDerivation rec {
+  version = "7.1.4.1529";
+  name = "googleearth-${version}";
+
+  src = fetchurl {
+    url = "https://dl.google.com/earth/client/current/google-earth-stable_current_${arch}.deb";
+    inherit sha256;
+  };
 
   phases = "unpackPhase installPhase";
-  
+
+  buildInputs = [ dpkg ];
+
   unpackPhase = ''
-    bash $src --noexec --target unpacked
-    cd unpacked
+    dpkg-deb -x ${src} ./
   '';
-  
+
   installPhase =''
-    mkdir -p $out/{opt/googleearth/,bin};
-    tar xf googleearth-data.tar -C $out/opt/googleearth
-    tar xf googleearth-linux-x86.tar -C $out/opt/googleearth
-    cp bin/googleearth $out/opt/googleearth
-    cat > $out/bin/googleearth << EOF
-    #!/bin/sh
-    export GOOGLEEARTH_DATA_PATH=$out/opt/googleearth
-    exec $out/opt/googleearth/googleearth
-    EOF
-    chmod +x $out/bin/googleearth
+    mkdir $out
+    mv usr/* $out/
+    rmdir usr
+    mv * $out/
+    rm $out/bin/google-earth $out/opt/google/earth/free/google-earth
+    ln -s $out/opt/google/earth/free/googleearth $out/bin/google-earth
 
-    fullPath=
-    for i in $nativeBuildInputs; do
-      fullPath=$fullPath:$i/lib
-    done
-          
     patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath $fullPath \
-      $out/opt/googleearth/googleearth-bin
+      --set-rpath "${fullPath}:\$ORIGIN" \
+      $out/opt/google/earth/free/googleearth-bin
 
-    for a in $out/opt/googleearth/*.so* ; do
-      patchelf --set-rpath $fullPath $a
+    for a in $out/opt/google/earth/free/*.so* ; do
+      patchelf --set-rpath "${fullPath}:\$ORIGIN" $a
     done
   '';
 
+  dontPatchELF = true;
+
   meta = {
     description = "A world sphere viewer";
     homepage = http://earth.google.com;
     license = stdenv.lib.licenses.unfree;
     maintainers = [ stdenv.lib.maintainers.viric ];
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 075de4dcb652..58b45786c40e 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, libgcrypt, qt5, zlib, libmicrohttpd, libXtst }:
+{ stdenv, fetchFromGitHub, cmake, libgcrypt, zlib, libmicrohttpd, libXtst, qtbase, qttools }:
 
 stdenv.mkDerivation rec {
   name = "keepassx-community-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0qwmi9f8ik3vkwl1kx7g3079h5ia4wl87y42nr5dal3ic1jc941p";
   };
 
-  buildInputs = [ cmake libgcrypt zlib qt5.full libXtst libmicrohttpd ];
+  buildInputs = [ cmake libgcrypt zlib qtbase qttools libXtst libmicrohttpd ];
 
   meta = {
     description = "Fork of the keepassX password-manager with additional http-interface to allow browser-integration an use with plugins such as PasslFox (https://github.com/pfn/passifox). See also keepassX2.";
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/kde4.nix
index 1e4da7fa11f7..1e4da7fa11f7 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/kde4.nix
diff --git a/pkgs/applications/misc/krename/kde5.nix b/pkgs/applications/misc/krename/kde5.nix
new file mode 100644
index 000000000000..a2137060ef64
--- /dev/null
+++ b/pkgs/applications/misc/krename/kde5.nix
@@ -0,0 +1,35 @@
+{
+  kdeDerivation, kdeWrapper, fetchFromGitHub, lib,
+  ecm, kdoctools, kconfig, kinit, kjsembed,
+  taglib, exiv2, podofo
+}:
+
+let
+  pname = "krename";
+  version = "20161228";
+  unwrapped = kdeDerivation rec {
+    name = "${pname}-${version}";
+
+    src = fetchFromGitHub {
+      owner  = "KDE";
+      repo   = "krename";
+      rev    = "4e55c2bef50898eb4a6485ce068379b166121895";
+      sha256 = "09yz3sxy2l6radfybkj2f7224ggf315vnvyksk0aq8f03gan6cbp";
+    };
+
+    meta = with lib; {
+      homepage = http://www.krename.net;
+      description = "A powerful batch renamer for KDE";
+      inherit (kconfig.meta) platforms;
+      maintainers = with maintainers; [ urkud peterhoeg ];
+    };
+
+    buildInputs = [ taglib exiv2 podofo ];
+    nativeBuildInputs = [ ecm kdoctools ];
+    propagatedBuildInputs = [ kconfig kinit kjsembed ];
+  };
+
+in kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/krename" ];
+}
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index e350a9a95301..ee06ea1ad6cf 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,26 +1,29 @@
-{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
-, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
+{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf
+, lablgl, gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
 
 assert lib.versionAtLeast (lib.getVersion ocaml) "4.02";
 
 let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
 in stdenv.mkDerivation rec {
   name = "llpp-${version}";
-  version = "21-git-2016-05-07";
+  version = "25-git-2017-01-18";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
-    rev = "1beb003ca0f4ed90fda2823cb07c2eb674fc3ca4";
-    sha256 = "1r59yfm81zmiij401d3wc3zb1zc873ss02gkplbwi4lad2l0chba";
+    rev = "22740b9bca1c60ef18cf90538994ce4981539901";
+    sha256 = "0yg8z2zwhg2f5il2i1clx3b7hl088ncpk686rfxlvwyjg3qs3mv4";
     fetchSubmodules = false;
   };
 
-  buildInputs = [ pkgconfig ninja makeWrapper ocaml findlib mupdf lablgl
-                  gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ];
+  nativeBuildInputs = [ pkgconfig makeWrapper ninja ];
+  buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec # lablgl
+    openjpeg mujs openssl freetype ncurses ];
 
   dontStrip = true;
 
   configurePhase = ''
+    sed -i -e 's+fz_set_use_document_css (state.ctx, usedoccss);+/* fz_set_use_document_css (state.ctx, usedoccss); */+' link.c
+    sed -i -e 's+ocamlc --version+ocamlc -version+' build.sh
     sed -i -e 's+-I \$srcdir/mupdf/include -I \$srcdir/mupdf/thirdparty/freetype/include+-I ${freetype.dev}/include+' build.sh
     sed -i -e 's+-lmupdf +-lfreetype -lz -lharfbuzz -ljbig2dec -lopenjp2 -ljpeg -lmupdf +' build.sh
     sed -i -e 's+-L\$srcdir/mupdf/build/native ++' build.sh
@@ -29,12 +32,12 @@ in stdenv.mkDerivation rec {
   buildPhase = ''
     sh ./build.sh build
   '';
+#        --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
 
   installPhase = ''
     install -d $out/bin $out/lib
     install build/llpp $out/bin
     wrapProgram $out/bin/llpp \
-        --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
         --prefix CAML_LD_LIBRARY_PATH ":" "$out/lib" \
         --prefix PATH ":" "${xsel}/bin"
   '';
diff --git a/pkgs/applications/misc/redshift-plasma-applet/default.nix b/pkgs/applications/misc/redshift-plasma-applet/default.nix
new file mode 100644
index 000000000000..3cf6f7d754be
--- /dev/null
+++ b/pkgs/applications/misc/redshift-plasma-applet/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, cmake, kde5, redshift, fetchFromGitHub, ... }:
+
+let version = "1.0.17"; in
+
+stdenv.mkDerivation {
+  name = "redshift-plasma-applet-${version}";
+
+  src = fetchFromGitHub {
+    owner = "kotelnik";
+    repo = "plasma-applet-redshift-control";
+    rev = "v${version}";
+    sha256 = "1lp1rb7i6c18lrgqxsglbvyvzh71qbm591abrbhw675ii0ca9hgj";
+  };
+
+  patchPhase = ''
+    substituteInPlace package/contents/ui/main.qml \
+      --replace "redshiftCommand: 'redshift'" \
+                "redshiftCommand: '${redshift}/bin/redshift'" \
+      --replace "redshiftOneTimeCommand: 'redshift -O " \
+                "redshiftOneTimeCommand: '${redshift}/bin/redshift -O "
+
+    substituteInPlace package/contents/ui/config/ConfigAdvanced.qml \
+      --replace "'redshift -V'" \
+                "'${redshift}/bin/redshift -V'"
+  '';
+
+  buildInputs = [
+    cmake
+    kde5.plasma-framework
+  ];
+
+
+  meta = with stdenv.lib; {
+    description = "KDE Plasma 5 widget for controlling Redshift";
+    homepage = https://github.com/kotelnik/plasma-applet-redshift-control;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ benley ];
+  };
+}
diff --git a/pkgs/applications/misc/taskwarrior/0001-bash-completion-quote-pattern-argument-to-grep.patch b/pkgs/applications/misc/taskwarrior/0001-bash-completion-quote-pattern-argument-to-grep.patch
new file mode 100644
index 000000000000..8e5c0139e555
--- /dev/null
+++ b/pkgs/applications/misc/taskwarrior/0001-bash-completion-quote-pattern-argument-to-grep.patch
@@ -0,0 +1,28 @@
+From 0d677475b710b9bb61d4b3ac5435c36b47d3a155 Mon Sep 17 00:00:00 2001
+From: Peter Simons <simons@cryp.to>
+Date: Wed, 8 Feb 2017 11:28:42 +0100
+Subject: [PATCH] bash-completion: quote pattern argument to grep
+
+Without the quotes, bash might expand that pattern based on the contents of the
+current working directory or -- if nullglob is set -- the argument disappears
+outright if no directory entry matches.
+---
+ scripts/bash/task.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/bash/task.sh b/scripts/bash/task.sh
+index e0c7fb03..d15ed3eb 100644
+--- a/scripts/bash/task.sh
++++ b/scripts/bash/task.sh
+@@ -72,7 +72,7 @@ _task_offer_contexts() {
+     COMPREPLY=( $(compgen -W "$($taskcommand _context) define delete list none show" -- $cur) )
+ }
+ 
+-_task_context_alias=$($taskcommand show | grep alias.*context | cut -d' ' -f1 | cut -d. -f2)
++_task_context_alias=$($taskcommand show | grep "alias.*context" | cut -d' ' -f1 | cut -d. -f2)
+ 
+ _task()
+ {
+-- 
+2.11.1
+
diff --git a/pkgs/applications/misc/taskwarrior/default.nix b/pkgs/applications/misc/taskwarrior/default.nix
index eea7ffdcaf23..e4938b928dab 100644
--- a/pkgs/applications/misc/taskwarrior/default.nix
+++ b/pkgs/applications/misc/taskwarrior/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "059a9yc58wcicc6xxsjh1ph7k2yrag0spsahp1wqmsq6h7jwwyyq";
   };
 
+  patches = [ ./0001-bash-completion-quote-pattern-argument-to-grep.patch ];
+
   nativeBuildInputs = [ cmake libuuid gnutls ];
 
   postInstall = ''
@@ -19,7 +21,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "GTD (getting things done) implementation";
+    description = "Highly flexible command-line tool to manage TODO lists";
     homepage = http://taskwarrior.org;
     license = licenses.mit;
     maintainers = with maintainers; [ marcweber jgeerds ];
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index a7e9c0312daf..899f66cb2b0c 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -11,8 +11,8 @@
     version = "57.0.2987.19";
   };
   stable = {
-    sha256 = "0f1w9cba99s9hy6fdqkr39yhkay4kid72vdrgs4as5lwdci8xc6g";
-    sha256bin64 = "1zy11y649nxs03xldcq8jcpwj0nb3sklmyh3cxw7fajzi739p2y3";
-    version = "56.0.2924.76";
+    sha256 = "1q2kg85pd6lv036w7lsss5mhiiva9rx4f0410sbn9bnazhghib4s";
+    sha256bin64 = "1s64smkpjmnlw7ym14v3g3lcpagsgavmnlq6wkgci80kyvwasd3w";
+    version = "56.0.2924.87";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index e5e8cacd21cd..ad1091c9d39e 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, makeDesktopItem, makeWrapper, config
 
 ## various stuff that can be plugged in
-, gnash, flashplayer, hal-flash
+, flashplayer, hal-flash
 , MPlayerPlugin, ffmpeg, gst_all, xorg, libpulseaudio, libcanberra_gtk2
 , supportsJDK, jrePlugin, icedtea_web
 , trezor-bridge, bluejeans, djview4, adobe-reader
@@ -23,16 +23,13 @@ browser:
 let
   cfg = stdenv.lib.attrByPath [ browserName ] {} config;
   enableAdobeFlash = cfg.enableAdobeFlash or false;
-  enableGnash = cfg.enableGnash or false;
   ffmpegSupport = browser.ffmpegSupport or false;
   jre = cfg.jre or false;
   icedtea = cfg.icedtea or false;
 
   plugins =
-     assert !(enableGnash && enableAdobeFlash);
      assert !(jre && icedtea);
      ([ ]
-      ++ lib.optional enableGnash gnash
       ++ lib.optional enableAdobeFlash flashplayer
       ++ lib.optional (cfg.enableDjvu or false) (djview4)
       ++ lib.optional (cfg.enableMPlayer or false) (MPlayerPlugin browser)
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 0edd982f0f75..7e9d4cd50b4a 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -14,6 +14,7 @@
 , gnome2
 , gtk2
 , libX11
+, libxcb
 , libXScrnSaver
 , libXcomposite
 , libXcursor
@@ -36,7 +37,7 @@
 let
 
   mirror = https://get.geo.opera.com/pub/opera/desktop;
-  version = "41.0.2353.56";
+  version = "42.0.2393.517";
 
   rpath = stdenv.lib.makeLibraryPath [
 
@@ -66,6 +67,7 @@ let
     libXrandr.out
     libXrender.out
     libXtst.out
+    libxcb.out
     libnotify.out
     nspr.out
     nss.out
@@ -89,12 +91,12 @@ in stdenv.mkDerivation {
     if stdenv.system == "i686-linux" then
       fetchurl {
         url = "${mirror}/${version}/linux/opera-stable_${version}_i386.deb";
-        sha256 = "0qjkhadlpn5c20wm66hm7rn12kdk4bh2plfgpfkzp85jmsjdxri5";
+        sha256 = "1zdhg6lrnpn8f4rdibnagj3ps3i8s9ygm4dpj5h605rqk24xxpvs";
       }
     else if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb";
-        sha256 = "1f3slbydxkk15banjbm7d8602l3vxy834ijsdqpyj0ckc5mw0g9y";
+        sha256 = "04yklvxprl7kcnl43fmvk1qfj5ifvivj715n26ylzcf29pvcy1mp";
       }
     else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index cd1ace993d6b..c773d8ac23a4 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -1,15 +1,18 @@
-{ stdenv, fetchurl, kubernetes }:
+{ stdenv, lib, fetchurl, makeWrapper, docker-machine-kvm, kubernetes, libvirt, qemu }:
+
 let
   arch = if stdenv.isLinux
          then "linux-amd64"
          else "darwin-amd64";
   checksum = if stdenv.isLinux
-             then "1g6k3va84nm2h9z2ywbbkc8jabgkarqlf8wv1sp2p6s6hw7hi5h3"
-             else "0jpwyvgpl34n07chcyd7ldvk3jq3rx72cp8yf0bh7gnzr5lcnxnc";
-in
-stdenv.mkDerivation rec {
+             then "0njx4vzr0cpr3dba08w0jrlpfb8qrmxq5lqfrk3qrx29x5y6i6hi"
+             else "0i21m1pys6rdxcwsk987l08lhzpcbg4bdrznaam02g6jj6jxvq0x";
+
+# TODO: compile from source
+
+in stdenv.mkDerivation rec {
   pname = "minikube";
-  version = "0.15.0";
+  version = "0.16.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -17,26 +20,24 @@ stdenv.mkDerivation rec {
     sha256 = "${checksum}";
   };
 
-  buildInputs = [ ];
+  phases = [ "installPhase" ];
 
-  propagatedBuildInputs = [ kubernetes ];
+  buildInputs = [ makeWrapper ];
 
-  phases = [ "buildPhase" "installPhase" ];
-
-  buildPhase = ''
-    mkdir -p $out/bin
-  '';
+  binPath = lib.makeBinPath [ docker-machine-kvm kubernetes libvirt qemu ];
 
   installPhase = ''
-    cp $src $out/bin/${pname}
-    chmod +x $out/bin/${pname}
+    install -Dm755 ${src} $out/bin/${pname}
+
+    wrapProgram $out/bin/${pname} \
+      --prefix PATH : ${binPath}
   '';
 
   meta = with stdenv.lib; {
     homepage = https://github.com/kubernetes/minikube;
     description = "A tool that makes it easy to run Kubernetes locally";
     license = licenses.asl20;
-    maintainers = [ maintainers.ebzzry ];
-    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ ebzzry ];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/networking/cluster/terragrunt/default.nix b/pkgs/applications/networking/cluster/terragrunt/default.nix
index 98e8beefd066..9325d074fea3 100644
--- a/pkgs/applications/networking/cluster/terragrunt/default.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "terragrunt-${version}";
-  version = "0.9.6";
+  version = "0.9.9";
 
   goPackagePath = "github.com/gruntwork-io/terragrunt";
 
@@ -10,12 +10,12 @@ buildGoPackage rec {
     rev    = "v${version}";
     owner  = "gruntwork-io";
     repo   = "terragrunt";
-    sha256 = "0x4qpf4jqrm55rg5xifk6gz4gy42506k5g1l5461xln0rsmifpkf";
+    sha256 = "08rygmcjlcdj4g575cpx2lfdq69r450ri5q2dngvnhbvzk8nvnr0";
   };
 
   goDeps = ./deps.nix;
 
-  buildInputs = [ makeWrapper terraform ];
+  buildInputs = [ makeWrapper ];
 
   postInstall = ''
     wrapProgram $bin/bin/terragrunt \
diff --git a/pkgs/applications/networking/cluster/terragrunt/deps.nix b/pkgs/applications/networking/cluster/terragrunt/deps.nix
index d903863118cc..573f5acbd6ec 100644
--- a/pkgs/applications/networking/cluster/terragrunt/deps.nix
+++ b/pkgs/applications/networking/cluster/terragrunt/deps.nix
@@ -5,8 +5,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/aws/aws-sdk-go";
-      rev = "5e1afe1c0a077fb2da9b5f74232b790d99397ce8";
-      sha256 = "073yx5acqybw0h2zshg209wmldm0g5h5x9bhbn6h08ak0r4i80al";
+      rev = "4590e9b51cd6698144a025a75608fa7a90752d5d";
+      sha256 = "13hczsimaanfmbhj8aki8zib7fi161f7p7cjm7z9x8hwwa9q4nld";
+    };
+  }
+  {
+    goPackagePath = "github.com/bgentry/go-netrc";
+    fetch = {
+      type = "git";
+      url = "https://github.com/bgentry/go-netrc";
+      rev = "9fd32a8b3d3d3f9d43c341bfe098430e07609480";
+      sha256 = "0dn2h8avgavqdzdqnph8bkhj35bx0wssczry1zdczr22xv650g1l";
     };
   }
   {
@@ -19,12 +28,30 @@
     };
   }
   {
+    goPackagePath = "github.com/hashicorp/go-getter";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-getter";
+      rev = "cc80f38c726badeae53775d179755e1c4953d6cf";
+      sha256 = "1xbflbgg3gfh3zy5ibfzxv4gbzg62rkzr4l2i9igvz8m7sxgyy1f";
+    };
+  }
+  {
+    goPackagePath = "github.com/hashicorp/go-version";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/go-version";
+      rev = "03c5bf6be031b6dd45afec16b1cf94fc8938bc77";
+      sha256 = "0sjq57gpfznaqdrbyb2p0bn90g9h661cvr0jrk6ngags4pbw14ik";
+    };
+  }
+  {
     goPackagePath = "github.com/hashicorp/hcl";
     fetch = {
       type = "git";
       url = "https://github.com/hashicorp/hcl";
-      rev = "eb6f65b2d77ed5078887f960ff570fbddbbeb49d";
-      sha256 = "1wx6hpxmq5sby54025j9hliz10gv5v0bq6q1z2cd0asznj154ij1";
+      rev = "372e8ddaa16fd67e371e9323807d056b799360af";
+      sha256 = "1hv8p1858k1b99p3yc2jj6h77bl0iv9ziyzyp4w3xlcci2s13hnr";
     };
   }
   {
@@ -32,8 +59,17 @@
     fetch = {
       type = "git";
       url = "https://github.com/mattn/go-zglob";
-      rev = "1783ae1a9f7ff3a79240e8c249d8b575d70a6528";
-      sha256 = "0g4ih6swqpq0bqwsv5mv8ymicgr92xh9i6sm1793lqwb63x8ga1x";
+      rev = "95345c4e1c0ebc9d16a3284177f09360f4d20fab";
+      sha256 = "012hrd67v4gp3b621rykg2kp6a7iq4dr585qavragbif0z1whckx";
+    };
+  }
+  {
+    goPackagePath = "github.com/mitchellh/go-homedir";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mitchellh/go-homedir";
+      rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
+      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
     };
   }
   {
@@ -41,8 +77,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/mitchellh/mapstructure";
-      rev = "bfdb1a85537d60bc7e954e600c250219ea497417";
-      sha256 = "141kkh801jyp1r6hba14krydqg1iivp13j12is70j0g05z9fbji8";
+      rev = "db1efb556f84b25a0a13a04aad883943538ad2e0";
+      sha256 = "1pl1rwc9q3kz0banwi493cyhmn5mlc4mb97sx68jkdz6pck7fy0h";
     };
   }
   {
@@ -50,8 +86,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/stretchr/testify";
-      rev = "2402e8e7a02fc811447d11f881aa9746cdc57983";
-      sha256 = "01qaz781cvrv3h1428xqq8knf5ahdcj93m5k9dnivg2hcrlnqibj";
+      rev = "4d4bfba8f1d1027c4fdbe371823030df51419987";
+      sha256 = "1d3yz1d2s88byjzmn60jbi1m9s552f7ghzbzik97fbph37i8yjhp";
     };
   }
   {
@@ -59,8 +95,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/urfave/cli";
-      rev = "8ef3805c9de2519805c3f060524b695bba2cd715";
-      sha256 = "0680rd87skmz8p8s3cwy55siz4bgjls314agfi03d7640gz7mp24";
+      rev = "347a9884a87374d000eec7e6445a34487c1f4a2b";
+      sha256 = "0wii48b2g5dyp6bknnlgs3ln93qxz5jvi96420wnpkkz51nrcmbp";
     };
   }
 ]
diff --git a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
index 5e5c2fe8eed6..9bed654b9b38 100644
--- a/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
+++ b/pkgs/applications/networking/instant-messengers/scudcloud/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchgit, python3Packages }:
 
 python3Packages.buildPythonPackage {
-  name = "scudcloud-1.38";
+  name = "scudcloud-1.40";
 
   # Branch 254-port-to-qt5
-  # https://github.com/raelgc/scudcloud/commit/6bcd877daea3d679cd5fd2c946c2d933940c48d9
+  # https://github.com/raelgc/scudcloud/commit/43ddc87f123a641b1fa78ace0bab159b05d34b65
   src = fetchgit {
       url = https://github.com/raelgc/scudcloud/;
-      rev = "6bcd877daea3d679cd5fd2c946c2d933940c48d9";
-      sha256 = "1884svz6m5vl06d0yac5zjb2phxwg6bjva72y15fw4larkjnh72s";
+      rev = "43ddc87f123a641b1fa78ace0bab159b05d34b65";
+      sha256 = "1lh9naf9xfrmj1pj7p8bd3fz7vy3gap6cvda4silk4b6ylyqa8vj";
   };
 
   propagatedBuildInputs = with python3Packages; [ pyqt5 dbus-python ];
diff --git a/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
new file mode 100644
index 000000000000..17d66ba60439
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/notmuch/muchsync.nix
@@ -0,0 +1,21 @@
+{ stdenv, fetchurl
+, notmuch, openssl, pkgconfig, sqlite, xapian
+}:
+stdenv.mkDerivation rec {
+  version = "2";
+  name = "muchsync-${version}";
+  passthru = {
+    inherit version;
+  };
+  src = fetchurl {
+    url = "http://www.muchsync.org/src/${name}.tar.gz";
+    sha256 = "1dqp23a043kkzl0g2f4j3m7r7lg303gz7a0fsj0dm5ag3kpvp5f1";
+  };
+  buildInputs = [ notmuch openssl pkgconfig sqlite xapian ];
+  meta = {
+    description = "Synchronize maildirs and notmuch databases";
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ ocharles ];
+    license = stdenv.lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
index 12315a7ce123..556101f6f952 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/sources.nix
@@ -1,585 +1,585 @@
 {
-  version = "45.7.0";
+  version = "45.7.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ar/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ar/thunderbird-45.7.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "5e971fbaebf1e827da0f257277f7589777f426da8ce5465bfc2e5ca935cbe3b573562a94671f5b90b1005447169000b14c422aafdba68ceb7b48c7c1cc529fb0";
+      sha512 = "e1c0092e9068c5b687443c66e51d0a66821b509d554ae49563ceb5ca7f9f1429b47b084d39d9b8c7726aad79d61ad09b3b256118560b77ae9a179152d4914147";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ast/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ast/thunderbird-45.7.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "9ae45c5ff83dab4b4da3849d147546e8265718e568a82a14ec111128ac97b606dc122962954e8f2650e29f7bd7335508eebf30b3245165ac5563ccbe9960dffb";
+      sha512 = "0dfa480291f654fcd3af50711b3634202b81e9661a037a98d1e32e7b51bdc0395331fa99d8806a49873f23a02be95a383bfbdf001f905eac42d9b132d1e170ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/be/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/be/thunderbird-45.7.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "6aa812541b2db739e2afabfbc00e3de8c068460b9689490adfb0306b54914efee6a3fe1854f1c5e18eaf266220c1c3b7291e4da0d3f8cf0f7d651a0ef83ea8eb";
+      sha512 = "fd705a8bdbe5bb6e8c7e120495021b538f75ca8d5c485d9d224392808c5397e149004c2262e2dbf982d5248a7ab036ed82980665be7628cf87e789b5d4ed4e19";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/bg/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bg/thunderbird-45.7.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "54d657278863d8b8030119fd1a31656c822e4c12eaa607ee3b61dac2ac24ed11069e913f3d6b1c868a040bfb610d79133e3bfc509937fe742f23d1d5c8be0480";
+      sha512 = "f6ceb36dfd93e10b29a8d5322604c1fe17d1ef96113e79bd3c5a0f9912b4a77f8a182f676919ad5a58c15ef9555fc2ab07d8c2f375654057cdf2efc0be9a1ea1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/bn-BD/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/bn-BD/thunderbird-45.7.1.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "45ba00305d7ee59d4d33c73f1dd6bdd6e49f74e7bc41092fc3216f09e36987a0f7a5aed42788a2c4873eee9121267d7206813066b1b63d3a8b6953cdaad62882";
+      sha512 = "d3dfebeb5d6a301449130c94c7cbdea50e8c29c2571b408d89b3a632a164056605bc0e15dc2957f677d639ca9712088d94c62d26c0b2ade4faadb159978519c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/br/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/br/thunderbird-45.7.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "277660c584fe60336a3333fedb181713e8eb5a9ede4844238a61748a279c68d5768d96fbaa93b9c6132af5a37fdd38650e0c91579a6b17a3501caf213054426b";
+      sha512 = "1de73392b72d595504314e36c2c8cda7ee781a246dab443ba8f1cf46027c40a85a1e7a8626bfc46901940a08d89de69c2779a0702e5271da3f703aa299ae4767";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ca/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ca/thunderbird-45.7.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "c9e69470dec521144fb96f99e9a22987f5e982b4e385ead271966e62e4c252d880aec2581e6f0692710cab8f9667c5c34f26c9cd86ccc84c7bf25b21abd4461f";
+      sha512 = "e481f63846a437dd1326820f455ec7c50ae56e638bc771814c4a53b5fcd7b397e0b6d7886965f4ebc94c15d33eeabb947c65a72ddad8ebd6a0549ec5df94be73";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/cs/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cs/thunderbird-45.7.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "0be3aac8ffd4d0ad3571740933c3da0e1cd47dbd7e555eca9862751da367f0128537fd190159c138bc5f713fb282189d23220b45ada59de8ead59711566e7b8d";
+      sha512 = "148114a531d1dd467fa59690836dee75e2640dca5b448175424d56224867676990561693e12faef7ea53b0e0a87cb039a5f7b35432901703f135cfb99f48e53f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/cy/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/cy/thunderbird-45.7.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "a36b500385a55756686e5d3378ae1b84df4d438507bbf0c84fbdb6e2a3942e2eb032b37f004fbb70d2ce00b495082534ffae670811b1b0ff82bf33b88d3481c6";
+      sha512 = "6ee390cc87fc717cb1e413e5e2b46eb1f7335f617877f9c190075f808f9e0f7d21f59a41a651f2bce14323a46994c499056c6ba3308dfc28a2733f125e200a0e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/da/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/da/thunderbird-45.7.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "f704327994b2ab085fddf9749dd440062ee8e2d5a9aedb2fd6b4c80bad6fc2ece620ed7794f14b8f55b4e1c358178f6b11d61086e0535b077a770573942f3c33";
+      sha512 = "1246c3338ec1c66ec0631cd3dd2e2ddfa2f55eaac2ebf36d6fc78a58cdafe15b5bb02c542447fa7aeac56eb9dce2501951b998c605844ce37fe8bb4868c100c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/de/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/de/thunderbird-45.7.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "cae4b36fca75a9246a91cd0a26248ac2d9d4f1be93eb4ae7b172a9ee66efab17d023a8008e318c0db1b1fe227fd0085def6441a8e16e2fb284198805754aca7f";
+      sha512 = "ba651c2f07eceb4c20a9997bd518c322b025467e3474a56c17e1c35ea9dab7c3ac08295f573cdb7c4967e531dfcaa76facf4185ecc12a66436690817c73c0454";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/dsb/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/dsb/thunderbird-45.7.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5fb46ea74aecac2ea56ad2cf10b00098d144be99d841648cd76baaaba6e26709f4f470d58a22465a3a62dbc4578c8001afe857a4e9536b30bb50d0fa942a25bb";
+      sha512 = "5fcbb029e59b50e3c8762acdcb561f3541a1056bd467f2830b316ef39b9f55f88797693ef4c281d8411c678bfbe86abde74483f0b9418e185fe80463487da489";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/el/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/el/thunderbird-45.7.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "33fbac5d0cd9348d2e1a5ff239770d058cd29382abebe394756088ff0610e7fce00021ce0f62d81570c557451dcc5352d0c9644f83c08c0f24a496c60194ecc1";
+      sha512 = "36fa1fe8d3b52ee95275acfcda8eeda175f9ff5d44b7fcd0e33df2a27fd4c815d79b647265e9c32bfdcd9f1900bc98195bee6de5e580abb452ca47003a438b40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/en-GB/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-GB/thunderbird-45.7.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "f763c506aa22cb40a9c991a17ca6bdf5e7451a4b727733c54e58aaca2f1945ad008ffb51665f4d960d70189e5008853fbe0308382c8c9300b3156b143fca2375";
+      sha512 = "15973247dab22789b8c63f5617fd1d85aa2a889e78d1bfd8ade002d769bf81857cf7d84c6302c168c5923ccdd08ea561df4fca1f17f0fe3337608af161c6e86e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/en-US/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/en-US/thunderbird-45.7.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "c186bb0d52eeb8ad87b26871257a9ac6a29cb418ff9956e81804ebd1f557d28f31d99124c530f141b612594dd149996c6258d11953698e5e9083bd1b7c7ebdc3";
+      sha512 = "4acce7404bad1bef72d1ba0630a6d9e7678716121b5520d399c3e47096a5b82c03b797a3680428d1c8447121d403de227d7f327001a27092db8df438f1d88d18";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/es-AR/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-AR/thunderbird-45.7.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "5aeadcfb8417898367f192f09c1a12595e772d72f66fefb54510ea447942b1a715bd619224dab0047d218bf35e6b7a88562d7bf45f4bfede3f94d189af209e0b";
+      sha512 = "68e7e8b134d6b3a6b44ecf9deaaa4fe58a2ba2324621722300eb39c74f6d4801edb7532ff81a2a22f473b55d227caefce4e5460b9527fee2bc7e9b765b4a66e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/es-ES/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/es-ES/thunderbird-45.7.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "d4762f067f645489147cb53c5fa1e6eb7e2f6df7bfb541b824988a8e918df289498e27af70407a1537b28dfa40d0483a0da08fe757839e3bea2d958e2d9ea7c4";
+      sha512 = "80517102d930a0613254f5f2ebbccfadc27606664e957b217e899b2d519f1a7fd189caa17756ae9849f870b97ed8a589c327d3239d2312368a94583434a31bf9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/et/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/et/thunderbird-45.7.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "c4b2f7f2b13ea7fb5a14e5ae2e258962f8f3a269d3d35987d37015d72d42d196e6581928f6cb4f5300036c58d4e6ab69b085588164e6b516a778b0f5c789f22a";
+      sha512 = "3399aaf7a8eb812b4ed4c56e8e6619c9e7018e552bc810f9a20773854cdaaa3a4382754fafde2809bb945885059c1613e3832071bdc55d32816aac49e38acc9e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/eu/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/eu/thunderbird-45.7.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "d38a6bf51d9b8b8c15a709bd8618cf71cee799afea3466f0d197a8c4a1b9b8c4dc60da1b43f398619fe3a73b8444429cdd48af8065bd3a34f91f271d78169ea0";
+      sha512 = "4b7ace6485b3d9f14a924a9827226c3337f4b95107b94e51925524aea6eff2d446868f7a7f350c22ef7dec0c3c04c0fbb79f9eac9c1db0070195ce402559b3c6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fi/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fi/thunderbird-45.7.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "087b9b6b500ecb674b013a8f9fd050cd7694c6e07f90de8e421ac46558afb5b73640d293c155c200f06df3e1dc40adb8d2f2b2f28d30aa83cc888c5f7097f8e1";
+      sha512 = "42330fa494ff9e09ddddaa5828fd6e984f4e016d45f90638a72d958f1d0d52458c4d66492c4bf3a9a57fad32ebb24ecd4d43efc51795f738f50d7385b3090015";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fr/thunderbird-45.7.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "50824c56fbcd2d164f891a749114b3401e01845b0118b007528542f82884a832ef1cd5fa72b41cf878de80a1f220e453cd26356375275b72b8b7e14dbb94abd9";
+      sha512 = "53696b4b77c2dfc4eeb03059429dbf38dc31910664ef7638ce291adee5d9e0bcfb1b8a19524a96fed02594b664d125e9c4791aac674c03e9dbb272544f429cb1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/fy-NL/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/fy-NL/thunderbird-45.7.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "5e32fb0c933a9b5dfd4557a16b41bd8fd17f734b66b887a10780e7a3c5658383450fd63c42f693ed095056fcbdd45e7b2fc2bd7a919225b8dd8152c0620b93df";
+      sha512 = "2c8a487a2a77451d2d4c239a16cdf114e1d9ef37d7c0a1f2dd2e3e9ba6270004e39fc38828b363805ac530b2f6cd3016594dfcccf2db37525f9700866d6a513f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ga-IE/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ga-IE/thunderbird-45.7.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "747c305440e3fbacd96dbd1aba42fc85d302171220eca94bb46930f618404ec152de5a1bc130fd7033098d7f9401fc945df51c8215a49e7ba1d6fedc22679d81";
+      sha512 = "127d0cfc24b8e3e00aedee39aa400af198c7e48239fce97dde27416ac517108957d5f18735e5106eaba0433321f406ca9c82d774a83f1e58dc297b80e55a33dd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/gd/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gd/thunderbird-45.7.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "6e661d5c2b6a531dd4600ac55c65d895e176477a85a0311697e1a14d3888da2de40d03701e4f447898e4119c210bb64d90ef2a3f1d131540ae521cf4448bfb7f";
+      sha512 = "48dca91d52b3f71a76c3a08003247bcfe498342b3e2e6158f58087251a9248959d17a7c91437475892a5b5124d9a76a1f0cc99c118e34c763ae4227fc4776dd9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/gl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/gl/thunderbird-45.7.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "9da68b8ea5125f94c22ef74bad14ce2f624e59521e62b778884fa68740a2bcc632b80d83a3e85011bbcdc76bac7cebe7853f22ad6bf7c9642878a089dbd034fb";
+      sha512 = "92993f4090d641ee6573ec08c9ed25d3126e0e9796568aaa77296e859fd70069ce0f63f017fc08a3e01d65dd9864063f8ec089ee8e43197d511358b53259fb76";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/he/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/he/thunderbird-45.7.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "cc9e36346cc7b0b18afaf23e7637d51e2232db028f9b9d5c708a1bb4ba0cd62638343fae5dd414098c6755782a2e8e9ac4731e38746574610edbad94acb65bad";
+      sha512 = "c7e78d6aa2920fa81820b54a3f1047d42089e65fcc424ff663ef287cf581aec7b11fec33c309c88ae5986c9a78d3967dbc3cccd6efadbacfb145e36d2409e514";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hr/thunderbird-45.7.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "0f68a4059b2053319cdf0fe335f782d9a53e392c5d1c471326cdc47f2f779dcce75e4882e6c9e339cf6d0589f084ab54d9ef5d4c4df193c96a7f476cd0c5f9ef";
+      sha512 = "0160db00133e4564b9ca0ddcb2771abd343bd3cef1bfc09303805bc0aaa01a5cbeeb6a23effd2e8256ae5457a2fddc149156d1702705531c728134845945dc56";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hsb/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hsb/thunderbird-45.7.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "f6077a9c5b91f5688d2f71201064015d87bf38bc34d9f556ee1037650815c05e71a2cfc0d67736c308fdb6b5217f0fec56fbfc5a7044940f06c809579a80610e";
+      sha512 = "012f4544e60f7a917ffd49fd6668da548e6e44ce666a86f61cc0e36e53806db16496824bd20b253d079e27d5601ddb6cc1ee290c600e116c922bb842a2232294";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hu/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hu/thunderbird-45.7.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "958d7b9d82fc4ecbd0387df0bf2c95d27fde530b28519a5c7e6795f0e62ec0fcdc77bcf526342d5e13df993236daa2576f205c8333705adc2be35f156d5b9176";
+      sha512 = "ff13587b1098f0d503c6f3b81c2a9f3c075d192517e0dee6d9fe324927a6dce8686d989a34c3d36cff7a8e2bd6a074aee5fc96f7527ec3fd78cc0c96f4279b2c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/hy-AM/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/hy-AM/thunderbird-45.7.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "2415b150651c0a6f173238180973a6ec1615e67fbb7fb7aa4d2d3d773e14c0584ca2c8ac268fb8c6597c1985fc91db741d6a842e17b47f4841cd50a13cb7896b";
+      sha512 = "84f3ca15346c821dcb9efdcfbc2b599a68b608cf8dc28145e0aac80babcf3b82da456a0816f2e31ed47b19c47f3afa9a265f864de6662fdd4fa8586d520ea025";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/id/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/id/thunderbird-45.7.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "3a682b3a4dc497244446674c98e588ed0f8f5e835eef00d9530e78d84a62e43ad849b807b8d6a9086ed20347b874da2ae486769e451ec19525e8e34004a34727";
+      sha512 = "2310cca9ced00d10b932eb6d27797b53e427f997671b836a5d03bc3f263fd469ea3dc5a2ba35a71da6b73e4dec83c60fc31203329562d6250ec573a38c55f115";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/is/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/is/thunderbird-45.7.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "9fd5b5a7d606913ab9697754093e21daefbb70baf515200bb3b8400f6eed2cce39b1415ef6f4ddb195c40bdd7deb9ed8c863c5d3c2ba4b8d4e3714f62ead7fc5";
+      sha512 = "710f180201035cde81d8e07cbc7e9e83289a160f6679393d2dd70c48c92f5b3568c0f7290e18613945abee052433f31c2b3b11019cb95cb8f6b23f04e985741d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/it/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/it/thunderbird-45.7.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "0d05dca4e136b3aac77af366f3356a5af32c0f46589a6303eafdf63f0e8128fd9c4f80232852ff91ab1f0a4e06e27daa70fbff640e3f6a30c0a31dae280b0cf1";
+      sha512 = "d5596d86c425f2d1251947a6d66558d87ec22a20490db23c267c514b98ddb9acebc30180c6c29a242ead4bf079fb8e9bc35414210c1d294dc735923f0ab29d3d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ja/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ja/thunderbird-45.7.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "ffe36363f9958132c8a4263f985ae3d5ab349fc7247cd3521a2ea613fb3dfea420d36af8e650d024d9db39b89b225751bccd0efc8e2e4d4c91bd8786657dc0db";
+      sha512 = "954e41ec6842e4ea40c84354a3499085d5fa754c0a8fe581fd0e1ddafb84c218b0afc6b84d6b89448573372ca8170563f4732eb0e00388d5daf918fc9eccab5b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ko/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ko/thunderbird-45.7.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "9d91b3df05ba7d55428cd3854a70a28e42d7d51a227d239a29c5d9efb11f8d0eaaf812bc71940d33875bb7bfed9699a9131874af8ee49e4504cb996c0c3571d7";
+      sha512 = "3b48ec21a87f4763e95a045f273b3077cc0f73f0cd79d0fd341bab93308ca6aa122aa1b6fe60cd9857e2af30f8b868a1ce56ca5e2418235b9207c33339abe66b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/lt/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/lt/thunderbird-45.7.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "3b5aa45b9e893b784a192961c40c4c29dc3bba641b13b9aaaf0fc67b8d7b5aa3b404700c63fdf3f7bdeadaaae89495b1e37e274fb686a46b654113308dafaae5";
+      sha512 = "e314d8aebc993a9471610d885736e50a174905cdd862eacb3cc08516fda8538cd86afbe62744a7a28947f289cd9d3847436ac4be6966097c4e2d81f74bb3aa19";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nb-NO/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nb-NO/thunderbird-45.7.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "1959225b4fb510cc414b57934728c75e91bbd9d105ce0cfc7784167c4f30676adb59302e9252475c758dec08618df733f8873378a0d0ca3db4dd51b9c469c424";
+      sha512 = "2d14dad1eedc2b5043adca4d8ae9ddfa7bd7c4d9c246fb5abaf552f2bd1a27cd7d64638291a82391ceb84ba83c6c4f22f9ae09c7efc1c2530cfe986654b8b27e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nl/thunderbird-45.7.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "c4c32627de1e70a9934178bbf05298ccd22194269dfd82907919b91edbbd9ee177c3cbb821e8c62d6aa6fd67207ecab633e80cadfa85bf1fed8d67a508e1da42";
+      sha512 = "fcde3900e201175fb9071b553f26dc49cad67888137df2e6ca4c7a85ffcf85aa23ca331bd4e5a3430b20615b2dbfae1ca4fe59833cd9d303f7ea6f8b73f42f64";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/nn-NO/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/nn-NO/thunderbird-45.7.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "3ca25a101458c38677eac0998a3d88097d9a56214e2cfb47113ea250e2aa504ad0f2f9f97b94644c39a8079a0ef57ba3a6d89298180f16c26f0e253b25338a57";
+      sha512 = "a3e41f8fe0486a691c413104fe89009db9e4709821bac4a7062a78a6a30b083fed5a522c6d5b7c004e0e9b2131aa4bdbae85e8dae3300d2f81fd875981d79b44";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pa-IN/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pa-IN/thunderbird-45.7.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "8ff5831dad507d975946f30b28c757e3dbab3b48c410df24b9a18e2b01cdc0813640f75603e14a5fadf7f449657b5dbe580cbec2f93f1c010d252c491510588f";
+      sha512 = "841cf7f21b436d1194c4082ec0fd0067bed7ae625299b8f07f535708005ea3a7c217f4a6d3acd8b392e620ebdd15447f62f969c4e0c8e40e69f77c3b89402517";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pl/thunderbird-45.7.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "b50a227c15ef35067baa3ce95fe0fc8e6f5cc2d90abd14f3d783198573de530bf0d86b216cb065b73ab540f213cd2a896beb8335a7d5cce150110d3e23e5846b";
+      sha512 = "026002b4161801b9ba44442ac2b54f0897b6fd3dea3c6819a16c5b886c829308558917470e87eba1e7bfa9adf6d5a33dcce4645f24cec8b8cf7ef4773d924e65";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pt-BR/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-BR/thunderbird-45.7.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "f286dfb2dca8b69569059c39eba7dd2d78037440f64687fb7543f2209d54e5b68884da910a91f87f0f16ba0516d78da65835f56d94a3ccd89644aaee83e0d562";
+      sha512 = "7b78eed009541c2b5e99fac1c6267f42511feab8cd26b8c6cd758c8cc4fade84195da5b4ed1dd44ba078c3ae6a3d2aeed0bdd04e37a48f585938765a7e14021e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/pt-PT/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/pt-PT/thunderbird-45.7.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "49a74c9068102b510995c1634e9a3084216caeb8995b07ad287fe0239040e9a63aa1f3800870912212cf5b94dcbd6672ad96154dc19589804f63eab8f9e0213f";
+      sha512 = "15f5f46ad34ab5506d462c68ae5a2c0ab1548b8588ac877863ca73c97166d10ed26a6af32c9f0f57bb94da7b0c025813585a17e52dd3238b49344995905bb705";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/rm/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/rm/thunderbird-45.7.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "c17bade5200a48d8aae39b6084768065709e45d3eb29054c507d038d88d3f2ab4ee0ec4fec111b20c5acec341817fd1ac52babcf581b985d0e28e8e2a35e1934";
+      sha512 = "d0e70c192fdd0cc440f81173b13a09e6916355c2f65292c234e1da288e9a54ff1696e20c3a04f3a18fdb664d0fd76d8c477c7b19b0368a1d5dd889a5bfdf8f49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ro/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ro/thunderbird-45.7.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "f146430b29fd011df252a077bb283221b3af1ce7dea1f482f807624326909a98e9dc18debaa184b3704554fda591961b70c5f09748c8d523e309dccc08c790e8";
+      sha512 = "0bd336fa6f8e1f22e8d9f8e10071518a91922d9f8b75d4e462cda1ff9a7e6a744a4d8b4412dd3d1f5617553cea67bf73599b5023dd205437ff3aa26854916e24";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ru/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ru/thunderbird-45.7.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "3794c474c09e20c9c58359a005377fa7a2336c72399b7149191c54dc824031377470b8b105d731380efc3a89f73c7befa18a443210affc3d8062943d8db9f544";
+      sha512 = "61a02467ee16e6a14b535be1b4a3ce2fa3a6bc6a61c2804e234242758361182df976f7edd0c8080637f3403436b018946c28668da09ecb9322c0eaa5fe395ba1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/si/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/si/thunderbird-45.7.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "a06ad8b09784b1dc291a3196765f98b89ca66b1c68b1546b3cb71864c73339063af62e8f06ec3518c6508cb54dc2f3cc93b50906a3ff9cba88809ee9b18c731e";
+      sha512 = "823e069b47f42c35c194bbfae832f71203e78f14057223bc569d8a18bc631d2d5bfdc3dfe5cb18c0bbae561b39023cb43dc26bf841a0e20e53bf336128bc1210";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sk/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sk/thunderbird-45.7.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "6f4a883e1da1dc3902e0230c2105eda528e882caeaac0762c8a7bcd5e9c63e003bb803f921af2e7f9c7a21f34fbbb3558222d8e018f083553d5f532b915896c7";
+      sha512 = "c3bf6785424419f7a1240c2069abafcd1275dfdf8908fe2e80dbd395176328e7c8c0c2cad9ce7ef46a605bae9e153e6c98fa696145fe7a186e30c7a2b147dde2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sl/thunderbird-45.7.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "328199364bcbf2816fce38597fe8554dc0ddf31cc1ab027c5b7e1a490d7261e4c440938ede308e7aabfa3a05f9b7ba9880209eaeab306022e4b46fd0eeef5b94";
+      sha512 = "bbf63ca0e0992c5102b047c5e41dd9a2dd04d38bcbb983393345a54679ddf100496082804d17c088f6dbb76bcaf1d9be39f0e45d1e1cb0abc33fef98a79bde7c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sq/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sq/thunderbird-45.7.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "a04e1b5d44fdaaec2ddc49d531eef3c7bb84347533f84e0974a243a5b3b90ba8acee63080ba191b5404432e4ec597ced4cd69d674d1ec50e21825ff79fbe7af1";
+      sha512 = "68f2977a84aa0a1fc94b19a3504733cb4168d5835244482e775b0200cc0e17a548cb3f4e29d81edffb9172d3faced2a8d459709ddb90e1957c6c05ff792ce05d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sr/thunderbird-45.7.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "f9439cb927e37769e3da2e511865114d9cb76d2a8de6de4b83f240606609501090fa8f0348c515aebe97d7214842c2731de24f3881baa32fc04b0d2779711704";
+      sha512 = "d0de9ea4f4cfb619d37b957b4260477522ae1c2df9af19e6001672f7f693015c09e8e74ff0278d0107abbb0483de0c9f6d251efaa3d9175947beb8c156145ae8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/sv-SE/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/sv-SE/thunderbird-45.7.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "db3c318588b029cac92b0d4f85da41aa09538e1c8941719fa2a87302d5d025e83c08a86ce720417b1dd8810b7284c1ff913bf299791c60b5babc1a81e7cbfdc4";
+      sha512 = "db4af37830a458808b9450b414b7e25aede621c602b344cfbb62f00fb610747ee48fe3a7aceb1a58c0b1fc397415ea7a9e0888e0cbd7116922f2bc28d09c6426";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/ta-LK/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/ta-LK/thunderbird-45.7.1.tar.bz2";
       locale = "ta-LK";
       arch = "linux-x86_64";
-      sha512 = "976fa4171b0f7f085cb5d5d5ca23cc009c26bde5bedc4c8ebd76e30d6dc75b19ba3022167639b4df03d85865f2c9e1725a70e2badae644622a233a1d74a3a989";
+      sha512 = "1db6844293dce004878176cb76df68e7c7b3fd1147b4e78bf647d155d1a7efe01e5126c088c96d26f78dd2c9de98e0703b7eedef1f2de1584a0cb835f9123c1b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/tr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/tr/thunderbird-45.7.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "fd336f9880d03cf276d8749afbd605452344d3e7966a260e81020f59eb30166f10ba0d2bc17ff0e635a5cb1d15dad46cae36629526cc3383827ca162743c3642";
+      sha512 = "f05b1f63839a9d38431b9c1bce8a2f31ad242edc4df5b327f9f0a562dca1f94a9f3947ba55a517cca5dab9a96fc44b938496bf72086f1dd8d1399aa3170167a1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/uk/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/uk/thunderbird-45.7.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "3f9ae50655d274ed6a7022a2af0f9f403a835dd3d76027f176ddfddf4fc3095b1e5951cbdf043e449a34b387b7ad446740a01c2867573064039e3a1b34f7f66b";
+      sha512 = "303d6b4ea136dba2217301f6c42bd91e45ff635ffa1ab38ec0633d963a1bafc1625475bbd24383e5b9dcf233a19ab0a712e70891614e14207b651c4e65016456";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/vi/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/vi/thunderbird-45.7.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "82fccaecc5e654f4d49292bc8d45d7b27aed13a63df0cfd7eccd8b06131f5cb3053d1e3dda5e6cbeedfa6df275833fa38860c0ddb6cf59402b2e4c3aea208cad";
+      sha512 = "3f712c97073ff191bf2e16d61877711ca4faac204e85b2394015d53a4f600a3c0fa352787ccddf863379ebefce4020b3526f957f2556620e4632bcb20204421c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/zh-CN/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-CN/thunderbird-45.7.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "d4d35875d1c0edc2d67cccf9804b5dbe66f4808155933515fa6c532f657856bde441c3bf1af9553d4417e4858ca64db112d4d9fbdbd1151cd22d38da09b7a895";
+      sha512 = "d986a5e9a60512ca4d398fc4fb503aa7980947eee68dfcd5c4a73bcc8b324c20c6a3be66855eece6d0d77019e6b22d8ae220058948488d197063f55a291a8865";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-x86_64/zh-TW/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-x86_64/zh-TW/thunderbird-45.7.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "0d7986de773742dbab8210aa97cf6c7d80b792cfae192a06a3cf1c0b39436431ce174c3b97c5421879eb261960bb5eeb52c8b22abcba208b531fd45896ba9124";
+      sha512 = "7dee7ced1c48aa6019eb80c66d2c68af9b5afe89ba3c147bd83e78532fab84fbdba8afce934ef8bb55a82837b84475797cad25710001e22fa522823bc60d6a96";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ar/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ar/thunderbird-45.7.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "8ff8bb47f0a845139f813df40d021a215e498c38149b53f57094b4ee20484f4a0ad668337b6dc79ad8e84d6a6a9b9a99de6fed57accdf5b8dc123b0833961d0e";
+      sha512 = "0453a451bc0ef3704cf54121f7781f11c2a35c29fa407b36a1159bdb462daf35ac13da1cb0deca19b5b9456a4bc68c8bcfa12384dde82441a8e69c5376875d5a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ast/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ast/thunderbird-45.7.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "8968e2f4d61b4753c6e1cc07a0f61ad6fbe0d205b29b424bfeda4bcdc3b23d3458561eca7287dded12196c008b6ad699f680b61aaf6dd7f4ee6dd7e813b25ed3";
+      sha512 = "4bc10c64922604b95dfb310f0415a8e49552378c51025511265e7f1e7f2cf7bd8f9e9c6b3e45f8806f2df9fd02db451014cae4de7c2e5ce57e48dc1288cb30b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/be/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/be/thunderbird-45.7.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "2a3b2e5f101a6a69f425494934900d151545a026d8c77a4e08342d3816de5229802c834120e5a797b5691b55fb5e486d21b3dea189ce6ffb8e4323e0f2dc2051";
+      sha512 = "0fb8f8d0a2c7ea4455c0ff90b85e4ef6b0b6f8ccd08f9f9d4852743ebc1f6a6277011be82be979142097fe8cba853d244afad30749aaa423bd9ffcde9fc3a00a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/bg/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bg/thunderbird-45.7.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "09de26308307a0fc43dfde5a5033c737a79d76e80a4f5e457b87a8c8710dfe05acd1fd782e3b86872673c61b9d559162135b017a9f93dc3ef9d93c530b7f513b";
+      sha512 = "6d586700050d399e4058eb03931bc6915ec56a9270462a7a60846f66b884aea9627526b87b14a654166e30b8a1d43412ba8acfcb12ba4af8d3fd4fd15d4d7cbb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/bn-BD/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/bn-BD/thunderbird-45.7.1.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "040523cd6589834870b23de3660a81fd588e2d2ba8c727be6d19cf92ec0b669d79058a8139f0ca7a289493658324216f8fe3fcfeed2721fc54c7c3860bf1e0ef";
+      sha512 = "1cfa845129724a098cb913b3bcaf7174ab125321b35f58279ec9c11c04f7f991b37bb9000eeea4003cf033f6f0089992ebd0d7ebf1d6f8b4d7c558eb8c850d99";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/br/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/br/thunderbird-45.7.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "df02188626d3180ea0822756a116f1b6a4cee6178b0e0fc22bccc3970ea3aa5717b75cb5623f5dddadf354ac0c890acd4f13f434418b7431b944ccef2833aafa";
+      sha512 = "951631129aff5cbfc2695e1a5dddd88e855d57716ce335a15ae069b7bb4572d082495ddad9caea202c5d36f46f599cdcb8f028def63252f7888fb2ba24f4437f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ca/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ca/thunderbird-45.7.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "2ab3ff92c2899ca294631e9b0a2402080493f478affb40eee4aad7b001c7a7d8f8cc81b5659c16d7d134c8ecf6e8f1447fd6daccf7ff82b03f283be55638bde3";
+      sha512 = "cae03ff18fb33f6d097836e5e7f5884f64e7c594eaaf77cb3a0e1f46214b878ef2de51c750bf1f849f5cfddc68da21c3fb72927ddf6824a89ae51e44378123fc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/cs/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cs/thunderbird-45.7.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "7ba56912a4ce6e87b6e4a1303f254608960aa2a156e7d246230e4dbaaf50f083b9f4afc52e89966caea6fd64eefe3dc9bbcdfccd1c0e65910efc49e44bfd5a76";
+      sha512 = "ea9ec870c91cc2eaab758a3585e20779d24734e62c285f1f591646f9aba92e33c6a7966b0b1e484f28ba0a2f40d74f918dc899c87518f052b793fb5d1cc867ce";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/cy/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/cy/thunderbird-45.7.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "f74b4829ada40e7b507012ae77cef420d3e8f77b41e8adee352dd1f91300f090e98dafc852f7983d04a8eea4ae90d1978301c39347aa75ad68eec42822a9c1fb";
+      sha512 = "082d8f2fa527a75b8a388f84085a709cde9d9c455aaa2615f35bad0eb6962de0af163d515e0481edcbba29fb858095aebb05c0a3f25f33e1e14f7136b83a73d9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/da/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/da/thunderbird-45.7.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "29139a2f285a684952a209e898e444af2290b32940de11f3a93db472985bab2071d813dd69e73df5422f8088772cf76591a792b567a957d9a36aba54102603d0";
+      sha512 = "9ccb84b78ec7fbef596b64e76fae50bbc8af63eb0c0d37c6f81e1353f3afc242c0e3be9495d4b0125fc0500e0b4569df3e00d5e302f93f7007bcdf3089cf0c22";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/de/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/de/thunderbird-45.7.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "5cf919f3ff9911068b57afe972539a5f5c35335cc1b2462437cd31767d2b949305d77f30a839e89421c60a92abe63be3b4805acc0c5c37eb4f95e3e465449fc9";
+      sha512 = "a493f5e2c4c787f7c8f15d1d2da6f457a52af3deee161d3d9c031525eff48d2aeb294b6745e3ada079026f727db06baaca943d0711aeedb8df5bcd37c3f13286";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/dsb/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/dsb/thunderbird-45.7.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "989afa417e7819de693327caf9c13a8e2704aef0627795807c715e0c4a2bde9f2a5c67ea13d0a541cee79d74643cec58c07d1a8121ebc86ecf1c4b121c10f777";
+      sha512 = "4d1e7a0bf3f55d913aaa47c37ed5529c59240168f2a53faa4367d3c47e900e136d25446b2b4e465d05b3857fdf3671e9bc7f98be6fe7b42c1ec926d0216d6022";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/el/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/el/thunderbird-45.7.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "20679e832ded809351203c788ec4e87a303ee6dfeb56b5bdeb6745a59d8ec3980e42356126ee20abdba35143fe7f7e24112aa6ddd9059c7fa9b1919b730c4f06";
+      sha512 = "145bf4a0db9b2fd3b16637fed966d6c0f0d184eeb7ce373024609b869219720f73feb0c10b13c761a4214a88d68ceeee234ac50694ac16599a92e2fe6ea61e4a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/en-GB/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-GB/thunderbird-45.7.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "44b92fd4895d25e43e4875f2f654886f2bfbe1d97643eec7da098bff9046ce61a2423a55557911dc1c02bbb49e44d907b31adcb3743804ef358ce38d86691b0d";
+      sha512 = "1d3deeccfbba4a871a54eb4ad6077be1cf2e6fc7adb0ad0c04b3638db3b7fb3cbf66b55737befaef034d0b1671e9a53bdadc8d9ee7b3b9eb33a7c64e53ce5b2e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/en-US/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/en-US/thunderbird-45.7.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "3aad942932385264efd5eec81aeda2bae552b281f89416a6228f9f3b6f7f58e927fdf46d8da0064e51a792d2e4deefecc17717422ee911691a2305d72fa8f913";
+      sha512 = "b1340885d6c92da79ad99f9f491ca1f15429aca73759d4e5055c212f33af96f7a7d4446eec6bc37ffcff4371213051188d7211c021da50f25b85fcf445ca58dc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/es-AR/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-AR/thunderbird-45.7.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "28bb08df80f60ea268b4d8706a61cc6ead17c059d2d05d3017e6199a4c5c73bbb63c3159d9f35656749b6c1990a4938ebb6b10c1d016504b3346fbf9b18b6182";
+      sha512 = "307473247bbcf0064380b4d9f9bb12ea796c32dfc012af2d4246466aab880dc040a92f06e0917acdf2f930a9df0cc0fce39b17e4ff710ea2311f4b2250b90f53";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/es-ES/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/es-ES/thunderbird-45.7.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "dff7c77e94b7ad138b153e9a83934da72a2f57db5c1a6404a0c47fc26c2ae241b5c65ac56f499e54f8cf488a9fc9d144194326afb710f959bafdd4b9c56a7348";
+      sha512 = "3245ee600a95e1f59e8e7aabb521be96d88c1e59ae5cd29cc78825ed2c8c2abd1135dce1c2272d1eef2716717719947ca4b223359e1c56df406569b55226de61";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/et/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/et/thunderbird-45.7.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "a3ec79f99783b5ae9ce6b3d690f959bbb80f0a41396bde676f9b1bf8a68e39200525a35c8932123906dfbd84df4b6de19e0a9f27c2d3883b2a3c71c1349e5969";
+      sha512 = "b1cd90842d3888e555799cef84bd2e8d3eeb0c73abd4af9bab2a9db2b24ee90770f39d1376e63df567f8ab63778f6cde305ea8ba2a070aad36d6809a676a2344";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/eu/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/eu/thunderbird-45.7.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "90255f58a358fa9e9b27d36b1b9b954d753ef584118f84405bf4b4d1dde4cf2a19c3dda91b30551f03b1d07c2f96c00f8ba72726fb2f4c325f7db82387fd45c2";
+      sha512 = "6278435a0f46cbd40514780beacda014c8528a79bb5d9be1366b0dd46dc71aa1f7a387311511e8d04cea3e78dd84157b97307df5bb69797b6d39cd299be18a33";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fi/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fi/thunderbird-45.7.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "d19f0a819a3b5b04038cfaf7adf3ec4da337789ad5fd809b27447427838140fffb35a5bab8a0e018d65fa467935fe691a578ce044eb57d746b4df48f879ac8c9";
+      sha512 = "000fbb4519ed626af2dfaec3d588f4ce567212b8a01c4aeae34b1f9e8ec6086ad45b90b57412fe830b8e236606d686e05c807e60bc2078df1364fd9f58d06d0e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fr/thunderbird-45.7.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "0e9204299add1f7ca774b59eae56d8a04c3a575894f9824d7d60c19769e2bd596def6537dd07cdc7e025ce2cf0220577864dd1f0701c2fdfb39c22e87ac03e83";
+      sha512 = "5120e880f297f8899ee6067660d65cf1ffd66d3ae6c16a888ab5e5e1b32f48a58aefef9a7023b1a8860987a5ca6399d69fd6df8e12838c00c305c3854c18582f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/fy-NL/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/fy-NL/thunderbird-45.7.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "d62bb3d3fab33aa5556d80ae7331771f8ae8efd389d301c98aab57debb6aec0765bca89bf254819e3b7bcdda392a12f27771e344b486027cb8faa5fc051f5a05";
+      sha512 = "2e3b2a7cdcd4e5bcae6e46f86c5a4956f164ec37f4cb657ac18c1233c5b36b8c0f041e6930ea15adbcd8269662f9315e2822a9ed43be38a5fae8b7c747812035";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ga-IE/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ga-IE/thunderbird-45.7.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "30248eb96c52255c476dc43aa5232a1185143d5fc56a246fd8d1219c573a63eee1a583d96d470b8bcfdfa1e48f6fa8e49c10c990ee75936078dc5ba2612af533";
+      sha512 = "b4567af9057eaffe812feb43fa195474094fe1c0d804eb79a9dc936b93662cdfafd1c1f4bba51adda57abed677473fe2bd5e5ce9523659c931035b617a1e3ad7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/gd/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gd/thunderbird-45.7.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "853cd5f940c155aaabea87b2436282ee9e60de0744aa28426ebe7d5d3a2cda653c88c9fd5c1cb335fe5e4447b8b4eee79674dc5bb18a113e665906e13a5faadf";
+      sha512 = "1200cfb333861d2bd5013cfa5c764f202b7a2febadff5f4c8c0bc648f744af19362b07147e720c06046d4ceae7fac186c5bc33c1b637104241493f960a5c307c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/gl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/gl/thunderbird-45.7.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "3505a993c4f0062be5108096c104e8d2c34bbd677036f3facbc9e71cdff66dcdfcf720b02065e03e18030f81c3571d8d971febdbc8e593ea7cb3b52d5cdfa969";
+      sha512 = "10ec0d042e14c80d65af5ce7a271844553e4bfb96f349a16d94c5caed3c33fa35fb2065ec99b2ae1dfb7b1e47059f6f3ce730d6d293efdd380862fe18b03c877";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/he/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/he/thunderbird-45.7.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "183c71c1b5745d27d6e5a2a9f6131e5a8da942fac1e3c4b1111973d0c22441a264119a088c7f3fa525dda31c40177c6017b7e67f9e518f851c41a16180b88533";
+      sha512 = "7d7edbf3fd840fcf80c3d3491fcf9cbeed923b597840bdc16e7e43097cd5843554030e2690ff178f10ad97b0f447760bd06da87b4cae545dfb32c3b0f4668b68";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hr/thunderbird-45.7.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "485aa2be69afc9fc9576ef03b19d33423c15667096b57c5b6b47ab303d0ea5376c1a01a1d92a4c679874bff109a6206c585adcc6f6ed954ce17343722d4ba7ab";
+      sha512 = "28a2e3e0dcabecced0a9b66a5e11434fcbabe11257508eb481513e56a82d13c5bf36e79d8174fcd0080b0b310df4ada6f92f3d24fb67658d40db66823d18e0a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hsb/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hsb/thunderbird-45.7.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "8bf706f4b5662e5febd4a23cd939af570e75fcee4f0af2304b7239349eb4ee40a361eaf5cb02d103db4cb80c5962d9a549b282d0692dfb335dd1d0206ef9d604";
+      sha512 = "760c99978bc2a326fa5e5d8f9b4a6fc9420a8a3c95251b42dc3db26bb399942a5fdd08f3eff3eaea9f3bc96ca85b0523abdae3f72b7400f8bed136e906a8e79f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hu/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hu/thunderbird-45.7.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "de6aa8dc185ba3fed516fa478dc9c66211f26bde7e21d6b2b86b19ad58e192ca4540bc0847fbd5d24c4f32602f05577cffd2c3046f5282afbe55432d2ef16bd2";
+      sha512 = "4118ae0a62d7c8c6e68f7468040361091f98197c8135ba88ba9165ff3c807ae3ec8ac7e587224e9f45cb49290abe7c85aa11518714440db0f797f426fb73b5d5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/hy-AM/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/hy-AM/thunderbird-45.7.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "2c9138c07246475d7fd9be05f631126f0051b2cb7ad688d6d4bc02254d5b9fce3eaebea7b8ff8df6e82d45211ca0279a03b8616d776dc30bc0a30f867ff01214";
+      sha512 = "664dade424cdca68158c98e531dc0b46ee5482f728b4f172684061da029c7dac76d80bcaa4c0228ff929a19e6bf11fd08890b3ed71fa6e23f442dba174de84da";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/id/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/id/thunderbird-45.7.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "2bed57e5998da429c80e2e04a4250c58bcdc17214a94a80d1d03bdefcbf7567bd65ac3ceb46f7b9d59ac37eec0bfe31f4050f02894be6828c2fc96488e4290f2";
+      sha512 = "58e48787ec26d8cfaa7be233055d95982d073ae8a1a01e4556d239e18598939ab6077f0aaa4b14051c6460730f89c1710a6dbb54ce5aaaa75967418f324073ab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/is/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/is/thunderbird-45.7.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "ba2e12db8b2ef82971762bb13e802bdf1e65252843687b40dee0455e6de46083220904cdf51c492ccdb13c7390b8692e5d4db7e4f170c88b545ee17e50710083";
+      sha512 = "77e95822a92855c41ed557574ab3f0e464d8be21146139a1cbff243ae76b035ae0912e92c07513d4c5fc9d522a2da1a738dc7ab790f9327ecc6d94c0d577a124";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/it/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/it/thunderbird-45.7.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "e1fbedc1c8eb67cb0528ffc8c103cf0606a43240471e920fdc3cec4c3cd0ac357878992ee67a2eff90f8abf5c6654a27f17dc37c69d0d828d3e9c3fd0345e34a";
+      sha512 = "835a2059b02ffd019fefa2988bc2f05f456e5fc8b05badc7f5477a6958ba8fac1bc3539cc66ce6eca73fe86b4c70a172b609fa365e83593ff97405e9bbb533cd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ja/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ja/thunderbird-45.7.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "2741dcc26e73c0ef5fee48b84b02c336310aa15004d4b7cc2781e80f045dd5ba5b21aacc9c90e223c22c4491914810c6df9435d025ea76929605fc6462f6713e";
+      sha512 = "11b6f0d2326bb89a6cf6d8452d2312eb8f7af616a0fcd43dd2b2263f52397c1c0a0a3ad7ceb67dd09b81a624adb95ed8a905bd7c9dba5f1d2a94114776257ff6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ko/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ko/thunderbird-45.7.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "5236c168604748c2a3edb8f0ffeedaa51792fceb61e4b5439932324c8bf94304ff65598655f2c6f66260c253563a381cf99ab5c07dce89a3728afef346e48e66";
+      sha512 = "69f804d87a17072803b6e081dedcea57d633036299eaee9599b7df83604dd599234236b5b5b647da25c066633ee481e196fe9b219bc3da29d07b6dd55fdbf4f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/lt/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/lt/thunderbird-45.7.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "2c919f8835753afcf6f9d7cb027c1df8e00f6d197a0fe26e3de7222bed2a54028843974cf2b0ec2d88a29e22e6ad84192b1ecc3057528647db8b7e9eb29f040c";
+      sha512 = "4534bc70c43b108e59d7e7c15cb53e32f54c20e0ad21a5c0e1d309b3fec32db870ab8cb268d59b8964c526c28382cd89753ccc978e34d0aedd5c87eeeb525a5e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nb-NO/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nb-NO/thunderbird-45.7.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "dbc4609240a5cf5e6db64360b386da196039fb6d7ac4517b8f5de5466dca830a06b284db2f7db7d4352f5cffe2122277e90b37b2a2533dd9a3a3ec1691c8824f";
+      sha512 = "13d4f6b638d6005ec854cac82b16c02dc347d0cd1eb804a056c106fb1031c11982973abbfbd319f4925264a1095cce8bede670f68c2efc9bd4be49ceb6b2f2a3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nl/thunderbird-45.7.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "b7f0517d2eda98ab6d6de52513eb7493231eb1e319862256798280c1fc924af8a0f3330bf8aac01916b54d54b2b5c7427897a6b2516229e4387a77424a349f4c";
+      sha512 = "b6e49ff5a473dee02bb749481924fdbb345be2d532119dde93f80396a29da726b0450e2f2ee522454c8dcef74b09dfcb57474264873b873beeaa6edc81853fb2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/nn-NO/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/nn-NO/thunderbird-45.7.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "cf3ffbc00fb2553bf87da5f0efbd5d115d717de04a047f0cbdc17bb500dc05880495b3242c5d75801374418d1aa6f173303cad7f9325558cd6da6c67d42b675c";
+      sha512 = "3992cb6ca869e9470bb30042ba3c8d1710511a2170504a5a65cafa4a9091492903509ddd366c29f5e9e7ada9ac657416972002a297a57550a418031a7ed6ee0f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pa-IN/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pa-IN/thunderbird-45.7.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "70d224c9145cf6225335cdbbfd137d73131651fa22cc326657c0e75c3c1c4a73730c4193d575da5c7881bb607ddfebd74ce428a1425e12b60e5dfeac661bad02";
+      sha512 = "6aca05743fe7383490cd94281fe1d0c64451832e128b8b3da5d2643bf59f05cdcfe2130ba5218f7e314ac7c55b126ad62d4d24f987b215bfe767a17d6a8eeeed";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pl/thunderbird-45.7.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "664c04d5650c24ae6c2422b41dbaf737fe83b8cd142a869b5ce4042688bc3c4da26fea9bd034a9ab978cd8404cabc90822c3ba23983fb75bfd0118570b0eb9d5";
+      sha512 = "0b8969b08e11792c547d666843799459e27d3732f4e56ab64d7624df4360e6cf65fc2cce538ffd0a287f239cf6c57ebe7aad68bd397c0f56a85dcc499f35e4a5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pt-BR/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-BR/thunderbird-45.7.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "a25f39972af8ce6181ca703b7f35307e74c436a476e1a3482d770aca41275b98373ad8279ba0095c68b5518c525d0813a3d215712d65aef661af8cef5d97ae52";
+      sha512 = "4a921106175214b7fd029e27e19f4442a50076d08c2bf6f6ad4b27c1c37730d2f90ac4bd058363395777d336e5170bdd48276f71b0d253375d32daac9af66412";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/pt-PT/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/pt-PT/thunderbird-45.7.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "4fab35699dc609be69a1d613b5996d412b6c79c2b79f04466ea862713509abee1f12e1188371374027a37df953dda810d44dc066c9cfad2737bd5dd433beb522";
+      sha512 = "f64a4396570349d2f520f8eeca157a012e028cba1e3cf592f5e11807997b4501a2af829dd4920ffac5fee8c50bd691d037aa86bbe9396305352ed4710e854e25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/rm/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/rm/thunderbird-45.7.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "4167aabf7a012824637ecc1e356b983e79a91c02d5079bb2d99546c99fdd3e7631323420d78d4b8fda596d8a9bec82ebb02d0a8092af5c71ff3b7536ecb77df8";
+      sha512 = "540d6db390cbe93dbb607f84286e445da5234b01c55846f3d3a91cc61d30d1d32f0216fbfefc0ab0d7a60c5369a63aaab385c73362adf1a0595db57282dad01e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ro/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ro/thunderbird-45.7.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "b642339e49fc0c06481d9fcfdbcc1234ec2313ffbe0c6825d34ae1447b128afe1c20c5c983a565be1a42d740a9989548b59c9fbb737e952d7aca0804d41be75e";
+      sha512 = "37cede489bb3082efa853f310dec5293baa411abcf15e9f193a760768cfc2b9f7be952bb6225bf901a0097bc19e77d9133c0e6dfed880c6e33cef250e80ff0f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ru/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ru/thunderbird-45.7.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "08e4b72edc6a4625639e313acfa6caddd0d82630930d32eb6c01f3e4a5fcb5e62836856c4f8e27e1855a14eacf66fe84078bb7445a8f809dbe31c41b86818a26";
+      sha512 = "b091376e3937712f5f92ac789dbe39b90e1b486b4409325341dadb06d4a4a3ff4fa9438d8da2fb5b7923beab4ec6b568d6be309cd22a68c277c822614205734d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/si/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/si/thunderbird-45.7.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "1464769f4b50a7cf2eb8b51a6040bb623a5d7942665943ac16f3659139724253ba8b75cf6987c3e67e7d88c7a7d680aa34800672fdcfaf6c130e3690316fcba4";
+      sha512 = "bb53ecebf56785d7ede52b7a0afed0a01e6248d537ccd8bcd236a837fed86b3f390cf9493f1c2d6d6d58c0d349cd6cfef2a59996fd7766ee77f25dc1af75faca";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sk/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sk/thunderbird-45.7.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "63b2cdbde995f2977e2047a9d0966358d10ad717e16ec1e7b013973203dea5cfa48cd3677407a21d89783496babee62c912887591b09701be95295f67878448d";
+      sha512 = "c13c32cf17b0291bf049c2790fce2066e8b07aa2f30fb7bbecaf8cb88b4660bbf07506cb04e5aa8b756a35371d25c5a793b54d0134a81027946d35109e7714a9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sl/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sl/thunderbird-45.7.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "82d43393eb873c96334ee994d07f9fe4873efeda9dc326a1398ddfcbd02a83c2b20c1d78c0e1f88f5c1a4c4b4008c94eff07912696cffb2cd7d5340cfef7d5b2";
+      sha512 = "be0d2a0e501f074329b815f61c1ce04337499c7a88f58e3526e762b47c82ccd975c22063a363a338e22bfc12ad3403107751f66376b1d269101b660e391e7437";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sq/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sq/thunderbird-45.7.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "5fb9aae5dd7e39e60ca17c4ba12c418f0ef75952f35537ae3ff4b1f57914f9ddcc5e8c8dbfcbad2c4a29911a6e48b6e96514759112170bb377b7883484f7a83b";
+      sha512 = "1aadc162591de3467af622c3e1fc7655885d7831d2faa470a5f53b2fb12a42dfbd44f3a942dc4089a28235942ba0e46749810a88adbb396e1417f7ed0fc07586";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sr/thunderbird-45.7.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "b1fa8938971d0736da1e297fb8a431750e8a1681250015aa249d3e6a1b797933c47e3ab43516cdc199ac4213b4e3505b8ce68264ed342a53bba7e4d86ef64e6b";
+      sha512 = "aab1299fb2e2b022bfaaa6403461bd2f5ed70d5fea77ea29936fea465984cc57bfa1ed5be1e8968138e757118d1caa3eb664388fddb04d0008abe932035c818e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/sv-SE/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/sv-SE/thunderbird-45.7.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "ed008ecc0355faf21e79121c9987823220b9ff796df22ab59ccf79dbfc336d998df51f13500a9a189fd40900a9fec52cb53be0811e391a48d4149f021bfffd77";
+      sha512 = "11ce9c1b444adb242e826d4e1e8ab88e2272ac6b77f68f9d2a860c75e421c7b69f1841d0a4fef0b9b4d3a636678f0d57d5abb985f5fda6b5afd6cfb319f39b14";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/ta-LK/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/ta-LK/thunderbird-45.7.1.tar.bz2";
       locale = "ta-LK";
       arch = "linux-i686";
-      sha512 = "4bd8c5a05706f88b2678331e8096d0b04d2717bfc9e6f22d6abf00881fcea46c4de50bf435d51a1022c9217ce837668439d152d0dd257ac2e77fdea44421810f";
+      sha512 = "e46dff7831a6805917d2982347e4899aea9c726bcbf1e0b081c8ead225d585df1d0e9c485729d28483fd7ea8e0e5a47598fa9146f0138ed8ed65162c8191a381";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/tr/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/tr/thunderbird-45.7.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "0f3aa7228a605df6e2f5fcaddfb95009ea6b9084791d876ed1fca148ba11b08646ea1265bb1d6771e681f5b33317ea43381ef271842d263e7c387942447a3748";
+      sha512 = "158e4d49beae2af88c9aeddf5933e58a73541d0acc960d3965159662dd18ec876fd9a598b7bdba31261f8eeccf1595eb5e66ace3656658b3557c1482b7a4263f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/uk/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/uk/thunderbird-45.7.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "825ff1066f1b533ac5091fa74a050fdc760145f378126b2b7cb63b9bf3e58936372d475fa5b2b900cb79ea99f553a4228182c09c1483ded6f2256a831966d37e";
+      sha512 = "0d298daa6b416b60b696d57ae7508f56749f1fdc7f8d4ca3514fc106b91567fcc3bf41881cce398d431c0aa0b6bb9d5913d25abcded8e68628fe54fae3cbec25";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/vi/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/vi/thunderbird-45.7.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "b8fdfe8463c99695219a59f2951363685249a6ced9ecb38b7e25455b4102baf334e69437b15bdcb06ca36575367b13cd3331d7ac5e0349d8fdcb4350b70cc680";
+      sha512 = "f3e21ff0bf5b0b57bf6a3d1564ec0194c4c4b8987e0db89c84662e091131601526cd1b109e113fa8738d6b16d61220df1ef6c09acfd46c154de7e86dd9aa744b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/zh-CN/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-CN/thunderbird-45.7.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "f41c99d2a972210e0999fd6a509ffed9fa34edee23f7925c8dccdd5f492aef7c15fb3fc995ea549d095746302852e3957b9da01346277a2ed6b3efafa1a2acb1";
+      sha512 = "ad624ccf882b3703de853d67b9fb2d53fa4a69a20353638dc108750b35b486f2333307e7fb947e39a76f32cc204459347fe9c52e5c6c60c8b9210d9f7ca68632";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.0/linux-i686/zh-TW/thunderbird-45.7.0.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/45.7.1/linux-i686/zh-TW/thunderbird-45.7.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "d903664c9cefe044e0871b527d0a2f45812312c99f541832887abdef46d6c741085f807bf09a9e6f83d24992377ced5a84534a33f933025dd6bde11a7aa8cde3";
+      sha512 = "877e9fbfd4421fecb01d94142ae753c7b90b7a1430a01dfdfbf916e4505a1b647fc3f75d896558437e7d5c4ae3a0aefe0892881f4bec7ce9ab672d7b44c337b3";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
index 170a5f4374f9..52775ce9781d 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix
@@ -14,7 +14,7 @@
   enableOfficialBranding ? false
 }:
 
-let version = "45.7.0"; in
+let version = "45.7.1"; in
 let verName = "${version}"; in
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://mozilla/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.xz";
-    sha512 = "99cea54b553158c1e08cf19157ac2bb6822fd1fef0501d36f983e6b8d4f2143a2e6124d61297446944033d3fed9326fe0f12ca45db0b5815be71a0777e73ffb0";
+    sha512 = "aa1231169cfe243a257e6b9088281b85d0cf75207e3b9ebeda7792567a86f6098fb5c74dc397e3eeeb1925d221d2fb1b17df8762afd115eff9ad4d1370a49e56";
   };
 
   patches = [ ./gcc6.patch ];
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index 05ec51d66814..d35f22c18396 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -1,67 +1,76 @@
-{ stdenv
-, fetchurl
-, cmake
-, openssl
-, printerSupport ? true, cups
-, pkgconfig
-, zlib
-, libX11
-, libXcursor
-, libXdamage
-, libXext
-, alsaLib
-, ffmpeg
-, libxkbfile
-#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
-, libXinerama
-, libXv
-, pulseaudioSupport ? true, libpulseaudio
+{ stdenv, lib, fetchFromGitHub, substituteAll, cmake, pkgconfig
+, alsaLib, ffmpeg_2, glib, openssl, pcre, zlib
+, libX11, libXcursor, libXdamage, libXext, libXi, libXinerama, libXrandr, libXrender, libXv
+, libxkbcommon, libxkbfile
+, wayland
+, gstreamer, gst-plugins-base, gst-plugins-good
+, libpulseaudio ? null
+, cups ? null
+, pcsclite ? null
+, systemd ? null
+, buildServer ? true
+, optimize ? true
 }:
 
-assert printerSupport -> cups != null;
 stdenv.mkDerivation rec {
-  name = "freerdp-${version}";
-  version = "1.0.2";
+  name = "freerdp-git-${version}";
+  version = "20170201";
 
-  src = fetchurl {
-    url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
-    sha256 = "1w9dk7dsbppspnnms2xwwmbg7jm61i7aw5nkwzbpdyxngbgkgwf0";
+  src = fetchFromGitHub {
+    owner  = "FreeRDP";
+    repo   = "FreeRDP";
+    rev    = "6001cb710dc67eb8811362b7bf383754257a902b";
+    sha256 = "0l2lwqk2r8rq8a0f91wbb30kqg21fv0k0508djpwj0pa9n73fgmg";
   };
 
-  buildInputs = [
-    cmake
-    openssl
-    pkgconfig
-    zlib
-    libX11
-    libXcursor
-    libXdamage
-    libXext
-    alsaLib
-    ffmpeg
-    libxkbfile
-#    xmlto docbook_xml_dtd_412 docbook_xml_xslt
-    libXinerama
-    libXv
-  ] ++ stdenv.lib.optional printerSupport cups;
+  # outputs = [ "bin" "out" "dev" ];
 
-  configureFlags = [
-    "--with-x" "-DWITH_MANPAGES=OFF"
-  ] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
-    ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
+  prePatch = ''
+    export HOME=$TMP
+    substituteInPlace "libfreerdp/freerdp.pc.in" \
+      --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
+  '';
 
-  meta = {
-    description = "A Remote Desktop Protocol Client";
+  patches = with lib; [
+  ] ++ optional (pcsclite != null)
+      (substituteAll {
+        src = ./dlopen-absolute-paths.diff;
+        inherit pcsclite;
+      });
+
+  buildInputs = with lib; [
+    alsaLib cups ffmpeg_2 glib openssl pcre pcsclite libpulseaudio zlib
+    gstreamer gst-plugins-base gst-plugins-good
+    libX11 libXcursor libXdamage libXext libXi libXinerama libXrandr libXrender libXv
+    libxkbcommon libxkbfile
+    wayland
+  ] ++ optional stdenv.isLinux systemd;
+
+  nativeBuildInputs = [
+    cmake pkgconfig
+  ];
+
+  doCheck = false;
 
+  cmakeFlags = with lib; [
+    "-DCMAKE_INSTALL_LIBDIR=lib"
+    "-DWITH_CUNIT=OFF"
+    "-DWITH_OSS=OFF"
+  ] ++ optional (libpulseaudio != null) "-DWITH_PULSE=ON"
+    ++ optional (cups != null)          "-DWITH_CUPS=ON"
+    ++ optional (pcsclite != null)      "-DWITH_PCSC=ON"
+    ++ optional buildServer             "-DWITH_SERVER=ON"
+    ++ optional optimize                "-DWITH_SSE2=ON";
+
+  meta = with lib; {
+    description = "A Remote Desktop Protocol Client";
     longDescription = ''
       FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
       following the Microsoft Open Specifications.
     '';
-
     homepage = http://www.freerdp.com/;
-
-    license = stdenv.lib.licenses.free;
-    platforms = stdenv.lib.platforms.linux;
-    broken = true;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ wkennington peterhoeg ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/remote/freerdp/legacy.nix b/pkgs/applications/networking/remote/freerdp/legacy.nix
new file mode 100644
index 000000000000..d3746fa6c7ad
--- /dev/null
+++ b/pkgs/applications/networking/remote/freerdp/legacy.nix
@@ -0,0 +1,73 @@
+{ stdenv
+, fetchurl
+, cmake
+, openssl
+, glib, pcre
+, printerSupport ? true, cups
+, pkgconfig
+, zlib
+, libX11
+, libXcursor
+, libXdamage
+, libXext
+, alsaLib
+, ffmpeg
+, libxkbfile
+#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
+, libXfixes
+, libXinerama
+, libXv
+, pulseaudioSupport ? true, libpulseaudio
+}:
+
+assert printerSupport -> cups != null;
+
+stdenv.mkDerivation rec {
+  name = "freerdp-${version}";
+  version = "1.2.0-beta1+android9";
+
+  src = fetchurl {
+    url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
+    sha256 = "181w4lkrk5h5kh2zjlx6h2cl1mfw2aaami3laq3q32pfj06q3rxl";
+  };
+
+  buildInputs = [
+    cmake
+    openssl
+    glib pcre
+    pkgconfig
+    zlib
+    libX11
+    libXcursor
+    libXdamage
+    libXext
+    alsaLib
+    ffmpeg
+    libxkbfile
+#    xmlto docbook_xml_dtd_412 docbook_xml_xslt
+    libXinerama
+    libXv
+  ] ++ stdenv.lib.optional printerSupport cups;
+
+  preConfigure = ''
+    export HOME=$TMP
+  '';
+
+  configureFlags = [
+    "--with-x" "-DWITH_MANPAGES=OFF"
+  ] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
+    ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
+
+  meta = with stdenv.lib; {
+    description = "A Remote Desktop Protocol Client";
+
+    longDescription = ''
+      FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
+      following the Microsoft Open Specifications.
+    '';
+
+    homepage = http://www.freerdp.com/;
+    license = licenses.free;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/remote/freerdp/unstable.nix b/pkgs/applications/networking/remote/freerdp/unstable.nix
deleted file mode 100644
index 5483e9420761..000000000000
--- a/pkgs/applications/networking/remote/freerdp/unstable.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, zlib, libX11, libXcursor
-, libXdamage, libXext, libXrender, glib, alsaLib, ffmpeg, libxkbfile, libXinerama, libXv
-, substituteAll
-, libpulseaudio ? null, cups ? null, pcsclite ? null
-, buildServer ? true, optimize ? true
-}:
-
-stdenv.mkDerivation rec {
-  name = "freerdp-2.0-dev";
-
-  src = fetchFromGitHub {
-    owner = "FreeRDP";
-    repo = "FreeRDP";
-    rev = "1855e36179fb197e713d41c4ef93e19cf1f0be2f";
-    sha256 = "1lydkh6by0sjy6dl57bzg7c11ccyp24s80pwxw9h5kmxkbw6mx5q";
-  };
-
-  prePatch = ''
-    substituteInPlace "libfreerdp/freerdp.pc.in" --replace "Requires:" "Requires: @WINPR_PKG_CONFIG_FILENAME@"
-  '';
-
-  patches = [
-  ] ++ stdenv.lib.optional (pcsclite != null)
-      (substituteAll {
-        src = ./dlopen-absolute-paths.diff;
-        inherit pcsclite;
-      });
-
-  buildInputs = [
-    cmake pkgconfig openssl zlib libX11 libXcursor libXdamage libXext libXrender glib
-    alsaLib ffmpeg libxkbfile libXinerama libXv cups libpulseaudio pcsclite
-  ];
-
-  doCheck = false;
-
-  cmakeFlags = [
-    "-DCMAKE_INSTALL_LIBDIR=lib"
-    "-DWITH_CUNIT=OFF"
-  ] ++ stdenv.lib.optional (libpulseaudio != null) "-DWITH_PULSE=ON"
-    ++ stdenv.lib.optional (cups != null) "-DWITH_CUPS=ON"
-    ++ stdenv.lib.optional (pcsclite != null) "-DWITH_PCSC=ON"
-    ++ stdenv.lib.optional buildServer "-DWITH_SERVER=ON"
-    ++ stdenv.lib.optional optimize "-DWITH_SSE2=ON";
-
-  meta = with stdenv.lib; {
-    description = "A Remote Desktop Protocol Client";
-    longDescription = ''
-      FreeRDP is a client-side implementation of the Remote Desktop Protocol (RDP)
-      following the Microsoft Open Specifications.
-    '';
-    homepage = http://www.freerdp.com/;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ wkennington ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index ec31beb00801..c3eca16af011 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -10,7 +10,7 @@
 }:
 
 let
-  version = "1.2.0-rcgit.15";
+  version = "1.2.0-rcgit.17";
 
   desktopItem = makeDesktopItem {
     name = "remmina";
@@ -22,41 +22,33 @@ let
     categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
   };
 
-  # Latest release of remmina refers to thing that aren't yet in
-  # a FreeRDP release so we need to build one from git source
-  # See also https://github.com/FreeRDP/Remmina/pull/731
-  # Remove when FreeRDP release catches up with this commit
-  freerdp_git = stdenv.lib.overrideDerivation freerdp (args: {
-    name = "freerdp-git-2016-09-30";
-    src = fetchFromGitHub {
-      owner  = "FreeRDP";
-      repo   = "FreeRDP";
-      rev    = "dbb353db92e7a5cb0be3c73aa950fb1113e627ec";
-      sha256 = "1nhm4v6z9var9hasp4bkmhvlrksbdizx95swx19shizfc82s9g4y";
-    };
-  });
-
-in
-
-stdenv.mkDerivation {
+in stdenv.mkDerivation {
   name = "remmina-${version}";
 
   src = fetchFromGitHub {
     owner  = "FreeRDP";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "07lj6a7x9cqcff18pwfkx8c8iml015zp6sq29dfcxpfg4ai578h0";
+    sha256 = "1vfg8sfpj83ircp7ny6xsbn2ba5xbp3xrdl5wwyfcg1zrpdmi7f1";
   };
 
   buildInputs = [ cmake pkgconfig wrapGAppsHook gsettings_desktop_schemas
                   glib gtk3 gettext libxkbfile libgnome_keyring libX11
-                  freerdp_git libssh libgcrypt gnutls
+                  freerdp libssh libgcrypt gnutls
                   pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
                   libvncserver libpthreadstubs libXdmcp libxkbcommon
                   libsecret spice_protocol spice_gtk epoxy at_spi2_core
                   openssl hicolor_icon_theme adwaita-icon-theme ];
 
-  cmakeFlags = "-DWITH_VTE=OFF -DWITH_TELEPATHY=OFF -DWITH_AVAHI=OFF -DWINPR_INCLUDE_DIR=${freerdp_git}/include/winpr2";
+  cmakeFlags = [
+    "-DWITH_VTE=OFF"
+    "-DWITH_TELEPATHY=OFF"
+    "-DWITH_AVAHI=OFF"
+    "-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2.so"
+    "-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2.so"
+    "-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2.so"
+    "-DWINPR_INCLUDE_DIR=${freerdp}/include/winpr2"
+  ];
 
   preFixup = ''
     gappsWrapperArgs+=(
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 4cd8c998d419..2daa846990a3 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -11,9 +11,11 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ ocaml makeWrapper ncurses ];
 
-  preBuild = if enableX11 then ''
+  preBuild = (if enableX11 then ''
     sed -i "s|\(OCAMLOPT=.*\)$|\1 -I $(echo "${lablgtk}"/lib/ocaml/*/site-lib/lablgtk2)|" Makefile.OCaml
-  '' else "";
+  '' else "") + ''
+  echo -e '\ninstall:\n\tcp $(FSMONITOR)$(EXEC_EXT) $(INSTALLDIR)' >> fsmonitor/linux/Makefile
+  '';
 
   makeFlags = "INSTALLDIR=$(out)/bin/" + (if enableX11 then " UISTYLE=gtk2" else "")
     + (if ! ocaml.nativeCompilers then " NATIVE=false" else "");
diff --git a/pkgs/applications/office/cb2bib/default.nix b/pkgs/applications/office/cb2bib/default.nix
index aa246d241ca6..abff61b881fc 100644
--- a/pkgs/applications/office/cb2bib/default.nix
+++ b/pkgs/applications/office/cb2bib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, qt5Full, lzo, libX11 }:
+{ stdenv, fetchurl, qmakeHook, qtbase, qtwebkit, qtx11extras, lzo, libX11 }:
 
 stdenv.mkDerivation rec {
   name = pname + "-" + version;
@@ -8,10 +8,13 @@ stdenv.mkDerivation rec {
     url = "http://www.molspaces.com/dl/progs/${name}.tar.gz";
     sha256 = "0yz79v023w1229wzck3gij0iqah1xg8rg4a352q8idvg7bdmyfin";
   };
-  buildInputs = [ qt5Full lzo libX11 ];
-  QTDIR=qt5Full;
-  configurePhase =''
-    ./configure --prefix $out
+  buildInputs = [ qtbase qtwebkit qtx11extras lzo libX11 ];
+  nativeBuildInputs = [ qmakeHook ];
+
+  configurePhase = ''
+    runHook preConfigure
+    ./configure --prefix $out --qmakepath $QMAKE
+    runHook postConfigure
   '';
 
   meta = with stdenv.lib; {
@@ -21,4 +24,4 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3;
   };
 
-}
\ No newline at end of file
+}
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 30fc20b6e4f6..ea265ae66614 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -129,6 +129,7 @@ in stdenv.mkDerivation rec {
     sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
     sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
     sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
+    sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
     # not sure about this fragile test
     sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
   '';
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index f098938ba38c..40ab4e6a2d6e 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -128,6 +128,7 @@ in stdenv.mkDerivation rec {
     sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
     sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
     sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
+    sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
   '';
 
   makeFlags = "SHELL=${bash}/bin/bash";
diff --git a/pkgs/applications/science/biology/ecopcr/default.nix b/pkgs/applications/science/biology/ecopcr/default.nix
new file mode 100644
index 000000000000..9e1b16ff9449
--- /dev/null
+++ b/pkgs/applications/science/biology/ecopcr/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, gcc, zlib, python27 }:
+
+stdenv.mkDerivation rec {
+  name = "ecopcr-0.8.0";
+
+  src = fetchurl {
+    url = "https://git.metabarcoding.org/obitools/ecopcr/uploads/6f37991b325c8c171df7e79e6ae8d080/${name}.tar.gz";
+    sha256 = "10c58hj25z78jh0g3zcbx4890yd2qrvaaanyx8mn9p49mmyf5pk6";
+  };
+
+  sourceRoot = "ecoPCR/src";
+
+  buildInputs = [ gcc python27 zlib ];
+
+  installPhase = ''
+	mkdir -p $out/bin
+	cp -v ecoPCR $out/bin
+	cp -v ecogrep $out/bin
+	cp -v ecofind $out/bin
+	cp -v ../tools/ecoPCRFormat.py $out/bin/ecoPCRFormat
+	chmod a+x $out/bin/ecoPCRFormat
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Electronic PCR software tool";
+    longDescription = ''
+      ecoPCR is an electronic PCR software developed by the LECA. It
+      helps you estimate Barcode primers quality. In conjunction with
+      OBITools, you can postprocess ecoPCR output to compute barcode
+      coverage and barcode specificity. New barcode primers can be
+      developed using the ecoPrimers software.
+    '';
+    homepage = https://git.metabarcoding.org/obitools/ecopcr/wikis/home;
+    license = licenses.cecill20;
+    maintainers = [ maintainers.metabar ];
+  };
+}
diff --git a/pkgs/applications/science/biology/emboss/default.nix b/pkgs/applications/science/biology/emboss/default.nix
index c9974660da36..331820276553 100644
--- a/pkgs/applications/science/biology/emboss/default.nix
+++ b/pkgs/applications/science/biology/emboss/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, readline, perl, libX11, libpng, libXt, zlib}:
 
 stdenv.mkDerivation {
-  name = "emboss-6.0.1";
+  name = "emboss-6.6.0";
   src = fetchurl {
-    url = ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.0.1.tar.gz;
-    sha256 = "0g939k9wmpvmy55hqmbbzj6kj6agg4izymv492zqiawxm812jd9y";
+    url = "ftp://emboss.open-bio.org/pub/EMBOSS/EMBOSS-6.6.0.tar.gz";
+    sha256 = "7184a763d39ad96bb598bfd531628a34aa53e474db9e7cac4416c2a40ab10c6e";
   };
   # patch = fetchurl {
   #   url = ftp://emboss.open-bio.org/pub/EMBOSS/fixes/patches/patch-1-9.gz;
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index c77c746c88f0..c93015678e27 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -11,7 +11,7 @@
 }:
 
 let
-  version = "2.11.0";
+  version = "2.11.1";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "02zx368id8rys0bh2sjrxz0ln2l2wm5nf1vhp1rj72clsilqszky";
+    sha256 = "05b4jw86w77c3pyh3nm6aw31vhxwzvhnx2x0bcfqmm15wg57k9y0";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/video/gnash/default.nix b/pkgs/applications/video/gnash/default.nix
deleted file mode 100644
index cf17b66ef480..000000000000
--- a/pkgs/applications/video/gnash/default.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-{ stdenv, fetchurl, fetchpatch
-, SDL, SDL_mixer, gstreamer, gst_plugins_base, gst_plugins_good
-, gst_ffmpeg, speex
-, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
-, boost, freetype, agg, dbus, curl, pkgconfig, gettext
-, glib, gtk2, gtkglext, pangox_compat, xlibsWrapper, ming, dejagnu, python, perl
-, freefont_ttf, haxe, swftools
-, lib, makeWrapper
-, xulrunner }:
-
-assert stdenv ? glibc;
-
-let version = "0.8.10";
-    patch_CVE = fetchpatch {
-      url = "http://git.savannah.gnu.org/cgit/gnash.git/patch/?id=bb4dc77eecb6ed1b967e3ecbce3dac6c5e6f1527";
-      sha256 = "0ghnki5w7xf3qwfl1x6vhijpd6q608niyxrvh0g8dw5xavkvallk";
-      name = "CVE-2012-1175.patch";
-    };
-in
-
-stdenv.mkDerivation rec {
-  name = "gnash-${version}";
-
-  src = fetchurl {
-    url = "mirror://gnu/gnash/${version}/${name}.tar.bz2";
-    sha256 = "090j5lly5r6jzbnvlc3mhay6dsrd9sfrkjcgqaibm4nz8lp0f9cn";
-  };
-
-  patchPhase = ''
-    patch -p1 < ${patch_CVE}
-
-    # Add all libs to `macros/libslist', a list of library search paths.
-    libs=$(echo "$NIX_LDFLAGS" | tr ' ' '\n' | sed -n 's/.*-L\(.*\).*/\1/p')
-    for lib in $libs; do
-      echo -n "$lib " >> macros/libslist
-    done
-    echo -n "${stdenv.glibc.out}/lib" >> macros/libslist
-
-    # Make sure to honor $TMPDIR, for chroot builds.
-    for file in configure gui/Makefile.in Makefile.in
-    do
-      sed -i "$file" -es'|/tmp/|$TMPDIR/|g'
-    done
-
-    # Provide a default font.
-    sed -i "configure" \
-        -e 's|/usr/share/fonts/truetype/freefont/|${freefont_ttf}/share/fonts/truetype/|g'
-  '';
-
-  enableParallelBuilding = true;
-
-  # XXX: KDE is supported as well so we could make it available optionally.
-  buildInputs = [
-    gettext xlibsWrapper SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
-    gst_ffmpeg speex libtool
-    libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
-    dbus curl pkgconfig glib gtk2 gtkglext pangox_compat
-    xulrunner
-    makeWrapper
-  ]
-
-  ++ (stdenv.lib.optionals doCheck [
-        ming dejagnu python perl haxe swftools
-      ]);
-
-  preConfigure =
-    '' configureFlags="                                         \
-         --with-sdl-incl=${SDL.dev}/include/SDL                     \
-         --with-npapi-plugindir=$out/plugins                    \
-         --enable-media=gst                                     \
-         --without-gconf
-         --enable-gui=gtk"
-
-       # In `libmedia', Gnash compiles with "-I$gst_plugins_base/include",
-       # whereas it really needs "-I$gst_plugins_base/include/gstreamer-0.10".
-       # Work around this using GCC's $CPATH variable.
-       export CPATH="${gst_plugins_base}/include/gstreamer-0.10:${gst_plugins_good}/include/gstreamer-0.10"
-       echo "\$CPATH set to \`$CPATH'"
-
-       echo "\$GST_PLUGIN_PATH set to \`$GST_PLUGIN_PATH'"
-    '';
-
-  postConfigure = "echo '#define nullptr NULL' >> gnashconfig.h";
-
-  # Make sure `gtk-gnash' gets `libXext' in its `RPATH'.
-  NIX_LDFLAGS="-lX11 -lXext";
-
-  # XXX: Tests currently fail.
-  doCheck = false;
-
-  preInstall = ''mkdir -p $out/plugins'';
-  postInstall = ''
-    make install-plugins
-
-    # Wrap programs so the find the GStreamer plug-ins they need
-    # (e.g., gst-ffmpeg is needed to watch movies such as YouTube's).
-    for prog in "$out/bin/"*
-    do
-      wrapProgram "$prog" --prefix GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"
-    done
-  '';
-
-  meta = {
-    homepage = http://www.gnu.org/software/gnash/;
-    description = "A libre SWF (Flash) movie player";
-
-    longDescription = ''
-      Gnash is a GNU Flash movie player.  Flash is an animation file format
-      pioneered by Macromedia which continues to be supported by their
-      successor company, Adobe.  Flash has been extended to include audio and
-      video content, and programs written in ActionScript, an
-      ECMAScript-compatible language.  Gnash is based on GameSWF, and
-      supports most SWF v7 features and some SWF v8 and v9.
-    '';
-
-    license = stdenv.lib.licenses.gpl3Plus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;
-    broken = true;
-  };
-} // {mozillaPlugin = "/plugins";}
diff --git a/pkgs/applications/video/kodi/plugins.nix b/pkgs/applications/video/kodi/plugins.nix
index 463003239d01..c31b97bd5c57 100644
--- a/pkgs/applications/video/kodi/plugins.nix
+++ b/pkgs/applications/video/kodi/plugins.nix
@@ -236,13 +236,13 @@ in
   pvr-hts = (mkKodiPlugin rec {
     plugin = "pvr-hts";
     namespace = "pvr.hts";
-    version = "3.4.4";
+    version = "3.4.16";
 
     src = fetchFromGitHub {
       owner = "kodi-pvr";
       repo = "pvr.hts";
-      rev = "343ca980982d87c778696e42e52eff763cadee4a";
-      sha256 = "03jk45nk1c5j7zwj6l8s8jyf6ijhisp1r16xg6n5561bm3cfk0b9";
+      rev = "b39e4e9870d68841279cbc7d7214f3ad9b27f330";
+      sha256 = "0pmlgqr4kd0gvckz77mj6v42kcx6lb23anm8jnf2fbn877snnijx";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/video/vokoscreen/default.nix b/pkgs/applications/video/vokoscreen/default.nix
index 7a9ea5f9095b..204580b108f7 100644
--- a/pkgs/applications/video/vokoscreen/default.nix
+++ b/pkgs/applications/video/vokoscreen/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit
-, pkgconfig, qt5, alsaLib, libv4l, xorg
+, pkgconfig, qtbase, qttools, qmakeHook, qtx11extras, alsaLib, libv4l, libXrandr
 , ffmpeg
 }:
 
@@ -12,13 +12,14 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    alsaLib.dev
-    libv4l.dev
+    alsaLib
+    libv4l
     pkgconfig
-    qt5.full
-    qt5.qmakeHook
-    qt5.qtx11extras
-    xorg.libXrandr.dev
+    qtbase
+    qttools
+    qmakeHook
+    qtx11extras
+    libXrandr
   ];
 
   patches = [
diff --git a/pkgs/applications/virtualization/rkt/default.nix b/pkgs/applications/virtualization/rkt/default.nix
index 2f610208c720..7059b8606808 100644
--- a/pkgs/applications/virtualization/rkt/default.nix
+++ b/pkgs/applications/virtualization/rkt/default.nix
@@ -12,7 +12,7 @@ let
   stage1Dir = "lib/rkt/stage1-images";
 
 in stdenv.mkDerivation rec {
-  version = "1.23.0";
+  version = "1.24.0";
   name = "rkt-${version}";
   BUILDDIR="build-${name}";
 
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
       owner = "coreos";
       repo = "rkt";
       rev = "v${version}";
-      sha256 = "0fgvc3s8rb6da3jgrd8jmqv9xky7mq1y184jbm4lgy0rds4zhkf4";
+      sha256 = "11vp3pm00xsksdgdv67sgvrrpj3ayp7sx1wprn4aa579vbbr83bd";
   };
 
   stage1BaseImage = fetchurl {
diff --git a/pkgs/applications/virtualization/virt-top/default.nix b/pkgs/applications/virtualization/virt-top/default.nix
new file mode 100644
index 000000000000..f411ea5c83e6
--- /dev/null
+++ b/pkgs/applications/virtualization/virt-top/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ocamlPackages }:
+
+stdenv.mkDerivation rec {
+  name = "virt-top-${version}";
+  version = "1.0.8";
+
+  src = fetchurl {
+    url = "https://people.redhat.com/~rjones/virt-top/files/virt-top-${version}.tar.gz";
+    sha256 = "04i1sf2d3ghilmzvr2vh74qcy009iifyc2ymj9kxnbkp97lrz13w";
+  };
+
+  buildInputs = with ocamlPackages; [ ocaml findlib ocaml_extlib ocaml_libvirt ocaml_gettext curses csv xml-light ];
+
+  buildPhase = "make opt";
+
+  meta = with stdenv.lib; {
+    description = "A top-like utility for showing stats of virtualized domains";
+    homepage = https://people.redhat.com/~rjones/virt-top/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/jwm/default.nix b/pkgs/applications/window-managers/jwm/default.nix
index 97e4b391a790..c670dc52e52d 100644
--- a/pkgs/applications/window-managers/jwm/default.nix
+++ b/pkgs/applications/window-managers/jwm/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "jwm-${version}";
-  version = "1575";
+  version = "1580";
   
   src = fetchFromGitHub {
     owner = "joewing";
     repo = "jwm";
     rev = "s${version}";
-    sha256 = "0dw0f29s04jglncavgqr7h9h791f7vw3lb3dcwrgmzk5v50v4nx9";
+    sha256 = "098m54mn8f1vzdb7j6zmlflid7a4yjinbdh7avg2a0z45nl1znb4";
   };
 
   nativeBuildInputs = [ pkgconfig automake autoconf libtool gettext which ];
diff --git a/pkgs/build-support/fetchurl/mirrors.nix b/pkgs/build-support/fetchurl/mirrors.nix
index 5ae5eb105e79..e3759fe49cd8 100644
--- a/pkgs/build-support/fetchurl/mirrors.nix
+++ b/pkgs/build-support/fetchurl/mirrors.nix
@@ -128,7 +128,7 @@ rec {
   ];
 
   samba = [
-    http://samba.org/ftp/
+    https://www.samba.org/ftp/
     http://ftp.riken.jp/net/samba
   ];
 
diff --git a/pkgs/data/fonts/liberastika/default.nix b/pkgs/data/fonts/liberastika/default.nix
new file mode 100644
index 000000000000..964210c8dfe5
--- /dev/null
+++ b/pkgs/data/fonts/liberastika/default.nix
@@ -0,0 +1,33 @@
+{stdenv, fetchurl, unzip}:
+
+stdenv.mkDerivation rec {
+  name = "liberastika-${version}";
+  version = "1.1.5";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/lib-ka/liberastika-ttf-${version}.zip";
+    sha256 = "0vg5ki120lb577ihvq8w0nxs8yacqzcvsmnsygksmn6281hyj0xj";
+  };
+
+  buildInputs = [ unzip ];
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/truetype
+    cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
+
+    mkdir -p "$out/doc/${name}"
+    cp -v AUTHORS ChangeLog COPYING README "$out/doc/${name}" || true
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Liberation Sans fork with improved cyrillic support";
+    homepage = https://sourceforge.net/projects/lib-ka/;
+
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    hydraPlatforms = [];
+    maintainers = [ maintainers.volth ];
+  };
+}
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/binary.nix b/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
deleted file mode 100644
index 9cbe951cf4ae..000000000000
--- a/pkgs/data/fonts/redhat-liberation-fonts/binary.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, liberation_ttf_from_source }:
-
-stdenv.mkDerivation rec {
-  version = "2.00.1";
-  name = "liberation-fonts-${version}";
-  src = fetchurl {
-    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
-    sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
-  };
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
-
-    mkdir -p "$out/doc/${name}"
-    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
-  '';
-
-  inherit (liberation_ttf_from_source) meta;
-}
diff --git a/pkgs/data/fonts/redhat-liberation-fonts/default.nix b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
index a3b32ad1ad34..a0511c6a353d 100644
--- a/pkgs/data/fonts/redhat-liberation-fonts/default.nix
+++ b/pkgs/data/fonts/redhat-liberation-fonts/default.nix
@@ -1,42 +1,72 @@
 {stdenv, fetchurl, fontforge, python2}:
 
-stdenv.mkDerivation rec {
-  name = "liberation-fonts-2.00.1";
+let
+  inherit (python2.pkgs) fonttools;
 
-  src = fetchurl {
-    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/${name}.tar.gz";
+  common =
+    {version, url, sha256, buildInputs}:
+    stdenv.mkDerivation rec {
+      name = "liberation-fonts-${version}";
+      src = fetchurl {
+        inherit url sha256;
+      };
+
+      inherit buildInputs;
+
+      installPhase = ''
+        mkdir -p $out/share/fonts/truetype
+        cp -v $( find . -name '*.ttf') $out/share/fonts/truetype
+
+        mkdir -p "$out/doc/${name}"
+        cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
+      '';
+
+      meta = with stdenv.lib; {
+        description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
+        longDescription = ''
+          The Liberation Fonts are intended to be replacements for the three most
+          commonly used fonts on Microsoft systems: Times New Roman, Arial, and
+          Courier New. Since 2012 they are based on croscore fonts.
+
+          There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
+          Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
+          New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
+          (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
+          Bitstream Vera Sans Mono).
+        '';
+
+        license = licenses.ofl;
+        homepage = https://fedorahosted.org/liberation-fonts/;
+        maintainers = [
+          maintainers.raskin
+        ];
+        platforms = platforms.unix;
+      };
+    };
+
+in {
+  liberation_ttf_v1_from_source = common rec {
+    version = "1.07.4";
+    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
+    sha256 = "01jlg88q2s6by7qv6fmnrlx0lwjarrjrpxv811zjz6f2im4vg65d";
+    buildInputs = [ fontforge fonttools ];
+  };
+  liberation_ttf_v1_binary = common rec {
+    version = "1.07.4";
+    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
+    sha256 = "0p7frz29pmjlk2d0j2zs5kfspygwdnpzxkb2hwzcfhrafjvf59v1";
+    buildInputs = [ ];
+  };
+  liberation_ttf_v2_from_source = common rec {
+    version = "2.00.1";
+    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-${version}.tar.gz";
     sha256 = "1ymryvd2nw4jmw4w5y1i3ll2dn48rpkqzlsgv7994lk6qc9cdjvs";
+    buildInputs = [ fontforge fonttools ];
   };
-
-  buildInputs = [ fontforge python2.pkgs.fonttools ];
-
-  installPhase = ''
-    mkdir -p $out/share/fonts/truetype
-    cp -v $(find . -name '*.ttf') $out/share/fonts/truetype
-
-    mkdir -p "$out/doc/${name}"
-    cp -v AUTHORS ChangeLog COPYING License.txt README "$out/doc/${name}" || true
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Liberation Fonts, replacements for Times New Roman, Arial, and Courier New";
-    longDescription = ''
-      The Liberation Fonts are intended to be replacements for the three most
-      commonly used fonts on Microsoft systems: Times New Roman, Arial, and
-      Courier New. Since 2012 they are based on croscore fonts.
-
-      There are three sets: Sans (a substitute for Arial, Albany, Helvetica,
-      Nimbus Sans L, and Bitstream Vera Sans), Serif (a substitute for Times
-      New Roman, Thorndale, Nimbus Roman, and Bitstream Vera Serif) and Mono
-      (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, and
-      Bitstream Vera Sans Mono).
-    '';
-
-    license = licenses.ofl;
-    homepage = https://fedorahosted.org/liberation-fonts/;
-    maintainers = [
-      maintainers.raskin
-    ];
-    platforms = platforms.unix;
+  liberation_ttf_v2_binary = common rec {
+    version = "2.00.1";
+    url = "https://fedorahosted.org/releases/l/i/liberation-fonts/liberation-fonts-ttf-${version}.tar.gz";
+    sha256 = "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q";
+    buildInputs = [ ];
   };
 }
diff --git a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
index 76c2f8c0d409..48523f512b3f 100644
--- a/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
+++ b/pkgs/desktops/gnome-2/platform/gnome-vfs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, samba, dbus_glib
+{ stdenv, fetchurl, pkgconfig, libxml2, bzip2, openssl, dbus_glib
 , glib, fam, cdparanoia, intltool, GConf, gnome_mime_data, avahi, acl }:
 
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   buildInputs =
-    [ pkgconfig libxml2 bzip2 openssl samba dbus_glib fam cdparanoia
+    [ pkgconfig libxml2 bzip2 openssl dbus_glib fam cdparanoia
       intltool gnome_mime_data avahi acl
     ];
 
diff --git a/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
index 80557e827fe0..12cdd4a569c3 100644
--- a/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
+++ b/pkgs/desktops/kde-4.14/kdenetwork/krdc.nix
@@ -1,7 +1,7 @@
-{ kde, kdelibs, libvncserver, freerdp, telepathy_qt }:
+{ kde, kdelibs, libvncserver, freerdp_legacy, telepathy_qt }:
 
 kde {
-  buildInputs = [ kdelibs libvncserver freerdp telepathy_qt ];
+  buildInputs = [ kdelibs libvncserver freerdp_legacy telepathy_qt ];
 
   meta = {
     description = "KDE remote desktop client";
diff --git a/pkgs/desktops/kde-5/applications/default.nix b/pkgs/desktops/kde-5/applications/default.nix
index 25e1534609e7..fab9e2c29f8a 100644
--- a/pkgs/desktops/kde-5/applications/default.nix
+++ b/pkgs/desktops/kde-5/applications/default.nix
@@ -65,6 +65,7 @@ let
     libkipi = callPackage ./libkipi.nix {};
     libkomparediff2 = callPackage ./libkomparediff2.nix {};
     marble = callPackage ./marble.nix {};
+    okteta = callPackage ./okteta.nix {};
     okular = callPackage ./okular.nix {};
     print-manager = callPackage ./print-manager.nix {};
     spectacle = callPackage ./spectacle.nix {};
diff --git a/pkgs/desktops/kde-5/applications/gwenview.nix b/pkgs/desktops/kde-5/applications/gwenview.nix
index b97e4ce3bd6e..37a1605fe70a 100644
--- a/pkgs/desktops/kde-5/applications/gwenview.nix
+++ b/pkgs/desktops/kde-5/applications/gwenview.nix
@@ -2,7 +2,7 @@
   kdeApp, lib, kdeWrapper,
   ecm, kdoctools,
   baloo, exiv2, kactivities, kdelibs4support, kio, kipi-plugins, lcms2,
-  libkdcraw, libkipi, phonon, qtsvg, qtx11extras
+  libkdcraw, libkipi, phonon, qtimageformats, qtsvg, qtx11extras
 }:
 
 let
@@ -15,8 +15,8 @@ let
       };
       nativeBuildInputs = [ ecm kdoctools ];
       propagatedBuildInputs = [
-        baloo kactivities kdelibs4support kio qtx11extras exiv2 lcms2 libkdcraw
-        libkipi phonon qtsvg
+        baloo kactivities kdelibs4support kio exiv2 lcms2 libkdcraw
+        libkipi phonon qtimageformats qtsvg qtx11extras
       ];
     };
 in
diff --git a/pkgs/desktops/kde-5/applications/okteta.nix b/pkgs/desktops/kde-5/applications/okteta.nix
new file mode 100644
index 000000000000..6683b9876fcb
--- /dev/null
+++ b/pkgs/desktops/kde-5/applications/okteta.nix
@@ -0,0 +1,26 @@
+{
+  kdeApp, lib, kdeWrapper,
+  ecm, kdoctools,
+  kconfig, kinit,
+  kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5
+}:
+
+let
+  unwrapped =
+    kdeApp {
+      name = "okteta";
+      meta = {
+        license = with lib.licenses; [ gpl2 ];
+        maintainers = with lib.maintainers; [ peterhoeg ];
+      };
+      nativeBuildInputs = [ ecm kdoctools ];
+      propagatedBuildInputs = [
+        kconfig kinit
+        kcmutils kconfigwidgets knewstuff kparts qca-qt5
+      ];
+    };
+
+in kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/okteta" ];
+}
diff --git a/pkgs/development/compilers/julia/0.5.nix b/pkgs/development/compilers/julia/0.5.nix
index 04ef7b86c483..32d98b1ce135 100644
--- a/pkgs/development/compilers/julia/0.5.nix
+++ b/pkgs/development/compilers/julia/0.5.nix
@@ -2,6 +2,7 @@
 # build tools
 , gfortran, m4, makeWrapper, patchelf, perl, which, python2
 , runCommand
+, paxctl
 # libjulia dependencies
 , libunwind, readline, utf8proc, zlib
 , llvm, libffi, ncurses
@@ -71,7 +72,7 @@ stdenv.mkDerivation rec {
   patches = [
     ./0001.1-use-system-utf8proc.patch
     ./0002-use-system-suitesparse.patch
-  ];
+  ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
 
   postPatch = ''
     patchShebangs . contrib
@@ -89,7 +90,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
   ;
 
-  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
+  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
+    ++ stdenv.lib.optional stdenv.needsPax paxctl;
 
   makeFlags =
     let
diff --git a/pkgs/development/compilers/julia/0004-hardened-0.4.7.patch b/pkgs/development/compilers/julia/0004-hardened-0.4.7.patch
new file mode 100644
index 000000000000..1950cd7836a2
--- /dev/null
+++ b/pkgs/development/compilers/julia/0004-hardened-0.4.7.patch
@@ -0,0 +1,25 @@
+From 0bdbe60325a22202f8e250a9578407648a0d29b9 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Wed, 1 Feb 2017 06:09:49 -0600
+Subject: [PATCH] Set pax flags on julia binaries to disable memory protection.
+
+---
+ Makefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 8d45a1baa..91ea33b21 100644
+--- a/Makefile
++++ b/Makefile
+@@ -61,6 +61,8 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps
+ 
+ julia-ui-release julia-ui-debug : julia-ui-% : julia-src-%
+ 	@$(MAKE) $(QUIET_MAKE) -C ui julia-$*
++	@echo "setting PaX flags on $(JULIA_EXECUTABLE_$*)"
++	@paxctl -czexm $(JULIA_EXECUTABLE_$*)
+ 
+ julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples
+ 	@$(MAKE) $(QUIET_MAKE) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE)
+-- 
+2.11.0
+
diff --git a/pkgs/development/compilers/julia/0004-hardened.patch b/pkgs/development/compilers/julia/0004-hardened.patch
new file mode 100644
index 000000000000..901f967c9d55
--- /dev/null
+++ b/pkgs/development/compilers/julia/0004-hardened.patch
@@ -0,0 +1,25 @@
+From eddb251a00ace6e63e32e7dcb9e1ec632cac14e0 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Wed, 1 Feb 2017 06:09:49 -0600
+Subject: [PATCH] Set pax flags on julia binaries to disable memory protection.
+
+---
+ Makefile | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/Makefile b/Makefile
+index 0e28cc87b..aab8cfa8d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -91,6 +91,8 @@ julia-src-release julia-src-debug : julia-src-% : julia-deps julia_flisp.boot.in
+ 
+ julia-ui-release julia-ui-debug : julia-ui-% : julia-src-%
+ 	@$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT)/ui julia-$*
++	@echo "setting PaX flags on $(JULIA_EXECUTABLE_$*)"
++	@paxctl -czexm $(JULIA_EXECUTABLE_$*)
+ 
+ julia-inference : julia-base julia-ui-$(JULIA_BUILD_MODE) $(build_prefix)/.examples
+ 	@$(MAKE) $(QUIET_MAKE) -C $(BUILDROOT) $(build_private_libdir)/inference.ji JULIA_BUILD_MODE=$(JULIA_BUILD_MODE)
+-- 
+2.11.0
+
diff --git a/pkgs/development/compilers/julia/default.nix b/pkgs/development/compilers/julia/default.nix
index 214b31534818..ebdd4c760d10 100644
--- a/pkgs/development/compilers/julia/default.nix
+++ b/pkgs/development/compilers/julia/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, fetchurl
 # build tools
-, gfortran, m4, makeWrapper, patchelf, perl, which, python2
+, gfortran, m4, makeWrapper, patchelf, perl, which, python2, paxctl
 # libjulia dependencies
 , libunwind, llvm, readline, utf8proc, zlib
 # standard library dependencies
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
     ./0001-use-system-utf8proc.patch
     ./0002-use-system-suitesparse.patch
     ./0003-no-ldconfig.patch
-  ];
+  ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened-0.4.7.patch;
 
   postPatch = ''
     patchShebangs . contrib
@@ -79,7 +79,8 @@ stdenv.mkDerivation rec {
   ] ++
     stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices] ;
 
-  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
+  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
+    ++ stdenv.lib.optional stdenv.needsPax paxctl;
 
   makeFlags =
     let
diff --git a/pkgs/development/compilers/julia/git.nix b/pkgs/development/compilers/julia/git.nix
index 73f0e67baa56..9cfa8895f74a 100644
--- a/pkgs/development/compilers/julia/git.nix
+++ b/pkgs/development/compilers/julia/git.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchgit, fetchurl
 # build tools
-, gfortran, m4, makeWrapper, patchelf, perl, which, python2
+, gfortran, m4, makeWrapper, patchelf, perl, which, python2, paxctl
 # libjulia dependencies
 , libunwind, readline, utf8proc, zlib
 , llvm
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
   patches = [
     ./0001.1-use-system-utf8proc.patch
     ./0002-use-system-suitesparse.patch
-  ];
+  ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
 
   postPatch = ''
     patchShebangs . contrib
@@ -86,7 +86,8 @@ stdenv.mkDerivation rec {
   ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
   ;
 
-  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ];
+  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
+    ++ stdenv.lib.optional stdenv.needsPax paxctl;
 
   makeFlags =
     let
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 52a47c50420e..0f2f3d12a1ce 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.5-2";
+  version = "1.0.6";
   name = "kotlin-${version}";
 
   src = fetchurl {
     url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha512 = "0z8phc51y8dfjnm95fs2dnmvhp7xm2am5xm71byh598flkpjmagnwah4j8z9fpg4qy94dwmqxf5zs3q8nfra89kmwskzpvp7bbibi0h";
+    sha256 = "1dhliqd79hydd62xmrn2nwrcqy7lb5svkahkkpx9w3z9s5r0p8j2";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/ocaml/4.04.nix b/pkgs/development/compilers/ocaml/4.04.nix
index 7e35c9e1aa80..1ded1aed2325 100644
--- a/pkgs/development/compilers/ocaml/4.04.nix
+++ b/pkgs/development/compilers/ocaml/4.04.nix
@@ -3,4 +3,7 @@ import ./generic.nix {
   minor_version = "04";
   patch_version = "0";
   sha256 = "1d2nk3kq4dyzz8dls45r13jprq5by3q8kshc8kvxzm8n4fnnvvb4";
+
+  # If the executable is stipped it does not work
+  dontStrip = true;
 }
diff --git a/pkgs/development/compilers/rust/bootstrap.nix b/pkgs/development/compilers/rust/bootstrap.nix
index 93deee01e56e..b582b21dcc49 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -14,16 +14,16 @@ let
     then "x86_64-apple-darwin"
     else abort "missing boostrap url for platform ${stdenv.system}";
 
-  # fetch hashes by running `print-hashes.sh 1.13.0`
+  # fetch hashes by running `print-hashes.sh 1.14.0`
   bootstrapHash =
     if stdenv.system == "i686-linux"
-    then "239734113f6750d31085c7a08c260d492991cc1ef10817b6d44154515f3f9439"
+    then "8d5c75728b44468216f99651dfae9d60ae0696a77105dd2b02942d75f3256840"
     else if stdenv.system == "x86_64-linux"
-    then "95f4c372b1b81ac1038161e87e932dd7ab875d25c167a861c3949b0f6a65516d"
+    then "c71325cfea1b6f0bdc5189fa4c50ff96f828096ff3f7b5056367f9685d6a4d04"
     else if stdenv.system == "i686-darwin"
-    then "f6e01cab3bf8d0a6fe9cc2447aa10ce894569daaa72d44063c229da918b96023"
+    then "fe1b3d67329a22d67e3b8db8858a43022e2e746dde60ef4a2db3f2cac16ea9bd"
     else if stdenv.system == "x86_64-darwin"
-    then "f538ca5732b844cf7f00fc4aaaf200a49a845b58b4ec8aef38da0b00e2cf6efe"
+    then "3381341524b0184da5ed2cdcddc2a25e2e335e87f1cf676f64d98ee5e6479f20"
     else throw "missing boostrap hash for platform ${stdenv.system}";
 
   needsPatchelf = stdenv.isLinux;
@@ -33,7 +33,7 @@ let
      sha256 = bootstrapHash;
   };
 
-  version = "1.13.0";
+  version = "1.14.0";
 in
 
 rec {
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 7b8d5a3d1ef7..e3314732fa4d 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,15 +6,14 @@ let
 in
 rec {
   rustc = callPackage ./rustc.nix {
-    shortVersion = "1.14";
+    shortVersion = "1.15";
     isRelease = true;
     forceBundledLLVM = false;
     configureFlags = [ "--release-channel=stable" ];
-    srcRev = "e8a0123241f0d397d39cd18fcc4e5e7edde22730";
-    srcSha = "1sla3gnx9dqvivnyhvwz299mc3jmdy805q2y5xpmpi1vhfk0bafx";
+    srcRev = "10893a9a349cdd423f2490a6984acb5b3b7c8046";
+    srcSha = "0861iivb98ir9ixq2qzznfc1b2l9khlwdln5n0gf2mp1fi3w4d4f";
 
     patches = [
-      ./patches/disable-lockfile-check-stable.patch
       ./patches/darwin-disable-fragile-tcp-tests.patch
     ] ++ stdenv.lib.optional stdenv.needsPax ./patches/grsec.patch;
 
@@ -25,10 +24,10 @@ rec {
   };
 
   cargo = callPackage ./cargo.nix rec {
-    version = "0.15.0";
-    srcRev = "298a0127f703d4c2500bb06d309488b92ef84ae1";
-    srcSha = "0v74r18vszapw2rfk7w72czkp9gbq4s1sggphm5vx0kyh058dxc5";
-    depsSha256 = "0ksiywli8r4lkprfknm0yz1w27060psi3db6wblqmi8sckzdm44h";
+    version = "0.16.0";
+    srcRev = "6e0c18cccc8b0c06fba8a8d76486f81a792fb420";
+    srcSha = "117ivvs9wz848mwf8bw797n10qpn77agd353z8b0hxgbxhpribya";
+    depsSha256 = "11s2xpgfhl4mb4wa2nk4mzsypr7m9daxxc7l0vraiz5cr77gk7qq";
 
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
diff --git a/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch b/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch
deleted file mode 100644
index c5009b7ba672..000000000000
--- a/pkgs/development/compilers/rust/patches/disable-lockfile-check-stable.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e7378e267bba203bd593b49705c24303b0a46cb7 Mon Sep 17 00:00:00 2001
-From: David Craven <david@craven.ch>
-Date: Wed, 1 Jun 2016 01:41:35 +0200
-Subject: [PATCH] disable-lockfile-check
-
----
- src/tools/tidy/src/main.rs | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/tools/tidy/src/main.rs b/src/tools/tidy/src/main.rs
-index 2839bbd..50142ff 100644
---- a/src/tools/tidy/src/main.rs
-+++ b/src/tools/tidy/src/main.rs
-@@ -48,7 +48,7 @@ fn main() {
-     errors::check(&path, &mut bad);
-     cargo::check(&path, &mut bad);
-     features::check(&path, &mut bad);
--    cargo_lock::check(&path, &mut bad);
-+    //cargo_lock::check(&path, &mut bad);
-     pal::check(&path, &mut bad);
- 
-     if bad {
-         panic!("some tidy checks failed");
--- 
-2.8.3
-
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index 056177fd265f..a693afb8b597 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -56,6 +56,8 @@ stdenv.mkDerivation {
                 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
                 # ++ [ "--jemalloc-root=${jemalloc}/lib"
                 ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
+                # TODO: Remove when fixed build with rustbuild
+                ++ [ "--disable-rustbuild" ]
                 ++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
                 ++ optional (targets != []) "--target=${target}"
                 ++ optional (!forceBundledLLVM) "--llvm-root=${llvmShared}";
diff --git a/pkgs/development/compilers/souper/default.nix b/pkgs/development/compilers/souper/default.nix
new file mode 100644
index 000000000000..74e1cbf68d30
--- /dev/null
+++ b/pkgs/development/compilers/souper/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchFromGitHub, cmake, makeWrapper
+, llvmPackages_39, hiredis, z3_opt, gtest
+}:
+
+let
+  klee = fetchFromGitHub {
+    owner = "klee";
+    repo  = "klee";
+    rev   = "a743d7072d9ccf11f96e3df45f25ad07da6ad9d6";
+    sha256 = "0qwzs029vlba8xz362n4b00hdm2z3lzhzmvix1r8kpbfrvs8vv91";
+  };
+in stdenv.mkDerivation {
+  name = "souper-unstable-2017-01-05";
+
+  src = fetchFromGitHub {
+    owner  = "google";
+    repo   = "souper";
+    rev    = "1be75fe6a96993b57dcba038798fe6d1c7d113eb";
+    sha256 = "0r8mjb88lwz9a3syx7gwsxlwfg0krffaml04ggaf3ad0cza2mvm8";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    makeWrapper
+  ];
+
+  buildInputs = [
+    llvmPackages_39.llvm
+    llvmPackages_39.clang-unwrapped
+    hiredis
+    gtest
+  ];
+
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+      mkdir -pv third_party
+      cp -R "${klee}" third_party/klee
+  '';
+
+  installPhase = ''
+      mkdir -pv $out/bin
+      cp -v ./souper       $out/bin/
+      cp -v ./clang-souper $out/bin/
+      wrapProgram "$out/bin/souper" \
+          --add-flags "-z3-path=\"${z3_opt}/bin/z3\""
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A superoptimizer for LLVM IR";
+    homepage    = "https://github.com/google/souper";
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ taktoa ];
+    platforms   = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index a09d4c4a3cdc..81eff1d42507 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -1,3 +1,14 @@
+# COMMON OVERRIDES FOR THE HASKELL PACKAGE SET IN NIXPKGS
+#
+# This file contains haskell package overrides that are shared by all
+# haskell package sets provided by nixpkgs and distributed via the official
+# NixOS hydra instance.
+#
+# Overrides that would also make sense for custom haskell package sets not provided
+# as part of nixpkgs and that are specific to Nix should go in configuration-nix.nix
+#
+# See comment at the top of configuration-nix.nix for more information about this
+# distinction.
 { pkgs }:
 
 with import ./lib.nix { inherit pkgs; };
@@ -15,9 +26,6 @@ self: super: {
   # Link statically to avoid runtime dependency on GHC.
   jailbreak-cabal = (disableSharedExecutables super.jailbreak-cabal).override { Cabal = self.Cabal_1_20_0_4; };
 
-  # Apply NixOS-specific patches.
-  ghc-paths = appendPatch super.ghc-paths ./patches/ghc-paths-nix.patch;
-
   # enable using a local hoogle with extra packagages in the database
   # nix-shell -p "haskellPackages.hoogleLocal (with haskellPackages; [ mtl lens ])"
   # $ hoogle server
@@ -35,9 +43,6 @@ self: super: {
   statistics = dontCheck super.statistics;
   c2hs = dontCheck super.c2hs;
 
-  # fix errors caused by hardening flags
-  epanet-haskell = disableHardening super.epanet-haskell ["format"];
-
   # This test keeps being aborted because it runs too quietly for too long
   Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
 
@@ -45,6 +50,9 @@ self: super: {
   # test phase requires networking
   mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.lib; });
 
+  # check requires mysql server
+  mysql-simple = dontCheck super.mysql-simple;
+
   # Link the proper version.
   zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
 
@@ -63,49 +71,11 @@ self: super: {
     hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
   };
 
-  # CUDA needs help finding the SDK headers and libraries.
-  cuda = overrideCabal super.cuda (drv: {
-    extraLibraries = (drv.extraLibraries or []) ++ [pkgs.linuxPackages.nvidia_x11];
-    configureFlags = (drv.configureFlags or []) ++
-      pkgs.lib.optional pkgs.stdenv.is64bit "--extra-lib-dirs=${pkgs.cudatoolkit}/lib64" ++ [
-      "--extra-lib-dirs=${pkgs.cudatoolkit}/lib"
-      "--extra-include-dirs=${pkgs.cudatoolkit}/include"
-    ];
-    preConfigure = ''
-      unset CC          # unconfuse the haskell-cuda configure script
-      sed -i -e 's|/usr/local/cuda|${pkgs.cudatoolkit}|g' configure
-    '';
-  });
-
-  # jni needs help finding libjvm.so because it's in a weird location.
-  jni = overrideCabal super.jni (drv: {
-    preConfigure = ''
-      local libdir=( "${pkgs.jdk}/lib/openjdk/jre/lib/"*"/server" )
-      configureFlags+=" --extra-lib-dir=''${libdir[0]}"
-    '';
-  });
-
-  # The package doesn't know about the AL include hierarchy.
-  # https://github.com/phaazon/al/issues/1
-  al = appendConfigureFlag super.al "--extra-include-dirs=${pkgs.openal}/include/AL";
-
   # https://github.com/froozen/kademlia/issues/2
   kademlia = dontCheck super.kademlia;
 
-  # Won't find it's header files without help.
-  sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
-
-  hzk = overrideCabal super.hzk (drv: {
-    preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
-    configureFlags =  "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
-    doCheck = false;
-  });
-
-  haskakafka = overrideCabal super.haskakafka (drv: {
-    preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
-    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
-    doCheck = false;
-  });
+  hzk = dontCheck super.hzk;
+  haskakafka = dontCheck super.haskakafka;
 
   # Depends on broken "lss" package.
   snaplet-lss = dontDistribute super.snaplet-lss;
@@ -124,9 +94,6 @@ self: super: {
   # Depends on broken "hails" package.
   hails-bin = dontDistribute super.hails-bin;
 
-  # Foreign dependency name clashes with another Haskell package.
-  libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
-
   # Switch levmar build to openblas.
   bindings-levmar = overrideCabal super.bindings-levmar (drv: {
     preConfigure = ''
@@ -189,11 +156,6 @@ self: super: {
     # https://github.com/jaspervdj/hakyll/issues/491
     else dontCheck super.hakyll;
 
-  # Heist's test suite requires system pandoc
-  heist = overrideCabal super.heist (drv: {
-    testToolDepends = [pkgs.pandoc];
-  });
-
   # cabal2nix likes to generate dependencies on hinotify when hfsevents is really required
   # on darwin: https://github.com/NixOS/cabal2nix/issues/146.
   hinotify = if pkgs.stdenv.isDarwin then self.hfsevents else super.hinotify;
@@ -205,20 +167,6 @@ self: super: {
     then addBuildDepend (dontCheck super.fsnotify) pkgs.darwin.apple_sdk.frameworks.Cocoa
     else dontCheck super.fsnotify;
 
-  # the system-fileio tests use canonicalizePath, which fails in the sandbox
-  system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
-
-  # Prevents needing to add security_tool as a build tool to all of x509-system's
-  # dependencies.
-  x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
-    then let inherit (pkgs.darwin) security_tool;
-      in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
-        postPatch = (drv.postPatch or "") + ''
-          substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security
-        '';
-      })
-    else super.x509-system;
-
   double-conversion = if !pkgs.stdenv.isDarwin
     then addExtraLibrary super.double-conversion pkgs.stdenv.cc.cc.lib
     else addExtraLibrary (overrideCabal super.double-conversion (drv:
@@ -240,29 +188,9 @@ self: super: {
   # tests don't compile for some odd reason
   jwt = dontCheck super.jwt;
 
-  # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
-  gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.gtk2hs-buildtools) pkgs.glib) ["fortify"];
-  glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.gtk2hs-buildtools) pkgs.glib) ["fortify"];
-  gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"];
-  gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.gtk2hs-buildtools) pkgs.gtk2) ["fortify"];
-  gtksourceview2 = (addPkgconfigDepend super.gtksourceview2 pkgs.gtk2).override { inherit (pkgs.gnome2) gtksourceview; };
-  gtksourceview3 = super.gtksourceview3.override { inherit (pkgs.gnome3) gtksourceview; };
-
-  # Need WebkitGTK, not just webkit.
-  webkit = super.webkit.override { webkit = pkgs.webkitgtk2; };
-  webkitgtk3 = super.webkitgtk3.override { webkit = pkgs.webkitgtk24x; };
-  webkitgtk3-javascriptcore = super.webkitgtk3-javascriptcore.override { webkit = pkgs.webkitgtk24x; };
-  websnap = super.websnap.override { webkit = pkgs.webkitgtk24x; };
-
   # https://github.com/mvoidex/hsdev/issues/11
   hsdev = dontHaddock super.hsdev;
 
-  hs-mesos = overrideCabal super.hs-mesos (drv: {
-    # Pass _only_ mesos; the correct protobuf is propagated.
-    extraLibraries = [ pkgs.mesos ];
-    preConfigure = "sed -i -e /extra-lib-dirs/d -e 's|, /usr/include, /usr/local/include/mesos||' hs-mesos.cabal";
-  });
-
   # Upstream notified by e-mail.
   permutation = dontCheck super.permutation;
 
@@ -304,38 +232,6 @@ self: super: {
   HerbiePlugin = dontCheck super.HerbiePlugin;
   wai-cors = dontCheck super.wai-cors;
 
-  # These packages try to access the network.
-  amqp = dontCheck super.amqp;
-  amqp-conduit = dontCheck super.amqp-conduit;
-  bitcoin-api = dontCheck super.bitcoin-api;
-  bitcoin-api-extra = dontCheck super.bitcoin-api-extra;
-  bitx-bitcoin = dontCheck super.bitx-bitcoin;          # http://hydra.cryp.to/build/926187/log/raw
-  concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
-  digitalocean-kzs = dontCheck super.digitalocean-kzs;  # https://github.com/KazumaSATO/digitalocean-kzs/issues/1
-  github-types = dontCheck super.github-types;          # http://hydra.cryp.to/build/1114046/nixlog/1/raw
-  hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
-  hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
-  hasql-transaction = dontCheck super.hasql-transaction; # wants to connect to postgresql
-  hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
-  marmalade-upload = dontCheck super.marmalade-upload;  # http://hydra.cryp.to/build/501904/nixlog/1/raw
-  mongoDB = dontCheck super.mongoDB;
-  network-transport-tcp = dontCheck super.network-transport-tcp;
-  network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
-  pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
-  raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
-  riak = dontCheck super.riak;                          # http://hydra.cryp.to/build/498763/log/raw
-  scotty-binding-play = dontCheck super.scotty-binding-play;
-  servant-router = dontCheck super.servant-router;
-  serversession-backend-redis = dontCheck super.serversession-backend-redis;
-  slack-api = dontCheck super.slack-api;                # https://github.com/mpickering/slack-api/issues/5
-  socket = dontCheck super.socket;
-  stackage = dontCheck super.stackage;                  # http://hydra.cryp.to/build/501867/nixlog/1/raw
-  textocat-api = dontCheck super.textocat-api;          # http://hydra.cryp.to/build/887011/log/raw
-  warp = dontCheck super.warp;                          # http://hydra.cryp.to/build/501073/nixlog/5/raw
-  wreq = dontCheck super.wreq;                          # http://hydra.cryp.to/build/501895/nixlog/1/raw
-  wreq-sb = dontCheck super.wreq-sb;                    # http://hydra.cryp.to/build/783948/log/raw
-  wuss = dontCheck super.wuss;                          # http://hydra.cryp.to/build/875964/nixlog/2/raw
-
   # https://github.com/NICTA/digit/issues/3
   digit = dontCheck super.digit;
 
@@ -345,9 +241,6 @@ self: super: {
   # https://github.com/ekmett/structures/issues/3
   structures = dontCheck super.structures;
 
-  # Tries to mess with extended POSIX attributes, but can't in our chroot environment.
-  xattr = dontCheck super.xattr;
-
   # Disable test suites to fix the build.
   acme-year = dontCheck super.acme-year;                # http://hydra.cryp.to/build/497858/log/raw
   aeson-lens = dontCheck super.aeson-lens;              # http://hydra.cryp.to/build/496769/log/raw
@@ -423,8 +316,6 @@ self: super: {
   HTF = dontCheck super.HTF;
   htsn = dontCheck super.htsn;
   htsn-import = dontCheck super.htsn-import;
-  http-client-openssl = dontCheck super.http-client-openssl;
-  http-client-tls = dontCheck super.http-client-tls;
   ihaskell = dontCheck super.ihaskell;
   influxdb = dontCheck super.influxdb;
   itanium-abi = dontCheck super.itanium-abi;
@@ -489,9 +380,6 @@ self: super: {
   snap-core = dontCheck super.snap-core;
   sourcemap = dontCheck super.sourcemap;
 
-   # Needs access to locale data, but looks for it in the wrong place.
-  scholdoc-citeproc = dontCheck super.scholdoc-citeproc;
-
   # These test suites run for ages, even on a fast machine. This is nuts.
   Random123 = dontCheck super.Random123;
   systemd = dontCheck super.systemd;
@@ -502,12 +390,6 @@ self: super: {
   # https://github.com/bos/snappy/issues/1
   snappy = dontCheck super.snappy;
 
-  # Expect to find sendmail(1) in $PATH.
-  mime-mail = appendConfigureFlag super.mime-mail "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\"";
-
-  # Help the test suite find system timezone data.
-  tz = overrideCabal super.tz (drv: { preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo"; });
-
   # https://ghc.haskell.org/trac/ghc/ticket/9625
   vty = dontCheck super.vty;
   vty_5_15 = dontCheck super.vty_5_15;
@@ -527,18 +409,12 @@ self: super: {
   # https://github.com/pixbi/duplo/issues/25
   duplo = dontCheck super.duplo;
 
-  # Nix-specific workaround
-  xmonad = appendPatch (dontCheck super.xmonad) ./patches/xmonad-nix.patch;
-
   # https://github.com/evanrinehart/mikmod/issues/1
   mikmod = addExtraLibrary super.mikmod pkgs.libmikmod;
 
   # https://github.com/basvandijk/threads/issues/10
   threads = dontCheck super.threads;
 
-  # https://github.com/ucsd-progsys/liquid-fixpoint/issues/44
-  liquid-fixpoint = overrideCabal super.liquid-fixpoint (drv: { preConfigure = "patchShebangs ."; });
-
   # Missing module.
   rematch = dontCheck super.rematch;            # https://github.com/tcrayford/rematch/issues/5
   rematch-text = dontCheck super.rematch-text;  # https://github.com/tcrayford/rematch/issues/6
@@ -558,11 +434,6 @@ self: super: {
   # https://github.com/vincenthz/hs-asn1/issues/12
   asn1-encoding = dontCheck super.asn1-encoding;
 
-  # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
-  # http://hydra.cryp.to/build/1331287/log/raw
-  wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; };
-  wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
-
   # Depends on QuickCheck 1.x.
   HaVSA = super.HaVSA.override { QuickCheck = self.QuickCheck_1_2_0_1; };
   test-framework-quickcheck = super.test-framework-quickcheck.override { QuickCheck = self.QuickCheck_1_2_0_1; };
@@ -584,9 +455,6 @@ self: super: {
   # https://github.com/alephcloud/hs-configuration-tools/issues/40
   configuration-tools = dontCheck super.configuration-tools;
 
-  # Test suite wants to connect to $DISPLAY.
-  hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.mesa);
-
   # HsColour: Language/Unlambda.hs: hGetContents: invalid argument (invalid byte sequence)
   unlambda = dontHyperlinkSource super.unlambda;
 
@@ -604,10 +472,6 @@ self: super: {
     preConfigure = "sed -i -e 's,time .* < 1.6,time >= 1.5,' -e 's,haddock-library >= 1.1 && < 1.3,haddock-library >= 1.1,' pandoc.cabal";
   });
 
-  # Tests attempt to use NPM to install from the network into
-  # /homeless-shelter. Disabled.
-  purescript = dontCheck super.purescript;
-
   # Requires bower-json >= 1.0.0.1 && < 1.1
   purescript_0_10_5 = super.purescript_0_10_5.overrideScope (self: super: {
     bower-json = self.bower-json_1_0_0_1;
@@ -633,50 +497,6 @@ self: super: {
   # https://github.com/anton-k/csound-expression-dynamic/issues/1
   csound-expression-dynamic = dontHaddock super.csound-expression-dynamic;
 
-  # Hardcoded include path
-  poppler = overrideCabal super.poppler (drv: {
-    postPatch = ''
-      sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal
-      sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc
-    '';
-  });
-
-  # Uses OpenGL in testing
-  caramia = dontCheck super.caramia;
-
-  llvm-general-darwin = overrideCabal (super.llvm-general.override { llvm-config = pkgs.llvm_35; }) (drv: {
-      preConfigure = ''
-        sed -i llvm-general.cabal \
-            -e 's,extra-libraries: stdc++,extra-libraries: c++,'
-      '';
-      configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
-      librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
-    });
-
-  # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
-  llvm-general =
-    if pkgs.stdenv.isDarwin
-    then self.llvm-general-darwin
-    else super.llvm-general.override { llvm-config = pkgs.llvm_35; };
-
-  # Needs help finding LLVM.
-  spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
-
-  # Tries to run GUI in tests
-  leksah = dontCheck (overrideCabal super.leksah (drv: {
-    executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [
-      gnome3.defaultIconTheme # Fix error: Icon 'window-close' not present in theme ...
-      wrapGAppsHook           # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
-      gtk3                    # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
-    ]);
-    postPatch = (drv.postPatch or "") + ''
-      for f in src/IDE/Leksah.hs src/IDE/Utils/ServerConnection.hs
-      do
-        substituteInPlace "$f" --replace "\"leksah-server\"" "\"${self.leksah-server}/bin/leksah-server\""
-      done
-    '';
-  }));
-
   # Packages of the diagrams ecosystem that require:
   #   diagrams-core ==1.4.*
   #   diagrams-lib ==1.4.*
@@ -712,9 +532,6 @@ self: super: {
     optparse-applicative = self.optparse-applicative_0_13_0_0;
   });
 
-  # Patch to consider NIX_GHC just like xmonad does
-  dyre = appendPatch super.dyre ./patches/dyre-nix.patch;
-
   # Test suite won't compile against tasty-hunit 0.9.x.
   zlib = dontCheck super.zlib;
 
@@ -767,14 +584,6 @@ self: super: {
   # https://github.com/yesodweb/serversession/issues/1
   serversession = dontCheck super.serversession;
 
-  yesod-bin = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.yesod-bin pkgs.darwin.apple_sdk.frameworks.Cocoa
-    else super.yesod-bin;
-
-  hmatrix = if pkgs.stdenv.isDarwin
-    then addBuildDepend super.hmatrix pkgs.darwin.apple_sdk.frameworks.Accelerate
-    else super.hmatrix;
-
   # Hydra no longer allows building texlive packages.
   lhs2tex = dontDistribute super.lhs2tex;
 
@@ -790,16 +599,6 @@ self: super: {
   # https://github.com/kazu-yamamoto/logger/issues/42
   logger = dontCheck super.logger;
 
-  # https://github.com/edwinb/EpiVM/issues/13
-  # https://github.com/edwinb/EpiVM/issues/14
-  epic = addExtraLibraries (addBuildTool super.epic self.happy) [pkgs.boehmgc pkgs.gmp];
-
-  # https://github.com/ekmett/wl-pprint-terminfo/issues/7
-  wl-pprint-terminfo = addExtraLibrary super.wl-pprint-terminfo pkgs.ncurses;
-
-  # https://github.com/bos/pcap/issues/5
-  pcap = addExtraLibrary super.pcap pkgs.libpcap;
-
   # https://github.com/qnikst/imagemagick/issues/34
   imagemagick = dontCheck super.imagemagick;
 
@@ -889,40 +688,6 @@ self: super: {
   # https://github.com/bos/configurator/issues/22
   configurator = dontCheck super.configurator;
 
-  # The cabal files for these libraries do not list the required system dependencies.
-  miniball = overrideCabal super.miniball (drv: {
-    librarySystemDepends = [ pkgs.miniball ];
-  });
-  SDL-image = overrideCabal super.SDL-image (drv: {
-    librarySystemDepends = [ pkgs.SDL pkgs.SDL_image ] ++ drv.librarySystemDepends or [];
-  });
-  SDL-ttf = overrideCabal super.SDL-ttf (drv: {
-    librarySystemDepends = [ pkgs.SDL pkgs.SDL_ttf ];
-  });
-  SDL-mixer = overrideCabal super.SDL-mixer (drv: {
-    librarySystemDepends = [ pkgs.SDL pkgs.SDL_mixer ];
-  });
-  SDL-gfx = overrideCabal super.SDL-gfx (drv: {
-    librarySystemDepends = [ pkgs.SDL pkgs.SDL_gfx ];
-  });
-  SDL-mpeg = overrideCabal super.SDL-mpeg (drv: {
-    configureFlags = (drv.configureFlags or []) ++ [
-      "--extra-lib-dirs=${pkgs.smpeg}/lib"
-      "--extra-include-dirs=${pkgs.smpeg}/include/smpeg"
-    ];
-  });
-
-  # https://github.com/ivanperez-keera/hcwiid/pull/4
-  hcwiid = overrideCabal super.hcwiid (drv: {
-    configureFlags = (drv.configureFlags or []) ++ [
-      "--extra-lib-dirs=${pkgs.bluez.out}/lib"
-      "--extra-lib-dirs=${pkgs.cwiid}/lib"
-      "--extra-include-dirs=${pkgs.cwiid}/include"
-      "--extra-include-dirs=${pkgs.bluez.dev}/include"
-    ];
-    prePatch = '' sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal" '';
-  });
-
   # https://github.com/basvandijk/concurrent-extra/issues/12
   concurrent-extra = dontCheck super.concurrent-extra;
 
@@ -938,16 +703,6 @@ self: super: {
   # https://github.com/goldfirere/singletons/issues/122
   singletons = dontCheck super.singletons;
 
-  # cabal2nix doesn't pick up some of the dependencies.
-  ginsu = let
-    g = addBuildDepend super.ginsu pkgs.perl;
-    g' = overrideCabal g (drv: {
-      executableSystemDepends = (drv.executableSystemDepends or []) ++ [
-        pkgs.ncurses
-      ];
-    });
-  in g';
-
   # https://github.com/guillaume-nargeot/hpc-coveralls/issues/52
   hpc-coveralls = disableSharedExecutables super.hpc-coveralls;
 
@@ -960,72 +715,20 @@ self: super: {
   # https://github.com/sol/hpack/issues/53
   hpack = dontCheck super.hpack;
 
-  # Tests require `docker` command in PATH
-  # Tests require running docker service :on localhost
-  docker = dontCheck super.docker;
-
   # https://github.com/deech/fltkhs/issues/16
   fltkhs = overrideCabal super.fltkhs (drv: {
-    libraryToolDepends = (drv.libraryToolDepends or []) ++ [pkgs.autoconf];
-    librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.fltk13 pkgs.mesa_noglu pkgs.libjpeg];
     broken = true;      # linking fails because the build doesn't pull in the mesa libraries
   });
   fltkhs-fluid-examples = dontDistribute super.fltkhs-fluid-examples;
 
-  # https://github.com/skogsbaer/hscurses/pull/26
-  hscurses = overrideCabal super.hscurses (drv: {
-    librarySystemDepends = (drv.librarySystemDepends or []) ++ [ pkgs.ncurses ];
-  });
-
   # We get lots of strange compiler errors during the test suite run.
   jsaddle = dontCheck super.jsaddle;
 
-  # Looks like Avahi provides the missing library
-  dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; };
-
   # Haste stuff
   haste-Cabal         = markBroken (self.callPackage ../tools/haskell/haste/haste-Cabal.nix {});
   haste-cabal-install = markBroken (self.callPackage ../tools/haskell/haste/haste-cabal-install.nix { Cabal = self.haste-Cabal; });
   haste-compiler      = markBroken (self.callPackage ../tools/haskell/haste/haste-compiler.nix { inherit overrideCabal; super-haste-compiler = super.haste-compiler; });
 
-  # Ensure the necessary frameworks are propagatedBuildInputs on darwin
-  OpenGLRaw = overrideCabal super.OpenGLRaw (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
-    preConfigure = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
-      frameworkPaths=($(for i in $nativeBuildInputs; do if [ -d "$i"/Library/Frameworks ]; then echo "-F$i/Library/Frameworks"; fi done))
-      frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}")
-      configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi)
-    '';
-  });
-  GLURaw = overrideCabal super.GLURaw (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
-  });
-  bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
-    doCheck = false; # requires an active X11 display
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            (with pkgs.darwin.apple_sdk.frameworks;
-                             [ AGL Cocoa OpenGL IOKit Kernel CoreVideo
-                               pkgs.darwin.CF ]);
-  });
-  OpenCL = overrideCabal super.OpenCL (drv: {
-    librarySystemDepends =
-      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
-    libraryHaskellDepends = drv.libraryHaskellDepends
-      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
-                            [ pkgs.darwin.apple_sdk.frameworks.OpenCL ];
-  });
-
   # tinc is a new build driver a la Stack that's not yet available from Hackage.
   tinc = self.callPackage ../tools/haskell/tinc {};
 
@@ -1076,18 +779,6 @@ self: super: {
   # Test suite fails a QuickCheck property.
   optparse-applicative_0_13_0_0 = dontCheck super.optparse-applicative_0_13_0_0;
 
-  # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
-  # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
-  # depend on freeglut, which provides GHC to necessary information to generate a correct RPATH.
-  #
-  # Note: Simply patching the dynamic library (.so) of the GLUT build will *not* work, since the
-  # RPATH also needs to be propagated when using static linking. GHC automatically handles this for
-  # us when we patch the cabal file (Link options will be recored in the ghc package registry).
-  #
-  # Additional note: nixpkgs' freeglut and macOS's OpenGL implementation do not cooperate,
-  # so disable this on Darwin only
-  ${if pkgs.stdenv.isDarwin then null else "GLUT"} = addPkgconfigDepend (appendPatch super.GLUT ./patches/GLUT.patch) pkgs.freeglut;
-
   # https://github.com/Philonous/hs-stun/pull/1
   # Remove if a version > 0.1.0.1 ever gets released.
   stunclient = overrideCabal super.stunclient (drv: {
@@ -1096,15 +787,13 @@ self: super: {
     '';
   });
 
+  # test suite cannot find its own "idris" binary
   idris = overrideCabal super.idris (drv: {
     # "idris" binary cannot find Idris library otherwise while building. After
     # installing it's completely fine though. This seems like a bug in Idris
     # that's related to builds with shared libraries enabled. It would be great
     # if someone who knows a thing or two about Idris could look into this.
     preBuild = "export LD_LIBRARY_PATH=$PWD/dist/build:$LD_LIBRARY_PATH";
-    # https://github.com/idris-lang/Idris-dev/issues/2499
-    librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp];
-    # test suite cannot find its own "idris" binary
     doCheck = false;
   });
 
@@ -1180,10 +869,6 @@ self: super: {
   # note: the library is unmaintained, no upstream issue
   dataenc = doJailbreak super.dataenc;
 
-  libsystemd-journal = overrideCabal super.libsystemd-journal (old: {
-    librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ];
-  });
-
   # horribly outdated (X11 interface changed a lot)
   sindre = markBroken super.sindre;
 
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 75b59ced71ce..634648b91759 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -37,7 +37,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 7.18
+  # LTS Haskell 7.19
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Vector ==2.3.2
@@ -55,7 +55,7 @@ default-package-overrides:
   - aeson-casing ==0.1.0.5
   - aeson-compat ==0.3.6
   - aeson-generic-compat ==0.0.1.0
-  - aeson-injector ==1.0.6.0
+  - aeson-injector ==1.0.7.0
   - aeson-pretty ==0.8.2
   - aeson-qq ==0.8.1
   - aeson-utils ==0.3.0.2
@@ -261,6 +261,7 @@ default-package-overrides:
   - c2hs ==0.28.1
   - Cabal ==1.24.2.0
   - cabal-dependency-licenses ==0.1.2.0
+  - cabal-doctest ==1
   - cabal-file-th ==0.2.4
   - cabal-helper ==0.7.3.0
   - cabal-rpm ==0.10.1
@@ -329,7 +330,7 @@ default-package-overrides:
   - clumpiness ==0.17.0.0
   - ClustalParser ==1.1.4
   - clustering ==0.2.1
-  - cmark ==0.5.4
+  - cmark ==0.5.5
   - cmark-highlight ==0.2.0.0
   - cmark-lucid ==0.1.0.0
   - cmdargs ==0.10.14
@@ -463,7 +464,7 @@ default-package-overrides:
   - distributed-closure ==0.3.3.0
   - distributed-static ==0.3.5.0
   - distribution-nixpkgs ==1.0.0.1
-  - distributive ==0.5.1
+  - distributive ==0.5.2
   - diversity ==0.8.0.1
   - djinn-ghc ==0.0.2.3
   - djinn-lib ==0.0.1.2
@@ -493,7 +494,7 @@ default-package-overrides:
   - easy-file ==0.2.1
   - Ebnf2ps ==1.0.15
   - ed25519 ==0.0.5.0
-  - ede ==0.2.8.6
+  - ede ==0.2.8.7
   - EdisonAPI ==1.3.1
   - EdisonCore ==1.3.1.1
   - edit-distance ==0.2.2.1
@@ -544,7 +545,7 @@ default-package-overrides:
   - farmhash ==0.1.0.5
   - fast-builder ==0.0.0.6
   - fast-digits ==0.2.1.0
-  - fast-logger ==2.4.8
+  - fast-logger ==2.4.10
   - fasta ==0.10.4.0
   - fay ==0.23.1.12
   - fay-base ==0.20.0.1
@@ -609,7 +610,7 @@ default-package-overrides:
   - generic-xmlpickler ==0.1.0.5
   - GenericPretty ==1.2.1
   - generics-eot ==0.2.1.1
-  - generics-sop ==0.2.3.0
+  - generics-sop ==0.2.4.0
   - generics-sop-lens ==0.1.2.1
   - geniplate-mirror ==0.7.4
   - genvalidity ==0.2.0.4
@@ -819,7 +820,7 @@ default-package-overrides:
   - HaskellNet-SSL ==0.3.3.0
   - haskintex ==0.6.0.1
   - haskoin-core ==0.4.0
-  - hasql ==0.19.15.2
+  - hasql ==0.19.16
   - hastache ==0.6.1
   - hasty-hamiltonian ==1.1.5
   - HaTeX ==3.17.1.0
@@ -847,7 +848,7 @@ default-package-overrides:
   - hid ==0.2.2
   - hidapi ==0.1.4
   - hierarchical-clustering ==0.4.6
-  - highlighting-kate ==0.6.3
+  - highlighting-kate ==0.6.4
   - hinotify ==0.3.9
   - hint ==0.6.0
   - hip ==1.2.0.0
@@ -1052,7 +1053,7 @@ default-package-overrides:
   - knob ==0.1.1
   - koofr-client ==1.0.0.3
   - kraken ==0.0.3
-  - lackey ==0.4.1
+  - lackey ==0.4.2
   - language-c ==0.5.0
   - language-c-quote ==0.11.7.1
   - language-dockerfile ==0.3.5.0
@@ -1177,7 +1178,7 @@ default-package-overrides:
   - monad-time ==0.2
   - monad-unlift ==0.2.0
   - monad-unlift-ref ==0.2.0
-  - monadcryptorandom ==0.7.0
+  - monadcryptorandom ==0.7.1
   - monadic-arrays ==0.2.2
   - monadLib ==3.7.3
   - monadloc ==0.7.1
@@ -1295,7 +1296,7 @@ default-package-overrides:
   - parsec ==3.1.11
   - parsers ==0.12.4
   - partial-handler ==1.0.2
-  - path ==0.5.11
+  - path ==0.5.12
   - path-extra ==0.0.3
   - path-io ==1.2.2
   - path-pieces ==0.2.1
@@ -1361,7 +1362,7 @@ default-package-overrides:
   - polyparse ==1.12
   - posix-realtime ==0.0.0.4
   - post-mess-age ==0.2.1.0
-  - postgresql-binary ==0.9.1.1
+  - postgresql-binary ==0.9.2
   - postgresql-libpq ==0.9.3.0
   - postgresql-query ==3.0.1
   - postgresql-schema ==0.1.10
@@ -1443,7 +1444,7 @@ default-package-overrides:
   - readable ==0.3.1
   - ReadArgs ==1.2.3
   - readline ==1.0.3.0
-  - rebase ==1.0.6
+  - rebase ==1.0.8
   - redis-io ==0.7.0
   - redis-resp ==0.4.0
   - reducers ==3.12.1
@@ -1467,7 +1468,7 @@ default-package-overrides:
   - regex-tdfa ==1.2.2
   - regex-tdfa-text ==1.0.0.3
   - reinterpret-cast ==0.1.0
-  - relational-query ==0.8.3.2
+  - relational-query ==0.8.3.4
   - relational-query-HDBC ==0.6.0.2
   - relational-record ==0.1.5.1
   - relational-schemas ==0.1.3.1
@@ -1476,6 +1477,7 @@ default-package-overrides:
   - repa-algorithms ==3.4.1.1
   - repa-io ==3.4.1.1
   - RepLib ==0.5.4
+  - rerebase ==1.0.3
   - reroute ==0.4.0.1
   - resolve-trivial-conflicts ==0.3.2.4
   - resource-pool ==0.2.3.2
@@ -1517,7 +1519,7 @@ default-package-overrides:
   - scotty ==0.11.0
   - scrape-changes ==0.1.0.4
   - scrypt ==0.5.0
-  - sdl2 ==2.1.3
+  - sdl2 ==2.1.3.1
   - secp256k1 ==0.4.6
   - securemem ==0.1.9
   - SegmentTree ==0.3
@@ -1545,7 +1547,7 @@ default-package-overrides:
   - servant-server ==0.8.1
   - servant-subscriber ==0.5.0.3
   - servant-swagger ==1.1.2
-  - servant-swagger-ui ==0.2.1.2.2.8
+  - servant-swagger-ui ==0.2.2.2.2.8
   - servant-yaml ==0.1.0.0
   - serversession ==1.0.1
   - serversession-backend-acid-state ==1.0.3
@@ -1777,7 +1779,7 @@ default-package-overrides:
   - tree-fun ==0.8.1.0
   - tree-view ==0.4
   - tries ==0.0.4
-  - trifecta ==1.6.1
+  - trifecta ==1.6.2.1
   - true-name ==0.1.0.2
   - ttrie ==0.1.2.1
   - tttool ==1.6.1.2
@@ -1796,9 +1798,10 @@ default-package-overrides:
   - type-level-numbers ==0.1.1.1
   - type-list ==0.5.0.0
   - type-spec ==0.2.0.0
+  - typed-process ==0.1.0.0
   - typelits-witnesses ==0.2.3.0
   - typography-geometry ==1.0.0.1
-  - tzdata ==0.1.20160614.0
+  - tzdata ==0.1.20161123.0
   - ua-parser ==0.7.3
   - uglymemo ==0.1.0.1
   - unbound ==0.5.1
@@ -1893,7 +1896,7 @@ default-package-overrides:
   - wai-transformers ==0.0.7
   - wai-websockets ==3.0.1.1
   - waitra ==0.0.4.0
-  - warp ==3.2.10
+  - warp ==3.2.11
   - warp-tls ==3.2.3
   - web-plugins ==0.2.9
   - web-routes ==0.27.11
@@ -1966,17 +1969,17 @@ default-package-overrides:
   - yarr ==1.4.0.2
   - yes-precure5-command ==5.5.3
   - yesod ==1.4.4
-  - yesod-auth ==1.4.15
+  - yesod-auth ==1.4.16
   - yesod-auth-account ==1.4.3
   - yesod-auth-basic ==0.1.0.2
   - yesod-auth-hashdb ==1.5.1.3
   - yesod-auth-oauth2 ==0.2.2
-  - yesod-bin ==1.4.18.7
-  - yesod-core ==1.4.30
+  - yesod-bin ==1.5.1
+  - yesod-core ==1.4.31
   - yesod-eventsource ==1.4.0.1
   - yesod-fay ==0.8.0
   - yesod-fb ==0.3.4
-  - yesod-form ==1.4.9
+  - yesod-form ==1.4.10
   - yesod-form-richtext ==0.1.0.0
   - yesod-gitrepo ==0.2.1.0
   - yesod-gitrev ==0.1.0.0
@@ -2032,6 +2035,7 @@ extra-packages:
   - persistent-template == 2.1.*        # needed for git-annex
   - primitive == 0.5.1.*                # required to build alex with GHC 6.12.3
   - QuickCheck < 2                      # required by test-framework-quickcheck and its users
+  - servant-auth-server < 0.2.2.0       # https://github.com/plow-technologies/servant-auth/issues/25
   - seqid < 0.2                         # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - seqid-streams < 0.2                 # newer versions depend on transformers 0.4.x which we cannot provide in GHC 7.8.x
   - split < 0.2                         # newer versions don't work with GHC 6.12.3
@@ -2471,6 +2475,7 @@ dont-distribute-packages:
   battleships:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   bayes-stack:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   BCMtools:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bdd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam-th:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   beam:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   beamable:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2588,6 +2593,7 @@ dont-distribute-packages:
   blaze-html-hexpat:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-json:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   blaze-textual-native:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ble:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   blip:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   bliplib:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Blobs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2644,6 +2650,7 @@ dont-distribute-packages:
   buster-network:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Buster:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   buster:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bustle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   butterflies:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   byline:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytable:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2653,6 +2660,7 @@ dont-distribute-packages:
   bytestring-progress:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-read:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-rematch:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bytestring-typenats:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestringparser:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestringreadp:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   c-dsl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2849,6 +2857,7 @@ dont-distribute-packages:
   clevercss:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   CLI:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   click-clack:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  clif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   clifford:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   clippard:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   clipper:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3062,6 +3071,7 @@ dont-distribute-packages:
   crypto-enigma:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-multihash:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   crypto-random-effect:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  crypto-simple:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   cryptsy-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   crystalfontz:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   cse-ghc-plugin:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3323,6 +3333,7 @@ dont-distribute-packages:
   doctest-discover:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   DocTest:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   docvim:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  doi:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   DOM:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dominion:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   domplate:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3775,6 +3786,10 @@ dont-distribute-packages:
   gentlemark:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   GenussFold:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   genvalidity-containers:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genvalidity-hspec-aeson:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genvalidity-hspec-cereal:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genvalidity-path:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  genvalidity-text:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   geo-resolver:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   GeocoderOpenCage:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   geodetic:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3917,6 +3932,7 @@ dont-distribute-packages:
   gooey:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-drive:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-html5-slide:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  google-oauth2-for-cli:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-oauth2-jwt:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-oauth2:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   google-translate:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3970,6 +3986,7 @@ dont-distribute-packages:
   graphics-formats-collada:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicsFormats:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicstools:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  graphql-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphtype:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   graql:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   grasp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4035,6 +4052,7 @@ dont-distribute-packages:
   h2048:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   H:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haar:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  habit:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hach:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hack-contrib-press:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hack-contrib:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4468,6 +4486,7 @@ dont-distribute-packages:
   hierarchy:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hiernotify:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hieroglyph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hifi:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   HiggsSet:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   higher-leveldb:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   higherorder:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4479,6 +4498,7 @@ dont-distribute-packages:
   hinquire:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hinstaller:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hint-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hinterface:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hinvaders:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hinze-streams:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hip:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4589,6 +4609,7 @@ dont-distribute-packages:
   hoq:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   horizon:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hosts-server:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hothasktags:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hotswap:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hourglass-fuzzy-parsing:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   houseman:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4632,6 +4653,7 @@ dont-distribute-packages:
   HROOT-hist:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT-io:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT-math:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  HROOT-tree:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hruby:                                        [ i686-linux, x86_64-darwin ]
   hs-blake2:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4818,6 +4840,7 @@ dont-distribute-packages:
   hunt-searchengine:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   hunt-server:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hurdle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hurriyet:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   husky:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hutton:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   huttons-razor:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4973,6 +4996,7 @@ dont-distribute-packages:
   interruptible:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   intro-prelude:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   intro:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  introduction-test:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   intset:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   invertible-syntax:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   invertible:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5413,7 +5437,6 @@ dont-distribute-packages:
   log:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   logentries:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   logger:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
-  logging-effect:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   logging-facade-journald:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   logic-classes:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   Logic:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5463,6 +5486,7 @@ dont-distribute-packages:
   lvmlib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   lxc:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   lye:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Lykah:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   lzma-clib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   lzma-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   lzma-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5471,6 +5495,7 @@ dont-distribute-packages:
   machinecell:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   machines-zlib:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   macosx-make-standalone:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  madlang:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   mage:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   MagicHaskeller:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   magico:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5735,6 +5760,7 @@ dont-distribute-packages:
   multirec-binary:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   multirec:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   multisetrewrite:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  multivariant:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   Munkres-simple:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   muon:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   murder:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5787,6 +5813,7 @@ dont-distribute-packages:
   nanovg:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   nanq:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   narc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  nat-sized-numbers:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   nats-queue:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   natural-number:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   NaturalLanguageAlphabets:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5946,6 +5973,7 @@ dont-distribute-packages:
   open-pandoc:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   open-typerep:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   open-union:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  open-witness:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenAFP-Utils:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenAFP:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenCL:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6291,6 +6319,7 @@ dont-distribute-packages:
   protobuf-native:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   protocol-buffers-descriptor-fork:             [ i686-linux, x86_64-linux, x86_64-darwin ]
   protocol-buffers-fork:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  protolude-lifted:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   proton-haskell:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   prove-everywhere-server:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   proxy-kindness:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6331,6 +6360,7 @@ dont-distribute-packages:
   qd:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   qed:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   qhull-simple:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  qif:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   QIO:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   QLearn:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   qr-imager:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6360,6 +6390,7 @@ dont-distribute-packages:
   quickcheck-regex:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-relaxng:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-rematch:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  quickcheck-special:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-webdriver:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   quickcheck-with-counterexamples:              [ i686-linux, x86_64-linux, x86_64-darwin ]
   QuickPlot:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6417,6 +6448,7 @@ dont-distribute-packages:
   rawr:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   raz:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   razom-text-util:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rbpcp-api:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rbr:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   rcu:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   rdf4h:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6487,6 +6519,7 @@ dont-distribute-packages:
   regex-tre:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-type:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   regex-xmlschema:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  regex:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   regexchar:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   regexdot:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   regexp-tries:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6508,6 +6541,7 @@ dont-distribute-packages:
   reified-records:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   reify:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   reinterpret-cast:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  relapse:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   relation:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   relative-date:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   reload:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6543,6 +6577,7 @@ dont-distribute-packages:
   req:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   reqcatcher:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   request-monad:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rerebase:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   resistor-cube:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-effect:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   resource-embed:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6728,6 +6763,7 @@ dont-distribute-packages:
   semi-iso:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   semigroupoids-syntax:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   semigroups-actions:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  semiring-num:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   semiring:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   semver-range:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   sensei:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6749,14 +6785,10 @@ dont-distribute-packages:
   servant-auth-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-docs:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-hmac:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-auth-server:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-api:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-auth:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-csharp:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-db-postgresql:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-docs:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
-  servant-elm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-examples:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-github-webhook:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-haxl-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7212,6 +7244,7 @@ dont-distribute-packages:
   target:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   task-distribution:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   task:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tasty-auto:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-discover:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-fail-fast:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-groundhog-converters:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7274,6 +7307,7 @@ dont-distribute-packages:
   texrunner:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-all:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-and-plots:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  text-builder:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-generic-pretty:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-icu-normalized:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   text-json-qq:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7313,6 +7347,7 @@ dont-distribute-packages:
   Thingie:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   thorn:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   threads-extras:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  threepenny-gui-contextmenu:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   threepenny-gui:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   Thrift:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   thrift:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7366,6 +7401,7 @@ dont-distribute-packages:
   to-haskell:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   to-string-class:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   to-string-instances:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  toboggan:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   todos:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   tofromxml:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   toilet:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7720,6 +7756,7 @@ dont-distribute-packages:
   whiskers:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   whitespace:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   why3:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  wide-word:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   WikimediaParser:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   wikipedia4epub:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   windowslive:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7778,6 +7815,7 @@ dont-distribute-packages:
   X11-xfixes:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   x11-xinput:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   x86-64bit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xcffib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   xchat-plugin:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   xcp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   xdcc:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
new file mode 100644
index 000000000000..bd74e0e6e04d
--- /dev/null
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -0,0 +1,390 @@
+# NIX-SPECIFIC OVERRIDES/PATCHES FOR HASKELL PACKAGES
+#
+# This file contains overrides which are needed because of Nix. For example,
+# some packages may need help finding the location of native libraries. In
+# general, overrides in this file are (mostly) due to one of the following reasons:
+#
+# * packages that hard code the location of native libraries, so they need to be patched/
+#   supplied the patch explicitly
+# * passing native libraries that are not detected correctly by cabal2nix
+# * test suites that fail due to some features not available in the nix sandbox
+#   (networking being a common one)
+#
+# In general, this file should *not* contain overrides that fix build failures that could
+# also occur on standard, FHS-compliant non-Nix systems. For example, if tests have a compile
+# error, that is a bug in the package, and that failure has nothing to do with Nix.
+#
+# Common examples which should *not* be a part of this file:
+#
+# * overriding a specific version of a haskell library because some package fails
+#   to build with a newer version. Such overrides have nothing to do with Nix itself,
+#   and they would also be neccessary outside of Nix if you use the same set of
+#   package versions.
+# * disabling tests that fail due to missing files in the tarball or compile errors
+# * disabling tests that require too much memory
+# * enabling/disabling certain features in packages
+#
+# If you have an override of this kind, see configuration-common.nix instead.
+{ pkgs }:
+
+with import ./lib.nix { inherit pkgs; };
+
+self: super: builtins.intersectAttrs super {
+
+  # Apply NixOS-specific patches.
+  ghc-paths = appendPatch super.ghc-paths ./patches/ghc-paths-nix.patch;
+
+  # fix errors caused by hardening flags
+  epanet-haskell = disableHardening super.epanet-haskell ["format"];
+
+  # Link the proper version.
+  zeromq4-haskell = super.zeromq4-haskell.override { zeromq = pkgs.zeromq4; };
+
+  # Use the default version of mysql to build this package (which is actually mariadb).
+  # test phase requires networking
+  mysql = dontCheck (super.mysql.override { mysql = pkgs.mysql.lib; });
+
+  # CUDA needs help finding the SDK headers and libraries.
+  cuda = overrideCabal super.cuda (drv: {
+    extraLibraries = (drv.extraLibraries or []) ++ [pkgs.linuxPackages.nvidia_x11];
+    configureFlags = (drv.configureFlags or []) ++
+      pkgs.lib.optional pkgs.stdenv.is64bit "--extra-lib-dirs=${pkgs.cudatoolkit}/lib64" ++ [
+      "--extra-lib-dirs=${pkgs.cudatoolkit}/lib"
+      "--extra-include-dirs=${pkgs.cudatoolkit}/include"
+    ];
+    preConfigure = ''
+      unset CC          # unconfuse the haskell-cuda configure script
+      sed -i -e 's|/usr/local/cuda|${pkgs.cudatoolkit}|g' configure
+    '';
+  });
+
+  # jni needs help finding libjvm.so because it's in a weird location.
+  jni = overrideCabal super.jni (drv: {
+    preConfigure = ''
+      local libdir=( "${pkgs.jdk}/lib/openjdk/jre/lib/"*"/server" )
+      configureFlags+=" --extra-lib-dir=''${libdir[0]}"
+    '';
+  });
+
+  # The package doesn't know about the AL include hierarchy.
+  # https://github.com/phaazon/al/issues/1
+  al = appendConfigureFlag super.al "--extra-include-dirs=${pkgs.openal}/include/AL";
+
+  # Won't find it's header files without help.
+  sfml-audio = appendConfigureFlag super.sfml-audio "--extra-include-dirs=${pkgs.openal}/include/AL";
+
+  hzk = overrideCabal super.hzk (drv: {
+    preConfigure = "sed -i -e /include-dirs/d hzk.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.zookeeper_mt}/include/zookeeper";
+  });
+
+  haskakafka = overrideCabal super.haskakafka (drv: {
+    preConfigure = "sed -i -e /extra-lib-dirs/d -e /include-dirs/d haskakafka.cabal";
+    configureFlags =  "--extra-include-dirs=${pkgs.rdkafka}/include/librdkafka";
+  });
+
+  # Foreign dependency name clashes with another Haskell package.
+  libarchive-conduit = super.libarchive-conduit.override { archive = pkgs.libarchive; };
+
+  # Fix Darwin build.
+  halive = if pkgs.stdenv.isDarwin
+    then addBuildDepend super.halive pkgs.darwin.apple_sdk.frameworks.AppKit
+    else super.halive;
+
+  # Heist's test suite requires system pandoc
+  heist = overrideCabal super.heist (drv: {
+    testToolDepends = [pkgs.pandoc];
+  });
+
+  # the system-fileio tests use canonicalizePath, which fails in the sandbox
+  system-fileio = if pkgs.stdenv.isDarwin then dontCheck super.system-fileio else super.system-fileio;
+
+  # Prevents needing to add security_tool as a build tool to all of x509-system's
+  # dependencies.
+  x509-system = if pkgs.stdenv.isDarwin && !pkgs.stdenv.cc.nativeLibc
+    then let inherit (pkgs.darwin) security_tool;
+      in pkgs.lib.overrideDerivation (addBuildDepend super.x509-system security_tool) (drv: {
+        postPatch = (drv.postPatch or "") + ''
+          substituteInPlace System/X509/MacOS.hs --replace security ${security_tool}/bin/security
+        '';
+      })
+    else super.x509-system;
+
+  # https://github.com/NixOS/cabal2nix/issues/136 and https://github.com/NixOS/cabal2nix/issues/216
+  gio = disableHardening (addPkgconfigDepend (addBuildTool super.gio self.gtk2hs-buildtools) pkgs.glib) ["fortify"];
+  glib = disableHardening (addPkgconfigDepend (addBuildTool super.glib self.gtk2hs-buildtools) pkgs.glib) ["fortify"];
+  gtk3 = disableHardening (super.gtk3.override { inherit (pkgs) gtk3; }) ["fortify"];
+  gtk = disableHardening (addPkgconfigDepend (addBuildTool super.gtk self.gtk2hs-buildtools) pkgs.gtk2) ["fortify"];
+  gtksourceview2 = (addPkgconfigDepend super.gtksourceview2 pkgs.gtk2).override { inherit (pkgs.gnome2) gtksourceview; };
+  gtksourceview3 = super.gtksourceview3.override { inherit (pkgs.gnome3) gtksourceview; };
+
+  # Need WebkitGTK, not just webkit.
+  webkit = super.webkit.override { webkit = pkgs.webkitgtk2; };
+  webkitgtk3 = super.webkitgtk3.override { webkit = pkgs.webkitgtk24x; };
+  webkitgtk3-javascriptcore = super.webkitgtk3-javascriptcore.override { webkit = pkgs.webkitgtk24x; };
+  websnap = super.websnap.override { webkit = pkgs.webkitgtk24x; };
+
+  hs-mesos = overrideCabal super.hs-mesos (drv: {
+    # Pass _only_ mesos; the correct protobuf is propagated.
+    extraLibraries = [ pkgs.mesos ];
+    preConfigure = "sed -i -e /extra-lib-dirs/d -e 's|, /usr/include, /usr/local/include/mesos||' hs-mesos.cabal";
+  });
+
+  # These packages try to access the network.
+  amqp = dontCheck super.amqp;
+  amqp-conduit = dontCheck super.amqp-conduit;
+  bitcoin-api = dontCheck super.bitcoin-api;
+  bitcoin-api-extra = dontCheck super.bitcoin-api-extra;
+  bitx-bitcoin = dontCheck super.bitx-bitcoin;          # http://hydra.cryp.to/build/926187/log/raw
+  concurrent-dns-cache = dontCheck super.concurrent-dns-cache;
+  digitalocean-kzs = dontCheck super.digitalocean-kzs;  # https://github.com/KazumaSATO/digitalocean-kzs/issues/1
+  github-types = dontCheck super.github-types;          # http://hydra.cryp.to/build/1114046/nixlog/1/raw
+  hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
+  hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
+  hasql-transaction = dontCheck super.hasql-transaction; # wants to connect to postgresql
+  hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
+  marmalade-upload = dontCheck super.marmalade-upload;  # http://hydra.cryp.to/build/501904/nixlog/1/raw
+  mongoDB = dontCheck super.mongoDB;
+  network-transport-tcp = dontCheck super.network-transport-tcp;
+  network-transport-zeromq = dontCheck super.network-transport-zeromq; # https://github.com/tweag/network-transport-zeromq/issues/30
+  pipes-mongodb = dontCheck super.pipes-mongodb;        # http://hydra.cryp.to/build/926195/log/raw
+  raven-haskell = dontCheck super.raven-haskell;        # http://hydra.cryp.to/build/502053/log/raw
+  riak = dontCheck super.riak;                          # http://hydra.cryp.to/build/498763/log/raw
+  scotty-binding-play = dontCheck super.scotty-binding-play;
+  servant-router = dontCheck super.servant-router;
+  serversession-backend-redis = dontCheck super.serversession-backend-redis;
+  slack-api = dontCheck super.slack-api;                # https://github.com/mpickering/slack-api/issues/5
+  socket = dontCheck super.socket;
+  stackage = dontCheck super.stackage;                  # http://hydra.cryp.to/build/501867/nixlog/1/raw
+  textocat-api = dontCheck super.textocat-api;          # http://hydra.cryp.to/build/887011/log/raw
+  warp = dontCheck super.warp;                          # http://hydra.cryp.to/build/501073/nixlog/5/raw
+  wreq = dontCheck super.wreq;                          # http://hydra.cryp.to/build/501895/nixlog/1/raw
+  wreq-sb = dontCheck super.wreq-sb;                    # http://hydra.cryp.to/build/783948/log/raw
+  wuss = dontCheck super.wuss;                          # http://hydra.cryp.to/build/875964/nixlog/2/raw
+  download = dontCheck super.download;
+  http-client = dontCheck super.http-client;
+  http-client-openssl = dontCheck super.http-client-openssl;
+  http-client-tls = dontCheck super.http-client-tls;
+  http-conduit = dontCheck super.http-conduit;
+  transient-universe = dontCheck super.transient-universe;
+
+  # Tries to mess with extended POSIX attributes, but can't in our chroot environment.
+  xattr = dontCheck super.xattr;
+
+   # Needs access to locale data, but looks for it in the wrong place.
+  scholdoc-citeproc = dontCheck super.scholdoc-citeproc;
+
+  # Expect to find sendmail(1) in $PATH.
+  mime-mail = appendConfigureFlag super.mime-mail "--ghc-option=-DMIME_MAIL_SENDMAIL_PATH=\"sendmail\"";
+
+  # Help the test suite find system timezone data.
+  tz = overrideCabal super.tz (drv: { preConfigure = "export TZDIR=${pkgs.tzdata}/share/zoneinfo"; });
+
+  # Nix-specific workaround
+  xmonad = appendPatch (dontCheck super.xmonad) ./patches/xmonad-nix.patch;
+
+  # https://github.com/ucsd-progsys/liquid-fixpoint/issues/44
+  liquid-fixpoint = overrideCabal super.liquid-fixpoint (drv: { preConfigure = "patchShebangs ."; });
+
+  # wxc supports wxGTX >= 3.0, but our current default version points to 2.8.
+  # http://hydra.cryp.to/build/1331287/log/raw
+  wxc = (addBuildDepend super.wxc self.split).override { wxGTK = pkgs.wxGTK30; };
+  wxcore = super.wxcore.override { wxGTK = pkgs.wxGTK30; };
+
+  # Test suite wants to connect to $DISPLAY.
+  hsqml = dontCheck (addExtraLibrary (super.hsqml.override { qt5 = pkgs.qt5Full; }) pkgs.mesa);
+
+  # Tests attempt to use NPM to install from the network into
+  # /homeless-shelter. Disabled.
+  purescript = dontCheck super.purescript;
+
+  # Hardcoded include path
+  poppler = overrideCabal super.poppler (drv: {
+    postPatch = ''
+      sed -i -e 's,glib/poppler.h,poppler.h,' poppler.cabal
+      sed -i -e 's,glib/poppler.h,poppler.h,' Graphics/UI/Gtk/Poppler/Structs.hsc
+    '';
+  });
+
+  # Uses OpenGL in testing
+  caramia = dontCheck super.caramia;
+
+  llvm-general-darwin = overrideCabal (super.llvm-general.override { llvm-config = pkgs.llvm_35; }) (drv: {
+      preConfigure = ''
+        sed -i llvm-general.cabal \
+            -e 's,extra-libraries: stdc++,extra-libraries: c++,'
+      '';
+      configureFlags = (drv.configureFlags or []) ++ ["--extra-include-dirs=${pkgs.libcxx}/include/c++/v1"];
+      librarySystemDepends = [ pkgs.libcxx ] ++ drv.librarySystemDepends or [];
+    });
+
+  # Supports only 3.5 for now, https://github.com/bscarlet/llvm-general/issues/142
+  llvm-general =
+    if pkgs.stdenv.isDarwin
+    then self.llvm-general-darwin
+    else super.llvm-general.override { llvm-config = pkgs.llvm_35; };
+
+  # Needs help finding LLVM.
+  spaceprobe = addBuildTool super.spaceprobe self.llvmPackages.llvm;
+
+  # Tries to run GUI in tests
+  leksah = dontCheck (overrideCabal super.leksah (drv: {
+    executableSystemDepends = (drv.executableSystemDepends or []) ++ (with pkgs; [
+      gnome3.defaultIconTheme # Fix error: Icon 'window-close' not present in theme ...
+      wrapGAppsHook           # Fix error: GLib-GIO-ERROR **: No GSettings schemas are installed on the system
+      gtk3                    # Fix error: GLib-GIO-ERROR **: Settings schema 'org.gtk.Settings.FileChooser' is not installed
+    ]);
+    postPatch = (drv.postPatch or "") + ''
+      for f in src/IDE/Leksah.hs src/IDE/Utils/ServerConnection.hs
+      do
+        substituteInPlace "$f" --replace "\"leksah-server\"" "\"${self.leksah-server}/bin/leksah-server\""
+      done
+    '';
+  }));
+
+  # Patch to consider NIX_GHC just like xmonad does
+  dyre = appendPatch super.dyre ./patches/dyre-nix.patch;
+
+  yesod-bin = if pkgs.stdenv.isDarwin
+    then addBuildDepend super.yesod-bin pkgs.darwin.apple_sdk.frameworks.Cocoa
+    else super.yesod-bin;
+
+  hmatrix = if pkgs.stdenv.isDarwin
+    then addBuildDepend super.hmatrix pkgs.darwin.apple_sdk.frameworks.Accelerate
+    else super.hmatrix;
+
+  # https://github.com/edwinb/EpiVM/issues/13
+  # https://github.com/edwinb/EpiVM/issues/14
+  epic = addExtraLibraries (addBuildTool super.epic self.happy) [pkgs.boehmgc pkgs.gmp];
+
+  # https://github.com/ekmett/wl-pprint-terminfo/issues/7
+  wl-pprint-terminfo = addExtraLibrary super.wl-pprint-terminfo pkgs.ncurses;
+
+  # https://github.com/bos/pcap/issues/5
+  pcap = addExtraLibrary super.pcap pkgs.libpcap;
+
+  # The cabal files for these libraries do not list the required system dependencies.
+  miniball = overrideCabal super.miniball (drv: {
+    librarySystemDepends = [ pkgs.miniball ];
+  });
+  SDL-image = overrideCabal super.SDL-image (drv: {
+    librarySystemDepends = [ pkgs.SDL pkgs.SDL_image ] ++ drv.librarySystemDepends or [];
+  });
+  SDL-ttf = overrideCabal super.SDL-ttf (drv: {
+    librarySystemDepends = [ pkgs.SDL pkgs.SDL_ttf ];
+  });
+  SDL-mixer = overrideCabal super.SDL-mixer (drv: {
+    librarySystemDepends = [ pkgs.SDL pkgs.SDL_mixer ];
+  });
+  SDL-gfx = overrideCabal super.SDL-gfx (drv: {
+    librarySystemDepends = [ pkgs.SDL pkgs.SDL_gfx ];
+  });
+  SDL-mpeg = overrideCabal super.SDL-mpeg (drv: {
+    configureFlags = (drv.configureFlags or []) ++ [
+      "--extra-lib-dirs=${pkgs.smpeg}/lib"
+      "--extra-include-dirs=${pkgs.smpeg}/include/smpeg"
+    ];
+  });
+
+  # https://github.com/ivanperez-keera/hcwiid/pull/4
+  hcwiid = overrideCabal super.hcwiid (drv: {
+    configureFlags = (drv.configureFlags or []) ++ [
+      "--extra-lib-dirs=${pkgs.bluez.out}/lib"
+      "--extra-lib-dirs=${pkgs.cwiid}/lib"
+      "--extra-include-dirs=${pkgs.cwiid}/include"
+      "--extra-include-dirs=${pkgs.bluez.dev}/include"
+    ];
+    prePatch = '' sed -i -e "/Extra-Lib-Dirs/d" -e "/Include-Dirs/d" "hcwiid.cabal" '';
+  });
+
+  # cabal2nix doesn't pick up some of the dependencies.
+  ginsu = let
+    g = addBuildDepend super.ginsu pkgs.perl;
+    g' = overrideCabal g (drv: {
+      executableSystemDepends = (drv.executableSystemDepends or []) ++ [
+        pkgs.ncurses
+      ];
+    });
+  in g';
+
+  # Tests require `docker` command in PATH
+  # Tests require running docker service :on localhost
+  docker = dontCheck super.docker;
+
+  # https://github.com/deech/fltkhs/issues/16
+  fltkhs = overrideCabal super.fltkhs (drv: {
+    libraryToolDepends = (drv.libraryToolDepends or []) ++ [pkgs.autoconf];
+    librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.fltk13 pkgs.mesa_noglu pkgs.libjpeg];
+  });
+
+  # https://github.com/skogsbaer/hscurses/pull/26
+  hscurses = overrideCabal super.hscurses (drv: {
+    librarySystemDepends = (drv.librarySystemDepends or []) ++ [ pkgs.ncurses ];
+  });
+
+  # Looks like Avahi provides the missing library
+  dnssd = super.dnssd.override { dns_sd = pkgs.avahi.override { withLibdnssdCompat = true; }; };
+
+  # Ensure the necessary frameworks are propagatedBuildInputs on darwin
+  OpenGLRaw = overrideCabal super.OpenGLRaw (drv: {
+    librarySystemDepends =
+      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
+    libraryHaskellDepends = drv.libraryHaskellDepends
+      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
+                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
+    preConfigure = pkgs.lib.optionalString pkgs.stdenv.isDarwin ''
+      frameworkPaths=($(for i in $nativeBuildInputs; do if [ -d "$i"/Library/Frameworks ]; then echo "-F$i/Library/Frameworks"; fi done))
+      frameworkPaths=$(IFS=, ; echo "''${frameworkPaths[@]}")
+      configureFlags+=$(if [ -n "$frameworkPaths" ]; then echo -n "--ghc-options=-optl=$frameworkPaths"; fi)
+    '';
+  });
+  GLURaw = overrideCabal super.GLURaw (drv: {
+    librarySystemDepends =
+      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
+    libraryHaskellDepends = drv.libraryHaskellDepends
+      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
+                            [ pkgs.darwin.apple_sdk.frameworks.OpenGL ];
+  });
+  bindings-GLFW = overrideCabal super.bindings-GLFW (drv: {
+    doCheck = false; # requires an active X11 display
+    librarySystemDepends =
+      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
+    libraryHaskellDepends = drv.libraryHaskellDepends
+      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
+                            (with pkgs.darwin.apple_sdk.frameworks;
+                             [ AGL Cocoa OpenGL IOKit Kernel CoreVideo
+                               pkgs.darwin.CF ]);
+  });
+  OpenCL = overrideCabal super.OpenCL (drv: {
+    librarySystemDepends =
+      pkgs.lib.optionals (!pkgs.stdenv.isDarwin) drv.librarySystemDepends;
+    libraryHaskellDepends = drv.libraryHaskellDepends
+      ++ pkgs.lib.optionals pkgs.stdenv.isDarwin
+                            [ pkgs.darwin.apple_sdk.frameworks.OpenCL ];
+  });
+
+  # GLUT uses `dlopen` to link to freeglut, so we need to set the RUNPATH correctly for
+  # it to find `libglut.so` from the nix store. We do this by patching GLUT.cabal to pkg-config
+  # depend on freeglut, which provides GHC to necessary information to generate a correct RPATH.
+  #
+  # Note: Simply patching the dynamic library (.so) of the GLUT build will *not* work, since the
+  # RPATH also needs to be propagated when using static linking. GHC automatically handles this for
+  # us when we patch the cabal file (Link options will be recored in the ghc package registry).
+  #
+  # Additional note: nixpkgs' freeglut and macOS's OpenGL implementation do not cooperate,
+  # so disable this on Darwin only
+  ${if pkgs.stdenv.isDarwin then null else "GLUT"} = addPkgconfigDepend (appendPatch super.GLUT ./patches/GLUT.patch) pkgs.freeglut;
+
+  idris = overrideCabal super.idris (drv: {
+    # https://github.com/idris-lang/Idris-dev/issues/2499
+    librarySystemDepends = (drv.librarySystemDepends or []) ++ [pkgs.gmp];
+  });
+
+  libsystemd-journal = overrideCabal super.libsystemd-journal (old: {
+    librarySystemDepends = old.librarySystemDepends or [] ++ [ pkgs.systemd ];
+  });
+
+  # Needs network in tests.
+  typed-process = dontCheck super.typed-process;
+
+}
diff --git a/pkgs/development/haskell-modules/default.nix b/pkgs/development/haskell-modules/default.nix
index cf30a7699ed6..d2ecc3381287 100644
--- a/pkgs/development/haskell-modules/default.nix
+++ b/pkgs/development/haskell-modules/default.nix
@@ -85,10 +85,7 @@ let
         callHackage = name: version: self.callPackage (hackage2nix name version);
 
         # Creates a Haskell package from a source package by calling cabal2nix on the source.
-        callCabal2nix = src: self.callPackage (haskellSrc2nix {
-          inherit src;
-          name = src.name;
-        });
+        callCabal2nix = name: src: self.callPackage (haskellSrc2nix { inherit src name; });
 
         ghcWithPackages = selectFrom: withPackages (selectFrom self);
 
@@ -108,6 +105,7 @@ let
       };
 
   commonConfiguration = import ./configuration-common.nix { inherit pkgs; };
+  nixConfiguration = import ./configuration-nix.nix { inherit pkgs; };
 
 in
 
@@ -115,4 +113,5 @@ in
     (extends overrides
       (extends packageSetConfig
         (extends compilerConfig
-          (extends commonConfiguration haskellPackages))))
+          (extends commonConfiguration
+            (extends nixConfiguration haskellPackages)))))
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index b5b9954244a2..cdf68fd0d0d5 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -7829,8 +7829,8 @@ self: {
      }:
      mkDerivation {
        pname = "HROOT";
-       version = "0.9";
-       sha256 = "5a8e948e0970d901feafdc184270f1631314512b4bd967f0f16c83a640d1b975";
+       version = "0.9.0.1";
+       sha256 = "e8a677131caf8cef55d725a00993a22ed63792900617baa0189be72639a483d5";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime HROOT-core HROOT-graf HROOT-hist
          HROOT-io HROOT-math HROOT-tree template-haskell
@@ -7839,15 +7839,14 @@ self: {
        description = "Haskell binding to the ROOT data analysis framework";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {HROOT-tree = null;};
+     }) {};
 
   "HROOT-core" = callPackage
     ({ mkDerivation, base, fficxx, fficxx-runtime, template-haskell }:
      mkDerivation {
        pname = "HROOT-core";
-       version = "0.9";
-       sha256 = "af2678d6fcd87531b2866b753e65b0c455216dd27c87fdfabb694201748bea83";
+       version = "0.9.0.1";
+       sha256 = "053dd486a4b0872fee1536eb5fcec930868c132c664ab3f6b01cb436c76eaae3";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime template-haskell
        ];
@@ -7863,8 +7862,8 @@ self: {
      }:
      mkDerivation {
        pname = "HROOT-graf";
-       version = "0.9";
-       sha256 = "1e80209799bdceea7ef65e1dd6ca7d4e0d182209442ff3489d7fe5cd47fda552";
+       version = "0.9.0.1";
+       sha256 = "993866cd851a3fff908f5a4484b2ee217825f3a2a60ab0d124e6e3aca83e31a8";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime HROOT-core HROOT-hist template-haskell
        ];
@@ -7880,8 +7879,8 @@ self: {
      }:
      mkDerivation {
        pname = "HROOT-hist";
-       version = "0.9";
-       sha256 = "18baee9511c105f92d11a9523f0b212e13d0975b733daf22733357cc56e04c5e";
+       version = "0.9.0.1";
+       sha256 = "4da911be3e79559af4cc7269db52e3cc6f380baaf9c302d06890a461b1a63015";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime HROOT-core template-haskell
        ];
@@ -7897,8 +7896,8 @@ self: {
      }:
      mkDerivation {
        pname = "HROOT-io";
-       version = "0.9";
-       sha256 = "222bab39e503aa61775beb5904c72aa2e9018a46f4c4b2a9d0e68a5cd4c837ef";
+       version = "0.9.0.1";
+       sha256 = "1cebc91e14a3ebe98db155efef448884cadab0344879efaa68d7fa7dfd8ca34b";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime HROOT-core template-haskell
        ];
@@ -7914,8 +7913,8 @@ self: {
      }:
      mkDerivation {
        pname = "HROOT-math";
-       version = "0.9";
-       sha256 = "f203711dac9891f394e9193f9bdf861edff163ec923b48f9c086961f6e1f6644";
+       version = "0.9.0.1";
+       sha256 = "2669f815a6b27dce14d561bdcb3d86ab7ea15c24ed9563e6893ab67a4c1d9d89";
        libraryHaskellDepends = [
          base fficxx fficxx-runtime HROOT-core template-haskell
        ];
@@ -7925,6 +7924,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "HROOT-tree" = callPackage
+    ({ mkDerivation, base, fficxx, fficxx-runtime, HROOT-core
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "HROOT-tree";
+       version = "0.9.0.1";
+       sha256 = "442e5c2a786b51b09229907f00b24021f5f1f5631ef8f5d5b4b582eaf28b0cf2";
+       libraryHaskellDepends = [
+         base fficxx fficxx-runtime HROOT-core template-haskell
+       ];
+       homepage = "http://ianwookim.org/HROOT";
+       description = "Haskell binding to ROOT Tree modules";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "HRay" = callPackage
     ({ mkDerivation, array, base, directory, haskell98 }:
      mkDerivation {
@@ -11158,6 +11174,7 @@ self: {
        homepage = "http://johannesgerer.com/buchhaltung";
        description = "A static website and blog generator";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "MASMGen" = callPackage
@@ -16011,6 +16028,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Spock_0_12_0_0" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, containers
+     , cryptonite, focus, hashable, hspec, hspec-wai, http-types, hvect
+     , list-t, monad-control, mtl, reroute, resource-pool, resourcet
+     , Spock-core, stm, stm-containers, text, time, transformers
+     , transformers-base, unordered-containers, vault, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "Spock";
+       version = "0.12.0.0";
+       sha256 = "8392d1ee34b46238c6bfe951080f06e11e1f3622d8402e7762c70aa61430e3d9";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring containers cryptonite focus
+         hashable http-types hvect list-t monad-control mtl reroute
+         resource-pool resourcet Spock-core stm stm-containers text time
+         transformers transformers-base unordered-containers vault wai
+       ];
+       testHaskellDepends = [
+         base bytestring hspec hspec-wai Spock-core stm text time
+         unordered-containers vault wai wai-extra
+       ];
+       homepage = "https://www.spock.li";
+       description = "Another Haskell web framework for rapid development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Spock-api" = callPackage
     ({ mkDerivation, aeson, base, deepseq, hvect, reroute }:
      mkDerivation {
@@ -16023,14 +16067,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Spock-api_0_12_0_0" = callPackage
+    ({ mkDerivation, aeson, base, deepseq, hvect, reroute }:
+     mkDerivation {
+       pname = "Spock-api";
+       version = "0.12.0.0";
+       sha256 = "8cfdbcbd2fa426c595fb7d29f8a6395dea17476c15d5ae863da2605b1c6ebe00";
+       libraryHaskellDepends = [ aeson base deepseq hvect reroute ];
+       homepage = "https://www.spock.li";
+       description = "Another Haskell web framework for rapid development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Spock-api-ghcjs" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ghcjs-base, hvect
      , Spock-api, text
      }:
      mkDerivation {
        pname = "Spock-api-ghcjs";
-       version = "0.11.0.0";
-       sha256 = "d533e4e76c50e8120675d0bbe1c7dd8d6909a4c7455cf0eea2ee75b7d868518c";
+       version = "0.12.0.0";
+       sha256 = "84a707da5f84417f5387731497bd51b8d80210b2be97e6afaa79b887568ea501";
        libraryHaskellDepends = [
          aeson base bytestring ghcjs-base hvect Spock-api text
        ];
@@ -16052,6 +16109,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Spock-api-server_0_12_0_0" = callPackage
+    ({ mkDerivation, base, hvect, mtl, Spock-api, Spock-core }:
+     mkDerivation {
+       pname = "Spock-api-server";
+       version = "0.12.0.0";
+       sha256 = "29734206823875ec71d7cad14bf012adb70b01700975e2181a7cb52713b131ce";
+       libraryHaskellDepends = [ base hvect mtl Spock-api Spock-core ];
+       homepage = "https://www.spock.li";
+       description = "Another Haskell web framework for rapid development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Spock-auth" = callPackage
     ({ mkDerivation, base, http-types, Spock, text, time }:
      mkDerivation {
@@ -16091,6 +16161,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "Spock-core_0_12_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, containers, cookie, directory, hashable, hspec
+     , hspec-wai, http-api-data, http-types, hvect, mtl, old-locale
+     , reroute, resourcet, stm, superbuffer, text, time, transformers
+     , unordered-containers, vault, wai, wai-extra, warp
+     }:
+     mkDerivation {
+       pname = "Spock-core";
+       version = "0.12.0.0";
+       sha256 = "e69b70ea3027fa644d546bcae25bbf75e38abd6f4a7f88f0628fea6e16e97895";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         cookie directory hashable http-api-data http-types hvect mtl
+         old-locale reroute resourcet stm superbuffer text time transformers
+         unordered-containers vault wai wai-extra warp
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring bytestring hspec hspec-wai http-types
+         reroute text time transformers unordered-containers wai
+       ];
+       homepage = "https://www.spock.li";
+       description = "Another Haskell web framework for rapid development";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Spock-digestive" = callPackage
     ({ mkDerivation, base, digestive-functors, http-types, mtl
      , Spock-core, text, unordered-containers, wai
@@ -20510,8 +20607,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-injector";
-       version = "1.0.6.0";
-       sha256 = "3c0a68d4b3b55813eb3b4d93a0bd130504f367727308e77c01b8e1774024d78d";
+       version = "1.0.7.0";
+       sha256 = "de379a3727b81d537bd068d2b22dec4631daf193b992d4a0d9a878535eae41d8";
        libraryHaskellDepends = [
          aeson base bifunctors deepseq lens servant-docs swagger2 text
          unordered-containers
@@ -28440,6 +28537,23 @@ self: {
        license = "unknown";
      }) {};
 
+  "attoparsec-data" = callPackage
+    ({ mkDerivation, attoparsec, attoparsec-time, base, base-prelude
+     , bytestring, scientific, text, time
+     }:
+     mkDerivation {
+       pname = "attoparsec-data";
+       version = "0.1.1.2";
+       sha256 = "65ff7d4a796ea2c1991aeda1e288f0ff931e5fb1831d6571faa3cf68a9367b58";
+       libraryHaskellDepends = [
+         attoparsec attoparsec-time base base-prelude bytestring scientific
+         text time
+       ];
+       homepage = "https://github.com/nikita-volkov/attoparsec-data";
+       description = "Parsers for the standard Haskell data types";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "attoparsec-enumerator" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, enumerator, text }:
      mkDerivation {
@@ -29061,10 +29175,8 @@ self: {
      }:
      mkDerivation {
        pname = "avers-api";
-       version = "0.0.17.0";
-       sha256 = "affeffe0ac3c3eb15823fdb4c61654783ef8aff076bfb20b55c3df34be088182";
-       revision = "1";
-       editedCabalFile = "6ce2a1a63ecf6fcc5cd1d25ce3ee5b2756ebea0a78b7cc3a94fe73b3097668e3";
+       version = "0.0.18.0";
+       sha256 = "b1ba2ad32420636bf298efa7d4ff42fda9501672306f04b11c91aee1fe7805c5";
        libraryHaskellDepends = [
          aeson avers base bytestring cookie http-api-data servant text time
          vector
@@ -29081,10 +29193,8 @@ self: {
      }:
      mkDerivation {
        pname = "avers-api-docs";
-       version = "0.0.17.0";
-       sha256 = "24029af182f7eff072fa05615cea5cf69ab2c5b481f1b2df5f7a606714ca716f";
-       revision = "1";
-       editedCabalFile = "cfd40f6559ac3e05f5d0da009454b18208e7b76ec87a15fa7311d4f0a7caf7ec";
+       version = "0.0.18.0";
+       sha256 = "38a9f290cfd92ee922253337b30297dd5d3fa0db28c5aad5a0e6d01a205efca1";
        libraryHaskellDepends = [
          aeson avers avers-api base cookie lens servant servant-swagger
          swagger2 text unordered-containers
@@ -29104,10 +29214,8 @@ self: {
      }:
      mkDerivation {
        pname = "avers-server";
-       version = "0.0.17.0";
-       sha256 = "6da0c28f2b75989805cb4c2c7bf10b1b6ac4211f310d2bb902a4a7725ce05c3c";
-       revision = "3";
-       editedCabalFile = "025cc10ba6aa604876978781fcfbffbce27867d9155257411a7a40d4c4687988";
+       version = "0.0.18.0";
+       sha256 = "44ea17fd5f2351ae0c63d630f3c4a4879541f47b63b57bd447683d4644901cf7";
        libraryHaskellDepends = [
          aeson avers avers-api base base64-bytestring bytestring
          bytestring-conversion containers cookie cryptonite either
@@ -29288,22 +29396,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "aws_0_15" = callPackage
+  "aws_0_16" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , base64-bytestring, blaze-builder, byteable, bytestring
-     , case-insensitive, cereal, conduit, conduit-extra, containers
-     , cryptohash, data-default, directory, errors, filepath
-     , http-client, http-client-tls, http-conduit, http-types
-     , lifted-base, monad-control, mtl, network, old-locale, QuickCheck
-     , quickcheck-instances, resourcet, safe, scientific, tagged, tasty
-     , tasty-hunit, tasty-quickcheck, text, time, transformers
-     , transformers-base, unordered-containers, utf8-string, vector
-     , xml-conduit
+     , case-insensitive, cereal, conduit, conduit-combinators
+     , conduit-extra, containers, cryptohash, data-default, directory
+     , errors, filepath, http-client, http-client-tls, http-conduit
+     , http-types, lifted-base, monad-control, mtl, network, old-locale
+     , QuickCheck, quickcheck-instances, resourcet, safe, scientific
+     , tagged, tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers, transformers-base, unordered-containers
+     , utf8-string, vector, xml-conduit
      }:
      mkDerivation {
        pname = "aws";
-       version = "0.15";
-       sha256 = "53c73595bddd5614d980486a380d4ce83c100fd25b5fa35d477609f1bd03b11b";
+       version = "0.16";
+       sha256 = "84b5c60227f3c9eddc0abf0881aee22443fc4a211b8a95f18be628eaa492209c";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring base64-bytestring
          blaze-builder byteable bytestring case-insensitive cereal conduit
@@ -29313,10 +29421,10 @@ self: {
          unordered-containers utf8-string vector xml-conduit
        ];
        testHaskellDepends = [
-         aeson base bytestring errors http-client http-client-tls http-types
-         lifted-base monad-control mtl QuickCheck quickcheck-instances
-         resourcet tagged tasty tasty-hunit tasty-quickcheck text time
-         transformers transformers-base
+         aeson base bytestring conduit-combinators errors http-client
+         http-client-tls http-types lifted-base monad-control mtl QuickCheck
+         quickcheck-instances resourcet tagged tasty tasty-hunit
+         tasty-quickcheck text time transformers transformers-base
        ];
        homepage = "http://github.com/aristidb/aws";
        description = "Amazon Web Services (AWS) for Haskell";
@@ -30957,6 +31065,7 @@ self: {
        homepage = "http://github.com/humane-software/haskell-bdd";
        description = "Behavior-Driven Development DSL";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bdelta" = callPackage
@@ -34467,6 +34576,7 @@ self: {
        homepage = "http://github.com/plow-technologies/ble#readme";
        description = "Bluetooth Low Energy (BLE) peripherals";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "blink1" = callPackage
@@ -36238,6 +36348,7 @@ self: {
        homepage = "http://www.freedesktop.org/wiki/Software/Bustle/";
        description = "Draw sequence diagrams of D-Bus traffic";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {system-glib = pkgs.glib;};
 
   "butterflies" = callPackage
@@ -36710,6 +36821,7 @@ self: {
        homepage = "https://github.com/tsuraan/bytestring-typenats";
        description = "Bytestrings with typenat lengths";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "bytestringparser" = callPackage
@@ -39098,8 +39210,8 @@ self: {
     ({ mkDerivation, base, split }:
      mkDerivation {
        pname = "casing";
-       version = "0.1.0.1";
-       sha256 = "9039e45dc21851b7b6e5e58c79603beb27a03a79588c3176150d5c83d6e077ac";
+       version = "0.1.1.0";
+       sha256 = "db3ba2aa997885da68348ff8c71e98434edc5a80e8e665154ccbf6f9ee3b63fb";
        libraryHaskellDepends = [ base split ];
        description = "Convert between various source code casing conventions";
        license = stdenv.lib.licenses.mit;
@@ -42511,6 +42623,7 @@ self: {
        ];
        description = "A Clifford algebra number type for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "clifford" = callPackage
@@ -42963,19 +43076,6 @@ self: {
     ({ mkDerivation, base, bytestring, HUnit, text }:
      mkDerivation {
        pname = "cmark";
-       version = "0.5.4";
-       sha256 = "06f62f52870103be29c92eabfed84be96b4b38a12c3c0b96dffe61b3a0dfa807";
-       libraryHaskellDepends = [ base bytestring text ];
-       testHaskellDepends = [ base HUnit text ];
-       homepage = "https://github.com/jgm/cmark-hs";
-       description = "Fast, accurate CommonMark (Markdown) parser and renderer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "cmark_0_5_5" = callPackage
-    ({ mkDerivation, base, bytestring, HUnit, text }:
-     mkDerivation {
-       pname = "cmark";
        version = "0.5.5";
        sha256 = "03bd6fc962bb92127f64a9c597a904492a16fb3f34587775a741d22311fe53e2";
        libraryHaskellDepends = [ base bytestring text ];
@@ -42983,7 +43083,6 @@ self: {
        homepage = "https://github.com/jgm/cmark-hs";
        description = "Fast, accurate CommonMark (Markdown) parser and renderer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cmark-highlight" = callPackage
@@ -48714,6 +48813,7 @@ self: {
        homepage = "https://github.com/Risto-Stevcev/haskell-crypto-simple#readme";
        description = "A simple high level encryption interface based on cryptonite";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "crypto-totp" = callPackage
@@ -48945,6 +49045,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cryptonite-conduit_0_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , conduit-extra, cryptonite, memory, resourcet, tasty, tasty-hunit
+     , transformers
+     }:
+     mkDerivation {
+       pname = "cryptonite-conduit";
+       version = "0.2.0";
+       sha256 = "15edae989ad62b0bdaf817bba8e711323b22d3a3466025f778a54757ba567628";
+       libraryHaskellDepends = [
+         base bytestring conduit conduit-extra cryptonite memory resourcet
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-combinators cryptonite memory tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/haskell-crypto/cryptonite-conduit";
+       description = "cryptonite conduit";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cryptonite-openssl" = callPackage
     ({ mkDerivation, base, bytestring, cryptonite, memory, openssl
      , tasty, tasty-hunit, tasty-kat, tasty-quickcheck
@@ -54157,36 +54280,55 @@ self: {
 
   "dhall" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, containers
-     , http-client, http-client-tls, microlens, microlens-mtl
-     , neat-interpolation, optparse-generic, parsers, system-fileio
-     , system-filepath, text, text-format, transformers, trifecta
-     , unordered-containers, vector
+     , http-client, http-client-tls, lens, neat-interpolation
+     , optparse-generic, parsers, system-fileio, system-filepath, text
+     , text-format, transformers, trifecta, unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.0.2";
-       sha256 = "75816f0ca8c8c4bd764cc5d55654656839e72179bd047491ad7f9b7826fda845";
+       version = "1.1.0";
+       sha256 = "338152e2bd5e894f6d331f4c7230facb6585ebf789aab18b129d4873093f1302";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-wl-pprint base bytestring containers http-client
-         http-client-tls microlens microlens-mtl neat-interpolation parsers
-         system-fileio system-filepath text text-format transformers
-         trifecta unordered-containers vector
+         http-client-tls lens neat-interpolation parsers system-fileio
+         system-filepath text text-format transformers trifecta
+         unordered-containers vector
        ];
        executableHaskellDepends = [ base optparse-generic text trifecta ];
        description = "A configuration language guaranteed to terminate";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, dhall, neat-interpolation
+     , optparse-generic, text, trifecta, vector, yaml
+     }:
+     mkDerivation {
+       pname = "dhall-json";
+       version = "1.0.0";
+       sha256 = "514e14a765b0fd360dad7aec62980ca02424d6670be9bf5b9a5a171835a7758d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base dhall neat-interpolation text vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring dhall optparse-generic text trifecta yaml
+       ];
+       description = "Compile Dhall to JSON or YAML";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "dhall-nix" = callPackage
     ({ mkDerivation, base, containers, data-fix, dhall, hnix
      , neat-interpolation, optparse-generic, text, trifecta, vector
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.0.0";
-       sha256 = "a3331f9fd1fb35cbd9aa4690fe755e85d89a3f66f28430108dd4f29f3a994e4e";
+       version = "1.0.1";
+       sha256 = "83e217056193e67bfa9b81074baeb0289372dd4bb185be4aff034956340d8f4c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -56093,6 +56235,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "distance-of-time" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "distance-of-time";
+       version = "0.1.2.0";
+       sha256 = "f33ee0922bc8ad531407883de9ee70a396f53855f81e38f4ab1ddfb18432cd68";
+       libraryHaskellDepends = [ base time ];
+       testHaskellDepends = [ base hspec QuickCheck time ];
+       homepage = "https://github.com/joshuaclayton/distance-of-time#readme";
+       description = "Generate readable distances between times";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "distributed-closure" = callPackage
     ({ mkDerivation, base, binary, bytestring, constraints, hspec
      , QuickCheck, syb, template-haskell
@@ -56273,25 +56428,25 @@ self: {
   "distributed-process-extras" = callPackage
     ({ mkDerivation, ansi-terminal, base, binary, bytestring
      , containers, data-accessor, deepseq, distributed-process
-     , distributed-process-tests, distributed-static, fingertree
-     , ghc-prim, hashable, HUnit, mtl, network, network-transport
-     , network-transport-tcp, QuickCheck, rematch, stm, test-framework
-     , test-framework-hunit, test-framework-quickcheck2, time
-     , transformers, unordered-containers
+     , distributed-process-systest, distributed-static, exceptions
+     , fingertree, ghc-prim, hashable, HUnit, mtl, network
+     , network-transport, network-transport-tcp, QuickCheck, rematch
+     , stm, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, time, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "distributed-process-extras";
-       version = "0.2.1.2";
-       sha256 = "c1a4e1a5e3ec30089251db40fd479b19c5fd74c9dd8ca50f8eb32aaf9747a048";
-       revision = "3";
-       editedCabalFile = "a7d9628e4fa3b916e130422a1370532cda52e1b1a2818574a38e9335fe0074c7";
+       version = "0.3.0";
+       sha256 = "bffa1640ec7f59bf415e18fb68e6085bf1cf96d4fc4c51c260ef554385e3cb36";
        libraryHaskellDepends = [
          base binary containers data-accessor deepseq distributed-process
-         fingertree hashable mtl stm time transformers unordered-containers
+         exceptions fingertree hashable mtl stm time transformers
+         unordered-containers
        ];
        testHaskellDepends = [
          ansi-terminal base binary bytestring containers data-accessor
-         deepseq distributed-process distributed-process-tests
+         deepseq distributed-process distributed-process-systest
          distributed-static fingertree ghc-prim hashable HUnit mtl network
          network-transport network-transport-tcp QuickCheck rematch stm
          test-framework test-framework-hunit test-framework-quickcheck2 time
@@ -56485,6 +56640,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "distributed-process-systest" = callPackage
+    ({ mkDerivation, ansi-terminal, base, binary, bytestring
+     , distributed-process, distributed-static, HUnit, network
+     , network-transport, random, rematch, stm, test-framework
+     , test-framework-hunit
+     }:
+     mkDerivation {
+       pname = "distributed-process-systest";
+       version = "0.1.1";
+       sha256 = "a173434da0662635ecd4adebe49eedb5a0e4ec832020bf8e7c154c39b94e118e";
+       libraryHaskellDepends = [
+         ansi-terminal base binary bytestring distributed-process
+         distributed-static HUnit network network-transport random rematch
+         stm test-framework test-framework-hunit
+       ];
+       homepage = "http://github.com/haskell-distributed/distributed-process-systest";
+       description = "Cloud Haskell Test Support";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "distributed-process-task" = callPackage
     ({ mkDerivation, ansi-terminal, base, binary, bytestring
      , containers, data-accessor, deepseq, distributed-process
@@ -56644,36 +56819,17 @@ self: {
      }) {};
 
   "distributive" = callPackage
-    ({ mkDerivation, base, base-orphans, directory, doctest, filepath
-     , tagged, transformers, transformers-compat
-     }:
-     mkDerivation {
-       pname = "distributive";
-       version = "0.5.1";
-       sha256 = "8fd0968c19b00b64c8219b81903c72841494460fcf1c10e84fa44f321bb3ae92";
-       libraryHaskellDepends = [
-         base base-orphans tagged transformers transformers-compat
-       ];
-       testHaskellDepends = [ base directory doctest filepath ];
-       homepage = "http://github.com/ekmett/distributive/";
-       description = "Distributive functors -- Dual to Traversable";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "distributive_0_5_2" = callPackage
-    ({ mkDerivation, base, base-orphans, Cabal, cabal-doctest
-     , directory, doctest, filepath, generic-deriving, hspec, tagged
-     , transformers, transformers-compat
+    ({ mkDerivation, base, base-orphans, Cabal, cabal-doctest, doctest
+     , generic-deriving, hspec, tagged, transformers
+     , transformers-compat
      }:
      mkDerivation {
        pname = "distributive";
        version = "0.5.2";
        sha256 = "ade2be6a5e81950ab2918d938037dde0ce09d04dc399cefbf191ce6cb5f76cd9";
-       revision = "1";
-       editedCabalFile = "b8e7dbc541e69b9f8e79faefd636e50d42eb38354ffbe5512af6f2bc98c3e257";
-       setupHaskellDepends = [
-         base Cabal cabal-doctest directory filepath
-       ];
+       revision = "2";
+       editedCabalFile = "29cf1ac04b774831a231c83cd13c4356c65dc657000f1a79ef3e42ad21e6e2f2";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans tagged transformers transformers-compat
        ];
@@ -56681,7 +56837,6 @@ self: {
        homepage = "http://github.com/ekmett/distributive/";
        description = "Distributive functors -- Dual to Traversable";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "diversity" = callPackage
@@ -57356,6 +57511,7 @@ self: {
        homepage = "http://johannesgerer.com/doi";
        description = "Automatic Bibtex and fulltext of scientific articles";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dom-lt" = callPackage
@@ -58897,6 +59053,20 @@ self: {
        license = "GPL";
      }) {};
 
+  "each" = callPackage
+    ({ mkDerivation, base, dlist, hspec, QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "each";
+       version = "1.1.0.0";
+       sha256 = "b4935754b33a1078e7ad652c321cd610071ae2c6a37e5812f5f9fc3a0dc2077a";
+       libraryHaskellDepends = [ base dlist template-haskell ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/dramforever/each#readme";
+       description = "Template Haskell library for writing monadic expressions more easily";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "eager-sockets" = callPackage
     ({ mkDerivation, base, bytestring, network }:
      mkDerivation {
@@ -59228,19 +59398,20 @@ self: {
 
   "ede" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bifunctors
-     , bytestring, comonad, directory, filepath, free, lens, mtl
-     , parsers, scientific, semigroups, tasty, tasty-golden, text
-     , text-format, text-manipulate, trifecta, unordered-containers
-     , vector
+     , bytestring, comonad, directory, double-conversion, filepath, free
+     , lens, mtl, parsers, scientific, semigroups, tasty, tasty-golden
+     , text, text-format, text-manipulate, trifecta
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "ede";
-       version = "0.2.8.6";
-       sha256 = "6388ce61ebc6153fcae1aeabe426ef4eb07f2080fd5019bb4d441184570cf2a5";
+       version = "0.2.8.7";
+       sha256 = "8b6be46bb0ef2b6503124fb1ae63c26e377013686fbb19ddd0ffeec3d3365e0a";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base bifunctors bytestring comonad directory
-         filepath free lens mtl parsers scientific semigroups text
-         text-format text-manipulate trifecta unordered-containers vector
+         double-conversion filepath free lens mtl parsers scientific
+         semigroups text text-format text-manipulate trifecta
+         unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bifunctors bytestring directory tasty tasty-golden text
@@ -60716,8 +60887,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "empty-monad";
-       version = "0.1.0.0";
-       sha256 = "bea74c847e505c3432c39de3e419f2f65d88b6c2ec83415d184409c8ffe56605";
+       version = "0.1.0.1";
+       sha256 = "e5c61b20ce90d48d3eda2da1c1b55cac7b8bdeaba631acefbcca5f0c9c73c840";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/vadimvinnik/empty-monad";
        description = "A container that always has no values";
@@ -63655,24 +63826,6 @@ self: {
      }:
      mkDerivation {
        pname = "fast-logger";
-       version = "2.4.8";
-       sha256 = "444cdd6e795b79de8b7e14d62f43c9231e7388ab63cb6f9b6f395555422d30ac";
-       libraryHaskellDepends = [
-         array auto-update base bytestring directory easy-file filepath text
-         unix unix-time
-       ];
-       testHaskellDepends = [ base bytestring directory hspec ];
-       homepage = "https://github.com/kazu-yamamoto/logger";
-       description = "A fast logging system";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "fast-logger_2_4_10" = callPackage
-    ({ mkDerivation, array, auto-update, base, bytestring, directory
-     , easy-file, filepath, hspec, text, unix, unix-time
-     }:
-     mkDerivation {
-       pname = "fast-logger";
        version = "2.4.10";
        sha256 = "dec4a5d1a88f822d08d334ee870a08a8bb63b2b226d145cd24a7f08676ce678d";
        libraryHaskellDepends = [
@@ -63683,7 +63836,6 @@ self: {
        homepage = "https://github.com/kazu-yamamoto/logger";
        description = "A fast logging system";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-math" = callPackage
@@ -63715,8 +63867,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-tags";
-       version = "1.2.1";
-       sha256 = "6802c0275d28695c475d2cb41c4e2644b04d6f43befff0b6ac950081eb4cc0d3";
+       version = "1.3";
+       sha256 = "d81da625154eccdf61c81db1f8d041055470c977a33ad29c302482d7441e1fdf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -63725,7 +63877,7 @@ self: {
        ];
        libraryToolDepends = [ alex ];
        executableHaskellDepends = [
-         async base bytestring containers directory filepath text
+         async base bytestring containers deepseq directory filepath text
        ];
        testHaskellDepends = [
          async base bytestring containers directory filepath tasty
@@ -64672,8 +64824,8 @@ self: {
      }:
      mkDerivation {
        pname = "fficxx";
-       version = "0.3";
-       sha256 = "bdf56fb5f2226ef17c525c3f83fc8c85e7f0c2238da3f06280a7d40748b746a6";
+       version = "0.3.1";
+       sha256 = "93888f04f6d65c92368b69f14e5744a2dcc5194c93eb4793ab21174344a48078";
        libraryHaskellDepends = [
          base bytestring Cabal containers data-default directory either
          errors filepath hashable haskell-src-exts lens mtl process pureMD5
@@ -65101,12 +65253,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "filepath_1_4_1_1" = callPackage
+  "filepath_1_4_1_2" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "filepath";
-       version = "1.4.1.1";
-       sha256 = "52fdbde3bc3a44d920544b8d184bd7241bac3f92d1fc6e299d716e06e99f12b4";
+       version = "1.4.1.2";
+       sha256 = "7bfb0c8776dc161cf10e324b306f3a0c89db01803ee2f8c7e11fcf3cd9892bc3";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "https://github.com/haskell/filepath#readme";
@@ -66451,8 +66603,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.5.0.3";
-       sha256 = "6c90ce6d51ebba82fc3148b6a60d0665f941be04f12328ace8ac69ad825bdeec";
+       version = "0.5.0.6";
+       sha256 = "aef86dd12b001265c4e3ab15edea6cdae8f795baafc8a32764740179c2159fdd";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal ];
@@ -67758,16 +67910,17 @@ self: {
      }) {};
 
   "free-functors" = callPackage
-    ({ mkDerivation, algebraic-classes, base, comonad, constraints
-     , template-haskell, transformers, void
+    ({ mkDerivation, algebraic-classes, base, bifunctors, comonad
+     , constraints, contravariant, profunctors, template-haskell
+     , transformers
      }:
      mkDerivation {
        pname = "free-functors";
-       version = "0.6.5";
-       sha256 = "be107f1140b11d043e93682e1ab988a4aa7fd00cb460417daca97c90d61f7ddf";
+       version = "0.7";
+       sha256 = "bb30362bc3c5f8293a75af0bda8e52dee497e06ab3c0f44b088d619a41f5707d";
        libraryHaskellDepends = [
-         algebraic-classes base comonad constraints template-haskell
-         transformers void
+         algebraic-classes base bifunctors comonad constraints contravariant
+         profunctors template-haskell transformers
        ];
        homepage = "https://github.com/sjoerdvisscher/free-functors";
        description = "Free functors, adjoint to functors that forget class constraints";
@@ -69881,13 +70034,12 @@ self: {
      }:
      mkDerivation {
        pname = "generic-random";
-       version = "0.3.0.0";
-       sha256 = "80a8484be904a8ac7a536c454bffe8e912897e184bfb8574ff317461eb228546";
+       version = "0.4.0.0";
+       sha256 = "68c5036f55584c5164c79a6adf6d9dc4435844fc98d206be80a1683cc4929f22";
        libraryHaskellDepends = [
          ad base containers hashable hmatrix ieee754 MonadRandom mtl
          QuickCheck transformers unordered-containers vector
        ];
-       testHaskellDepends = [ base QuickCheck ];
        homepage = "http://github.com/lysxia/generic-random";
        description = "Generic random generators";
        license = stdenv.lib.licenses.mit;
@@ -70008,8 +70160,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "generics-sop";
-       version = "0.2.3.0";
-       sha256 = "2e2c8291de476e103d1978c6ad569be05705fbc178ac89ec68d6a8e20672d377";
+       version = "0.2.4.0";
+       sha256 = "481f73f122970efc24fe9dea71077e265d260834d975dd41395671d9a86a1863";
        libraryHaskellDepends = [ base ghc-prim template-haskell ];
        testHaskellDepends = [ base ];
        description = "Generic Programming using True Sums of Products";
@@ -70312,6 +70464,7 @@ self: {
        homepage = "http://cs-syd.eu";
        description = "Standard spec's for aeson-related instances";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genvalidity-hspec-cereal" = callPackage
@@ -70329,6 +70482,7 @@ self: {
        homepage = "http://cs-syd.eu";
        description = "Standard spec's for cereal-related instances";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genvalidity-path" = callPackage
@@ -70344,6 +70498,7 @@ self: {
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "GenValidity support for Path";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genvalidity-text" = callPackage
@@ -70361,6 +70516,7 @@ self: {
        homepage = "https://github.com/NorfairKing/validity#readme";
        description = "GenValidity support for Text";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "geo-resolver" = callPackage
@@ -71738,6 +71894,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ghcjs-perch_0_3_3_1" = callPackage
+    ({ mkDerivation, base, transformers }:
+     mkDerivation {
+       pname = "ghcjs-perch";
+       version = "0.3.3.1";
+       sha256 = "5a9e656474f2b57c18ed028217f7c44d00468ca2b8d433422b049084143a1275";
+       libraryHaskellDepends = [ base transformers ];
+       description = "GHCJS version of Perch library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcjs-promise" = callPackage
     ({ mkDerivation, base, ghcjs-base, protolude }:
      mkDerivation {
@@ -72536,8 +72704,9 @@ self: {
 
   "gi-pangocairo" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
-     , gi-glib, gi-gobject, gi-pango, haskell-gi, haskell-gi-base, pango
-     , text, transformers
+     , gi-glib, gi-gobject, gi-pango, gobjectIntrospection, haskell-gi
+     , haskell-gi-base, pango, system-cairo, system-pango, text
+     , transformers
      }:
      mkDerivation {
        pname = "gi-pangocairo";
@@ -72548,13 +72717,22 @@ self: {
          base bytestring containers gi-cairo gi-glib gi-gobject gi-pango
          haskell-gi haskell-gi-base text transformers
        ];
-       libraryPkgconfigDepends = [ pango ];
+       libraryPkgconfigDepends = [
+         gobjectIntrospection pango system-cairo system-pango
+       ];
        doHaddock = false;
+       preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${system-pango.dev}/share/gir-1.0'';
+       preCompileBuildDriver = ''
+         PKG_CONFIG_PATH+=":${system-pango.dev}/lib/pkgconfig:${system-cairo.dev}/lib/pkgconfig"
+         setupCompileFlags+=" $(pkg-config --libs pangocairo cairo-gobject)"
+       '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "PangoCairo bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs.gnome2) pango;};
+     }) {inherit (pkgs) gobjectIntrospection; 
+         inherit (pkgs.gnome2) pango; system-cairo = pkgs.cairo; 
+         system-pango = pkgs.pango;};
 
   "gi-poppler" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, gi-cairo
@@ -74062,8 +74240,8 @@ self: {
      }:
      mkDerivation {
        pname = "glazier";
-       version = "0.6.2.2";
-       sha256 = "c10d7626aaf6c431c97ce019f92f950df59d83ecb1b3d149ffdac3dafca3abd6";
+       version = "0.7.0.0";
+       sha256 = "13eb88a1df905d3ea2671803e8c4f456671223c490b0116779af28298e7ab428";
        libraryHaskellDepends = [
          base lens mmorph mtl profunctors semigroupoids transformers
        ];
@@ -74072,22 +74250,6 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "glazier-pipes" = callPackage
-    ({ mkDerivation, base, glazier, lens, mtl, pipes, pipes-misc
-     , transformers
-     }:
-     mkDerivation {
-       pname = "glazier-pipes";
-       version = "0.1.1.0";
-       sha256 = "8ef62edb1dadc2de9ba322dd3567887ab7dcb766b9c54b84ad140424e22344de";
-       libraryHaskellDepends = [
-         base glazier lens mtl pipes pipes-misc transformers
-       ];
-       homepage = "https://github.com/louispan/glazier-pipes#readme";
-       description = "Converts Glazier widgets into a Pipe";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
   "gli" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
      , friendly-time, http-client, http-client-tls, http-conduit
@@ -77724,6 +77886,7 @@ self: {
        homepage = "https://github.com/ishiy1993/google-oauth2-for-cli#readme";
        description = "Get Google OAuth2 token for CLI tools";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "google-oauth2-jwt" = callPackage
@@ -78203,8 +78366,8 @@ self: {
      }:
      mkDerivation {
        pname = "graflog";
-       version = "6.1.3";
-       sha256 = "b0af2e3becca91475a1ec8737d3bf27a3f68bc106ac46cce0f4264408b0a8bda";
+       version = "6.1.4";
+       sha256 = "d798087880663d3edd16f4ff6f9503b6f40917178aa86e19613dfba9811ed824";
        libraryHaskellDepends = [
          aeson base bytestring containers mtl text text-conversions
        ];
@@ -78766,6 +78929,7 @@ self: {
        homepage = "https://github.com/jml/graphql-api#readme";
        description = "Write type-safe GraphQL services in Haskell";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "graphs" = callPackage
@@ -79130,19 +79294,17 @@ self: {
 
   "groundhog" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , blaze-builder, bytestring, containers, monad-control
-     , monad-logger, mtl, scientific, text, time, transformers
+     , blaze-builder, bytestring, containers, monad-control, mtl
+     , resourcet, scientific, text, time, transformers
      , transformers-base
      }:
      mkDerivation {
        pname = "groundhog";
-       version = "0.7.0.3";
-       sha256 = "39713e7b3423ea34a5ac803d4a563d7f9674bbf72700e263a00c7bc70328ac58";
-       revision = "2";
-       editedCabalFile = "b4a2f7876feaaf6ad8d4589989902d4452468910c0f3f01a04827a001036f3ff";
+       version = "0.8";
+       sha256 = "16955dfe46737481400b1accd9e2b4ef3e7318e296c8b4838ba0651f7d51af1c";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-builder bytestring
-         containers monad-control monad-logger mtl scientific text time
+         containers monad-control mtl resourcet scientific text time
          transformers transformers-base
        ];
        homepage = "http://github.com/lykahb/groundhog";
@@ -79177,8 +79339,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-inspector";
-       version = "0.7.1.2";
-       sha256 = "909e4c47c8c58d57bd286b71db86526dfdf3eba12dfba9e61602908f82ad9d93";
+       version = "0.8";
+       sha256 = "d43df51f3feb32a8981df6850f35e55d3eed7ec2a5ac28ead4093947740b076e";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79198,15 +79360,15 @@ self: {
   "groundhog-mysql" = callPackage
     ({ mkDerivation, base, bytestring, containers, groundhog
      , monad-control, monad-logger, mysql, mysql-simple, resource-pool
-     , text, time, transformers
+     , resourcet, text, time, transformers
      }:
      mkDerivation {
        pname = "groundhog-mysql";
-       version = "0.7.0.1";
-       sha256 = "ee884137d44cb3f391d402f524d149825477a898b29e99e8056a03b56db4f606";
+       version = "0.8";
+       sha256 = "51ad8be513110081fff4333ae532b35e7ac5b35c4673e4c982bc0eca6c485666";
        libraryHaskellDepends = [
          base bytestring containers groundhog monad-control monad-logger
-         mysql mysql-simple resource-pool text time transformers
+         mysql mysql-simple resource-pool resourcet text time transformers
        ];
        description = "MySQL backend for the groundhog library";
        license = stdenv.lib.licenses.bsd3;
@@ -79214,21 +79376,19 @@ self: {
      }) {};
 
   "groundhog-postgresql" = callPackage
-    ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
-     , containers, groundhog, monad-control, monad-logger
-     , postgresql-libpq, postgresql-simple, resource-pool, text, time
-     , transformers
+    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
+     , containers, groundhog, monad-control, postgresql-libpq
+     , postgresql-simple, resource-pool, resourcet, text, time
+     , transformers, vector
      }:
      mkDerivation {
        pname = "groundhog-postgresql";
-       version = "0.7.0.2";
-       sha256 = "312045c39c973596e8e92b8001776bb86898e3c8766e0a42c71e63b343918da3";
-       revision = "1";
-       editedCabalFile = "014cf49927d870d99d906064fc27ee219f7145e71a409cc69ae3ed0cdc0699ca";
+       version = "0.8";
+       sha256 = "78a5acb35b9b1dae9a9076e41db2dde46198b8e8494baaac98c6fdfc64b77f8d";
        libraryHaskellDepends = [
-         attoparsec base blaze-builder bytestring containers groundhog
-         monad-control monad-logger postgresql-libpq postgresql-simple
-         resource-pool text time transformers
+         aeson attoparsec base blaze-builder bytestring containers groundhog
+         monad-control postgresql-libpq postgresql-simple resource-pool
+         resourcet text time transformers vector
        ];
        description = "PostgreSQL backend for the groundhog library";
        license = stdenv.lib.licenses.bsd3;
@@ -79237,16 +79397,16 @@ self: {
 
   "groundhog-sqlite" = callPackage
     ({ mkDerivation, base, bytestring, containers, direct-sqlite
-     , groundhog, monad-control, monad-logger, resource-pool, text
+     , groundhog, monad-control, resource-pool, resourcet, text
      , transformers, unordered-containers
      }:
      mkDerivation {
        pname = "groundhog-sqlite";
-       version = "0.7.0.1";
-       sha256 = "be89709d458bb03a688281fbeab0408cdbc4f7942bf7559c25feb6ab9c4f5553";
+       version = "0.8";
+       sha256 = "7dcbbd4bcf9b38408bc29608a514a2b535c85490e4649090c342603c91283092";
        libraryHaskellDepends = [
          base bytestring containers direct-sqlite groundhog monad-control
-         monad-logger resource-pool text transformers unordered-containers
+         resource-pool resourcet text transformers unordered-containers
        ];
        description = "Sqlite3 backend for the groundhog library";
        license = stdenv.lib.licenses.bsd3;
@@ -79259,8 +79419,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-th";
-       version = "0.7.0.1";
-       sha256 = "700cd109989bbf4dd8cff72249077035cb2ca8c1d4c9748bfecf4bc17f3ee095";
+       version = "0.8";
+       sha256 = "cef719b550e0c411fabf177e53466db7734d06ad6494d0548fa8b9aad7a72ec3";
        libraryHaskellDepends = [
          aeson base bytestring containers groundhog template-haskell text
          time unordered-containers yaml
@@ -80599,6 +80759,7 @@ self: {
        homepage = "https://github.com/airalab/habit#readme";
        description = "Haskell message bot framework";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hable" = callPackage
@@ -83921,8 +84082,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt";
-       version = "0.1.0.8";
-       sha256 = "ab3fde6c246636bf06d6a1a3a64261469d3f146a862a15db83fca86b02ade250";
+       version = "0.1.0.9";
+       sha256 = "8b013b4fc84019eff89ba9d9e1cba86e84cd5570c8acb51aba9b68a958002097";
        libraryHaskellDepends = [
          base binary bytestring containers data-binary-ieee754 data-default
          hex network network-simple text transformers
@@ -84582,18 +84743,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "haskeline_0_7_3_0" = callPackage
+  "haskeline_0_7_3_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
-     , terminfo, transformers, unix
+     , process, terminfo, transformers, unix
      }:
      mkDerivation {
        pname = "haskeline";
-       version = "0.7.3.0";
-       sha256 = "566f625ef50877631d72ab2a8335c92c2b03a8c84a1473d915b40e69c9bb4d8a";
+       version = "0.7.3.1";
+       sha256 = "7bec719c44d03cc78eb343f7927b1fc0482380384eed506ecb1644b86c62db22";
        configureFlags = [ "-fterminfo" ];
        libraryHaskellDepends = [
-         base bytestring containers directory filepath terminfo transformers
-         unix
+         base bytestring containers directory filepath process terminfo
+         transformers unix
        ];
        homepage = "http://trac.haskell.org/haskeline";
        description = "A command-line interface for user input, written in Haskell";
@@ -87153,35 +87314,6 @@ self: {
      , bytestring-tree-builder, contravariant, contravariant-extras
      , data-default-class, dlist, either, hashable, hashtables, loch-th
      , mtl, placeholders, postgresql-binary, postgresql-libpq
-     , profunctors, QuickCheck, quickcheck-instances, rebase, scientific
-     , semigroups, tasty, tasty-hunit, tasty-quickcheck
-     , tasty-smallcheck, text, time, transformers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "hasql";
-       version = "0.19.15.2";
-       sha256 = "b025bd613d23444f18f1196ca51fb2bdbb4b10bf779c1db85685eeb755c8bb34";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-prelude bytestring
-         bytestring-tree-builder contravariant contravariant-extras
-         data-default-class dlist either hashable hashtables loch-th mtl
-         placeholders postgresql-binary postgresql-libpq profunctors
-         scientific semigroups text time transformers uuid vector
-       ];
-       testHaskellDepends = [
-         data-default-class QuickCheck quickcheck-instances rebase tasty
-         tasty-hunit tasty-quickcheck tasty-smallcheck
-       ];
-       homepage = "https://github.com/nikita-volkov/hasql";
-       description = "An efficient PostgreSQL driver and a flexible mapping API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hasql_0_19_16" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
-     , bytestring-tree-builder, contravariant, contravariant-extras
-     , data-default-class, dlist, either, hashable, hashtables, loch-th
-     , mtl, placeholders, postgresql-binary, postgresql-libpq
      , profunctors, QuickCheck, quickcheck-instances, rebase, rerebase
      , scientific, semigroups, tasty, tasty-hunit, tasty-quickcheck
      , tasty-smallcheck, text, time, transformers, uuid, vector
@@ -87204,7 +87336,6 @@ self: {
        homepage = "https://github.com/nikita-volkov/hasql";
        description = "An efficient PostgreSQL driver and a flexible mapping API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -90955,6 +91086,7 @@ self: {
        homepage = "https://gitlab.com/gonz/hifi";
        description = "Initial project template from stack";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "highWaterMark" = callPackage
@@ -91011,23 +91143,37 @@ self: {
      }) {};
 
   "highjson" = callPackage
-    ({ mkDerivation, attoparsec, base, buffer-builder, bytestring
-     , containers, hashable, hspec, hvect, QuickCheck, scientific, text
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, base, hspec, hvect, lens, QuickCheck, text
      }:
      mkDerivation {
        pname = "highjson";
-       version = "0.2.0.2";
-       sha256 = "7fd64bb5206b6d16d420e34eb7f3fefc6d888be518f0dc635a77ed51d63f1f1f";
+       version = "0.3.0.0";
+       sha256 = "4d1d518ca40891e76e67dc6616d8ec94351efa70715098a745b596c987ddc5f7";
+       libraryHaskellDepends = [ aeson base hvect lens text ];
+       testHaskellDepends = [ aeson base hspec lens QuickCheck text ];
+       homepage = "https://github.com/agrafix/highjson";
+       description = "Spec based JSON parsing/serialisation";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "highjson-swagger" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, highjson, hspec, hvect
+     , insert-ordered-containers, lens, QuickCheck, swagger2, text
+     }:
+     mkDerivation {
+       pname = "highjson-swagger";
+       version = "0.3.0.0";
+       sha256 = "d03b13a9fdd2fa9ef3c68cbecd2b1a875242fd68787c667d19e3d592796d992f";
        libraryHaskellDepends = [
-         attoparsec base buffer-builder bytestring containers hashable hvect
-         scientific text unordered-containers vector
+         base highjson hvect insert-ordered-containers lens swagger2 text
+       ];
+       testHaskellDepends = [
+         aeson base bytestring highjson hspec lens QuickCheck swagger2 text
        ];
-       testHaskellDepends = [ base hspec QuickCheck text ];
        homepage = "https://github.com/agrafix/highjson";
-       description = "Very fast JSON serialisation and parsing library";
+       description = "Derive swagger instances from highjson specs";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "highlight-versions" = callPackage
@@ -91083,28 +91229,6 @@ self: {
      }:
      mkDerivation {
        pname = "highlighting-kate";
-       version = "0.6.3";
-       sha256 = "71dab85c49b038053b90062ed882e486233cbaa2b762d017224d06482075840d";
-       configureFlags = [ "-fpcre-light" ];
-       libraryHaskellDepends = [
-         base blaze-html bytestring containers mtl parsec pcre-light
-         utf8-string
-       ];
-       testHaskellDepends = [
-         base blaze-html containers Diff directory filepath process
-       ];
-       homepage = "http://github.com/jgm/highlighting-kate";
-       description = "Syntax highlighting";
-       license = "GPL";
-     }) {};
-
-  "highlighting-kate_0_6_4" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, containers, Diff
-     , directory, filepath, mtl, parsec, pcre-light, process
-     , utf8-string
-     }:
-     mkDerivation {
-       pname = "highlighting-kate";
        version = "0.6.4";
        sha256 = "d8b83385f5da2ea7aa59f28eb860fd7eba0d35a4c36192a5044ee7ea1e001baf";
        configureFlags = [ "-fpcre-light" ];
@@ -91118,7 +91242,6 @@ self: {
        homepage = "http://github.com/jgm/highlighting-kate";
        description = "Syntax highlighting";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hills" = callPackage
@@ -91453,6 +91576,7 @@ self: {
        homepage = "https://github.com/LTI2000/hinterface";
        description = "Haskell / Erlang interoperability library";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hinvaders" = callPackage
@@ -91503,15 +91627,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "hip_1_5_1_0" = callPackage
+  "hip_1_5_2_0" = callPackage
     ({ mkDerivation, base, bytestring, Chart, Chart-diagrams, colour
      , deepseq, directory, filepath, hspec, JuicyPixels, netpbm
      , primitive, process, QuickCheck, repa, temporary, vector
      }:
      mkDerivation {
        pname = "hip";
-       version = "1.5.1.0";
-       sha256 = "6b779b4befbfcae4cf2e5b232481b337f51730c83423771397c8332d93832a3f";
+       version = "1.5.2.0";
+       sha256 = "4f5eecf455df1d5a0a577abfefd48e519be8f57f9c47ca2edf31dc0982b7dc46";
        libraryHaskellDepends = [
          base bytestring Chart Chart-diagrams colour deepseq directory
          filepath JuicyPixels netpbm primitive process repa temporary vector
@@ -92168,6 +92292,8 @@ self: {
        pname = "hledger";
        version = "1.1";
        sha256 = "b254b2a3918e047ca031f6dfafc42dd5fcb4b859157fae2d019dcd95262408e5";
+       revision = "1";
+       editedCabalFile = "d33edead74698ee1e7f3e5f167bfd8e32664d520df69092f5ac48f0816939aaf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92264,8 +92390,8 @@ self: {
      }:
      mkDerivation {
        pname = "hledger-iadd";
-       version = "1.1.4";
-       sha256 = "a2f52abe59637dc63c5b08f79311a8ea4543df18661fdd46b519c8746af90b6c";
+       version = "1.2";
+       sha256 = "7ec0817c2c9c20c05c6496eca6264124139e7575e452ada5b1fd225c97533083";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -92336,6 +92462,8 @@ self: {
        pname = "hledger-lib";
        version = "1.1";
        sha256 = "4142142fb92e6c1affc1420e3478449cf0d9d696ab05cc801338a562a5560556";
+       revision = "1";
+       editedCabalFile = "cf72c68e9c71bc059e7ea98e764837e649ec9ecda073ac936e5fb71e06115724";
        libraryHaskellDepends = [
          array base base-compat blaze-markup bytestring cmdargs containers
          csv data-default Decimal deepseq directory filepath hashtables
@@ -92367,6 +92495,8 @@ self: {
        pname = "hledger-ui";
        version = "1.1.2";
        sha256 = "5cc85502297f3ccf31990ebbe60178ee9f90ea434e86756f39e2848f0ae788d1";
+       revision = "2";
+       editedCabalFile = "b8f09f1a5411bec106f6f507a5d71eea67685f6271c716e390b4f6513c7acddd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -92413,6 +92543,8 @@ self: {
        pname = "hledger-web";
        version = "1.1";
        sha256 = "da0c0c1096497737540efdc85cbb95cd01cbd48410491d8b2c26529b4151a2ca";
+       revision = "1";
+       editedCabalFile = "fbc15617f161701111b55e6d19f2fa0b4bac297c0db23194ca5c5d9d87a8301d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93308,14 +93440,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_0_5_7" = callPackage
+  "hoauth2_0_5_8" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
      , text, unordered-containers
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "0.5.7";
-       sha256 = "7b196e4b70b8207c4beb3479f5ab4476c17d9c0ec7d8f1fcb658590641e9b9ec";
+       version = "0.5.8";
+       sha256 = "caacec1259455de9d1cb78c38fe8ca4dabc901e5b9fd8a9e7d17eaca0a820e60";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit http-types text
          unordered-containers
@@ -94577,6 +94709,7 @@ self: {
        homepage = "http://github.com/luqui/hothasktags";
        description = "Generates ctags for Haskell, incorporating import lists and qualified imports";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hotswap" = callPackage
@@ -97537,6 +97670,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {inherit (pkgs) lua5_1;};
 
+  "hslua-aeson" = callPackage
+    ({ mkDerivation, aeson, base, hashable, hslua, hspec, HUnit
+     , ieee754, QuickCheck, quickcheck-instances, scientific, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hslua-aeson";
+       version = "0.1.0.0";
+       sha256 = "62564714c0952da7f631f60ad502863376aad1963aa80d2365d5765f93872ff7";
+       libraryHaskellDepends = [
+         aeson base hashable hslua scientific text unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base hashable hslua hspec HUnit ieee754 QuickCheck
+         quickcheck-instances scientific text unordered-containers vector
+       ];
+       homepage = "https://github.com/tarleb/hslua-aeson#readme";
+       description = "Glue between aeson and hslua";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "hsmagick" = callPackage
     ({ mkDerivation, base, bytestring, bzip2, directory, filepath
      , freetype2, GraphicsMagick, jasper, lcms, libjpeg, libpng, libxml2
@@ -97747,29 +97902,33 @@ self: {
   "hsoz" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
      , base64-bytestring, byteable, bytestring, case-insensitive
-     , containers, cryptonite, data-default, either, errors, http-client
-     , http-conduit, http-types, HUnit, lens, lucid, memory, mtl
-     , network, QuickCheck, scientific, scotty, securemem, tasty
-     , tasty-golden, tasty-hunit, tasty-quickcheck, text, time
-     , transformers, uri-bytestring, vault, wai, warp, wreq
+     , containers, cryptonite, data-default, either, errors, exceptions
+     , hashable, http-client, http-conduit, http-types, HUnit, lens
+     , lucid, memory, mtl, network, optparse-applicative, QuickCheck
+     , scientific, scotty, securemem, tasty, tasty-golden, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unordered-containers
+     , uri-bytestring, vault, wai, warp
      }:
      mkDerivation {
        pname = "hsoz";
-       version = "0.0.0.3";
-       sha256 = "5aa1d06f0fe3f2f38354d12af1f6205c15894d74e5a32ed743a4ce6602573781";
+       version = "0.0.0.4";
+       sha256 = "a007f1ed9937208c613cbd854d103b09c54bdc35f972186d43adf0e3795dd058";
+       revision = "1";
+       editedCabalFile = "00802583e500dd540bb78ae2e03802dcb5965e3bc9338616d72149cbeea12073";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring base64-bytestring byteable
          bytestring case-insensitive containers cryptonite data-default
-         either errors http-client http-types lens memory mtl network
-         scientific scotty securemem text time transformers uri-bytestring
-         vault wai warp
+         either errors exceptions hashable http-client http-types lens
+         memory mtl network scientific scotty securemem text time
+         transformers unordered-containers uri-bytestring vault wai warp
        ];
        executableHaskellDepends = [
          aeson base bytestring case-insensitive containers cryptonite
-         data-default http-client http-conduit http-types lens lucid scotty
-         text transformers uri-bytestring wai warp wreq
+         data-default http-client http-conduit http-types lens lucid
+         optparse-applicative scotty text time transformers uri-bytestring
+         wai warp
        ];
        testHaskellDepends = [
          aeson base bytestring data-default http-client http-types HUnit
@@ -98211,8 +98370,8 @@ self: {
        pname = "hspec-megaparsec";
        version = "0.2.1";
        sha256 = "6474bc9a4d77cf68c4415bfa2d76da77ece418d6570429ca6c8b68eb7463de6b";
-       revision = "1";
-       editedCabalFile = "8d7144767ad65f8686ebcf3f6181e870a832dbc7613b53b13069ddf677ba86c9";
+       revision = "2";
+       editedCabalFile = "6da45ba059597259f057ddbfeb7b852beccd3476a21f7e0e2e68ced36a5668c8";
        libraryHaskellDepends = [
          base containers hspec-expectations megaparsec
        ];
@@ -98224,16 +98383,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hspec-megaparsec_0_3_0" = callPackage
+  "hspec-megaparsec_0_3_1" = callPackage
     ({ mkDerivation, base, containers, hspec, hspec-expectations
      , megaparsec
      }:
      mkDerivation {
        pname = "hspec-megaparsec";
-       version = "0.3.0";
-       sha256 = "00baf799a21404108f2861ad42649a014c283dafcbc454875e1f50eb9af3d2ed";
-       revision = "1";
-       editedCabalFile = "2f5da90f1a6d9efbbcbec8e8570bcbf30749d620b911e6b1fe6f466653203768";
+       version = "0.3.1";
+       sha256 = "826f8169bc2ce9f056be8f2b1bb00039eb1a0114015b3db71509e3e0c871514d";
        libraryHaskellDepends = [
          base containers hspec-expectations megaparsec
        ];
@@ -99089,6 +99246,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hstatistics_0_3" = callPackage
+    ({ mkDerivation, array, base, hmatrix, hmatrix-gsl-stats, random
+     , vector
+     }:
+     mkDerivation {
+       pname = "hstatistics";
+       version = "0.3";
+       sha256 = "7af3f698d1bded8690b1ec05017ae05310fad1f2d25ec138fb72994b0812eeec";
+       libraryHaskellDepends = [
+         array base hmatrix hmatrix-gsl-stats random vector
+       ];
+       homepage = "http://code.haskell.org/hstatistics";
+       description = "Statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hstats" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -100846,6 +101020,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http2_1_6_3" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
+     , bytestring-builder, case-insensitive, containers, directory
+     , doctest, filepath, Glob, hex, hspec, psqueues, stm, text
+     , unordered-containers, vector, word8
+     }:
+     mkDerivation {
+       pname = "http2";
+       version = "1.6.3";
+       sha256 = "61620eca0f57875a6a9bd24f9cc04c301b5c3c668bf98f85e9989aad5d069c43";
+       libraryHaskellDepends = [
+         array base bytestring bytestring-builder case-insensitive
+         containers psqueues stm
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty array base bytestring bytestring-builder
+         case-insensitive containers directory doctest filepath Glob hex
+         hspec psqueues stm text unordered-containers vector word8
+       ];
+       homepage = "https://github.com/kazu-yamamoto/http2";
+       description = "HTTP/2 library including frames, priority queues and HPACK";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "httpd-shed" = callPackage
     ({ mkDerivation, base, network, network-uri }:
      mkDerivation {
@@ -101369,6 +101568,7 @@ self: {
        homepage = "https://github.com/yigitozkavci/hurriyet-haskell";
        description = "Haskell bindings for Hurriyet API";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "husk-scheme" = callPackage
@@ -101491,6 +101691,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hvect_0_4_0_0" = callPackage
+    ({ mkDerivation, base, hspec }:
+     mkDerivation {
+       pname = "hvect";
+       version = "0.4.0.0";
+       sha256 = "cb50ef1a7f189f8c217a7d0d55b5568b2fa9bbe415b14ce114a93d2e1d5e30b6";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/agrafix/hvect";
+       description = "Simple strict heterogeneous lists";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-balancedparens" = callPackage
     ({ mkDerivation, base, hspec, hw-bits, hw-excess, hw-prim
      , hw-rankselect-base, QuickCheck, vector
@@ -103258,6 +103472,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "icon-fonts" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "icon-fonts";
+       version = "0.2.1.0";
+       sha256 = "74fb7d6c38d772b2288a43c3418e46ff35759394ea397072d374d25d77ee0f44";
+       libraryHaskellDepends = [ base ];
+       description = "Package for handling icon fonts in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "iconv" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -105619,6 +105844,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "instapaper-sender" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, data-default-class
+     , HaskellNet, HaskellNet-SSL, http-types, network, scotty, text
+     , wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "instapaper-sender";
+       version = "0.1.0.2";
+       sha256 = "c14b27275628ae15c4d9c4f617a65cd5ff6be2a8e59a8e8d30da79e4ecb1c199";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base bytestring data-default-class HaskellNet HaskellNet-SSL
+         http-types network scotty text wai wai-extra
+       ];
+       homepage = "https://github.com/spinda/instapaper-sender#readme";
+       description = "Basic HTTP gateway to save articles to Instapaper";
+       license = stdenv.lib.licenses.agpl3;
+     }) {};
+
   "instinct" = callPackage
     ({ mkDerivation, base, containers, mersenne-random, vector }:
      mkDerivation {
@@ -106078,8 +106323,8 @@ self: {
      }:
      mkDerivation {
        pname = "intro";
-       version = "0.1.0.5";
-       sha256 = "0803d38f425d8f338d7ce5ae5e0755b59f39ae54a7ccc44a381a2840f3d48cb0";
+       version = "0.1.0.6";
+       sha256 = "a3ebf5474aa99626287859c27669ffb2bcd0873204e1d9a6994f628742180bcd";
        libraryHaskellDepends = [
          base bifunctors binary bytestring containers deepseq dlist extra
          hashable mtl safe string-conversions tagged text transformers
@@ -106152,6 +106397,7 @@ self: {
        homepage = "https://github.com/NorfairKing/introduction";
        description = "A prelude for the tests of safe new projects";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "intset" = callPackage
@@ -106195,10 +106441,8 @@ self: {
      }:
      mkDerivation {
        pname = "invertible";
-       version = "0.1.2";
-       sha256 = "3ee47b2ba98ff687c4988a1b065be8791523f169a57c006c719c58bd368bd344";
-       revision = "1";
-       editedCabalFile = "26bd0b94b44b28ce135b2520c82cadba5934a9eadf09229608a2e3eb439078a9";
+       version = "0.2.0";
+       sha256 = "3da08f518924925a547e954821eb96f15b4ecf47d541fa5770d38180963db19e";
        libraryHaskellDepends = [
          arrows base haskell-src-meta HList invariant lens
          partial-isomorphisms Piso semigroupoids template-haskell
@@ -107282,8 +107526,8 @@ self: {
      }:
      mkDerivation {
        pname = "itemfield";
-       version = "1.2.4.2";
-       sha256 = "29b27d36d332e847c3a3744e19fcbbfcf4231ab3a81aa66839ee6916880bd8a2";
+       version = "1.2.5.0";
+       sha256 = "161eaf7aba4d4b25db8e3095e579cbc486f39a5c335c5bd9711e996f58912f11";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -111504,8 +111748,8 @@ self: {
     ({ mkDerivation, base, template-haskell }:
      mkDerivation {
        pname = "labels";
-       version = "0.1.2";
-       sha256 = "d124f63d08ef1f80bff8094ce89261b84afada48bc1e851ed007ae4e257d2486";
+       version = "0.3.0";
+       sha256 = "2e7fa244c88e4de017440a617bc10c4899e3ade4422e435698923b24d84a1afb";
        libraryHaskellDepends = [ base template-haskell ];
        homepage = "https://github.com/chrisdone/labels#readme";
        description = "Anonymous records via named tuples";
@@ -111601,21 +111845,6 @@ self: {
      }:
      mkDerivation {
        pname = "lackey";
-       version = "0.4.1";
-       sha256 = "940dcc73673241ea92044bc8f0af1c1b7004e4c09a8e0e018d018c521ae71347";
-       libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base servant tasty tasty-hspec text ];
-       homepage = "https://github.com/tfausak/lackey#readme";
-       description = "Generate Ruby clients from Servant APIs";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "lackey_0_4_2" = callPackage
-    ({ mkDerivation, base, servant, servant-foreign, tasty, tasty-hspec
-     , text
-     }:
-     mkDerivation {
-       pname = "lackey";
        version = "0.4.2";
        sha256 = "3a7f28b66e015a8aafe7af45cfe2da0fec32bdd2ff4f4634def64cce033878c9";
        libraryHaskellDepends = [ base servant servant-foreign text ];
@@ -111623,7 +111852,6 @@ self: {
        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
@@ -113093,7 +113321,7 @@ self: {
        hydraPlatforms = [ "x86_64-linux" ];
      }) {};
 
-  "language-puppet_1_3_5" = callPackage
+  "language-puppet_1_3_5_1" = callPackage
     ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
      , base16-bytestring, bytestring, case-insensitive, containers
      , cryptonite, directory, either, exceptions, filecache, formatting
@@ -113107,8 +113335,8 @@ self: {
      }:
      mkDerivation {
        pname = "language-puppet";
-       version = "1.3.5";
-       sha256 = "23c86afa89085f33bfcce1c7290b1f3b302f675578c0625237773211d76d8590";
+       version = "1.3.5.1";
+       sha256 = "4c33feba8e2b3654d25d7cb3d7a881b1f1228196db2d0335a0a83c995b5f19d4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -118042,20 +118270,20 @@ self: {
      }:
      mkDerivation {
        pname = "log-warper";
-       version = "0.3.1";
-       sha256 = "ff1c2e2fac08b44e180f8d9359eac8ad3df1967dea53b9f29aa78da12d5c7678";
+       version = "0.4.2";
+       sha256 = "78f497120d94dd64f85846e2f4c805c4f1dcbcedb655771678441e28bbe8d393";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson ansi-terminal base bytestring data-default directory dlist
-         errors exceptions extra filepath formatting hashable hslogger lens
+         aeson ansi-terminal base bytestring directory dlist errors
+         exceptions extra filepath formatting hashable hslogger lens
          monad-control mtl safecopy text text-format time transformers
          transformers-base universum unordered-containers yaml
        ];
        executableHaskellDepends = [ base exceptions hslogger text ];
        testHaskellDepends = [
-         async base data-default directory filepath hspec HUnit QuickCheck
-         universum unordered-containers
+         async base data-default directory filepath hspec HUnit lens
+         QuickCheck universum unordered-containers
        ];
        homepage = "https://github.com/serokell/log-warper";
        description = "Flexible, configurable, monadic and pretty logging";
@@ -119772,6 +120000,7 @@ self: {
        homepage = "https://github.com/vmchale/madlang#readme";
        description = "Randomized templating language DSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mage" = callPackage
@@ -120972,8 +121201,8 @@ self: {
      }:
      mkDerivation {
        pname = "marvin-interpolate";
-       version = "0.4.0";
-       sha256 = "cc7a97fe7e9d43065d59d21827e40e127b9adaf250715cd7dbfe0e8480bfa766";
+       version = "1.0";
+       sha256 = "bb80ab05ba25400c688af5f1ca1f0a02e07aa3a99115b1cf2d4f684caaa339ae";
        libraryHaskellDepends = [
          base haskell-src-meta mtl parsec template-haskell text
        ];
@@ -122042,6 +122271,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "memis" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, filemanip, filepath, http-types
+     , mime-types, process, process-extras, regex-compat
+     , regex-pcre-builtin, regex-tdfa, safe, simple, split, text
+     , transformers, unordered-containers, utf8-string, wai, wai-extra
+     , wai-middleware-static, warp
+     }:
+     mkDerivation {
+       pname = "memis";
+       version = "0.1.1";
+       sha256 = "c99e4caceadd34ccc8e7101a449f0744a1fc395cf3a547fa333564f632056602";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         filemanip filepath http-types mime-types process process-extras
+         regex-compat regex-pcre-builtin regex-tdfa safe simple split text
+         transformers unordered-containers utf8-string wai wai-extra
+         wai-middleware-static warp
+       ];
+       homepage = "http://johannesgerer.com/memis";
+       description = "Memis Efficient Manual Image Sorting";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "memo-ptr" = callPackage
     ({ mkDerivation, base, containers }:
      mkDerivation {
@@ -124624,6 +124879,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "monad-metrics" = callPackage
+    ({ mkDerivation, base, clock, containers, ekg-core, microlens, mtl
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "monad-metrics";
+       version = "0.1.0.1";
+       sha256 = "f34fd76689245c12d694de7db877ea9ab20c259aafc57489f1fa6baecb1f2d61";
+       revision = "1";
+       editedCabalFile = "265f5c26b239a08c4c003eda08a9863928f2a3ac6530d24566cf3ecad4522dcd";
+       libraryHaskellDepends = [
+         base clock containers ekg-core microlens mtl text transformers
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/sellerlabs/monad-metrics#readme";
+       description = "A convenient wrapper around EKG metrics";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "monad-open" = callPackage
     ({ mkDerivation, base, exceptions, mtl, transformers }:
      mkDerivation {
@@ -125102,15 +125376,16 @@ self: {
      }) {};
 
   "monadcryptorandom" = callPackage
-    ({ mkDerivation, base, bytestring, crypto-api, mtl, tagged
-     , transformers
+    ({ mkDerivation, base, bytestring, crypto-api, exceptions, mtl
+     , tagged, transformers, transformers-compat
      }:
      mkDerivation {
        pname = "monadcryptorandom";
-       version = "0.7.0";
-       sha256 = "67011973932bc58d5f1d0eedbbe8dca3c3160ea1dac04e82cf96bd6687515623";
+       version = "0.7.1";
+       sha256 = "85c37875743cd2357fba28d0bde3b06cd90f4f2d9770b8e0221e15258ac6b9e7";
        libraryHaskellDepends = [
-         base bytestring crypto-api mtl tagged transformers
+         base bytestring crypto-api exceptions mtl tagged transformers
+         transformers-compat
        ];
        homepage = "https://github.com/TomMD/monadcryptorandom";
        description = "A monad for using CryptoRandomGen";
@@ -127047,6 +127322,7 @@ self: {
        homepage = "https://bitbucket.org/gltronred/multivariant#readme";
        description = "Multivariant assignments generation language";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "muon" = callPackage
@@ -128374,6 +128650,7 @@ self: {
        homepage = "https://github.com/oisdk/nat-sized-numbers#readme";
        description = "Variable-sized numbers from type-level nats";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "nationstates" = callPackage
@@ -131367,8 +131644,8 @@ self: {
      }:
      mkDerivation {
        pname = "ntrip-client";
-       version = "0.1.4";
-       sha256 = "e1c1dda1e00e2b195d0c326ccf0bc23f122c4337d68056a6fc66646ee05aec2f";
+       version = "0.1.5";
+       sha256 = "eb93158c19610209c4d5e89de75afe7aa70bf3871e0e0b3ee70418d1f0d1aee8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -132876,19 +133153,22 @@ self: {
      }) {};
 
   "open-witness" = callPackage
-    ({ mkDerivation, base, hashable, random, template-haskell
-     , transformers, witness
+    ({ mkDerivation, base, constraints, hashable, mtl, random, tasty
+     , tasty-hunit, template-haskell, transformers, witness
      }:
      mkDerivation {
        pname = "open-witness";
-       version = "0.3.1";
-       sha256 = "f217e4585e706cef7ab7aa3419f56205a929c350dbeb6c868972d7c25e7b82cb";
+       version = "0.4";
+       sha256 = "5b5b934213b9a795bfed829613fbcb11faa20e12f403319c300921ed094acb20";
        libraryHaskellDepends = [
-         base hashable random template-haskell transformers witness
+         base constraints hashable random template-haskell transformers
+         witness
        ];
+       testHaskellDepends = [ base mtl tasty tasty-hunit witness ];
        homepage = "https://github.com/AshleyYakeley/open-witness";
        description = "open witnesses";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "opencog-atomspace" = callPackage
@@ -134129,6 +134409,41 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "orgstat" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, colour
+     , containers, data-default, diagrams-lib, diagrams-svg, directory
+     , exceptions, filepath, formatting, hashable, hspec, HUnit, lens
+     , linear, log-warper, mtl, optparse-simple, orgmode-parse
+     , QuickCheck, quickcheck-text, text, time, transformers, turtle
+     , universum, yaml
+     }:
+     mkDerivation {
+       pname = "orgstat";
+       version = "0.0.1";
+       sha256 = "573cf350998a5625162d997290d932ab962f3ed594e20e81c810c962892635c8";
+       revision = "1";
+       editedCabalFile = "ccd6a9c2b4f92b27c55e90af11ecd4841bb757e48f066a0407b37af49240238b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring colour containers data-default
+         diagrams-lib diagrams-svg directory exceptions filepath formatting
+         hashable lens linear log-warper mtl optparse-simple orgmode-parse
+         text time turtle universum yaml
+       ];
+       executableHaskellDepends = [
+         base bytestring directory exceptions filepath formatting log-warper
+         optparse-simple universum
+       ];
+       testHaskellDepends = [
+         base colour hspec HUnit lens QuickCheck quickcheck-text text time
+         transformers universum
+       ];
+       homepage = "https://github.com/volhovM/orgstat";
+       description = "Statistics visualizer for org-mode";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "origami" = callPackage
     ({ mkDerivation, base, bifunctors, containers, HUnit, lens, mtl
      , pretty, template-haskell, test-framework, test-framework-hunit
@@ -134904,8 +135219,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc-preamble";
-       version = "1.2.2";
-       sha256 = "ee496f052eea0ad9a881d8056025f04cd83ec9773d695e15220151c33890579c";
+       version = "1.2.3";
+       sha256 = "82c2d2c4af43dfa8e3eb71fceb20688e7f6a8f89956785207105b2e8bff8e5c6";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -134926,6 +135241,8 @@ self: {
        pname = "pandoc-crossref";
        version = "0.2.4.2";
        sha256 = "fe1121698b9b9804f8ccc43cbbb2e77e40948caa543b42e129bf4ce872a7cd3f";
+       revision = "1";
+       editedCabalFile = "32a7466f513eaacbe70d359813e5f9fbb6f3492f23019e6588d48bd58ed994c2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -136496,8 +136813,8 @@ self: {
      }:
      mkDerivation {
        pname = "patat";
-       version = "0.4.7.1";
-       sha256 = "9e05e5510afd0b2c031e6115ee68749d0075c7357d536c67e34e60f1ea71da13";
+       version = "0.5.0.0";
+       sha256 = "74fe32c9b9dec0b57895f92037027093f6928b482bd147534f87fcb4c24cec3c";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -136566,28 +136883,6 @@ self: {
 
   "path" = callPackage
     ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
-     , filepath, genvalidity, genvalidity-hspec, hspec, HUnit, mtl
-     , QuickCheck, template-haskell, validity
-     }:
-     mkDerivation {
-       pname = "path";
-       version = "0.5.11";
-       sha256 = "bf0d9ea00271017893f59d5e136cb22116278220899609104d7906635286ac14";
-       revision = "1";
-       editedCabalFile = "a7cad89b8049cd067990a13713c27513b7c473182accfebae5eb2aa0a1d2c197";
-       libraryHaskellDepends = [
-         aeson base deepseq exceptions filepath template-haskell
-       ];
-       testHaskellDepends = [
-         aeson base bytestring filepath genvalidity genvalidity-hspec hspec
-         HUnit mtl QuickCheck validity
-       ];
-       description = "Support for well-typed paths";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "path_0_5_12" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, deepseq, exceptions
      , filepath, hashable, hspec, HUnit, mtl, QuickCheck
      , template-haskell
      }:
@@ -136603,7 +136898,6 @@ self: {
        ];
        description = "Support for well-typed paths";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "path-extra" = callPackage
@@ -138590,8 +138884,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne";
-       version = "0.0.4.0";
-       sha256 = "ce5ff314971995fd37318a0858ce5fd8276a5f0b5f43f5110f80ae2f0e31b957";
+       version = "0.0.5.0";
+       sha256 = "c3b53f08c00ded7a382b752ffdf9c6cae6472f69e51f527e4b4180f58f4f5568";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -138600,7 +138894,7 @@ self: {
          MissingH mtl parsec process resourcet safe text transformers
        ];
        testHaskellDepends = [ base hspec ];
-       description = "ghci debug viewer with simple editor";
+       description = "Deprecated - ghci debug viewer with simple editor";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -138612,8 +138906,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.11.0";
-       sha256 = "d9d5e2b94ac48b2a7aaa50526b66dfe47de9c368147b64865c3dc2d65c17defb";
+       version = "0.0.12.0";
+       sha256 = "db6c64e67759c9133f12a70fa82df22c8f7d4ba4450b5317aa57f35a177976fb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -138869,12 +139163,12 @@ self: {
     ({ mkDerivation, base, cli, hmatrix, JuicyPixels, vector }:
      mkDerivation {
        pname = "picedit";
-       version = "0.1.1.2";
-       sha256 = "e56601b9a206f1d51de3d16abb20fe94a3fc1e5a775662108dd2d0d0d09dab58";
+       version = "0.2.3.0";
+       sha256 = "e8525d8ca1d4ab0995293948a05dda3eb57f2456603ba5467fef982d0296c12d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base hmatrix JuicyPixels vector ];
-       executableHaskellDepends = [ base cli ];
+       executableHaskellDepends = [ base cli hmatrix ];
        homepage = "https://github.com/mdibaiee/picedit#readme";
        description = "simple image manipulation functions";
        license = stdenv.lib.licenses.gpl3;
@@ -139077,6 +139371,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pinchot_0_24_0_0" = callPackage
+    ({ mkDerivation, base, containers, Earley, lens, pretty-show
+     , semigroups, template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "pinchot";
+       version = "0.24.0.0";
+       sha256 = "b9769cdecb718c834d6fb04b62c08482f98cbb2a48c8a810ce83db96eff997e5";
+       libraryHaskellDepends = [
+         base containers Earley lens pretty-show semigroups template-haskell
+         transformers
+       ];
+       homepage = "http://www.github.com/massysett/pinchot";
+       description = "Write grammars, not parsers";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pipe-enumerator" = callPackage
     ({ mkDerivation, base, enumerator, pipes, transformers }:
      mkDerivation {
@@ -139336,8 +139648,8 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-category";
-       version = "0.2.0.0";
-       sha256 = "bc8d268cc35a14ec5ef317e2dfd6551d76269e706477bccc03b7d884be779bf7";
+       version = "0.2.0.1";
+       sha256 = "9da046ca3b30115bad0d3ab447250675543c159c9a6e865d2ae863c61ead6679";
        libraryHaskellDepends = [ base lens mtl pipes pipes-extras ];
        testHaskellDepends = [ base hspec pipes transformers ];
        homepage = "https://github.com/louispan/pipes-category#readme";
@@ -139595,15 +139907,15 @@ self: {
   "pipes-fluid" = callPackage
     ({ mkDerivation, async, base, constraints, hspec, lens
      , lifted-async, mmorph, monad-control, mtl, pipes
-     , pipes-concurrency, pipes-misc, stm, transformers
+     , pipes-concurrency, pipes-misc, stm, these, transformers
      , transformers-base
      }:
      mkDerivation {
        pname = "pipes-fluid";
-       version = "0.3.0.0";
-       sha256 = "6a7a26c90797f3e7b14686b7f16be6ecc2f54b0ee752e268bab77533e6f19e1c";
+       version = "0.4.0.0";
+       sha256 = "c82a04b5799e9c94a1989fc6f940ad4fb624259e6c8eda98515fe43d7b67131d";
        libraryHaskellDepends = [
-         base constraints lens lifted-async monad-control pipes stm
+         base constraints lens lifted-async monad-control pipes stm these
          transformers transformers-base
        ];
        testHaskellDepends = [
@@ -139735,18 +140047,21 @@ self: {
      }) {};
 
   "pipes-misc" = callPackage
-    ({ mkDerivation, base, hspec, lens, mtl, pipes, pipes-category
-     , pipes-concurrency, semigroups, stm, transformers
+    ({ mkDerivation, base, clock, Decimal, hspec, lens, mmorph, mtl
+     , pipes, pipes-category, pipes-concurrency, semigroups, stm
+     , transformers
      }:
      mkDerivation {
        pname = "pipes-misc";
-       version = "0.2.2.1";
-       sha256 = "9ff15e0ebcae6732eeff413a2fe9dfb33b07073eda54cfa1513a0ee0e2603c5f";
+       version = "0.2.3.0";
+       sha256 = "15a45dcef5c4893c517632772991602b34dd128d59b9eb4fa9d37a6aa7d62d66";
        libraryHaskellDepends = [
-         base lens mtl pipes pipes-category pipes-concurrency semigroups stm
-         transformers
+         base clock Decimal lens mtl pipes pipes-category pipes-concurrency
+         semigroups stm transformers
+       ];
+       testHaskellDepends = [
+         base hspec lens mmorph pipes pipes-concurrency stm transformers
        ];
-       testHaskellDepends = [ base hspec lens pipes transformers ];
        homepage = "https://github.com/louispan/pipes-misc#readme";
        description = "Miscellaneous utilities for pipes, required by glazier-tutorial";
        license = stdenv.lib.licenses.bsd3;
@@ -140441,8 +140756,8 @@ self: {
      }:
      mkDerivation {
        pname = "playlists";
-       version = "0.4.0.0";
-       sha256 = "38a4cb8370ced24a7ac198f16b509799993e9798ccfb9fc3448ee8e14bd71688";
+       version = "0.4.1.0";
+       sha256 = "707fca5b28fae465b30300d4a52c6e89a1e39ae886f9737121604b7c2f7b8c3a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -140466,8 +140781,8 @@ self: {
      }:
      mkDerivation {
        pname = "playlists-http";
-       version = "0.1.0.0";
-       sha256 = "9f3360bd4adcf45c0bd85eecc717c8093f8d8c71adcf8cff5d961c6cea1c15e3";
+       version = "0.1.1.0";
+       sha256 = "2f5eaeba301115124529aeb72c8608838911209ab9a5830f705214c32dbb26cb";
        libraryHaskellDepends = [
          attoparsec base bytestring either exceptions http-client mtl
          playlists text
@@ -141891,34 +142206,6 @@ self: {
   "postgresql-binary" = callPackage
     ({ mkDerivation, aeson, base, base-prelude, binary-parser
      , bytestring, conversion, conversion-bytestring, conversion-text
-     , either, foldl, json-ast, loch-th, placeholders, postgresql-libpq
-     , QuickCheck, quickcheck-instances, rebase, scientific, tasty
-     , tasty-hunit, tasty-quickcheck, tasty-smallcheck, text, time
-     , transformers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "postgresql-binary";
-       version = "0.9.1.1";
-       sha256 = "e9aeb3abc2e191ecde5f6112221fe0957364c72779dbcbe8eba6bc5c830ddac2";
-       libraryHaskellDepends = [
-         aeson base base-prelude binary-parser bytestring foldl loch-th
-         placeholders scientific text time transformers uuid vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring conversion conversion-bytestring
-         conversion-text either json-ast loch-th placeholders
-         postgresql-libpq QuickCheck quickcheck-instances rebase scientific
-         tasty tasty-hunit tasty-quickcheck tasty-smallcheck text time
-         transformers uuid vector
-       ];
-       homepage = "https://github.com/nikita-volkov/postgresql-binary";
-       description = "Encoders and decoders for the PostgreSQL's binary format";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "postgresql-binary_0_9_2" = callPackage
-    ({ mkDerivation, aeson, base, base-prelude, binary-parser
-     , bytestring, conversion, conversion-bytestring, conversion-text
      , foldl, json-ast, loch-th, placeholders, postgresql-libpq
      , QuickCheck, quickcheck-instances, rerebase, scientific, tasty
      , tasty-hunit, tasty-quickcheck, tasty-smallcheck, text, time
@@ -141941,7 +142228,6 @@ self: {
        homepage = "https://github.com/nikita-volkov/postgresql-binary";
        description = "Encoders and decoders for the PostgreSQL's binary format";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "postgresql-config" = callPackage
@@ -142161,8 +142447,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-simple-migration";
-       version = "0.1.7.0";
-       sha256 = "10347cc4c34cf0d98b08234ee0c1e05f9064be08769326147eccb1bd135bce93";
+       version = "0.1.8.0";
+       sha256 = "69d24f8f9dce302206562edc76afa2653d977770d6b223583da9126f2f6635fa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -142861,8 +143147,8 @@ self: {
      }:
      mkDerivation {
        pname = "preliminaries";
-       version = "0.1.5.0";
-       sha256 = "c4a861eeeb4695797efcdfa591de3f8304976ebe73a0ea8df448298bb9c44949";
+       version = "0.1.6.0";
+       sha256 = "fdb3e581040b08a2af9ddbbccb613dad0a3fdbc70367db7859dee130cc96636d";
        libraryHaskellDepends = [
          abstract-par base bifunctors classy-prelude-conduit data-default
          microlens-contra microlens-platform monad-par monad-parallel
@@ -143094,12 +143380,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pretty_1_1_3_4" = callPackage
+  "pretty_1_1_3_5" = callPackage
     ({ mkDerivation, base, deepseq, ghc-prim, QuickCheck }:
      mkDerivation {
        pname = "pretty";
-       version = "1.1.3.4";
-       sha256 = "a7a4af750533c563d2d422b8424849c11a834fefd1172a1b2ca0cbd4763be25d";
+       version = "1.1.3.5";
+       sha256 = "b0009d4d7915a7951ebf8519411319d65b110c2f68da7f176ec8fd98217a6f45";
        libraryHaskellDepends = [ base deepseq ghc-prim ];
        testHaskellDepends = [ base deepseq ghc-prim QuickCheck ];
        homepage = "http://github.com/haskell/pretty";
@@ -143624,14 +143910,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "process_1_4_3_0" = callPackage
+  "process_1_5_0_0" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, directory, filepath
      , unix
      }:
      mkDerivation {
        pname = "process";
-       version = "1.4.3.0";
-       sha256 = "5473f4d20a19c3ba448ace7d4d01ec821ad531574c23934fd3c55627f5a7f0eb";
+       version = "1.5.0.0";
+       sha256 = "a87b228f52272ef20dd15260e40b3b4550205bac7d42ef0f0c0ad31d1f475c77";
        libraryHaskellDepends = [ base deepseq directory filepath unix ];
        testHaskellDepends = [ base bytestring directory ];
        description = "Process libraries";
@@ -144745,6 +145031,7 @@ self: {
        homepage = "https://github.com/pbogdan/protolude-lifted";
        description = "Protolude with lifted-base and lifted-async";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "proton-haskell" = callPackage
@@ -146095,6 +146382,7 @@ self: {
        homepage = "https://github.com/acw/qif";
        description = "A simple QIF file format parser / printer";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "qr-imager" = callPackage
@@ -146792,6 +147080,7 @@ self: {
        homepage = "https://github.com/minad/quickcheck-special#readme";
        description = "Edge cases and special values for QuickCheck Arbitrary instances";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "quickcheck-string-random" = callPackage
@@ -147599,6 +147888,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ramus" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, quickcheck-io }:
+     mkDerivation {
+       pname = "ramus";
+       version = "0.1.0";
+       sha256 = "8acc90e5aec53ea31b8da0a1dd0164c4e2aa6e3226c5b69da0882b5c47255537";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base hspec QuickCheck quickcheck-io ];
+       homepage = "https://github.com/NickSeagull/ramus#readme";
+       description = "Elm signal system for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "rand-vars" = callPackage
     ({ mkDerivation, array, base, IntervalMap, mtl, random }:
      mkDerivation {
@@ -148577,6 +148879,7 @@ self: {
        homepage = "http://paychandoc.runeks.me/";
        description = "RESTful Bitcoin Payment Channel Protocol Servant API description";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rbr" = callPackage
@@ -149286,28 +149589,6 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.0.6";
-       sha256 = "dcf4217ab3f089a8934808af88d95e6d8e57bd57fac3cce54d8b048232abfa01";
-       libraryHaskellDepends = [
-         base base-prelude bifunctors bytestring containers contravariant
-         contravariant-extras deepseq dlist either fail hashable mtl
-         profunctors scientific semigroupoids semigroups stm text time
-         transformers unordered-containers uuid vector void
-       ];
-       homepage = "https://github.com/nikita-volkov/rebase";
-       description = "A more progressive alternative to the \"base\" package";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "rebase_1_0_8" = callPackage
-    ({ mkDerivation, base, base-prelude, bifunctors, bytestring
-     , containers, contravariant, contravariant-extras, deepseq, dlist
-     , either, fail, hashable, mtl, profunctors, scientific
-     , semigroupoids, semigroups, stm, text, time, transformers
-     , unordered-containers, uuid, vector, void
-     }:
-     mkDerivation {
-       pname = "rebase";
        version = "1.0.8";
        sha256 = "84d3a1f8e0663fa1f19f963b1a385ef12b0dcb41f8400b0fdda55e7cd7cfb8bd";
        libraryHaskellDepends = [
@@ -149319,7 +149600,6 @@ self: {
        homepage = "https://github.com/nikita-volkov/rebase";
        description = "A more progressive alternative to the \"base\" package";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rebindable" = callPackage
@@ -150321,6 +150601,7 @@ self: {
        homepage = "https://iconnect.github.io/regex";
        description = "A Regular Expression Toolkit for regex-base";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "regex-applicative" = callPackage
@@ -151105,6 +151386,7 @@ self: {
        homepage = "https://github.com/iostat/relapse#readme";
        description = "Sensible RLP encoding";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "relation" = callPackage
@@ -151146,8 +151428,8 @@ self: {
      }:
      mkDerivation {
        pname = "relational-query";
-       version = "0.8.3.2";
-       sha256 = "20899f2fcf142e11036e6e6b7360c873e17ded7bb856616e9d40f92d0298d09b";
+       version = "0.8.3.4";
+       sha256 = "5c31665bf5cae82c06090e2d9b539f8001434db2888ab891755584b74b9560c2";
        libraryHaskellDepends = [
          array base bytestring containers dlist names-th persistable-record
          sql-words template-haskell text th-reify-compat time
@@ -152119,6 +152401,7 @@ self: {
        homepage = "https://github.com/nikita-volkov/rerebase";
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reroute" = callPackage
@@ -152141,6 +152424,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "reroute_0_4_1_0" = callPackage
+    ({ mkDerivation, base, deepseq, hashable, hspec, http-api-data
+     , hvect, mtl, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "reroute";
+       version = "0.4.1.0";
+       sha256 = "34a83f0d0240610b3e6867f02859d77a8255783e2225389bf025865d5d4c2508";
+       libraryHaskellDepends = [
+         base deepseq hashable http-api-data hvect mtl text
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base hspec hvect mtl text unordered-containers vector
+       ];
+       homepage = "http://github.com/agrafix/Spock";
+       description = "abstract implementation of typed and untyped web routing";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "reserve" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, directory, hspec
      , http-conduit, http-kit, http-types, network, process, QuickCheck
@@ -154724,6 +155028,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "safe_0_3_12" = callPackage
+    ({ mkDerivation, base, deepseq, QuickCheck }:
+     mkDerivation {
+       pname = "safe";
+       version = "0.3.12";
+       sha256 = "738c849bdc619f9bbcd23f7fc956af2b87a182a9887ac88c1a80895ae931e29e";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base deepseq QuickCheck ];
+       homepage = "https://github.com/ndmitchell/safe#readme";
+       description = "Library of safe (exception free) functions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "safe-access" = callPackage
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
@@ -155806,25 +156124,41 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
-  "scalpel_0_4_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, curl, data-default
-     , fail, HUnit, regex-base, regex-tdfa, tagsoup, text, vector
+  "scalpel_0_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, curl, data-default, scalpel-core
+     , tagsoup, text
      }:
      mkDerivation {
        pname = "scalpel";
-       version = "0.4.1";
-       sha256 = "463028b6f62fd02f07591433b842552f7e68a650dbe3869f96e5abbbf0c6a534";
+       version = "0.5.0";
+       sha256 = "1635b45543cac398a5c0a54cb3bd6fffb7d11150ddbc55b3fbd92b7a6736632f";
        libraryHaskellDepends = [
-         base bytestring containers curl data-default fail regex-base
-         regex-tdfa tagsoup text vector
+         base bytestring curl data-default scalpel-core tagsoup text
        ];
-       testHaskellDepends = [ base HUnit regex-base regex-tdfa tagsoup ];
        homepage = "https://github.com/fimad/scalpel";
        description = "A high level web scraping library for Haskell";
        license = stdenv.lib.licenses.asl20;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "scalpel-core" = callPackage
+    ({ mkDerivation, base, bytestring, containers, data-default, fail
+     , HUnit, regex-base, regex-tdfa, tagsoup, text, vector
+     }:
+     mkDerivation {
+       pname = "scalpel-core";
+       version = "0.5.0";
+       sha256 = "b24a0dbfa4ebfba9e20b08e2b2f9f39c27bd575e1652d1bab944ae2784e00dda";
+       libraryHaskellDepends = [
+         base bytestring containers data-default fail regex-base regex-tdfa
+         tagsoup text vector
+       ];
+       testHaskellDepends = [ base HUnit regex-base regex-tdfa tagsoup ];
+       homepage = "https://github.com/fimad/scalpel";
+       description = "A high level web scraping library for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "scan" = callPackage
     ({ mkDerivation, base, parsec }:
      mkDerivation {
@@ -156851,8 +157185,8 @@ self: {
      }:
      mkDerivation {
        pname = "sdl2";
-       version = "2.1.3";
-       sha256 = "ce18963594fa21d658deb90d22e48cd17e499b2300db265a679bb2724cb28082";
+       version = "2.1.3.1";
+       sha256 = "788a7f1e2bb08e393b806d9f700f62234703ec85b772e0e25ff740b4aafaae14";
        libraryHaskellDepends = [
          base bytestring exceptions linear StateVar text transformers vector
        ];
@@ -156862,20 +157196,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) SDL2;};
 
-  "sdl2_2_1_3_1" = callPackage
+  "sdl2_2_2_0" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, linear, SDL2
      , StateVar, text, transformers, vector
      }:
      mkDerivation {
        pname = "sdl2";
-       version = "2.1.3.1";
-       sha256 = "788a7f1e2bb08e393b806d9f700f62234703ec85b772e0e25ff740b4aafaae14";
+       version = "2.2.0";
+       sha256 = "5a3a83fad8936539a4ff1a4a845f2a30b859d2d62e1cda7ab1f39cb59378c484";
        libraryHaskellDepends = [
          base bytestring exceptions linear StateVar text transformers vector
        ];
        librarySystemDepends = [ SDL2 ];
        libraryPkgconfigDepends = [ SDL2 ];
-       description = "Both high- and low-level bindings to the SDL library (version 2.0.2+).";
+       description = "Both high- and low-level bindings to the SDL library (version 2.0.4+).";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) SDL2;};
@@ -157608,16 +157942,21 @@ self: {
      }) {};
 
   "semiring-num" = callPackage
-    ({ mkDerivation, base, containers, doctest, smallcheck }:
+    ({ mkDerivation, base, containers, doctest, nat-sized-numbers
+     , QuickCheck, smallcheck, template-haskell
+     }:
      mkDerivation {
        pname = "semiring-num";
-       version = "0.6.0.0";
-       sha256 = "08011a1b89aa4ce9ba643add8af48dcaf9304db9d22807a4257b0a5f87c16126";
-       libraryHaskellDepends = [ base containers ];
-       testHaskellDepends = [ base containers doctest smallcheck ];
+       version = "0.8.0.0";
+       sha256 = "13b47bc891b8b2bcfe648409554e4b811ce964d86febd1403584beb5f3b21a4e";
+       libraryHaskellDepends = [ base containers template-haskell ];
+       testHaskellDepends = [
+         base containers doctest nat-sized-numbers QuickCheck smallcheck
+       ];
        homepage = "https://github.com/oisdk/semiring-num";
        description = "Basic semiring class and instances";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "semiring-simple" = callPackage
@@ -158341,8 +158680,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.4.3.1";
-       sha256 = "c4ea750d6f7ab768e16f212ae7b0f76b98db43021d62736ebd2996b4d92809c1";
+       version = "0.4.3.2";
+       sha256 = "faf62ad020d449638c3059847f16af7d72bfa623d9f5a8ad375e2add9f2c2e3c";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring cereal cookie
          cryptonite data-default exceptions http-api-data http-types memory
@@ -158751,8 +159090,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-elm";
-       version = "0.3.0.1";
-       sha256 = "03206698142a40574d1fee4e023cafb91755301e8aaf6d12bb53ca6b78813bb2";
+       version = "0.4.0.0";
+       sha256 = "2421e8eb140d3848ba4713bc4fb0b8c0c804aef8ef361c0cba08d4df3f50c24b";
        libraryHaskellDepends = [
          base elm-export lens servant servant-foreign text wl-pprint-text
        ];
@@ -158801,14 +159140,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-foreign_0_9_1_1" = callPackage
+  "servant-foreign_0_10" = callPackage
     ({ mkDerivation, base, hspec, http-types, lens, servant, text }:
      mkDerivation {
        pname = "servant-foreign";
-       version = "0.9.1.1";
-       sha256 = "da9baf46c97b3ef3009a69c8d1ca40e188409c0027490c9e173b9ebd3da7c9ca";
+       version = "0.10";
+       sha256 = "14a589afcc36aac7023a552c07862fe72d35d04571a704d51fc7db17ae0c2f25";
        libraryHaskellDepends = [ base http-types lens servant text ];
-       testHaskellDepends = [ base hspec ];
+       testHaskellDepends = [ base hspec servant ];
        description = "Helpers for generating clients for servant APIs in any programming language";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -159042,6 +159381,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-named" = callPackage
+    ({ mkDerivation, base, hspec, hspec-wai, http-types, servant
+     , servant-server
+     }:
+     mkDerivation {
+       pname = "servant-named";
+       version = "0.1.0.0";
+       sha256 = "6bdcc503ca1603d7a2ad787fd57dc5e25a06bbf05530f89718ca1be832660436";
+       revision = "2";
+       editedCabalFile = "5a05b717a5676672ec5ce3815b1a702165b6828bd421605920a5a8b02ad3211b";
+       libraryHaskellDepends = [ base servant ];
+       testHaskellDepends = [
+         base hspec hspec-wai http-types servant servant-server
+       ];
+       homepage = "https://github.com/bemweitzman/servant-named#readme";
+       description = "Add named endpoints to servant";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-pandoc" = callPackage
     ({ mkDerivation, base, bytestring, http-media, lens, pandoc-types
      , servant-docs, text, unordered-containers
@@ -159424,7 +159782,11 @@ self: {
        pname = "servant-swagger";
        version = "1.1.2.1";
        sha256 = "302ab03af773ddb3b0a4949b62ca79b81c206a3838864c9ed35cb4e40360f961";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       revision = "1";
+       editedCabalFile = "c0e7cf887989105cb5d7dea343a8f0586999680bd6272516a745e1cc01a017de";
+       setupHaskellDepends = [
+         base Cabal cabal-doctest directory filepath
+       ];
        libraryHaskellDepends = [
          aeson base bytestring hspec http-media insert-ordered-containers
          lens QuickCheck servant swagger2 text unordered-containers
@@ -159448,10 +159810,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.2.1.2.2.8";
-       sha256 = "21a25df5c3527a859a14ae2edf12116d8634e7be1587357f4545f31fc5acb3a4";
-       revision = "1";
-       editedCabalFile = "3ad40d23f60d1d80d877914691e7e4adbbd129cc62f411494f144f19b9d82ac8";
+       version = "0.2.2.2.2.8";
+       sha256 = "7dcfbc55eb6aab3ebb739e7a056107cbe0d0720c3e2e6f820afe52e7e84084fb";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
@@ -159459,10 +159819,8 @@ self: {
          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 transformers
-         transformers-compat wai wai-app-static warp
+         aeson base base-compat lens servant servant-server servant-swagger
+         swagger2 text transformers transformers-compat wai warp
        ];
        homepage = "https://github.com/phadej/servant-swagger-ui#readme";
        description = "Servant swagger ui";
@@ -159940,8 +160298,8 @@ self: {
      }:
      mkDerivation {
        pname = "sexp-grammar";
-       version = "1.2.2";
-       sha256 = "250ea8894b7232e074040e50de1fa8e2e26183aeffa21c206ece5767dc725492";
+       version = "1.2.3";
+       sha256 = "6914a7ae01b736f1b32e2847d91a2accbe2be195cbb5c69d56668ef08872f580";
        libraryHaskellDepends = [
          array base bytestring containers mtl profunctors scientific
          semigroups split tagged template-haskell text transformers
@@ -162665,8 +163023,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.1.1.4";
-       sha256 = "59323288062233fcd38fb6409b3565dd6ee1b2f676d21d56695bca5b35f3b2db";
+       version = "0.1.1.5";
+       sha256 = "0a4b666b2ccfeed35386bd364d663e919adc1815547e6360e83487253e33b13c";
        libraryHaskellDepends = [
          aeson base blaze-html bytestring case-insensitive containers
          directory filepath hxt mtl regex-pcre-builtin safe text utf8-string
@@ -163496,12 +163854,16 @@ self: {
      }) {};
 
   "snap-accept" = callPackage
-    ({ mkDerivation, base, http-media, snap-core }:
+    ({ mkDerivation, base, bytestring, case-insensitive, http-media
+     , snap-core
+     }:
      mkDerivation {
        pname = "snap-accept";
-       version = "0.1.0";
-       sha256 = "35387bd97314e8c24219cb2a9d4c6dece133847af14c67884cfeacad123e56a7";
-       libraryHaskellDepends = [ base http-media snap-core ];
+       version = "0.2.0";
+       sha256 = "4e65ad212f3bfc867399fcf35dff4444fe47b014d01b4cd01cffc9163045c928";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive http-media snap-core
+       ];
        homepage = "http://github.com/zimothy/snap-accept";
        description = "Accept header branching for the Snap web framework";
        license = stdenv.lib.licenses.mit;
@@ -164149,20 +164511,21 @@ self: {
 
   "snaplet-i18n" = callPackage
     ({ mkDerivation, base, bytestring, configurator, filepath, heist
-     , lens, mtl, snap, snap-loader-static, text, transformers, xmlhtml
+     , lens, map-syntax, mtl, snap, snap-loader-static, text
+     , transformers, xmlhtml
      }:
      mkDerivation {
        pname = "snaplet-i18n";
-       version = "0.1.0";
-       sha256 = "8933941904b222dd880b46a34af7c6612f47182e38b24022dbed6c6e505c4e3a";
+       version = "0.2.0";
+       sha256 = "811a12a9db93c5df0ab2d33a160eb49595cd25afd53b1ca553498d407bec55c3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base configurator filepath heist lens mtl snap snap-loader-static
-         text transformers xmlhtml
+         base configurator filepath heist lens map-syntax mtl snap
+         snap-loader-static text transformers xmlhtml
        ];
        executableHaskellDepends = [
-         base bytestring configurator filepath heist lens snap
+         base bytestring configurator filepath heist lens map-syntax snap
          snap-loader-static text transformers xmlhtml
        ];
        homepage = "https://github.com/HaskellCNOrg/snaplet-i18n";
@@ -165668,23 +166031,24 @@ self: {
      }) {};
 
   "sparkle" = callPackage
-    ({ mkDerivation, base, binary, bytestring, distributed-closure
-     , filepath, jni, jvm, process, regex-tdfa, singletons, text, vector
-     , zip-archive
+    ({ mkDerivation, base, binary, bytestring, choice
+     , distributed-closure, filepath, jni, jvm, process, regex-tdfa
+     , singletons, streaming, text, vector, zip-archive
      }:
      mkDerivation {
        pname = "sparkle";
-       version = "0.3";
-       sha256 = "72b97e6fe8867bbaa797bb1416df14bbfd61e7bd1e1b0c9b9b2c97cc0e37b7d5";
+       version = "0.4.0.2";
+       sha256 = "778c4858a51480f685b7f48c3ffea76535dd690119414de1a5d03535c3e3cfaf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring distributed-closure jni jvm singletons text
-         vector
+         base binary bytestring choice distributed-closure jni jvm
+         singletons streaming text vector
        ];
        executableHaskellDepends = [
          base bytestring filepath process regex-tdfa text zip-archive
        ];
+       homepage = "http://github.com/tweag/sparkle#readme";
        description = "Distributed Apache Spark applications in Haskell";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -168217,6 +168581,8 @@ self: {
        pname = "stb-image-redux";
        version = "0.2.1.0";
        sha256 = "c0e4a5d2bf6d99934430ffd068cb3d28003554c5c8beb84ce76dd487f191eb1d";
+       revision = "1";
+       editedCabalFile = "cc40e775afe473f06ae9f2c9864fdeee7fa4830b2f4b7ee5a8bed504baa4007b";
        libraryHaskellDepends = [ base vector ];
        testHaskellDepends = [ base hspec vector ];
        homepage = "https://github.com/sasinestro/stb-image-redux#readme";
@@ -168289,25 +168655,30 @@ self: {
 
   "steeloverseer" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, async, base, bytestring
-     , containers, directory, filepath, fsnotify, megaparsec, microlens
-     , mtl, optparse-applicative, process, regex-tdfa, semigroups, stm
-     , text, yaml
+     , containers, directory, filepath, fsnotify, hspec, mtl
+     , optparse-applicative, process, regex-tdfa, resourcet, semigroups
+     , stm, streaming, text, yaml
      }:
      mkDerivation {
        pname = "steeloverseer";
-       version = "2.0.0.1";
-       sha256 = "376994767ee8afacebf05f18ad0517bf1fa7557f5c44697c3f476a575d6ea334";
+       version = "2.0.1.0";
+       sha256 = "ddc06191f2273a0c0c684d54d5f2ece54748b91ec97b11c99c9b38efe7915a5a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson ansi-terminal async base bytestring containers megaparsec
-         microlens mtl process regex-tdfa semigroups stm text yaml
+         aeson ansi-terminal async base bytestring containers fsnotify mtl
+         process regex-tdfa resourcet semigroups stm streaming text yaml
        ];
        executableHaskellDepends = [
-         base bytestring directory filepath fsnotify optparse-applicative
-         regex-tdfa semigroups yaml
+         async base bytestring directory filepath fsnotify mtl
+         optparse-applicative regex-tdfa resourcet semigroups stm streaming
+         text yaml
+       ];
+       testHaskellDepends = [
+         async base bytestring fsnotify hspec mtl regex-tdfa resourcet
+         semigroups stm streaming text yaml
        ];
-       homepage = "https://github.com/schell/steeloverseer";
+       homepage = "https://github.com/schell/steeloverseer#readme";
        description = "A file watcher and development tool";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -168520,8 +168891,8 @@ self: {
     ({ mkDerivation, base, stm }:
      mkDerivation {
        pname = "stm-extras";
-       version = "0.1.0.0";
-       sha256 = "ee0887d762a3d541ef74038b3f23f61b6081933da024d3309c9fa5faf0bf1a5f";
+       version = "0.1.0.1";
+       sha256 = "ffa81349733b1631c1bad5ce3e5d4bcd35eb76dee10e4790fa050d40cb98e9cd";
        libraryHaskellDepends = [ base stm ];
        homepage = "https://github.com/louispan/stm-extras#readme";
        description = "Extra STM functions";
@@ -169384,6 +169755,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "streaming-postgresql-simple" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, postgresql-libpq
+     , postgresql-simple, resourcet, safe-exceptions, streaming
+     , transformers
+     }:
+     mkDerivation {
+       pname = "streaming-postgresql-simple";
+       version = "0.2.0.0";
+       sha256 = "2e00588e1cf3c971972bfd009ba8976177e78b381ea8436a78d3e7127d6b5195";
+       libraryHaskellDepends = [
+         base bytestring exceptions postgresql-libpq postgresql-simple
+         resourcet safe-exceptions streaming transformers
+       ];
+       description = "Stream postgresql-query results using the streaming library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "streaming-utils" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, http-client
      , http-client-tls, json-stream, mtl, network, network-simple, pipes
@@ -170075,7 +170463,7 @@ self: {
        homepage = "https://github.com/chrisdone/structured-haskell-mode";
        description = "Structured editing Emacs mode for Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "structured-mongoDB" = callPackage
@@ -170263,8 +170651,8 @@ self: {
      }:
      mkDerivation {
        pname = "styx";
-       version = "1.1";
-       sha256 = "b11402bde5b548b3f5cd2e1f501940e94c85628709aa0609e334bdf53e065144";
+       version = "1.2";
+       sha256 = "6b8d91a85a65e64758f3eb13c863253318b5477fc12644bb796533b8b0ed3131";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -170407,6 +170795,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "successors" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "successors";
+       version = "0.1";
+       sha256 = "636ec946d4622860363ff2480dcbf5148adb1d70bd044a716a068756354f6b56";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/nomeata/haskell-successors";
+       description = "An applicative functor to manage successors";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "suffix-array" = callPackage
     ({ mkDerivation, array, base, containers, tasty, tasty-hunit
      , tasty-quickcheck
@@ -170996,7 +171396,6 @@ self: {
        homepage = "https://github.com/GetShopTV/swagger2";
        description = "Swagger 2.0 data model";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "swapper" = callPackage
@@ -173252,6 +173651,7 @@ self: {
        homepage = "https://github.com/minad/tasty-auto#readme";
        description = "Simple auto discovery for Tasty";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "tasty-dejafu" = callPackage
@@ -175123,15 +175523,15 @@ self: {
        license = "GPL";
      }) {};
 
-  "texmath_0_9" = callPackage
+  "texmath_0_9_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , mtl, pandoc-types, parsec, process, split, syb, temporary, text
      , utf8-string, xml
      }:
      mkDerivation {
        pname = "texmath";
-       version = "0.9";
-       sha256 = "6ee9cda09fd38b27309abf50216ae2081543c0edf939f71cc3856feca24c5f2c";
+       version = "0.9.1";
+       sha256 = "cafb98d25da63bdd76f75b29bf395c9e023cf46d753db9a1534e84879cb8697e";
        libraryHaskellDepends = [
          base containers mtl pandoc-types parsec syb xml
        ];
@@ -175252,6 +175652,7 @@ self: {
        homepage = "https://github.com/nikita-volkov/text-builder";
        description = "An efficient strict text builder";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "text-conversions" = callPackage
@@ -175909,12 +176310,13 @@ self: {
      }) {};
 
   "text-zipper" = callPackage
-    ({ mkDerivation, base, deepseq, text, vector }:
+    ({ mkDerivation, base, deepseq, hspec, QuickCheck, text, vector }:
      mkDerivation {
        pname = "text-zipper";
-       version = "0.9";
-       sha256 = "4601bf9bc703a85a5053f507474b8d0227c3391b4ce95ef0d22f9affa0dfd9b6";
+       version = "0.10";
+       sha256 = "c59a649757b4e7026c204bdebc08bcfe234f2dbcd252467a6cd8d71c0f38176e";
        libraryHaskellDepends = [ base deepseq text vector ];
+       testHaskellDepends = [ base hspec QuickCheck text ];
        homepage = "https://github.com/jtdaugherty/text-zipper/";
        description = "A text editor zipper library";
        license = stdenv.lib.licenses.bsd3;
@@ -176908,6 +177310,7 @@ self: {
        homepage = "https://github.com/barischj/threepenny-gui-contextmenu#readme";
        description = "Write simple nested context menus for threepenny-gui";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thrift" = callPackage
@@ -177056,8 +177459,8 @@ self: {
      }:
      mkDerivation {
        pname = "tianbar";
-       version = "1.2.4";
-       sha256 = "f0b09681dcdad8ba282d8572227401008175b326998b20a1391b720a3087db00";
+       version = "1.2.5";
+       sha256 = "c18c29594d5ca7762246a531b7da920d98f04e4432a9f46d788a0ecaf80e83c6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -178261,7 +178664,7 @@ self: {
        homepage = "https://github.com/peti/titlecase#readme";
        description = "Convert English words to title case";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
   "tkhs" = callPackage
@@ -178495,6 +178898,7 @@ self: {
        homepage = "https://github.com/vmchale/toboggan#readme";
        description = "Twitter bot generator";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "todos" = callPackage
@@ -179524,8 +179928,8 @@ self: {
      }:
      mkDerivation {
        pname = "treemap";
-       version = "1.20160814";
-       sha256 = "95aa1f68710aaff75bbd71317f61fe6e47c4f20bdaabfb4be05514f6f841f97f";
+       version = "2.0.0.20161218";
+       sha256 = "709fb2c5f6da414f7c4e6ec66682dea7a63b595ab08e29ff5475273c60d4b0a3";
        libraryHaskellDepends = [
          base containers deepseq semigroups strict transformers
        ];
@@ -179680,32 +180084,6 @@ self: {
      }:
      mkDerivation {
        pname = "trifecta";
-       version = "1.6.1";
-       sha256 = "854c2892ffddfa5315206a1ff94b4814517933c496acf5b7ae09fdde72a28cf7";
-       libraryHaskellDepends = [
-         ansi-terminal ansi-wl-pprint array base blaze-builder blaze-html
-         blaze-markup bytestring charset comonad containers deepseq
-         fingertree ghc-prim hashable lens mtl parsers profunctors reducers
-         semigroups transformers unordered-containers utf8-string
-       ];
-       testHaskellDepends = [
-         base directory doctest filepath parsers QuickCheck
-       ];
-       homepage = "http://github.com/ekmett/trifecta/";
-       description = "A modern parser combinator library with convenient diagnostics";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "trifecta_1_6_2_1" = callPackage
-    ({ mkDerivation, ansi-terminal, ansi-wl-pprint, array, base
-     , blaze-builder, blaze-html, blaze-markup, bytestring, charset
-     , comonad, containers, deepseq, directory, doctest, filepath
-     , fingertree, ghc-prim, hashable, lens, mtl, parsers, profunctors
-     , QuickCheck, reducers, semigroups, transformers
-     , unordered-containers, utf8-string
-     }:
-     mkDerivation {
-       pname = "trifecta";
        version = "1.6.2.1";
        sha256 = "bab3724de8ed4f5283deb99013debf2e223e9e2c3c975e7d9b9bd44a9b30fbe5";
        libraryHaskellDepends = [
@@ -179720,7 +180098,6 @@ self: {
        homepage = "http://github.com/ekmett/trifecta/";
        description = "A modern parser combinator library with convenient diagnostics";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "trimpolya" = callPackage
@@ -181367,8 +181744,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-natural";
-       version = "0.7.1.2";
-       sha256 = "c278c2660616179e61641d1d5356549946560ef2de66416b20d868f5fe1082e6";
+       version = "0.7.1.3";
+       sha256 = "56d3962fb5c7a9e858f75603e1dc8d73c8a8adea65a0097bdf5ef033b0529ee2";
        libraryHaskellDepends = [
          base constraints equational-reasoning ghc-typelits-natnormalise
          ghc-typelits-presburger monomorphic singletons template-haskell
@@ -181892,27 +182269,6 @@ self: {
      }:
      mkDerivation {
        pname = "tzdata";
-       version = "0.1.20160614.0";
-       sha256 = "fb9b13398b66f05d863082f7c811fdd26d77e3a39a254abe8ea337a88a6fa27d";
-       libraryHaskellDepends = [
-         base bytestring containers deepseq vector
-       ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-th unix
-       ];
-       homepage = "https://github.com/nilcons/haskell-tzdata";
-       description = "Time zone database (as files and as a module)";
-       license = stdenv.lib.licenses.asl20;
-     }) {};
-
-  "tzdata_0_1_20161123_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
-     , test-framework, test-framework-hunit, test-framework-th, unix
-     , vector
-     }:
-     mkDerivation {
-       pname = "tzdata";
        version = "0.1.20161123.0";
        sha256 = "cb99701d6b3ef7a286a9b15dd4fa3ed023917afeaebf4e90be7d9934464dccb6";
        libraryHaskellDepends = [
@@ -181925,7 +182281,6 @@ self: {
        homepage = "https://github.com/nilcons/haskell-tzdata";
        description = "Time zone database (as files and as a module)";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "u2f" = callPackage
@@ -188275,8 +188630,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.2.10";
-       sha256 = "d81fe27a416ed64555077246e500118dc7921455ae5bbdf117459c4e8e0b8b48";
+       version = "3.2.11";
+       sha256 = "193e6cd899c09850819c09ae4a4368f569ee65559eef3f440be83b6c2b2cffac";
        libraryHaskellDepends = [
          array async auto-update base blaze-builder bytestring
          bytestring-builder case-insensitive containers ghc-prim hashable
@@ -188487,6 +188842,8 @@ self: {
        pname = "wavefront-obj";
        version = "0.1.0.1";
        sha256 = "f73744ebc9dd035686f089c368434bf6940bd0c9928258aa00b7258677c0e258";
+       revision = "1";
+       editedCabalFile = "cc24c326de34450af4b05b7955448c43eac411d657cf52c37014031ce2ba6388";
        libraryHaskellDepends = [
          attoparsec base containers linear text transformers
        ];
@@ -189686,6 +190043,7 @@ self: {
        homepage = "https://github.com/erikd/wide-word";
        description = "Data types for large but fixed width signed and unsigned integers";
        license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wigner-symbols" = callPackage
@@ -189718,6 +190076,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "wikicfp-scraper_0_1_0_8" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, filepath, hspec
+     , scalpel-core, text, time
+     }:
+     mkDerivation {
+       pname = "wikicfp-scraper";
+       version = "0.1.0.8";
+       sha256 = "645077540aadceb4de7b095462baa99967dd279203d7ed66a052562ac83b94a3";
+       libraryHaskellDepends = [
+         attoparsec base bytestring scalpel-core text time
+       ];
+       testHaskellDepends = [ base bytestring filepath hspec time ];
+       homepage = "https://github.com/debug-ito/wikicfp-scraper";
+       description = "Scrape WikiCFP web site";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wikipedia4epub" = callPackage
     ({ mkDerivation, base, bytestring, directory, epub, filepath
      , haskell98, HTTP, network, regex-base, regex-posix, tagsoup, url
@@ -191385,6 +191761,7 @@ self: {
        homepage = "http://github.com/tych0/xcffib";
        description = "A cffi-based python binding for X";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xchat-plugin" = callPackage
@@ -191974,7 +192351,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "xml-conduit_1_4_0_2" = callPackage
+  "xml-conduit_1_4_0_3" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, conduit, conduit-extra, containers
      , data-default, deepseq, hspec, HUnit, monad-control, resourcet
@@ -191982,8 +192359,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-conduit";
-       version = "1.4.0.2";
-       sha256 = "55f77ce489fd04a2602733a55e8b7487a565f9bbb877a7ce606f2fd6c1fbe318";
+       version = "1.4.0.3";
+       sha256 = "b924632258a68fc31d5c14e00393f9c38bdfad8fb753010b8a6b5b417d99bbdf";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html blaze-markup bytestring
          conduit conduit-extra containers data-default deepseq monad-control
@@ -192389,6 +192766,40 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xml-tydom-conduit" = callPackage
+    ({ mkDerivation, base, containers, QuickCheck, quickcheck-instances
+     , tasty, tasty-hunit, tasty-quickcheck, template-haskell, text
+     , time, xml-conduit, xml-tydom-core
+     }:
+     mkDerivation {
+       pname = "xml-tydom-conduit";
+       version = "0.1.0.0";
+       sha256 = "e591994b28dc0aa6464167d1e28ae47fdb2350285064356ff4c528cd4b9b6a5d";
+       libraryHaskellDepends = [
+         base containers template-haskell text time xml-conduit
+         xml-tydom-core
+       ];
+       testHaskellDepends = [
+         base QuickCheck quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck text time xml-conduit
+       ];
+       homepage = "https://github.com/lancelet/xml-tydom";
+       description = "Typed XML encoding for an xml-conduit backend";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "xml-tydom-core" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, text }:
+     mkDerivation {
+       pname = "xml-tydom-core";
+       version = "0.1.0.0";
+       sha256 = "7424a0f322d93acc08282e85ca0ec168d9868c53902c7cf467b957cc1ce35b27";
+       libraryHaskellDepends = [ base containers mtl QuickCheck text ];
+       homepage = "https://github.com/lancelet/xml-tydom";
+       description = "Typed XML encoding (core library)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "xml-types" = callPackage
     ({ mkDerivation, base, deepseq, text }:
      mkDerivation {
@@ -193208,15 +193619,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "yahoo-finance-api_0_2_0_0" = callPackage
+  "yahoo-finance-api_0_2_0_1" = callPackage
     ({ mkDerivation, aeson, base, doctest, either, Glob, hspec
      , http-api-data, http-client, http-client-tls, mtl, safe, servant
      , servant-client, text, time, transformers, vector
      }:
      mkDerivation {
        pname = "yahoo-finance-api";
-       version = "0.2.0.0";
-       sha256 = "a2d01a542ca627abe791d95d7e38234f731a356aa9f6e2d0f81c7df050bff3c7";
+       version = "0.2.0.1";
+       sha256 = "329eea56d8a285877164e82110a3376a6b604fff2198d387def727d06979e496";
        libraryHaskellDepends = [
          aeson base either http-api-data http-client mtl servant
          servant-client text time transformers vector
@@ -193855,8 +194266,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.4.15";
-       sha256 = "a917b003c348aa4b3d8c673efb32e0ea0f9190affa86d435b9bea9f11ab85cfd";
+       version = "1.4.16";
+       sha256 = "a2c76409522ac276b92d31e13ffa94ae51194ffdb902a41f979d25181a5182d2";
        libraryHaskellDepends = [
          aeson authenticate base base16-bytestring base64-bytestring binary
          blaze-builder blaze-html blaze-markup byteable bytestring conduit
@@ -194234,39 +194645,6 @@ self: {
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , blaze-builder, bytestring, Cabal, conduit, conduit-extra
      , containers, data-default-class, deepseq, directory, file-embed
-     , filepath, fsnotify, ghc, ghc-paths, http-client, http-conduit
-     , http-reverse-proxy, http-types, lifted-base, network
-     , optparse-applicative, parsec, process, project-template
-     , resourcet, shakespeare, split, streaming-commons, tar
-     , template-haskell, text, time, transformers, transformers-compat
-     , unix-compat, unordered-containers, wai, wai-extra, warp, warp-tls
-     , yaml, zlib
-     }:
-     mkDerivation {
-       pname = "yesod-bin";
-       version = "1.4.18.7";
-       sha256 = "ff75fc8bc7b37d6960436dab4a97697bc172d5092f5125b23791c8efdd01ed96";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         async attoparsec base base64-bytestring blaze-builder bytestring
-         Cabal conduit conduit-extra containers data-default-class deepseq
-         directory file-embed filepath fsnotify ghc ghc-paths http-client
-         http-conduit http-reverse-proxy http-types lifted-base network
-         optparse-applicative parsec process project-template resourcet
-         shakespeare split streaming-commons tar template-haskell text time
-         transformers transformers-compat unix-compat unordered-containers
-         wai wai-extra warp warp-tls yaml zlib
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "The yesod helper executable";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-bin_1_5_1" = callPackage
-    ({ mkDerivation, async, attoparsec, base, base64-bytestring
-     , blaze-builder, bytestring, Cabal, conduit, conduit-extra
-     , containers, data-default-class, deepseq, directory, file-embed
      , filepath, fsnotify, http-client, http-client-tls
      , http-reverse-proxy, http-types, lifted-base, network
      , optparse-applicative, parsec, process, project-template
@@ -194295,7 +194673,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "The yesod helper executable";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-bootstrap" = callPackage
@@ -194406,10 +194783,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.4.30";
-       sha256 = "1136dbf0beacbb7ea18b73616e059aa85ec5fbbf0ecae88e7ff3ac8eb685f654";
-       revision = "1";
-       editedCabalFile = "34f11a73eab3b105720ffa017f48217bc3dc383347e36b7584e137e0462bd181";
+       version = "1.4.31";
+       sha256 = "9a2e4c39c9ce66c2881d5da6c9a621c07492c950d935231aa7e12ed3a008d7af";
        libraryHaskellDepends = [
          aeson auto-update base blaze-builder blaze-html blaze-markup
          byteable bytestring case-insensitive cereal clientsession conduit
@@ -194657,8 +195032,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-form";
-       version = "1.4.9";
-       sha256 = "bd53f12d97a89e93b15fc6b06e63fbe041301635508f933203596f349a74110d";
+       version = "1.4.10";
+       sha256 = "ddeb72988e1dffb1c3766c35941520aa6ff6a8b09d6bdeb453d9c75d11ad8e43";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder blaze-html blaze-markup
          byteable bytestring containers data-default email-validate
diff --git a/pkgs/development/interpreters/mujs/default.nix b/pkgs/development/interpreters/mujs/default.nix
index 0a87d037454d..c7663a116763 100644
--- a/pkgs/development/interpreters/mujs/default.nix
+++ b/pkgs/development/interpreters/mujs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchgit, clang }:
 
 stdenv.mkDerivation rec {
-  name = "mujs-2016-11-30";
+  name = "mujs-2017-01-24";
 
   src = fetchgit {
     url = git://git.ghostscript.com/mujs.git;
-    rev  = "a0ceaf5050faf419401fe1b83acfa950ec8a8a89";
-    sha256 = "13abghhqrivaip4h0fav80i8hid220dj0ddc1xnhn6w9rbnrriyg";
+    rev  = "4006739a28367c708dea19aeb19b8a1a9326ce08";
+    sha256 = "0wvjl8lkh0ga6fkmxgjqq77yagncbv1bdy6hpnxq31x3mkwn1s51";
   };
 
   buildInputs = [ clang ];
diff --git a/pkgs/development/libraries/gnu-efi/aarch64-fix-discarded-qualifier.patch b/pkgs/development/libraries/gnu-efi/aarch64-fix-discarded-qualifier.patch
deleted file mode 100644
index 2295a4bb8a37..000000000000
--- a/pkgs/development/libraries/gnu-efi/aarch64-fix-discarded-qualifier.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru gnu-efi-3.0.4-orig/lib/aarch64/initplat.c gnu-efi-3.0.4/lib/aarch64/initplat.c
---- gnu-efi-3.0.4-orig/lib/aarch64/initplat.c	2016-03-17 09:53:14.000000000 -0400
-+++ gnu-efi-3.0.4/lib/aarch64/initplat.c	2016-12-03 17:53:57.166575974 -0500
-@@ -41,7 +41,8 @@
- 
- void *memcpy(void *dest, const void *src, __SIZE_TYPE__ n)
- {
--    unsigned char *p = dest, *q = src;
-+    unsigned char *p = dest;
-+    const unsigned char *q = src;
- 
-     while (n--)
-         *p++ = *q++;
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index 6425749d0417..c6240c40578c 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
     sha256 = "08hb2gpzcj5p743wcagm0j2m4gh100xv12llpbjc13zi2icwv3xx";
   };
 
-  patches = optional stdenv.isAarch64 ./aarch64-fix-discarded-qualifier.patch;
-
   buildInputs = [ pciutils ];
 
   hardeningDisable = [ "stackprotector" ];
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 7479c153af21..f0e88551169d 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -14,7 +14,7 @@ let
   inherit (stdenv.lib) optional optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.10.2";
+  name = "gst-plugins-bad-1.10.3";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "0fisnnfpp3s8pbm6hjrfi4wjpq2da8c6w3ns9pjcg7590f9wm587";
+    sha256 = "1rwla1p57yzygb68z2xk5l5kvqzj5w3nxq0davkwk139zd8r6294";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index c3e8f3c65a15..ecb431091adf 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,7 +4,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.10.2";
+  name = "gst-plugins-base-1.10.3";
 
   meta = {
     description = "Base plugins and helper libraries";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "086yjwmp4fykcqkj6zqhwrk2z49981kl8x545vz2wvblrc7x9h7v";
+    sha256 = "040pifl4cgsqqz2si4s1y5khj3zwm39w21siagxwp805swbrcag6";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 8b27fa7ad3b3..72a519ab34fe 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.10.2";
+  name = "gstreamer-1.10.3";
 
   meta = {
     description = "Open source multimedia framework";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "0rcd4ya4k99x6ngm9v78as7ql0rqibkwshc13lb4rjdszs0qw3hm";
+    sha256 = "0gdnxg5igbhnpjhrzp31w1ww95j805byqd6mj3x29wli54dxrfc5";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index a45c190b0207..ab3a0c00e03c 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.10.2";
+  name = "gstreamer-editing-services-1.10.3";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "0hx7bwj8li88qq09slvdxlnfq76hr35nyjvd4ixrz5gmkpmrl5fv";
+    sha256 = "0ax3qbi1m4wcii03ysln3lm8nhw3fr2rd35ndfy4mr4vg2nm5gxw";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index fbf67fb34f54..c0d017fcaead 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -10,7 +10,7 @@ let
   inherit (stdenv.lib) optionals optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.10.2";
+  name = "gst-plugins-good-1.10.3";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "04rksbhjj2yz32g523cfabwqn2s3byd94dpbxghxr0p9ridk53qr";
+    sha256 = "0mar8ss8bvpz699ql4kgndvna8qsv7kj372py4435ffl6hzfj1sf";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 447b679898a4..32000bb89a02 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -9,7 +9,7 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.10.2";
+  name = "gst-libav-1.10.3";
 
   meta = {
     homepage = "http://gstreamer.freedesktop.org";
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "0g778j7w4vpbhwjzyrzpajvr26nxm6vqby84v8g1w1hz44v71pd3";
+    sha256 = "1aajayv63ardkbmcg7pnh2d87r067325a5wzinwihaw6n5jw2sws";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index 880b5d734d41..1fd346f64253 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -6,14 +6,14 @@
 let
   inherit (pythonPackages) python pygobject3;
 in stdenv.mkDerivation rec {
-  name = "gst-python-1.10.2";
+  name = "gst-python-1.10.3";
 
   src = fetchurl {
     urls = [
       "${meta.homepage}/src/gst-python/${name}.tar.xz"
       "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "1sljnqkxf2ix6yzghrapw5irl0rbp8aa8w2hggk7i6d9js10ls71";
+    sha256 = "1sljnqkxf2ix7yzghrapw5irl0rbp8aa8w2hggk7i6d9js10ls71";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 981a05b4f1f7..7220acf2d4d5 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.10.2";
+  name = "gst-plugins-ugly-1.10.3";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "17gc2zd3v6spmm2d6912sqfcyyv5f2ghdhq31f5kx5mw5r6ds0zk";
+    sha256 = "1lkb8kznc9wxmhbp7k67b50y27nz8jp2x2flb91xzydz7b89f5f9";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index f136df099bf2..ec882a2863ab 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gst-vaapi-${version}";
-  version = "1.10.2";
+  version = "1.10.3";
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "1abzaj9kczap1xmalgzid1k3gqcn1ghnn76cn2kclc1gbfwd4ccy";
+    sha256 = "07ing6z7n0ylz5vknk3d2lw54a6szd6m8hqc3px6lahmd832ga6f";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index a05bbd3e9a2f..6677926eaa99 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-validate-1.10.2";
+  name = "gst-validate-1.10.3";
 
   meta = {
     description = "Integration testing infrastructure for the GStreamer framework";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
-    sha256 = "1mwyk3b19aq78mjhmrpc7qqs9flrykrn1j763g5wx546swc489xy";
+    sha256 = "00icav26pj81cxdykf86rp3jw6lb178ydrqhcck43i94jdb4hsxy";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/jbig2dec/default.nix b/pkgs/development/libraries/jbig2dec/default.nix
index 123379d788dc..45df4876be1f 100644
--- a/pkgs/development/libraries/jbig2dec/default.nix
+++ b/pkgs/development/libraries/jbig2dec/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "jbig2dec-0.11";
+  name = "jbig2dec-0.13";
 
   src = fetchurl {
-    url = "mirror://sourceforge/jbig2dec/${name}.tar.xz";
-    sha256 = "1xddc30garsg5j8p348cz5l8vn8j7723c0sykv0kc1w5ihaghsq1";
+    url = "http://downloads.ghostscript.com/public/jbig2dec/${name}.tar.gz";
+    sha256 = "04akiwab8iy5iy34razcvh9mcja9wy737civ3sbjxk4j143s1b2s";
   };
 
+  patches =
+    [ (fetchpatch {
+        url = "http://git.ghostscript.com/?p=jbig2dec.git;a=patch;h=e698d5c11d27212aa1098bc5b1673a3378563092";
+        sha256 = "1fc8xm1z98xj2zkcl0zj7dpjjsbz3vn61b59jnkhcyzy3iiczv7f";
+        name = "CVE-2016-9601.patch";
+      })
+    ];
+
   meta = {
-    homepage = http://jbig2dec.sourceforge.net/;
+    homepage = https://www.ghostscript.com/jbig2dec.html;
     description = "Decoder implementation of the JBIG2 image compression format";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/jsoncpp/1.6.5/default.nix b/pkgs/development/libraries/jsoncpp/1.6.5/default.nix
deleted file mode 100644
index 00dffdbc3ce3..000000000000
--- a/pkgs/development/libraries/jsoncpp/1.6.5/default.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ stdenv, fetchFromGitHub, cmake, python }:
-
-stdenv.mkDerivation rec {
-  name = "jsoncpp-${version}";
-  version = "1.6.5";
-
-  src = fetchFromGitHub {
-    owner = "open-source-parsers";
-    repo = "jsoncpp";
-    rev = version;
-    sha256 = "08y54n4v3q18ik8iv8zyziava3x130ilzf1l3qli3vjwf6l42fm0";
-  };
-
-  /* During darwin bootstrap, we have a cp that doesn't understand the
-   * --reflink=auto flag, which is used in the default unpackPhase for dirs
-   */
-  unpackPhase = ''
-    cp -a ${src} ${src.name}
-    chmod -R +w ${src.name}
-    export sourceRoot=${src.name}
-  '';
-
-  # Hack to be able to run the test, broken because we use
-  # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install
-  preBuild = ''
-    export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH"
-  '';
-
-  nativeBuildInputs = [ cmake python ];
-
-  CXXFLAGS = "-Wno-shift-negative-value";
-
-  cmakeFlags = [
-    "-DJSONCPP_LIB_BUILD_SHARED=ON"
-    "-DJSONCPP_LIB_BUILD_STATIC=OFF"
-    "-DJSONCPP_WITH_CMAKE_PACKAGE=ON"
-  ];
-
-  meta = {
-    inherit version;
-    homepage = https://github.com/open-source-parsers/jsoncpp;
-    description = "A simple API to manipulate JSON data in C++";
-    maintainers = with stdenv.lib.maintainers; [ ttuegel cpages ];
-    platforms = stdenv.lib.platforms.all;
-    license = stdenv.lib.licenses.mit;
-    branch = "1.6";
-  };
-}
diff --git a/pkgs/development/libraries/jsoncpp/default.nix b/pkgs/development/libraries/jsoncpp/default.nix
index 5c4c4a693df0..18ea6370634d 100644
--- a/pkgs/development/libraries/jsoncpp/default.nix
+++ b/pkgs/development/libraries/jsoncpp/default.nix
@@ -1,34 +1,49 @@
 { stdenv
-, fetchgit
+, fetchFromGitHub
 , cmake
 , python
 }:
 stdenv.mkDerivation rec {
   name = "jsoncpp-${version}";
-  version = "1.7.2";
+  version = "1.8.0";
 
-  src = fetchgit {
-    url = https://github.com/open-source-parsers/jsoncpp.git;
-    sha256 = "04w4cfmvyv52rpqhc370ln8rhlsrr515778bixhgafqbp3p4x34k";
-    rev = "c8054483f82afc3b4db7efe4e5dc034721649ec8";
+  src = fetchFromGitHub {
+    owner = "open-source-parsers";
+    repo = "jsoncpp";
+    rev = version;
+    sha256 = "1lg22zrjnl10x1bw0wfz72xd2kfbzynyggk8vdwd89mp1g8xjl9d";
   };
 
-  configurePhase = ''
-    mkdir -p Build
-    pushd Build
+  /* During darwin bootstrap, we have a cp that doesn't understand the
+   * --reflink=auto flag, which is used in the default unpackPhase for dirs
+   */
+  unpackPhase = ''
+    cp -a ${src} ${src.name}
+    chmod -R +w ${src.name}
+    export sourceRoot=${src.name}
+  '';
 
-    mkdir -p $out
-    cmake .. -DCMAKE_INSTALL_PREFIX=$out \
-             -DBUILD_SHARED_LIBS=ON \
-             -DCMAKE_BUILD_TYPE=Release
-  ''; 
+  # Hack to be able to run the test, broken because we use
+  # CMAKE_SKIP_BUILD_RPATH to avoid cmake resetting rpath on install
+  preBuild = if stdenv.isDarwin then ''
+    export DYLD_LIBRARY_PATH="`pwd`/src/lib_json:$DYLD_LIBRARY_PATH"
+  '' else ''
+    export LD_LIBRARY_PATH="`pwd`/src/lib_json:$LD_LIBRARY_PATH"
+  '';
 
-  buildInputs = [ cmake python ];
+  nativeBuildInputs = [ cmake python ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=ON"
+    "-DBUILD_STATIC_LIBS=OFF"
+  ];
 
   meta = with stdenv.lib; {
+    inherit version;
     homepage = https://github.com/open-source-parsers/jsoncpp;
     description = "A C++ library for interacting with JSON.";
+    maintainers = with maintainers; [ ttuegel cpages ];
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 25c5a6d683d7..f84cc677d16d 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
     ]
     ++ stdenv.lib.optional stdenv.isDarwin Carbon;
 
+  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+    ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
+  '';
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
new file mode 100644
index 000000000000..083b04d4b093
--- /dev/null
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -0,0 +1,34 @@
+{ fetchurl, stdenv, libiconv, libunistring }:
+
+stdenv.mkDerivation rec {
+  name = "libidn2-0.16";
+
+  src = fetchurl {
+    url = "https://alpha.gnu.org/gnu/libidn/${name}.tar.gz";
+    sha256 = "13v8kh4d5nfkymai88zlw3h7k4x9khrpdpv97waf4ah8ykzrxb9g";
+  };
+
+  outputs = [ "bin" "dev" "out" "info" "devdoc" ];
+
+  buildInputs = [ libunistring ]
+    ++ stdenv.lib.optional stdenv.isDarwin libiconv;
+
+  meta = {
+    homepage = "https://www.gnu.org/software/libidn/#libidn2";
+    description = "Free software implementation of IDNA2008 and TR46";
+
+    longDescription = ''
+      Libidn2 is believed to be a complete IDNA2008 and TR46 implementation,
+      but has yet to be as extensively used as the IDNA2003 Libidn library.
+
+      The installed C library libidn2 is dual-licensed under LGPLv3+|GPLv2+,
+      while the rest of the package is GPLv3+.  See the file COPYING for
+      detailed information.
+    '';
+
+    repositories.git = https://gitlab.com/jas/libidn2;
+    license = with stdenv.lib.licenses; [ lgpl3Plus gpl2Plus gpl3Plus ];
+    platforms = stdenv.lib.platforms.all;
+    maintainers = with stdenv.lib.maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/development/libraries/libnfc/default.nix b/pkgs/development/libraries/libnfc/default.nix
index 89cf3e544e50..150ece2a6270 100644
--- a/pkgs/development/libraries/libnfc/default.nix
+++ b/pkgs/development/libraries/libnfc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libusb }:
+{ stdenv, fetchurl, libusb, readline }:
 
 stdenv.mkDerivation rec {
   name = "libnfc-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wj0iwwcpmpalyk61aa7yc6i4p9hgdajkrgnlswgk0vnwbc78pll";
   };
 
-  buildInputs = [ libusb ];
+  buildInputs = [ libusb readline ];
 
   meta = with stdenv.lib; {
     description = "Open source library libnfc for Near Field Communication";
diff --git a/pkgs/development/libraries/libpsl/default.nix b/pkgs/development/libraries/libpsl/default.nix
index c5e2eac435cd..c35c7e1bc0f5 100644
--- a/pkgs/development/libraries/libpsl/default.nix
+++ b/pkgs/development/libraries/libpsl/default.nix
@@ -3,22 +3,22 @@
 
 let
 
-  listVersion = "2016-06-30";
+  listVersion = "2017-02-03";
   listSources = fetchFromGitHub {
-    sha256 = "1fx7g36dcckckz860f0ady8lsg3m6a5c9pgb39a3dn28xfvd21jw";
-    rev = "aa87d27940595ed4a61e726c7dd06860d87fabb6";
+    sha256 = "0fhc86pjv50hxj3xf9r4mh0zzvdzqp5lac20caaxq1hlvdzavaa3";
+    rev = "37e30d13801eaad3383b122c11d8091c7ac21040";
     repo = "list";
     owner = "publicsuffix";
   };
 
-  libVersion = "0.15.0";
+  libVersion = "0.17.0";
 
 in stdenv.mkDerivation rec {
   name = "libpsl-${version}";
   version = "${libVersion}-list-${listVersion}";
 
   src = fetchFromGitHub {
-    sha256 = "1n8vg8pslpgin84ygb0s0nqfljml32l5bv5fyc8ysnpbdsj6gxkb";
+    sha256 = "08dbl6ihnlf0kj4c9pdpjv9mmw7p676pzh1q184wl32csra5pzdd";
     rev = "libpsl-${libVersion}";
     repo = "libpsl";
     owner = "rockdaboot";
diff --git a/pkgs/development/libraries/libsixel/default.nix b/pkgs/development/libraries/libsixel/default.nix
index b57247b8fa23..9d4b62eb97ab 100644
--- a/pkgs/development/libraries/libsixel/default.nix
+++ b/pkgs/development/libraries/libsixel/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchFromGitHub}:
 stdenv.mkDerivation rec {
-  version = "1.6.1";
+  version = "1.7.3";
   name = "libsixel-${version}";
 
   src = fetchFromGitHub {
     repo = "libsixel";
-    rev = "ef4374f80385edc48e0844cf324d7ef757688e44";
+    rev = "v${version}";
     owner = "saitoha";
-    sha256 = "08m5q2ppk235bzbwff1wg874vr1bh4080qdj26l39v8lw1xzlqcp";
+    sha256 = "1hzmypzzigmxl07vgc52wp4dgxkhya3gfk4yzaaxc8s630r6ixs8";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix
index 59b10a897eb7..f4b7aaf3fe23 100644
--- a/pkgs/development/libraries/libzmf/default.nix
+++ b/pkgs/development/libraries/libzmf/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [boost icu libpng librevenge zlib cppunit];
   nativeBuildInputs = [doxygen pkgconfig];
+  configureFlags = " --disable-werror ";
 
   meta = {
     inherit version;
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index e9e3c04a7a67..abca82e62979 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -4,6 +4,7 @@
 , llvmPackages, libffi, libomxil-bellagio, libva
 , libelf, libvdpau, python2
 , grsecEnabled ? false
+, enableRadv ? false
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
 }:
 
@@ -73,7 +74,7 @@ stdenv.mkDerivation {
   ] else [
       "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,swrast"
       "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast"
-      "--with-vulkan-drivers=intel"
+      ("--with-vulkan-drivers=intel" + optionalString enableRadv ",radeon")
   ]) ++ [
     (enableFeature enableTextureFloats "texture-float")
     (enableFeature grsecEnabled "glx-rts")
diff --git a/pkgs/development/libraries/ming/default.nix b/pkgs/development/libraries/ming/default.nix
deleted file mode 100644
index e9777fe5635e..000000000000
--- a/pkgs/development/libraries/ming/default.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-{ stdenv, fetchFromGitHub
-, autoreconfHook, flex, bison, perl
-, zlib, freetype, libpng, giflib
-}:
-
-stdenv.mkDerivation rec {
-  pname = "ming";
-  version = "0.4.7";
-  name = "${pname}-${version}";
-
-  src = fetchFromGitHub {
-    repo = "libming";
-    owner = "libming";
-    rev = "${pname}-${stdenv.lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "17ngz1n1mnknixzchywkhbw9s3scad8ajmk97gx14xbsw1603gd2";
-  };
-
-  # We don't currently build the Python, Perl, PHP, etc. bindings.
-  # Perl is needed for the test suite, though.
-
-  outputs = [ "bin" "dev" "out" ];
-  nativeBuildInputs = [ autoreconfHook flex bison perl ];
-  buildInputs = [ freetype zlib libpng giflib ];
-
-  postFixup = ''moveToOutput "bin/ming-config" $dev'';
-
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "Library for generating Flash `.swf' files";
-
-    longDescription = ''
-      Ming is a library for generating Macromedia Flash files (.swf),
-      written in C, and includes useful utilities for working with
-      .swf files.  It has wrappers that allow it to be used in C++,
-      PHP, Python, Ruby, and Perl.
-    '';
-
-    homepage = http://www.libming.org/;
-
-    license = licenses.lgpl2Plus;
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
index 96b6cca75aaf..13b8296dc0e3 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
@@ -37,6 +37,9 @@ qtSubmodule {
     sed -i -e 's,\(static QString processPath\),\1 = QLatin1String("'$out'/libexec/QtWebEngineProcess"),' src/core/web_engine_library_info.cpp
     sed -i -e 's,\(static QString potentialLocalesPath =\).*,\1 QLatin1String("'$out'/translations/qtwebengine_locales");,' src/core/web_engine_library_info.cpp
 
+    # fix default SSL bundle location
+    sed -i -e 's,/cert.pem,/certs/ca-bundle.crt,' src/3rdparty/chromium/third_party/boringssl/src/crypto/x509/x509_def.c
+
     configureFlags+="\
         -plugindir $out/lib/qt5/plugins \
         -importdir $out/lib/qt5/imports \
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix
index e7cb8c0ec62e..ec3f9061f795 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebengine/default.nix
@@ -31,7 +31,10 @@ qtSubmodule {
       --replace /bin/echo ${coreutils}/bin/echo
     substituteInPlace ./src/3rdparty/chromium/v8/build/standalone.gypi \
       --replace /bin/echo ${coreutils}/bin/echo
-      
+
+    # fix default SSL bundle location
+    sed -i -e 's,/cert.pem,/certs/ca-bundle.crt,' src/3rdparty/chromium/third_party/boringssl/src/crypto/x509/x509_def.c
+
     configureFlags+="\
         -plugindir $out/lib/qt5/plugins \
         -importdir $out/lib/qt5/imports \
diff --git a/pkgs/development/libraries/qt-5/qt-env.nix b/pkgs/development/libraries/qt-5/qt-env.nix
index b2b7121d51d5..fad68fbd7450 100644
--- a/pkgs/development/libraries/qt-5/qt-env.nix
+++ b/pkgs/development/libraries/qt-5/qt-env.nix
@@ -1,28 +1,22 @@
-{ lib, runCommand, lndir, qtbase }: name: paths:
+{ lib, buildEnv, qtbase }: name: paths:
 
-runCommand name { qtbase = qtbase.dev; paths = lib.chooseDevOutputs paths;  } ''
+buildEnv {
+  inherit name;
+  paths = [ qtbase ] ++ paths;
 
-mkdir -p "$out/bin" "$out/mkspecs" "$out/include" "$out/lib" "$out/share"
+  pathsToLink = [ "/bin" "/mkspecs" "/include" "/lib" "/share" ];
+  extraOutputsToInstall = [ "dev" ];
 
-cp "$qtbase/bin/qmake" "$out/bin"
-cat >"$out/bin/qt.conf" <<EOF
-[Paths]
-Prefix = $out
-Plugins = lib/qt5/plugins
-Imports = lib/qt5/imports
-Qml2Imports = lib/qt5/qml
-Documentation = share/doc/qt5
-EOF
-
-for pkg in $paths $qtbase; do
-    if [[ -d "$pkg/mkspecs" ]]; then
-        ${lndir}/bin/lndir -silent "$pkg/mkspecs" "$out/mkspecs"
-
-        for dir in bin include lib share; do
-            if [[ -d "$pkg/$dir" ]]; then
-                ${lndir}/bin/lndir -silent "$pkg/$dir" "$out/$dir"
-            fi
-        done
-    fi
-done
-''
+  postBuild = ''
+    rm "$out/bin/qmake"
+    cp "${qtbase.dev}/bin/qmake" "$out/bin"
+    cat >"$out/bin/qt.conf" <<EOF
+    [Paths]
+    Prefix = $out
+    Plugins = lib/qt5/plugins
+    Imports = lib/qt5/imports
+    Qml2Imports = lib/qt5/qml
+    Documentation = share/doc/qt5
+    EOF
+  '';
+}
diff --git a/pkgs/development/libraries/spice/0001-Adapting-the-following-patch-from-http-pkgs.fedorapr.patch b/pkgs/development/libraries/spice/0001-Adapting-the-following-patch-from-http-pkgs.fedorapr.patch
new file mode 100644
index 000000000000..8098f568e21a
--- /dev/null
+++ b/pkgs/development/libraries/spice/0001-Adapting-the-following-patch-from-http-pkgs.fedorapr.patch
@@ -0,0 +1,56 @@
+From 75e8685740199537bfefcbd9996ec3ff9f6342e6 Mon Sep 17 00:00:00 2001
+From: Graham Christensen <graham@grahamc.com>
+Date: Wed, 8 Feb 2017 21:58:43 -0500
+Subject: [PATCH] Adapting the following patch, from
+ http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0003-main-channel-Prevent-overflow-reading-messages-from-.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d
+
+> From: Frediano Ziglio <fziglio@redhat.com>
+> Date: Tue, 29 Nov 2016 16:46:56 +0000
+> Subject: [spice-server 3/3] main-channel: Prevent overflow reading messages
+>  from client
+>
+> Caller is supposed the function return a buffer able to store
+> size bytes.
+>
+> Signed-off-by: Frediano Ziglio <fziglio@redhat.com>
+> Acked-by: Christophe Fergeau <cfergeau@redhat.com>
+> ---
+>  server/main-channel.c | 3 +++
+>  1 file changed, 3 insertions(+)
+>
+> diff --git a/server/main-channel.c b/server/main-channel.c
+> index 24dd448..1124506 100644
+> --- a/server/main-channel.c
+> +++ b/server/main-channel.c
+> @@ -258,6 +258,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc,
+>
+>      if (type == SPICE_MSGC_MAIN_AGENT_DATA) {
+>          return reds_get_agent_data_buffer(red_channel_get_server(channel), mcc, size);
+> +    } else if (size > sizeof(main_chan->recv_buf)) {
+> +        /* message too large, caller will log a message and close the connection */
+> +        return NULL;
+>      } else {
+>          return main_chan->recv_buf;
+>      }
+> --
+> 2.9.3
+> ---
+ server/main_channel.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/server/main_channel.c b/server/main_channel.c
+index 0ecc9df..1fc3915 100644
+--- a/server/main_channel.c
++++ b/server/main_channel.c
+@@ -1026,6 +1026,9 @@ static uint8_t *main_channel_alloc_msg_rcv_buf(RedChannelClient *rcc,
+
+     if (type == SPICE_MSGC_MAIN_AGENT_DATA) {
+         return reds_get_agent_data_buffer(mcc, size);
++    } else if (size > sizeof(main_chan->recv_buf)) {
++        /* message too large, caller will log a message and close the connection */
++        return NULL;
+     } else {
+         return main_chan->recv_buf;
+     }
+--
+2.10.0
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index c0145f4f7769..61952c3b3238 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib, openssl
-, libXrandr, libXfixes, libXext, libXrender, libXinerama, libjpeg, zlib
-, spice_protocol, python, pyparsing, glib, cyrus_sasl, lz4 }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, pixman, celt, alsaLib
+, openssl, libXrandr, libXfixes, libXext, libXrender, libXinerama
+, libjpeg, zlib, spice_protocol, python, pyparsing, glib, cyrus_sasl
+, lz4 }:
 
 with stdenv.lib;
 
@@ -12,6 +13,22 @@ stdenv.mkDerivation rec {
     sha256 = "0za03i77j8i3g5l2np2j7vy8cqsdbkm9wbv4hjnaqq9xhz2sa0gr";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch";
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
+      sha256 = "11x5566lx5zyl7f39glwsgpzkxb7hpcshx8va5ab3imrns07130q";
+    })
+    (fetchpatch {
+      name = "0002-Prevent-integer-overflows-in-capability-checks.patch";
+      url = "http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
+      sha256 = "1r1bhq98w93cvvrlrz6jwdfsy261xl3xqs0ppchaa2igyxvxv5z5";
+    })
+    # Originally from http://pkgs.fedoraproject.org/cgit/rpms/spice.git/plain/0003-main-channel-Prevent-overflow-reading-messages-from-.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d
+    # but main-channel.c was renamed to main_channel.c
+    ./0001-Adapting-the-following-patch-from-http-pkgs.fedorapr.patch
+  ];
+
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
                   libXrandr libXfixes libXrender libXext libXinerama
                   python pyparsing glib cyrus_sasl lz4 ];
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index cfa2c3fa1f26..0922a5e37852 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "vapoursynth-${version}";
-  version = "R35";
+  version = "R36";
 
   src = fetchFromGitHub {
-    owner = "vapoursynth";
-    repo  = "vapoursynth";
-    rev    = "dcab1529d445776a5575859aea655e613c23c8bc";
-    sha256 = "0nhpqws91b19lql2alc5pxgzfgh1wjrws0kyvir41jhfxhhjaqpi";
+    owner  = "vapoursynth";
+    repo   = "vapoursynth";
+    rev    = version;
+    sha256 = "10yiccj7yd4bd3a6k15xahb5y3ymcagyaqavh0wal2rwzfck9k8c";
   };
 
   buildInputs = [
@@ -27,9 +27,9 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A video processing framework with the future in mind";
-    homepage = http://www.vapoursynth.com/;
-    license   = licenses.lgpl21;
-    platforms = platforms.unix;
+    homepage    = http://www.vapoursynth.com/;
+    license     = licenses.lgpl21;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ rnhmjoj ];
   };
 
diff --git a/pkgs/development/libraries/wavpack/default.nix b/pkgs/development/libraries/wavpack/default.nix
index efe645818935..29a27e53f225 100644
--- a/pkgs/development/libraries/wavpack/default.nix
+++ b/pkgs/development/libraries/wavpack/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "wavpack-${version}";
-  version = "4.80.0";
+  version = "5.1.0";
 
   enableParallelBuilding = true;
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.wavpack.com/${name}.tar.bz2";
-    sha256 = "1sbbwvqixg87h02avg0d5r64mpjz8cmhcc6j3s9wmlbvbykjw63r";
+    sha256 = "0i19c6krc0p9krwrqy9s5xahaafigqzxcn31piidmlaqadyn4f8r";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index d1d0735e46d2..7fb14de7951b 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation rec{
   name = "zimg-${version}";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
-    owner = "sekrit-twc";
-    repo  = "zimg";
-    rev    = "9cbe9b0de66a690bdd142bae0e656e27c1f50ade";
-    sha256 = "1qj5fr8ghgnyfjzdvgkvplicqsgyp05g3pvsdrg9yivvx32291hp";
+    owner  = "sekrit-twc";
+    repo   = "zimg";
+    rev    = "v${version}";
+    sha256 = "11pk8a5manr751jhy0xrql57jzab57lwqjxbpd8kvm9m8b51icwq";
   };
 
   buildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
     description = "Scaling, colorspace conversion and dithering library";
-    homepage = https://github.com/sekrit-twc/zimg;
-    license  = licenses.wtfpl;
-    platforms = platforms.linux; # check upstream issue #52
+    homepage    = https://github.com/sekrit-twc/zimg;
+    license     = licenses.wtfpl;
+    platforms   = platforms.linux; # check upstream issue #52
     maintainers = with maintainers; [ rnhmjoj ];
   };
 }
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index 6887c8ff60da..537e754d57aa 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -19,14 +19,14 @@ let lispPackages = rec {
 
   clx = buildLispPackage rec {
     baseName = "clx";
-    version = "git-20150117";
+    version = "git-20170201";
     description = "An implementation of the X Window System protocol in Lisp";
     deps = [];
     # Source type: git
     src = pkgs.fetchgit {
       url = ''https://github.com/sharplispers/clx'';
-      sha256 = "ada6cf450c22d1ed297e5575f832bee8e4b61d602ffa9a145ae2fab7cd80f3b6";
-      rev = ''0a3bea0fab66058e9394973e23954c43083d96e2'';
+      sha256 = "08jw4d2sx49kq1xw44s3fvyq94wm1if4v1jbf1137fvlkzw1pf5m";
+      rev = ''c6d2446a10abd9eade2c52342b9662c9dd8579dc'';
       name = "clx-git-checkout-${version}";
     };
   };
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index 72f0f0a24d96..54687d92bbdd 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -868,22 +868,22 @@ let
         sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
       };
     };
-    "ms-rest-1.15.2" = {
+    "ms-rest-1.15.4" = {
       name = "ms-rest";
       packageName = "ms-rest";
-      version = "1.15.2";
+      version = "1.15.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-1.15.2.tgz";
-        sha1 = "882f7d22bd2360505f03b0cbfdd19a8f71e012ff";
+        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-1.15.4.tgz";
+        sha1 = "7af7038fe843fd89d407fec346320db6b010ef8c";
       };
     };
-    "ms-rest-azure-1.15.2" = {
+    "ms-rest-azure-1.15.4" = {
       name = "ms-rest-azure";
       packageName = "ms-rest-azure";
-      version = "1.15.2";
+      version = "1.15.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.15.2.tgz";
-        sha1 = "8375437c2199d8d4bc001d2308b5fc1c1fcf3d83";
+        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.15.4.tgz";
+        sha1 = "ea89bce23c6ddd4593db1e86f6557cc6374e3492";
       };
     };
     "node-forge-0.6.23" = {
@@ -1435,24 +1435,6 @@ let
         sha1 = "44c5ee151aece6c4bf5364cfc7c28fe4e58f18df";
       };
     };
-    "uuid-2.0.1" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz";
-        sha1 = "c2a30dedb3e535d72ccf82e343941a50ba8533ac";
-      };
-    };
-    "azure-arm-resource-1.4.4-preview" = {
-      name = "azure-arm-resource";
-      packageName = "azure-arm-resource";
-      version = "1.4.4-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-1.4.4-preview.tgz";
-        sha1 = "557696d45a89d8320c1aa0916297024b71b73fe2";
-      };
-    };
     "debug-0.7.4" = {
       name = "debug";
       packageName = "debug";
@@ -2209,13 +2191,13 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "bcrypt-pbkdf-1.0.0" = {
+    "bcrypt-pbkdf-1.0.1" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz";
-        sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4";
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
       };
     };
     "mime-db-1.26.0" = {
@@ -9035,13 +9017,13 @@ let
         sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
       };
     };
-    "espree-3.3.2" = {
+    "espree-3.4.0" = {
       name = "espree";
       packageName = "espree";
-      version = "3.3.2";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz";
-        sha1 = "dbf3fadeb4ecb4d4778303e50103b3d36c88b89c";
+        url = "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz";
+        sha1 = "41656fa5628e042878025ef467e78f125cb86e1d";
       };
     };
     "estraverse-4.2.0" = {
@@ -10052,13 +10034,13 @@ let
         sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
       };
     };
-    "node-pre-gyp-0.6.32" = {
+    "node-pre-gyp-0.6.33" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
-      version = "0.6.32";
+      version = "0.6.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz";
-        sha1 = "fc452b376e7319b3d255f5f34853ef6fd8fe1fd5";
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz";
+        sha1 = "640ac55198f6a925972e0c16c4ac26a034d5ecc9";
       };
     };
     "npmlog-4.0.2" = {
@@ -15606,8 +15588,8 @@ let
       version = "1.3.6";
       src = fetchgit {
         url = "https://github.com/gwicke/kad.git";
-        rev = "f35971036f43814043245da82b12d035b7bbfd16";
-        sha256 = "9529b2615547db37851d15b39155c608d6b8d0641366d14cce728824b6135a35";
+        rev = "936c91652d757ea6f9dd30e44698afb0daaa1d17";
+        sha256 = "69b2ef001b9f4161dad34f5305a5895cfa9f98f124689277293fd544d06f9251";
       };
     };
     "clarinet-0.11.0" = {
@@ -17573,6 +17555,42 @@ let
         sha1 = "316545bf22229225a2cecaa6824cd2f56a9709ed";
       };
     };
+    "enhanced-resolve-2.3.0" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-2.3.0.tgz";
+        sha1 = "a115c32504b6302e85a76269d7a57ccdd962e359";
+      };
+    };
+    "resolve-from-2.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz";
+        sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57";
+      };
+    };
+    "tapable-0.2.6" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "0.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz";
+        sha1 = "206be8e188860b514425375e6f1ae89bfb01fd8d";
+      };
+    };
+    "memory-fs-0.3.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz";
+        sha1 = "7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20";
+      };
+    };
     "async-2.1.2" = {
       name = "async";
       packageName = "async";
@@ -18266,15 +18284,6 @@ let
         sha1 = "a3a59ec97024985b46e958379646f96c4b616646";
       };
     };
-    "tapable-0.2.6" = {
-      name = "tapable";
-      packageName = "tapable";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz";
-        sha1 = "206be8e188860b514425375e6f1ae89bfb01fd8d";
-      };
-    };
     "watchpack-1.2.0" = {
       name = "watchpack";
       packageName = "watchpack";
@@ -18780,16 +18789,14 @@ in
         ];
       })
       sources."moment-2.17.1"
-      (sources."ms-rest-1.15.2" // {
+      (sources."ms-rest-1.15.4" // {
         dependencies = [
           sources."duplexer-0.1.1"
         ];
       })
-      (sources."ms-rest-azure-1.15.2" // {
+      (sources."ms-rest-azure-1.15.4" // {
         dependencies = [
           sources."async-0.2.7"
-          sources."uuid-2.0.1"
-          sources."azure-arm-resource-1.4.4-preview"
         ];
       })
       sources."node-forge-0.6.23"
@@ -18975,7 +18982,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -21494,7 +21501,7 @@ in
                           sources."tweetnacl-0.14.5"
                           sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
-                          sources."bcrypt-pbkdf-1.0.0"
+                          sources."bcrypt-pbkdf-1.0.1"
                         ];
                       })
                     ];
@@ -21877,7 +21884,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -22660,10 +22667,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "3.0.2";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.0.2.tgz";
-      sha1 = "0f010dbd6e26db0270abd88e3e5403062eb4f7a4";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.1.0.tgz";
+      sha1 = "4bec1f64f7931b84884306fb5b37a0d269d81e8d";
     };
     dependencies = [
       (sources."JSONStream-1.3.0" // {
@@ -22679,6 +22686,7 @@ in
       })
       sources."aws4-1.5.0"
       sources."awscred-1.2.0"
+      sources."ini-1.3.4"
       (sources."optimist-0.6.1" // {
         dependencies = [
           sources."wordwrap-0.0.3"
@@ -22772,7 +22780,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -23133,7 +23141,7 @@ in
           })
         ];
       })
-      (sources."espree-3.3.2" // {
+      (sources."espree-3.4.0" // {
         dependencies = [
           sources."acorn-4.0.4"
           (sources."acorn-jsx-3.0.1" // {
@@ -23771,7 +23779,7 @@ in
                                   sources."tweetnacl-0.14.5"
                                   sources."jodid25519-1.0.2"
                                   sources."ecc-jsbn-0.1.1"
-                                  sources."bcrypt-pbkdf-1.0.0"
+                                  sources."bcrypt-pbkdf-1.0.1"
                                 ];
                               })
                             ];
@@ -25474,7 +25482,7 @@ in
                               sources."tweetnacl-0.14.5"
                               sources."jodid25519-1.0.2"
                               sources."ecc-jsbn-0.1.1"
-                              sources."bcrypt-pbkdf-1.0.0"
+                              sources."bcrypt-pbkdf-1.0.1"
                             ];
                           })
                         ];
@@ -26579,7 +26587,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -26992,7 +27000,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -27511,7 +27519,7 @@ in
                           sources."tweetnacl-0.14.5"
                           sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
-                          sources."bcrypt-pbkdf-1.0.0"
+                          sources."bcrypt-pbkdf-1.0.1"
                         ];
                       })
                     ];
@@ -27779,7 +27787,7 @@ in
                           sources."tweetnacl-0.14.5"
                           sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
-                          sources."bcrypt-pbkdf-1.0.0"
+                          sources."bcrypt-pbkdf-1.0.1"
                         ];
                       })
                     ];
@@ -27961,10 +27969,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.32";
+    version = "0.6.33";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz";
-      sha1 = "fc452b376e7319b3d255f5f34853ef6fd8fe1fd5";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz";
+      sha1 = "640ac55198f6a925972e0c16c4ac26a034d5ecc9";
     };
     dependencies = [
       (sources."mkdirp-0.5.1" // {
@@ -28120,7 +28128,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -28515,7 +28523,7 @@ in
                               sources."tweetnacl-0.14.5"
                               sources."jodid25519-1.0.2"
                               sources."ecc-jsbn-0.1.1"
-                              sources."bcrypt-pbkdf-1.0.0"
+                              sources."bcrypt-pbkdf-1.0.1"
                             ];
                           })
                         ];
@@ -29574,7 +29582,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -29793,7 +29801,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -29974,7 +29982,7 @@ in
                           sources."tweetnacl-0.14.5"
                           sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
-                          sources."bcrypt-pbkdf-1.0.0"
+                          sources."bcrypt-pbkdf-1.0.1"
                         ];
                       })
                     ];
@@ -30655,7 +30663,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -30869,7 +30877,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -31097,10 +31105,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "2.8.9";
+    version = "2.8.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.8.9.tgz";
-      sha1 = "c084b087a08ecf9292352e2cd591de903f8129c3";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.8.10.tgz";
+      sha1 = "20a65b4293a4594df74e98dbc5cfbddee39a756b";
     };
     dependencies = [
       sources."bluebird-3.4.7"
@@ -31549,7 +31557,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -32221,7 +32229,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -34000,7 +34008,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -34359,7 +34367,7 @@ in
                           sources."tweetnacl-0.14.5"
                           sources."jodid25519-1.0.2"
                           sources."ecc-jsbn-0.1.1"
-                          sources."bcrypt-pbkdf-1.0.0"
+                          sources."bcrypt-pbkdf-1.0.1"
                         ];
                       })
                     ];
@@ -34693,7 +34701,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -35301,6 +35309,70 @@ in
     };
     production = true;
   };
+  tern = nodeEnv.buildNodePackage {
+    name = "tern";
+    packageName = "tern";
+    version = "0.20.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tern/-/tern-0.20.0.tgz";
+      sha1 = "5058e1ae15a121a1f421500ced0c852c11e6fb34";
+    };
+    dependencies = [
+      sources."acorn-3.3.0"
+      (sources."enhanced-resolve-2.3.0" // {
+        dependencies = [
+          sources."tapable-0.2.6"
+          (sources."memory-fs-0.3.0" // {
+            dependencies = [
+              (sources."errno-0.1.4" // {
+                dependencies = [
+                  sources."prr-0.0.0"
+                ];
+              })
+              (sources."readable-stream-2.2.2" // {
+                dependencies = [
+                  sources."buffer-shims-1.0.0"
+                  sources."core-util-is-1.0.2"
+                  sources."isarray-1.0.0"
+                  sources."inherits-2.0.3"
+                  sources."process-nextick-args-1.0.7"
+                  sources."string_decoder-0.10.31"
+                  sources."util-deprecate-1.0.2"
+                ];
+              })
+            ];
+          })
+          sources."graceful-fs-4.1.11"
+          sources."object-assign-4.1.1"
+        ];
+      })
+      (sources."glob-3.2.11" // {
+        dependencies = [
+          sources."inherits-2.0.3"
+          (sources."minimatch-0.3.0" // {
+            dependencies = [
+              sources."lru-cache-2.7.3"
+              sources."sigmund-1.0.1"
+            ];
+          })
+        ];
+      })
+      (sources."minimatch-0.2.14" // {
+        dependencies = [
+          sources."lru-cache-2.7.3"
+          sources."sigmund-1.0.1"
+        ];
+      })
+      sources."resolve-from-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A JavaScript code analyzer for deep, cross-editor language support";
+      homepage = "https://github.com/ternjs/tern#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
@@ -35455,7 +35527,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -35618,7 +35690,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -36428,7 +36500,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -36663,7 +36735,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -37323,7 +37395,7 @@ in
                       sources."tweetnacl-0.14.5"
                       sources."jodid25519-1.0.2"
                       sources."ecc-jsbn-0.1.1"
-                      sources."bcrypt-pbkdf-1.0.0"
+                      sources."bcrypt-pbkdf-1.0.1"
                     ];
                   })
                 ];
@@ -37999,7 +38071,7 @@ in
                                   sources."tweetnacl-0.14.5"
                                   sources."jodid25519-1.0.2"
                                   sources."ecc-jsbn-0.1.1"
-                                  sources."bcrypt-pbkdf-1.0.0"
+                                  sources."bcrypt-pbkdf-1.0.1"
                                 ];
                               })
                             ];
@@ -38628,7 +38700,7 @@ in
                   sources."tweetnacl-0.14.5"
                   sources."jodid25519-1.0.2"
                   sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.0"
+                  sources."bcrypt-pbkdf-1.0.1"
                 ];
               })
             ];
@@ -38743,4 +38815,4 @@ in
     };
     production = true;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index 59e73e58070f..dc11038fcd01 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -868,22 +868,22 @@ let
         sha1 = "fed9506063f36b10f066c8b59a144d7faebe1d82";
       };
     };
-    "ms-rest-1.15.2" = {
+    "ms-rest-1.15.4" = {
       name = "ms-rest";
       packageName = "ms-rest";
-      version = "1.15.2";
+      version = "1.15.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-1.15.2.tgz";
-        sha1 = "882f7d22bd2360505f03b0cbfdd19a8f71e012ff";
+        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-1.15.4.tgz";
+        sha1 = "7af7038fe843fd89d407fec346320db6b010ef8c";
       };
     };
-    "ms-rest-azure-1.15.2" = {
+    "ms-rest-azure-1.15.4" = {
       name = "ms-rest-azure";
       packageName = "ms-rest-azure";
-      version = "1.15.2";
+      version = "1.15.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.15.2.tgz";
-        sha1 = "8375437c2199d8d4bc001d2308b5fc1c1fcf3d83";
+        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-1.15.4.tgz";
+        sha1 = "ea89bce23c6ddd4593db1e86f6557cc6374e3492";
       };
     };
     "node-forge-0.6.23" = {
@@ -1435,24 +1435,6 @@ let
         sha1 = "44c5ee151aece6c4bf5364cfc7c28fe4e58f18df";
       };
     };
-    "uuid-2.0.1" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz";
-        sha1 = "c2a30dedb3e535d72ccf82e343941a50ba8533ac";
-      };
-    };
-    "azure-arm-resource-1.4.4-preview" = {
-      name = "azure-arm-resource";
-      packageName = "azure-arm-resource";
-      version = "1.4.4-preview";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-1.4.4-preview.tgz";
-        sha1 = "557696d45a89d8320c1aa0916297024b71b73fe2";
-      };
-    };
     "debug-0.7.4" = {
       name = "debug";
       packageName = "debug";
@@ -2209,13 +2191,13 @@ let
         sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
       };
     };
-    "bcrypt-pbkdf-1.0.0" = {
+    "bcrypt-pbkdf-1.0.1" = {
       name = "bcrypt-pbkdf";
       packageName = "bcrypt-pbkdf";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.0.tgz";
-        sha1 = "3ca76b85241c7170bf7d9703e7b9aa74630040d4";
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
       };
     };
     "mime-db-1.26.0" = {
@@ -9026,13 +9008,13 @@ let
         sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
       };
     };
-    "espree-3.3.2" = {
+    "espree-3.4.0" = {
       name = "espree";
       packageName = "espree";
-      version = "3.3.2";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-3.3.2.tgz";
-        sha1 = "dbf3fadeb4ecb4d4778303e50103b3d36c88b89c";
+        url = "https://registry.npmjs.org/espree/-/espree-3.4.0.tgz";
+        sha1 = "41656fa5628e042878025ef467e78f125cb86e1d";
       };
     };
     "estraverse-4.2.0" = {
@@ -10043,13 +10025,13 @@ let
         sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
       };
     };
-    "node-pre-gyp-0.6.32" = {
+    "node-pre-gyp-0.6.33" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
-      version = "0.6.32";
+      version = "0.6.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz";
-        sha1 = "fc452b376e7319b3d255f5f34853ef6fd8fe1fd5";
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz";
+        sha1 = "640ac55198f6a925972e0c16c4ac26a034d5ecc9";
       };
     };
     "npmlog-4.0.2" = {
@@ -15606,8 +15588,8 @@ let
       version = "1.3.6";
       src = fetchgit {
         url = "https://github.com/gwicke/kad.git";
-        rev = "f35971036f43814043245da82b12d035b7bbfd16";
-        sha256 = "9529b2615547db37851d15b39155c608d6b8d0641366d14cce728824b6135a35";
+        rev = "936c91652d757ea6f9dd30e44698afb0daaa1d17";
+        sha256 = "69b2ef001b9f4161dad34f5305a5895cfa9f98f124689277293fd544d06f9251";
       };
     };
     "clarinet-0.11.0" = {
@@ -17573,6 +17555,42 @@ let
         sha1 = "316545bf22229225a2cecaa6824cd2f56a9709ed";
       };
     };
+    "enhanced-resolve-2.3.0" = {
+      name = "enhanced-resolve";
+      packageName = "enhanced-resolve";
+      version = "2.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-2.3.0.tgz";
+        sha1 = "a115c32504b6302e85a76269d7a57ccdd962e359";
+      };
+    };
+    "resolve-from-2.0.0" = {
+      name = "resolve-from";
+      packageName = "resolve-from";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz";
+        sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57";
+      };
+    };
+    "tapable-0.2.6" = {
+      name = "tapable";
+      packageName = "tapable";
+      version = "0.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz";
+        sha1 = "206be8e188860b514425375e6f1ae89bfb01fd8d";
+      };
+    };
+    "memory-fs-0.3.0" = {
+      name = "memory-fs";
+      packageName = "memory-fs";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz";
+        sha1 = "7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20";
+      };
+    };
     "async-2.1.2" = {
       name = "async";
       packageName = "async";
@@ -18266,15 +18284,6 @@ let
         sha1 = "a3a59ec97024985b46e958379646f96c4b616646";
       };
     };
-    "tapable-0.2.6" = {
-      name = "tapable";
-      packageName = "tapable";
-      version = "0.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tapable/-/tapable-0.2.6.tgz";
-        sha1 = "206be8e188860b514425375e6f1ae89bfb01fd8d";
-      };
-    };
     "watchpack-1.2.0" = {
       name = "watchpack";
       packageName = "watchpack";
@@ -18660,12 +18669,10 @@ in
         ];
       })
       sources."moment-2.17.1"
-      sources."ms-rest-1.15.2"
-      (sources."ms-rest-azure-1.15.2" // {
+      sources."ms-rest-1.15.4"
+      (sources."ms-rest-azure-1.15.4" // {
         dependencies = [
           sources."async-0.2.7"
-          sources."uuid-2.0.1"
-          sources."azure-arm-resource-1.4.4-preview"
         ];
       })
       sources."node-forge-0.6.23"
@@ -18863,7 +18870,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."ctype-0.5.2"
@@ -20116,7 +20123,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."are-we-there-yet-1.1.2"
       sources."gauge-1.2.7"
       sources."delegates-1.0.0"
@@ -20530,16 +20537,17 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "3.0.2";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.0.2.tgz";
-      sha1 = "0f010dbd6e26db0270abd88e3e5403062eb4f7a4";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-3.1.0.tgz";
+      sha1 = "4bec1f64f7931b84884306fb5b37a0d269d81e8d";
     };
     dependencies = [
       sources."JSONStream-1.3.0"
       sources."async-2.1.4"
       sources."aws4-1.5.0"
       sources."awscred-1.2.0"
+      sources."ini-1.3.4"
       sources."optimist-0.6.1"
       sources."request-2.79.0"
       sources."jsonparse-1.3.0"
@@ -20614,7 +20622,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
     ];
@@ -20748,7 +20756,7 @@ in
       sources."debug-2.6.0"
       sources."doctrine-1.5.0"
       sources."escope-3.6.0"
-      sources."espree-3.3.2"
+      sources."espree-3.4.0"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
       sources."file-entry-cache-2.0.0"
@@ -21170,7 +21178,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."glob-7.1.1"
@@ -22138,7 +22146,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."block-stream-0.0.9"
       sources."fstream-1.0.10"
@@ -22714,7 +22722,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."glob-7.1.1"
@@ -22898,7 +22906,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."block-stream-0.0.9"
@@ -23192,7 +23200,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."fs.realpath-1.0.0"
       sources."block-stream-0.0.9"
@@ -23220,10 +23228,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.32";
+    version = "0.6.33";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.32.tgz";
-      sha1 = "fc452b376e7319b3d255f5f34853ef6fd8fe1fd5";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.33.tgz";
+      sha1 = "640ac55198f6a925972e0c16c4ac26a034d5ecc9";
     };
     dependencies = [
       sources."mkdirp-0.5.1"
@@ -23343,7 +23351,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."glob-7.1.1"
@@ -23562,7 +23570,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."glob-7.1.1"
@@ -24014,7 +24022,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."nodemailer-1.11.0"
       sources."poplib-0.1.7"
@@ -24494,7 +24502,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."stream-iterate-1.2.0"
@@ -24631,7 +24639,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."glob-7.1.1"
@@ -24709,10 +24717,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "2.8.9";
+    version = "2.8.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.8.9.tgz";
-      sha1 = "c084b087a08ecf9292352e2cd591de903f8129c3";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.8.10.tgz";
+      sha1 = "20a65b4293a4594df74e98dbc5cfbddee39a756b";
     };
     dependencies = [
       sources."bluebird-3.4.7"
@@ -24965,7 +24973,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."block-stream-0.0.9"
@@ -25284,7 +25292,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."bluebird-3.4.7"
       sources."bunyan-1.8.5"
@@ -26053,7 +26061,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."hoek-2.16.3"
       sources."boom-2.10.1"
       sources."cryptiles-2.0.5"
@@ -26286,7 +26294,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."events.node-0.4.9"
@@ -26486,7 +26494,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."lru-cache-2.7.3"
       sources."sigmund-1.0.1"
@@ -26814,6 +26822,49 @@ in
     };
     production = true;
   };
+  tern = nodeEnv.buildNodePackage {
+    name = "tern";
+    packageName = "tern";
+    version = "0.20.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tern/-/tern-0.20.0.tgz";
+      sha1 = "5058e1ae15a121a1f421500ced0c852c11e6fb34";
+    };
+    dependencies = [
+      sources."acorn-3.3.0"
+      sources."enhanced-resolve-2.3.0"
+      (sources."glob-3.2.11" // {
+        dependencies = [
+          sources."minimatch-0.3.0"
+        ];
+      })
+      sources."minimatch-0.2.14"
+      sources."resolve-from-2.0.0"
+      sources."tapable-0.2.6"
+      sources."memory-fs-0.3.0"
+      sources."graceful-fs-4.1.11"
+      sources."object-assign-4.1.1"
+      sources."errno-0.1.4"
+      sources."readable-stream-2.2.2"
+      sources."prr-0.0.0"
+      sources."buffer-shims-1.0.0"
+      sources."core-util-is-1.0.2"
+      sources."isarray-1.0.0"
+      sources."inherits-2.0.3"
+      sources."process-nextick-args-1.0.7"
+      sources."string_decoder-0.10.31"
+      sources."util-deprecate-1.0.2"
+      sources."lru-cache-2.7.3"
+      sources."sigmund-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A JavaScript code analyzer for deep, cross-editor language support";
+      homepage = "https://github.com/ternjs/tern#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
   titanium = nodeEnv.buildNodePackage {
     name = "titanium";
     packageName = "titanium";
@@ -26950,7 +27001,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."uglify-to-browserify-1.0.2"
       sources."yargs-3.10.0"
@@ -27524,7 +27575,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."punycode-1.4.1"
       sources."stream-iterate-1.2.0"
       sources."block-stream-0.0.9"
@@ -27762,7 +27813,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."hoek-2.16.3"
       sources."boom-2.10.1"
       sources."cryptiles-2.0.5"
@@ -28089,7 +28140,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."glob-7.1.1"
       sources."fs.realpath-1.0.0"
@@ -28351,7 +28402,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."jodid25519-1.0.2"
       sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.0"
+      sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.26.0"
       sources."punycode-1.4.1"
       sources."is-utf8-0.2.1"
@@ -28374,4 +28425,4 @@ in
     };
     production = true;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index 999582950ea3..89f0075a3a3f 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -56,6 +56,7 @@
 , "smartdc"
 , "stylus"
 , "svgo"
+, "tern"
 , "titanium"
 , "typescript"
 , "uglify-js"
diff --git a/pkgs/development/ocaml-modules/curses/default.nix b/pkgs/development/ocaml-modules/curses/default.nix
new file mode 100644
index 000000000000..4fd75e7aac53
--- /dev/null
+++ b/pkgs/development/ocaml-modules/curses/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, ocaml, findlib, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml-curses-${version}";
+  version = "1.0.3";
+
+  src = fetchurl {
+    url = "http://ocaml.phauna.org/distfiles/ocaml-curses-${version}.ogunden1.tar.gz";
+    sha256 = "0fxya4blx4zcp9hy8gxxm2z7aas7hfvwnjdlj9pmh0s5gijpwsll";
+  };
+
+  propagatedBuildInputs = [ ncurses ];
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  postPatch = ''
+    substituteInPlace curses.ml --replace "pp gcc" "pp $CC"
+  '';
+
+  buildPhase = "make all opt";
+
+  meta = with stdenv.lib; {
+    description = "OCaml Bindings to curses/ncurses";
+    homepage = https://opam.ocaml.org/packages/curses/curses.1.0.3/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/lablgl/default.nix b/pkgs/development/ocaml-modules/lablgl/default.nix
index c59f15c57ad6..7fd7de1f756d 100644
--- a/pkgs/development/ocaml-modules/lablgl/default.nix
+++ b/pkgs/development/ocaml-modules/lablgl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ocaml, lablgtk, findlib, mesa, freeglut, camlp4 } :
+{stdenv, fetchurl, ocaml, lablgtk, findlib, mesa, freeglut, camlp5 } :
 
 let
   pname = "lablgl";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0qabydd219i4ak7hxgc67496qnnscpnydya2m4ijn3cpbgih7zyq";
   };
 
-  buildInputs = [ocaml findlib lablgtk freeglut camlp4];
+  buildInputs = [ ocaml findlib lablgtk freeglut camlp5 ];
   propagatedBuildInputs = [ mesa ];
 
   patches = [ ./Makefile.config.patch ./META.patch ];
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
new file mode 100644
index 000000000000..d8a874a7e2f5
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, ocaml, findlib, camlp4, ounit, gettext, fileutils, camomile }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml-gettext-${version}";
+  version = "0.3.5";
+
+  src = fetchurl {
+    url = "https://forge.ocamlcore.org/frs/download.php/1433/ocaml-gettext-${version}.tar.gz";
+    sha256 = "0s625h7y9xxqvzk4bnw45k4wvl4fn8gblv56bp47il0lgsx8956i";
+  };
+
+  propagatedBuildInputs = [ gettext fileutils camomile ];
+
+  buildInputs = [ ocaml findlib camlp4 ounit ];
+
+  postPatch = stdenv.lib.optionalString (camlp4 != null) ''
+    substituteInPlace test/test.ml                  --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4"
+    substituteInPlace ocaml-gettext/OCamlGettext.ml --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4"
+    substituteInPlace ocaml-gettext/Makefile        --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4"
+    substituteInPlace ocaml-gettext/Makefile        --replace "unix.cma" ""
+    substituteInPlace libgettext-ocaml/Makefile     --replace "+camlp4" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib/camlp4"
+    substituteInPlace libgettext-ocaml/Makefile     --replace "\$(shell ocamlc -where)" "${camlp4}/lib/ocaml/${ocaml.version}/site-lib"
+  '';
+
+  configureFlags = [ "--disable-doc" ];
+
+  createFindlibDestdir = true;
+
+  meta = with stdenv.lib; {
+    description = "OCaml Bindings to gettext";
+    homepage = https://forge.ocamlcore.org/projects/ocaml-gettext;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
new file mode 100644
index 000000000000..439beaa24ffc
--- /dev/null
+++ b/pkgs/development/ocaml-modules/ocaml-libvirt/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, libvirt, ocaml, findlib }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml-libvirt-${version}";
+  version = "0.6.1.4";
+
+  src = fetchurl {
+    url = "http://libvirt.org/sources/ocaml/ocaml-libvirt-${version}.tar.gz";
+    sha256 = "06q2y36ckb34n179bwczxkl82y3wrba65xb2acg8i04jpiyxadjd";
+  };
+
+  propagatedBuildInputs = [ libvirt ];
+
+  buildInputs = [ ocaml findlib ];
+
+  createFindlibDestdir = true;
+
+  buildPhase = if stdenv.cc.isClang then "make all opt CPPFLAGS=-Wno-error" else "make all opt";
+
+  installPhase = "make install-opt";
+
+  meta = with stdenv.lib; {
+    description = "OCaml bindings for libvirt";
+    homepage = https://libvirt.org/ocaml/;
+    license = licenses.gpl2;
+    maintainers = [ maintainers.volth ];
+    platforms = ocaml.meta.platforms or [];
+  };
+}
diff --git a/pkgs/development/python-modules/docker_compose.nix b/pkgs/development/python-modules/docker_compose.nix
index e6f309155c22..c21b69e1643e 100644
--- a/pkgs/development/python-modules/docker_compose.nix
+++ b/pkgs/development/python-modules/docker_compose.nix
@@ -26,7 +26,9 @@ buildPythonApplication rec {
     stdenv.lib.optional (pythonOlder "3.2") functools32;
 
   patchPhase = ''
-    sed -i "s/'requests >= 2.6.1, < 2.8'/'requests'/" setup.py
+    # Remove upper bound on requires, see also
+    # https://github.com/docker/compose/issues/4431
+    sed -i "s/, < .*',$/',/" setup.py
   '';
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/pep257.nix b/pkgs/development/python-modules/pep257.nix
new file mode 100644
index 000000000000..f185019b0f7a
--- /dev/null
+++ b/pkgs/development/python-modules/pep257.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchurl, pytest, mock }:
+buildPythonPackage rec {
+  name = "pep257-${version}";
+  version = "0.7.0";
+
+  src = fetchurl {
+    url = "https://github.com/GreenSteam/pep257/archive/${version}.tar.gz";
+    sha256 = "1ldpgil0kaf6wz5gvl9xdx35a62vc6bmgi3wbh9320dj5v2qk4wh";
+  };
+
+  buildInputs = [ pytest mock ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/GreenSteam/pep257/;
+    description = "Python docstring style checker";
+    longDescription = "Static analysis tool for checking compliance with Python PEP 257.";
+    lecense = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 3edf7e6e170b..84da1cf9ebf0 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, pythonPackages, pkgconfig, qtbase, qtsvg, qtwebkit, dbus_libs
+{ lib, fetchurl, pythonPackages, pkgconfig, qtbase, qtsvg, qtwebkit, qtwebengine, dbus_libs
 , lndir, makeWrapper, qmakeHook }:
 
 let
@@ -22,7 +22,7 @@ in mkPythonDerivation {
 
   buildInputs = [
     pkgconfig makeWrapper lndir
-    qtbase qtsvg qtwebkit dbus_libs qmakeHook
+    qtbase qtsvg qtwebkit qtwebengine dbus_libs qmakeHook
   ];
 
   propagatedBuildInputs = [ sip ];
diff --git a/pkgs/development/python-modules/pytest-pep257.nix b/pkgs/development/python-modules/pytest-pep257.nix
new file mode 100644
index 000000000000..7ce63ebc7a6d
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-pep257.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchurl, pytest, pep257 }:
+buildPythonPackage rec {
+   name = "pytest-pep257-${version}";
+   version = "0.0.5";
+
+   src = fetchurl {
+     url = "mirror://pypi/p/pytest-pep257/${name}.tar.gz";
+     sha256 = "082v3d5k4331x53za51kl8zxsndsw1pcyf1xdfpb2gjdjrhixb8w";
+   };
+
+   buildInputs = [ pytest ];
+   propagatedBuildInputs = [ pep257 ];
+
+   meta = with stdenv.lib; {
+     homepage = https://github.com/anderslime/pytest-pep257;
+     description = "py.test plugin for PEP257";
+     license = licenses.mit;
+   };
+}
diff --git a/pkgs/development/python-modules/searx.patch b/pkgs/development/python-modules/searx.patch
deleted file mode 100644
index 1fd7dcbde6d4..000000000000
--- a/pkgs/development/python-modules/searx.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/requirements.txt b/requirements.txt
-index 0d2f61b..46481b3 100644
---- a/requirements.txt
-+++ b/requirements.txt
-@@ -1,12 +1,12 @@
- certifi==2016.2.28
--flask==0.11.1
--flask-babel==0.11.1
--lxml==3.6.0
--ndg-httpsclient==0.4.1
-+flask==0.*
-+flask-babel==0.*
-+lxml==3.*
-+ndg-httpsclient==0.4.*
- pyasn1==0.1.9
- pyasn1-modules==0.0.8
--pygments==2.1.3
-+pygments==2.*
--pyopenssl==0.15.1
-+pyopenssl==16.*
--python-dateutil==2.5.3
-+python-dateutil==2.*
--pyyaml==3.11
-+pyyaml==3.*
--requests[socks]==2.10.0
-+requests[socks]==2.*
diff --git a/pkgs/development/qtcreator/default.nix b/pkgs/development/qtcreator/default.nix
index 1461e6232e60..ea7e7d0fb8e3 100644
--- a/pkgs/development/qtcreator/default.nix
+++ b/pkgs/development/qtcreator/default.nix
@@ -7,7 +7,7 @@ with stdenv.lib;
 
 let
   baseVersion = "4.2";
-  revision = "0";
+  revision = "1";
 in
 
 stdenv.mkDerivation rec {
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qtcreator/${baseVersion}/${version}/qt-creator-opensource-src-${version}.tar.gz";
-    sha256 = "0yzj1i6hkzl9w1g8d5vidz7z6amwpj8p3cfibn9slf1sphxph18f";
+    sha256 = "0f2slaf579q2anflf524lbhmpwrwy3hzjfxzs10n44r7s7yc4dr5";
   };
 
   buildInputs = [ qtbase qtscript qtquickcontrols qtdeclarative ];
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index d6164ef2e4e0..4e15ed8572ea 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -3,14 +3,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.37.1";
+  version = "0.37.4";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "1n3pc3nfh7bcaard7y2fy7hjq4k6777wp9xv50r3zg4454mgbmsy";
+    sha256 = "0v3hi2wn4ysybmd768wdmijlbnq41i6yzzzj5d7cmd4blzd9c0nq";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 11ba86724e6b..27d7cb306582 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, libpfm, zlib, pkgconfig, python2Packages, which, procps, gdb }:
 
 stdenv.mkDerivation rec {
-  version = "4.4.0";
+  version = "4.5.0";
   name = "rr-${version}";
 
   src = fetchFromGitHub {
     owner = "mozilla";
     repo = "rr";
     rev = version;
-    sha256 = "1ijzs5lwscg0k5ch1bljiqqh35rzai75xcgghgkjbz86ynmf62rd";
+    sha256 = "114g1yhpjfyxcn0fkvnfi03lhrs11pj0a1945j2j8z90hx4dwba8";
   };
 
   postPatch = ''
diff --git a/pkgs/development/tools/build-managers/leiningen/default.nix b/pkgs/development/tools/build-managers/leiningen/default.nix
index 39a39f949a52..1e5fb8458e51 100644
--- a/pkgs/development/tools/build-managers/leiningen/default.nix
+++ b/pkgs/development/tools/build-managers/leiningen/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   pname = "leiningen";
-  version = "2.6.1";
+  version = "2.7.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://raw.github.com/technomancy/leiningen/${version}/bin/lein-pkg";
-    sha256 = "1ndirl36gbba12cs5vw22k2zrbpqdmnpi1gciwqb1zbib2s1akg8";
+    sha256 = "0rmshl4xchf3blwvar4q9dpxm9xznn3yzas4vwxqiq3yhapgqkn0";
   };
 
   jarsrc = fetchurl {
     # NOTE: This is actually a .jar, Github has issues
     url = "https://github.com/technomancy/leiningen/releases/download/${version}/${name}-standalone.zip";
-    sha256 = "1533msarx6gb3xc2sp2nmspllnqy7anpnv9a0ifl0psxm3xph06p";
+    sha256 = "0ivwb1qlxs1hyical0fjgavm9wfkw3f10sk67p5g2p5lpf4pxp1d";
   };
 
   JARNAME = "${name}-standalone.jar";
diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix
new file mode 100644
index 000000000000..afac17e121ad
--- /dev/null
+++ b/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -0,0 +1,69 @@
+# To enable specific database drivers, override this derivation and pass the
+# driver packages in the drivers argument (e.g. mysql_jdbc, postgresql_jdbc).
+{ stdenv, fetchurl, makeDesktopItem, makeWrapper, unzip
+, jre
+, drivers ? []
+}:
+let
+  version = "3.7.1";
+in stdenv.mkDerivation rec {
+  name = "squirrel-sql-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip";
+    sha256 = "1v141ply57k5krwbnnmz4mbs9hs8rbys0bkjz69gvxlqjizyiq23";
+  };
+
+  buildInputs = [
+    jre makeWrapper stdenv unzip
+  ];
+
+  unpackPhase = ''
+    unzip ${src}
+  '';
+
+  buildPhase = ''
+    cd squirrelsql-${version}-standard
+    chmod +x squirrel-sql.sh
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/squirrel-sql
+    cp -r . $out/share/squirrel-sql
+
+    mkdir -p $out/bin
+    cp=""
+    for pkg in ${builtins.concatStringsSep " " drivers}; do
+      if test -n "$cp"; then
+        cp="$cp:"
+      fi
+      cp="$cp"$(echo $pkg/share/java/*.jar | tr ' ' :)
+    done
+    makeWrapper $out/share/squirrel-sql/squirrel-sql.sh $out/bin/squirrel-sql \
+      --set CLASSPATH "$cp" \
+      --set JAVA_HOME "${jre}"
+
+    mkdir -p $out/share/icons/hicolor/32x32/apps
+    ln -s $out/share/squirrel-sql/icons/acorn.png \
+      $out/share/icons/hicolor/32x32/apps/squirrel-sql.png
+    ln -s ${desktopItem}/share/applications $out/share
+  '';
+
+  desktopItem = makeDesktopItem {
+    name = "squirrel-sql";
+    exec = "squirrel-sql";
+    comment = meta.description;
+    desktopName = "SQuirreL SQL";
+    genericName = "SQL Client";
+    categories = "Development;";
+    icon = "squirrel-sql";
+  };
+
+  meta = {
+    description = "Universal SQL Client";
+    homepage = http://squirrel-sql.sourceforge.net/;
+    license = stdenv.lib.licenses.lgpl21;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ khumba ];
+  };
+}
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index e61acd598cf6..6ac9f3febc42 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
   ];
 
   outputs = [ "out" ]
-    ++ optional (!stdenv.isDarwin) "lib" # problems in Darwin stdenv
+    ++ optional (cross == null && !stdenv.isDarwin) "lib" # problems in Darwin stdenv
     ++ [ "info" ]
     ++ optional (cross == null) "dev";
 
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index dbd53c65050c..0906492ad101 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -61,15 +61,15 @@ let
   };
 in releaseTools.nixBuild rec {
   name = "hydra-${version}";
-  version = "2016-12-09";
+  version = "2017-02-03";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "de55303197d997c4fc5503b52b1321ae9528583d";
-    sha256 = "0nimqsbpjxfwha6d5gp6a7jh50i83z1llmx30da4bscsic8z1xly";
+    rev = "a366f362e197476615a813e2cc904b60db28e65f";
+    sha256 = "0q7bywh59aqgpgj9ca2xscszxal9c3c90bs7sb4cfg7w8g6m69hf";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index ea52fff64ccb..3349213a741b 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "openocd-${version}";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/openocd/openocd-${version}.tar.bz2";
-    sha256 = "0hzlnm19c4b35vsxs6ik94xbigv3ykdgr8gzrdir6sqmkan44w43";
+    sha256 = "1bhn2c85rdz4gf23358kg050xlzh7yxbbwmqp24c0akmh3bff4kk";
   };
 
   buildInputs = [ libftdi libusb1 pkgconfig hidapi ];
@@ -26,7 +26,12 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     mkdir -p "$out/etc/udev/rules.d"
-    ln -s "$out/share/openocd/contrib/99-openocd.rules" "$out/etc/udev/rules.d/99-openocd.rules"
+    rules="$out/share/openocd/contrib/60-openocd.rules"
+    if [ ! -f "$rules" ]; then
+        echo "$rules is missing, must update the Nix file."
+        exit 1
+    fi
+    ln -s "$rules" "$out/etc/udev/rules.d/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index b78727802454..a16bdbc539a9 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -1,11 +1,11 @@
 { fetchgit, pkgconfig, gettext, runCommand, makeWrapper
-, elfutils, kernel, gnumake }:
+, elfutils, kernel, gnumake, python2, pythonPackages, binutils }:
 let
   ## fetchgit info
   url = git://sourceware.org/git/systemtap.git;
-  rev = "a10bdceb7c9a7dc52c759288dd2e555afcc5184a";
-  sha256 = "1kllzfnh4ksis0673rma5psglahl6rvy0xs5v05qkqn6kl7irmg1";
-  version = "2016-09-16";
+  rev = "276ed27a3cc64531542ab73bb36bb04784e79bbc";
+  sha256 = "11967dx3cjs96v3ncfljw0h7blsgg9wm8g9z2270q9a90988g2c2";
+  version = "2017-02-04";
 
   inherit (kernel) stdenv;
   inherit (stdenv) lib;
@@ -14,7 +14,13 @@ let
   stapBuild = stdenv.mkDerivation {
     name = "systemtap-${version}";
     src = fetchgit { inherit url rev sha256; };
-    buildInputs = [ elfutils pkgconfig gettext ];
+    buildInputs = [ elfutils pkgconfig gettext python2 pythonPackages.setuptools ];
+    # FIXME: Workaround for bug in kbuild, where quoted -I"/foo" flags would get mangled in out-of-tree kbuild dirs
+    postPatch = ''
+      substituteInPlace buildrun.cxx --replace \
+        'o << "EXTRA_CFLAGS += -I\"" << s.runtime_path << "\"" << endl;' \
+        'o << "EXTRA_CFLAGS += -I" << s.runtime_path << endl;'
+    '';
     enableParallelBuilding = true;
   };
 
@@ -48,5 +54,5 @@ in runCommand "systemtap-${kernel.version}-${version}" {
   rm $out/bin/stap
   makeWrapper $stapBuild/bin/stap $out/bin/stap \
     --add-flags "-r $kernelBuildDir" \
-    --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc elfutils gnumake ]}
+    --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc binutils elfutils gnumake ]}
 ''
diff --git a/pkgs/development/tools/rhc/Gemfile b/pkgs/development/tools/rhc/Gemfile
index ad167c7422ff..a780461e254e 100644
--- a/pkgs/development/tools/rhc/Gemfile
+++ b/pkgs/development/tools/rhc/Gemfile
@@ -1,2 +1,4 @@
 source 'https://rubygems.org'
+
+gem 'archive-tar-minitar', '>= 0.5.2.1', github: 'peterhoeg/archive-tar-minitar'
 gem 'rhc'
diff --git a/pkgs/development/tools/rhc/Gemfile.lock b/pkgs/development/tools/rhc/Gemfile.lock
index 83fa877550db..004c293b9655 100644
--- a/pkgs/development/tools/rhc/Gemfile.lock
+++ b/pkgs/development/tools/rhc/Gemfile.lock
@@ -1,27 +1,31 @@
+GIT
+  remote: git://github.com/peterhoeg/archive-tar-minitar.git
+  revision: dae32ca550a87dba32597115ae18805db4782ebe
+  specs:
+    archive-tar-minitar (0.5.2.1)
+
 GEM
   remote: https://rubygems.org/
   specs:
-    archive-tar-minitar (0.5.2)
     commander (4.2.1)
       highline (~> 1.6.11)
     highline (1.6.21)
     httpclient (2.6.0.1)
     net-scp (1.2.1)
       net-ssh (>= 2.6.5)
-    net-ssh (2.9.2)
-    net-ssh-gateway (1.2.0)
-      net-ssh (>= 2.6.5)
+    net-ssh (4.0.1)
+    net-ssh-gateway (2.0.0)
+      net-ssh (>= 4.0.0)
     net-ssh-multi (1.2.1)
       net-ssh (>= 2.6.5)
       net-ssh-gateway (>= 1.2.0)
     open4 (1.3.4)
-    rhc (1.36.4)
+    rhc (1.38.7)
       archive-tar-minitar
       commander (>= 4.0, < 4.3.0)
       highline (~> 1.6.11)
-      httpclient (>= 2.4.0)
+      httpclient (>= 2.4.0, < 2.7.0)
       net-scp (>= 1.1.2)
-      net-ssh (>= 2.0.11, < 2.9.3)
       net-ssh-multi (>= 1.2.0)
       open4
 
@@ -29,7 +33,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
+  archive-tar-minitar (>= 0.5.2.1)!
   rhc
 
 BUNDLED WITH
-   1.10.5
+   1.13.6
diff --git a/pkgs/development/tools/rhc/default.nix b/pkgs/development/tools/rhc/default.nix
index e6b342dd7b62..da8a8e2e77db 100644
--- a/pkgs/development/tools/rhc/default.nix
+++ b/pkgs/development/tools/rhc/default.nix
@@ -1,10 +1,24 @@
-{ lib, bundlerEnv, ruby }:
+{ lib, bundlerEnv, ruby_2_2, stdenv, makeWrapper }:
 
-bundlerEnv {
-  name = "rhc-1.36.4";
+stdenv.mkDerivation rec {
+  name = "rhc-1.38.7";
 
-  inherit ruby;
-  gemdir = ./.;
+  env = bundlerEnv {
+    name = "rhc-1.38.7-gems";
+
+    ruby = ruby_2_2;
+
+    gemdir = ./.;
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = [ "installPhase" ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    makeWrapper ${env}/bin/rhc $out/bin/rhc
+  '';
 
   meta = with lib; {
     homepage = https://github.com/openshift/rhc;
diff --git a/pkgs/development/tools/rhc/gemset.nix b/pkgs/development/tools/rhc/gemset.nix
index 6b2733968901..933a7dc95afa 100644
--- a/pkgs/development/tools/rhc/gemset.nix
+++ b/pkgs/development/tools/rhc/gemset.nix
@@ -1,95 +1,84 @@
 {
-  "archive-tar-minitar" = {
-    version = "0.5.2";
+  archive-tar-minitar = {
     source = {
-      type = "gem";
-      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
+      fetchSubmodules = false;
+      rev = "dae32ca550a87dba32597115ae18805db4782ebe";
+      sha256 = "0fvxacbcb52fm5dis451kdd7dv74z8p6nm4vnfqf7jg2aghcxdkd";
+      type = "git";
+      url = "git://github.com/peterhoeg/archive-tar-minitar.git";
     };
+    version = "0.5.2.1";
   };
-  "commander" = {
-    version = "4.2.1";
+  commander = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "1zwfhswnbhwv0zzj2b3s0qvpqijbbnmh7zvq6v0274rqbxyf1jwc";
+      type = "gem";
     };
-    dependencies = [
-      "highline"
-    ];
+    version = "4.2.1";
   };
-  "highline" = {
-    version = "1.6.21";
+  highline = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "06bml1fjsnrhd956wqq5k3w8cyd09rv1vixdpa3zzkl6xs72jdn1";
+      type = "gem";
     };
+    version = "1.6.21";
   };
-  "httpclient" = {
-    version = "2.6.0.1";
+  httpclient = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "0haz4s9xnzr73mkfpgabspj43bhfm9znmpmgdk74n6gih1xlrx1l";
+      type = "gem";
     };
+    version = "2.6.0.1";
   };
-  "net-scp" = {
-    version = "1.2.1";
+  net-scp = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "0b0jqrcsp4bbi4n4mzyf70cp2ysyp6x07j8k8cqgxnvb4i3a134j";
+      type = "gem";
     };
-    dependencies = [
-      "net-ssh"
-    ];
+    version = "1.2.1";
   };
-  "net-ssh" = {
-    version = "2.9.2";
+  net-ssh = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "02xj3pcpqr32nlak0vsx71gd5z65jl3q1hwi2x157vabw1kgjanq";
       type = "gem";
-      sha256 = "1p0bj41zrmw5lhnxlm1pqb55zfz9y4p9fkrr9a79nrdmzrk1ph8r";
     };
+    version = "4.0.1";
   };
-  "net-ssh-gateway" = {
-    version = "1.2.0";
+  net-ssh-gateway = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1l3v761y32aw0n8lm0c0m42lr4ay8cq6q4sc5yc68b9fwlfvb70x";
       type = "gem";
-      sha256 = "1nqkj4wnj26r81rp3g4jqk7bkd2nqzjil3c9xqwchi0fsbwv2niy";
     };
-    dependencies = [
-      "net-ssh"
-    ];
+    version = "2.0.0";
   };
-  "net-ssh-multi" = {
-    version = "1.2.1";
+  net-ssh-multi = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "13kxz9b6kgr9mcds44zpavbndxyi6pvyzyda6bhk1kfmb5c10m71";
+      type = "gem";
     };
-    dependencies = [
-      "net-ssh"
-      "net-ssh-gateway"
-    ];
+    version = "1.2.1";
   };
-  "open4" = {
-    version = "1.3.4";
+  open4 = {
     source = {
-      type = "gem";
+      remotes = ["https://rubygems.org"];
       sha256 = "1cgls3f9dlrpil846q0w7h66vsc33jqn84nql4gcqkk221rh7px1";
+      type = "gem";
     };
+    version = "1.3.4";
   };
-  "rhc" = {
-    version = "1.36.4";
+  rhc = {
     source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1yaq42szq81ph44q7ckzml9yrhz1pkjfik77rxvfzlf90l1g2ibk";
       type = "gem";
-      sha256 = "1dkg39x3y3sxq71md5c8akq4y7ynjwcdy8ysm6d1k9b2rj0s5wdb";
     };
-    dependencies = [
-      "archive-tar-minitar"
-      "commander"
-      "highline"
-      "httpclient"
-      "net-scp"
-      "net-ssh"
-      "net-ssh-multi"
-      "open4"
-    ];
+    version = "1.38.7";
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/tools/rust/racerd/default.nix b/pkgs/development/tools/rust/racerd/default.nix
index e5d275ec1f52..95f014cc2d70 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 = "2016-08-23";
+  version = "2016-12-24";
   src = fetchgit {
     url = "git://github.com/jwilm/racerd.git";
-    rev = "5d685ed26ba812a1afe892a8c0d12eb6abbeeb3d";
-    sha256 = "1ww96nc00l8p28rnln31n92x0mp2p5jnaqh2nwc8xi3r559p1y5i";
+    rev = "dc090ea11d550cd513416d21227d558dbfd2fcb6";
+    sha256 = "0jfryb1b32m6bn620gd7y670cfipaswj1cppzkybm4xg6abqh07b";
   };
 
   doCheck = false;
 
-  depsSha256 = "13vkabr6bbl2nairxpn3lhqxcr3larasjk03r4hzrn7ff7sy40h2";
+  depsSha256 = "1vv6fyisi11bcajxkq3ihpl59yh504xmnsr222zj15hmivn0jwf2";
 
   buildInputs = [ makeWrapper ];
 
diff --git a/pkgs/development/tools/wp-cli/default.nix b/pkgs/development/tools/wp-cli/default.nix
index 6a9d56573e2e..c52f2553e3d6 100644
--- a/pkgs/development/tools/wp-cli/default.nix
+++ b/pkgs/development/tools/wp-cli/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, php }:
 
 let
-  version = "1.0.0";
+  version = "1.1.0";
 
   bin  = "bin/wp";
   ini  = "etc/php/wp-cli.ini";
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url    = "https://github.com/wp-cli/wp-cli/releases/download/v${version}/${name}.phar";
-    sha256 = "06a80fz9na9arjdpmnislwr0121kkg11kxfqmac0axa9vkv9fjcp";
+    sha256 = "08b2lzc8fa9f5xldbdza6x3lg6jsp3wfwpyy187gxqw5pmqp11xc";
   };
 
   buildCommand = ''
diff --git a/pkgs/games/gcs/default.nix b/pkgs/games/gcs/default.nix
new file mode 100644
index 000000000000..1d96d056a822
--- /dev/null
+++ b/pkgs/games/gcs/default.nix
@@ -0,0 +1,77 @@
+{ stdenv, fetchFromGitHub, runCommand
+, jdk8, ant
+, jre8, makeWrapper
+, findutils
+}:
+
+let
+  gcs = fetchFromGitHub {
+    owner = "richardwilkes";
+    repo = "gcs";
+    rev = "gcs-4.8.0";
+    sha256 = "0k8am8vfwls5s2z4zj1p1aqy8gapn5vbr9zy66s5g048ch8ah1hm";
+  };
+  appleStubs = fetchFromGitHub {
+    owner = "richardwilkes";
+    repo = "apple_stubs";
+    rev = "gcs-4.3.0";
+    sha256 = "0m1qw30b19s04hj7nch1mbvv5s698g5dr1d1r7r07ykvk1yh7zsa";
+  };
+  toolkit = fetchFromGitHub {
+    owner = "richardwilkes";
+    repo = "toolkit";
+    rev = "gcs-4.8.0";
+    sha256 = "1ciwwh0wxk3pzsj6rbggsbg3l2f741qy7yx1ca4v7vflsma84f1n";
+  };
+  library = fetchFromGitHub {
+    owner = "richardwilkes";
+    repo = "gcs_library";
+    rev = "gcs-4.8.0";
+    sha256 = "085jpp9mpv5kw00zds9sywmfq31mrlbrgahnwcjkx0z9i22amz4g";
+  };
+in stdenv.mkDerivation rec {
+  name = "gcs-${version}";
+  version = "4.8.0";
+
+  src = runCommand "${name}-src" { preferLocalBuild = true; } ''
+    mkdir -p $out
+    cd $out
+
+    cp -r ${gcs} gcs
+    cp -r ${appleStubs} apple_stubs
+    cp -r ${toolkit} toolkit
+    cp -r ${library} gcs_library
+  '';
+
+  buildInputs = [ jdk8 jre8 ant makeWrapper ];
+  buildPhase = ''
+    cd apple_stubs
+    ant
+
+    cd ../toolkit
+    ant
+  
+    cd ../gcs
+    ant
+
+    cd ..
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/java
+
+    find gcs/libraries toolkit/libraries apple_stubs/ \( -name '*.jar' -and -not -name '*-src.jar' \) -exec cp '{}' $out/share/java ';'
+    
+    makeWrapper ${jre8}/bin/java $out/bin/gcs \
+      --set GCS_LIBRARY ${library} \
+      --add-flags "-cp $out/share/java/gcs-${version}.jar com.trollworks.gcs.app.GCS"
+  '';  
+
+  meta = with stdenv.lib; {
+    description = "A stand-alone, interactive, character sheet editor for the GURPS 4th Edition roleplaying game system";
+    homepage = "http://gurpscharactersheet.com/";
+    license = licenses.mpl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [];
+  };
+}
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index e28a83cc6a20..b8cfe512c370 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -27,6 +27,7 @@ in stdenv.mkDerivation {
   cmakeFlags = [
     "-DENABLE_FREETYPE=1"
     "-DENABLE_GETTEXT=1"
+    "-DENABLE_SYSTEM_JSONCPP=1"
     "-DGETTEXT_INCLUDE_DIR=${gettext}/include/gettext"
     "-DCURL_INCLUDE_DIR=${curl.dev}/include/curl"
     "-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht"
diff --git a/pkgs/games/multimc/default.nix b/pkgs/games/multimc/default.nix
index 71c7e300a639..67f0a87df659 100644
--- a/pkgs/games/multimc/default.nix
+++ b/pkgs/games/multimc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, qt5Full, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qt5 }:
+{ stdenv, fetchFromGitHub, cmake, jdk, zlib, file, makeWrapper, xorg, libpulseaudio, qtbase, quazip }:
 
 let
   libnbt = fetchFromGitHub {
@@ -16,7 +16,7 @@ stdenv.mkDerivation {
     rev = "895d8ab4699f1b50bf03532c967a91f5ecb62a50";
     sha256 = "179vc1iv57fx4g4h1wy8yvyvdm671jnvp6zi8pcr1n6azqhwklds";
   };
-  buildInputs = [ cmake qt5Full jdk zlib file makeWrapper ];
+  buildInputs = [ cmake qtbase jdk zlib file makeWrapper ];
 
   libpath = with xorg; [ libX11 libXext libXcursor libXrandr libXxf86vm libpulseaudio ];
   postUnpack = ''
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
     cp -r ${libnbt} $sourceRoot/depends/libnbtplusplus
     chmod 755 -R $sourceRoot/depends/libnbtplusplus
     mkdir -pv $sourceRoot/build/
-    cp -v ${qt5.quazip.src} $sourceRoot/build/quazip-0.7.1.tar.gz
+    cp -v ${quazip.src} $sourceRoot/build/quazip-0.7.1.tar.gz
   '';
 
   patches = [ ./multimc.patch ];
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/misc/emulators/cdemu/analyzer.nix
index c9651fd06145..e39e52850395 100644
--- a/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/pkgs/misc/emulators/cdemu/analyzer.nix
@@ -1,12 +1,12 @@
-{ callPackage, gtk3, glib, libxml2, gnuplot, makeWrapper, stdenv, gnome3, gdk_pixbuf, librsvg }:
+{ callPackage, gtk3, glib, libxml2, gnuplot, makeWrapper, stdenv, gnome3, gdk_pixbuf, librsvg, intltool }:
 let pkg = import ./base.nix {
-  version = "3.0.0";
+  version = "3.0.1";
   pkgName = "image-analyzer";
-  pkgSha256 = "1rb3f7c08dxc02zrwrkfvq7qlzlmm0kd2ah1fhxj6ajiyshi8q4v";
+  pkgSha256 = "19x5hx991pl55ddm2wjd2ylm2hiz9yvzgrwmpnsqr9zqc4lja682";
 };
 in callPackage pkg {
   buildInputs = [ glib gtk3 libxml2 gnuplot (callPackage ./libmirage.nix {}) makeWrapper
-                  gnome3.defaultIconTheme gdk_pixbuf librsvg ];
+                  gnome3.defaultIconTheme gdk_pixbuf librsvg intltool ];
   drvParams = {
     postFixup = ''
       wrapProgram $out/bin/image-analyzer \
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/misc/emulators/cdemu/client.nix
index 1cea479fb7b1..3a5850e10e95 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/misc/emulators/cdemu/client.nix
@@ -1,8 +1,8 @@
 { callPackage, pythonPackages, intltool, makeWrapper }:
 let pkg = import ./base.nix {
-  version = "3.0.1";
+  version = "3.0.3";
   pkgName = "cdemu-client";
-  pkgSha256 = "1kg5m7npdxli93vihhp033hgkvikw5b6fm0qwgvlvdjby7njyyyg";
+  pkgSha256 = "1bfj7bc10z20isdg0h8sfdvnwbn6c49494mrmq6jwrfbqvby25x9";
 };
 in callPackage pkg {
   buildInputs = [ pythonPackages.python pythonPackages.dbus-python intltool makeWrapper ];
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/misc/emulators/cdemu/daemon.nix
index 47a967fb52ef..ef58ff7f58fc 100644
--- a/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/pkgs/misc/emulators/cdemu/daemon.nix
@@ -1,8 +1,8 @@
 { callPackage, glib, libao }:
 let pkg = import ./base.nix {
-  version = "3.0.3";
+  version = "3.0.5";
   pkgName = "cdemu-daemon";
-  pkgSha256 = "00gi3x03l019nyqfxkph1rsldd7fwg0r0x95spwv5py5wyiqvp3m";
+  pkgSha256 = "1cc0yxf1y5dxinv7md1cqhdjsbqb69v9jygrdq5c20mrkqaajz1i";
 };
 in callPackage pkg {
   buildInputs = [ glib libao (callPackage ./libmirage.nix {}) ];
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix
index 04930a5e5738..835a690eb697 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/misc/emulators/cdemu/gui.nix
@@ -1,9 +1,9 @@
 { callPackage, pythonPackages, gtk3, glib, libnotify, intltool, makeWrapper, gobjectIntrospection, gnome3, gdk_pixbuf, librsvg }:
 let
   pkg = import ./base.nix {
-    version = "3.0.1";
+    version = "3.0.2";
     pkgName = "gcdemu";
-    pkgSha256 = "1dlng1bvhns7f0ff5p89npsm2nznfqnaspr0alfh4fl0f11cvnfr";
+    pkgSha256 = "1kmcr2a0inaddx8wrjh3l1v5ymgwv3r6nv2w05lia51r1yzvb44p";
   };
   inherit (pythonPackages) python pygobject3;
 in callPackage pkg {
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/misc/emulators/cdemu/libmirage.nix
index 5e83ef7bbbf6..c9ba589cf2ae 100644
--- a/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/pkgs/misc/emulators/cdemu/libmirage.nix
@@ -1,8 +1,8 @@
 { callPackage, glib, libsndfile, zlib, bzip2, lzma, libsamplerate }:
 let pkg = import ./base.nix {
-  version = "3.0.4";
+  version = "3.0.5";
   pkgName = "libmirage";
-  pkgSha256 = "0grzdacl8hlj20amq88r98h8pd039ww0g4hl1a8lhly11h7kf1fc";
+  pkgSha256 = "01wfxlyviank7k3p27grl1r40rzm744rr80zr9lcjk3y8i5g8ni2";
 };
 in callPackage pkg {
   buildInputs = [ glib libsndfile zlib bzip2 lzma libsamplerate ];
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/misc/emulators/cdemu/vhba.nix
index 3435efbae8b7..c1692e1b9a83 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/misc/emulators/cdemu/vhba.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "vhba-${version}";
-  version = "20140928";
+  version = "20161009";
 
   src  = fetchurl {
     url = "mirror://sourceforge/cdemu/vhba-module-${version}.tar.bz2";
-    sha256 = "18jmpg2kpx87f32b8aprr1pxla9dlhf901rkj1sp3ammf94nxxa5";
+    sha256 = "1n9k3z8hppnl5b5vrn41b69wqwdpml6pm0rgc8vq3jqwss5js1nd";
   };
 
   makeFlags = [ "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "INSTALL_MOD_PATH=$(out)" ];
diff --git a/pkgs/misc/screensavers/electricsheep/default.nix b/pkgs/misc/screensavers/electricsheep/default.nix
index 27e26d6d5df7..72fb7b41c697 100644
--- a/pkgs/misc/screensavers/electricsheep/default.nix
+++ b/pkgs/misc/screensavers/electricsheep/default.nix
@@ -1,22 +1,44 @@
-{stdenv, fetchurl, pkgconfig, expat, zlib, libpng, libjpeg, xorg}:
+{ stdenv, fetchFromGitHub, autoreconfHook, wxGTK30, libav, lua5_1, curl
+, libpng, xorg, pkgconfig, flam3, libgtop, boost, tinyxml, freeglut, mesa
+, glee }:
 
 stdenv.mkDerivation rec {
-  name = "electricsheep-2.6.8";
-  
-  src = fetchurl {
-    url = "http://electricsheep.org/${name}.tar.gz";
-    sha256 = "1flqcqfs75wg74hr5w85n6w8b26l4qrpwzi7fzylnry67yzf94y5";
+  name = "${pname}-${version}";
+  pname = "electricsheep";
+  version = "2.7b33-2017-02-04";
+
+  src = fetchFromGitHub {
+    owner = "scottdraves";
+    repo = pname;
+    rev = "12420cd40dfad8c32fb70b88f3d680d84f795c63";
+    sha256 = "1zqry25h6p0y0rg2h8xxda007hx1xdvsgzmjg13xkc8l4zsp5wah";
   };
 
-  buildInputs = [pkgconfig expat zlib libpng libjpeg xorg.xlibsWrapper xorg.libXv];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [
+    wxGTK30 libav lua5_1 curl libpng xorg.libXrender
+    flam3 libgtop boost tinyxml freeglut mesa glee
+  ];
+
+  preAutoreconf = ''
+    cd client_generic
+    sed -i '/ACX_PTHREAD/d' configure.ac
+  '';
+
+  configureFlags = [
+    "CPPFLAGS=-I${glee}/include/GL"
+  ];
 
-  preInstall = ''
-    installFlags=GNOME_DATADIR=$out
-    mkdir -p $out/control-center/screensavers
+  preBuild = ''
+    sed -i "s|/usr|$out|" Makefile
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Electric Sheep, a distributed screen saver for evolving artificial organisms";
     homepage = http://electricsheep.org/;
+    maintainers = with maintainers; [ nand0p fpletz ];
+    platforms = platforms.linux;
+    license = licenses.gpl1;
   };
 }
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index 1b6369d87d91..3ee8f32da0ce 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -281,6 +281,17 @@ rec {
     sourceRoot = ".";
   };
 
+  vim-highlightedyank = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-highlightedyank-2017-01-04";
+    src = fetchgit {
+      url = "git://github.com/machakann/vim-highlightedyank";
+      rev = "17327fd1072ac15a30f596a2fc0b6cef122e0640";
+      sha256 = "08rc1br8npvkxxh3jn9hmn4yh4nlxy04c8nwyrnpndhw05kca33a";
+    };
+    dependencies = [];
+
+  };
+
   alchemist-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "alchemist.vim-2017-01-02";
     src = fetchgit {
@@ -373,6 +384,17 @@ rec {
 
   };
 
+  vim-lawrencium = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-lawrencium-2017-01-10";
+    src = fetchgit {
+      url = "git://github.com/ludovicchabant/vim-lawrencium";
+      rev = "88077183e1f5a9a1f741aeab7a1374cfed9e917f";
+      sha256 = "0z31v93wjycq4lqvbl1jzxi7i5i1vl919m4dyyzphybcqrjjpnab";
+    };
+    dependencies = [];
+
+  };
+
   ghcmod = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "ghcmod-2016-06-19";
     src = fetchgit {
@@ -541,6 +563,17 @@ rec {
 
   };
 
+  vim-scala = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-scala-2016-08-02";
+    src = fetchgit {
+      url = "git://github.com/derekwyatt/vim-scala";
+      rev = "a6a350f7c632d0e640b57f9dcc7e123409a7bcd7";
+      sha256 = "108c5h02vcb3pnr3si8dhwq3mv2pj5d83mj1ljxdk9595xv8j2rp";
+    };
+    dependencies = [];
+
+  };
+
   vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "vim-jade-2016-10-31";
     src = fetchgit {
@@ -574,6 +607,17 @@ rec {
 
   };
 
+  neco-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "neco-vim-2017-01-16";
+    src = fetchgit {
+      url = "git://github.com/shougo/neco-vim";
+      rev = "d28e1ea78f90d72636895dbd758de6b35aae2dfa";
+      sha256 = "1qsyicxykl350zz86j7k6k9rflcf5nwrc5jbk9135zs5i8g1lqf3";
+    };
+    dependencies = [];
+
+  };
+
   editorconfig-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "editorconfig-vim-2016-07-16";
     src = fetchgit {
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index 4be4c0a97228..f9e79a8019b8 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -36,6 +36,7 @@
 "github:ctjhoa/spacevim"
 "github:ctrlpvim/ctrlp.vim"
 "github:derekelkins/agda-vim"
+"github:derekwyatt/vim-scala"
 "github:digitaltoad/vim-jade"
 "github:dracula/vim"
 "github:eagletmt/neco-ghc"
@@ -73,8 +74,10 @@
 "github:lepture/vim-jinja"
 "github:lervag/vimtex"
 "github:lokaltog/vim-easymotion"
+"github:ludovicchabant/vim-lawrencium"
 "github:luochen1990/rainbow"
 "github:lyokha/vim-xkbswitch"
+"github:machakann/vim-highlightedyank"
 "github:mhinz/vim-startify"
 "github:mkasa/lushtags"
 "github:mpickering/hlint-refactor-vim"
@@ -90,6 +93,7 @@
 "github:rust-lang/rust.vim"
 "github:sbdchd/neoformat"
 "github:sheerun/vim-polyglot"
+"github:shougo/neco-vim"
 "github:shougo/neocomplete.vim"
 "github:shougo/neosnippet-snippets"
 "github:shougo/neosnippet.vim"
diff --git a/pkgs/os-specific/linux/amdgpu-pro/default.nix b/pkgs/os-specific/linux/amdgpu-pro/default.nix
index cbfa2e1b0300..7cf2bc4f975e 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/default.nix
+++ b/pkgs/os-specific/linux/amdgpu-pro/default.nix
@@ -30,9 +30,9 @@ let
 
 in stdenv.mkDerivation rec {
 
-  version = "16.50";
+  version = "16.60";
   pname = "amdgpu-pro";
-  build = "${version}-362463";
+  build = "${version}-379184";
 
   libCompatDir = "/run/lib/${libArch}";
 
@@ -41,7 +41,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
     "https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-${build}.tar.xz";
-    sha256 = "1wl8mabk9g7s43bdarzl2i5crp8rl1advnb5mw3p3821sqzh2nd9";
+    sha256 = "1g90sryxw8y4abjgviibq34v3hr82ijgbaiqnxgafrf7g9s5m2yq";
     curlOpts = "--referer http://support.amd.com/en-us/kb-articles/Pages/AMD-Radeon-GPU-PRO-Linux-Beta-Driver%e2%80%93Release-Notes.aspx";
   };
 
@@ -58,18 +58,10 @@ in stdenv.mkDerivation rec {
   '';
 
   modulePatches = [
-    ./patches/0001-Fix-kernel-module-install-location.patch
-    ./patches/0002-Add-Gentoo-as-build-option.patch
-    ./patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
-    ./patches/0004-Change-seq_printf-format-for-64-bit-context.patch
-    ./patches/0005-Fix-vblank-calls.patch
-    ./patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
-    ./patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
-    ./patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
-    ./patches/0009-Remove-dependency-on-System.map.patch
-    ./patches/0010-disable-dal-by-default.patch
-    ./patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
-    ./patches/0012-use-kernel-fence_array-in-4.8.patch
+    ./patches/0001-disable-firmware-copy.patch
+    ./patches/0002-linux-4.9-fixes.patch
+    ./patches/0003-Change-seq_printf-format-for-64-bit-context.patch
+    ./patches/0004-fix-warnings-for-Werror.patch
   ];
 
   patchPhase = optionalString (!libsOnly) ''
@@ -83,12 +75,23 @@ in stdenv.mkDerivation rec {
   '';
 
   preBuild = optionalString (!libsOnly) ''
-    makeFlags="$makeFlags M=$(pwd)/usr/src/amdgpu-pro-${build}"
+    pushd usr/src/amdgpu-pro-${build}
+    makeFlags="$makeFlags M=$(pwd)"
+    patchShebangs pre-build.sh
+    ./pre-build.sh ${kernel.version}
+    popd
   '';
 
-  postBuild = optionalString (!libsOnly) ''
-    xz usr/src/amdgpu-pro-${build}/amd/amdgpu/amdgpu.ko
-  '';
+  modules = [
+    "amd/amdgpu/amdgpu.ko"
+    "amd/amdkcl/amdkcl.ko"
+    "ttm/amdttm.ko"
+  ];
+
+  postBuild = optionalString (!libsOnly)
+    (concatMapStrings (m: "xz usr/src/amdgpu-pro-${build}/${m}\n") modules);
+
+  NIX_CFLAGS_COMPILE = "-Werror";
 
   makeFlags = optionalString (!libsOnly)
     "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build modules";
@@ -123,10 +126,10 @@ in stdenv.mkDerivation rec {
   '' + ''
     popd
 
-  '' + optionalString (!libsOnly) ''
-    mkdir -p $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.xz
-    cp usr/src/amdgpu-pro-${build}/amd/amdgpu/amdgpu.ko.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko.xz
-  '' + ''
+  '' + optionalString (!libsOnly)
+    (concatMapStrings (m:
+      "install -Dm444 usr/src/amdgpu-pro-${build}/${m}.xz $out/lib/modules/${kernel.modDirVersion}/kernel/drivers/gpu/drm/${m}.xz\n") modules)
+  + ''
     mv $out/etc/vulkan $out/share
     interpreter="$(cat $NIX_CC/nix-support/dynamic-linker)"
     libPath="$out/lib:$out/lib/gbm:$depLibPath"
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch
deleted file mode 100644
index 5af823a93946..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-Fix-kernel-module-install-location.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From e787277fd4f43399de2da355b08e478c2a58d589 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 15:31:13 +0100
-Subject: [PATCH 01/11] Fix kernel module install location
-
----
- dkms.conf | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/dkms.conf b/dkms.conf
-index 7f11158..2f080e2 100644
---- a/dkms.conf
-+++ b/dkms.conf
-@@ -2,7 +2,7 @@ PACKAGE_NAME="amdgpu-pro"
- PACKAGE_VERSION="16.50-362463"
- BUILT_MODULE_NAME[0]="amdgpu"
- BUILT_MODULE_LOCATION[0]="amd/amdgpu"
--DEST_MODULE_LOCATION[0]="/updates"
-+DEST_MODULE_LOCATION[0]="/kernel/drivers/gpu/drm/amd/amdgpu"
- AUTOINSTALL="yes"
- PRE_BUILD="pre-build.sh $kernelver"
- 
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch
new file mode 100644
index 000000000000..6803cf032893
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0001-disable-firmware-copy.patch
@@ -0,0 +1,25 @@
+From ad3f6de6d16ea8ee76635dd39875eeab39def6e9 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Sat, 28 Jan 2017 16:57:26 -0400
+Subject: [PATCH 1/4] disable firmware copy
+
+---
+ pre-build.sh | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/pre-build.sh b/pre-build.sh
+index 25e718f..e3cd009 100755
+--- a/pre-build.sh
++++ b/pre-build.sh
+@@ -35,8 +35,3 @@ find ttm -name '*.c' -exec grep EXPORT_SYMBOL {} + \
+     | sort -u \
+     | awk -F'[()]' '{print "#define "$2" amd"$2" //"$0}'\
+     > include/rename_symbol.h
+-
+-FW_DIR="/lib/firmware/$KERNELVER"
+-mkdir -p $FW_DIR
+-cp -ar /usr/src/amdgpu-pro-16.60-379184/firmware/radeon $FW_DIR
+-cp -ar /usr/src/amdgpu-pro-16.60-379184/firmware/amdgpu $FW_DIR
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch
deleted file mode 100644
index be627992c067..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-Add-Gentoo-as-build-option.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From da51551f671be3282b6f69ef76e495b169a5dc3f Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 15:31:49 +0100
-Subject: [PATCH 02/11] Add Gentoo as build option
-
----
- amd/backport/Makefile | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/amd/backport/Makefile b/amd/backport/Makefile
-index a6ab7fe..ff9339d 100644
---- a/amd/backport/Makefile
-+++ b/amd/backport/Makefile
-@@ -22,8 +22,13 @@ else ifeq ("sled",$(OS_NAME))
- ccflags-y += -DOS_NAME_SLE
- else ifeq ("sles",$(OS_NAME))
- ccflags-y += -DOS_NAME_SLE
-+else ifeq ("gentoo",$(OS_NAME))
-+ccflags-y += -DOS_NAME_GENTOO
-+# We don't have a version inside /etc/os-release.
-+OS_VERSION = "0.0"
- else
- ccflags-y += -DOS_NAME_UNKNOWN
-+OS_VERSION = "0.0"
- endif
- 
- ccflags-y += \
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch
new file mode 100644
index 000000000000..86dbea29e08a
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0002-linux-4.9-fixes.patch
@@ -0,0 +1,97 @@
+From 52e47be93c7a492730477f590e5eb42e035018bd Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Sun, 29 Jan 2017 18:23:47 -0400
+Subject: [PATCH 2/4] linux-4.9 fixes
+
+---
+ amd/amdgpu/amdgpu_connectors.c          | 8 ++++++++
+ amd/amdgpu/amdgpu_ttm.c                 | 4 ++++
+ amd/display/amdgpu_dm/amdgpu_dm_types.c | 8 ++++++++
+ include/kcl/kcl_mm.h                    | 4 +++-
+ 4 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/amd/amdgpu/amdgpu_connectors.c b/amd/amdgpu/amdgpu_connectors.c
+index 1b51981..4b43379 100644
+--- a/amd/amdgpu/amdgpu_connectors.c
++++ b/amd/amdgpu/amdgpu_connectors.c
+@@ -168,12 +168,20 @@ int amdgpu_connector_get_monitor_bpc(struct drm_connector *connector)
+ 		}
+ 
+ 		/* Any defined maximum tmds clock limit we must not exceed? */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++		if (connector->display_info.max_tmds_clock > 0) {
++#else
+ 		if (connector->max_tmds_clock > 0) {
++#endif
+ 			/* mode_clock is clock in kHz for mode to be modeset on this connector */
+ 			mode_clock = amdgpu_connector->pixelclock_for_modeset;
+ 
+ 			/* Maximum allowable input clock in kHz */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++			max_tmds_clock = connector->display_info.max_tmds_clock * 1000;
++#else
+ 			max_tmds_clock = connector->max_tmds_clock * 1000;
++#endif
+ 
+ 			DRM_DEBUG("%s: hdmi mode dotclock %d kHz, max tmds input clock %d kHz.\n",
+ 				  connector->name, mode_clock, max_tmds_clock);
+diff --git a/amd/amdgpu/amdgpu_ttm.c b/amd/amdgpu/amdgpu_ttm.c
+index 447529d..252bab4 100644
+--- a/amd/amdgpu/amdgpu_ttm.c
++++ b/amd/amdgpu/amdgpu_ttm.c
+@@ -255,7 +255,11 @@ static int amdgpu_verify_access(struct ttm_buffer_object *bo, struct file *filp)
+ 
+ 	if (amdgpu_ttm_tt_get_usermm(bo->ttm))
+ 		return -EPERM;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++	return drm_vma_node_verify_access(&abo->gem_base.vma_node, filp->private_data);
++#else
+ 	return drm_vma_node_verify_access(&abo->gem_base.vma_node, filp);
++#endif
+ }
+ 
+ static void amdgpu_move_null(struct ttm_buffer_object *bo,
+diff --git a/amd/display/amdgpu_dm/amdgpu_dm_types.c b/amd/display/amdgpu_dm/amdgpu_dm_types.c
+index be7aafb..5e11f26 100644
+--- a/amd/display/amdgpu_dm/amdgpu_dm_types.c
++++ b/amd/display/amdgpu_dm/amdgpu_dm_types.c
+@@ -1692,6 +1692,10 @@ static int dm_plane_helper_prepare_fb(
+ 	struct drm_plane *plane,
+ 	struct drm_framebuffer *fb,
+ 	const struct drm_plane_state *new_state)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++static int dm_plane_helper_prepare_fb(
++	struct drm_plane *plane,
++	struct drm_plane_state *new_state)
+ #else
+ static int dm_plane_helper_prepare_fb(
+ 	struct drm_plane *plane,
+@@ -1735,6 +1739,10 @@ static void dm_plane_helper_cleanup_fb(
+ 	struct drm_plane *plane,
+ 	struct drm_framebuffer *fb,
+ 	const struct drm_plane_state *old_state)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++static void dm_plane_helper_cleanup_fb(
++	struct drm_plane *plane,
++	struct drm_plane_state *old_state)
+ #else
+ static void dm_plane_helper_cleanup_fb(
+ 	struct drm_plane *plane,
+diff --git a/include/kcl/kcl_mm.h b/include/kcl/kcl_mm.h
+index a18936d..f068195 100644
+--- a/include/kcl/kcl_mm.h
++++ b/include/kcl/kcl_mm.h
+@@ -8,7 +8,9 @@ static inline int kcl_get_user_pages(struct task_struct *tsk, struct mm_struct *
+                                      int write, int force, struct page **pages,
+                                      struct vm_area_struct **vmas)
+ {
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 9, 0)
++        return get_user_pages(start, nr_pages, write ? FOLL_WRITE : 0, pages, vmas);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 6, 0)
+         return get_user_pages(start, nr_pages, write, force, pages, vmas);
+ #else
+         return get_user_pages(tsk, mm, start, nr_pages,
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch
index 925a92e2a7e5..6856b9ae0921 100644
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-Change-seq_printf-format-for-64-bit-context.patch
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Change-seq_printf-format-for-64-bit-context.patch
@@ -1,17 +1,17 @@
-From 084b2915e6876d8fdb913938569c0ce7ffef65bc Mon Sep 17 00:00:00 2001
+From cc490c71a98b6bbe390fcf777fbe0360d01bf4ca Mon Sep 17 00:00:00 2001
 From: "Luke A. Guest" <laguest@archeia.com>
 Date: Sun, 25 Sep 2016 16:46:39 +0100
-Subject: [PATCH 04/11] Change seq_printf format for 64 bit context
+Subject: [PATCH 3/4] Change seq_printf format for 64 bit context
 
 ---
  amd/amdgpu/amdgpu_sa.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/amd/amdgpu/amdgpu_sa.c b/amd/amdgpu/amdgpu_sa.c
-index 052f745..5886b9a 100644
+index c43f582..8c4b9f7 100644
 --- a/amd/amdgpu/amdgpu_sa.c
 +++ b/amd/amdgpu/amdgpu_sa.c
-@@ -428,7 +428,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
+@@ -427,7 +427,7 @@ void amdgpu_sa_bo_dump_debug_info(struct amdgpu_sa_manager *sa_manager,
  			   soffset, eoffset, eoffset - soffset);
  
  		if (i->fence)
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
deleted file mode 100644
index ae5b62b1d231..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0003-Remove-extra-parameter-from-ttm_bo_reserve-for-4.7.0.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 999a30883f34c4603c3b747a58a89d4924583769 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 15:46:58 +0100
-Subject: [PATCH 03/11] Remove extra parameter from ttm_bo_reserve for 4.7.0
-
----
- amd/backport/include/kcl/kcl_ttm.h | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/amd/backport/include/kcl/kcl_ttm.h b/amd/backport/include/kcl/kcl_ttm.h
-index 6e5a170..52cdbc8 100644
---- a/amd/backport/include/kcl/kcl_ttm.h
-+++ b/amd/backport/include/kcl/kcl_ttm.h
-@@ -113,7 +113,11 @@ static inline int kcl_ttm_bo_reserve(struct ttm_buffer_object *bo,
- 				 struct ww_acquire_ctx *ticket)
- {
- #if defined(BUILD_AS_DKMS)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0)
-+	return ttm_bo_reserve(bo, interruptible, no_wait, ticket);
-+#else
- 	return ttm_bo_reserve(bo, interruptible, no_wait, false, ticket);
-+#endif
- #else
- 	return ttm_bo_reserve(bo, interruptible, no_wait, ticket);
- #endif
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch
new file mode 100644
index 000000000000..d226504c4e46
--- /dev/null
+++ b/pkgs/os-specific/linux/amdgpu-pro/patches/0004-fix-warnings-for-Werror.patch
@@ -0,0 +1,74 @@
+From 9970f3107aed7b2b1ff1c5f29129b62cec99980d Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Mon, 6 Feb 2017 22:13:49 -0400
+Subject: [PATCH 4/4] fix warnings for Werror
+
+---
+ amd/amdgpu/amdgpu_kms.c                 | 2 +-
+ amd/amdgpu/amdgpu_ttm.c                 | 2 ++
+ amd/display/amdgpu_dm/amdgpu_dm.c       | 2 +-
+ amd/display/amdgpu_dm/amdgpu_dm_types.c | 2 +-
+ 4 files changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/amd/amdgpu/amdgpu_kms.c b/amd/amdgpu/amdgpu_kms.c
+index b7b51ae..bc884f6 100644
+--- a/amd/amdgpu/amdgpu_kms.c
++++ b/amd/amdgpu/amdgpu_kms.c
+@@ -591,7 +591,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
+ 
+ 			bios = adev->bios + bios_offset;
+ 			return copy_to_user(out, bios,
+-				min((size_t)size, bios_size - bios_offset))
++				min(size, bios_size - bios_offset))
+ 					? -EFAULT : 0;
+ 		}
+ 		default:
+diff --git a/amd/amdgpu/amdgpu_ttm.c b/amd/amdgpu/amdgpu_ttm.c
+index 252bab4..90f3655 100644
+--- a/amd/amdgpu/amdgpu_ttm.c
++++ b/amd/amdgpu/amdgpu_ttm.c
+@@ -1083,6 +1083,7 @@ uint32_t amdgpu_ttm_tt_pte_flags(struct amdgpu_device *adev, struct ttm_tt *ttm,
+ 	return flags;
+ }
+ 
++#if 0
+ static void amdgpu_ttm_lru_removal(struct ttm_buffer_object *tbo)
+ {
+ 	struct amdgpu_device *adev = amdgpu_ttm_adev(tbo->bdev);
+@@ -1132,6 +1133,7 @@ static struct list_head *amdgpu_ttm_swap_lru_tail(struct ttm_buffer_object *tbo)
+ 
+ 	return res;
+ }
++#endif
+ 
+ static struct ttm_bo_driver amdgpu_bo_driver = {
+ 	.ttm_tt_create = &amdgpu_ttm_tt_create,
+diff --git a/amd/display/amdgpu_dm/amdgpu_dm.c b/amd/display/amdgpu_dm/amdgpu_dm.c
+index 3dcb619..5700861 100644
+--- a/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -121,7 +121,7 @@ static bool dm_check_soft_reset(void *handle)
+ 
+ static int dm_soft_reset(void *handle)
+ {
+-	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
++	/* struct amdgpu_device *adev = (struct amdgpu_device *)handle; */
+ 
+ 	/* XXX todo */
+ 	return 0;
+diff --git a/amd/display/amdgpu_dm/amdgpu_dm_types.c b/amd/display/amdgpu_dm/amdgpu_dm_types.c
+index 5e11f26..7039542 100644
+--- a/amd/display/amdgpu_dm/amdgpu_dm_types.c
++++ b/amd/display/amdgpu_dm/amdgpu_dm_types.c
+@@ -913,7 +913,7 @@ static void decide_crtc_timing_for_drm_display_mode(
+ }
+ 
+ static struct dc_target *create_target_for_sink(
+-		const struct amdgpu_connector *aconnector,
++		struct amdgpu_connector *aconnector,
+ 		const struct drm_display_mode *drm_mode,
+ 		const struct dm_connector_state *dm_state)
+ {
+-- 
+2.11.0
+
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch
deleted file mode 100644
index 99b54aca2ab0..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0005-Fix-vblank-calls.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 1884ef3a813f3dac0029c7539654ba978635d5d3 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:49:09 +0100
-Subject: [PATCH 05/11] Fix vblank calls
-
----
- amd/amdgpu/amdgpu_display.c   | 8 ++++++++
- amd/amdgpu/dce_v10_0.c        | 4 ++++
- amd/amdgpu/dce_v11_0.c        | 4 ++++
- amd/amdgpu/dce_v8_0.c         | 4 ++++
- amd/amdgpu/dce_virtual.c      | 8 ++++++++
- amd/dal/amdgpu_dm/amdgpu_dm.c | 4 ++++
- 6 files changed, 32 insertions(+)
-
-diff --git a/amd/amdgpu/amdgpu_display.c b/amd/amdgpu/amdgpu_display.c
-index 8425b1d..d6cd383 100644
---- a/amd/amdgpu/amdgpu_display.c
-+++ b/amd/amdgpu/amdgpu_display.c
-@@ -268,7 +268,11 @@ int amdgpu_crtc_page_flip(struct drm_crtc *crtc,
- 
- 	work->base = base;
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	r = drm_crtc_vblank_get(crtc);
-+#else
- 	r = drm_vblank_get(crtc->dev, amdgpu_crtc->crtc_id);
-+#endif
- 	if (r) {
- 		DRM_ERROR("failed to get vblank before flip\n");
- 		goto pflip_cleanup;
-@@ -296,7 +300,11 @@ int amdgpu_crtc_page_flip(struct drm_crtc *crtc,
- 	return 0;
- 
- vblank_cleanup:
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_crtc_vblank_put(&amdgpu_crtc->base);
-+#else
- 	drm_vblank_put(crtc->dev, amdgpu_crtc->crtc_id);
-+#endif
- 
- pflip_cleanup:
- 	if (unlikely(amdgpu_bo_reserve(new_abo, false) != 0)) {
-diff --git a/amd/amdgpu/dce_v10_0.c b/amd/amdgpu/dce_v10_0.c
-index 650d193..b1880ac 100644
---- a/amd/amdgpu/dce_v10_0.c
-+++ b/amd/amdgpu/dce_v10_0.c
-@@ -3342,7 +3342,11 @@ static int dce_v10_0_pageflip_irq(struct amdgpu_device *adev,
- 
- 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_crtc_vblank_put(&amdgpu_crtc->base);
-+#else
- 	drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-+#endif
- 	schedule_work(&works->unpin_work);
- 
- 	return 0;
-diff --git a/amd/amdgpu/dce_v11_0.c b/amd/amdgpu/dce_v11_0.c
-index ca03d8e..b654b64 100644
---- a/amd/amdgpu/dce_v11_0.c
-+++ b/amd/amdgpu/dce_v11_0.c
-@@ -3391,7 +3391,11 @@ static int dce_v11_0_pageflip_irq(struct amdgpu_device *adev,
- 
- 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_crtc_vblank_put(&amdgpu_crtc->base);
-+#else
- 	drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-+#endif
- 	schedule_work(&works->unpin_work);
- 
- 	return 0;
-diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
-index 8e4dff7..b598caa 100644
---- a/amd/amdgpu/dce_v8_0.c
-+++ b/amd/amdgpu/dce_v8_0.c
-@@ -3252,7 +3252,11 @@ static int dce_v8_0_pageflip_irq(struct amdgpu_device *adev,
- 
- 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_crtc_vblank_put(&amdgpu_crtc->base);
-+#else
- 	drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-+#endif
- 	schedule_work(&works->unpin_work);
- 
- 	return 0;
-diff --git a/amd/amdgpu/dce_virtual.c b/amd/amdgpu/dce_virtual.c
-index 0c6e873..36e2094 100644
---- a/amd/amdgpu/dce_virtual.c
-+++ b/amd/amdgpu/dce_virtual.c
-@@ -746,11 +746,19 @@ static int dce_virtual_pageflip_irq(struct amdgpu_device *adev,
- 
- 	/* wakeup usersapce */
- 	if (works->event)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+    drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
-+#else
- 		drm_send_vblank_event(adev->ddev, crtc_id, works->event);
-+#endif
- 
- 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_crtc_vblank_put(&amdgpu_crtc->base);
-+#else
- 	drm_vblank_put(adev->ddev, amdgpu_crtc->crtc_id);
-+#endif
- 	schedule_work(&works->unpin_work);
- 
- 	return 0;
-diff --git a/amd/dal/amdgpu_dm/amdgpu_dm.c b/amd/dal/amdgpu_dm/amdgpu_dm.c
-index c5fcf5a..e9892d8 100644
---- a/amd/dal/amdgpu_dm/amdgpu_dm.c
-+++ b/amd/dal/amdgpu_dm/amdgpu_dm.c
-@@ -213,10 +213,14 @@ static void dm_pflip_high_irq(void *interrupt_params)
- 
- 	/* wakeup usersapce */
- 	if(works->event)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+		drm_crtc_send_vblank_event(&amdgpu_crtc->base, works->event);
-+#else
- 		drm_send_vblank_event(
- 			adev->ddev,
- 			amdgpu_crtc->crtc_id,
- 			works->event);
-+#endif
- 
- 	spin_unlock_irqrestore(&adev->ddev->event_lock, flags);
- 
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
deleted file mode 100644
index 566b7039bb3e..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0006-Fix-crtc_gamma-functions-for-4.8.0.patch
+++ /dev/null
@@ -1,163 +0,0 @@
-From 12660ae02838f99c0784194908f7a189bc2ab0ae Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 16:56:47 +0100
-Subject: [PATCH 06/11] Fix crtc_gamma functions for 4.8.0
-
----
- amd/amdgpu/dce_v10_0.c              | 19 +++++++++++++++++++
- amd/amdgpu/dce_v11_0.c              | 19 +++++++++++++++++++
- amd/amdgpu/dce_v8_0.c               | 19 +++++++++++++++++++
- amd/dal/amdgpu_dm/amdgpu_dm_types.c | 12 ++++++++++++
- 4 files changed, 69 insertions(+)
-
-diff --git a/amd/amdgpu/dce_v10_0.c b/amd/amdgpu/dce_v10_0.c
-index b1880ac..53746fa 100644
---- a/amd/amdgpu/dce_v10_0.c
-+++ b/amd/amdgpu/dce_v10_0.c
-@@ -2627,6 +2627,24 @@ static void dce_v10_0_cursor_reset(struct drm_crtc *crtc)
- 	}
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+static int dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
-+				    u16 *blue, uint32_t size)
-+{
-+	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
-+	int i;
-+
-+	/* userspace palettes are always correct as is */
-+	for (i = 0; i < size; i++) {
-+		amdgpu_crtc->lut_r[i] = red[i] >> 6;
-+		amdgpu_crtc->lut_g[i] = green[i] >> 6;
-+		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
-+	}
-+	dce_v10_0_crtc_load_lut(crtc);
-+
-+	return 0;
-+}
-+#else
- static void dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- 				    u16 *blue, uint32_t start, uint32_t size)
- {
-@@ -2641,6 +2659,7 @@ static void dce_v10_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
- 	}
- 	dce_v10_0_crtc_load_lut(crtc);
- }
-+#endif
- 
- static void dce_v10_0_crtc_destroy(struct drm_crtc *crtc)
- {
-diff --git a/amd/amdgpu/dce_v11_0.c b/amd/amdgpu/dce_v11_0.c
-index b654b64..3edd66d 100644
---- a/amd/amdgpu/dce_v11_0.c
-+++ b/amd/amdgpu/dce_v11_0.c
-@@ -2643,6 +2643,24 @@ static void dce_v11_0_cursor_reset(struct drm_crtc *crtc)
- 	}
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+static int dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
-+				    u16 *blue, uint32_t size)
-+{
-+	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
-+	int i;
-+
-+	/* userspace palettes are always correct as is */
-+	for (i = 0; i < size; i++) {
-+		amdgpu_crtc->lut_r[i] = red[i] >> 6;
-+		amdgpu_crtc->lut_g[i] = green[i] >> 6;
-+		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
-+	}
-+	dce_v11_0_crtc_load_lut(crtc);
-+
-+	return 0;
-+}
-+#else
- static void dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- 				    u16 *blue, uint32_t start, uint32_t size)
- {
-@@ -2657,6 +2675,7 @@ static void dce_v11_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green
- 	}
- 	dce_v11_0_crtc_load_lut(crtc);
- }
-+#endif
- 
- static void dce_v11_0_crtc_destroy(struct drm_crtc *crtc)
- {
-diff --git a/amd/amdgpu/dce_v8_0.c b/amd/amdgpu/dce_v8_0.c
-index b598caa..d203894 100644
---- a/amd/amdgpu/dce_v8_0.c
-+++ b/amd/amdgpu/dce_v8_0.c
-@@ -2478,6 +2478,24 @@ static void dce_v8_0_cursor_reset(struct drm_crtc *crtc)
- 	}
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+static int dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
-+				    u16 *blue, uint32_t size)
-+{
-+	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
-+	int i;
-+
-+	/* userspace palettes are always correct as is */
-+	for (i = 0; i < size; i++) {
-+		amdgpu_crtc->lut_r[i] = red[i] >> 6;
-+		amdgpu_crtc->lut_g[i] = green[i] >> 6;
-+		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
-+	}
-+	dce_v8_0_crtc_load_lut(crtc);
-+
-+	return 0;
-+}
-+#else
- static void dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- 				    u16 *blue, uint32_t start, uint32_t size)
- {
-@@ -2492,6 +2510,7 @@ static void dce_v8_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- 	}
- 	dce_v8_0_crtc_load_lut(crtc);
- }
-+#endif
- 
- static void dce_v8_0_crtc_destroy(struct drm_crtc *crtc)
- {
-diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index edc8e86..32755a9 100644
---- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -998,6 +998,13 @@ void amdgpu_dm_crtc_destroy(struct drm_crtc *crtc)
- 	kfree(crtc);
- }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+static int amdgpu_dm_atomic_crtc_gamma_set(struct drm_crtc *crtc,
-+					   u16 *red,
-+					   u16 *green,
-+					   u16 *blue,
-+					   uint32_t size)
-+#else
- static void amdgpu_dm_atomic_crtc_gamma_set(
- 		struct drm_crtc *crtc,
- 		u16 *red,
-@@ -1005,6 +1012,7 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
- 		u16 *blue,
- 		uint32_t start,
- 		uint32_t size)
-+#endif
- {
- 	struct drm_device *dev = crtc->dev;
- 	struct drm_property *prop = dev->mode_config.prop_crtc_id;
-@@ -1012,6 +1020,10 @@ static void amdgpu_dm_atomic_crtc_gamma_set(
- 	crtc->state->mode.private_flags |= AMDGPU_CRTC_MODE_PRIVATE_FLAGS_GAMMASET;
- 
- 	drm_atomic_helper_crtc_set_property(crtc, prop, 0);
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	return 0;
-+#endif
- }
- 
- static int dm_crtc_funcs_atomic_set_property(
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
deleted file mode 100644
index 197fdd32b107..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0007-Fix-drm_atomic_helper_swap_state-for-4.8.0.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 7a5d45874b1e2bbbff2d2410f38203b5b0ae67c4 Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 17:00:32 +0100
-Subject: [PATCH 07/11] Fix drm_atomic_helper_swap_state for 4.8.0
-
----
- amd/dal/amdgpu_dm/amdgpu_dm_types.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/amd/dal/amdgpu_dm/amdgpu_dm_types.c b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-index 32755a9..60ca073 100644
---- a/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-+++ b/amd/dal/amdgpu_dm/amdgpu_dm_types.c
-@@ -2528,7 +2528,11 @@ int amdgpu_dm_atomic_commit(
- 	 * the software side now.
- 	 */
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	drm_atomic_helper_swap_state(state, true);
-+#else
- 	drm_atomic_helper_swap_state(dev, state);
-+#endif
- 
- 	/*
- 	 * From this point state become old state really. New state is
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
deleted file mode 100644
index 8674c3537e88..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0008-Add-extra-flag-to-ttm_bo_move_ttm-for-4.8.0-rc2.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 7c536e8b9f73926014c0622eb101f2cf174b507b Mon Sep 17 00:00:00 2001
-From: "Luke A. Guest" <laguest@archeia.com>
-Date: Sun, 25 Sep 2016 19:19:45 +0100
-Subject: [PATCH 08/11] Add extra flag to ttm_bo_move_ttm for >=4.8.0-rc2
-
----
- amd/amdgpu/amdgpu_ttm.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/amd/amdgpu/amdgpu_ttm.c b/amd/amdgpu/amdgpu_ttm.c
-index 89760f8..d102224 100644
---- a/amd/amdgpu/amdgpu_ttm.c
-+++ b/amd/amdgpu/amdgpu_ttm.c
-@@ -428,7 +428,11 @@ static int amdgpu_move_vram_ram(struct ttm_buffer_object *bo,
- 	if (unlikely(r)) {
- 		goto out_cleanup;
- 	}
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	r = ttm_bo_move_ttm(bo, true, interruptible, no_wait_gpu, new_mem);
-+#else
- 	r = ttm_bo_move_ttm(bo, true, no_wait_gpu, new_mem);
-+#endif
- out_cleanup:
- 	ttm_bo_mem_put(bo, &tmp_mem);
- 	return r;
-@@ -461,7 +465,11 @@ static int amdgpu_move_ram_vram(struct ttm_buffer_object *bo,
- 	if (unlikely(r)) {
- 		return r;
- 	}
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+	r = ttm_bo_move_ttm(bo, true, interruptible, no_wait_gpu, &tmp_mem);
-+#else
- 	r = ttm_bo_move_ttm(bo, true, no_wait_gpu, &tmp_mem);
-+#endif
- 	if (unlikely(r)) {
- 		goto out_cleanup;
- 	}
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch
deleted file mode 100644
index 52c5f7f45930..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0009-Remove-dependency-on-System.map.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 4d645984264e449d6a4507af033b26daed952eac Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Wed, 26 Oct 2016 22:26:39 -0300
-Subject: [PATCH 09/11] Remove dependency on System.map
-
----
- amd/backport/Makefile    |  1 -
- amd/backport/kcl_fence.c | 10 ++++++++--
- amd/backport/symbols     |  7 -------
- 3 files changed, 8 insertions(+), 10 deletions(-)
- delete mode 100644 amd/backport/symbols
-
-diff --git a/amd/backport/Makefile b/amd/backport/Makefile
-index ff9339d..3f2d9ea 100644
---- a/amd/backport/Makefile
-+++ b/amd/backport/Makefile
-@@ -64,7 +64,6 @@ ccflags-y += -DOS_NAME_RHEL_7_3
- endif
- endif
- 
--BACKPORT_OBJS = symbols.o
- endif
- 
- BACKPORT_OBJS += kcl_drm.o kcl_ttm.o kcl_amdgpu.o kcl_fence.o kcl_mn.o amdgpu_kcl.o kcl_fence_array.o kcl_kthread.o
-diff --git a/amd/backport/kcl_fence.c b/amd/backport/kcl_fence.c
-index 54ad819..39f6d61 100644
---- a/amd/backport/kcl_fence.c
-+++ b/amd/backport/kcl_fence.c
-@@ -52,8 +52,14 @@ struct default_wait_cb {
- 	struct task_struct *task;
- };
- 
--extern void
--(*fence_default_wait_cb)(struct fence *fence, struct fence_cb *cb);
-+static void
-+fence_default_wait_cb(struct fence *fence, struct fence_cb *cb)
-+{
-+	struct default_wait_cb *wait =
-+		container_of(cb, struct default_wait_cb, base);
-+
-+	wake_up_process(wait->task);
-+}
- 
- signed long
- _kcl_fence_wait_any_timeout(struct fence **fences, uint32_t count,
-diff --git a/amd/backport/symbols b/amd/backport/symbols
-deleted file mode 100644
-index 68cae63..0000000
---- a/amd/backport/symbols
-+++ /dev/null
-@@ -1,7 +0,0 @@
--SYMS=""
--
--SYMS+="fence_default_wait_cb"
--
--if version_lt 2.6.33; then
--    SYMS+=" kallsyms_lookup_name"
--fi
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch
deleted file mode 100644
index e69e5c583198..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0010-disable-dal-by-default.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 5ab8e5e36634391a5c440bf78463226b2074485e Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Thu, 25 Aug 2016 22:17:06 -0300
-Subject: [PATCH 10/11] disable dal by default
-
----
- amd/amdgpu/amdgpu_drv.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/amd/amdgpu/amdgpu_drv.c b/amd/amdgpu/amdgpu_drv.c
-index d6b3f35..4477865 100755
---- a/amd/amdgpu/amdgpu_drv.c
-+++ b/amd/amdgpu/amdgpu_drv.c
-@@ -88,7 +88,7 @@ int amdgpu_vm_fault_stop = 0;
- int amdgpu_vm_debug = 0;
- int amdgpu_vram_page_split = -1;
- int amdgpu_exp_hw_support = 0;
--int amdgpu_dal = -1;
-+int amdgpu_dal = 0;
- int amdgpu_sched_jobs = 32;
- int amdgpu_sched_hw_submission = 2;
- int amdgpu_powerplay = -1;
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
deleted file mode 100644
index 0cf3ad262f69..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0011-kcl-fixes-for-16.50-linux-4.8.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 156445f6eda047ee5a5d6e4bde36c3e9ccbbd7d9 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Thu, 29 Dec 2016 14:20:06 -0400
-Subject: [PATCH 11/11] kcl fixes for 16.50 + linux-4.8
-
----
- amd/amdgpu/dce_v6_0.c              |  5 +++--
- amd/amdgpu/dce_virtual.c           |  5 +++--
- amd/backport/include/kcl/kcl_drm.h | 12 ++++++++++++
- amd/backport/include/kcl/kcl_ttm.h |  2 +-
- amd/backport/kcl_drm.c             |  4 ++++
- 5 files changed, 23 insertions(+), 5 deletions(-)
-
-diff --git a/amd/amdgpu/dce_v6_0.c b/amd/amdgpu/dce_v6_0.c
-index fd3eeb0..1f1874c 100644
---- a/amd/amdgpu/dce_v6_0.c
-+++ b/amd/amdgpu/dce_v6_0.c
-@@ -1946,9 +1946,9 @@ static void dce_v6_0_cursor_reset(struct drm_crtc *crtc)
- 	}
- }
- 
--static void dce_v6_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
--				    u16 *blue, uint32_t start, uint32_t size)
-+static kcl_crtc_gamma_set_callback(dce_v6_0_crtc_gamma_set)
- {
-+  kcl_crtc_gamma_set_pre
- 	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
- 	int end = (start + size > 256) ? 256 : start + size, i;
- 
-@@ -1959,6 +1959,7 @@ static void dce_v6_0_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
- 		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
- 	}
- 	dce_v6_0_crtc_load_lut(crtc);
-+  kcl_crtc_gamma_set_suf
- }
- 
- static void dce_v6_0_crtc_destroy(struct drm_crtc *crtc)
-diff --git a/amd/amdgpu/dce_virtual.c b/amd/amdgpu/dce_virtual.c
-index 36e2094..11b98e2 100644
---- a/amd/amdgpu/dce_virtual.c
-+++ b/amd/amdgpu/dce_virtual.c
-@@ -152,9 +152,9 @@ static void dce_virtual_bandwidth_update(struct amdgpu_device *adev)
- 	return;
- }
- 
--static void dce_virtual_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *green,
--				    u16 *blue, uint32_t start, uint32_t size)
-+static kcl_crtc_gamma_set_callback(dce_virtual_crtc_gamma_set)
- {
-+  kcl_crtc_gamma_set_pre
- 	struct amdgpu_crtc *amdgpu_crtc = to_amdgpu_crtc(crtc);
- 	int end = (start + size > 256) ? 256 : start + size, i;
- 
-@@ -164,6 +164,7 @@ static void dce_virtual_crtc_gamma_set(struct drm_crtc *crtc, u16 *red, u16 *gre
- 		amdgpu_crtc->lut_g[i] = green[i] >> 6;
- 		amdgpu_crtc->lut_b[i] = blue[i] >> 6;
- 	}
-+  kcl_crtc_gamma_set_suf
- }
- 
- static void dce_virtual_crtc_destroy(struct drm_crtc *crtc)
-diff --git a/amd/backport/include/kcl/kcl_drm.h b/amd/backport/include/kcl/kcl_drm.h
-index 95bf640..61c38b1 100644
---- a/amd/backport/include/kcl/kcl_drm.h
-+++ b/amd/backport/include/kcl/kcl_drm.h
-@@ -206,4 +206,16 @@ int drm_atomic_helper_resume(struct drm_device *dev,
- 
- #endif
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+#define kcl_crtc_gamma_set_callback(n) int n(struct drm_crtc *crtc, \
-+    u16 *red, u16 *green, u16 *blue, uint32_t size)
-+#define kcl_crtc_gamma_set_pre uint32_t start = 0;
-+#define kcl_crtc_gamma_set_suf return 0;
-+#else
-+#define kcl_crtc_gamma_set_callback(n) void n(struct drm_crtc *crtc, \
-+    u16 *red, u16 *green, u16 *blue, uint32_t start, uint32_t size)
-+#define kcl_crtc_gamma_set_pre
-+#define kcl_crtc_gamma_set_suf
-+#endif
-+
- #endif /* AMDGPU_BACKPORT_KCL_DRM_H */
-diff --git a/amd/backport/include/kcl/kcl_ttm.h b/amd/backport/include/kcl/kcl_ttm.h
-index 52cdbc8..cdda0b5 100644
---- a/amd/backport/include/kcl/kcl_ttm.h
-+++ b/amd/backport/include/kcl/kcl_ttm.h
-@@ -152,7 +152,7 @@ static inline int kcl_ttm_bo_move_accel_cleanup(struct ttm_buffer_object *bo,
- 		bool evict, bool no_wait_gpu,
- 		struct ttm_mem_reg *new_mem)
- {
--#if defined(BUILD_AS_DKMS)
-+#if defined(BUILD_AS_DKMS) && (LINUX_VERSION_CODE < KERNEL_VERSION(4, 8, 0))
- 	return ttm_bo_move_accel_cleanup(bo, fence,
- 			evict, no_wait_gpu, new_mem);
- #else
-diff --git a/amd/backport/kcl_drm.c b/amd/backport/kcl_drm.c
-index 27d4aaa..a083c87 100644
---- a/amd/backport/kcl_drm.c
-+++ b/amd/backport/kcl_drm.c
-@@ -178,7 +178,11 @@ static inline struct drm_plane_state *
- _kcl_drm_atomic_get_existing_plane_state(struct drm_atomic_state *state,
-                     struct drm_plane *plane)
- {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
-+    return drm_atomic_get_existing_plane_state(state, plane);
-+#else
-     return state->plane_states[drm_plane_index(plane)];
-+#endif
- }
- 
- void
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch b/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch
deleted file mode 100644
index 07ce868c29db..000000000000
--- a/pkgs/os-specific/linux/amdgpu-pro/patches/0012-use-kernel-fence_array-in-4.8.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 73e77e056427e2042b8d84933c02db92e17cf233 Mon Sep 17 00:00:00 2001
-From: David McFarland <corngood@gmail.com>
-Date: Thu, 29 Dec 2016 14:49:18 -0400
-Subject: [PATCH] use kernel fence_array in 4.8+
-
----
- amd/backport/include/kcl/kcl_fence_array.h | 10 ++++++++--
- amd/backport/kcl_fence_array.c             |  2 +-
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/amd/backport/include/kcl/kcl_fence_array.h b/amd/backport/include/kcl/kcl_fence_array.h
-index bb4401e..0d9f344 100644
---- a/amd/backport/include/kcl/kcl_fence_array.h
-+++ b/amd/backport/include/kcl/kcl_fence_array.h
-@@ -19,11 +19,15 @@
-  * more details.
-  */
- 
--#ifndef __LINUX_FENCE_ARRAY_H
--#define __LINUX_FENCE_ARRAY_H
-+#ifndef __KCL_FENCE_ARRAY_H
-+#define __KCL_FENCE_ARRAY_H
- 
- #include <linux/fence.h>
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)
-+#include <linux/fence-array.h>
-+#else
-+
- /**
-  * struct fence_array_cb - callback helper for fence array
-  * @cb: fence callback structure for signaling
-@@ -72,4 +76,6 @@ struct fence_array *fence_array_create(int num_fences, struct fence **fences,
- 				       u64 context, unsigned seqno,
- 				       bool signal_on_any);
- 
-+#endif
-+
- #endif /* __LINUX_FENCE_ARRAY_H */
-diff --git a/amd/backport/kcl_fence_array.c b/amd/backport/kcl_fence_array.c
-index d7ee15c..1865444 100644
---- a/amd/backport/kcl_fence_array.c
-+++ b/amd/backport/kcl_fence_array.c
-@@ -21,7 +21,7 @@
- #include <linux/export.h>
- #include <linux/slab.h>
- 
--#if defined(BUILD_AS_DKMS)
-+#if defined(BUILD_AS_DKMS) && LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
- static void fence_array_cb_func(struct fence *f, struct fence_cb *cb);
- 
- static const char *fence_array_get_driver_name(struct fence *fence)
--- 
-2.11.0
-
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index dd2ee89829c5..51c5e3b7565e 100644
--- a/pkgs/os-specific/linux/android-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/android-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "android-udev-rules-${version}";
-  version = "20170125";
+  version = "20170202";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "16m7w6f9rlsb2l8hwh8rf9i6x7zm2awdagg9fqlla7arhx8rnh0q";
+    sha256 = "0apl22i27kgwld670wrlf5lv6iknx57grjbw0x0h4q0il2k4nmn7";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/autofs/default.nix b/pkgs/os-specific/linux/autofs/default.nix
index d2d2c4a3988a..a3c08b1b7856 100644
--- a/pkgs/os-specific/linux/autofs/default.nix
+++ b/pkgs/os-specific/linux/autofs/default.nix
@@ -13,17 +13,17 @@ in stdenv.mkDerivation {
   };
 
   preConfigure = ''
-    configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH --with-openldap=${openldap} --with-sasl=${cyrus_sasl}"
+    configureFlags="--enable-force-shutdown --enable-ignore-busy --with-path=$PATH"
     export sssldir="${sssd}/lib/sssd/modules"
     export HAVE_SSS_AUTOFS=1
 
-    export MOUNT=${lib.getBin utillinux}/bin/mount
-    export MOUNT_NFS=${lib.getBin nfs-utils}/bin/mount.nfs
-    export UMOUNT=${lib.getBin utillinux}/bin/umount
-    export MODPROBE=${lib.getBin utillinux}/bin/modprobe
-    export E2FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext2
-    export E3FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext3
-    export E4FSCK=${lib.getBin e2fsprogs}/bin/fsck.ext4
+    export MOUNT=${utillinux}/bin/mount
+    export MOUNT_NFS=${nfs-utils}/bin/mount.nfs
+    export UMOUNT=${utillinux}/bin/umount
+    export MODPROBE=${utillinux}/bin/modprobe
+    export E2FSCK=${e2fsprogs}/bin/fsck.ext2
+    export E3FSCK=${e2fsprogs}/bin/fsck.ext3
+    export E4FSCK=${e2fsprogs}/bin/fsck.ext4
   '';
 
   installPhase = ''
@@ -37,7 +37,6 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [ flex bison ];
 
   meta = {
-    inherit version;
     description = "Kernel-based automounter";
     homepage = http://www.linux-consulting.com/Amd_AutoFS/autofs.html;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/os-specific/linux/bluez/default.nix b/pkgs/os-specific/linux/bluez/default.nix
index 9943a1de6d4b..d0a875516fa3 100644
--- a/pkgs/os-specific/linux/bluez/default.nix
+++ b/pkgs/os-specific/linux/bluez/default.nix
@@ -5,8 +5,8 @@ assert stdenv.isLinux;
 
 let
   inherit (pythonPackages) python;
-  pythonpath = "${pythonPackages.dbus}/lib/${python.libPrefix}/site-packages:"
-    + "${pythonPackages.pygobject}/lib/${python.libPrefix}/site-packages";
+  pythonpath = "${pythonPackages.dbus-python}/lib/${python.libPrefix}/site-packages:"
+    + "${pythonPackages.pygobject2}/lib/${python.libPrefix}/site-packages";
 in stdenv.mkDerivation rec {
   name = "bluez-4.101";
    
diff --git a/pkgs/os-specific/linux/btfs/default.nix b/pkgs/os-specific/linux/btfs/default.nix
index 84f1abcca36d..28efa6fcea8d 100644
--- a/pkgs/os-specific/linux/btfs/default.nix
+++ b/pkgs/os-specific/linux/btfs/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "btfs-${version}";
-  version = "2.12";
+  version = "2.13";
 
   src = fetchFromGitHub {
-    owner = "johang";
-    repo = "btfs";
-    rev = "daeb2fd43795f0bb9a4861279b6064b35186ff25";
-    sha256 = "1apvf1gp5973s4wlzwndxp711yd9pj9zf2ypdssfxv2a3rihly2b";
+    owner  = "johang";
+    repo   = "btfs";
+    rev    = "v${version}";
+    sha256 = "1nd021xbxrikd8p0w9816xjwlrs9m1nc6954q23qxfw2jbmszlk2";
   };
 
   buildInputs = [
diff --git a/pkgs/os-specific/linux/exfat/default.nix b/pkgs/os-specific/linux/exfat/default.nix
new file mode 100644
index 000000000000..dcdafbcc8f94
--- /dev/null
+++ b/pkgs/os-specific/linux/exfat/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation rec {
+  name = "exfat-nofuse-${version}-${kernel.version}";
+  version = "2017-01-03";
+
+  src = fetchFromGitHub {
+    owner = "dorimanx";
+    repo = "exfat-nofuse";
+    rev = "8d291f5";
+    sha256 = "0lg1mykglayswli2aliw8chsbr4g629v9chki5975avh43jn47w9";
+  };
+
+  hardeningDisable = [ "pic" ];
+
+  makeFlags = [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  installPhase = ''
+    install -m644 -b -D exfat.ko $out/lib/modules/${kernel.modDirVersion}/kernel/fs/exfat/exfat.ko
+  '';
+
+  meta = {
+    description = "exfat kernel module";
+    homepage = https://github.com/dorimanx/exfat-nofuse;
+    license = stdenv.lib.licenses.gpl2;
+    maintainers = with stdenv.lib.maintainers; [ makefu ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 8e0f807e08e9..dcc52de7fe7e 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2016-07-12";
+  version = "2017-02-06";
 
   # This repo is built by merging the latest versions of
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
   # the usual set of firmware. firmware/linux-firmware usually lags kernel releases
   # so iwlwifi cards will fail to load on newly released kernels.
   src = fetchFromGitHub {
-    owner = "wkennington";
+    owner = "fpletz";
     repo = "linux-firmware";
-    rev = "cccb6a0da98372bd66787710249727ad6b0aaf72";
-    sha256 = "1c7h8i37nbyy37zqhybxd3y6aqabfv4nrdkjg789w67mdnn6hka0";
+    rev = version;
+    sha256 = "1r5ph97rqp8asw8kx65izb3p934669n2na20yfwplbsk76c9i82v";
   };
 
   preInstall = ''
diff --git a/pkgs/os-specific/linux/intel-ocl/default.nix b/pkgs/os-specific/linux/intel-ocl/default.nix
new file mode 100644
index 000000000000..688cfbb8df5d
--- /dev/null
+++ b/pkgs/os-specific/linux/intel-ocl/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, fetchzip, rpmextract, ncurses5, numactl, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "r4.0-59481";
+  name = "intel-ocl-${version}";
+
+  src = fetchzip {
+    url = "https://software.intel.com/sites/default/files/managed/48/96/SRB4_linux64.zip";
+    sha256 = "1q69g28i6l7p13hnsk82g2qhdf2chwh4f0wvzac6xml67hna3v34";
+    stripRoot = false;
+  };
+
+  buildInputs = [ rpmextract ];
+
+  sourceRoot = ".";
+
+  libPath = stdenv.lib.makeLibraryPath [
+    stdenv.cc.cc.lib
+    ncurses5
+    numactl
+    zlib
+  ];
+
+  postUnpack = ''
+    # Extract the RPMs contained within the source ZIP.
+    rpmextract SRB4_linux64.zip/intel-opencl-${version}.x86_64.rpm
+    rpmextract SRB4_linux64.zip/intel-opencl-cpu-${version}.x86_64.rpm
+  '';
+
+  patchPhase = ''
+    # Remove libOpenCL.so, since we use ocl-icd's libOpenCL.so instead and this would cause a clash.
+    rm opt/intel/opencl/libOpenCL.so*
+
+    # Patch shared libraries.
+    for lib in opt/intel/opencl/*.so; do
+      patchelf --set-rpath "${libPath}:$out/lib/intel-ocl" $lib || true
+    done
+  '';
+
+  buildPhase = ''
+    # Create ICD file, which just contains the path of the corresponding shared library.
+    echo "$out/lib/intel-ocl/libintelocl.so" > intel.icd
+  '';
+
+  installPhase = ''
+    install -D -m 0755 opt/intel/opencl/*.so* -t $out/lib/intel-ocl
+    install -D -m 0644 opt/intel/opencl/*.{o,rtl,bin} -t $out/lib/intel-ocl
+    install -D -m 0644 opt/intel/opencl/{LICENSE,NOTICES} -t $out/share/doc/intel-ocl
+    install -D -m 0644 intel.icd -t $out/etc/OpenCL/vendors
+  '';
+
+  dontStrip = true;
+
+  meta = {
+    description = "Official OpenCL runtime for Intel CPUs";
+    homepage    = https://software.intel.com/en-us/articles/opencl-drivers;
+    license     = stdenv.lib.licenses.unfree;
+    platforms   = [ "x86_64-linux" ];
+    maintainers = [ stdenv.lib.maintainers.kierdavis ];
+  };
+}
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index bad64a20cac7..0700191e7a89 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -9,16 +9,16 @@ let
     then "jfbview"
     else "jfbpdf";
   binaries = if imageSupport
-    then [ "jfbview" "jpdfcat" "jpdfgrep" ]	# all require imlib2
-    else [ "jfbpdf" ];	       		  	# does not
+    then [ "jfbview" "jpdfcat" "jpdfgrep" ] # all require imlib2
+    else [ "jfbpdf" ]; # does not
 in
 
 stdenv.mkDerivation rec {
   name = "${package}-${version}";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
-    sha256 = "1vd2ndl4ar2bzqf0k11qid6gvma59qg62imsa81mgczsqw7kvbx6";
+    sha256 = "18iyvisslqp5ibhix00j4y7q8fmf2a79chflimc78xf52x4m2p5q";
     rev = version;
     repo = "JFBView";
     owner = "jichu4n";
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 9a0f314c2465..a0d089807193 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.69";
+  version = "3.12.70";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1pzghmj0j2shms4n3knryigy73qssskd6awbgk6mmyg42wypbcmm";
+    sha256 = "07l6wjhlii2qlki447d702fi1ycyd85iq750xjmsnnz9xrilw7sc";
   };
 
   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
deleted file mode 100644
index acfd08f2af3e..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "3.18.47";
-  extraMeta.branch = "3.18";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "1d9gcr08i6jlm4h6gxmhkq3hjm2ysd1587wffj10ky7y6428dpdi";
-  };
-
-  kernelPatches = args.kernelPatches;
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 445ca60ccb44..a342f0c44f58 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.45";
+  version = "4.4.47";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0h8p08mgvcvi6g1hl160lc3jaf3jk5d4ilgnkl8dv8s6fwj5kyr2";
+    sha256 = "1rsdz7bqqc3vzh24ii74rwphgi317f9nadxdr2dkxfipdw0w02nf";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 02a86f0a1967..884adc77fd11 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.7";
+  version = "4.9.8";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1p1k1swmpky6iafb6snixhvq3prwbn29fd5cnnv7qff7f4xjhq8b";
+    sha256 = "0i8f1gn7jsl0gcpa54yb3yg24j2a542qvkcc3g9baja8vprbf2qm";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index ebeb47397bca..5640aa80576f 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.8.17";
-  extraMeta.branch = "4.8";
+  version = "4.9.8";
+  extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1zk0q6bvqgz2pk1axd5z0cx71vqk96314f1zn8apwa4raylf9fpa";
+    sha512 = "39r4hq5f70nc1v8qq4qvnd0fq98h4akm6y6zp7ml6mi5knz7v6zm86ykq87a0ph3zh23msimi4155354qcsmsxp4cbd22cq8s1w86ds";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 1778f3439039..e3a4206f1ca7 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.10-rc4";
-  modDirVersion = "4.10.0-rc4";
+  version = "4.10-rc7";
+  modDirVersion = "4.10.0-rc7";
   extraMeta.branch = "4.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz";
-    sha256 = "0rsi9iw8ag3lcy4yjrr6ipf7zpm3f206anv5xzkn2mi1r4vfndvp";
+    sha256 = "01jq4bxb8jcnawhsklc9aa2ba9sg7k5g97jp0slpbi8xw71dripl";
   };
 
   features.iwlwifi = true;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index 4848057547eb..ea93815e7861 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -18,7 +18,7 @@ let
       };
     };
 
-  grsecPatch = { grbranch ? "test", grver ? "3.1", kver, grrev, sha256 }: rec {
+  grsecPatch = { grbranch ? "test", grver ? "3.1", kver, grrev, sha512 }: rec {
     name = "grsecurity-${grver}-${kver}-${grrev}";
 
     # Pass these along to allow the caller to determine compatibility
@@ -32,7 +32,7 @@ let
         # source files immediately upon releasing a new version ...
         "https://raw.githubusercontent.com/slashbeast/grsecurity-scrape/master/${grbranch}/${kver}/${name}.patch"
       ];
-      inherit sha256;
+      inherit sha512;
     };
 
     features.grsecurity = true;
@@ -95,9 +95,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.8.17";
-      grrev  = "201701151620";
-      sha256 = "10gavcdby8aiylbx8afc1x4j0vzbb16bhlw39a7ibnav45scsr0p";
+    { kver   = "4.9.8";
+      grrev  = "201702071801";
+      sha512 = "05hxn9jzkywd15iqjd7lykj0f9czw0kq1rs7krxnrk4lhr4k4ahbhq4330mw4pwcvln4ys25dw7mbljn9zvymb7b1kc3m301rrbgj5f";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index d1eb38df6da2..2aba3ef91128 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -1,23 +1,26 @@
 { stdenv, fetchurl, gnumake, file }:
 
 stdenv.mkDerivation rec {
-  name = "keyutils-1.5.9";
+  name = "keyutils-${version}";
+  version = "1.5.9";
 
   src = fetchurl {
     url = "http://people.redhat.com/dhowells/keyutils/${name}.tar.bz2";
     sha256 = "1bl3w03ygxhc0hz69klfdlwqn33jvzxl1zfl2jmnb2v85iawb8jd";
   };
 
-  buildInputs = [ file ];
+  outputs = [ "out" "lib" "dev" ];
 
-  patchPhase = ''
-    sed -i -e "s, /usr/bin/make, ${gnumake}/bin/make," \
-        -e "s, /usr, ," \
-        -e "s,\$(LNS) \$(LIBDIR)/\$(SONAME),\$(LNS) \$(SONAME)," \
-        Makefile
-  '';
-
-  installPhase = "make install DESTDIR=$out";
+  installFlags = [
+    "ETCDIR=$(out)/etc"
+    "BINDIR=$(out)/bin"
+    "SBINDIR=$(out)/sbin"
+    "SHAREDIR=$(out)/share/keyutils"
+    "MANDIR=$(out)/share/man"
+    "INCLUDEDIR=$(dev)/include"
+    "LIBDIR=$(lib)/lib"
+    "USRLIBDIR=$(lib)/lib"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://people.redhat.com/dhowells/keyutils/;
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 504d3790d868..81ce7babba15 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,48 +1,69 @@
-{ fetchurl, stdenv, tcp_wrappers, utillinux, libcap, libtirpc, libevent, libnfsidmap
-, lvm2, e2fsprogs, python, sqlite
+{ stdenv, fetchurl, lib, pkgconfig, utillinux, libcap, libtirpc, libevent, libnfsidmap
+, sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
 }:
 
-stdenv.mkDerivation rec {
-  name = "nfs-utils-1.3.3";
+let
+  statdPath = lib.makeBinPath [ systemd utillinux coreutils ];
+
+in stdenv.mkDerivation rec {
+  name = "nfs-utils-${version}";
+  version = "2.1.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/nfs/${name}.tar.bz2";
-    sha256 = "1svn27j5c873nixm46l111g7cgyaj5zd51ahfq8mx5v9m3vh93py";
+    sha256 = "02dvxphndpm8vpqqnl0zvij97dq9vsq2a179pzrjcv2i91ll2a0a";
   };
 
-  buildInputs =
-    [ tcp_wrappers utillinux libcap libtirpc libevent libnfsidmap
-      lvm2 e2fsprogs python sqlite
-    ];
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    libtirpc libcap libevent libnfsidmap sqlite lvm2
+    libuuid keyutils kerberos tcp_wrappers
+  ];
+
+  enableParallelBuilding = true;
 
-  # FIXME: Add the dependencies needed for NFSv4 and TI-RPC.
   configureFlags =
-    [ "--disable-gss"
+    [ "--enable-gss"
       "--with-statedir=/var/lib/nfs"
-      "--with-tirpcinclude=${libtirpc}/include/tirpc"
+      "--with-krb5=${kerberos}"
+      "--with-systemd=$(out)/etc/systemd/system"
+      "--enable-libmount-mount"
     ]
-    ++ stdenv.lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen";
+    ++ lib.optional (stdenv ? glibc) "--with-rpcgen=${stdenv.glibc.bin}/bin/rpcgen";
 
-  patchPhase =
+  postPatch =
     ''
-      for i in "tests/"*.sh
-      do
-        sed -i "$i" -e's|/bin/bash|/bin/sh|g'
-        chmod +x "$i"
-      done
-      sed -i s,/usr/sbin,$out/sbin, utils/statd/statd.c
+      patchShebangs tests
+      sed -i "s,/usr/sbin,$out/bin,g" utils/statd/statd.c
+      sed -i "s,^PATH=.*,PATH=$out/bin:${statdPath}," utils/statd/start-statd
+
+      configureFlags="--with-start-statd=$out/bin/start-statd $configureFlags"
     '';
 
-  preBuild =
+  makeFlags = [
+    "sbindir=$(out)/bin"
+    "generator_dir=$(out)/etc/systemd/system-generators"
+  ];
+
+  installFlags = [
+    "statedir=$(TMPDIR)"
+    "statdpath=$(TMPDIR)"
+  ];
+
+  postInstall =
     ''
-      makeFlags="sbindir=$out/sbin"
-      installFlags="statedir=$TMPDIR statdpath=$TMPDIR" # hack to make `make install' work
+      # Not used on NixOS
+      sed -i \
+        -e "s,/sbin/modprobe,${kmod}/bin/modprobe,g" \
+        -e "s,/usr/sbin,$out/bin,g" \
+        $out/etc/systemd/system/*
     '';
 
   # One test fails on mips.
   doCheck = !stdenv.isMips;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Linux user-space NFS utilities";
 
     longDescription = ''
@@ -51,10 +72,9 @@ stdenv.mkDerivation rec {
       daemons.
     '';
 
-    homepage = http://nfs.sourceforge.net/;
-    license = stdenv.lib.licenses.gpl2;
-
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    homepage = "https://sourceforge.net/projects/nfs/";
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index f4f39451220c..8e0bb935730d 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -62,8 +62,8 @@ in
   assert buildKernel -> kernel != null;
   {
     splStable = common {
-      version = "0.6.5.8";
-      sha256 = "000yvaccqlkrq15sdz0734fp3lkmx58182cdcfpm4869i0q7rf0s";
+      version = "0.6.5.9";
+      sha256 = "15qpx2nhprmk14jgb7yqp9dvfb6i3hhhspi77kvian171b0a6112";
     };
     splUnstable = common {
       version = "0.7.0-rc3";
diff --git a/pkgs/os-specific/linux/tcp-wrappers/default.nix b/pkgs/os-specific/linux/tcp-wrappers/default.nix
index eb50fc0abce9..850fbe9f4495 100644
--- a/pkgs/os-specific/linux/tcp-wrappers/default.nix
+++ b/pkgs/os-specific/linux/tcp-wrappers/default.nix
@@ -1,40 +1,32 @@
 { fetchurl, stdenv }:
 
-stdenv.mkDerivation {
-  name = "tcp-wrappers-7.6";
+let
+  vanillaVersion = "7.6.q";
+  patchLevel = "26";
+in stdenv.mkDerivation rec {
+  name = "tcp-wrappers-${version}";
+  version = "${vanillaVersion}-${patchLevel}";
 
   src = fetchurl {
-    url = mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_7.6.dbs.orig.tar.gz;
-    sha256 = "0k68ziinx6biwar5lcb9jvv0rp6b3vmj6861n75bvrz4w1piwkdp";
+    url = "mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_${vanillaVersion}.orig.tar.gz";
+    sha256 = "0p9ilj4v96q32klavx0phw9va21fjp8vpk11nbh6v2ppxnnxfhwm";
   };
 
-  patches = [
-    (fetchurl {
-       url = mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_7.6.dbs-13.diff.gz;
-       sha256 = "071ir20rh8ckhgrc0y99wgnlbqjgkprf0qwbv84lqw5i6qajbcnh";
-     })
-  ];
+  debian = fetchurl {
+    url = "mirror://debian/pool/main/t/tcp-wrappers/tcp-wrappers_${version}.debian.tar.xz";
+    sha256 = "1dcdhi9lwzv7g19ggwxms2msq9fy14rl09rjqb10hwv0jix7z8j8";
+  };
 
   prePatch = ''
-    cd upstream/tarballs
-    tar xzvf *
-    cd tcp_wrappers_7.6
+    tar -xaf $debian
+    patches="$(cat debian/patches/series | sed 's,^,debian/patches/,') $patches"
   '';
 
-  postPatch = ''
-    for patch in debian/patches/*; do
-      echo "applying Debian patch \`$(basename $patch)'..."
-      patch --batch -p1 < $patch
-    done
-  '';
-
-  buildPhase = ''
-    make REAL_DAEMON_DIR="$out/sbin" linux
-  '';
+  makeFlags = [ "REAL_DAEMON_DIR=$(out)/bin" "linux" ];
 
   installPhase = ''
-    mkdir -p "$out/sbin"
-    cp -v safe_finger tcpd tcpdchk tcpdmatch try-from "$out/sbin"
+    mkdir -p "$out/bin"
+    cp -v safe_finger tcpd tcpdchk tcpdmatch try-from "$out/bin"
 
     mkdir -p "$out/lib"
     cp -v shared/lib*.so* "$out/lib"
@@ -42,7 +34,6 @@ stdenv.mkDerivation {
     mkdir -p "$out/include"
     cp -v *.h "$out/include"
 
-    mkdir -p "$out/man"
     for i in 3 5 8;
     do
       mkdir -p "$out/man/man$i"
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 7fda9b884d81..602031bab732 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -123,12 +123,12 @@ in
     # to be adapted
     zfsStable = common {
       # comment/uncomment if breaking kernel versions are known
-      incompatibleKernelVersion = "4.9";
+      incompatibleKernelVersion = "4.10";
 
-      version = "0.6.5.8";
+      version = "0.6.5.9";
 
       # this package should point to the latest release.
-      sha256 = "0qccz1832p3i80qlrrrypypspb9sy9hmpgcfx9vmhnqmkf0yri4a";
+      sha256 = "1m8q39j13k46fn0pw3adq87c20rpkg28llxgv2a90994p4127xh0";
       extraPatches = [
         (fetchpatch {
           url = "https://github.com/Mic92/zfs/compare/zfs-0.6.5.8...nixos-zfs-0.6.5.8.patch";
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index 62814b351b6b..f96f3cc2d14f 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, erlang, python, libxml2, libxslt, xmlto
-, docbook_xml_dtd_45, docbook_xsl, zip, unzip
+, docbook_xml_dtd_45, docbook_xsl, zip, unzip, rsync
 
 , AppKit, Carbon, Cocoa
 }:
@@ -7,15 +7,15 @@
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.5.8";
+  version = "3.6.6";
 
   src = fetchurl {
-    url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_5_8/rabbitmq-server-3.5.8.tar.gz";
-    sha256 = "0f373zxz15smb0jvfdfsbb924fl2qmp1z2jy3y50gv6b3xsdyqmr";
+    url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_6/rabbitmq-server-3.6.6.tar.xz";
+    sha256 = "13mpnyfxd026w525rsnkcw0f8bcrkbzl7k9g8pnqmm3zyny8jmir";
   };
 
   buildInputs =
-    [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip ]
+    [ erlang python libxml2 libxslt xmlto docbook_xml_dtd_45 docbook_xsl zip unzip rsync ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Carbon Cocoa ];
 
   preBuild =
@@ -24,15 +24,8 @@ stdenv.mkDerivation rec {
       patchShebangs .
     '';
 
-  installFlags = "TARGET_DIR=$(out)/libexec/rabbitmq SBIN_DIR=$(out)/sbin MAN_DIR=$(out)/share/man DOC_INSTALL_DIR=$(out)/share/doc";
-
-  preInstall =
-    ''
-      sed -i \
-        -e 's|SYS_PREFIX=|SYS_PREFIX=''${SYS_PREFIX-''${HOME}/.rabbitmq/${version}}|' \
-        -e 's|CONF_ENV_FILE=''${SYS_PREFIX}\(.*\)|CONF_ENV_FILE=\1|' \
-        scripts/rabbitmq-defaults
-    '';
+  installFlags = "PREFIX=$(out) RMQ_ERLAPP_DIR=$(out)";
+  installTargets = "install install-man";
 
   postInstall =
     ''
diff --git a/pkgs/servers/dnschain/default.nix b/pkgs/servers/dnschain/default.nix
index b1714101856a..52cccae50c52 100644
--- a/pkgs/servers/dnschain/default.nix
+++ b/pkgs/servers/dnschain/default.nix
@@ -1,11 +1,51 @@
-{ stdenv, nodePackages }:
-
-# to update dnschain, run npm2nix package.json package.nix, and
-# then add "coffee-script" manually as a dependecy for "dnschain"
-# in package.nix.
+{ stdenv, fetchFromGitHub, callPackage, makeWrapper, openssl }:
 
 let
-  np = nodePackages.override { generated = ./package.nix; self = np; };
-in
+  nodePackages = callPackage (import ../../top-level/node-packages.nix) {
+    self = nodePackages;
+    generated = ./package.nix;
+  };
+
+in nodePackages.buildNodePackage rec {
+  name    = "dnschain-${version}";
+  version = "0.5.3";
+
+  src = fetchFromGitHub {
+    owner  = "okTurtles";
+    repo   = "dnschain";
+    rev    = "a8d477f9ad33d7790f94ffc563e2205823e62515";
+    sha256 = "0j5glbxf0fxnxl4l1lysb3a619b18rk0l1ks57wd255llc2mw7zy";
+  };
+
+  deps = with nodePackages; [
+    by-spec."bluebird"."2.9.9"
+    by-spec."bottleneck"."1.5.x"
+    by-spec."event-stream"."3.2.2"
+    by-spec."express"."4.11.2"
+    by-spec."hiredis"."0.4.1"
+    by-spec."json-rpc2"."0.8.1"
+    by-spec."lodash"."3.1.0"
+    by-spec."native-dns"."git+https://github.com/okTurtles/node-dns.git#08433ec98f517eed3c6d5e47bdf62603539cd402"
+    by-spec."native-dns-packet"."0.1.1"
+    by-spec."nconf"."0.7.1"
+    by-spec."properties"."1.2.1"
+    by-spec."redis"."0.12.x"
+    by-spec."string"."2.0.1"
+    by-spec."winston"."0.8.0"
+    by-spec."superagent"."0.21.0"
+  ];
+
+  buildInputs = [ makeWrapper nodePackages.coffee-script ];
+  postInstall = ''
+      wrapProgram $out/bin/dnschain --suffix PATH : ${openssl.bin}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A blockchain-based DNS + HTTP server";
+    homepage    = https://okturtles.com/;
+    license     = licenses.mpl20;
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms   = platforms.unix;
+  };
 
-np.dnschain
+}
diff --git a/pkgs/servers/dnschain/package.nix b/pkgs/servers/dnschain/package.nix
index 8077cb0f01f4..600f5a94684f 100644
--- a/pkgs/servers/dnschain/package.nix
+++ b/pkgs/servers/dnschain/package.nix
@@ -1,3 +1,4 @@
+
 { self, fetchurl, fetchgit ? null, lib }:
 
 {
@@ -8,12 +9,12 @@
     version = "1.2.13";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz";
+      url = "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz";
       name = "accepts-1.2.13.tgz";
       sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea";
     };
     deps = {
-      "mime-types-2.1.6" = self.by-version."mime-types"."2.1.6";
+      "mime-types-2.1.14" = self.by-version."mime-types"."2.1.14";
       "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
     };
     optionalDependencies = {
@@ -22,6 +23,25 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."assert-plus"."^1.0.0" =
+    self.by-version."assert-plus"."1.0.0";
+  by-version."assert-plus"."1.0.0" = self.buildNodePackage {
+    name = "assert-plus-1.0.0";
+    version = "1.0.0";
+    bin = false;
+    src = fetchurl {
+      url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+      name = "assert-plus-1.0.0.tgz";
+      sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+    };
+    deps = {
+    };
+    optionalDependencies = {
+    };
+    peerDependencies = [];
+    os = [ ];
+    cpu = [ ];
+  };
   by-spec."async"."0.2.x" =
     self.by-version."async"."0.2.10";
   by-version."async"."0.2.10" = self.buildNodePackage {
@@ -29,7 +49,7 @@
     version = "0.2.10";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
+      url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
       name = "async-0.2.10.tgz";
       sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
     };
@@ -48,7 +68,7 @@
     version = "0.9.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
+      url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
       name = "async-0.9.2.tgz";
       sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
     };
@@ -67,7 +87,7 @@
     version = "1.6.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/better-curry/-/better-curry-1.6.0.tgz";
+      url = "https://registry.npmjs.org/better-curry/-/better-curry-1.6.0.tgz";
       name = "better-curry-1.6.0.tgz";
       sha1 = "38f716b24c8cee07a262abc41c22c314e20e3869";
     };
@@ -86,7 +106,7 @@
     version = "0.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz";
+      url = "https://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz";
       name = "binaryheap-0.0.3.tgz";
       sha1 = "0d6136c84e9f1a5a90c0b97178c3e00df59820d6";
     };
@@ -105,7 +125,7 @@
     version = "1.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
+      url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
       name = "bindings-1.2.1.tgz";
       sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
     };
@@ -124,7 +144,7 @@
     version = "2.9.9";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.9.tgz";
+      url = "https://registry.npmjs.org/bluebird/-/bluebird-2.9.9.tgz";
       name = "bluebird-2.9.9.tgz";
       sha1 = "61a26904d43d7f6b19dff7ed917dbc92452ad6d3";
     };
@@ -143,7 +163,7 @@
     version = "1.5.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/bottleneck/-/bottleneck-1.5.3.tgz";
+      url = "https://registry.npmjs.org/bottleneck/-/bottleneck-1.5.3.tgz";
       name = "bottleneck-1.5.3.tgz";
       sha1 = "55fa64920d9670087d44150404525d59f9511c20";
     };
@@ -162,12 +182,12 @@
     version = "0.0.12";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz";
+      url = "https://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz";
       name = "buffercursor-0.0.12.tgz";
       sha1 = "78a9a7f4343ae7d820a8999acc80de591e25a779";
     };
     deps = {
-      "verror-1.6.0" = self.by-version."verror"."1.6.0";
+      "verror-1.9.0" = self.by-version."verror"."1.9.0";
     };
     optionalDependencies = {
     };
@@ -178,15 +198,15 @@
   by-spec."buffercursor".">= 0.0.5" =
     self.by-version."buffercursor"."0.0.12";
   by-spec."coffee-script"."*" =
-    self.by-version."coffee-script"."1.10.0";
-  by-version."coffee-script"."1.10.0" = self.buildNodePackage {
-    name = "coffee-script-1.10.0";
-    version = "1.10.0";
+    self.by-version."coffee-script"."1.12.2";
+  by-version."coffee-script"."1.12.2" = self.buildNodePackage {
+    name = "coffee-script-1.12.2";
+    version = "1.12.2";
     bin = true;
     src = fetchurl {
-      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz";
-      name = "coffee-script-1.10.0.tgz";
-      sha1 = "12938bcf9be1948fa006f92e0c4c9e81705108c0";
+      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.2.tgz";
+      name = "coffee-script-1.12.2.tgz";
+      sha1 = "0d4cbdee183f650da95419570c4929d08ef91376";
     };
     deps = {
     };
@@ -196,7 +216,7 @@
     os = [ ];
     cpu = [ ];
   };
-  "coffee-script" = self.by-version."coffee-script"."1.10.0";
+  "coffee-script" = self.by-version."coffee-script"."1.12.2";
   by-spec."colors"."0.6.x" =
     self.by-version."colors"."0.6.2";
   by-version."colors"."0.6.2" = self.buildNodePackage {
@@ -204,7 +224,7 @@
     version = "0.6.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+      url = "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
       name = "colors-0.6.2.tgz";
       sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
     };
@@ -223,7 +243,7 @@
     version = "0.0.7";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+      url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
       name = "combined-stream-0.0.7.tgz";
       sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
     };
@@ -243,7 +263,7 @@
     version = "1.1.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
+      url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
       name = "component-emitter-1.1.2.tgz";
       sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
     };
@@ -262,7 +282,7 @@
     version = "0.5.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
+      url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
       name = "content-disposition-0.5.0.tgz";
       sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
     };
@@ -281,7 +301,7 @@
     version = "0.1.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+      url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
       name = "cookie-0.1.2.tgz";
       sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
     };
@@ -300,7 +320,7 @@
     version = "1.0.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
+      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
       name = "cookie-signature-1.0.5.tgz";
       sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
     };
@@ -319,7 +339,7 @@
     version = "2.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
+      url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
       name = "cookiejar-2.0.1.tgz";
       sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
     };
@@ -331,16 +351,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.1";
-  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
-    name = "core-util-is-1.0.1";
-    version = "1.0.1";
+  by-spec."core-util-is"."1.0.2" =
+    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.1.tgz";
-      name = "core-util-is-1.0.1.tgz";
-      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
+      url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+      name = "core-util-is-1.0.2.tgz";
+      sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
     };
     deps = {
     };
@@ -350,6 +370,8 @@
     os = [ ];
     cpu = [ ];
   };
+  by-spec."core-util-is"."~1.0.0" =
+    self.by-version."core-util-is"."1.0.2";
   by-spec."crc"."3.2.1" =
     self.by-version."crc"."3.2.1";
   by-version."crc"."3.2.1" = self.buildNodePackage {
@@ -357,7 +379,7 @@
     version = "3.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
+      url = "https://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
       name = "crc-3.2.1.tgz";
       sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
     };
@@ -376,7 +398,7 @@
     version = "1.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
+      url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
       name = "cycle-1.0.3.tgz";
       sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
     };
@@ -395,7 +417,7 @@
     version = "1.0.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+      url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
       name = "debug-1.0.4.tgz";
       sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
     };
@@ -409,18 +431,18 @@
     cpu = [ ];
   };
   by-spec."debug"."2" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = self.buildNodePackage {
-    name = "debug-2.2.0";
-    version = "2.2.0";
+    self.by-version."debug"."2.6.0";
+  by-version."debug"."2.6.0" = self.buildNodePackage {
+    name = "debug-2.6.0";
+    version = "2.6.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-      name = "debug-2.2.0.tgz";
-      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
+      url = "https://registry.npmjs.org/debug/-/debug-2.6.0.tgz";
+      name = "debug-2.6.0.tgz";
+      sha1 = "bc596bcabe7617f11d9fa15361eded5608b8499b";
     };
     deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
+      "ms-0.7.2" = self.by-version."ms"."0.7.2";
     };
     optionalDependencies = {
     };
@@ -435,7 +457,7 @@
     version = "2.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-2.1.3.tgz";
+      url = "https://registry.npmjs.org/debug/-/debug-2.1.3.tgz";
       name = "debug-2.1.3.tgz";
       sha1 = "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e";
     };
@@ -455,7 +477,7 @@
     version = "0.0.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+      url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
       name = "delayed-stream-0.0.5.tgz";
       sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
     };
@@ -474,7 +496,7 @@
     version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
+      url = "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
       name = "depd-1.0.1.tgz";
       sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
     };
@@ -493,7 +515,7 @@
     version = "1.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+      url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
       name = "destroy-1.0.3.tgz";
       sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
     };
@@ -505,42 +527,6 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."dnschain"."*" =
-    self.by-version."dnschain"."0.5.3";
-  by-version."dnschain"."0.5.3" = self.buildNodePackage {
-    name = "dnschain-0.5.3";
-    version = "0.5.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dnschain/-/dnschain-0.5.3.tgz";
-      name = "dnschain-0.5.3.tgz";
-      sha1 = "9b21d9ac5e203295f372ac37df470e9f0854c470";
-    };
-    deps = {
-      "bluebird-2.9.9" = self.by-version."bluebird"."2.9.9";
-      "bottleneck-1.5.3" = self.by-version."bottleneck"."1.5.3";
-      "event-stream-3.2.2" = self.by-version."event-stream"."3.2.2";
-      "express-4.11.2" = self.by-version."express"."4.11.2";
-      "hiredis-0.4.1" = self.by-version."hiredis"."0.4.1";
-      "json-rpc2-0.8.1" = self.by-version."json-rpc2"."0.8.1";
-      "lodash-3.1.0" = self.by-version."lodash"."3.1.0";
-      "native-dns-0.6.1" = self.by-version."native-dns"."0.6.1";
-      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
-      "nconf-0.7.1" = self.by-version."nconf"."0.7.1";
-      "properties-1.2.1" = self.by-version."properties"."1.2.1";
-      "redis-0.12.1" = self.by-version."redis"."0.12.1";
-      "string-2.0.1" = self.by-version."string"."2.0.1";
-      "winston-0.8.0" = self.by-version."winston"."0.8.0";
-      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "dnschain" = self.by-version."dnschain"."0.5.3";
   by-spec."duplexer"."~0.1.1" =
     self.by-version."duplexer"."0.1.1";
   by-version."duplexer"."0.1.1" = self.buildNodePackage {
@@ -548,7 +534,7 @@
     version = "0.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
+      url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
       name = "duplexer-0.1.1.tgz";
       sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
     };
@@ -567,7 +553,7 @@
     version = "1.1.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
+      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
       name = "ee-first-1.1.0.tgz";
       sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
     };
@@ -586,7 +572,7 @@
     version = "2.3.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/es5class/-/es5class-2.3.1.tgz";
+      url = "https://registry.npmjs.org/es5class/-/es5class-2.3.1.tgz";
       name = "es5class-2.3.1.tgz";
       sha1 = "42c5c18a9016bcb0db28a4d340ebb831f55d1b66";
     };
@@ -606,7 +592,7 @@
     version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+      url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
       name = "escape-html-1.0.1.tgz";
       sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
     };
@@ -625,7 +611,7 @@
     version = "1.5.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/etag/-/etag-1.5.1.tgz";
+      url = "https://registry.npmjs.org/etag/-/etag-1.5.1.tgz";
       name = "etag-1.5.1.tgz";
       sha1 = "54c50de04ee42695562925ac566588291be7e9ea";
     };
@@ -645,7 +631,7 @@
     version = "3.2.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/event-stream/-/event-stream-3.2.2.tgz";
+      url = "https://registry.npmjs.org/event-stream/-/event-stream-3.2.2.tgz";
       name = "event-stream-3.2.2.tgz";
       sha1 = "f79f9984c07ee3fd9b44ffb3cd0422b13e24084d";
     };
@@ -671,7 +657,7 @@
     version = "0.1.6";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.6.tgz";
+      url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-0.1.6.tgz";
       name = "eventemitter3-0.1.6.tgz";
       sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
     };
@@ -690,7 +676,7 @@
     version = "4.11.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/express/-/express-4.11.2.tgz";
+      url = "https://registry.npmjs.org/express/-/express-4.11.2.tgz";
       name = "express-4.11.2.tgz";
       sha1 = "8df3d5a9ac848585f00a0777601823faecd3b148";
     };
@@ -705,13 +691,13 @@
       "finalhandler-0.3.3" = self.by-version."finalhandler"."0.3.3";
       "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
       "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "methods-1.1.1" = self.by-version."methods"."1.1.1";
+      "methods-1.1.2" = self.by-version."methods"."1.1.2";
       "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
       "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
-      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
+      "proxy-addr-1.0.10" = self.by-version."proxy-addr"."1.0.10";
       "qs-2.3.3" = self.by-version."qs"."2.3.3";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
       "send-0.11.1" = self.by-version."send"."0.11.1";
       "serve-static-1.8.1" = self.by-version."serve-static"."1.8.1";
       "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
@@ -733,7 +719,7 @@
     version = "1.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
+      url = "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
       name = "extend-1.2.1.tgz";
       sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
     };
@@ -745,16 +731,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."extsprintf"."1.2.0" =
-    self.by-version."extsprintf"."1.2.0";
-  by-version."extsprintf"."1.2.0" = self.buildNodePackage {
-    name = "extsprintf-1.2.0";
-    version = "1.2.0";
+  by-spec."extsprintf"."^1.2.0" =
+    self.by-version."extsprintf"."1.3.0";
+  by-version."extsprintf"."1.3.0" = self.buildNodePackage {
+    name = "extsprintf-1.3.0";
+    version = "1.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
-      name = "extsprintf-1.2.0.tgz";
-      sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
+      url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+      name = "extsprintf-1.3.0.tgz";
+      sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
     };
     deps = {
     };
@@ -771,7 +757,7 @@
     version = "0.1.8";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
+      url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
       name = "eyes-0.1.8.tgz";
       sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
     };
@@ -784,18 +770,18 @@
     cpu = [ ];
   };
   by-spec."faye-websocket"."0.x.x" =
-    self.by-version."faye-websocket"."0.10.0";
-  by-version."faye-websocket"."0.10.0" = self.buildNodePackage {
-    name = "faye-websocket-0.10.0";
-    version = "0.10.0";
+    self.by-version."faye-websocket"."0.11.0";
+  by-version."faye-websocket"."0.11.0" = self.buildNodePackage {
+    name = "faye-websocket-0.11.0";
+    version = "0.11.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
-      name = "faye-websocket-0.10.0.tgz";
-      sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
+      url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.0.tgz";
+      name = "faye-websocket-0.11.0.tgz";
+      sha1 = "d9ccf0e789e7db725d74bc4877d23aa42972ac50";
     };
     deps = {
-      "websocket-driver-0.6.2" = self.by-version."websocket-driver"."0.6.2";
+      "websocket-driver-0.6.5" = self.by-version."websocket-driver"."0.6.5";
     };
     optionalDependencies = {
     };
@@ -810,7 +796,7 @@
     version = "0.3.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz";
+      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.3.3.tgz";
       name = "finalhandler-0.3.3.tgz";
       sha1 = "b1a09aa1e6a607b3541669b09bcb727f460cd426";
     };
@@ -832,7 +818,7 @@
     version = "0.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
+      url = "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
       name = "form-data-0.1.3.tgz";
       sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
     };
@@ -854,7 +840,7 @@
     version = "1.0.14";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
+      url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
       name = "formidable-1.0.14.tgz";
       sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
     };
@@ -873,7 +859,7 @@
     version = "0.1.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
+      url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
       name = "forwarded-0.1.0.tgz";
       sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
     };
@@ -892,7 +878,7 @@
     version = "0.2.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
+      url = "https://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
       name = "fresh-0.2.4.tgz";
       sha1 = "3582499206c9723714190edd74b4604feb4a614c";
     };
@@ -911,7 +897,7 @@
     version = "0.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/from/-/from-0.1.3.tgz";
+      url = "https://registry.npmjs.org/from/-/from-0.1.3.tgz";
       name = "from-0.1.3.tgz";
       sha1 = "ef63ac2062ac32acf7862e0d40b44b896f22f3bc";
     };
@@ -930,13 +916,13 @@
     version = "0.4.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/hiredis/-/hiredis-0.4.1.tgz";
+      url = "https://registry.npmjs.org/hiredis/-/hiredis-0.4.1.tgz";
       name = "hiredis-0.4.1.tgz";
       sha1 = "aab4dcfd0fc4cbdb219d268005f2335a3c639e8f";
     };
     deps = {
       "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.0.8" = self.by-version."nan"."2.0.8";
+      "nan-2.5.0" = self.by-version."nan"."2.5.0";
     };
     optionalDependencies = {
     };
@@ -945,15 +931,15 @@
     cpu = [ ];
   };
   by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
+    self.by-version."inherits"."2.0.3";
+  by-version."inherits"."2.0.3" = self.buildNodePackage {
+    name = "inherits-2.0.3";
+    version = "2.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+      url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+      name = "inherits-2.0.3.tgz";
+      sha1 = "633c2c83e3da42a502f52466022480f4208261de";
     };
     deps = {
     };
@@ -970,7 +956,7 @@
     version = "1.3.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
+      url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
       name = "ini-1.3.4.tgz";
       sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
     };
@@ -982,16 +968,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ipaddr.js"."1.0.1" =
-    self.by-version."ipaddr.js"."1.0.1";
-  by-version."ipaddr.js"."1.0.1" = self.buildNodePackage {
-    name = "ipaddr.js-1.0.1";
-    version = "1.0.1";
+  by-spec."ipaddr.js"."1.0.5" =
+    self.by-version."ipaddr.js"."1.0.5";
+  by-version."ipaddr.js"."1.0.5" = self.buildNodePackage {
+    name = "ipaddr.js-1.0.5";
+    version = "1.0.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
-      name = "ipaddr.js-1.0.1.tgz";
-      sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
+      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz";
+      name = "ipaddr.js-1.0.5.tgz";
+      sha1 = "5fa78cf301b825c78abc3042d812723049ea23c7";
     };
     deps = {
     };
@@ -1002,15 +988,15 @@
     cpu = [ ];
   };
   by-spec."ipaddr.js".">= 0.1.1" =
-    self.by-version."ipaddr.js"."1.0.3";
-  by-version."ipaddr.js"."1.0.3" = self.buildNodePackage {
-    name = "ipaddr.js-1.0.3";
-    version = "1.0.3";
+    self.by-version."ipaddr.js"."1.2.0";
+  by-version."ipaddr.js"."1.2.0" = self.buildNodePackage {
+    name = "ipaddr.js-1.2.0";
+    version = "1.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.3.tgz";
-      name = "ipaddr.js-1.0.3.tgz";
-      sha1 = "2a9df7be73ea92aadb0d7f377497decd8e6d01bb";
+      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.2.0.tgz";
+      name = "ipaddr.js-1.2.0.tgz";
+      sha1 = "8aba49c9192799585bdd643e0ccb50e8ae777ba4";
     };
     deps = {
     };
@@ -1027,7 +1013,7 @@
     version = "0.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+      url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
       name = "isarray-0.0.1.tgz";
       sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
     };
@@ -1046,7 +1032,7 @@
     version = "0.8.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/json-rpc2/-/json-rpc2-0.8.1.tgz";
+      url = "https://registry.npmjs.org/json-rpc2/-/json-rpc2-0.8.1.tgz";
       name = "json-rpc2-0.8.1.tgz";
       sha1 = "efe8c9834605b556c488d1ed7bcf24ee381eeeb2";
     };
@@ -1055,7 +1041,7 @@
       "debug-1.0.4" = self.by-version."debug"."1.0.4";
       "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
       "es5class-2.3.1" = self.by-version."es5class"."2.3.1";
-      "faye-websocket-0.10.0" = self.by-version."faye-websocket"."0.10.0";
+      "faye-websocket-0.11.0" = self.by-version."faye-websocket"."0.11.0";
       "eventemitter3-0.1.6" = self.by-version."eventemitter3"."0.1.6";
     };
     optionalDependencies = {
@@ -1071,7 +1057,7 @@
     version = "0.0.6";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/jsonparse/-/jsonparse-0.0.6.tgz";
+      url = "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.6.tgz";
       name = "jsonparse-0.0.6.tgz";
       sha1 = "ab599f19324d4ae178fa21a930192ab11ab61a4e";
     };
@@ -1090,7 +1076,7 @@
     version = "2.4.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
+      url = "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
       name = "lodash-2.4.2.tgz";
       sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
     };
@@ -1109,7 +1095,7 @@
     version = "3.1.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-3.1.0.tgz";
+      url = "https://registry.npmjs.org/lodash/-/lodash-3.1.0.tgz";
       name = "lodash-3.1.0.tgz";
       sha1 = "d41b8b33530cb3be088853208ad30092d2c27961";
     };
@@ -1128,7 +1114,7 @@
     version = "0.1.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
+      url = "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
       name = "map-stream-0.1.0.tgz";
       sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
     };
@@ -1147,7 +1133,7 @@
     version = "0.3.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
+      url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
       name = "media-typer-0.3.0.tgz";
       sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
     };
@@ -1166,7 +1152,7 @@
     version = "0.0.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+      url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
       name = "merge-descriptors-0.0.2.tgz";
       sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
     };
@@ -1185,7 +1171,7 @@
     version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
+      url = "https://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
       name = "methods-1.0.1.tgz";
       sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
     };
@@ -1198,15 +1184,15 @@
     cpu = [ ];
   };
   by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.1";
-  by-version."methods"."1.1.1" = self.buildNodePackage {
-    name = "methods-1.1.1";
-    version = "1.1.1";
+    self.by-version."methods"."1.1.2";
+  by-version."methods"."1.1.2" = self.buildNodePackage {
+    name = "methods-1.1.2";
+    version = "1.1.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
-      name = "methods-1.1.1.tgz";
-      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
+      url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
+      name = "methods-1.1.2.tgz";
+      sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
     };
     deps = {
     };
@@ -1223,7 +1209,7 @@
     version = "1.2.11";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+      url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
       name = "mime-1.2.11.tgz";
       sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
     };
@@ -1244,7 +1230,7 @@
     version = "1.12.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
+      url = "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
       name = "mime-db-1.12.0.tgz";
       sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
     };
@@ -1256,16 +1242,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."mime-db"."~1.18.0" =
-    self.by-version."mime-db"."1.18.0";
-  by-version."mime-db"."1.18.0" = self.buildNodePackage {
-    name = "mime-db-1.18.0";
-    version = "1.18.0";
+  by-spec."mime-db"."~1.26.0" =
+    self.by-version."mime-db"."1.26.0";
+  by-version."mime-db"."1.26.0" = self.buildNodePackage {
+    name = "mime-db-1.26.0";
+    version = "1.26.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.18.0.tgz";
-      name = "mime-db-1.18.0.tgz";
-      sha1 = "5317e28224c08af1d484f60973dd386ba8f389e0";
+      url = "https://registry.npmjs.org/mime-db/-/mime-db-1.26.0.tgz";
+      name = "mime-db-1.26.0.tgz";
+      sha1 = "eaffcd0e4fc6935cf8134da246e2e6c35305adff";
     };
     deps = {
     };
@@ -1282,7 +1268,7 @@
     version = "2.0.14";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
+      url = "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
       name = "mime-types-2.0.14.tgz";
       sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
     };
@@ -1296,18 +1282,18 @@
     cpu = [ ];
   };
   by-spec."mime-types"."~2.1.6" =
-    self.by-version."mime-types"."2.1.6";
-  by-version."mime-types"."2.1.6" = self.buildNodePackage {
-    name = "mime-types-2.1.6";
-    version = "2.1.6";
+    self.by-version."mime-types"."2.1.14";
+  by-version."mime-types"."2.1.14" = self.buildNodePackage {
+    name = "mime-types-2.1.14";
+    version = "2.1.14";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.6.tgz";
-      name = "mime-types-2.1.6.tgz";
-      sha1 = "949f8788411864ddc70948a0f21c43f29d25667c";
+      url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.14.tgz";
+      name = "mime-types-2.1.14.tgz";
+      sha1 = "f7ef7d97583fcaf3b7d282b6f8b5679dab1e94ee";
     };
     deps = {
-      "mime-db-1.18.0" = self.by-version."mime-db"."1.18.0";
+      "mime-db-1.26.0" = self.by-version."mime-db"."1.26.0";
     };
     optionalDependencies = {
     };
@@ -1322,7 +1308,7 @@
     version = "0.0.10";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
+      url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
       name = "minimist-0.0.10.tgz";
       sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
     };
@@ -1341,7 +1327,7 @@
     version = "0.6.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
+      url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
       name = "ms-0.6.2.tgz";
       sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
     };
@@ -1360,7 +1346,7 @@
     version = "0.7.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
+      url = "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
       name = "ms-0.7.0.tgz";
       sha1 = "865be94c2e7397ad8a57da6a633a6e2f30798b83";
     };
@@ -1372,16 +1358,16 @@
     os = [ ];
     cpu = [ ];
   };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = self.buildNodePackage {
-    name = "ms-0.7.1";
-    version = "0.7.1";
+  by-spec."ms"."0.7.2" =
+    self.by-version."ms"."0.7.2";
+  by-version."ms"."0.7.2" = self.buildNodePackage {
+    name = "ms-0.7.2";
+    version = "0.7.2";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-      name = "ms-0.7.1.tgz";
-      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
+      url = "https://registry.npmjs.org/ms/-/ms-0.7.2.tgz";
+      name = "ms-0.7.2.tgz";
+      sha1 = "ae25cf2512b3885a1d95d7f037868d8431124765";
     };
     deps = {
     };
@@ -1392,15 +1378,15 @@
     cpu = [ ];
   };
   by-spec."nan"."^2.0.5" =
-    self.by-version."nan"."2.0.8";
-  by-version."nan"."2.0.8" = self.buildNodePackage {
-    name = "nan-2.0.8";
-    version = "2.0.8";
+    self.by-version."nan"."2.5.0";
+  by-version."nan"."2.5.0" = self.buildNodePackage {
+    name = "nan-2.5.0";
+    version = "2.5.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/nan/-/nan-2.0.8.tgz";
-      name = "nan-2.0.8.tgz";
-      sha1 = "c15fd99dd4cc323d1c2f94ac426313680e606392";
+      url = "https://registry.npmjs.org/nan/-/nan-2.5.0.tgz";
+      name = "nan-2.5.0.tgz";
+      sha1 = "aa8f1e34531d807e9e27755b234b4a6ec0c152a8";
     };
     deps = {
     };
@@ -1422,7 +1408,7 @@
       sha256 = "9c3faf4d39fda7bb6dd52a82036625f37ed442d5e948d295acb2f055dd367080";
     };
     deps = {
-      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+      "ipaddr.js-1.2.0" = self.by-version."ipaddr.js"."1.2.0";
       "native-dns-cache-0.0.2" = self.by-version."native-dns-cache"."0.0.2";
       "native-dns-packet-0.0.4" = self.by-version."native-dns-packet"."0.0.4";
     };
@@ -1460,13 +1446,13 @@
     version = "0.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz";
+      url = "https://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz";
       name = "native-dns-packet-0.1.1.tgz";
       sha1 = "97da90570b8438a00194701ce24d011fd3cc109a";
     };
     deps = {
       "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
-      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+      "ipaddr.js-1.2.0" = self.by-version."ipaddr.js"."1.2.0";
     };
     optionalDependencies = {
     };
@@ -1487,7 +1473,7 @@
     };
     deps = {
       "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
-      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+      "ipaddr.js-1.2.0" = self.by-version."ipaddr.js"."1.2.0";
     };
     optionalDependencies = {
     };
@@ -1508,7 +1494,7 @@
     };
     deps = {
       "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
-      "ipaddr.js-1.0.3" = self.by-version."ipaddr.js"."1.0.3";
+      "ipaddr.js-1.2.0" = self.by-version."ipaddr.js"."1.2.0";
     };
     optionalDependencies = {
     };
@@ -1523,7 +1509,7 @@
     version = "0.7.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz";
+      url = "https://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz";
       name = "nconf-0.7.1.tgz";
       sha1 = "ee4b561dd979a3c58db122e38f196d49d61aeb5b";
     };
@@ -1545,7 +1531,7 @@
     version = "0.5.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
+      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
       name = "negotiator-0.5.3.tgz";
       sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
     };
@@ -1564,7 +1550,7 @@
     version = "2.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
+      url = "https://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
       name = "on-finished-2.2.1.tgz";
       sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
     };
@@ -1584,7 +1570,7 @@
     version = "0.6.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
+      url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
       name = "optimist-0.6.1.tgz";
       sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
     };
@@ -1599,15 +1585,15 @@
     cpu = [ ];
   };
   by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    version = "1.3.0";
+    self.by-version."parseurl"."1.3.1";
+  by-version."parseurl"."1.3.1" = self.buildNodePackage {
+    name = "parseurl-1.3.1";
+    version = "1.3.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-      name = "parseurl-1.3.0.tgz";
-      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
+      url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz";
+      name = "parseurl-1.3.1.tgz";
+      sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56";
     };
     deps = {
     };
@@ -1624,7 +1610,7 @@
     version = "0.1.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+      url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
       name = "path-to-regexp-0.1.3.tgz";
       sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
     };
@@ -1643,7 +1629,7 @@
     version = "0.0.11";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
+      url = "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
       name = "pause-stream-0.0.11.tgz";
       sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
     };
@@ -1657,15 +1643,15 @@
     cpu = [ ];
   };
   by-spec."pkginfo"."0.3.x" =
-    self.by-version."pkginfo"."0.3.0";
-  by-version."pkginfo"."0.3.0" = self.buildNodePackage {
-    name = "pkginfo-0.3.0";
-    version = "0.3.0";
+    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.0.tgz";
-      name = "pkginfo-0.3.0.tgz";
-      sha1 = "726411401039fe9b009eea86614295d5f3a54276";
+      url = "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz";
+      name = "pkginfo-0.3.1.tgz";
+      sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
     };
     deps = {
     };
@@ -1682,7 +1668,7 @@
     version = "1.2.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/properties/-/properties-1.2.1.tgz";
+      url = "https://registry.npmjs.org/properties/-/properties-1.2.1.tgz";
       name = "properties-1.2.1.tgz";
       sha1 = "0ee97a7fc020b1a2a55b8659eda4aa8d869094bd";
     };
@@ -1695,19 +1681,19 @@
     cpu = [ ];
   };
   by-spec."proxy-addr"."~1.0.6" =
-    self.by-version."proxy-addr"."1.0.8";
-  by-version."proxy-addr"."1.0.8" = self.buildNodePackage {
-    name = "proxy-addr-1.0.8";
-    version = "1.0.8";
+    self.by-version."proxy-addr"."1.0.10";
+  by-version."proxy-addr"."1.0.10" = self.buildNodePackage {
+    name = "proxy-addr-1.0.10";
+    version = "1.0.10";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
-      name = "proxy-addr-1.0.8.tgz";
-      sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
+      url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz";
+      name = "proxy-addr-1.0.10.tgz";
+      sha1 = "0d40a82f801fc355567d2ecb65efe3f077f121c5";
     };
     deps = {
       "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
+      "ipaddr.js-1.0.5" = self.by-version."ipaddr.js"."1.0.5";
     };
     optionalDependencies = {
     };
@@ -1722,7 +1708,7 @@
     version = "1.2.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
+      url = "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
       name = "qs-1.2.0.tgz";
       sha1 = "ed079be28682147e6fd9a34cc2b0c1e0ec6453ee";
     };
@@ -1741,7 +1727,7 @@
     version = "2.3.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
+      url = "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
       name = "qs-2.3.3.tgz";
       sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
     };
@@ -1754,15 +1740,15 @@
     cpu = [ ];
   };
   by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.2";
-  by-version."range-parser"."1.0.2" = self.buildNodePackage {
-    name = "range-parser-1.0.2";
-    version = "1.0.2";
+    self.by-version."range-parser"."1.0.3";
+  by-version."range-parser"."1.0.3" = self.buildNodePackage {
+    name = "range-parser-1.0.3";
+    version = "1.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
-      name = "range-parser-1.0.2.tgz";
-      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
+      url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
+      name = "range-parser-1.0.3.tgz";
+      sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
     };
     deps = {
     };
@@ -1779,15 +1765,15 @@
     version = "1.0.27-1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
+      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
       name = "readable-stream-1.0.27-1.tgz";
       sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
     };
     deps = {
-      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
+      "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";
+      "inherits-2.0.3" = self.by-version."inherits"."2.0.3";
     };
     optionalDependencies = {
     };
@@ -1802,7 +1788,7 @@
     version = "0.12.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
+      url = "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
       name = "redis-0.12.1.tgz";
       sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
     };
@@ -1821,7 +1807,7 @@
     version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
+      url = "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
       name = "reduce-component-1.0.1.tgz";
       sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
     };
@@ -1840,7 +1826,7 @@
     version = "0.11.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/send/-/send-0.11.1.tgz";
+      url = "https://registry.npmjs.org/send/-/send-0.11.1.tgz";
       name = "send-0.11.1.tgz";
       sha1 = "1beabfd42f9e2709f99028af3078ac12b47092d5";
     };
@@ -1854,7 +1840,7 @@
       "mime-1.2.11" = self.by-version."mime"."1.2.11";
       "ms-0.7.0" = self.by-version."ms"."0.7.0";
       "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
+      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
     };
     optionalDependencies = {
     };
@@ -1869,13 +1855,13 @@
     version = "1.8.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.8.1.tgz";
+      url = "https://registry.npmjs.org/serve-static/-/serve-static-1.8.1.tgz";
       name = "serve-static-1.8.1.tgz";
       sha1 = "08fabd39999f050fc311443f46d5888a77ecfc7c";
     };
     deps = {
       "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
+      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
       "send-0.11.1" = self.by-version."send"."0.11.1";
       "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
     };
@@ -1892,7 +1878,7 @@
     version = "0.3.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/split/-/split-0.3.3.tgz";
+      url = "https://registry.npmjs.org/split/-/split-0.3.3.tgz";
       name = "split-0.3.3.tgz";
       sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
     };
@@ -1912,7 +1898,7 @@
     version = "0.0.9";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
+      url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
       name = "stack-trace-0.0.9.tgz";
       sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
     };
@@ -1931,7 +1917,7 @@
     version = "0.0.4";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
+      url = "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
       name = "stream-combiner-0.0.4.tgz";
       sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
     };
@@ -1951,7 +1937,7 @@
     version = "2.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/string/-/string-2.0.1.tgz";
+      url = "https://registry.npmjs.org/string/-/string-2.0.1.tgz";
       name = "string-2.0.1.tgz";
       sha1 = "ef1473b3e11cb8158671856556959b9aff5fd759";
     };
@@ -1970,7 +1956,7 @@
     version = "0.10.31";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+      url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
       name = "string_decoder-0.10.31.tgz";
       sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
     };
@@ -1989,7 +1975,7 @@
     version = "0.21.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz";
+      url = "https://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz";
       name = "superagent-0.21.0.tgz";
       sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
     };
@@ -2000,7 +1986,7 @@
       "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
       "methods-1.0.1" = self.by-version."methods"."1.0.1";
       "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
+      "debug-2.6.0" = self.by-version."debug"."2.6.0";
       "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
       "extend-1.2.1" = self.by-version."extend"."1.2.1";
       "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
@@ -2019,7 +2005,7 @@
     version = "2.3.8";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz";
+      url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
       name = "through-2.3.8.tgz";
       sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
     };
@@ -2042,7 +2028,7 @@
     version = "1.5.7";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz";
+      url = "https://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz";
       name = "type-is-1.5.7.tgz";
       sha1 = "b9368a593cc6ef7d0645e78b2f4c64cbecd05e90";
     };
@@ -2063,7 +2049,7 @@
     version = "1.0.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+      url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
       name = "utils-merge-1.0.0.tgz";
       sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
     };
@@ -2082,7 +2068,7 @@
     version = "1.0.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
+      url = "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
       name = "vary-1.0.1.tgz";
       sha1 = "99e4981566a286118dfb2b817357df7993376d10";
     };
@@ -2095,18 +2081,20 @@
     cpu = [ ];
   };
   by-spec."verror"."^1.4.0" =
-    self.by-version."verror"."1.6.0";
-  by-version."verror"."1.6.0" = self.buildNodePackage {
-    name = "verror-1.6.0";
-    version = "1.6.0";
+    self.by-version."verror"."1.9.0";
+  by-version."verror"."1.9.0" = self.buildNodePackage {
+    name = "verror-1.9.0";
+    version = "1.9.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/verror/-/verror-1.6.0.tgz";
-      name = "verror-1.6.0.tgz";
-      sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5";
+      url = "https://registry.npmjs.org/verror/-/verror-1.9.0.tgz";
+      name = "verror-1.9.0.tgz";
+      sha1 = "107a8a2d14c33586fc4bb830057cd2d19ae2a6ee";
     };
     deps = {
-      "extsprintf-1.2.0" = self.by-version."extsprintf"."1.2.0";
+      "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
+      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
+      "extsprintf-1.3.0" = self.by-version."extsprintf"."1.3.0";
     };
     optionalDependencies = {
     };
@@ -2115,15 +2103,15 @@
     cpu = [ ];
   };
   by-spec."websocket-driver".">=0.5.1" =
-    self.by-version."websocket-driver"."0.6.2";
-  by-version."websocket-driver"."0.6.2" = self.buildNodePackage {
-    name = "websocket-driver-0.6.2";
-    version = "0.6.2";
+    self.by-version."websocket-driver"."0.6.5";
+  by-version."websocket-driver"."0.6.5" = self.buildNodePackage {
+    name = "websocket-driver-0.6.5";
+    version = "0.6.5";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.2.tgz";
-      name = "websocket-driver-0.6.2.tgz";
-      sha1 = "8281dba3e299e5bd7a42b65d4577a8928c26f898";
+      url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz";
+      name = "websocket-driver-0.6.5.tgz";
+      sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
     };
     deps = {
       "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1";
@@ -2141,7 +2129,7 @@
     version = "0.1.1";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
+      url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
       name = "websocket-extensions-0.1.1.tgz";
       sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
     };
@@ -2160,7 +2148,7 @@
     version = "0.8.0";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
+      url = "https://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
       name = "winston-0.8.0.tgz";
       sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
     };
@@ -2169,7 +2157,7 @@
       "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";
-      "pkginfo-0.3.0" = self.by-version."pkginfo"."0.3.0";
+      "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 = {
@@ -2185,7 +2173,7 @@
     version = "0.0.3";
     bin = false;
     src = fetchurl {
-      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
+      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
       name = "wordwrap-0.0.3.tgz";
       sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
     };
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index 6ba60ff17726..3b1042326731 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -2,14 +2,14 @@
 , db, cyrus_sasl, svrcore, icu, net_snmp, kerberos, pcre, perlPackages
 }:
 let
-  version = "1.3.5.4";
+  version = "1.3.5.15";
 in
 stdenv.mkDerivation rec {
   name = "389-ds-base-${version}";
 
   src = fetchurl {
     url = "http://directory.fedoraproject.org/binaries/${name}.tar.bz2";
-    sha256 = "1f1r4wky8x39jdabnd277f6m0snnzh9f0wvsr8x4rnvkckjphbx8";
+    sha256 = "1z17nnr4axndjyp413kyxb6iwdfky7nlsjhlc0klvdi2ai983p91";
   };
 
   buildInputs = [
@@ -20,13 +20,6 @@ stdenv.mkDerivation rec {
   # TODO: Fix bin/ds-logpipe.py, bin/logconv, bin/cl-dump
 
   patches = [ ./perl-path.patch
-    # https://fedorahosted.org/389/ticket/48354
-    (fetchpatch {
-      name = "389-ds-base-CVE-2016-5416.patch";
-      url = "https://fedorahosted.org/389/changeset/3c2cd48b7d2cb0579f7de6d460bcd0c9bb1157bd/?format=diff&new=3c2cd48b7d2cb0579f7de6d460bcd0c9bb1157bd";
-      addPrefixes = true;
-      sha256 = "1kv3a3di1cihkaf8xdbb5mzvhm4c3frx8rc5mji8xgjyj9ni6xja";
-    })
   ];
 
   preConfigure = ''
@@ -46,7 +39,7 @@ stdenv.mkDerivation rec {
     "--with-sasl=${cyrus_sasl.dev}"
     "--with-netsnmp=${net_snmp}"
   ];
-  
+
   preInstall = ''
     # The makefile doesn't create this directory for whatever reason
     mkdir -p $out/lib/dirsrv
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index fd74ffe54c38..f7890aa8e3c5 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -11,26 +11,26 @@ let
   };
   matrix-synapse-ldap3 = pythonPackages.buildPythonApplication rec {
     name = "matrix-synapse-ldap3-${version}";
-    version = "0.1.1";
+    version = "0.1.2";
 
     src = fetchFromGitHub {
       owner = "matrix-org";
       repo = "matrix-synapse-ldap3";
-      rev = "564eb3f109ce7f1082c47d5f8efaa792d90467f1";
-      sha256 = "1mkjlvy7a3rq405m59ihkh1wq7pa4l03fp8hgwwyjnbmz25bqmbk";
+      rev = "v${version}";
+      sha256 = "16pivz1lhs1c3z84rxxy8khyvn0hqxwxaz552br1y9ri0maa0aq8";
     };
 
     propagatedBuildInputs = with pythonPackages; [ service-identity ldap3 twisted ];
   };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.18.7-rc2";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "13rx77xfcci7q8xpxxgnh84h6md53akjcy9glwn20vm9vpka3vvj";
+    sha256 = "02zbyfnkc8a0bmaz3ylcwc8010cy0c1vrr7k2yywv5wd3ril4cp6";
   };
 
   patches = [ ./matrix-synapse.patch ];
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index a3c0e3c9226f..1412f76c25a4 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "telegraf-${version}";
-  version = "1.2.0";
+  version = "1.2.1";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "${version}";
-    sha256 = "0kijg3j2jnz7jfybycv2scvpsfmxg83jh8wl95p2bw322ypqlks1";
+    sha256 = "0vfx87a9shhwyqrbdf1jc32jkg0ych8bd0p222v2rcd83l75r0kh";
   };
 
   goDeps = ./. + builtins.toPath "/deps-${version}.nix";
diff --git a/pkgs/servers/monitoring/telegraf/deps-1.2.0.nix b/pkgs/servers/monitoring/telegraf/deps-1.2.1.nix
index a866881e53d9..a866881e53d9 100644
--- a/pkgs/servers/monitoring/telegraf/deps-1.2.0.nix
+++ b/pkgs/servers/monitoring/telegraf/deps-1.2.1.nix
diff --git a/pkgs/servers/portmap/default.nix b/pkgs/servers/portmap/default.nix
deleted file mode 100644
index e53690ebc113..000000000000
--- a/pkgs/servers/portmap/default.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{ fetchurl, stdenv, lib, tcp_wrappers
-, daemonUser ? false, daemonUID ? false, daemonGID ? false }:
-
-assert daemonUser -> (!daemonUID && !daemonGID);
-
-stdenv.mkDerivation rec {
-  name = "portmap-6.0";
-  
-  src = fetchurl {
-    url = "http://neil.brown.name/portmap/${name}.tgz";
-    sha256 = "1pj13ll4mbfwjwpn3fbg03qq9im6v2i8fcpa3ffp4viykz9j1j02";
-  };
-
-  patches = [ ./reuse-socket.patch ];
-
-  postPatch = ''
-    substituteInPlace "Makefile" --replace "/usr/share" "" \
-      --replace "install -o root -g root" "install"
-  '';
-
-  makeFlags =
-    lib.optional (daemonUser != false) "RPCUSER=\"${daemonUser}\""
-    ++ lib.optional (daemonUID != false) "DAEMON_UID=${toString daemonUID}"
-    ++ lib.optional (daemonGID != false) "DAEMON_GID=${toString daemonGID}";
-
-  buildInputs = [ tcp_wrappers ];
-
-  installPhase = ''
-    mkdir -p "$out/sbin" "$out/man/man8"
-    make install BASEDIR=$out
-  '';
-
-  meta = {
-    description = "ONC RPC portmapper";
-    longDescription = ''
-      Portmap is part of the ONC RPC software collection implementing
-      remote procedure calls (RPCs) between computer programs.  It is
-      widely used by NFS and NIS, among others.
-    '';
-
-    homepage = http://neil.brown.name/portmap/;
-    license = "BSD";
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/servers/portmap/reuse-socket.patch b/pkgs/servers/portmap/reuse-socket.patch
deleted file mode 100644
index 7d1a0ca09524..000000000000
--- a/pkgs/servers/portmap/reuse-socket.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Set SO_REUSEADDR to ensure that portmap can restart properly.
-
-https://bugs.launchpad.net/ubuntu/+source/portmap/+bug/688550
-
-===================================================================
---- portmap-6.0.0.orig/portmap.c	2011-03-16 20:43:26.000000000 +0100
-+++ portmap-6.0.0/portmap.c	2011-03-17 07:30:17.000000000 +0100
-@@ -142,9 +142,9 @@
-   * loopback interface address.
-   */
- 
-+static int on = 1;
- #ifdef LOOPBACK_SETUNSET
- static SVCXPRT *ludpxprt, *ltcpxprt;
--static int on = 1;
- #ifndef INADDR_LOOPBACK
- #define INADDR_LOOPBACK ntohl(inet_addr("127.0.0.1"))
- #endif
-@@ -399,9 +399,7 @@
- 		syslog(LOG_ERR, "cannot create udp socket: %m");
- 		exit(1);
- 	}
--#ifdef LOOPBACK_SETUNSET
- 	setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof on);
--#endif
- 
- 	memset((char *) &addr, 0, sizeof(addr));
- 	addr.sin_addr.s_addr = 0;
-@@ -434,9 +432,7 @@
- 		syslog(LOG_ERR, "cannot create tcp socket: %m");
- 		exit(1);
- 	}
--#ifdef LOOPBACK_SETUNSET
- 	setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &on, sizeof on);
--#endif
- 	if (bind(sock, (struct sockaddr *)&addr, len) != 0) {
- 		syslog(LOG_ERR, "cannot bind tcp: %m");
- 		exit(1);
diff --git a/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch b/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
deleted file mode 100644
index 16b763ef0dec..000000000000
--- a/pkgs/servers/rpcbind/0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 9194122389f2a56b1cd1f935e64307e2e963c2da Mon Sep 17 00:00:00 2001
-From: Steve Dickson <steved@redhat.com>
-Date: Mon, 2 Nov 2015 17:05:18 -0500
-Subject: [PATCH] handle_reply: Don't use the xp_auth pointer directly
-
-In the latest libtirpc version to access the xp_auth
-one must use the SVC_XP_AUTH macro. To be backwards
-compatible a couple ifdefs were added to use the
-macro when it exists.
-
-Upstream-Status: Backport
-
-Signed-off-by: Steve Dickson <steved@redhat.com>
-Signed-off-by: Maxin B. John <maxin.john@intel.com>
----
- src/rpcb_svc_com.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
-index 4ae93f1..22d6c84 100644
---- a/src/rpcb_svc_com.c
-+++ b/src/rpcb_svc_com.c
-@@ -1295,10 +1295,17 @@ handle_reply(int fd, SVCXPRT *xprt)
- 	a.rmt_localvers = fi->versnum;
- 
- 	xprt_set_caller(xprt, fi);
-+#if defined(SVC_XP_AUTH)
-+	SVC_XP_AUTH(xprt) = svc_auth_none;
-+#else 
- 	xprt->xp_auth = &svc_auth_none;
-+#endif
- 	svc_sendreply(xprt, (xdrproc_t) xdr_rmtcall_result, (char *) &a);
-+#if !defined(SVC_XP_AUTH)
- 	SVCAUTH_DESTROY(xprt->xp_auth);
- 	xprt->xp_auth = NULL;
-+#endif
-+
- done:
- 	if (buffer)
- 		free(buffer);
--- 
-2.4.0
-
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index 744763c43f11..cc5d7795e050 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -1,28 +1,27 @@
-{ fetchurl, fetchpatch, stdenv, pkgconfig, libtirpc
+{ fetchurl, stdenv, pkgconfig, libtirpc
 , useSystemd ? true, systemd }:
 
-let version = "0.2.3";
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "rpcbind-${version}";
+  version = "0.2.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/rpcbind/${version}/${name}.tar.bz2";
-    sha256 = "0yyjzv4161rqxrgjcijkrawnk55rb96ha0pav48s03l2klx855wq";
+    sha256 = "0rjc867mdacag4yqvs827wqhkh27135rp9asj06ixhf71m9rljh7";
   };
 
   patches = [
     ./sunrpc.patch
-    ./0001-handle_reply-Don-t-use-the-xp_auth-pointer-directly.patch
-    (fetchpatch {
-      url = "https://sources.debian.net/data/main/r/rpcbind/0.2.3-0.5/debian/patches/CVE-2015-7236.patch";
-      sha256 = "1wsv5j8f5djzxr11n4027x107cam1avmx9w34g6l5d9s61j763wq";
-    })
   ];
 
   buildInputs = [ libtirpc ]
              ++ stdenv.lib.optional useSystemd systemd;
 
-  configureFlags = stdenv.lib.optional (!useSystemd) "--with-systemdsystemunitdir=no";
+  configureFlags = [
+    "--with-systemdsystemunitdir=${if useSystemd then "$(out)/etc/systemd/system" else "no"}"
+    "--enable-warmstarts"
+    "--with-rpcuser=rpc"
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
new file mode 100644
index 000000000000..0fad00e882da
--- /dev/null
+++ b/pkgs/servers/trezord/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, fetchgit, curl, cmake, boost, gcc5, protobuf, pkgconfig, jsoncpp
+, libusb1, libmicrohttpd
+}:
+
+let
+  version = "1.2.0";
+in
+
+stdenv.mkDerivation rec {
+  name = "trezord-${version}";
+
+  src = fetchgit {
+    url    = "https://github.com/trezor/trezord";
+    rev    = "refs/tags/v${version}";
+    sha256 = "1606j5cfngryk4q21yiga1zvc3zpx4q8vqn6ljrvr679hpvlwni4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "TREZOR Bridge daemon for TREZOR bitcoin hardware wallet";
+    homepage = https://mytrezor.com;
+    license = licenses.gpl3;
+    maintainers = with stdenv.lib.maintainers; [ canndrew jb55 ];
+    platforms = platforms.linux;
+  };
+
+  patches = [ ./dynamic-link.patch ];
+
+  nativeBuildInputs = [
+    cmake
+    gcc5
+    pkgconfig
+  ];
+
+  buildInputs = [
+    curl
+    boost
+    protobuf
+    libusb1
+    libmicrohttpd
+    jsoncpp
+  ];
+
+  LD_LIBRARY_PATH = "${stdenv.lib.makeLibraryPath [ curl ]}";
+  cmakeFlags="-DJSONCPP_LIBRARY='${jsoncpp}/lib/libjsoncpp.so'";
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp trezord $out/bin
+  '';
+}
+
diff --git a/pkgs/servers/trezord/dynamic-link.patch b/pkgs/servers/trezord/dynamic-link.patch
new file mode 100644
index 000000000000..0f1f448a3f79
--- /dev/null
+++ b/pkgs/servers/trezord/dynamic-link.patch
@@ -0,0 +1,18 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c0e2cf..0e3f4ac 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,13 +59,6 @@ target_link_libraries(trezord ${OS_LIBRARIES})
+ find_package(CURL REQUIRED)
+ find_package(libmicrohttpd REQUIRED)
+ 
+-# add static libs
+-if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+-  set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+-  set(BUILD_SHARED_LIBS off)
+-  set(Boost_USE_STATIC_LIBS on)
+-  set(CMAKE_FIND_STATIC FIRST)
+-endif(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+ find_package(Boost 1.53.0 REQUIRED
+   regex thread system unit_test_framework program_options chrono)
+ find_package(Protobuf 2.5.0 REQUIRED)
diff --git a/pkgs/servers/web-apps/shaarli/material-theme.nix b/pkgs/servers/web-apps/shaarli/material-theme.nix
new file mode 100644
index 000000000000..369fecda47aa
--- /dev/null
+++ b/pkgs/servers/web-apps/shaarli/material-theme.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "shaarli-material-${version}";
+  version = "0.8.3";
+
+  src = fetchFromGitHub {
+    owner = "kalvn";
+    repo = "Shaarli-Material";
+    rev = "v${version}";
+    sha256 = "0ivq35183r5vyzvf47sgxwdxllmvhd5w9w75xgyp3kbw2na4yrmr";
+  };
+
+  patchPhase = ''
+    for f in material/*.html
+    do
+      substituteInPlace $f \
+        --replace '.min.css"' '.min.css#"' \
+        --replace '.min.js"'  '.min.js#"' \
+        --replace '.png"'     '.png#"'
+    done
+  '';
+
+  installPhase = ''
+    mv material/ $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A theme base on Google's Material Design for Shaarli, the superfast delicious clone";
+    license = licenses.mit;
+    homepage = https://github.com/kalvn/Shaarli-Material;
+    maintainers = with maintainers; [ schneefux ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index d5a3bea67a61..b825d86ac8df 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1813,11 +1813,11 @@ let
   }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
 
   xf86videointel = (mkDerivation "xf86videointel" {
-    name = "xf86-video-intel-2016-09-08";
+    name = "xf86-video-intel-2017-02-05";
     builder = ./builder.sh;
     src = fetchurl {
-      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/15c5ff12459a034b552c787047d1af6d61047cd6.tar.gz;
-      sha256 = "0nggdll6i5qddv9r2imip4hf6aw1nmfxjqg3i6gcbwmqp2w3f003";
+      url = http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/e4fe79cf0d9a05ee3f3a027148ef0aeb2b1b34e1.tar.gz;
+      sha256 = "1hzfz5m9iclxk55531nqmyn25a50ggibl1qb80l6742k25k211cr";
     };
     buildInputs = [pkgconfig dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
     meta.platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 8c331efeb111..3ae7b481978b 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -398,10 +398,11 @@ in
   };
 
   xorgserver = with xorg; attrs_passed:
-    # exchange attrs if fglrxCompat is set
+    # exchange attrs if abiCompat is set
     let
-      attrs = if !args.fglrxCompat then attrs_passed else
-        with args; {
+      attrs = with args;
+        if (args.abiCompat == null) then attrs_passed
+        else if (args.abiCompat == "1.17") then {
           name = "xorg-server-1.17.4";
           builder = ./builder.sh;
           src = fetchurl {
@@ -410,7 +411,16 @@ in
           };
           buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
           meta.platforms = stdenv.lib.platforms.unix;
-        };
+        } else if (args.abiCompat == "1.18") then {
+            name = "xorg-server-1.18.4";
+            builder = ./builder.sh;
+            src = fetchurl {
+              url = mirror://xorg/individual/xserver/xorg-server-1.18.4.tar.bz2;
+              sha256 = "1j1i3n5xy1wawhk95kxqdc54h34kg7xp4nnramba2q8xqfr5k117";
+            };
+            buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
+            meta.platforms = stdenv.lib.platforms.unix;
+        } else throw "unsupported xorg abiCompat: ${args.abiCompat}";
 
     in attrs //
     (let
diff --git a/pkgs/servers/x11/xquartz/default.nix b/pkgs/servers/x11/xquartz/default.nix
index 0357c8c17f1d..585144f74ed4 100644
--- a/pkgs/servers/x11/xquartz/default.nix
+++ b/pkgs/servers/x11/xquartz/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, substituteAll, xterm, makeWrapper, ruby
 , openssl, quartz-wm, fontconfig, xlsfonts, xfontsel
-, ttf_bitstream_vera, freefont_ttf, liberation_ttf_binary
+, ttf_bitstream_vera, freefont_ttf, liberation_ttf
 , shell ? "${bashInteractive}/bin/bash"
 }:
 
@@ -64,7 +64,7 @@ let
     xorg.fontbhlucidatypewriter75dpi
     ttf_bitstream_vera
     freefont_ttf
-    liberation_ttf_binary
+    liberation_ttf
     xorg.fontbh100dpi
     xorg.fontmiscmisc
     xorg.fontcursormisc
diff --git a/pkgs/shells/bash-completion/default.nix b/pkgs/shells/bash-completion/default.nix
index ad4cc3d09d71..0c96c72ffd03 100644
--- a/pkgs/shells/bash-completion/default.nix
+++ b/pkgs/shells/bash-completion/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bash-completion-${version}";
-  version = "2.4";
+  version = "2.5";
 
   src = fetchurl {
     url = "https://github.com/scop/bash-completion/releases/download/${version}/${name}.tar.xz";
-    sha256 = "1xlhd09sb2w3bw8qaypxgkr0782w082mcbx8zf7yzjgy0996pxy0";
+    sha256 = "1kwmii1z1ljx5i4z702ynsr8jgrq64bj9w9hl3n2aa2kcl659fdh";
   };
 
   doCheck = true;
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index f4da2f6fcda1..5bdf295cc6eb 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -8,13 +8,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "fish-${version}";
-  version = "2.3.1";
+  version = "2.5.0";
 
   patches = [ ./etc_config.patch ];
 
   src = fetchurl {
     url = "http://fishshell.com/files/${version}/${name}.tar.gz";
-    sha256 = "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij";
+    sha256 = "19djav128nkhjxgfhwhc32i5y9d9c3karbh5yg67kqrdranyvh7q";
   };
 
   buildInputs = [ ncurses libiconv pcre2 ];
diff --git a/pkgs/stdenv/cross/default.nix b/pkgs/stdenv/cross/default.nix
index 37f403acee9e..e322d4655201 100644
--- a/pkgs/stdenv/cross/default.nix
+++ b/pkgs/stdenv/cross/default.nix
@@ -18,8 +18,7 @@ in bootStages ++ [
     hostPlatform = localSystem;
     targetPlatform = crossSystem;
     inherit config overlays;
-    # Should be false, but we're trying to preserve hashes for now
-    selfBuild = true;
+    selfBuild = false;
     # It's OK to change the built-time dependencies
     allowCustomOverrides = true;
     stdenv = vanillaPackages.stdenv // {
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index dda1f7e0b337..1a762bd87c79 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -229,7 +229,7 @@ rec {
         for i in as ld ar ranlib nm strip readelf objdump; do
           cp ${binutils.out}/bin/$i $out/bin
         done
-        cp -d ${binutils.out}/lib/lib*.so* $out/lib
+        cp -d ${binutils.lib}/lib/lib*.so* $out/lib
 
         chmod -R u+w $out
 
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 2e7b24af131d..42015a79a3e0 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -126,7 +126,7 @@ rec {
         for i in as ld ar ranlib nm strip readelf objdump; do
           cp ${binutils.out}/bin/$i $out/bin
         done
-        cp -d ${binutils.out}/lib/lib*.so* $out/lib
+        cp -d ${binutils.lib}/lib/lib*.so* $out/lib
 
         chmod -R u+w $out
 
diff --git a/pkgs/tools/admin/salt/default.nix b/pkgs/tools/admin/salt/default.nix
index 3386ed86a2a0..786e3f64cda1 100644
--- a/pkgs/tools/admin/salt/default.nix
+++ b/pkgs/tools/admin/salt/default.nix
@@ -8,11 +8,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "salt-${version}";
-  version = "2016.3.3";
+  version = "2016.11.2";
 
   src = fetchurl {
     url = "mirror://pypi/s/salt/${name}.tar.gz";
-    sha256 = "1djjglnh6203y8dirziz5w6zh2lgszxp8ivi86nb7fgijj2h61jr";
+    sha256 = "0hrss5x47cr7ffyjl8jlkhf9j88lqvg7c33rjc5bimck8b7x7hzm";
   };
 
   propagatedBuildInputs = with python2Packages; [
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
index 95823bedad6f..0f95a26c9401 100644
--- a/pkgs/tools/backup/tarsnap/default.nix
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -29,13 +29,13 @@ stdenv.mkDerivation rec {
     install -m 444 -D ${zshCompletion} $out/share/zsh/site-functions/_tarsnap
   '';
 
-  buildInputs = [ openssl zlib e2fsprogs ];
+  buildInputs = [ openssl zlib ] ++ stdenv.lib.optional stdenv.isLinux e2fsprogs ;
 
   meta = {
     description = "Online backups for the truly paranoid";
     homepage    = "http://www.tarsnap.com/";
     license     = "tarsnap";
-    platforms   = stdenv.lib.platforms.linux;
+    platforms   = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ thoughtpolice roconnor ];
   };
 }
diff --git a/pkgs/tools/filesystems/ntfs-3g/default.nix b/pkgs/tools/filesystems/ntfs-3g/default.nix
index d5c5456515cb..01d9b81d0389 100644
--- a/pkgs/tools/filesystems/ntfs-3g/default.nix
+++ b/pkgs/tools/filesystems/ntfs-3g/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, utillinux, libuuid
+{stdenv, fetchurl, fetchpatch, utillinux, libuuid
 , crypto ? false, libgcrypt, gnutls, pkgconfig}:
 
 stdenv.mkDerivation rec {
@@ -14,6 +14,13 @@ stdenv.mkDerivation rec {
     sha256 = "180y5y09h30ryf2vim8j30a2npwz1iv9ly5yjmh3wjdkwh2jrdyp";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://sources.debian.net/data/main/n/ntfs-3g/1:2016.2.22AR.1-4/debian/patches/0003-CVE-2017-0358.patch";
+      sha256 = "0hd05q9q06r18k8pmppvch1sslzqln5fvqj51d5r72g4mnpavpj3";
+    })
+  ];
+
   patchPhase = ''
     substituteInPlace src/Makefile.in --replace /sbin '@sbindir@'
     substituteInPlace ntfsprogs/Makefile.in --replace /sbin '@sbindir@'
@@ -45,4 +52,3 @@ stdenv.mkDerivation rec {
     license = licenses.gpl2Plus; # and (lib)fuse-lite under LGPL2+
   };
 }
-
diff --git a/pkgs/tools/graphics/asymptote/default.nix b/pkgs/tools/graphics/asymptote/default.nix
index b090ceca02bc..483c73d149b4 100644
--- a/pkgs/tools/graphics/asymptote/default.nix
+++ b/pkgs/tools/graphics/asymptote/default.nix
@@ -2,6 +2,7 @@
   , freeglut, ghostscriptX, imagemagick, fftw 
   , boehmgc, mesa_glu, mesa_noglu, ncurses, readline, gsl, libsigsegv
   , python, zlib, perl, texLive, texinfo, xz
+, darwin
 }:
 
 let
@@ -20,6 +21,8 @@ let
    python zlib perl texLive texinfo xz ]
    ++ stdenv.lib.optionals stdenv.isLinux
      [ freeglut mesa_glu mesa_noglu mesa_noglu.osmesa ]
+   ++ stdenv.lib.optionals stdenv.isDarwin
+     (with darwin.apple_sdk.frameworks; [ OpenGL GLUT Cocoa ])
    ;
 in
 stdenv.mkDerivation {
diff --git a/pkgs/tools/graphics/flam3/default.nix b/pkgs/tools/graphics/flam3/default.nix
new file mode 100644
index 000000000000..f4e0faffb0e1
--- /dev/null
+++ b/pkgs/tools/graphics/flam3/default.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchFromGitHub, zlib, libpng, libxml2, libjpeg }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "flam3";
+  version = "3.1.1-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "e0801543538451234d7a8a240ba3b417cbda5b21";
+
+  src = fetchFromGitHub {
+    inherit rev;
+    owner = "scottdraves";
+    repo = "${pname}";
+    sha256 = "18iyj16k0sn3fs52fj23lj31xi4avlddhbib6kk309576nlxp17w";
+  };
+
+  buildInputs = [ zlib libpng libxml2 libjpeg ];
+
+  meta = with stdenv.lib; {
+    description = "Cosmic recursive fractal flames";
+    homepage = http://flam3.com/;
+    maintainers = maintainers.nand0p;
+    platforms = platforms.linux;
+    license = licenses.cc-by-nc-sa-20;
+  };
+}
diff --git a/pkgs/tools/graphics/glee/default.nix b/pkgs/tools/graphics/glee/default.nix
new file mode 100644
index 000000000000..bdfecb9de735
--- /dev/null
+++ b/pkgs/tools/graphics/glee/default.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchgit, cmake, mesa, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "glee";
+  rev = "f727ec7463d514b6279981d12833f2e11d62b33d";
+  version = "20170205-${stdenv.lib.strings.substring 0 7 rev}";
+
+  src = fetchgit {
+    inherit rev;
+    url = "https://git.code.sf.net/p/${pname}/${pname}";
+    sha256 = "13mf3s7nvmj26vr2wbcg08l4xxqsc1ha41sx3bfghvq8c5qpk2ph";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ mesa xorg.libX11 ];
+
+  configureScript = ''
+    cmake
+  '';
+
+  preInstall = ''
+    sed -i 's/readme/Readme/' cmake_install.cmake
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GL Easy Extension Library";
+    homepage = https://sourceforge.net/p/glee/glee/;
+    maintainers = with maintainers; [ nand0p ];
+    platforms = platforms.linux;
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/tools/graphics/plotutils/default.nix b/pkgs/tools/graphics/plotutils/default.nix
index c6bde4c5b0c3..219bfdf8c14d 100644
--- a/pkgs/tools/graphics/plotutils/default.nix
+++ b/pkgs/tools/graphics/plotutils/default.nix
@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/graphics/pstoedit/default.nix b/pkgs/tools/graphics/pstoedit/default.nix
index 93fc901aacfd..170dfdac2b6b 100644
--- a/pkgs/tools/graphics/pstoedit/default.nix
+++ b/pkgs/tools/graphics/pstoedit/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, pkgconfig, darwin, lib
 , zlib, ghostscript, imagemagick, plotutils, gd
-, libjpeg, libwebp
+, libjpeg, libwebp, libiconv
 }:
 
 stdenv.mkDerivation rec {
@@ -13,13 +13,16 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ zlib ghostscript imagemagick plotutils gd libjpeg libwebp ];
+  buildInputs = [ zlib ghostscript imagemagick plotutils gd libjpeg libwebp ] 
+  ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    libiconv ApplicationServices
+  ]);
 
   meta = with stdenv.lib; {
     description = "Translates PostScript and PDF graphics into other vector formats";
     homepage = https://sourceforge.net/projects/pstoedit/;
     license = licenses.gpl2;
     maintainers = [ maintainers.marcweber ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/misc/autorevision/default.nix b/pkgs/tools/misc/autorevision/default.nix
index 058fa4881e84..02caf6e33f99 100644
--- a/pkgs/tools/misc/autorevision/default.nix
+++ b/pkgs/tools/misc/autorevision/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, asciidoc, libxml2, docbook_xml_dtd_45, libxslt
-, docbook_xsl, diffutils, coreutils, gnugrep
+, docbook_xsl, diffutils, coreutils, gnugrep, gnused
 }:
 
 stdenv.mkDerivation rec {
   name = "autorevision-${version}";
-  version = "1.14";
+  version = "1.20";
 
   src = fetchurl {
     url = "https://github.com/Autorevision/autorevision/releases/download/v%2F${version}/autorevision-${version}.tgz";
-    sha256 = "0h0ig922am9qd0nbri3i6p4k789mv5iavxzxwylclg0mfgx43qd2";
+    sha256 = "1xlp7wn2vv17rp848ai272sifi6fmwdr6dg4im53hrf32j3gzlhy";
   };
 
   buildInputs = [
@@ -18,9 +18,11 @@ stdenv.mkDerivation rec {
   installFlags = [ "prefix=$(out)" ];
 
   postInstall = ''
-    sed -e "s|cmp|${diffutils}/bin/cmp|" \
-        -e "s|cat|${coreutils}/bin/cat|" \
-        -e "s|grep|${gnugrep}/bin/grep|" \
+    sed -e "s|\<cmp\>|${diffutils}/bin/cmp|g" \
+        -e "s|\<cat\>|${coreutils}/bin/cat|g" \
+        -e "s|\<grep\>|${gnugrep}/bin/grep|g" \
+        -e "s|\<sed\>|${gnused}/bin/sed|g" \
+        -e "s|\<tee\>|${coreutils}/bin/tee|g" \
         -i "$out/bin/autorevision"
   '';
 
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index e61f99d2bbf4..bf1377419a5c 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bdf2psf-${version}";
-  version = "1.152";
+  version = "1.158";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "1hk5g0zhj78p74z0hdx3v29s5bpx0npabwdawaigwwxrrj03q9mw";
+    sha256 = "12zaj7hi5gzdh9r7rcyqnkwik1ljw1qzj6j7rw80bgw6fn611rs9";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/os-prober/default.nix b/pkgs/tools/misc/os-prober/default.nix
index fb62043739ca..87659802e506 100644
--- a/pkgs/tools/misc/os-prober/default.nix
+++ b/pkgs/tools/misc/os-prober/default.nix
@@ -11,11 +11,11 @@ ntfs3g ? null
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.71";
+  version = "1.73";
   name = "os-prober-${version}";
   src = fetchurl {
     url = "mirror://debian/pool/main/o/os-prober/os-prober_${version}.tar.xz";
-    sha256 = "5d6141e02b58e82194422b97d683d61c7ff78175d89c2f055f5d2e7a363bdd20";
+    sha256 = "1prssbwdgj5c33zhl3ldgaxk7lab9qvs4zhyrhag88wiivirb0sq";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index 98bf6a9cfc2d..de4c97731ef5 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -2,14 +2,16 @@
 , tcl-8_5 }:
 
 stdenv.mkDerivation rec {
-  name = "rrdtool-1.5.6";
+  name = "rrdtool-1.6.0";
 
   src = fetchurl {
     url = "http://oss.oetiker.ch/rrdtool/pub/${name}.tar.gz";
-    sha256 = "1s2cci80g6kbp5p77mkxpfxwvjm1802fw0bjfsa8yjv8g5a7fclq";
+    sha256 = "1msj1qsy3sdmx2g2rngp9a9qv50hz0ih7yx6nkx2b21drn4qx56d";
   };
 
-  buildInputs = [ gettext perl pkgconfig libxml2 pango cairo groff ]
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ gettext perl libxml2 pango cairo groff ]
     ++ stdenv.lib.optional stdenv.isDarwin tcl-8_5;
 
   postInstall = ''
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index c6da169a5838..efc73e5aa4f2 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.02.01";
+  version = "2017.02.04.1";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1jkra0kgqg9ks76hwfcfsdaiknr9w8vavja0rc81ia644085axzz";
+    sha256 = "1aqca4mxgdjiv1qfnzqxx6lpwggfxsaahvvs235pyz0j3kywa4nj";
   };
 
   buildInputs = [ makeWrapper zip ] ++ optional generateManPage pandoc;
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 0cb5c92abec8..8d62cb1bc74d 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${networkmanager.major}/${name}.tar.xz";
-    sha256 = "431b7b4876638c6a537c8bf9c91a9250532b3d960b22b056df554695a81e4499";
+    sha256 = "09ijxicsqf39y6h8kwbfjyljfbqkkx4vrpyfn6gfg1h9mvp4cf39";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ];
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 0bd79890dc02..1ad1e54e7fb6 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
   pname   = "NetworkManager";
   major   = "1.4";
-  version = "${major}.2";
+  version = "${major}.4";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "a864e347ddf6da8dabd40e0185b8c10a655d4a94b45cbaa2b3bb4b5e8360d204";
+    sha256 = "029k2f1arx1m5hppmr778i9yg34jj68nmji3i89qs06c33rpi4w2";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/networking/network-manager/openconnect.nix b/pkgs/tools/networking/network-manager/openconnect.nix
index 303ca70aace1..e1a5f954986f 100644
--- a/pkgs/tools/networking/network-manager/openconnect.nix
+++ b/pkgs/tools/networking/network-manager/openconnect.nix
@@ -5,11 +5,11 @@ stdenv.mkDerivation rec {
   name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname   = "NetworkManager-openconnect";
   major   = "1.2";
-  version = "${major}.2";
+  version = "${major}.4";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "522979593e21b4e884112816708db9eb66148b3491580dacfad53472b94aafec";
+    sha256 = "15j98wwspv6mcmy91w30as5qc1bzsnhlk060xhjy4qrvd37y0xx1";
   };
 
   buildInputs = [ openconnect networkmanager libsecret ]
diff --git a/pkgs/tools/networking/network-manager/openvpn.nix b/pkgs/tools/networking/network-manager/openvpn.nix
index 92dc45ac82c0..3edbe7dba6ed 100644
--- a/pkgs/tools/networking/network-manager/openvpn.nix
+++ b/pkgs/tools/networking/network-manager/openvpn.nix
@@ -5,11 +5,11 @@ stdenv.mkDerivation rec {
   name    = "${pname}${if withGnome then "-gnome" else ""}-${version}";
   pname   = "NetworkManager-openvpn";
   major   = "1.2";
-  version = "${major}.6";
+  version = "${major}.8";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "2373e2bb0a8a876cb2997cd8b0e3d6e10012d9bef3705ea3ac21f6394b3f1fb0";
+    sha256 = "0m06sg2rnz764psvpsrx0pvll11nfn9hypgbp3s6vna8y83l02ry";
   };
 
   buildInputs = [ openvpn networkmanager libsecret ]
diff --git a/pkgs/tools/networking/network-manager/strongswan.nix b/pkgs/tools/networking/network-manager/strongswan.nix
index 9e0033cca90c..9d26a84d6f2e 100644
--- a/pkgs/tools/networking/network-manager/strongswan.nix
+++ b/pkgs/tools/networking/network-manager/strongswan.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   name    = "${pname}-${version}";
   pname   = "NetworkManager-strongswan";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
     url    = "https://download.strongswan.org/NetworkManager/${name}.tar.bz2";
-    sha256 = "0qfnylg949lkyw1nmyggz2ipgmy154ic5q5ljjcwcgi14r90ys02";
+    sha256 = "0r5j8cr4x01d2cdy970990292n7p9v617cw103kdczw646xwcxs8";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/networking/wget/default.nix b/pkgs/tools/networking/wget/default.nix
index 1d4791ffdde8..60edc1ad16fa 100644
--- a/pkgs/tools/networking/wget/default.nix
+++ b/pkgs/tools/networking/wget/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, gettext, libidn, pkgconfig
-, perl, perlPackages, LWP, python3
-, libiconv, libpsl ? null, openssl ? null }:
+{ stdenv, fetchurl, gettext, pkgconfig, perl
+, libidn2, zlib, pcre, libuuid, libiconv
+, IOSocketSSL, LWP, python3
+, libpsl ? null
+, openssl ? null }:
 
 stdenv.mkDerivation rec {
-  name = "wget-1.18";
+  name = "wget-1.19";
 
   src = fetchurl {
     url = "mirror://gnu/wget/${name}.tar.xz";
-    sha256 = "1hcwx8ww3sxzdskkx3l7q70a7wd6569yrnjkw9pw013cf9smpddm";
+    sha256 = "1133c14g19ysv74j7am66jwgwrr0rdn0rdyxw7rikbnsyjxmf48g";
   };
 
   patches = [ ./remove-runtime-dep-on-openssl-headers.patch ];
@@ -26,9 +28,10 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ gettext pkgconfig perl ];
-  buildInputs = [ libidn libiconv libpsl ]
-    ++ stdenv.lib.optionals doCheck [ perlPackages.IOSocketSSL LWP python3 ]
+  buildInputs = [ libidn2 libiconv zlib pcre libuuid ]
+    ++ stdenv.lib.optionals doCheck [ IOSocketSSL LWP python3 ]
     ++ stdenv.lib.optional (openssl != null) openssl
+    ++ stdenv.lib.optional (libpsl != null) libpsl
     ++ stdenv.lib.optional stdenv.isDarwin perl;
 
   configureFlags =
diff --git a/pkgs/tools/networking/wuzz/default.nix b/pkgs/tools/networking/wuzz/default.nix
new file mode 100644
index 000000000000..7a6e72e0f124
--- /dev/null
+++ b/pkgs/tools/networking/wuzz/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, lib, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "wuzz-${version}";
+  version = "2017-02-05";
+
+  goPackagePath = "https://github.com/asciimoo/wuzz";
+
+  src = fetchFromGitHub {
+    owner = "asciimoo";
+    repo = "wuzz";
+    rev = "45b6a64e667b3647216af68e06e253958b81b3c4";
+    sha256 = "0jjdyqh1jvfg1dg5fwwavcvkn8fkm1a44gyv35c1g5cd9gxwj8nw";
+  };
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/asciimoo/wuzz;
+    description = "Interactive cli tool for HTTP inspection";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ pradeepchhetri ];
+  };
+}
diff --git a/pkgs/tools/networking/wuzz/deps.nix b/pkgs/tools/networking/wuzz/deps.nix
new file mode 100644
index 000000000000..1025793cc981
--- /dev/null
+++ b/pkgs/tools/networking/wuzz/deps.nix
@@ -0,0 +1,29 @@
+[
+  {
+    goPackagePath = "github.com/jroimartin/gocui";
+    fetch = {
+      type = "git";
+      url = "https://github.com/jroimartin/gocui";
+      rev = "7ac95c981b8a07b624ab197b3ad5813fdfbe4864";
+      sha256 = "1xr752gpjv32mnzzy5v367maczl7sn8frn258wqrs6gqf07sdmjp";
+    };
+  }
+  {
+    goPackagePath = "github.com/nsf/termbox-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/nsf/termbox-go";
+      rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8";
+      sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "14207d285c6c197daabb5c9793d63e7af9ab2d50";
+      sha256 = "0y6yq9zd4kh7fimnc00r3h9pr2pwa5j85b3jcn5dyfamsnm2xdsv";
+    };
+  }
+]
diff --git a/pkgs/tools/package-management/fpm/Gemfile b/pkgs/tools/package-management/fpm/Gemfile
index 95916cf4322a..ea498ca78355 100644
--- a/pkgs/tools/package-management/fpm/Gemfile
+++ b/pkgs/tools/package-management/fpm/Gemfile
@@ -1,2 +1,4 @@
 source 'https://rubygems.org'
+
+gem 'archive-tar-minitar', '>= 0.5.2.1', github: 'peterhoeg/archive-tar-minitar'
 gem 'fpm'
diff --git a/pkgs/tools/package-management/fpm/Gemfile.lock b/pkgs/tools/package-management/fpm/Gemfile.lock
index ab3d4dd6b46b..16d7a8250ec9 100644
--- a/pkgs/tools/package-management/fpm/Gemfile.lock
+++ b/pkgs/tools/package-management/fpm/Gemfile.lock
@@ -1,7 +1,12 @@
+GIT
+  remote: git://github.com/peterhoeg/archive-tar-minitar.git
+  revision: dae32ca550a87dba32597115ae18805db4782ebe
+  specs:
+    archive-tar-minitar (0.5.2.1)
+
 GEM
   remote: https://rubygems.org/
   specs:
-    archive-tar-minitar (0.5.2)
     arr-pm (0.0.10)
       cabin (> 0)
     backports (3.6.8)
@@ -40,7 +45,8 @@ PLATFORMS
   ruby
 
 DEPENDENCIES
+  archive-tar-minitar (>= 0.5.2.1)!
   fpm
 
 BUNDLED WITH
-   1.12.5
+   1.14.3
diff --git a/pkgs/tools/package-management/fpm/gemset.nix b/pkgs/tools/package-management/fpm/gemset.nix
index 0670d3a5b140..4243651dd25d 100644
--- a/pkgs/tools/package-management/fpm/gemset.nix
+++ b/pkgs/tools/package-management/fpm/gemset.nix
@@ -1,11 +1,13 @@
 {
   archive-tar-minitar = {
     source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1j666713r3cc3wb0042x0wcmq2v11vwwy5pcaayy5f0lnd26iqig";
-      type = "gem";
+      fetchSubmodules = false;
+      rev = "dae32ca550a87dba32597115ae18805db4782ebe";
+      sha256 = "0fvxacbcb52fm5dis451kdd7dv74z8p6nm4vnfqf7jg2aghcxdkd";
+      type = "git";
+      url = "git://github.com/peterhoeg/archive-tar-minitar.git";
     };
-    version = "0.5.2";
+    version = "0.5.2.1";
   };
   arr-pm = {
     source = {
diff --git a/pkgs/tools/security/minisign/default.nix b/pkgs/tools/security/minisign/default.nix
index 1a573048aa4e..6a8f6d79fe1c 100644
--- a/pkgs/tools/security/minisign/default.nix
+++ b/pkgs/tools/security/minisign/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "minisign-${version}";
-  version = "0.6";
+  version = "0.7";
 
   src = fetchFromGitHub {
     repo = "minisign";
     owner = "jedisct1";
     rev = version;
-    sha256 = "1m71ngxaij3q1dw602kjgj22y5xfjlxrrkjdmx1v4p36y0n6wl92";
+    sha256 = "15w8fgplkxiw9757qahwmgnl4bwx9mm0rnwp1izs2jcy1wy35vp8";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 2c051bb5e78c..0398ffc180a5 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, libaio, python, zlib }:
 
 let
-  version = "2.12";
-  sha256 = "1m0fx0x1v2375vyxhd2i12b9w1qy4yh75f6qhwlcr78himcsmpp9";
+  version = "2.17";
+  sha256 = "17fygcy3flsp64mfmwpc66byy95cidby34s6grm3zgsjb7mcypr0";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/system/illum/default.nix b/pkgs/tools/system/illum/default.nix
new file mode 100644
index 000000000000..4cdfeec12b79
--- /dev/null
+++ b/pkgs/tools/system/illum/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, pkgconfig, ninja, libevdev, libev }:
+
+stdenv.mkDerivation rec {
+  version = "0.4";
+  name = "illum-${version}";
+
+  src = fetchgit {
+    url = "https://github.com/jmesmon/illum.git";
+    fetchSubmodules = true;
+    rev = "48ce8631346b1c88a901a8e4fa5fa7e8ffe8e418";
+    sha256 = "05v3hz7n6b1mlhc6zqijblh1vpl0ja1y8y0lafw7mjdz03wxhfdb";
+  };
+
+  buildInputs = [ pkgconfig ninja libevdev libev ];
+
+  configurePhase = ''
+    bash ./configure
+  '';
+
+  buildPhase = ''
+    ninja
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv illum-d $out/bin
+  '';
+
+  meta = {
+    homepage = https://github.com/jmesmon/illum;
+    description = "Daemon that wires button presses to screen backlight level";
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ stdenv.lib.maintainers.dancek ];
+    license = stdenv.lib.licenses.agpl3;
+  };
+}
diff --git a/pkgs/tools/text/kdiff3/kde5.nix b/pkgs/tools/text/kdiff3/kde5.nix
new file mode 100644
index 000000000000..f1ae958ed637
--- /dev/null
+++ b/pkgs/tools/text/kdiff3/kde5.nix
@@ -0,0 +1,37 @@
+{
+  kdeDerivation, kdeWrapper, lib, fetchgit,
+  ecm, kdoctools, kconfig, kinit, kparts
+}:
+
+let
+  rev = "468652ce70b1214842cef0a021c81d056ec6aa01";
+
+  unwrapped = kdeDerivation rec {
+    name = "kdiff3-${version}";
+    version = "1.7.0-${lib.strings.substring 0 7 rev}";
+
+    src = fetchgit {
+      url = "https://gitlab.com/tfischer/kdiff3";
+      sha256 = "126xl7jbb26v2970ba1rw1d6clhd14p1f2avcwvj8wzqmniq5y5m";
+      inherit rev;
+    };
+
+    preConfigure = "cd kdiff3";
+
+    nativeBuildInputs = [ ecm kdoctools ];
+
+    propagatedBuildInputs = [ kconfig kinit kparts ];
+
+    meta = with lib; {
+      homepage = http://kdiff3.sourceforge.net/;
+      license = licenses.gpl2Plus;
+      description = "Compares and merges 2 or 3 files or directories";
+      maintainers = with maintainers; [ viric urkud peterhoeg ];
+      platforms = with platforms; linux;
+    };
+  };
+
+in kdeWrapper {
+  inherit unwrapped;
+  targets = [ "bin/kdiff3" ];
+}
diff --git a/pkgs/tools/text/nkf/default.nix b/pkgs/tools/text/nkf/default.nix
index 31d58fbccc37..eadb107d8276 100644
--- a/pkgs/tools/text/nkf/default.nix
+++ b/pkgs/tools/text/nkf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "nkf-${version}";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchurl {
-    url = "mirror://sourceforgejp/nkf/59912/${name}.tar.gz";
-    sha256 = "8cb430ae69a1ad58b522eb4927b337b5b420bbaeb69df255919019dc64b72fc2";
+    url = "mirror://sourceforgejp/nkf/64158/${name}.tar.gz";
+    sha256 = "b4175070825deb3e98577186502a8408c05921b0c8ff52e772219f9d2ece89cb";
   };
 
   makeFlags = "prefix=\${out}";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 07a4ce82a5f3..2befce8dea74 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -18,8 +18,10 @@ with pkgs;
 
   # Override system. This is useful to build i686 packages on x86_64-linux.
   forceSystem = system: kernel: nixpkgsFun {
-    inherit system;
-    platform = platform // { kernelArch = kernel; };
+    localSystem = {
+      inherit system;
+      platform = platform // { kernelArch = kernel; };
+    };
   };
 
   # Used by wine, firefox with debugging version of Flash, ...
@@ -877,6 +879,8 @@ with pkgs;
 
   fzy = callPackage ../tools/misc/fzy { };
 
+  gbsplay = callPackage ../applications/audio/gbsplay { };
+
   gdrivefs = python27Packages.gdrivefs;
 
   go-dependency-manager = callPackage ../development/tools/gdm { };
@@ -2424,8 +2428,12 @@ with pkgs;
 
   kpcli = callPackage ../tools/security/kpcli { };
 
+  krename-qt5 = qt5.callPackage ../applications/misc/krename/kde5.nix { };
+
   kronometer = qt5.callPackage ../tools/misc/kronometer { };
 
+  kdiff3-qt5 = qt5.callPackage ../tools/text/kdiff3/kde5.nix { };
+
   peruse = qt5.callPackage ../tools/misc/peruse { };
 
   kst = qt5.callPackage ../tools/graphics/kst { gsl = gsl_1; };
@@ -3846,6 +3854,8 @@ with pkgs;
 
   sonata = callPackage ../applications/audio/sonata { };
 
+  souper = callPackage ../development/compilers/souper { };
+
   sparsehash = callPackage ../development/libraries/sparsehash { };
 
   spiped = callPackage ../tools/networking/spiped { };
@@ -4078,6 +4088,8 @@ with pkgs;
 
   tpm-luks = callPackage ../tools/security/tpm-luks { };
 
+  trezord = callPackage ../servers/trezord { };
+
   tthsum = callPackage ../applications/misc/tthsum { };
 
   chaps = callPackage ../tools/security/chaps { };
@@ -4424,7 +4436,7 @@ with pkgs;
   weighttp = callPackage ../tools/networking/weighttp { };
 
   wget = callPackage ../tools/networking/wget {
-    inherit (perlPackages) LWP;
+    inherit (perlPackages) IOSocketSSL LWP;
     libpsl = null;
   };
 
@@ -4448,6 +4460,8 @@ with pkgs;
 
   wrk = callPackage ../tools/networking/wrk { };
 
+  wuzz = callPackage ../tools/networking/wuzz { };
+
   wv = callPackage ../tools/misc/wv { };
 
   wv2 = callPackage ../tools/misc/wv2 { };
@@ -5170,6 +5184,7 @@ with pkgs;
 
   jdk = if stdenv.isDarwin then jdk7 else jdk8;
   jre = if stdenv.isDarwin then jre7 else jre8;
+  jre_headless = if stdenv.isDarwin then jre7 else jre8_headless;
 
   openshot-qt = callPackage ../applications/video/openshot-qt { };
 
@@ -5411,10 +5426,6 @@ with pkgs;
   sbcl = callPackage ../development/compilers/sbcl {};
   # For Maxima
   sbcl_1_3_12 = callPackage ../development/compilers/sbcl/1.3.12.nix { };
-  # For StumpWM
-  sbcl_1_2_5 = callPackage ../development/compilers/sbcl/1.2.5.nix {
-    clisp = clisp;
-  };
   # For ACL2
   sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix {
     clisp = clisp;
@@ -5423,7 +5434,7 @@ with pkgs;
   scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
   scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
   scala_2_11 = callPackage ../development/compilers/scala/2.11.nix { };
-  scala_2_12 = callPackage ../development/compilers/scala { };
+  scala_2_12 = callPackage ../development/compilers/scala { jre = jre8; };
   scala = scala_2_12;
 
   scalafmt = callPackage ../development/tools/scalafmt { };
@@ -5445,6 +5456,10 @@ with pkgs;
 
   squeak = callPackage ../development/compilers/squeak { };
 
+  squirrel-sql = callPackage ../development/tools/database/squirrel-sql {
+    drivers = [ mysql_jdbc postgresql_jdbc ];
+  };
+
   stalin = callPackage ../development/compilers/stalin { };
 
   metaBuildEnv = callPackage ../development/compilers/meta-environment/meta-build-env { };
@@ -7748,8 +7763,6 @@ with pkgs;
 
   jsoncpp = callPackage ../development/libraries/jsoncpp { };
 
-  jsoncpp_1_6_5 = callPackage ../development/libraries/jsoncpp/1.6.5 { };
-
   jsonnet = callPackage ../development/compilers/jsonnet { };
 
   libjson = callPackage ../development/libraries/libjson { };
@@ -8293,6 +8306,8 @@ with pkgs;
 
   libidn = callPackage ../development/libraries/libidn { };
 
+  libidn2 = callPackage ../development/libraries/libidn2 { };
+
   idnkit = callPackage ../development/libraries/idnkit { };
 
   libiec61883 = callPackage ../development/libraries/libiec61883 { };
@@ -8796,8 +8811,6 @@ with pkgs;
 
   mhddfs = callPackage ../tools/filesystems/mhddfs { };
 
-  ming = callPackage ../development/libraries/ming { };
-
   minizip = callPackage ../development/libraries/minizip { };
 
   miro = callPackage ../applications/video/miro {
@@ -10264,7 +10277,7 @@ with pkgs;
 
   diod = callPackage ../servers/diod { lua = lua5_1; };
 
-  #dnschain = callPackage ../servers/dnschain { };
+  dnschain = callPackage ../servers/dnschain { };
 
   dovecot = callPackage ../servers/mail/dovecot { };
   dovecot_pigeonhole = callPackage ../servers/mail/dovecot/plugins/pigeonhole { };
@@ -10484,8 +10497,6 @@ with pkgs;
 
   pies = callPackage ../servers/pies { };
 
-  portmap = callPackage ../servers/portmap { };
-
   rpcbind = callPackage ../servers/rpcbind { };
 
   mariadb = callPackage ../servers/sql/mariadb {
@@ -10749,6 +10760,8 @@ with pkgs;
 
   shaarli = callPackage ../servers/web-apps/shaarli { };
 
+  shaarli-material = callPackage ../servers/web-apps/shaarli/material-theme.nix { };
+
   axis2 = callPackage ../servers/http/tomcat/axis2 { };
 
   unifi = callPackage ../servers/unifi { };
@@ -10792,7 +10805,7 @@ with pkgs;
     python = python2; # Incompatible with Python 3x
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
-    fglrxCompat = config.xorg.fglrxCompat or false; # `config` because we have no `xorg.override`
+    abiCompat = config.xorg.abiCompat or null; # `config` because we have no `xorg.override`
   } // { inherit xlibsWrapper; } );
 
   xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
@@ -10861,6 +10874,8 @@ with pkgs;
 
   bluez5 = callPackage ../os-specific/linux/bluez/bluez5.nix { };
 
+  bluez4 = callPackage ../os-specific/linux/bluez { };
+
   # Needed for LibreOffice
   bluez5_28 = lowPrio (callPackage ../os-specific/linux/bluez/bluez5_28.nix { });
 
@@ -11078,6 +11093,8 @@ with pkgs;
 
   intel2200BGFirmware = callPackage ../os-specific/linux/firmware/intel2200BGFirmware { };
 
+  intel-ocl = callPackage ../os-specific/linux/intel-ocl { };
+
   iomelt = callPackage ../os-specific/linux/iomelt { };
 
   iotop = callPackage ../os-specific/linux/iotop { };
@@ -11156,8 +11173,6 @@ with pkgs;
     cross = assert targetPlatform != buildPlatform; targetPlatform;
   };
 
-  linuxHeaders_3_18 = callPackage ../os-specific/linux/kernel-headers/3.18.nix { };
-
   linuxHeaders_4_4 = callPackage ../os-specific/linux/kernel-headers/4.4.nix { };
 
   # We can choose:
@@ -11217,17 +11232,6 @@ with pkgs;
       ];
   };
 
-  linux_3_18 = callPackage ../os-specific/linux/kernel/linux-3.18.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
-  };
-
   linux_4_1 = callPackage ../os-specific/linux/kernel/linux-4.1.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
@@ -11332,6 +11336,8 @@ with pkgs;
 
     dpdk = callPackage ../os-specific/linux/dpdk { };
 
+    exfat-nofuse = callPackage ../os-specific/linux/exfat { };
+
     pktgen = callPackage ../os-specific/linux/pktgen { };
 
     odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };
@@ -11444,7 +11450,6 @@ with pkgs;
   linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi;
   linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10);
   linuxPackages_3_12 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_12);
-  linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18);
   linuxPackages_4_1 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_1);
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
@@ -12126,13 +12131,18 @@ with pkgs;
 
   league-of-moveable-type = callPackage ../data/fonts/league-of-moveable-type {};
 
-  liberation_ttf_from_source = callPackage ../data/fonts/redhat-liberation-fonts { };
-  liberation_ttf_binary = callPackage ../data/fonts/redhat-liberation-fonts/binary.nix { };
-  liberation_ttf = liberation_ttf_binary;
+  inherit (callPackages ../data/fonts/redhat-liberation-fonts { })
+    liberation_ttf_v1_from_source
+    liberation_ttf_v1_binary
+    liberation_ttf_v2_from_source
+    liberation_ttf_v2_binary;
+  liberation_ttf = liberation_ttf_v2_binary;
 
   liberationsansnarrow = callPackage ../data/fonts/liberationsansnarrow { };
   liberationsansnarrow_binary = callPackage ../data/fonts/liberationsansnarrow/binary.nix { };
 
+  liberastika = callPackage ../data/fonts/liberastika { };
+
   libertine = callPackage ../data/fonts/libertine { };
 
   libre-baskerville = callPackage ../data/fonts/libre-baskerville { };
@@ -12632,9 +12642,7 @@ with pkgs;
 
   cava = callPackage ../applications/audio/cava { };
 
-  cb2bib = callPackage ../applications/office/cb2bib {
-    inherit (xorg) libX11;
-  };
+  cb2bib = qt5.callPackage ../applications/office/cb2bib { };
 
   cbatticon = callPackage ../applications/misc/cbatticon { };
 
@@ -13147,7 +13155,7 @@ with pkgs;
 
   keepassx = callPackage ../applications/misc/keepassx { };
   keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { };
-  keepassx-community = callPackage ../applications/misc/keepassx/community.nix { };
+  keepassx-community = qt5.callPackage ../applications/misc/keepassx/community.nix { };
 
   inherit (gnome3) evince;
   evolution_data_server = gnome3.evolution_data_server;
@@ -13377,14 +13385,18 @@ with pkgs;
   xfontsel = callPackage ../applications/misc/xfontsel { };
   inherit (xorg) xlsfonts;
 
-  freerdpStable = callPackage ../applications/networking/remote/freerdp {
-    ffmpeg = ffmpeg_1;
+  freerdp = callPackage ../applications/networking/remote/freerdp {
+    inherit libpulseaudio;
+    inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good;
   };
-  freerdpUnstable = callPackage ../applications/networking/remote/freerdp/unstable.nix {
-    ffmpeg = ffmpeg_2;
+
+  freerdpUnstable = freerdp;
+
+  # This must go when weston v2 is released
+  freerdp_legacy = callPackage ../applications/networking/remote/freerdp/legacy.nix {
     cmake = cmake_2_8;
+    ffmpeg = ffmpeg_1;
   };
-  freerdp = freerdpUnstable; # freerdpStable is marked broken, please switch back to it once fixed
 
   freicoin = callPackage ../applications/misc/freicoin {
     boost = boost155;
@@ -13509,11 +13521,6 @@ with pkgs;
 
   gmu = callPackage ../applications/audio/gmu { };
 
-  gnash = callPackage ../applications/video/gnash {
-    inherit (gnome2) gtkglext;
-    xulrunner = firefox-unwrapped;
-  };
-
   gnome_mplayer = callPackage ../applications/video/gnome-mplayer {
     inherit (gnome2) GConf;
   };
@@ -14020,7 +14027,7 @@ with pkgs;
     bison = bison2;
   };
 
-  inherit (ocaml-ng.ocamlPackages_4_02) llpp;
+  inherit (ocaml-ng.ocamlPackages_4_04) llpp;
 
   lmms = callPackage ../applications/audio/lmms { };
 
@@ -14408,6 +14415,8 @@ with pkgs;
 
   notmuch-mutt = callPackage ../applications/networking/mailreaders/notmuch/mutt.nix { };
 
+  muchsync = callPackage ../applications/networking/mailreaders/notmuch/muchsync.nix { };
+
   notmuch-addrlookup = callPackage ../applications/networking/mailreaders/notmuch-addrlookup { };
 
   # Open Stack
@@ -14674,7 +14683,7 @@ with pkgs;
 
   qgroundcontrol = qt55.callPackage ../applications/science/robotics/qgroundcontrol { };
 
-  qjackctl = callPackage ../applications/audio/qjackctl { };
+  qjackctl = qt5.callPackage ../applications/audio/qjackctl { };
 
   qmidinet = callPackage ../applications/audio/qmidinet { };
 
@@ -15081,8 +15090,6 @@ with pkgs;
 
   stumpwm = callPackage ../applications/window-managers/stumpwm {
     version = "latest";
-    sbcl = sbcl_1_2_5;
-    lispPackages = lispPackagesFor (wrapLisp sbcl_1_2_5);
   };
 
   stumpwm-git = stumpwm.override {
@@ -15393,6 +15400,8 @@ with pkgs;
     spice_gtk = spice_gtk;
   };
 
+  virt-top = callPackage ../applications/virtualization/virt-top { };
+
   virtmanager = callPackage ../applications/virtualization/virt-manager {
     vte = gnome3.vte;
     dconf = gnome3.dconf;
@@ -15515,7 +15524,7 @@ with pkgs;
   };
 
   weston = callPackage ../applications/window-managers/weston {
-    freerdp = freerdpUnstable;
+    freerdp = freerdp_legacy;
   };
 
   windowlab = callPackage ../applications/window-managers/windowlab { };
@@ -16053,6 +16062,8 @@ with pkgs;
 
   gav = callPackage ../games/gav { };
 
+  gcs = callPackage ../games/gcs { };
+
   gemrb = callPackage ../games/gemrb { };
 
   ghostOne = callPackage ../servers/games/ghost-one { };
@@ -16137,7 +16148,7 @@ with pkgs;
 
   minecraft-server = callPackage ../games/minecraft-server { };
 
-  multimc = callPackage ../games/multimc { };
+  multimc = qt5.callPackage ../games/multimc { };
 
   minetest = callPackage ../games/minetest {
     libpng = libpng12;
@@ -16615,7 +16626,7 @@ with pkgs;
 
           kvirc = callPackage ../applications/networking/irc/kvirc { };
 
-          krename = callPackage ../applications/misc/krename {
+          krename = callPackage ../applications/misc/krename/kde4.nix {
             taglib = taglib_1_9;
           };
 
@@ -16751,6 +16762,8 @@ with pkgs;
     inherit (python3Packages) python pygobject3 pyxdg;
   };
 
+  redshift-plasma-applet = callPackage ../applications/misc/redshift-plasma-applet { };
+
   orion = callPackage ../misc/themes/orion {};
 
   albatross = callPackage ../misc/themes/albatross { };
@@ -16816,6 +16829,8 @@ with pkgs;
 
   bcftools = callPackage ../applications/science/biology/bcftools { };
 
+  ecopcr = callPackage ../applications/science/biology/ecopcr { };
+
   emboss = callPackage ../applications/science/biology/emboss { };
 
   htslib = callPackage ../development/libraries/science/biology/htslib { };
@@ -16968,6 +16983,8 @@ with pkgs;
 
   ### SCIENCE/PROGRAMMING
 
+  dafny = dotnetPackages.Dafny;
+
   plm = callPackage ../applications/science/programming/plm { };
 
   ### SCIENCE/LOGIC
@@ -16982,6 +16999,8 @@ with pkgs;
 
   aspino = callPackage ../applications/science/logic/aspino {};
 
+  boogie = dotnetPackages.Boogie;
+
   coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
     make = pkgs.gnumake3;
     inherit (ocamlPackages_3_12_1) ocaml findlib;
@@ -17447,6 +17466,10 @@ with pkgs;
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
+  flam3 = callPackage ../tools/graphics/flam3 { };
+
+  glee = callPackage ../tools/graphics/glee { };
+
   fakenes = callPackage ../misc/emulators/fakenes { };
 
   faust = self.faust2;
@@ -17530,6 +17553,8 @@ with pkgs;
 
   hplipWithPlugin_3_15_9 = hplip_3_15_9.override { withPlugin = true; };
 
+  illum = callPackage ../tools/system/illum { };
+
   # using the new configuration style proposal which is unstable
   jack1 = callPackage ../misc/jackaudio/jack1.nix { };
 
@@ -17835,7 +17860,7 @@ with pkgs;
   vips = callPackage ../tools/graphics/vips { };
   nip2 = callPackage ../tools/graphics/nip2 { };
 
-  vokoscreen = callPackage ../applications/video/vokoscreen { };
+  vokoscreen = qt5.callPackage ../applications/video/vokoscreen { };
 
   wavegain = callPackage ../applications/audio/wavegain { };
 
diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix
index 3c67d316f7c8..3e3ecdeea6cb 100644
--- a/pkgs/top-level/default.nix
+++ b/pkgs/top-level/default.nix
@@ -17,8 +17,14 @@
    evaluation is taking place, and the configuration from environment variables
    or dot-files. */
 
-{ # The system (e.g., `i686-linux') for which to build the packages.
-  system
+{ # The system packages will be built on. See the manual for the
+  # subtle division of labor between these two `*System`s and the three
+  # `*Platform`s.
+  localSystem
+
+  # The system packages will ultimately be run on. Null if the two should be the
+  # same.
+, crossSystem ? null
 
 , # Allow a configuration attribute set to be passed in as an argument.
   config ? {}
@@ -27,12 +33,9 @@
   overlays ? []
 
 , # A function booting the final package set for a specific standard
-  # environment. See below for the arguments given to that function,
-  # the type of list it returns.
+  # environment. See below for the arguments given to that function, the type of
+  # list it returns.
   stdenvStages ? import ../stdenv
-
-, crossSystem ? null
-, platform ? assert false; null
 } @ args:
 
 let # Rename the function arguments
@@ -51,10 +54,10 @@ in let
 
   # Allow setting the platform in the config file. Otherwise, let's use a
   # reasonable default.
-  platform =
-    args.platform
-    or ( config.platform
-      or ((import ./platforms.nix).selectPlatformBySystem system) );
+  localSystem =
+    { platform = (import ./platforms.nix).selectPlatformBySystem args.localSystem.system; }
+    // builtins.intersectAttrs { platform = null; } config
+    // args.localSystem;
 
   # A few packages make a new package set to draw their dependencies from.
   # (Currently to get a cross tool chain, or forced-i686 package.) Rather than
@@ -71,7 +74,8 @@ in let
   # To put this in concrete terms, this function is basically just used today to
   # use package for a different platform for the current platform (namely cross
   # compiling toolchains and 32-bit packages on x86_64). In both those cases we
-  # want the provided non-native `system` argument to affect the stdenv chosen.
+  # want the provided non-native `localSystem` argument to affect the stdenv
+  # chosen.
   nixpkgsFun = newArgs: import ./. (args // newArgs);
 
   # Partially apply some arguments for building bootstraping stage pkgs
@@ -83,24 +87,7 @@ in let
   boot = import ../stdenv/booter.nix { inherit lib allPackages; };
 
   stages = stdenvStages {
-    # One would think that `localSystem` and `crossSystem` overlap horribly with
-    # the three `*Platforms` (`buildPlatform`, `hostPlatform,` and
-    # `targetPlatform`; see `stage.nix` or the manual). Actually, those
-    # identifiers I, @Ericson2314, purposefully not used here to draw a subtle
-    # but important distinction:
-    #
-    # While the granularity of having 3 platforms is necessary to properly
-    # *build* packages, it is overkill for specifying the user's *intent* when
-    # making a build plan or package set. A simple "build vs deploy" dichotomy
-    # is adequate: the "sliding window" principle described in the manual shows
-    # how to interpolate between the these two "end points" to get the 3
-    # platform triple for each bootstrapping stage.
-    #
-    # Also, less philosophically but quite practically, `crossSystem` should be
-    # null when one doesn't want to cross-compile, while the `*Platform`s are
-    # always non-null. `localSystem` is always non-null.
-    localSystem = { inherit system platform; };
-    inherit lib crossSystem config overlays;
+    inherit lib localSystem crossSystem config overlays;
   };
 
   pkgs = boot stages;
diff --git a/pkgs/top-level/dotnet-packages.nix b/pkgs/top-level/dotnet-packages.nix
index c0a7adb1d7f8..71f2326b9379 100644
--- a/pkgs/top-level/dotnet-packages.nix
+++ b/pkgs/top-level/dotnet-packages.nix
@@ -220,6 +220,83 @@ let self = dotnetPackages // overrides; dotnetPackages = with self; {
 
   # SOURCE PACKAGES
 
+  Boogie = buildDotnetPackage rec {
+    baseName = "Boogie";
+    version = "2017-01-03";
+    name = "${baseName}-unstable-${version}";
+
+    src = fetchFromGitHub {
+      owner = "boogie-org";
+      repo = "boogie";
+      rev = "5e42f0dd2891b2b85a9198052e55592a2943b7ef";
+      sha256 = "1mjnf96hbn9abgzyvmrfxlhnm213290xb9wca7rnnl12i4fa4ahl";
+    };
+
+    buildInputs = [ dotnetPackages.NUnitRunners ];
+
+    xBuildFiles = [ "Source/Boogie.sln" ];
+
+    outputFiles = [ "Binaries/*" ];
+
+    postInstall = ''
+        mkdir -pv "$out/lib/dotnet/${baseName}"
+        ln -sv "${pkgs.z3}/bin/z3" "$out/lib/dotnet/${baseName}/z3.exe"
+    '';
+
+    meta = with stdenv.lib; {
+      description = "An intermediate verification language";
+      homepage = "https://github.com/boogie-org/boogie";
+      license = licenses.mspl;
+      maintainers = [ maintainers.taktoa ];
+      platforms = with platforms; (linux ++ darwin);
+    };
+  };
+
+  Dafny = buildDotnetPackage rec {
+    baseName = "Dafny";
+    version = "1.9.8";
+
+    src = fetchurl {
+      url = "https://github.com/Microsoft/dafny/archive/v${version}.tar.gz";
+      sha256 = "0n4pk4cv7d2zsn4xmyjlxvpfl9avq79r06c7kzmrng24p3k4qj6s";
+    };
+
+    preBuild = ''
+      ln -s ${pkgs.z3} Binaries/z3
+    '';
+
+    buildInputs = [ Boogie ];
+
+    xBuildFiles = [ "Source/Dafny.sln" ];
+    xBuildFlags = [ ];
+
+    outputFiles = [ "Binaries/*" ];
+
+    # Do not wrap the z3 executable, only dafny-related ones.
+    exeFiles = [ "Dafny*.exe" ];
+
+    # Dafny needs mono in its path.
+    makeWrapperArgs = "--set PATH ${mono}/bin";
+
+    # Boogie as an input is not enough. Boogie libraries need to be at the same
+    # place as Dafny ones. Same for "*.dll.mdb". No idea why or how to fix.
+    postFixup = ''
+      for lib in ${Boogie}/lib/dotnet/${Boogie.baseName}/*.dll{,.mdb}; do
+        ln -s $lib $out/lib/dotnet/${baseName}/
+      done
+      # We generate our own executable scripts
+      rm -f $out/lib/dotnet/${baseName}/dafny{,-server}
+    '';
+
+    meta = with stdenv.lib; {
+      description = "A programming language with built-in specification constructs";
+      homepage = "http://research.microsoft.com/dafny";
+      maintainers = with maintainers; [ layus ];
+      license = licenses.mit;
+      platforms = with platforms; (linux ++ darwin);
+    };
+  };
+
   Deedle = buildDotnetPackage rec {
     baseName = "Deedle";
     version = "1.2.0";
diff --git a/pkgs/top-level/impure.nix b/pkgs/top-level/impure.nix
index 6999b7428ba7..98094e931600 100644
--- a/pkgs/top-level/impure.nix
+++ b/pkgs/top-level/impure.nix
@@ -12,9 +12,11 @@ let
 
 in
 
-{ # Fallback: Assume we are building packages for the current (host, in GNU
-  # Autotools parlance) system.
-  system ? builtins.currentSystem
+{ # We combine legacy `system` and `platform` into `localSystem`, if
+  # `localSystem` was not passed. Strictly speaking, this is pure desugar, but
+  # it is most convient to do so before the impure `localSystem.system` default,
+  # so we do it now.
+  localSystem ? builtins.intersectAttrs { system = null; platform = null; } args
 
 , # Fallback: The contents of the configuration file found at $NIXPKGS_CONFIG or
   # $HOME/.config/nixpkgs/config.nix.
@@ -49,4 +51,13 @@ in
 , ...
 } @ args:
 
-import ./. (args // { inherit system config overlays; })
+# If `localSystem` was explicitly passed, legacy `system` and `platform` should
+# not be passed.
+assert args ? localSystem -> !(args ? system || args ? platform);
+
+import ./. (builtins.removeAttrs args [ "system" "platform" ] // {
+  inherit config overlays;
+  # Fallback: Assume we are building packages on the current (build, in GNU
+  # Autotools parlance) system.
+  localSystem = { system = builtins.currentSystem; } // localSystem;
+})
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index badbeaafed98..a5490970b728 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -137,9 +137,16 @@ let
       url = "https://github.com/keplerproject/luafilesystem/archive/v1_6_2.tar.gz";
       sha256 = "134azkxw84xp9g5qmzjsmcva629jm7plwcmjxkdzdg05vyd7kig1";
     };
+    preConfigure = "substituteInPlace config --replace 'CC= gcc' '';"
+    + stdenv.lib.optionalString stdenv.isDarwin ''
+      substituteInPlace config \
+      --replace 'LIB_OPTION= -shared' '###' \
+      --replace '#LIB_OPTION= -bundle' 'LIB_OPTION= -bundle'
+      substituteInPlace Makefile --replace '10.3' '10.5'
+    '';
     meta = {
       homepage = "https://github.com/keplerproject/luafilesystem";
-      hydraPlatforms = stdenv.lib.platforms.linux;
+      hydraPlatforms = stdenv.lib.platforms.unix;
       maintainers = with maintainers; [ flosse ];
     };
   };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 4f2a635e6ff1..bcca2aaf0f8f 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -142,6 +142,8 @@ let
 
     csv = callPackage ../development/ocaml-modules/csv { };
 
+    curses = callPackage ../development/ocaml-modules/curses { };
+
     custom_printf = callPackage ../development/ocaml-modules/custom_printf { };
 
     ctypes = callPackage ../development/ocaml-modules/ctypes { };
@@ -225,7 +227,9 @@ let
 
     jsonm = callPackage ../development/ocaml-modules/jsonm { };
 
-    lablgl = callPackage ../development/ocaml-modules/lablgl { };
+    lablgl = callPackage ../development/ocaml-modules/lablgl {
+      camlp5 = camlp5_strict;
+    };
 
     lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
       inherit (pkgs.gnome2) libgnomecanvas libglade gtksourceview;
@@ -307,10 +311,14 @@ let
 
     ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
 
+    ocaml_gettext = callPackage ../development/ocaml-modules/ocaml-gettext { };
+
     ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
 
     ocaml_http = callPackage ../development/ocaml-modules/http { };
 
+    ocaml_libvirt = callPackage ../development/ocaml-modules/ocaml-libvirt { };
+
     ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
 
     ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 477914e3836b..bafbb2441afa 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -152,6 +152,23 @@ in {
     };
   };
 
+  ansicolor = buildPythonPackage rec {
+    name = "ansicolor-${version}";
+    version = "0.2.4";
+
+    src = pkgs.fetchurl{
+      url = "mirror://pypi/a/ansicolor/${name}.tar.gz";
+      sha256 = "0zlkk9706xn5yshwzdn8xsfkim8iv44zsl6qjwg2f4gn62rqky1h";
+    };
+
+    meta = {
+      homepage = "https://github.com/numerodix/ansicolor/";
+      description = "A library to produce ansi color output and colored highlighting and diffing";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ andsild ];
+    };
+  };
+
   # packages defined elsewhere
 
   blivet = callPackage ../development/python-modules/blivet { };
@@ -655,6 +672,24 @@ in {
     };
   };
 
+  ansicolors = buildPythonPackage rec {
+    name    = "ansicolors-${version}";
+    version = "1.0.2";
+
+    src = self.fetchPypi {
+      pname = "ansicolors";
+      inherit version;
+      sha256 = "02lmh2fbqcwr98cq13l9ql0fvyad1dcb3ap3c5xq9qwjp45m6r3n";
+    };
+
+    meta = {
+      homepage = "https://github.com/verigak/colors/";
+      description = "ANSI colors for Python";
+      license = licenses.isc;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   asgiref = buildPythonPackage rec {
     name = "asgiref-${version}";
     version = "1.0.0";
@@ -3634,11 +3669,11 @@ in {
 
   certifi = buildPythonPackage rec {
     name = "certifi-${version}";
-    version = "2016.2.28";
+    version = "2017.1.23";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/c/certifi/${name}.tar.gz";
-      sha256 = "5e8eccf95924658c97b990b50552addb64f55e1e3dfe4880456ac1f287dc79d0";
+      sha256 = "1klrzl3hgvcf2mjk00g0k3kk1p2z27vzwnxivwar4vhjmjvpz1w1";
     };
 
     meta = {
@@ -5150,24 +5185,7 @@ in {
     };
   };
 
-  pytestpep257 = buildPythonPackage rec {
-     name = "pytest-pep257-${version}";
-     version = "0.0.1";
-
-     src = pkgs.fetchurl {
-       url = "mirror://pypi/p/pytest-pep257/${name}.tar.gz";
-       sha256 = "003vdkxpx37n0kjqpwgj3314hwk2jfz3nz58db7xh68bf8xy75lk";
-     };
-
-     buildInputs = with self; [ pytest ];
-     propagatedBuildInputs = with self ; [ pep257 ];
-
-     meta = {
-       homepage = https://github.com/anderslime/pytest-pep257;
-       description = "py.test plugin for PEP257";
-       license = licenses.mit;
-     };
-  };
+  pytest-pep257 = callPackage ../development/python-modules/pytest-pep257.nix { };
 
   pytest-raisesregexp = buildPythonPackage rec {
     name = "pytest-raisesregexp-${version}";
@@ -8148,6 +8166,17 @@ in {
     };
   };
 
+  lmdb = buildPythonPackage rec {
+    pname = "lmdb";
+    version = "0.92";
+    name = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "01nw6r08jkipx6v92kw49z34wmwikrpvc5j9xawdiyg1n2526wrx";
+    };
+  };
+
   logilab_astng = buildPythonPackage rec {
     name = "logilab-astng-0.24.3";
 
@@ -8338,7 +8367,7 @@ in {
   };
 
   ndg-httpsclient = buildPythonPackage rec {
-    version = "0.4.0";
+    version = "0.4.2";
     name = "ndg-httpsclient-${version}";
 
     propagatedBuildInputs = with self; [ pyopenssl ];
@@ -8346,8 +8375,8 @@ in {
     src = pkgs.fetchFromGitHub {
       owner = "cedadev";
       repo = "ndg_httpsclient";
-      rev = "v${version}";
-      sha256 = "1prv4j3wcy9kl5ndd5by543xp4cji9k35qncsl995w6sway34s1a";
+      rev = version;
+      sha256 = "1kk4knv029j0cicfiv23c1rayc1n3f1j3rhl0527gxiv0qv4jw8h";
     };
 
     # uses networking
@@ -8478,6 +8507,40 @@ in {
     };
   };
 
+  pants = buildPythonPackage rec {
+    pname   = "pantsbuild.pants";
+    version = "1.2.1";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "1bnzhhd2acwk7ckv56xzg2d9vxacl3k5bh13bsjxymnq3spm962w";
+    };
+
+    prePatch = ''
+      sed -E -i "s/'([[:alnum:].-]+)[=><][^']*'/'\\1'/g" setup.py
+    '';
+
+    # Unnecessary, and causes some really weird behavior around .class files, which
+    # this package bundles. See https://github.com/NixOS/nixpkgs/issues/22520.
+    dontStrip = true;
+
+    propagatedBuildInputs = with self; [
+      ansicolors beautifulsoup4 cffi coverage docutils fasteners futures
+      isort lmdb markdown mock packaging pathspec pep8 pex psutil pyflakes
+      pygments pystache pytestcov pytest pywatchman requests2 scandir
+      setproctitle setuptools six thrift wheel twitter-common-dirutil
+      twitter-common-confluence twitter-common-collections
+    ];
+
+    meta = {
+      description = "A build system for software projects in a variety of languages";
+      homepage = "http://www.pantsbuild.org/";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   paperwork-backend = buildPythonPackage rec {
     name = "paperwork-backend-${version}";
     version = "1.0.6";
@@ -8513,6 +8576,24 @@ in {
     };
   };
 
+  pathspec = buildPythonPackage rec {
+    pname   = "pathspec";
+    version = "0.3.4";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "0a37yrr2jhlg8aiynxivh2xqani7l9j725qxzrm7cm7m4rfcl1bn";
+    };
+
+    meta = {
+      description = "Utility library for gitignore-style pattern matching of file paths";
+      homepage = "https://github.com/cpburnz/python-path-specification";
+      license = licenses.mpl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   pathtools = buildPythonPackage rec {
     name = "pathtools-${version}";
     version = "0.1.2";
@@ -8651,6 +8732,27 @@ in {
     };
   };
 
+  pex = buildPythonPackage rec {
+    name = "pex-${version}";
+    version = "1.2.2";
+
+    src = self.fetchPypi {
+      pname  = "pex";
+      sha256 = "1nwrf03cd6jw24lxyaalj59fdm2infr9glabznkpaq65mjzwshl3";
+      inherit version;
+    };
+
+    # A few more dependencies I don't want to handle right now...
+    doCheck = false;
+
+    meta = {
+      description = "A library and tool for generating .pex (Python EXecutable) files";
+      homepage = "https://github.com/pantsbuild/pex";
+      license = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   pies = buildPythonPackage rec {
     name = "pies-2.6.5";
 
@@ -9349,6 +9451,9 @@ in {
     # Failing test on Python 3.x
     postPatch = '''' + optionalString isPy3k ''
       sed -i -e '70,84d' joblib/test/test_format_stack.py
+      # test_nested_parallel_warnings: ValueError: Non-zero return code: -9.
+      # Not sure why but it's nix-specific. Try removing for new joblib releases.
+      rm joblib/test/test_parallel.py
     '';
 
     meta = {
@@ -11200,11 +11305,11 @@ in {
   };
 
   flask = buildPythonPackage {
-    name = "flask-0.11.1";
+    name = "flask-0.12";
 
     src = pkgs.fetchurl {
-      url = "mirror://pypi/F/Flask/Flask-0.11.1.tar.gz";
-      sha256 = "03kbfll4sj3v5z7r31c7bhfpi11r1np076d4p1k2kg4yzcmkywdl";
+      url = "mirror://pypi/F/Flask/Flask-0.12.tar.gz";
+      sha256 = "12yasybryp33rdchsqgckf15zj4pjfam7ly5spmn2sijpv6h7s4k";
     };
 
     propagatedBuildInputs = with self; [ itsdangerous click werkzeug jinja2 ];
@@ -13894,11 +13999,11 @@ in {
 
 
   lxml = buildPythonPackage ( rec {
-    name = "lxml-3.7.0";
+    name = "lxml-3.7.2";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/l/lxml/${name}.tar.gz";
-      sha256 = "9c62eb2a1862e1ae285d7e7e3b7dc8772d387b19258086afcec143c6b7b8a5c9";
+      sha256 = "02j1wf3sh2qmswcz3rh0xvsb8jm63ifaiz2bkng93hyvc1iignar";
     };
 
     buildInputs = with self; [ pkgs.libxml2 pkgs.libxslt ];
@@ -17831,11 +17936,11 @@ in {
 
   requests-mock = buildPythonPackage rec {
     name = "requests-mock-${version}";
-    version = "0.6.0";
+    version = "1.3.0";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/r/requests-mock/${name}.tar.gz";
-      sha256 = "0gmd88c224y53b1ai8cfsrcxm9kw3gdqzysclmnaqspg7zjhxwd1";
+      sha256 = "0jr997dvk6zbmhvbpcv3rajrgag69mcsm1ai3w3rgk2jdh6rg1mx";
     };
 
     patchPhase = ''
@@ -18383,28 +18488,7 @@ in {
     };
   };
 
-  pep257 = buildPythonPackage rec {
-    name = "pep257-${version}";
-    version = "0.3.2";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/GreenSteam/pep257/archive/${version}.tar.gz";
-      sha256 = "0v8aq0xzsa7clazszxl42904c3jpq69lg8a5hg754bqcqf72hfrn";
-    };
-    LC_ALL="en_US.UTF-8";
-    buildInputs = with self; [ pkgs.glibcLocales pytest_29 ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    meta = {
-      homepage = https://github.com/GreenSteam/pep257/;
-      description = "Python docstring style checker";
-      longDescription = "Static analysis tool for checking compliance with Python PEP 257.";
-      lecense = licenses.mit;
-    };
-  };
+  pep257 = callPackage ../development/python-modules/pep257.nix { };
 
   percol = buildPythonPackage rec {
     name = "percol-${version}";
@@ -19985,6 +20069,9 @@ in {
       path_hack_script = "s|LoadLibrary(e_path)|LoadLibrary('${pkgs.enchant}/lib/' + e_path)|";
     in ''
       sed -i "${path_hack_script}" enchant/_enchant.py
+
+      # They hardcode a bad path for Darwin in their library search code
+      substituteInPlace enchant/_enchant.py --replace '/opt/local/lib/' ""
     '';
 
     # dictionaries needed for tests
@@ -20672,7 +20759,7 @@ in {
       for test in $disabledTests; do
         file="''${test%%:*}"
         fun="''${test#*:}"
-        echo "$fun = unittest.expectedFailure($fun)" >> "tests/tests_$file.py"
+        echo "$fun = unittest.skip($fun)" >> "tests/tests_$file.py"
       done
     '';
 
@@ -20970,11 +21057,11 @@ in {
 
   pysocks = buildPythonPackage rec {
     name = "pysocks-${version}";
-    version = "1.5.7";
+    version = "1.6.6";
 
     src = pkgs.fetchurl {
       url    = "mirror://pypi/P/PySocks/PySocks-${version}.tar.gz";
-      sha256 = "124bydbcspzhkb6ynckvgqra1b79rh5mrq98kbyyd202n6a7c775";
+      sha256 = "0h9zwr8z9j6l313ns335irjrkk6qnk4qzvwmjqygrp7mbwi9lh82";
     };
 
     doCheck = false;
@@ -24471,16 +24558,16 @@ in {
   sphinx = buildPythonPackage (rec {
     name = "${pname}-${version}";
     pname = "Sphinx";
-    version = "1.5.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-      sha256 = "8e6a77a20b2df950de322fc32f3b508697d9d654fe984e3cc88f446a5b4c17c5";
+    version = "1.5.2";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "049c48393909e4704a6ed4de76fd39c8622e165414660bfb767e981e7931c722";
     };
     LC_ALL = "en_US.UTF-8";
-    buildInputs = with self; [ nose simplejson mock pkgs.glibcLocales html5lib ] ++ optional (pythonOlder "3.4") self.enum34;
+    buildInputs = with self; [ pytest simplejson mock pkgs.glibcLocales html5lib ] ++ optional (pythonOlder "3.4") self.enum34;
     # Disable two tests that require network access.
     checkPhase = ''
-      NOSE_EXCLUDE=test_defaults,test_anchors_ignored make test
+      cd tests; ${python.interpreter} run.py --ignore py35 -k 'not test_defaults and not test_anchors_ignored'
     '';
     propagatedBuildInputs = with self; [
       docutils
@@ -24495,6 +24582,13 @@ in {
       imagesize
       requests2
     ];
+
+    # https://github.com/NixOS/nixpkgs/issues/22501
+    # Do not run `python sphinx-build arguments` but `sphinx-build arguments`.
+    postPatch = ''
+      substituteInPlace sphinx/make_mode.py --replace "sys.executable, " ""
+    '';
+
     meta = {
       description = "A tool that makes it easy to create intelligent and beautiful documentation for Python projects";
       homepage = http://sphinx.pocoo.org/;
@@ -25958,6 +26052,122 @@ in {
     };
   };
 
+  twitter-common-collections = buildPythonPackage rec {
+    pname   = "twitter.common.collections";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "0wf8ks6y2kalx2inzayq0w4kh3kg25daik1ac7r6y79i03fslsc5";
+    };
+
+    propagatedBuildInputs = with self; [ twitter-common-lang ];
+
+    meta = {
+      description = "Twitter's common collections";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  twitter-common-confluence = buildPythonPackage rec {
+    pname   = "twitter.common.confluence";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "1i2fjn23cmms81f1fhvvkg6hgzqpw07dlqg3ydz6cqv2glw7zq26";
+    };
+
+    propagatedBuildInputs = with self; [ twitter-common-log ];
+
+    meta = {
+      description = "Twitter's API to the confluence wiki";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  twitter-common-dirutil = buildPythonPackage rec {
+    pname   = "twitter.common.dirutil";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "1wpjfmmxsdwnbx5dl13is4zkkpfcm94ksbzas9y2qhgswfa9jqha";
+    };
+
+    propagatedBuildInputs = with self; [ twitter-common-lang ];
+
+    meta = {
+      description = "Utilities for manipulating and finding files and directories";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  twitter-common-lang = buildPythonPackage rec {
+    pname   = "twitter.common.lang";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "1l8fmnsrx7hgg3ivslg588rnl9n1gfjn2w6224fr8rs7zmkd5lan";
+    };
+
+    meta = {
+      description = "Twitter's 2.x / 3.x compatibility swiss-army knife";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  twitter-common-log = buildPythonPackage rec {
+    pname   = "twitter.common.log";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "1bdzbxx2bxwpf57xaxfz1nblzgfvhlidz8xqd7s84c62r3prh02v";
+    };
+
+    propagatedBuildInputs = with self; [ twitter-common-options twitter-common-dirutil ];
+
+    meta = {
+      description = "Twitter's common logging library";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
+  twitter-common-options = buildPythonPackage rec {
+    pname   = "twitter.common.options";
+    version = "0.3.9";
+    name    = "${pname}-${version}";
+
+    src = self.fetchPypi {
+      inherit pname version;
+      sha256 = "0d1czag5mcxg0vcnlklspl2dvdab9kmznsycj04d3vggi158ljrd";
+    };
+
+    meta = {
+      description = "Twitter's optparse wrapper";
+      homepage    = "https://twitter.github.io/commons/";
+      license     = licenses.asl20;
+      maintainers = with maintainers; [ copumpkin ];
+    };
+  };
+
   twine = buildPythonPackage rec {
     name = "twine-${version}";
     version = "1.8.1";
@@ -28708,20 +28918,27 @@ EOF
 
   searx = buildPythonPackage rec {
     name = "searx-${version}";
-    version = "0.10.0";
+    version = "0.11.0";
 
     src = pkgs.fetchFromGitHub {
       owner = "asciimoo";
       repo = "searx";
       rev = "v${version}";
-      sha256 = "0j9pnifcrm4kzziip43w2fgadsg1sqlcm7dfxhnshdx03nby2dy2";
+      sha256 = "1m6q7yd45lfk19yp30x1jmisff6npa1y348wqc9ixa3ywvb28ky8";
     };
 
-    patches = [ ../development/python-modules/searx.patch ];
+    postPatch = ''
+      substituteInPlace requirements.txt \
+        --replace 'certifi==2016.9.26' 'certifi' \
+        --replace 'pyyaml==3.11' 'pyyaml' \
+        --replace 'lxml==3.7.1' 'lxml' \
+        --replace 'pyopenssl==16.2.0' 'pyopenssl' \
+        --replace 'requests[socks]==2.12.4' 'requests[socks]'
+    '';
 
     propagatedBuildInputs = with self; [
-      pyyaml lxml_3_5 grequests flaskbabel flask requests2
-      gevent speaklater Babel pytz dateutil pygments_2_0
+      pyyaml lxml grequests flaskbabel flask requests2
+      gevent speaklater Babel pytz dateutil pygments
       pyasn1 pyasn1-modules ndg-httpsclient certifi pysocks
     ];
 
@@ -29806,6 +30023,23 @@ EOF
     '';
   };
 
+  neovim-remote = buildPythonPackage rec {
+    name = "neovim-remote-${version}";
+    version = "v1.4.0";
+    disabled = !isPy3k;
+
+    src = pkgs.fetchFromGitHub {
+      owner = "mhinz";
+      repo = "neovim-remote";
+      rev = version;
+      sha256 = "0msvfh27f56xj5ki59ikzavxz863nal5scm57n43618m49qzg8iz";
+    };
+
+    propagatedBuildInputs = [
+      self.neovim
+    ];
+  };
+
   ghp-import = buildPythonPackage rec {
     version = "0.4.1";
     name = "ghp-import-${version}";
@@ -29906,16 +30140,15 @@ EOF
   };
 
   jenkins-job-builder = buildPythonPackage rec {
-    name = "jenkins-job-builder-1.4.0";
+    name = "jenkins-job-builder-1.6.1";
     disabled = ! (isPy26 || isPy27);
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/j/jenkins-job-builder/${name}.tar.gz";
-      sha256 = "10zipq3dyyfhwvrcyk70zky07b0fssiahwig2h8daw977aszsfqb";
+      sha256 = "1v3xknfzgsp35nn3ma4imz233v569v3x75mx2yxlv1xf32nn7yk4";
     };
 
     patchPhase = ''
-      sed -i '/ordereddict/d' requirements.txt
       export HOME=$TMPDIR
     '';
 
diff --git a/pkgs/top-level/release-small.nix b/pkgs/top-level/release-small.nix
index 8ab27bc171d9..86fbb0bf1b81 100644
--- a/pkgs/top-level/release-small.nix
+++ b/pkgs/top-level/release-small.nix
@@ -127,12 +127,12 @@ with import ./release-lib.nix { inherit supportedSystems; };
   perl = all;
   pkgconfig = all;
   pmccabe = linux;
-  portmap = linux;
   procps = linux;
   python = allBut cygwin;
   readline = all;
   rlwrap = all;
   rpm = linux;
+  rpcbind = linux;
   rsync = linux;
   screen = linux ++ darwin;
   scrot = linux;