summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--lib/maintainers.nix3
-rw-r--r--nixos/doc/manual/release-notes/rl-1709.xml9
-rw-r--r--nixos/modules/installer/cd-dvd/sd-image-aarch64.nix3
-rw-r--r--nixos/modules/installer/tools/nix-fallback-paths.nix6
-rw-r--r--nixos/modules/installer/tools/nixos-install.sh14
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/rename.nix1
-rw-r--r--nixos/modules/services/mail/dovecot.nix114
-rw-r--r--nixos/modules/services/misc/gogs.nix2
-rw-r--r--nixos/modules/services/misc/logkeys.nix23
-rw-r--r--nixos/modules/services/networking/matterbridge.nix96
-rw-r--r--nixos/modules/services/networking/namecoind.nix2
-rw-r--r--nixos/modules/services/networking/squid.nix169
-rw-r--r--nixos/modules/services/networking/supplicant.nix25
-rw-r--r--nixos/modules/services/networking/tinc.nix6
-rw-r--r--nixos/modules/system/boot/systemd-unit-options.nix27
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix19
-rw-r--r--nixos/modules/virtualisation/google-compute-image.nix2
-rw-r--r--nixos/release-combined.nix4
-rw-r--r--nixos/release.nix3
-rw-r--r--nixos/tests/acme.nix4
-rw-r--r--nixos/tests/dovecot.nix64
-rw-r--r--nixos/tests/hardened.nix10
-rw-r--r--nixos/tests/kernel-params.nix24
-rw-r--r--nixos/tests/misc.nix15
-rw-r--r--nixos/tests/sysctl.nix25
-rw-r--r--pkgs/applications/altcoins/go-ethereum.nix9
-rw-r--r--pkgs/applications/audio/mopidy-gmusic/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/packages.nix6
-rw-r--r--pkgs/applications/editors/emacs/macport.nix8
-rw-r--r--pkgs/applications/graphics/PythonMagick/default.nix2
-rw-r--r--pkgs/applications/graphics/awesomebump/default.nix5
-rw-r--r--pkgs/applications/graphics/gocr/default.nix11
-rw-r--r--pkgs/applications/graphics/krita/default.nix11
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--pkgs/applications/kde/default.nix1
-rw-r--r--pkgs/applications/kde/libksane.nix16
-rw-r--r--pkgs/applications/misc/blender/default.nix8
-rw-r--r--pkgs/applications/misc/doomseeker/default.nix4
-rw-r--r--pkgs/applications/misc/k2pdfopt/default.nix183
-rw-r--r--pkgs/applications/misc/k2pdfopt/k2pdfopt.patch152
-rw-r--r--pkgs/applications/misc/k2pdfopt/tesseract.patch13
-rw-r--r--pkgs/applications/misc/monero/default.nix5
-rw-r--r--pkgs/applications/misc/pitz/default.nix34
-rw-r--r--pkgs/applications/networking/browsers/chromium/browser.nix3
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix5
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch11
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch14
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch66
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch27
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r8.patch (renamed from pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r8.patch)0
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix2
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix21
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/gns3/server.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix14
-rw-r--r--pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix69
-rwxr-xr-xpkgs/applications/networking/instant-messengers/telepathy/kde/update.sh38
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/default.nix10
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix32
-rw-r--r--pkgs/applications/networking/nntp-proxy/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix1
-rw-r--r--pkgs/applications/office/libreoffice/default-primary-src.nix4
-rw-r--r--pkgs/applications/office/libreoffice/default.nix24
-rwxr-xr-xpkgs/applications/office/libreoffice/generate-libreoffice-srcs.py32
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix309
-rw-r--r--pkgs/applications/office/libreoffice/libreoffice-srcs.nix396
-rw-r--r--pkgs/applications/office/libreoffice/still-primary-src.nix6
-rw-r--r--pkgs/applications/office/libreoffice/still.nix18
-rw-r--r--pkgs/applications/office/libreoffice/xdg-open-brief.patch13
-rw-r--r--pkgs/applications/office/skanlite/default.nix33
-rw-r--r--pkgs/applications/science/logic/lean/default.nix4
-rw-r--r--pkgs/applications/science/logic/mcrl2/default.nix4
-rw-r--r--pkgs/applications/science/math/mxnet/default.nix43
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix16
-rw-r--r--pkgs/applications/window-managers/yabar/build.nix3
-rw-r--r--pkgs/build-support/buildenv/default.nix5
-rw-r--r--pkgs/build-support/docker/default.nix15
-rw-r--r--pkgs/build-support/docker/examples.nix2
-rw-r--r--pkgs/build-support/docker/pull.nix32
-rw-r--r--pkgs/build-support/fetchrepoproject/default.nix73
-rw-r--r--pkgs/build-support/setup-hooks/autoreconf.sh4
-rw-r--r--pkgs/desktops/gnome-3/3.24/core/gnome-shell-extensions/default.nix2
-rw-r--r--pkgs/desktops/kde-4.14/kde-package/4.14.3.nix3
-rw-r--r--pkgs/desktops/kde-4.14/kde-workspace.nix41
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix13
-rw-r--r--pkgs/development/compilers/dmd/2.067.1.nix1
-rw-r--r--pkgs/development/compilers/dmd/default.nix21
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/default.nix70
-rw-r--r--pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix54
-rw-r--r--pkgs/development/compilers/ghc/7.2.2.nix1
-rw-r--r--pkgs/development/compilers/julia/0.6.nix188
-rw-r--r--pkgs/development/compilers/ldc/default.nix98
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.7/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.8/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix2
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix2
-rw-r--r--pkgs/development/compilers/mono/llvm.nix2
-rw-r--r--pkgs/development/compilers/tinycc/default.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix13
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix14
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml84
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2140
-rw-r--r--pkgs/development/interpreters/perl/default.nix3
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix6
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/default.nix1
-rw-r--r--pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch51
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/default.nix1
-rw-r--r--pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch51
-rw-r--r--pkgs/development/interpreters/ruby/default.nix8
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix2
-rw-r--r--pkgs/development/libraries/aspell/aspell-with-dicts.nix37
-rw-r--r--pkgs/development/libraries/cloog/0.18.0.nix3
-rw-r--r--pkgs/development/libraries/cppunit/default.nix11
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.3.nix4
-rw-r--r--pkgs/development/libraries/gmime/2.nix (renamed from pkgs/development/libraries/gmime/default.nix)10
-rw-r--r--pkgs/development/libraries/gmime/3.nix27
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix3
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix4
-rw-r--r--pkgs/development/libraries/gtkmm/3.x.nix4
-rw-r--r--pkgs/development/libraries/isl/0.14.1.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix600
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix3
-rw-r--r--pkgs/development/libraries/libelf/default.nix3
-rw-r--r--pkgs/development/libraries/libffi/default.nix6
-rw-r--r--pkgs/development/libraries/libipfix/default.nix2
-rw-r--r--pkgs/development/libraries/libmpc/default.nix3
-rw-r--r--pkgs/development/libraries/mpfr/default.nix3
-rw-r--r--pkgs/development/libraries/opencollada/default.nix11
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix4
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix10
-rw-r--r--pkgs/development/libraries/zlib/default.nix3
-rw-r--r--pkgs/development/pharo/launcher/default.nix2
-rw-r--r--pkgs/development/python-modules/aiohttp/cors.nix24
-rw-r--r--pkgs/development/python-modules/altair/default.nix2
-rw-r--r--pkgs/development/python-modules/arelle/default.nix27
-rw-r--r--pkgs/development/python-modules/arelle/tests.patch32
-rw-r--r--pkgs/development/python-modules/backports_csv/default.nix21
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix4
-rw-r--r--pkgs/development/python-modules/cachetools/1.nix18
-rw-r--r--pkgs/development/python-modules/cachetools/default.nix18
-rw-r--r--pkgs/development/python-modules/cccolutils/default.nix22
-rw-r--r--pkgs/development/python-modules/cffi/default.nix9
-rw-r--r--pkgs/development/python-modules/cld2-cffi/default.nix27
-rw-r--r--pkgs/development/python-modules/cram/default.nix2
-rw-r--r--pkgs/development/python-modules/cx_freeze/default.nix28
-rw-r--r--pkgs/development/python-modules/fedpkg/default.nix26
-rw-r--r--pkgs/development/python-modules/hcs_utils/default.nix32
-rw-r--r--pkgs/development/python-modules/hglib/default.nix26
-rw-r--r--pkgs/development/python-modules/ijson/default.nix21
-rw-r--r--pkgs/development/python-modules/internetarchive/default.nix48
-rw-r--r--pkgs/development/python-modules/jedi/default.nix19
-rw-r--r--pkgs/development/python-modules/koji/default.nix12
-rw-r--r--pkgs/development/python-modules/mdp/default.nix25
-rw-r--r--pkgs/development/python-modules/moto/default.nix32
-rw-r--r--pkgs/development/python-modules/nilearn/default.nix31
-rw-r--r--pkgs/development/python-modules/openidc-client/default.nix22
-rw-r--r--pkgs/development/python-modules/ptpython/default.nix25
-rw-r--r--pkgs/development/python-modules/pyemd/default.nix22
-rw-r--r--pkgs/development/python-modules/pyphen/default.nix19
-rw-r--r--pkgs/development/python-modules/python_fedora/default.nix23
-rw-r--r--pkgs/development/python-modules/pywebdav/default.nix16
-rw-r--r--pkgs/development/python-modules/rpkg-buildfix.diff11
-rw-r--r--pkgs/development/python-modules/rpkg/default.nix28
-rw-r--r--pkgs/development/python-modules/rpmfluff/default.nix20
-rw-r--r--pkgs/development/python-modules/schema/default.nix21
-rw-r--r--pkgs/development/python-modules/spacy/models.json42
-rw-r--r--pkgs/development/python-modules/spacy/models.nix26
-rw-r--r--pkgs/development/python-modules/textacy/default.nix65
-rw-r--r--pkgs/development/python-modules/unidecode/default.nix23
-rw-r--r--pkgs/development/python-modules/urlgrabber/default.nix24
-rw-r--r--pkgs/development/python-modules/wheel/default.nix9
-rw-r--r--pkgs/development/tools/analysis/valgrind/default.nix10
-rw-r--r--pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch37
-rw-r--r--pkgs/development/tools/dtools/default.nix7
-rw-r--r--pkgs/development/tools/irony-server/default.nix2
-rw-r--r--pkgs/development/tools/misc/binutils/default.nix3
-rw-r--r--pkgs/development/tools/misc/gnum4/default.nix3
-rw-r--r--pkgs/development/tools/misc/jscoverage/default.nix4
-rw-r--r--pkgs/development/tools/misc/jscoverage/jsfalse_to_null.patch26
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/lttng-ust/default.nix4
-rw-r--r--pkgs/development/tools/misc/patchelf/default.nix3
-rw-r--r--pkgs/development/tools/misc/texinfo/6.3.nix3
-rw-r--r--pkgs/development/tools/parsing/bison/3.x.nix3
-rw-r--r--pkgs/development/tools/rtags/default.nix4
-rw-r--r--pkgs/games/zandronum/add_gitinfo.patch15
-rw-r--r--pkgs/games/zandronum/bin.nix83
-rw-r--r--pkgs/games/zandronum/default.nix38
-rw-r--r--pkgs/games/zandronum/dont_update_gitinfo.patch19
-rw-r--r--pkgs/games/zandronum/sqlite.nix (renamed from pkgs/development/libraries/sqlite-amalgamation/default.nix)13
-rw-r--r--pkgs/games/zandronum/zan_configure_impurity.patch65
-rw-r--r--pkgs/misc/themes/clearlooks-phenix/default.nix (renamed from pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix)4
-rw-r--r--pkgs/misc/themes/numix/default.nix6
-rw-r--r--pkgs/misc/themes/zuki/default.nix21
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/frameworks.nix3
-rw-r--r--pkgs/os-specific/darwin/binutils/default.nix2
-rw-r--r--pkgs/os-specific/darwin/duti/default.nix30
-rw-r--r--pkgs/os-specific/linux/evdi/default.nix2
-rw-r--r--pkgs/os-specific/linux/hostapd/default.nix8
-rw-r--r--pkgs/os-specific/linux/kernel-headers/4.4.nix7
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix29
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix32
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix22
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.12.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.13.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix11
-rw-r--r--pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-samus-4.12.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix13
-rw-r--r--pkgs/os-specific/linux/lttng-modules/default.nix7
-rw-r--r--pkgs/os-specific/linux/netatop/default.nix1
-rw-r--r--pkgs/os-specific/linux/paxctl/default.nix3
-rw-r--r--pkgs/os-specific/linux/sch_cake/default.nix1
-rw-r--r--pkgs/os-specific/linux/spl/default.nix91
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix2
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix259
-rw-r--r--pkgs/servers/amqp/rabbitmq-server/default.nix8
-rw-r--r--pkgs/servers/caddy/default.nix16
-rw-r--r--pkgs/servers/http/nginx/modules.nix4
-rw-r--r--pkgs/servers/matterbridge/default.nix21
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/nosql/arangodb/default.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools-cross.nix4
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix23
-rw-r--r--pkgs/tools/cd-dvd/cdrkit/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/nrg2iso/default.nix2
-rw-r--r--pkgs/tools/cd-dvd/xorriso/default.nix4
-rw-r--r--pkgs/tools/compression/xz/default.nix3
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix2
-rw-r--r--pkgs/tools/misc/coreutils/default.nix3
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix20
-rw-r--r--pkgs/tools/misc/fpart/default.nix42
-rw-r--r--pkgs/tools/misc/neofetch/default.nix16
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/telepresence/default.nix47
-rw-r--r--pkgs/tools/networking/tinc/pre.nix18
-rw-r--r--pkgs/tools/package-management/niff/default.nix34
-rw-r--r--pkgs/tools/package-management/nix/default.nix14
-rw-r--r--pkgs/tools/package-management/nox/default.nix4
-rw-r--r--pkgs/tools/security/opensc/default.nix5
-rw-r--r--pkgs/tools/system/netdata/default.nix4
-rw-r--r--pkgs/tools/system/netdata/web_access.patch8
-rw-r--r--pkgs/tools/system/which/default.nix3
-rw-r--r--pkgs/tools/video/swfmill/default.nix3
-rw-r--r--pkgs/top-level/all-packages.nix128
-rw-r--r--pkgs/top-level/python-packages.nix489
259 files changed, 5430 insertions, 3590 deletions
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index a78539ffb6d..9f4c31a3e4d 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -304,7 +304,7 @@
   kiloreux = "Kiloreux Emperex <kiloreux@gmail.com>";
   kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
   knedlsepp = "Josef Kemetmüller <josef.kemetmueller@gmail.com>";
-  konimex = "Muhammad Herdiansyah <herdiansyah@openmailbox.org>";
+  konimex = "Muhammad Herdiansyah <herdiansyah@netc.eu>";
   koral = "Koral <koral@mailoo.org>";
   kovirobi = "Kovacsics Robert <kovirobi@gmail.com>";
   kragniz = "Louis Taylor <louis@kragniz.eu>";
@@ -583,6 +583,7 @@
   thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
   the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
   theuni = "Christian Theune <ct@flyingcircus.io>";
+  ThomasMader = "Thomas Mader <thomas.mader@gmail.com>";
   thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
   timbertson = "Tim Cuthbertson <tim@gfxmonk.net>";
   titanous = "Jonathan Rudenberg <jonathan@titanous.com>";
diff --git a/nixos/doc/manual/release-notes/rl-1709.xml b/nixos/doc/manual/release-notes/rl-1709.xml
index a1e44381801..f271451970a 100644
--- a/nixos/doc/manual/release-notes/rl-1709.xml
+++ b/nixos/doc/manual/release-notes/rl-1709.xml
@@ -255,6 +255,15 @@ rmdir /var/lib/ipfs/.ipfs
       See the overlays chapter of the Nixpkgs manual for more details.
     </para>
   </listitem>
+  <listitem>
+    <para>
+      <literal>sha256</literal> argument value of
+      <literal>dockerTools.pullImage</literal> expression must be
+      updated since the mechanism to download the image has been
+      changed. Skopeo is now used to pull the image instead of the
+      Docker daemon.
+    </para>
+  </listitem>
 
 </itemizedlist>
 
diff --git a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
index 063ffb191ee..8d80ceff84e 100644
--- a/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
+++ b/nixos/modules/installer/cd-dvd/sd-image-aarch64.nix
@@ -27,7 +27,8 @@ in
   boot.loader.generic-extlinux-compatible.enable = true;
 
   boot.kernelPackages = pkgs.linuxPackages_latest;
-  boot.kernelParams = ["console=ttyS0,115200n8" "console=tty0"];
+  # Increase the amount of CMA to ensure the virtual console on the RPi3 works.
+  boot.kernelParams = ["cma=32M" "console=ttyS0,115200n8" "console=tty0"];
   boot.consoleLogLevel = 7;
 
   # FIXME: this probably should be in installation-device.nix
diff --git a/nixos/modules/installer/tools/nix-fallback-paths.nix b/nixos/modules/installer/tools/nix-fallback-paths.nix
index 62c292eea6d..321fb9a2030 100644
--- a/nixos/modules/installer/tools/nix-fallback-paths.nix
+++ b/nixos/modules/installer/tools/nix-fallback-paths.nix
@@ -1,5 +1,5 @@
 {
-  x86_64-linux = "/nix/store/xrqssm90gsrnqdn79rpfcs6dwx8597d2-nix-1.11.14";
-  i686-linux = "/nix/store/3vjphivqs2iy6m9yb3bd80nd3518510k-nix-1.11.14";
-  x86_64-darwin = "/nix/store/4j9jacx8mjd4jlj53wvymyhxq7dqyj5d-nix-1.11.14";
+  x86_64-linux = "/nix/store/b4s1gxiis1ryvybnjhdjvgc5sr1nq0ys-nix-1.11.15";
+  i686-linux = "/nix/store/kgb5hs7qw13bvb6icramv1ry9dard3h9-nix-1.11.15";
+  x86_64-darwin = "/nix/store/dgwz3dxdzs2wwd7pg7cdhvl8rv0qpnbj-nix-1.11.15";
 }
diff --git a/nixos/modules/installer/tools/nixos-install.sh b/nixos/modules/installer/tools/nixos-install.sh
index 087fbcd4512..79ed18c923c 100644
--- a/nixos/modules/installer/tools/nixos-install.sh
+++ b/nixos/modules/installer/tools/nixos-install.sh
@@ -106,8 +106,11 @@ extraBuildFlags+=(--option "build-users-group" "$buildUsersGroup")
 binary_caches="$(@perl@/bin/perl -I @nix@/lib/perl5/site_perl/*/* -e 'use Nix::Config; Nix::Config::readConfig; print $Nix::Config::config{"binary-caches"};')"
 extraBuildFlags+=(--option "binary-caches" "$binary_caches")
 
-nixpkgs="$(readlink -f "$(nix-instantiate --find-file nixpkgs)")"
-export NIX_PATH="nixpkgs=$nixpkgs:nixos-config=$mountPoint/$NIXOS_CONFIG"
+# We only need nixpkgs in the path if we don't already have a system closure to install
+if [[ -z "$closure" ]]; then
+    nixpkgs="$(readlink -f "$(nix-instantiate --find-file nixpkgs)")"
+    export NIX_PATH="nixpkgs=$nixpkgs:nixos-config=$mountPoint/$NIXOS_CONFIG"
+fi
 unset NIXOS_CONFIG
 
 # TODO: do I need to set NIX_SUBSTITUTERS here or is the --option binary-caches above enough?
@@ -123,6 +126,9 @@ function closure() {
 }
 
 system_closure="$tmpdir/system.closure"
+# Use a FIFO for piping nix-store --export into nix-store --import, saving disk
+# I/O and space. nix-store --import is run by nixos-prepare-root.
+mkfifo $system_closure
 
 if [ -z "$closure" ]; then
     expr="(import <nixpkgs/nixos> {}).system"
@@ -132,7 +138,9 @@ else
     system_root=$closure
     # Create a temporary file ending in .closure (so nixos-prepare-root knows to --import it) to transport the store closure
     # to the filesytem we're preparing. Also delete it on exit!
-    nix-store --export $(nix-store -qR $closure) > $system_closure
+    # Run in background to avoid blocking while trying to write to the FIFO
+    # $system_closure refers to
+    nix-store --export $(nix-store -qR $closure) > $system_closure &
 fi
 
 channel_root="$(nix-env -p /nix/var/nix/profiles/per-user/root/channels -q nixos --no-name --out-path 2>/dev/null || echo -n "")"
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9ebac8852bb..d40b4a1361b 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -305,6 +305,7 @@
   #./services/misc/ihaskell.nix
   ./services/misc/irkerd.nix
   ./services/misc/jackett.nix
+  ./services/misc/logkeys.nix
   ./services/misc/leaps.nix
   ./services/misc/mantisbt.nix
   ./services/misc/mathics.nix
@@ -460,6 +461,7 @@
   ./services/networking/lldpd.nix
   ./services/networking/logmein-hamachi.nix
   ./services/networking/mailpile.nix
+  ./services/networking/matterbridge.nix
   ./services/networking/mjpg-streamer.nix
   ./services/networking/minidlna.nix
   ./services/networking/miniupnpd.nix
@@ -510,6 +512,7 @@
   ./services/networking/smokeping.nix
   ./services/networking/softether.nix
   ./services/networking/spiped.nix
+  ./services/networking/squid.nix
   ./services/networking/sslh.nix
   ./services/networking/ssh/lshd.nix
   ./services/networking/ssh/sshd.nix
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index fcf4c32d277..deff4067957 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -192,7 +192,6 @@ with lib;
       "Set the option `services.xserver.displayManager.sddm.package' instead.")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "forceAutohint" ] "")
     (mkRemovedOptionModule [ "fonts" "fontconfig" "renderMonoTTFAsBitmap" ] "")
-    (mkRemovedOptionModule [ "boot" "zfs" "enableUnstable" ] "0.7.0 is now the default")
 
     # ZSH
     (mkRenamedOptionModule [ "programs" "zsh" "enableSyntaxHighlighting" ] [ "programs" "zsh" "syntaxHighlighting" "enable" ])
diff --git a/nixos/modules/services/mail/dovecot.nix b/nixos/modules/services/mail/dovecot.nix
index 3b25e41edb1..6057acc531a 100644
--- a/nixos/modules/services/mail/dovecot.nix
+++ b/nixos/modules/services/mail/dovecot.nix
@@ -9,6 +9,8 @@ let
   baseDir = "/run/dovecot2";
   stateDir = "/var/lib/dovecot";
 
+  canCreateMailUserGroup = cfg.mailUser != null && cfg.mailGroup != null;
+
   dovecotConf = concatStrings [
     ''
       base_dir = ${baseDir}
@@ -60,6 +62,39 @@ let
       }
     '')
 
+    ''
+      protocol imap {
+        namespace inbox {
+          inbox=yes
+          ${concatStringsSep "\n" (map mailboxConfig cfg.mailboxes)}
+        }
+      }
+    ''
+
+    (optionalString cfg.enableQuota ''
+      mail_plugins = $mail_plugins quota
+      service quota-status {
+        executable = ${dovecotPkg}/libexec/dovecot/quota-status -p postfix
+        inet_listener {
+          port = ${cfg.quotaPort}
+        }
+        client_limit = 1
+      }
+
+      protocol imap {
+        mail_plugins = $mail_plugins imap_quota
+      }
+
+      plugin {
+        quota_rule = *:storage=${cfg.quotaGlobalPerUser} 
+        quota = maildir:User quota # per virtual mail user quota # BUG/FIXME broken, we couldn't get this working
+        quota_status_success = DUNNO
+        quota_status_nouser = DUNNO
+        quota_status_overquota = "552 5.2.2 Mailbox is full"
+        quota_grace = 10%%
+      }
+    '')
+
     cfg.extraConfig
   ];
 
@@ -68,6 +103,34 @@ let
     paths = map (pkg: "${pkg}/lib/dovecot") ([ dovecotPkg ] ++ map (module: module.override { dovecot = dovecotPkg; }) cfg.modules);
   };
 
+  mailboxConfig = mailbox: ''
+    mailbox ${mailbox.name} {
+      auto = ${toString mailbox.auto}
+  '' + optionalString (mailbox.specialUse != null) ''
+      special_use = \${toString mailbox.specialUse}
+  '' + "}";
+
+  mailboxes = { lib, pkgs, ... }: {
+    options = {
+      name = mkOption {
+        type = types.str;
+        example = "Spam";
+        description = "The name of the mailbox.";
+      };
+      auto = mkOption {
+        type = types.enum [ "no" "create" "subscribe" ];
+        default = "no";
+        example = "subscribe";
+        description = "Whether to automatically create or create and subscribe to the mailbox or not.";
+      };
+      specialUse = mkOption {
+        type = types.nullOr (types.enum [ "All" "Archive" "Drafts" "Flagged" "Junk" "Sent" "Trash" ]);
+        default = null;
+        example = "Junk";
+        description = "Null if no special use flag is set. Other than that every use flag mentioned in the RFC is valid.";
+      };
+    };
+  };
 in
 {
 
@@ -76,7 +139,7 @@ in
 
     enablePop3 = mkOption {
       type = types.bool;
-      default = true;
+      default = false;
       description = "Start the POP3 listener (when Dovecot is enabled).";
     };
 
@@ -145,6 +208,14 @@ in
       description = "Default group to store mail for virtual users.";
     };
 
+    createMailUser = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''Whether to automatically create the user
+        given in <option>services.dovecot.user</option> and the group
+        given in <option>services.dovecot.group</option>.'';
+    };
+
     modules = mkOption {
       type = types.listOf types.package;
       default = [];
@@ -191,6 +262,36 @@ in
       default = false;
       description = "Show the PAM failure message on authentication error (useful for OTPW).";
     };
+
+    mailboxes = mkOption {
+      type = types.listOf (types.submodule mailboxes);
+      default = [];
+      example = [ { name = "Spam"; specialUse = "Junk"; auto = "create"; } ];
+      description = "Configure mailboxes and auto create or subscribe them.";
+    };
+
+    enableQuota = mkOption {
+      type = types.bool;
+      default = false;
+      example = true;
+      description = "Whether to enable the dovecot quota service.";
+    };
+
+    quotaPort = mkOption {
+      type = types.str;
+      default = "12340";
+      description = ''
+        The Port the dovecot quota service binds to.
+        If using postfix, add check_policy_service inet:localhost:12340 to your smtpd_recipient_restrictions in your postfix config.
+      '';
+    };
+    quotaGlobalPerUser = mkOption {
+      type = types.str;
+      default = "100G";
+      example = "10G";
+      description = "Quota limit for the user in bytes. Supports suffixes b, k, M, G, T and %.";
+    };
+
   };
 
 
@@ -214,11 +315,20 @@ in
            uid = config.ids.uids.dovecot2;
            description = "Dovecot user";
            group = cfg.group;
-         };
+         }
+      ++ optional (cfg.createMailUser && cfg.mailUser != null)
+         ({ name = cfg.mailUser;
+            description = "Virtual Mail User";
+         } // optionalAttrs (cfg.mailGroup != null) {
+           group = cfg.mailGroup;
+         });
 
     users.extraGroups = optional (cfg.group == "dovecot2")
       { name = "dovecot2";
         gid = config.ids.gids.dovecot2;
+      }
+    ++ optional (cfg.createMailUser && cfg.mailGroup != null)
+      { name = cfg.mailGroup;
       };
 
     environment.etc."dovecot/modules".source = modulesDir;
diff --git a/nixos/modules/services/misc/gogs.nix b/nixos/modules/services/misc/gogs.nix
index ad2e36d04d5..d6e827a53fd 100644
--- a/nixos/modules/services/misc/gogs.nix
+++ b/nixos/modules/services/misc/gogs.nix
@@ -257,7 +257,7 @@ in
         in the Nix store. Use database.passwordFile instead.'';
 
     # Create database passwordFile default when password is configured.
-    services.gogs.database.passwordFile = mkIf (cfg.database.password != "")
+    services.gogs.database.passwordFile =
       (mkDefault (toString (pkgs.writeTextFile {
         name = "gogs-database-password";
         text = cfg.database.password;
diff --git a/nixos/modules/services/misc/logkeys.nix b/nixos/modules/services/misc/logkeys.nix
new file mode 100644
index 00000000000..6051c884465
--- /dev/null
+++ b/nixos/modules/services/misc/logkeys.nix
@@ -0,0 +1,23 @@
+{ config, lib, ... }:
+
+with lib;
+
+let
+  cfg = config.services.logkeys;
+in {
+  options.services.logkeys = {
+    enable = mkEnableOption "logkeys service";
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.logkeys = {
+      description = "LogKeys Keylogger Daemon";
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = "${pkgs.logkeys}/bin/logkeys -s";
+        ExecStop = "${pkgs.logkeys}/bin/logkeys -k";
+        Type = "forking";
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/matterbridge.nix b/nixos/modules/services/networking/matterbridge.nix
new file mode 100644
index 00000000000..5526e2ba23a
--- /dev/null
+++ b/nixos/modules/services/networking/matterbridge.nix
@@ -0,0 +1,96 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.matterbridge;
+
+  matterbridgeConfToml = pkgs.writeText "matterbridge.toml" (cfg.configFile);
+
+in
+
+{
+  options = {
+    services.matterbridge = {
+      enable = mkEnableOption "Matterbridge chat platform bridge";
+
+      configFile = mkOption {
+        type = types.str;
+        example = ''
+          #WARNING: as this file contains credentials, be sure to set correct file permissions          [irc]
+              [irc.freenode]
+              Server="irc.freenode.net:6667"
+              Nick="matterbot"
+
+          [mattermost]
+              [mattermost.work]
+               #do not prefix it wit http:// or https://
+               Server="yourmattermostserver.domain"
+               Team="yourteam"
+               Login="yourlogin"
+               Password="yourpass"
+               PrefixMessagesWithNick=true
+
+          [[gateway]]
+          name="gateway1"
+          enable=true
+              [[gateway.inout]]
+              account="irc.freenode"
+              channel="#testing"
+
+              [[gateway.inout]]
+              account="mattermost.work"
+              channel="off-topic"
+        '';
+        description = ''
+          The matterbridge configuration file in the TOML file format.
+        '';
+      };
+      user = mkOption {
+        type = types.str;
+        default = "matterbridge";
+        description = ''
+          User which runs the matterbridge service.
+        '';
+      };
+
+      group = mkOption {
+        type = types.str;
+        default = "matterbridge";
+        description = ''
+          Group which runs the matterbridge service.
+        '';
+      };
+    };
+  };
+
+  config = mkMerge [
+    (mkIf cfg.enable {
+
+      users.extraUsers = mkIf (cfg.user == "matterbridge") [
+        { name = "matterbridge";
+          group = "matterbridge";
+        } ];
+
+      users.extraGroups = mkIf (cfg.group == "matterbridge") [
+        { name = "matterbridge";
+        } ];
+
+      systemd.services.matterbridge = {
+        description = "Matterbridge chat platform bridge";
+        wantedBy = [ "multi-user.target" ];
+        after = [ "network.target" ];
+
+        serviceConfig = {
+          User = cfg.user;
+          Group = cfg.group;
+          ExecStart = "${pkgs.matterbridge.bin}/bin/matterbridge -conf ${matterbridgeConfToml}";
+          Restart = "always";
+          RestartSec = "10";
+        };
+      };
+    })
+  ];
+}
+
diff --git a/nixos/modules/services/networking/namecoind.nix b/nixos/modules/services/networking/namecoind.nix
index 9df9f67cde8..11f7d7e5cae 100644
--- a/nixos/modules/services/networking/namecoind.nix
+++ b/nixos/modules/services/networking/namecoind.nix
@@ -173,7 +173,7 @@ in
 
       serviceConfig = {
         User  = "namecoin";
-        Griup = "namecoin";
+        Group = "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";
diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix
new file mode 100644
index 00000000000..b220c21b604
--- /dev/null
+++ b/nixos/modules/services/networking/squid.nix
@@ -0,0 +1,169 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.squid;
+
+
+  squidConfig = pkgs.writeText "squid.conf"
+    (if cfg.configText != null then cfg.configText else
+    ''
+    #
+    # Recommended minimum configuration (3.5):
+    #
+
+    # Example rule allowing access from your local networks.
+    # Adapt to list your (internal) IP networks from where browsing
+    # should be allowed
+    acl localnet src 10.0.0.0/8     # RFC 1918 possible internal network
+    acl localnet src 172.16.0.0/12  # RFC 1918 possible internal network
+    acl localnet src 192.168.0.0/16 # RFC 1918 possible internal network
+    acl localnet src 169.254.0.0/16 # RFC 3927 link-local (directly plugged) machines
+    acl localnet src fc00::/7       # RFC 4193 local private network range
+    acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines
+
+    acl SSL_ports port 443          # https
+    acl Safe_ports port 80          # http
+    acl Safe_ports port 21          # ftp
+    acl Safe_ports port 443         # https
+    acl Safe_ports port 70          # gopher
+    acl Safe_ports port 210         # wais
+    acl Safe_ports port 1025-65535  # unregistered ports
+    acl Safe_ports port 280         # http-mgmt
+    acl Safe_ports port 488         # gss-http
+    acl Safe_ports port 591         # filemaker
+    acl Safe_ports port 777         # multiling http
+    acl CONNECT method CONNECT
+
+    #
+    # Recommended minimum Access Permission configuration:
+    #
+    # Deny requests to certain unsafe ports
+    http_access deny !Safe_ports
+
+    # Deny CONNECT to other than secure SSL ports
+    http_access deny CONNECT !SSL_ports
+
+    # Only allow cachemgr access from localhost
+    http_access allow localhost manager
+    http_access deny manager
+
+    # We strongly recommend the following be uncommented to protect innocent
+    # web applications running on the proxy server who think the only
+    # one who can access services on "localhost" is a local user
+    http_access deny to_localhost
+
+    # Application logs to syslog, access and store logs have specific files
+    cache_log       syslog
+    access_log      stdio:/var/log/squid/access.log
+    cache_store_log stdio:/var/log/squid/store.log
+
+    # Required by systemd service
+    pid_filename    /run/squid.pid
+
+    # Run as user and group squid
+    cache_effective_user squid squid
+
+    #
+    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
+    #
+    ${cfg.extraConfig}
+
+    # Example rule allowing access from your local networks.
+    # Adapt localnet in the ACL section to list your (internal) IP networks
+    # from where browsing should be allowed
+    http_access allow localnet
+    http_access allow localhost
+
+    # And finally deny all other access to this proxy
+    http_access deny all
+
+    # Squid normally listens to port 3128
+    http_port ${toString cfg.proxyPort}
+
+    # Leave coredumps in the first cache dir
+    coredump_dir /var/cache/squid
+
+    #
+    # Add any of your own refresh_pattern entries above these.
+    #
+    refresh_pattern ^ftp:           1440    20%     10080
+    refresh_pattern ^gopher:        1440    0%      1440
+    refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
+    refresh_pattern .               0       20%     4320
+  '');
+
+in
+
+{
+
+  options = {
+
+    services.squid = {
+
+      enable = mkOption {
+        type = types.bool;
+        default = false;
+        description = "Whether to run squid web proxy.";
+      };
+
+      proxyPort = mkOption {
+        type = types.int;
+        default = 3128;
+        description = "TCP port on which squid will listen.";
+      };
+
+      extraConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Squid configuration. Contents will be added
+          verbatim to the configuration file.
+        '';
+      };
+
+      configText = mkOption {
+        type = types.nullOr types.lines;
+        default = null;
+        description = ''
+          Verbatim contents of squid.conf. If null (default), use the
+          autogenerated file from NixOS instead.
+        '';
+      };
+
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+
+    users.users.squid = {
+      isSystemUser = true;
+      group = "squid";
+      home = "/var/cache/squid";
+      createHome = true;
+    };
+
+    users.groups.squid = {};
+
+    systemd.services.squid = {
+      description = "Squid caching web proxy";
+      after = [ "network.target" "nss-lookup.target" ];
+      wantedBy = [ "multi-user.target"];
+      preStart = ''
+        mkdir -p "/var/log/squid"
+        chown squid:squid "/var/log/squid"
+      '';
+      serviceConfig = {
+        Type="forking";
+        PIDFile="/run/squid.pid";
+        PermissionsStartOnly = true;
+        ExecStart  = "${pkgs.squid}/bin/squid -YCs -f ${squidConfig}";
+      };
+    };
+
+  };
+
+}
\ No newline at end of file
diff --git a/nixos/modules/services/networking/supplicant.nix b/nixos/modules/services/networking/supplicant.nix
index 31d11548f19..dc90a4bcc62 100644
--- a/nixos/modules/services/networking/supplicant.nix
+++ b/nixos/modules/services/networking/supplicant.nix
@@ -181,18 +181,19 @@ in
 
       default = { };
 
-      example = {
-        "wlan0 wlan1" = {
-          configFile = "/etc/wpa_supplicant";
-          userControlled.group = "network";
-          extraConf = ''
-            ap_scan=1
-            p2p_disabled=1
-          '';
-          extraCmdArgs = "-u -W";
-          bridge = "br0";
-        };
-      };
+      example = literalExample ''
+        { "wlan0 wlan1" = {
+            configFile = "/etc/wpa_supplicant";
+            userControlled.group = "network";
+            extraConf = '''
+              ap_scan=1
+              p2p_disabled=1
+            ''';
+            extraCmdArgs = "-u -W";
+            bridge = "br0";
+          };
+        }
+      '';
 
       description = ''
         Interfaces for which to start <command>wpa_supplicant</command>.
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
index 7a786b54ccb..d5db328310c 100644
--- a/nixos/modules/services/networking/tinc.nix
+++ b/nixos/modules/services/networking/tinc.nix
@@ -199,8 +199,10 @@ in
         buildInputs = [ pkgs.makeWrapper ];
         buildCommand = ''
           mkdir -p $out/bin
-          ${concatStringsSep "\n" (mapAttrsToList (network: data: ''
-              makeWrapper ${data.package}/bin/tinc "$out/bin/tinc.${network}" --add-flags "--pidfile=/run/tinc.${network}.pid"
+          ${concatStringsSep "\n" (mapAttrsToList (network: data:
+            optionalString (versionAtLeast data.package.version "1.1pre") ''
+              makeWrapper ${data.package}/bin/tinc "$out/bin/tinc.${network}" \
+                --add-flags "--pidfile=/run/tinc.${network}.pid"
             '') cfg.networks)}
         '';
       };
diff --git a/nixos/modules/system/boot/systemd-unit-options.nix b/nixos/modules/system/boot/systemd-unit-options.nix
index 9be10a8283e..43a9c28bb69 100644
--- a/nixos/modules/system/boot/systemd-unit-options.nix
+++ b/nixos/modules/system/boot/systemd-unit-options.nix
@@ -35,21 +35,40 @@ in rec {
       description = ''
         If set to false, this unit will be a symlink to
         /dev/null. This is primarily useful to prevent specific
-        template instances (e.g. <literal>serial-getty@ttyS0</literal>)
-        from being started.
+        template instances
+        (e.g. <literal>serial-getty@ttyS0</literal>) from being
+        started. Note that <literal>enable=true</literal> does not
+        make a unit start by default at boot; if you want that, see
+        <literal>wantedBy</literal>.
       '';
     };
 
     requiredBy = mkOption {
       default = [];
       type = types.listOf types.str;
-      description = "Units that require (i.e. depend on and need to go down with) this unit.";
+      description = ''
+        Units that require (i.e. depend on and need to go down with)
+        this unit. The discussion under <literal>wantedBy</literal>
+        applies here as well: inverse <literal>.requires</literal>
+        symlinks are established.
+      '';
     };
 
     wantedBy = mkOption {
       default = [];
       type = types.listOf types.str;
-      description = "Units that want (i.e. depend on) this unit.";
+      description = ''
+        Units that want (i.e. depend on) this unit. The standard way
+        to make a unit start by default at boot is to set this option
+        to <literal>[ "multi-user.target" ]</literal>. That's despite
+        the fact that the systemd.unit(5) manpage says this option
+        goes in the <literal>[Install]</literal> section that controls
+        the behaviour of <literal>systemctl enable</literal>. Since
+        such a process is stateful and thus contrary to the design of
+        NixOS, setting this option instead causes the equivalent
+        inverse <literal>.wants</literal> symlink to be present,
+        establishing the same desired relationship in a stateless way.
+      '';
     };
 
     aliases = mkOption {
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index f300091b11e..145fae432c6 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -24,7 +24,11 @@ let
 
   kernel = config.boot.kernelPackages;
 
-  packages = {
+  packages = if config.boot.zfs.enableUnstable then {
+    spl = kernel.splUnstable;
+    zfs = kernel.zfsUnstable;
+    zfsUser = pkgs.zfsUnstable;
+  } else {
     spl = kernel.spl;
     zfs = kernel.zfs;
     zfsUser = pkgs.zfs;
@@ -58,6 +62,19 @@ in
 
   options = {
     boot.zfs = {
+      enableUnstable = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Use the unstable zfs package. This might be an option, if the latest
+          kernel is not yet supported by a published release of ZFS. Enabling
+          this option will install a development version of ZFS on Linux. The
+          version will have already passed an extensive test suite, but it is
+          more likely to hit an undiscovered bug compared to running a released
+          version of ZFS on Linux.
+          '';
+      };
+
       extraPools = mkOption {
         type = types.listOf types.str;
         default = [];
diff --git a/nixos/modules/virtualisation/google-compute-image.nix b/nixos/modules/virtualisation/google-compute-image.nix
index 4a8dadaa281..e3b3e6a5f4a 100644
--- a/nixos/modules/virtualisation/google-compute-image.nix
+++ b/nixos/modules/virtualisation/google-compute-image.nix
@@ -117,7 +117,7 @@ in
     before = ["sshd.service"];
     wants = ["local-fs.target" "network-online.target" "network.target"];
     wantedBy = [ "sshd.service" "multi-user.target" ];
-    path = with pkgs; [ ethtool ];
+    path = with pkgs; [ ethtool openssh ];
     serviceConfig = {
       ExecStart = "${gce}/bin/google_instance_setup --debug";
       Type = "oneshot";
diff --git a/nixos/release-combined.nix b/nixos/release-combined.nix
index a7ceb104b57..f61d80f5599 100644
--- a/nixos/release-combined.nix
+++ b/nixos/release-combined.nix
@@ -94,9 +94,6 @@ in rec {
         (all nixos.tests.keymap.neo)
         (all nixos.tests.keymap.qwertz)
         nixos.tests.plasma5.x86_64-linux # avoid big build on i686
-        (all nixos.tests.kernel-latest)
-        (all nixos.tests.kernel-lts)
-        (all nixos.tests.kernel-params)
         #(all nixos.tests.lightdm)
         (all nixos.tests.login)
         (all nixos.tests.misc)
@@ -119,7 +116,6 @@ in rec {
         (all nixos.tests.sddm.default)
         (all nixos.tests.simple)
         (all nixos.tests.slim)
-        nixos.tests.sysctl.x86_64-linux # i686 fails
         (all nixos.tests.udisks2)
         (all nixos.tests.xfce)
 
diff --git a/nixos/release.nix b/nixos/release.nix
index 38c446c1f8a..cbb566af786 100644
--- a/nixos/release.nix
+++ b/nixos/release.nix
@@ -236,6 +236,7 @@ in rec {
   tests.containers-macvlans = callTest tests/containers-macvlans.nix {};
   tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; });
   tests.docker-edge = hydraJob (import tests/docker-edge.nix { system = "x86_64-linux"; });
+  tests.dovecot = callTest tests/dovecot.nix {};
   tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; };
   tests.ecryptfs = callTest tests/ecryptfs.nix {};
   tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; });
@@ -267,7 +268,6 @@ in rec {
   tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
   tests.kernel-latest = callTest tests/kernel-latest.nix {};
   tests.kernel-lts = callTest tests/kernel-lts.nix {};
-  tests.kernel-params = callTest tests/kernel-params.nix {};
   tests.keystone = callTest tests/keystone.nix {};
   tests.kubernetes = hydraJob (import tests/kubernetes.nix { system = "x86_64-linux"; });
   tests.latestKernel.login = callTest tests/login.nix { latestKernel = true; };
@@ -313,7 +313,6 @@ in rec {
   tests.slim = callTest tests/slim.nix {};
   tests.smokeping = callTest tests/smokeping.nix {};
   tests.snapper = callTest tests/snapper.nix {};
-  tests.sysctl = callTest tests/sysctl.nix {};
   tests.taskserver = callTest tests/taskserver.nix {};
   tests.tomcat = callTest tests/tomcat.nix {};
   tests.udisks2 = callTest tests/udisks2.nix {};
diff --git a/nixos/tests/acme.nix b/nixos/tests/acme.nix
index f44524a1d6a..d7452744e17 100644
--- a/nixos/tests/acme.nix
+++ b/nixos/tests/acme.nix
@@ -14,8 +14,8 @@ let
 
       pythonPackages = (super.python.override {
         packageOverrides = lib.const (pysuper: {
-          certifi = pysuper.certifi.overrideDerivation (drv: {
-            postPatch = (drv.postPatch or "") + ''
+          certifi = pysuper.certifi.overridePythonAttrs (attrs: {
+            postPatch = (attrs.postPatch or "") + ''
               cat "${self.cacert}/etc/ssl/certs/ca-bundle.crt" \
                 > certifi/cacert.pem
             '';
diff --git a/nixos/tests/dovecot.nix b/nixos/tests/dovecot.nix
new file mode 100644
index 00000000000..3814855ed8e
--- /dev/null
+++ b/nixos/tests/dovecot.nix
@@ -0,0 +1,64 @@
+import ./make-test.nix {
+  name = "dovecot";
+
+  machine = { pkgs, ... }: {
+    imports = [ common/user-account.nix ];
+    services.postfix.enable = true;
+    services.dovecot2.enable = true;
+    services.dovecot2.protocols = [ "imap" "pop3" ];
+    environment.systemPackages = let
+      sendTestMail = pkgs.writeScriptBin "send-testmail" ''
+        #!${pkgs.stdenv.shell}
+        exec sendmail -vt <<MAIL
+        From: root@localhost
+        To: alice@localhost
+        Subject: Very important!
+
+        Hello world!
+        MAIL
+      '';
+
+      testImap = pkgs.writeScriptBin "test-imap" ''
+        #!${pkgs.python3.interpreter}
+        import imaplib
+
+        with imaplib.IMAP4('localhost') as imap:
+          imap.login('alice', 'foobar')
+          imap.select()
+          status, refs = imap.search(None, 'ALL')
+          assert status == 'OK'
+          assert len(refs) == 1
+          status, msg = imap.fetch(refs[0], 'BODY[TEXT]')
+          assert status == 'OK'
+          assert msg[0][1].strip() == b'Hello world!'
+      '';
+
+      testPop = pkgs.writeScriptBin "test-pop" ''
+        #!${pkgs.python3.interpreter}
+        import poplib
+
+        pop = poplib.POP3('localhost')
+        try:
+          pop.user('alice')
+          pop.pass_('foobar')
+          assert len(pop.list()[1]) == 1
+          status, fullmail, size = pop.retr(1)
+          assert status.startswith(b'+OK ')
+          body = b"".join(fullmail[fullmail.index(b""):]).strip()
+          assert body == b'Hello world!'
+        finally:
+          pop.quit()
+      '';
+
+    in [ sendTestMail testImap testPop ];
+  };
+
+  testScript = ''
+    $machine->waitForUnit('postfix.service');
+    $machine->waitForUnit('dovecot2.service');
+    $machine->succeed('send-testmail');
+    $machine->waitUntilFails('[ "$(postqueue -p)" != "Mail queue is empty" ]');
+    $machine->succeed('test-imap');
+    $machine->succeed('test-pop');
+  '';
+}
diff --git a/nixos/tests/hardened.nix b/nixos/tests/hardened.nix
index 1d9a9043e03..ee7ffe83ba3 100644
--- a/nixos/tests/hardened.nix
+++ b/nixos/tests/hardened.nix
@@ -32,5 +32,15 @@ import ./make-test.nix ({ pkgs, ...} : {
       subtest "userns", sub {
           $machine->fail("unshare --user");
       };
+
+      # Test dmesg restriction
+      subtest "dmesg", sub {
+          $machine->fail("su -l alice -c dmesg");
+      };
+
+      # Test access to kcore
+      subtest "kcore", sub {
+          $machine->fail("cat /proc/kcore");
+      };
     '';
 })
diff --git a/nixos/tests/kernel-params.nix b/nixos/tests/kernel-params.nix
deleted file mode 100644
index 14a39335691..00000000000
--- a/nixos/tests/kernel-params.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "kernel-params";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { config, lib, pkgs, ... }:
-    {
-      boot.kernelPackages = pkgs.linuxPackages;
-      boot.kernelParams = [
-        "nohibernate"
-        "page_poison=1"
-        "vsyscall=none"
-      ];
-    };
-
-  testScript =
-    ''
-      $machine->fail("cat /proc/cmdline | grep page_poison=0");
-      $machine->succeed("cat /proc/cmdline | grep nohibernate");
-      $machine->succeed("cat /proc/cmdline | grep page_poison=1");
-      $machine->succeed("cat /proc/cmdline | grep vsyscall=none");
-    '';
-})
diff --git a/nixos/tests/misc.nix b/nixos/tests/misc.nix
index 1b24551009c..79290861cb0 100644
--- a/nixos/tests/misc.nix
+++ b/nixos/tests/misc.nix
@@ -25,6 +25,8 @@ import ./make-test.nix ({ pkgs, ...} : {
         };
       users.users.sybil = { isNormalUser = true; group = "wheel"; };
       security.sudo = { enable = true; wheelNeedsPassword = false; };
+      boot.kernel.sysctl."vm.swappiness" = 1;
+      boot.kernelParams = [ "vsyscall=emulate" ];
     };
 
   testScript =
@@ -117,5 +119,18 @@ import ./make-test.nix ({ pkgs, ...} : {
       subtest "sudo", sub {
           $machine->succeed("su - sybil -c 'sudo true'");
       };
+
+      # Test sysctl
+      subtest "sysctl", sub {
+          $machine->waitForUnit("systemd-sysctl.service");
+          $machine->succeed('[ `sysctl -ne vm.swappiness` = 1 ]');
+          $machine->execute('sysctl vm.swappiness=60');
+          $machine->succeed('[ `sysctl -ne vm.swappiness` = 60 ]');
+      };
+
+      # Test boot parameters
+      subtest "bootparam", sub {
+          $machine->succeed('grep -Fq vsyscall=emulate /proc/cmdline');
+      };
     '';
 })
diff --git a/nixos/tests/sysctl.nix b/nixos/tests/sysctl.nix
deleted file mode 100644
index d7220cabb22..00000000000
--- a/nixos/tests/sysctl.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-import ./make-test.nix ({ pkgs, ...} : {
-  name = "sysctl";
-  meta = with pkgs.stdenv.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { config, lib, pkgs, ... }:
-    {
-      boot.kernelPackages = pkgs.linuxPackages;
-      boot.kernel.sysctl = {
-        "kernel.dmesg_restrict" = true; # Restrict dmesg access
-        "net.core.bpf_jit_enable" = false; # Turn off bpf JIT
-        "user.max_user_namespaces" = 0; # Disable user namespaces
-        "vm.swappiness" = 2; # Low swap usage
-      };
-    };
-
-  testScript =
-    ''
-      $machine->succeed("sysctl kernel.dmesg_restrict | grep 'kernel.dmesg_restrict = 1'");
-      $machine->succeed("sysctl net.core.bpf_jit_enable | grep 'net.core.bpf_jit_enable = 0'");
-      $machine->succeed("sysctl user.max_user_namespaces | grep 'user.max_user_namespaces = 0'");
-      $machine->succeed("sysctl vm.swappiness | grep 'vm.swappiness = 2'");
-    '';
-})
diff --git a/pkgs/applications/altcoins/go-ethereum.nix b/pkgs/applications/altcoins/go-ethereum.nix
index 1911f4081b1..4cf68fb76fd 100644
--- a/pkgs/applications/altcoins/go-ethereum.nix
+++ b/pkgs/applications/altcoins/go-ethereum.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "go-ethereum-${version}";
-  version = "1.6.7";
+  version = "1.7.0";
   goPackagePath = "github.com/ethereum/go-ethereum";
 
   # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "ethereum";
     repo = "go-ethereum";
     rev = "v${version}";
-    sha256 = "19cq0pmif4y33v34jzvam4mcszl8vf2saf2gzfz01l4x1iv4hf1r";
+    sha256 = "0ybjaiyrfb320rab6a5r9iiqvkrcd8b2qvixzx0kjmc4a7l1q5zh";
   };
 
   # Fix cyclic referencing on Darwin
@@ -23,9 +23,10 @@ buildGoPackage rec {
     done
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://ethereum.github.io/go-ethereum/;
     description = "Official golang implementation of the Ethereum protocol";
-    license = with lib.licenses; [ lgpl3 gpl3 ];
+    license = with licenses; [ lgpl3 gpl3 ];
+    maintainers = [ maintainers.adisbladis ];
   };
 }
diff --git a/pkgs/applications/audio/mopidy-gmusic/default.nix b/pkgs/applications/audio/mopidy-gmusic/default.nix
index ab2a23b1994..b792ec3428e 100644
--- a/pkgs/applications/audio/mopidy-gmusic/default.nix
+++ b/pkgs/applications/audio/mopidy-gmusic/default.nix
@@ -13,7 +13,7 @@ pythonPackages.buildPythonApplication rec {
     mopidy
     pythonPackages.requests
     pythonPackages.gmusicapi
-    pythonPackages.cachetools
+    pythonPackages.cachetools_1
   ];
 
   doCheck = false;
diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/packages.nix
index 76d4a37007c..6d7ed2e489b 100644
--- a/pkgs/applications/editors/android-studio/packages.nix
+++ b/pkgs/applications/editors/android-studio/packages.nix
@@ -27,9 +27,9 @@ in rec {
 
   preview = mkStudio rec {
     pname = "android-studio-preview";
-    version = "3.0.0.13"; # "Android Studio 3.0 Beta 5"
-    build = "171.4316950";
-    sha256Hash = "0aj6mkc5pb8ws3ff8hcphdvymlysjmhx507r7wkqrk0b4ylbijmc";
+    version = "3.0.0.14"; # "Android Studio 3.0 Beta 6"
+    build = "171.4333198";
+    sha256Hash = "071a3j0bnsspvhvhh10h9ygay3bi66glriiy8gl8vrwx1dnv55zk";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index f38839a5abc..421d0ddd9f6 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -4,21 +4,21 @@
 }:
 
 stdenv.mkDerivation rec {
-  emacsVersion = "25.2";
+  emacsVersion = "25.3";
   emacsName = "emacs-${emacsVersion}";
-  macportVersion = "6.3";
+  macportVersion = "6.7";
   name = "emacs-mac-${emacsVersion}-${macportVersion}";
 
   builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror:///gnu/emacs/${emacsName}.tar.xz";
-    sha256 = "1ykkq0xl28ljdg61bm6gzy04ww86ajms98gix72qg6cpr6a53dar";
+    sha256 = "02y00y9q42g1iqgz5qhmsja75hwxd88yrn9zp14lanay0zkwafi5";
   };
 
   macportSrc = fetchurl {
     url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz";
-    sha256 = "1dz11frk3ya3842lb89ixzpns9bz5f9njxdkyvjy75gfymqfhhzv";
+    sha256 = "0fivrasvigszr31w8wg8kb808hmqv2cc8klrm9n0hdxwg5fs5d0y";
   };
 
   hiresSrc = fetchurl {
diff --git a/pkgs/applications/graphics/PythonMagick/default.nix b/pkgs/applications/graphics/PythonMagick/default.nix
index b1f64afd9ae..f0b4a991f74 100644
--- a/pkgs/applications/graphics/PythonMagick/default.nix
+++ b/pkgs/applications/graphics/PythonMagick/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://imagemagick/python/releases/PythonMagick-${version}.tar.xz";
-    sha256 = "0vkgpmrdz530nyvmjahpdrvcj7fd7hvsp15d485hq6103qycisv8";
+    sha256 = "137278mfb5079lns2mmw73x8dhpzgwha53dyl00mmhj2z25varpn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/graphics/awesomebump/default.nix b/pkgs/applications/graphics/awesomebump/default.nix
index 9e0916bab9c..f1958ca35be 100644
--- a/pkgs/applications/graphics/awesomebump/default.nix
+++ b/pkgs/applications/graphics/awesomebump/default.nix
@@ -28,6 +28,11 @@ stdenv.mkDerivation {
         --run "cd $d"
     '';
 
+  # RPATH in /tmp hack
+  preFixup = ''
+    rm -r $NIX_BUILD_TOP/__nix_qt5__
+  '';
+
   meta = {
     homepage = https://github.com/kmkolasinski/AwesomeBump;
     description = "A program to generate normal, height, specular or ambient occlusion textures from a single image";
diff --git a/pkgs/applications/graphics/gocr/default.nix b/pkgs/applications/graphics/gocr/default.nix
index 4b45e44e22d..6fe37d605ae 100644
--- a/pkgs/applications/graphics/gocr/default.nix
+++ b/pkgs/applications/graphics/gocr/default.nix
@@ -8,7 +8,18 @@ stdenv.mkDerivation rec {
     sha256 = "1dgmcpapy7h68d53q2c5d0bpgzgfb2nw2blndnx9qhc7z12149mw";
   };
 
+  buildFlags = [ "all" "libs" ];
+  installFlags = [ "libdir=/lib/" ]; # Specify libdir so Makefile will also install library.
+
+  preInstall = "mkdir -p $out/lib";
+
   postInstall = ''
+    for i in pgm2asc.h gocr.h; do
+      install -D -m644 src/$i $out/include/gocr/$i
+    done
+  '';
+
+  preFixup = ''
     sed -i -e 's|exec wish|exec ${tk}/bin/wish|' $out/bin/gocr.tcl
   '';
 
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index c8fb295044a..98f92413a76 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -9,11 +9,11 @@
 
 mkDerivation rec {
   name = "krita-${version}";
-  version = "3.1.4";
+  version = "3.2.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/krita/${version}/${name}.tar.gz";
-    sha256 = "1al27v17s70hihk2mcmz3l2g6rl9qzpxaifapdfpkyias6q3f63l";
+    sha256 = "0fafy5ggplgq2rz85sqa42vmkzs2r9dq47qfrbnn2n6pfzkcw1pg";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
@@ -26,13 +26,6 @@ mkDerivation rec {
     qtmultimedia qtx11extras
   ];
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/KDE/krita/commit/2f59d0d1.patch";
-      sha256 = "0sdlcjn6i3faln3c0aczw3pg4pvmccgszmy8n914mgsccrqrazlr";
-    })
-  ];
-
   NIX_CFLAGS_COMPILE = [ "-I${ilmbase.dev}/include/OpenEXR" ];
 
   meta = with lib; {
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index 44faeea007d..b4402c7d104 100644
--- a/pkgs/applications/graphics/openimageio/default.nix
+++ b/pkgs/applications/graphics/openimageio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "openimageio-${version}";
-  version = "1.7.12";
+  version = "1.7.17";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "1ganx4f7zis5lkxxrwc83dbgngaxww2846bsc4vrg5dhjnns6n4y";
+    sha256 = "0vx2pndgyfbnziwn36aylvq4jd889dvibzhw9ajzkm378l43lly9";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/applications/kde/default.nix b/pkgs/applications/kde/default.nix
index 24b73f415ad..bbef7e9618b 100644
--- a/pkgs/applications/kde/default.nix
+++ b/pkgs/applications/kde/default.nix
@@ -135,6 +135,7 @@ let
       libkipi = callPackage ./libkipi.nix {};
       libkleo = callPackage ./libkleo.nix {};
       libkomparediff2 = callPackage ./libkomparediff2.nix {};
+      libksane = callPackage ./libksane.nix {};
       libksieve = callPackage ./libksieve.nix {};
       mailcommon = callPackage ./mailcommon.nix {};
       mailimporter = callPackage ./mailimporter.nix {};
diff --git a/pkgs/applications/kde/libksane.nix b/pkgs/applications/kde/libksane.nix
new file mode 100644
index 00000000000..f92f21de7fb
--- /dev/null
+++ b/pkgs/applications/kde/libksane.nix
@@ -0,0 +1,16 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, qtbase,
+  ki18n, ktextwidgets, kwallet, kwidgetsaddons,
+  sane-backends
+}:
+
+mkDerivation {
+  name = "libksane";
+  meta = with lib; {
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pshendry ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ki18n ktextwidgets kwallet kwidgetsaddons sane-backends ];
+}
diff --git a/pkgs/applications/misc/blender/default.nix b/pkgs/applications/misc/blender/default.nix
index 26aa025ea62..86b2ab6eb1c 100644
--- a/pkgs/applications/misc/blender/default.nix
+++ b/pkgs/applications/misc/blender/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
+{ stdenv, stdenv_gcc5, lib, fetchurl, boost, cmake, ffmpeg, gettext, glew
 , ilmbase, libXi, libX11, libXext, libXrender
 , libjpeg, libpng, libsamplerate, libsndfile
 , libtiff, mesa, openal, opencolorio, openexr, openimageio, openjpeg_1, python
@@ -10,7 +10,7 @@
 
 with lib;
 
-stdenv.mkDerivation rec {
+(if cudaSupport then stdenv_gcc5 else stdenv).mkDerivation rec {
   name = "blender-2.79";
 
   src = fetchurl {
@@ -65,6 +65,10 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR -I${python}/include/${python.libPrefix}m";
 
+  # Since some dependencies are built with gcc 6, we need gcc 6's
+  # libstdc++ in our RPATH. Sigh.
+  NIX_LDFLAGS = optionalString cudaSupport "-rpath ${stdenv.cc.cc.lib}/lib";
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/doomseeker/default.nix b/pkgs/applications/misc/doomseeker/default.nix
index 61b0357bb9d..1393af67bf8 100644
--- a/pkgs/applications/misc/doomseeker/default.nix
+++ b/pkgs/applications/misc/doomseeker/default.nix
@@ -1,11 +1,11 @@
 { stdenv, cmake, fetchurl, pkgconfig, qt4, zlib, bzip2 }:
 
 stdenv.mkDerivation rec {
-  name = "doomseeker-1.0";
+  name = "doomseeker-1.1";
 
   src = fetchurl {
     url = "http://doomseeker.drdteam.org/files/${name}_src.tar.bz2";
-    sha256 = "172ybxg720r64hp6aah0hqvxklqv1cf8v7kwx0ng5ap0h20jydbw";
+    sha256 = "0nmq8s842z30ngzikrmfx0xpnk4klxdv37y26chs002rnj010r7h";
   };
 
   buildInputs = [ qt4 zlib bzip2 ];
diff --git a/pkgs/applications/misc/k2pdfopt/default.nix b/pkgs/applications/misc/k2pdfopt/default.nix
index 7c0d615f366..587e6a588a7 100644
--- a/pkgs/applications/misc/k2pdfopt/default.nix
+++ b/pkgs/applications/misc/k2pdfopt/default.nix
@@ -1,105 +1,92 @@
-# Build procedure lifted from https://aur.archlinux.org/packages/k2/k2pdfopt/PKGBUILD
-{ stdenv, fetchzip, fetchurl, writeScript, libX11, libXext, autoconf, automake, libtool
-      , leptonica, libpng, libtiff, zlib, openjpeg, freetype, jbig2dec, djvulibre
-      , openssl }:
-
-let
-  mupdf_src = fetchurl {
-    url = http://www.mupdf.com/downloads/archive/mupdf-1.6-source.tar.gz;
-    sha256 = "0qx51rj6alzcagcixm59rvdpm54w6syrwr4184v439jh14ryw4wq";
-  };
-
-  tess_src = fetchurl {
-    url = http://tesseract-ocr.googlecode.com/files/tesseract-ocr-3.02.02.tar.gz;
-    sha256 = "0g81m9y4iydp7kgr56mlkvjdwpp3mb01q385yhdnyvra7z5kkk96";
-  };
-
-  gocr_src = fetchurl {
-    url = http://www-e.uni-magdeburg.de/jschulen/ocr/gocr-0.49.tar.gz;
-    sha256 = "06hpzp7rkkwfr1fvmc8kcfz9v490i9yir7f7imh13gmka0fr6afc";
-  };
-
-in stdenv.mkDerivation rec {
+{ stdenv, fetchzip, fetchurl, fetchpatch, cmake, pkgconfig
+, zlib, libpng
+, enableGSL ? true, gsl
+, enableGhostScript ? true, ghostscript
+, enableMuPDF ? true, jbig2dec, openjpeg, freetype, harfbuzz, mupdf
+, enableJPEG2K ? true, jasper
+, enableDJVU ? true, djvulibre
+, enableGOCR ? false, gocr # Disabled by default due to crashes
+, enableTesseract ? true, leptonica, tesseract
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
   name = "k2pdfopt-${version}";
-  version = "2.32";
+  version = "2.42";
+
   src = fetchzip {
     url = "http://www.willus.com/k2pdfopt/src/k2pdfopt_v${version}_src.zip";
-    sha256 = "1v3cj5bwpjvy7s66sfqcmkxs91f7nxaykjpdjm2wn87vn6q7n19m";
+    sha256 = "1zag4jmkr0qrcpqqb5davmvdrabhdyz87q4zz0xpfkl6xw2dn9bk";
   };
 
-  buildInputs = [ libX11 libXext autoconf automake libtool leptonica libpng libtiff zlib
-                    openjpeg freetype jbig2dec djvulibre openssl ];
-  NIX_LDFLAGS = "-lX11 -lXext";
-
-  hardeningDisable = [ "format" ];
-
-  k2_pa = ./k2pdfopt.patch;
-  tess_pa = ./tesseract.patch;
-
-  builder = writeScript "builder.sh" ''
-    . ${stdenv}/setup
-    set -e
-
-    plibs=`pwd`/patched_libraries
-
-    tar zxf ${mupdf_src}
-    cp $src/mupdf_mod/font.c $src/mupdf_mod/string.c mupdf-1.6-source/source/fitz/
-    cp $src/mupdf_mod/pdf-* mupdf-1.6-source/source/pdf
-
-    tar zxf ${tess_src}
-    cp $src/tesseract_mod/dawg.cpp tesseract-ocr/dict
-    cp $src/tesseract_mod/tessdatamanager.cpp tesseract-ocr/ccutil
-    cp $src/tesseract_mod/tessedit.cpp tesseract-ocr/ccmain
-    cp $src/tesseract_mod/tesscapi.cpp tesseract-ocr/api
-    cp $src/include_mod/tesseract.h $src/include_mod/leptonica.h tesseract-ocr/api
-
-    cp -a $src k2pdfopt_v2.21
-    chmod -R +w k2pdfopt_v2.21
-
-    patch -p0 -i $tess_pa
-    patch -p0 -i $k2_pa
-
-    cd tesseract-ocr
-    ./autogen.sh
-    substituteInPlace "configure" \
-            --replace 'LIBLEPT_HEADERSDIR="/usr/local/include /usr/include"' \
-            'LIBLEPT_HEADERSDIR=${leptonica}/include'
-    ./configure --prefix=$plibs --disable-shared
-    make install
-
-    cd ..
-    tar zxf ${gocr_src}
-    cd gocr-0.49
-    ./configure
-    cp src/{gocr.h,pnm.h,unicode.h,list.h} $plibs/include
-    cp include/config.h $plibs/include
-    make libs
-    cp src/libPgm2asc.a $plibs/lib
-
-    cd ../mupdf-1.6-source
-    make prefix=$plibs install
-    install -Dm644 build/debug/libmujs.a $plibs/lib
-
-    cd ../k2pdfopt_v2.21/k2pdfoptlib
-    gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include \
-        -I . -I ../willuslib
-    ar rcs libk2pdfopt.a *.o
-
-    cd ../willuslib
-    gcc -Ofast -Wall -c *.c -I ../include_mod/ -I $plibs/include
-    ar rcs libwillus.a *.o
-
-    cd ..
-    gcc -Wall -Ofast -o k2pdfopt.o -c k2pdfopt.c -I k2pdfoptlib/ -I willuslib/ \
-            -I include_mod/ -I $plibs/include
-    g++ -Ofast k2pdfopt.o -o k2pdfopt -I willuslib/ -I k2pdfoptlib/ -I include_mod/ \
-            -I $plibs/include -L $plibs/lib/ \
-            -L willuslib/ -L k2pdfoptlib/ -lk2pdfopt -lwillus -ldjvulibre -lz -lmupdf  \
-            -ljbig2dec -ljpeg -lopenjp2 -lpng -lfreetype -lpthread -lmujs \
-            -lPgm2asc -llept -ltesseract -lcrypto
-
-    mkdir -p $out/bin
-    cp k2pdfopt $out/bin
+  patches = [ ./k2pdfopt.patch ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs =
+  let
+    mupdf_modded = mupdf.overrideAttrs (attrs: {
+      name = "mupdf-1.10a";
+      src = fetchurl {
+        url = "http://mupdf.com/downloads/archive/mupdf-1.10a-source.tar.gz";
+        sha256 = "0dm8wcs8i29aibzkqkrn8kcnk4q0kd1v66pg48h5c3qqp4v1zk5a";
+      };
+      # Excluded the pdf-*.c files, since they mostly just broke the #includes
+      prePatch = ''
+        cp ${src}/mupdf_mod/{font,stext-device,string}.c source/fitz/
+        cp ${src}/mupdf_mod/font-win32.c source/pdf/
+      '';
+      # Patches from previous 1.10a version in nixpkgs
+      patches = [
+        # Compatibility with new openjpeg
+        (fetchpatch {
+         name = "mupdf-1.9a-openjpeg-2.1.1.patch";
+         url = "https://git.archlinux.org/svntogit/community.git/plain/mupdf/trunk/0001-mupdf-openjpeg.patch?id=5a28ad0a8999a9234aa7848096041992cc988099";
+         sha256 = "1i24qr4xagyapx4bijjfksj4g3bxz8vs5c2mn61nkm29c63knp75";
+        })
+
+        (fetchurl {
+         name = "CVE-2017-5896.patch";
+         url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=2c4e5867ee699b1081527bc6c6ea0e99a35a5c27";
+         sha256 = "14k7x47ifx82sds1c06ibzbmcparfg80719jhgwjk6w1vkh4r693";
+        })
+      ];
+    });
+    leptonica_modded = leptonica.overrideAttrs (attrs: {
+      prePatch = ''
+        cp ${src}/leptonica_mod/* src/
+      '';
+    });
+    tesseract_modded = tesseract.overrideAttrs (attrs: {
+      prePatch = ''
+        cp ${src}/tesseract_mod/{ambigs.cpp,ccutil.h,ccutil.cpp} ccutil/
+        cp ${src}/tesseract_mod/dawg.cpp api/
+        cp ${src}/tesseract_mod/{imagedata.cpp,tessdatamanager.cpp} ccstruct/
+        cp ${src}/tesseract_mod/openclwrapper.h opencl/
+        cp ${src}/tesseract_mod/{tessedit.cpp,thresholder.cpp} ccmain/
+        cp ${src}/tesseract_mod/tess_lang_mod_edge.h cube/
+        cp ${src}/tesseract_mod/tesscapi.cpp api/
+        cp ${src}/include_mod/{tesseract.h,leptonica.h} api/
+      '';
+      patches = [ ./tesseract.patch ];
+    });
+  in
+    [ zlib libpng ] ++
+    optional enableGSL gsl ++
+    optional enableGhostScript ghostscript ++
+    optionals enableMuPDF [ jbig2dec openjpeg freetype harfbuzz mupdf_modded ] ++
+    optionals enableJPEG2K [ jasper ] ++
+    optional enableDJVU djvulibre ++
+    optional enableGOCR gocr ++
+    optionals enableTesseract [ leptonica_modded tesseract_modded ];
+
+  dontUseCmakeBuildDir = true;
+
+  cmakeFlags = [ "-DCMAKE_C_FLAGS=-I${src}/include_mod" ];
+
+  installPhase = ''
+    install -D -m 755 k2pdfopt $out/bin/k2pdfopt
   '';
 
   meta = with stdenv.lib; {
@@ -107,7 +94,7 @@ in stdenv.mkDerivation rec {
     homepage = http://www.willus.com/k2pdfopt;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.bosu ];
+    maintainers = with maintainers; [ bosu danielfullmer ];
   };
 }
 
diff --git a/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
index 00ac5770ea4..a393e30fc72 100644
--- a/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
+++ b/pkgs/applications/misc/k2pdfopt/k2pdfopt.patch
@@ -1,95 +1,99 @@
-diff -aur k2pdfopt_v2.21/willuslib/array.c k2pdfopt_v2.21.new/willuslib/array.c
---- k2pdfopt_v2.21/willuslib/array.c	2014-05-23 16:29:58.000000000 -0300
-+++ k2pdfopt_v2.21.new/willuslib/array.c	2014-07-26 11:35:49.829825567 -0300
-@@ -1055,7 +1055,7 @@
- void arrayf_sort(float *a,int n)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4a2378b..502c477 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -52,6 +52,7 @@ endif(JPEG_FOUND)
+ include(FindJasper)
+ if(JASPER_FOUND)
+   set(HAVE_JASPER_LIB 1)
++  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${JASPER_LIBRARY})
+ endif(JASPER_FOUND)
  
-     {
--    sort(a,(long)n);
-+    willus_sort(a,(long)n);
-     }
+ # paths from willuslib/wgs.c
+@@ -66,8 +67,12 @@ else()
+   message(STATUS "Could NOT find ghostscript executable")
+ endif(GHOSTSCRIPT_EXECUTABLE)
  
+-# willus.h
+-# HAVE_GSL_LIB
++pkg_check_modules(GSL gsl)
++if(MUPDF_FOUND)
++  set(HAVE_GSL_LIB 1)
++  include_directories(SYSTEM ${GSL_INCLUDEDIR})
++  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${GSL_LDFLAGS})
++endif(MUPDF_FOUND)
  
-diff -aur k2pdfopt_v2.21/willuslib/math.c k2pdfopt_v2.21.new/willuslib/math.c
---- k2pdfopt_v2.21/willuslib/math.c	2013-08-15 21:33:50.000000000 -0300
-+++ k2pdfopt_v2.21.new/willuslib/math.c	2014-07-26 11:36:02.853170659 -0300
-@@ -532,7 +532,7 @@
  
+ # libfreetype6 (>= 2.3.9), libjbig2dec0, libjpeg8 (>= 8c), libx11-6, libxext6, zlib1g (>= 1:1.2.0)
+@@ -80,7 +85,7 @@ if(MUPDF_FOUND)
+   include_directories(SYSTEM ${MUPDF_INCLUDEDIR})
+   message(STATUS "mupdf libraries: ${MUPDF_LDFLAGS}")
+   set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${MUPDF_LDFLAGS} 
+-    -lmupdf-js-none -lopenjpeg -ljbig2dec -ljpeg -lfreetype
++    -lopenjp2 -ljbig2dec -ljpeg -lfreetype -lharfbuzz
+   )
+ endif(MUPDF_FOUND)
  
+@@ -91,9 +96,25 @@ if(DJVU_FOUND)
+   set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${DJVU_LDFLAGS})
+ endif(DJVU_FOUND)
  
--void sort(float *x,int n)
-+void willus_sort(float *x,int n)
+-# HAVE_GOCR_LIB
+-# HAVE_LEPTONICA_LIB
+-# HAVE_TESSERACT_LIB
++find_library(GOCR_LIB NAMES Pgm2asc)
++if(GOCR_LIB)
++  set(HAVE_GOCR_LIB 1)
++  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${GOCR_LIB})
++endif(GOCR_LIB)
++
++pkg_check_modules(LEPTONICA lept)
++if(LEPTONICA_FOUND)
++  set(HAVE_LEPTONICA_LIB 1)
++  include_directories(SYSTEM ${LEPTONICA_INCLUDEDIR})
++  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${LEPTONICA_LDFLAGS})
++endif(LEPTONICA_FOUND)
++
++pkg_check_modules(TESSERACT tesseract)
++if(TESSERACT_FOUND)
++  set(HAVE_TESSERACT_LIB 1)
++  include_directories(SYSTEM ${TESSERACT_INCLUDEDIR})
++  set(K2PDFOPT_LIB ${K2PDFOPT_LIB} ${TESSERACT_LDFLAGS})
++endif(TESSERACT_FOUND)
  
-     {
-     int top,n1;
-diff -aur k2pdfopt_v2.21/willuslib/ocrjocr.c k2pdfopt_v2.21.new/willuslib/ocrjocr.c
---- k2pdfopt_v2.21/willuslib/ocrjocr.c	2012-11-12 13:09:42.000000000 -0300
-+++ k2pdfopt_v2.21.new/willuslib/ocrjocr.c	2014-07-26 11:36:46.699837185 -0300
+ # ---- Describe project
+ 
+diff --git a/willuslib/CMakeLists.txt b/willuslib/CMakeLists.txt
+index 463bbc9..8043db5 100644
+--- a/willuslib/CMakeLists.txt
++++ b/willuslib/CMakeLists.txt
+@@ -6,7 +6,7 @@ include_directories(..)
+ set(WILLUSLIB_SRC
+     ansi.c array.c bmp.c bmpdjvu.c bmpmupdf.c dtcompress.c filelist.c
+     fontdata.c fontrender.c gslpolyfit.c linux.c math.c mem.c ocr.c
+-    ocrjocr.c ocrtess.c pdfwrite.c point2d.c render.c strbuf.c string.c
++    ocrgocr.c ocrtess.c pdfwrite.c point2d.c render.c strbuf.c string.c
+     token.c wfile.c wgs.c wgui.c willusversion.c win.c winbmp.c
+     wincomdlg.c winmbox.c winshell.c wmupdf.c wmupdfinfo.c wpdf.c wsys.c
+     wzfile.c wleptonica.c
+diff --git a/willuslib/ocrgocr.c b/willuslib/ocrgocr.c
+index 6027e9a..fbe10f0 100644
+--- a/willuslib/ocrgocr.c
++++ b/willuslib/ocrgocr.c
 @@ -29,6 +29,8 @@
  #ifdef HAVE_GOCR_LIB
  #include <gocr.h>
  
-+job_t *JOB;
++job_t *OCR_JOB;
 +
  /*
  ** bmp8 must be grayscale
  ** (x1,y1) and (x2,y2) from top left of bitmap
-@@ -66,6 +68,7 @@
+@@ -63,6 +65,7 @@ void gocr_single_word_from_bmp8(char *text,int maxlen,WILLUSBITMAP *bmp8,
      h=y2-y1+1;
      dh=h+bw*2;
      job=&_job;
-+    JOB=job;
++    OCR_JOB=job;
      job_init(job);
      job_init_image(job);
      // willus_mem_alloc_warn((void **)&job->src.p.p,w*h,funcname,10);
-diff -aur k2pdfopt_v2.21/willuslib/string.c k2pdfopt_v2.21.new/willuslib/string.c
---- k2pdfopt_v2.21/willuslib/string.c	2014-02-03 00:37:44.000000000 -0300
-+++ k2pdfopt_v2.21.new/willuslib/string.c	2014-07-26 11:37:01.766506277 -0300
-@@ -81,7 +81,7 @@
- ** Returns NULL if EOF, otherwise returns pointer to the string.
- **
- */
--char *get_line(char *buf,int max,FILE *f)
-+char *willus_get_line(char *buf,int max,FILE *f)
- 
-     {
-     int     i;
-diff -aur k2pdfopt_v2.21/willuslib/willus.h k2pdfopt_v2.21.new/willuslib/willus.h
---- k2pdfopt_v2.21/willuslib/willus.h	2014-07-25 15:03:51.000000000 -0300
-+++ k2pdfopt_v2.21.new/willuslib/willus.h	2014-07-26 11:37:56.316506038 -0300
-@@ -214,9 +214,6 @@
- ** CMAKE handles the defines, not this source
- ** (Mod from Dirk Thierbach, 31-Dec-2013)
- */
--#ifdef USE_CMAKE
--#include "config.h"
--#else /* USE_CMAKE */
- 
- #ifndef HAVE_Z_LIB
- #define HAVE_Z_LIB
-@@ -268,7 +265,6 @@
- #undef HAVE_GSL_LIB
- #endif
- 
--#endif /* USE_CMAKE */
- /*
- ** Consistency check
- */
-@@ -533,7 +529,7 @@
-                       int *n,FILE *err);
- int    readxyz_ex    (char *filename,double **x,double **y,double **z,
-                       int *n,FILE *err,int ignore_after_semicolon);
--void   sort          (float *x,int n);
-+void   willus_sort          (float *x,int n);
- void   sortd         (double *x,int n);
- void   sorti         (int *x,int n);
- void   sortxy        (float *x,float *y,int n);
-@@ -602,7 +598,7 @@
- /* string.c */
- void   clean_line    (char *buf);
- void   clean_line_end(char *buf);
--char  *get_line      (char *buf,int max,FILE *f);
-+char  *willus_get_line      (char *buf,int max,FILE *f);
- char  *get_line_cf   (char *buf,int max,FILE *f);
- int   mem_get_line_cf(char *buf,int maxlen,char *cptr,long *cindex,long csize);
- int    in_string     (char *buffer,char *pattern);
diff --git a/pkgs/applications/misc/k2pdfopt/tesseract.patch b/pkgs/applications/misc/k2pdfopt/tesseract.patch
index 5cb6e0fe317..4827daa1a90 100644
--- a/pkgs/applications/misc/k2pdfopt/tesseract.patch
+++ b/pkgs/applications/misc/k2pdfopt/tesseract.patch
@@ -1,12 +1,13 @@
-diff -aur tesseract-ocr/api/Makefile.am tesseract-ocr.new/api/Makefile.am
---- tesseract-ocr/api/Makefile.am	2012-10-09 14:18:39.000000000 -0300
-+++ tesseract-ocr.new/api/Makefile.am	2014-03-20 18:43:13.926030341 -0300
-@@ -36,7 +36,7 @@
+diff --git a/api/Makefile.am b/api/Makefile.am
+index d8c1e54..46ead13 100644
+--- a/api/Makefile.am
++++ b/api/Makefile.am
+@@ -42,7 +42,7 @@ libtesseract_api_la_CPPFLAGS = $(AM_CPPFLAGS)
  if VISIBILITY
  libtesseract_api_la_CPPFLAGS += -DTESS_EXPORTS
  endif
--libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp
-+libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp tesscapi.cpp
+-libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp renderer.cpp pdfrenderer.cpp
++libtesseract_api_la_SOURCES = baseapi.cpp capi.cpp renderer.cpp pdfrenderer.cpp tesscapi.cpp
  
  lib_LTLIBRARIES += libtesseract.la
  libtesseract_la_LDFLAGS = 
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
index 09f343483df..0c83e206bb3 100644
--- a/pkgs/applications/misc/monero/default.nix
+++ b/pkgs/applications/misc/monero/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
 
 let
-  version = "0.10.3.1";
+  version = "0.11.0.0";
 in
 stdenv.mkDerivation {
   name = "monero-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "1x6qjqijdbjyfb0dcjn46gp38hkb419skxansf9w2cjf58c2055n";
+    sha256 = "041xxk9gznfpgn8f07m7sddr74cwm1sdyf9i85k10ndja87xc6y4";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
@@ -30,7 +30,6 @@ stdenv.mkDerivation {
         bin/monerod \
         bin/monero-blockchain-export \
         bin/monero-blockchain-import \
-        bin/monero-utils-deserialize \
         bin/monero-wallet-cli \
         bin/monero-wallet-rpc
   '';
diff --git a/pkgs/applications/misc/pitz/default.nix b/pkgs/applications/misc/pitz/default.nix
deleted file mode 100644
index dcb36082231..00000000000
--- a/pkgs/applications/misc/pitz/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ stdenv, fetchurl, buildPythonApplication, tempita, jinja2, pyyaml, clepy, mock
-, nose, decorator, docutils
-}:
-
-# TODO: pitz has a pitz-shell utility that depends on ipython, but it just
-# errors out and dies (it probably depends on an old ipython version):
-#
-#   from IPython.Shell import IPShellEmbed
-#   ImportError: No module named Shell
-#
-# pitz-shell is not the primary interface, so it is not critical to have it
-# working. Concider fixing pitz upstream.
-
-buildPythonApplication rec {
-  name = "pitz-1.2.4";
-  namePrefix = "";
-
-  src = fetchurl {
-    url = "mirror://pypi/p/pitz/${name}.tar.gz";
-    sha256 = "1k7f3h4acllzqy3mjqnjd4w5jskp03s79b7dx3c85vlmd7824smr";
-  };
-
-  # propagatedBuildInputs is needed for pitz to find its dependencies at
-  # runtime. If we use buildInputs it would just build, not run.
-  propagatedBuildInputs = [ tempita jinja2 pyyaml clepy mock nose decorator docutils ];
-
-  meta = with stdenv.lib; {
-    description = "Distributed bugtracker";
-    license = licenses.bsd3;
-    homepage = http://pitz.tplus1.com/;
-    platforms = platforms.linux;
-    maintainers = [ maintainers.bjornfor ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix
index 993d81ff96e..75f2dcda6a6 100644
--- a/pkgs/applications/networking/browsers/chromium/browser.nix
+++ b/pkgs/applications/networking/browsers/chromium/browser.nix
@@ -12,11 +12,10 @@ mkChromiumDerivation (base: rec {
   sandboxExecutableName = "__chromium-suid-sandbox";
 
   installPhase = ''
-    mkdir -p "$libExecPath/swiftshader"
+    mkdir -p "$libExecPath"
     cp -v "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/"
     cp -v "$buildPath/icudtl.dat" "$libExecPath/"
     cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/"
-    cp -v "$buildPath/swiftshader/"*.so "$libExecPath/swiftshader/"
     cp -v "$buildPath/chrome" "$libExecPath/$packageName"
 
     if [ -e "$buildPath/libwidevinecdmadapter.so" ]; then
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 33b8ee220ba..c4fd85ab93e 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -117,7 +117,10 @@ let
 
     patches = [
       ./patches/nix_plugin_paths_52.patch
-      ./patches/chromium-gn-bootstrap-r8.patch
+      ./patches/chromium-gn-bootstrap-r14.patch
+      ./patches/chromium-gcc-r1.patch
+      ./patches/chromium-atk-r1.patch
+      ./patches/chromium-gcc5-r1.patch
       # To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled
       # Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325
       ./patches/fix_network_api_crash.patch
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch
new file mode 100644
index 00000000000..602be1e3ba7
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-atk-r1.patch
@@ -0,0 +1,11 @@
+--- a/content/browser/accessibility/browser_accessibility_auralinux.cc.orig	2017-07-27 06:28:01.090257874 +0000
++++ b/content/browser/accessibility/browser_accessibility_auralinux.cc	2017-07-27 06:28:21.174653680 +0000
+@@ -571,7 +571,7 @@
+ // it's best to leave this out rather than break people's builds:
+ #if defined(ATK_CHECK_VERSION)
+ #if ATK_CHECK_VERSION(2, 16, 0)
+-      atk_state_set_add_state(atk_state_set, ATK_STATE_READ_ONLY);
++      atk_state_set_add_state(state_set, ATK_STATE_READ_ONLY);
+ #endif
+ #endif
+       break;
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch
new file mode 100644
index 00000000000..036d57b601d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc-r1.patch
@@ -0,0 +1,14 @@
+diff --git a/base/numerics/safe_math_shared_impl.h b/base/numerics/safe_math_shared_impl.h
+index 99f230ce7e9a..de2415d402f5 100644
+--- a/base/numerics/safe_math_shared_impl.h
++++ b/base/numerics/safe_math_shared_impl.h
+@@ -21,8 +21,7 @@
+ #if !defined(__native_client__) &&                         \
+     ((defined(__clang__) &&                                \
+       ((__clang_major__ > 3) ||                            \
+-       (__clang_major__ == 3 && __clang_minor__ >= 4))) || \
+-     (defined(__GNUC__) && __GNUC__ >= 5))
++       (__clang_major__ == 3 && __clang_minor__ >= 4))))
+ #include "base/numerics/safe_math_clang_gcc_impl.h"
+ #define BASE_HAS_OPTIMIZED_SAFE_MATH (1)
+ #else
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch
new file mode 100644
index 00000000000..8d2886fbfa9
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-gcc5-r1.patch
@@ -0,0 +1,66 @@
+--- a/chrome/browser/devtools/devtools_file_system_indexer.cc
++++ b/chrome/browser/devtools/devtools_file_system_indexer.cc
+@@ -34,7 +34,6 @@ using base::TimeDelta;
+ using base::TimeTicks;
+ using content::BrowserThread;
+ using std::map;
+-using std::set;
+ using std::string;
+ using std::vector;
+ 
+@@ -191,7 +190,7 @@ vector<FilePath> Index::Search(const string& query) {
+     if (trigram != kUndefinedTrigram)
+       trigrams.push_back(trigram);
+   }
+-  set<FileId> file_ids;
++  std::set<FileId> file_ids;
+   bool first = true;
+   vector<Trigram>::const_iterator it = trigrams.begin();
+   for (; it != trigrams.end(); ++it) {
+@@ -203,7 +202,7 @@ vector<FilePath> Index::Search(const string& query) {
+       first = false;
+       continue;
+     }
+-    set<FileId> intersection = base::STLSetIntersection<set<FileId> >(
++    std::set<FileId> intersection = base::STLSetIntersection<std::set<FileId> >(
+         file_ids, index_[trigram]);
+     file_ids.swap(intersection);
+   }
+diff --git a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
+index 94bb9161ec85..e40c6387f72e 100644
+--- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
++++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h
+@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents {
+           allocation_length_(0),
+           data_(data),
+           data_length_(0),
+-          kind_(AllocationKind::kNormal),
++          kind_(WTF::ArrayBufferContents::AllocationKind::kNormal),
+           deleter_(deleter) {}
+     DataHandle(void* allocation_base,
+                size_t allocation_length,
+@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents {
+              reinterpret_cast<uintptr_t>(allocation_base_) +
+                  allocation_length_);
+       switch (kind_) {
+-        case AllocationKind::kNormal:
++        case WTF::ArrayBufferContents::AllocationKind::kNormal:
+           DCHECK(deleter_);
+           deleter_(data_);
+           return;
+-        case AllocationKind::kReservation:
++        case WTF::ArrayBufferContents::AllocationKind::kReservation:
+           ReleaseReservedMemory(allocation_base_, allocation_length_);
+           return;
+       }
+--- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig	2017-08-15 12:45:59.433532111 +0000
++++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc	2017-08-15 17:52:59.691328825 +0000
+@@ -10,7 +10,7 @@
+ 
+ #include "webrtc/modules/audio_processing/aec3/aec_state.h"
+ 
+-#include <math.h>
++#include <cmath>
+ #include <numeric>
+ #include <vector>
+ 
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch b/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch
new file mode 100644
index 00000000000..62426715366
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r14.patch
@@ -0,0 +1,27 @@
+commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685
+Author: Pawel Hajdan, Jr <phajdan.jr@chromium.org>
+Date:   Wed Jul 26 21:51:54 2017 +0000
+
+    wip
+
+diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py
+index 1390560f8e37..ff2ae57c46b0 100755
+--- a/tools/gn/bootstrap/bootstrap.py
++++ b/tools/gn/bootstrap/bootstrap.py
+@@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+       'base/metrics/histogram_base.cc',
+       'base/metrics/histogram_functions.cc',
+       'base/metrics/histogram_samples.cc',
++      'base/metrics/histogram_snapshot_manager.cc',
+       'base/metrics/metrics_hashes.cc',
+       'base/metrics/persistent_histogram_allocator.cc',
+       'base/metrics/persistent_memory_allocator.cc',
+@@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options):
+       'base/trace_event/heap_profiler_allocation_context_tracker.cc',
+       'base/trace_event/heap_profiler_allocation_register.cc',
+       'base/trace_event/heap_profiler_event_filter.cc',
+-      'base/trace_event/heap_profiler_event_writer.cc',
++      'base/trace_event/heap_profiler_heap_dump_writer.cc',
+       'base/trace_event/heap_profiler_serialization_state.cc',
+       'base/trace_event/heap_profiler_stack_frame_deduplicator.cc',
+       'base/trace_event/heap_profiler_type_name_deduplicator.cc',
\ No newline at end of file
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index e80cfdbc904..ff349c8a576 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1sh3rq36sh4g7blajvqfvs06fs5sbrbdp50qq0cvcj4k3fmb4bd8";
-    sha256bin64 = "1w67y4z57qm5fwniayncly7a4mjmwqir7gfd54ny8lwlf247d43m";
-    version = "60.0.3112.78";
+    sha256 = "09q7s5x22vnmvqyz0f1l6qnaryglmsp0rc63qcg5sfvgv2g17g5x";
+    sha256bin64 = "12z6z8gjxl4mx8j6db8nnlzrj03rh4qwyrvcf4hqcsv7b1armg6j";
+    version = "61.0.3163.79";
   };
   dev = {
-    sha256 = "0yan2dzx1854f3xslif5682rkb82a1li6vxj12z5s5fxqijhj1jq";
-    sha256bin64 = "0ddva2rqnid2gcx3qh72p41wc15869w2w9n0rbdpn662rpl041v1";
-    version = "61.0.3163.25";
+    sha256 = "168i6dcdl13an3vlr2m83q8fcprgckmclkmzwj70jdkp84qx80fq";
+    sha256bin64 = "116vddp01m2ls337zj6r4h1nvybphvldlk9bs8czypx5skn29vbz";
+    version = "62.0.3202.9";
   };
   stable = {
-    sha256 = "1rirhwvccidza4q4z1gqdwcd9v1bymh1m9r2cq8jhiabfrjpjbxl";
-    sha256bin64 = "1lw349ips0sgyls3arv864yq5xykfn9jilwkalvllaq6yvdvcvlk";
-    version = "60.0.3112.90";
+    sha256 = "09q7s5x22vnmvqyz0f1l6qnaryglmsp0rc63qcg5sfvgv2g17g5x";
+    sha256bin64 = "0a0wd06c0v061lnmb8x20gqgsg9zqafp2kq1fl3cjm0ldg9rwayw";
+    version = "61.0.3163.79";
   };
 }
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index bd841ba8110..b967777883c 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -5,7 +5,7 @@
 , gtk2, hunspell, icu, libevent, libjpeg, libnotify
 , libstartup_notification, libvpx, makeWrapper, mesa
 , nspr, nss, pango, perl, python, libpulseaudio, sqlite
-, unzip, xlibs, which, yasm, zip, zlib, gcc
+, unzip, xlibs, which, yasm, zip, zlib
 }:
 
 stdenv.mkDerivation rec {
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
     gst-plugins-base gstreamer gst_all_1.gst-plugins-base gtk2
     hunspell icu libevent libjpeg libnotify libstartup_notification
     libvpx makeWrapper mesa nspr nss pango perl pkgconfig python
-    libpulseaudio sqlite unzip which yasm zip zlib gcc
+    libpulseaudio sqlite unzip which yasm zip zlib
   ] ++ (with xlibs; [
     libX11 libXext libXft libXi libXrender libXScrnSaver
     libXt pixman scrnsaverproto xextproto
diff --git a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r8.patch b/pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r8.patch
index d9f389aaf58..d9f389aaf58 100644
--- a/pkgs/applications/networking/browsers/chromium/patches/chromium-gn-bootstrap-r8.patch
+++ b/pkgs/applications/networking/browsers/vivaldi/chromium-gn-bootstrap-r8.patch
diff --git a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
index 1a1b7ae142c..b8b6bde50a4 100644
--- a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
 
   patches = [
-    ../chromium/patches/chromium-gn-bootstrap-r8.patch
+    ./chromium-gn-bootstrap-r8.patch
   ];
 
   configurePhase = ''
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index 6ade5bab70e..fdc97733c77 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, which, buildGoPackage }:
+{ stdenv, fetchFromGitHub, which, buildGoPackage, utillinux, coreutils }:
 
 let
-  version = "1.5.0";
+  version = "3.6.0";
   ver = stdenv.lib.elemAt (stdenv.lib.splitString "." version);
   versionMajor = ver 0;
   versionMinor = ver 1;
@@ -14,7 +14,7 @@ in buildGoPackage rec {
     owner = "openshift";
     repo = "origin";
     rev = "v${version}";
-    sha256 = "0qvyxcyca3888nkgvyvqcmybm95ncwxb3zvrzbg2gz8kx6g6350v";
+    sha256 = "08bdqvsjl6c7dmllyz8n4akb7gyn91znvbph5cgmmk1bhskycy1r";
   };
 
   buildInputs = [ which ];
@@ -22,13 +22,24 @@ in buildGoPackage rec {
   goPackagePath = null;
   patchPhase = ''
     patchShebangs ./hack
+    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+      --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt findmnt' \
+      'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/findmnt'
+
+    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+      --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mount' \
+      'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
+
+    substituteInPlace pkg/bootstrap/docker/host/host.go  \
+      --replace 'nsenter --mount=/rootfs/proc/1/ns/mnt mkdir' \
+      'nsenter --mount=/rootfs/proc/1/ns/mnt ${utillinux}/bin/mount'
   '';
 
   buildPhase = ''
     cd go/src/origin-v${version}-src
     # Openshift build require this variables to be set
     # unless there is a .git folder which is not the case with fetchFromGitHub
-    export OS_GIT_VERSION=${version}
+    export OS_GIT_VERSION=v${version}
     export OS_GIT_MAJOR=${versionMajor}
     export OS_GIT_MINOR=${versionMinor}
     make build
@@ -43,7 +54,7 @@ in buildGoPackage rec {
     description = "Build, deploy, and manage your applications with Docker and Kubernetes";
     license = licenses.asl20;
     homepage = http://www.openshift.org;
-    maintainers = with maintainers; [offline bachp];
+    maintainers = with maintainers; [offline bachp moretea];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 01dfa244a19..0bd3dcbc33a 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -24,10 +24,10 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "34.4.20";
+  version = "34.4.22";
   sha256 = {
-    "x86_64-linux" = "04yc0sf4w4p86f2rpph4g4qhd4wxlsyhiwcf4201xadnnjj11gzz";
-    "i686-linux"   = "0ch5yxw1n6mwa6050pd10f5z3ys2yca9n8ccjlqi2d2aa4qcxsmr";
+    "x86_64-linux" = "1ryxj8d5ym2dc18vn2m883jvy9n19xvw5kgfbqxziirb0bip58ba";
+    "i686-linux"   = "1pj7c77196ill8jpwk8f66917v2a7c2xvkd9mssh98c9n321k5j8";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch = {
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 067d636f137..7d5d9433bf3 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -1,21 +1,26 @@
-{ stdenv, python34Packages, fetchFromGitHub }:
+{ stdenv, python3Packages, fetchFromGitHub }:
 
-python34Packages.buildPythonPackage rec {
+python3Packages.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "gns3-server";
-  version = "2.0.3";
+  version = "2.1.0rc1";
 
   src = fetchFromGitHub {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c7mzj1r2zh90a7vs3s17jakfp9s43b8nnj29rpamqxvl3qhbdy7";
+    sha256 = "181689fpjxq4hy2lyxk4zciqhgnhj5srvb4xsxdlbf68n89fj2zf";
   };
 
-  propagatedBuildInputs = with python34Packages; [
-    aiohttp jinja2 psutil zipstream aiohttp-cors raven jsonschema
+  propagatedBuildInputs = with python3Packages; [
+    aiohttp jinja2 psutil zipstream aiohttp-cors raven jsonschema yarl typing
+    prompt_toolkit
   ];
 
+  postPatch = ''
+    sed -i 's/yarl>=0.11,<0.12/yarl/g' requirements.txt
+  '';
+
   # Requires network access
   doCheck = false;
 
diff --git a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
index 14a0a54feda..94490d9f034 100644
--- a/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
+++ b/pkgs/applications/networking/instant-messengers/bitlbee-facebook/default.nix
@@ -3,13 +3,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "bitlbee-facebook-${version}";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
-    owner = "jgeboski";
+    owner = "bitlbee";
     repo = "bitlbee-facebook";
-    sha256 = "08ibjqqcrmq1a5nmj8z93rjrdabi0yy2a70p31xalnfrh200m24c";
+    sha256 = "0kz2sc10iq01vn0hvf06bcdc1rsxz1j77z3mw55slf3j08xr07in";
   };
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "The Facebook protocol plugin for bitlbee";
 
-    homepage = https://github.com/jgeboski/bitlbee-facebook;
+    homepage = https://github.com/bitlbee/bitlbee-facebook;
     license = licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
deleted file mode 100644
index 6beebef1c72..00000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/0.8.80.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-[
-{name="ktp-accounts-kcm";key="accounts_kcm";sha256="08b873k455jbs9vd5nsb222pr1kb7gjx3qky769654j696rad5bc";}
-{name="ktp-approver";key="approver";sha256="07qsjxvcjr9i0v7g7cdx3rky1fa8aany5fyfav488kq6nc13fjb1";}
-{name="ktp-auth-handler";key="auth_handler";sha256="00gq5gq7imv7rv8xivl2s1n0k39llpmd5z46rvhai76z7hp8sj4l";}
-{name="ktp-call-ui";key="call_ui";sha256="1dwsq2ixci95byfg1ayy6g2zv0dbc0273r9wb395f220dgqpz7b4";}
-{name="ktp-common-internals";key="common_internals";sha256="049hh045p6nccyrjvagfw183vfa857xdl96q2w1vrj6frimniz9q";}
-{name="ktp-contact-list";key="contact_list";sha256="0xydyyla48y7q8pf84i12l7fx13p0gi8k4jl7nl7jxjsflzidscp";}
-{name="ktp-contact-runner";key="contact_runner";sha256="1bfb772cyzrbwjkglr3bvawp44dcqr59kkgvb6irgha8w7adic3b";}
-{name="ktp-desktop-applets";key="desktop_applets";sha256="150mpk7vq2w47vz2yffhj676k84fn3h8g77xklmyqm1y3f21dx01";}
-{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="07jgfydhr5hh7z0wkrz6k4gh3li9nmyxhjvxcxsayxrc7gnhazja";}
-{name="ktp-kded-integration-module";key="kded_integration_module";sha256="0axjqsk1h9c71hxpcy8ls7jsb0dsmsm75wdgwx71xrdb9hpqwn9f";}
-{name="ktp-send-file";key="send_file";sha256="0wiqrwhrmccx3ic0aaqlq539jcznkgsrwyn9hdizwsc8f33rxmri";}
-{name="ktp-text-ui";key="text_ui";sha256="0ch6sqvj9hpx3823c1wmziqy6g9v97sj1hihbaf8z8wyb84f0wbl";}
-]
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix b/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
deleted file mode 100644
index 0a5a309c27d..00000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/default.nix
+++ /dev/null
@@ -1,69 +0,0 @@
-{ stdenv, fetchurl, fetchgit, automoc4, cmake, gettext, perl, pkgconfig
-, telepathy_qt, kdelibs4, kde_workspace, dbus_glib, dbus_libs, farstream
-, qt-gstreamer1, telepathy_glib, telepathy_logger
-, qjson, flex, bison, qca2 }:
-
-let
-  version = "0.8.80";
-  manifest = import (./. + "/${version}.nix");
-
-  overrides = {
-    call_ui = x : x // {
-      NIX_CFLAGS_COMPILE =
-        "-I${telepathy_glib}/include/telepathy-1.0"
-        + " -I${dbus_glib.dev}/include/dbus-1.0"
-        + " -I${dbus_libs.dev}/include/dbus-1.0";
-    };
-    telepathy_logger_qt = x : x // {
-      NIX_CFLAGS_COMPILE = "-I${dbus_libs.dev}/include/dbus-1.0";
-    };
-  };
-
-  extraBuildInputs = {
-    auth_handler = [ qjson qca2 ];
-    call_ui = [ qt-gstreamer1 telepathy_glib farstream ];
-    contact_applet = [ kde_workspace ];
-    telepathy_logger_qt = [ telepathy_logger qt-gstreamer1 ];
-    text_ui = [ qt-gstreamer1 telepathy_logger qjson ];
-    common_internals = [ telepathy_qt ];
-  };
-
-  extraNativeBuildInputs = {
-    telepathy_logger_qt = [ flex bison ];
-  };
-
-  ktpFun = { name, key, sha256 }:
-  {
-    name = key;
-    value = stdenv.mkDerivation (
-      (stdenv.lib.attrByPath [ key ] (x : x) overrides)
-      {
-        name = "${name}-${version}";
-
-        src = fetchurl {
-          url = "mirror://kde/unstable/kde-telepathy/${version}/src/${name}-${version}.tar.bz2";
-          inherit sha256;
-        };
-
-        nativeBuildInputs =
-          [ automoc4 cmake gettext perl pkgconfig ]
-          ++ (stdenv.lib.attrByPath [ key ] [] extraNativeBuildInputs);
-        buildInputs = [ kdelibs4 telepathy_qt ]
-          ++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
-          ++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);
-
-        meta = {
-          inherit (kdelibs4.meta) platforms;
-          maintainers = [ ];
-        };
-      }
-    );
-  };
-
-  ktp = builtins.listToAttrs (map ktpFun manifest);
-in
-ktp // {
-  inherit version;
-  recurseForDerivations = true;
-  full = stdenv.lib.attrValues ktp;
-}
diff --git a/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh b/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh
deleted file mode 100755
index 199607047b8..00000000000
--- a/pkgs/applications/networking/instant-messengers/telepathy/kde/update.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-
-usage() {
-  echo "$0 version|directory"
-}
-
-download() {
-  URL=ftp://ftp.kde.org/pub/kde/unstable/kde-telepathy/$1/src
-  destdir=$2
-  if test -n "$KDE_FULL_SESSION"; then
-    kioclient copy $URL $destdir
-  else
-    mkdir $destdir
-    lftp -c "open $URL; lcd $destdir; mget -c *"
-  fi
-}
-
-if [[ -d $1 ]]; then
-  directory=$1
-  version=$(ls $directory/* | head -n1 |
-    sed -e "s,$directory/[^0-9.]*\\([0-9.]\\+\\)\\.tar.*,\\1,")
-  echo "Version $version"
-else
-  version=$1
-  directory=src-$version
-  download $version $directory
-fi
-
-packages=$(ls $directory/* | sed -e "s,$directory/\\(.*\\)-$version.*,\\1,")
-echo $packages
-exec >$version.nix
-echo "["
-for name in $packages; do
-  hash=$(nix-hash --flat --type sha256 --base32 $directory/$name-$version.*)
-  key=${name#ktp-}
-  echo "{name=\"${name}\";key=\"${key//-/_}\";sha256=\"${hash}\";}"
-done
-echo "]"
\ No newline at end of file
diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix
index 7720fd69eeb..6b8cf89fc75 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix
@@ -5,11 +5,11 @@
 
 python2Packages.buildPythonApplication rec {
   name = "mailnag-${version}";
-  version = "1.1.0";
+  version = "1.2.1";
 
   src = fetchurl {
     url = "https://github.com/pulb/mailnag/archive/v${version}.tar.gz";
-    sha256 = "0li4kvxjmbz3nqg6bysgn2wdazqrd7gm9fym3rd7148aiqqwa91r";
+    sha256 = "ec7ac027d93bc7d88fc270858f5a181453a6ff07f43cab20563d185818801fee";
   };
 
   buildInputs = [
@@ -30,6 +30,12 @@ python2Packages.buildPythonApplication rec {
     done
   '';
 
+  buildPhase = "";
+
+  installPhase = "python2 setup.py install --prefix=$out";
+
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "An extensible mail notification daemon";
     homepage = https://github.com/pulb/mailnag;
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index d9af01bdad4..74e43a728d7 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, fixDarwinDylibNames, gdb
+{ fetchurl, stdenv, fixDarwinDylibNames
 , pkgconfig, gnupg
 , xapian, gmime, talloc, zlib
 , doxygen, perl
@@ -6,9 +6,11 @@
 , bash-completion
 , emacs
 , ruby
-, which, dtach, openssl, bash
+, which, dtach, openssl, bash, gdb, man
 }:
 
+with stdenv.lib;
+
 stdenv.mkDerivation rec {
   version = "0.25";
   name = "notmuch-${version}";
@@ -32,19 +34,11 @@ stdenv.mkDerivation rec {
     emacs  # (optional) to byte compile emacs code
     ruby  # (optional) ruby bindings
     which dtach openssl bash  # test dependencies
-    ]
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames
-    ++ stdenv.lib.optional (!stdenv.isDarwin) gdb;
-
-  doCheck = !stdenv.isDarwin;
-  checkTarget = "test";
-
-  patchPhase = ''
-    # XXX: disabling few tests since i have no idea how to make them pass for now
-    rm -f test/T010-help-test.sh \
-          test/T350-crypto.sh \
-          test/T355-smime.sh
+  ]
+  ++ optional stdenv.isDarwin fixDarwinDylibNames
+  ++ optionals (!stdenv.isDarwin) [ gdb man ]; # test dependencies
 
+  postPatch = ''
     find test -type f -exec \
       sed -i \
         -e "1s|#!/usr/bin/env bash|#!${bash}/bin/bash|" \
@@ -65,7 +59,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+  makeFlags = "V=1";
+
+  preFixup = optionalString stdenv.isDarwin ''
     set -e
 
     die() {
@@ -92,12 +88,16 @@ stdenv.mkDerivation rec {
     install_name_tool -change "$badname" "$goodname" "$prg"
   '';
 
+  doCheck = !stdenv.isDarwin && (versionAtLeast gmime.version "3.0");
+  checkTarget = "test V=1";
+
   postInstall = ''
     make install-man
   '';
+
   dontGzipMan = true; # already compressed
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "Mail indexer";
     homepage    = https://notmuchmail.org/;
     license     = licenses.gpl3;
diff --git a/pkgs/applications/networking/nntp-proxy/default.nix b/pkgs/applications/networking/nntp-proxy/default.nix
index 05333f67ecf..8795f32e829 100644
--- a/pkgs/applications/networking/nntp-proxy/default.nix
+++ b/pkgs/applications/networking/nntp-proxy/default.nix
@@ -11,14 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "0jwxh71am83fbnq9mn06jl06rq8qybm506js79xmmc3xbk5pqvy4";
   };
 
-  buildInputs = [ libconfig pkgconfig libevent openssl ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ libconfig libevent openssl ];
 
-  installFlags = "INSTALL_DIR=\${out}/bin/";
+  installFlags = [ "INSTALL_DIR=$(out)/bin/" ];
 
-  preInstall = ''
+  prePatch = ''
     mkdir -p $out/bin
     substituteInPlace Makefile \
-      --replace /usr/bin/install $(type -P install)
+      --replace /usr/bin/install $(type -P install) \
+      --replace gcc cc
   '';
 
   meta = {
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index d9ffb6e2aa9..219615abb02 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "KDE integrated BtTorrent client";
     homepage    = https://www.kde.org/applications/internet/ktorrent/;
+    license = licenses.gpl2;
     maintainers = with maintainers; [ eelco ];
     platforms   = platforms.linux;
   };
diff --git a/pkgs/applications/office/libreoffice/default-primary-src.nix b/pkgs/applications/office/libreoffice/default-primary-src.nix
index 245d2a5fce1..cc3329bdcc9 100644
--- a/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/default-primary-src.nix
@@ -2,7 +2,7 @@
 
 rec {
   major = "5";
-  minor = "3";
+  minor = "4";
   patch = "1";
   tweak = "2";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1zsl0z0i8pw532x2lmwd64ms6igibkkjhwf01zmm2kpnr9ycsijp";
+    sha256 = "0c17193vcf4nj8l5k9q87byv27px74kzp0hvgr1dfz5700cv086k";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 89cd2548806..830692f08eb 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -12,7 +12,7 @@
 , libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, makeWrapper, gsettings_desktop_schemas
-, defaultIconTheme, glib, ncurses
+, defaultIconTheme, glib, ncurses, xmlsec, epoxy, gpgme
 , langs ? [ "en-US" "en-GB" "ca" "ru" "eo" "fr" "nl" "de" "sl" "pl" "hu" ]
 , withHelp ? true
 , kdeIntegration ? false
@@ -42,14 +42,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "1r386qkfmlq7p1zly4xl0s0shp1d3rq9hwm1403ap22qpgrcgqyb";
+      sha256 = "1ir1f5jgjhpnxsw6izsryp4wg52ifzmcqyc0gdp9zh03rjf5i4cg";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "03n2lj6zhjg585zq9z458mj29dshni25p1v959a2z1xa3jzwfjfz";
+      sha256 = "1apgc57a8q6lsjfq2f7pzdn7wanqm8zkkrkbq2nd4hidp6avgm6f";
     };
 
   };
@@ -65,14 +65,15 @@ in stdenv.mkDerivation rec {
 
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE="-I${librdf_rasqal}/include/rasqal";
+  # And LO refers to gpgme++ by no-path name
+  NIX_CFLAGS_COMPILE="-I${librdf_rasqal}/include/rasqal -I${gpgme.dev}/include/gpgme++";
 
   # If we call 'configure', 'make' will then call configure again without parameters.
   # It's their system.
   configureScript = "./autogen.sh";
   dontUseCmakeConfigure = true;
 
-  patches = [ ./xdg-open.patch ];
+  patches = [ ./xdg-open-brief.patch ];
 
   postUnpack = ''
     mkdir -v $sourceRoot/src
@@ -82,6 +83,10 @@ in stdenv.mkDerivation rec {
     ln -svf ${srcs.translations} $sourceRoot/src/${srcs.translations.name}
   '';
 
+  postPatch = ''
+    sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
+  '';
+
   QT4DIR = qt4;
 
   # Fix boost 1.59 compat
@@ -118,7 +123,7 @@ in stdenv.mkDerivation rec {
     # rendering-dependent test
     sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
     # tilde expansion in path processing checks the existence of $HOME
-    sed -e 's@rtl::OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
+    sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
     # rendering-dependent: on my computer the test table actually doesn't fit…
     # interesting fact: test disabled on macOS by upstream
     sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
@@ -132,6 +137,7 @@ in stdenv.mkDerivation rec {
     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
+    sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
     # not sure about this fragile test
     sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
   '';
@@ -249,9 +255,9 @@ in stdenv.mkDerivation rec {
       gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
       python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 glibc libcmis libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz
-      librevenge libe-book libmwaw glm glew ncurses
+      mdds bluez5 glibc libcmis libwps libabw libzmf libtool
+      libxshmfence libatomic_ops graphite2 harfbuzz gpgme
+      librevenge libe-book libmwaw glm glew ncurses xmlsec epoxy
       libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
       gdb
     ]
diff --git a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
index f77829da340..dcda0ff782d 100755
--- a/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
+++ b/pkgs/applications/office/libreoffice/generate-libreoffice-srcs.py
@@ -22,12 +22,19 @@ def main():
     for x in packages:
 
         md5 = x['md5']
+        upstream_sha256 = x['sha256']
+        if upstream_sha256:
+            hash = upstream_sha256
+            hashtype = 'sha256'
+        else:
+            hash = md5
+            hashtype = 'md5'
         tarball = x['tarball']
 
         url = construct_url(x)
         print('url: {}'.format(url), file=sys.stderr)
 
-        path = download(url, tarball, md5)
+        path = download(url, tarball, hash, hashtype)
         print('path: {}'.format(path), file=sys.stderr)
 
         sha256 = get_sha256(path)
@@ -38,7 +45,7 @@ def main():
         print('    url = "{}";'.format(url))
         print('    sha256 = "{}";'.format(sha256))
         print('    md5 = "{}";'.format(md5))
-        print('    md5name = "{}-{}";'.format(md5,tarball))
+        print('    md5name = "{}-{}";'.format(md5 or upstream_sha256,tarball))
         print('  }')
 
     print(']')
@@ -53,9 +60,9 @@ def construct_url(x):
             x.get('subdir', ''), x['md5'], x['tarball'])
 
 
-def download(url, name, md5):
-    cmd = ['nix-prefetch-url', url, md5, '--print-path',
-           '--type', 'md5', '--name', name]
+def download(url, name, hash, hashtype):
+    cmd = ['nix-prefetch-url', url, hash, '--print-path',
+           '--type', hashtype, '--name', name]
     proc = subprocess.run(cmd, stdout=subprocess.PIPE, check=True,
                           universal_newlines=True)
     return proc.stdout.split('\n')[1].strip()
@@ -114,7 +121,7 @@ def get_packages_from_download_list():
         Groups lines according to their order within the file, to support
         packages that are listed in `download.lst` more than once.
         """
-        keys = ['tarball', 'md5', 'brief']
+        keys = ['tarball', 'md5', 'sha256', 'brief']
         a = {k: [x for x in xs if k in x['attrs']] for k in keys}
         return zip(*[a[k] for k in keys])
 
@@ -220,7 +227,7 @@ def sub_symbols(xs):
 
     def get_value(k):
         x = symbols.get(k)
-        return x['value'] if x is not None else None
+        return x['value'] if x is not None else ''
 
     for x in xs:
         yield dict_merge([{'value': sub_str(x['value'], get_value)},
@@ -249,7 +256,7 @@ def interpret(x):
     Output: One of 1. Dict with keys 'name' and 'attrs'
                    2. 'unrecognized' (if interpretation failed)
     """
-    for f in [interpret_md5, interpret_tarball_with_md5, interpret_tarball]:
+    for f in [interpret_md5, interpret_sha256, interpret_tarball_with_md5, interpret_tarball]:
         result = f(x)
         if result is not None:
             return result
@@ -267,8 +274,14 @@ def interpret_md5(x):
 
     if match:
         return {'name': match.group(1),
-                'attrs': {'md5': x['value']}}
+                'attrs': {'md5': x['value'], 'sha256': ''}}
+
+def interpret_sha256(x):
+    match = re.match('^(.*)_SHA256SUM$', x['key'])
 
+    if match:
+        return {'name': match.group(1),
+                'attrs': {'sha256': x['value'], 'md5': ''}}
 
 def interpret_tarball(x):
     """
@@ -301,6 +314,7 @@ def interpret_tarball_with_md5(x):
         return {'name': match['key'].group(1),
                 'attrs': {'tarball': match['value'].group('tarball'),
                           'md5': match['value'].group('md5'),
+                          'sha256': '',
                           'brief': False}}
 
 
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
index 7bcb638b77e..478c6c4d906 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
@@ -14,18 +14,18 @@
     md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz";
   }
   {
-    name = "apr-1.4.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-1.4.8.tar.gz";
-    sha256 = "1689e415bdfab6aaa41f07836b5dd9ed4901d22ddeb99feffdb2cee3124adf49";
-    md5 = "eff9d741b0999a9bbab96862dd2a2a3d";
-    md5name = "eff9d741b0999a9bbab96862dd2a2a3d-apr-1.4.8.tar.gz";
+    name = "apr-1.5.2.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
+    sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
+    md5 = "98492e965963f852ab29f9e61b2ad700";
+    md5name = "98492e965963f852ab29f9e61b2ad700-apr-1.5.2.tar.gz";
   }
   {
-    name = "apr-util-1.5.3.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/apr-util-1.5.3.tar.gz";
-    sha256 = "76db34cb508e346e3bf69347c29ed1500bf0b71bcc48d54271ad9d1c25703743";
-    md5 = "71a11d037240b292f824ba1eb537b4e3";
-    md5name = "71a11d037240b292f824ba1eb537b4e3-apr-util-1.5.3.tar.gz";
+    name = "apr-util-1.5.4.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
+    sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
+    md5 = "866825c04da827c6e5f53daff5569f42";
+    md5name = "866825c04da827c6e5f53daff5569f42-apr-util-1.5.4.tar.gz";
   }
   {
     name = "boost_1_60_0.tar.bz2";
@@ -56,18 +56,18 @@
     md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
   }
   {
-    name = "cairo-1.10.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
-    sha256 = "32018c7998358eebc2ad578ff8d8559d34fc80252095f110a572ed23d989fc41";
-    md5 = "f101a9e88b783337b20b2e26dfd26d5f";
-    md5name = "f101a9e88b783337b20b2e26dfd26d5f-cairo-1.10.2.tar.gz";
+    name = "cairo-1.14.6.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
+    sha256 = "613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252";
+    md5 = "23a0b2f0235431d35238df1d3a517fdb";
+    md5name = "23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
   }
   {
-    name = "libcdr-0.1.2.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.2.tar.bz2";
-    sha256 = "d05a986dab9f960e64466072653a900d03f8257b084440d9d16599e16060581e";
-    md5 = "6e3062b55b149d7b3c6aedb3bb5b86e2";
-    md5name = "6e3062b55b149d7b3c6aedb3bb5b86e2-libcdr-0.1.2.tar.bz2";
+    name = "libcdr-0.1.3.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libcdr-0.1.3.tar.bz2";
+    sha256 = "5160bbbfefe52bd4880840fad2b07a512813e37bfaf8ccac062fca238f230f4d";
+    md5 = "e369f30b5b861ee0fc4f9e6cbad701fe";
+    md5name = "e369f30b5b861ee0fc4f9e6cbad701fe-libcdr-0.1.3.tar.bz2";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
@@ -140,18 +140,18 @@
     md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2";
   }
   {
-    name = "expat-2.2.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2";
-    sha256 = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff";
-    md5 = "2f47841c829facb346eb6e3fab5212e2";
-    md5name = "2f47841c829facb346eb6e3fab5212e2-expat-2.2.0.tar.bz2";
+    name = "expat-2.2.3.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/expat-2.2.3.tar.bz2";
+    sha256 = "b31890fb02f85c002a67491923f89bda5028a880fd6c374f707193ad81aace5f";
+    md5 = "f053af63ef5f39bd9b78d01fbc203334";
+    md5name = "f053af63ef5f39bd9b78d01fbc203334-expat-2.2.3.tar.bz2";
   }
   {
-    name = "Firebird-2.5.5.26952-0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/Firebird-2.5.5.26952-0.tar.bz2";
-    sha256 = "b33e63ede88184d9ef2ae6760537ab75bfe641513821410b83e837946162b7d1";
-    md5 = "b0b5293991fcf07347b38431c80be1d4";
-    md5name = "b0b5293991fcf07347b38431c80be1d4-Firebird-2.5.5.26952-0.tar.bz2";
+    name = "Firebird-3.0.0.32483-0.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
+    sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
+    md5 = "821260b61dafc22899d1464d4e91ee6a";
+    md5name = "821260b61dafc22899d1464d4e91ee6a-Firebird-3.0.0.32483-0.tar.bz2";
   }
   {
     name = "fontconfig-2.8.0.tar.gz";
@@ -175,18 +175,18 @@
     md5name = "c74b7223abe75949b4af367942d96c7a-crosextrafonts-carlito-20130920.tar.gz";
   }
   {
-    name = "dejavu-fonts-ttf-2.35.zip";
-    url = "http://dev-www.libreoffice.org/src/d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip";
-    sha256 = "7e0d00f20080784c3a38a845d5858c161af14f0073d9474cdbfdedae883cc747";
-    md5 = "d8b5214d35bcd2bfcb2cffa7795b351d";
-    md5name = "d8b5214d35bcd2bfcb2cffa7795b351d-dejavu-fonts-ttf-2.35.zip";
+    name = "dejavu-fonts-ttf-2.37.zip";
+    url = "http://dev-www.libreoffice.org/src/33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
+    sha256 = "7576310b219e04159d35ff61dd4a4ec4cdba4f35c00e002a136f00e96a908b0a";
+    md5 = "33e1e61fab06a547851ed308b4ffef42";
+    md5name = "33e1e61fab06a547851ed308b4ffef42-dejavu-fonts-ttf-2.37.zip";
   }
   {
-    name = "gentiumbasic-fonts-1.10.zip";
-    url = "http://dev-www.libreoffice.org/src/35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
-    sha256 = "f1691e48d02effdee0701622297394451759f13e0e0b36e788847f4b3e2ba11b";
-    md5 = "35efabc239af896dfb79be7ebdd6e6b9";
-    md5name = "35efabc239af896dfb79be7ebdd6e6b9-gentiumbasic-fonts-1.10.zip";
+    name = "GentiumBasic_1102.zip";
+    url = "http://dev-www.libreoffice.org/src/1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
+    sha256 = "2f1a2c5491d7305dffd3520c6375d2f3e14931ee35c6d8ae1e8f098bf1a7b3cc";
+    md5 = "1725634df4bb3dcb1b2c91a6175f8789";
+    md5name = "1725634df4bb3dcb1b2c91a6175f8789-GentiumBasic_1102.zip";
   }
   {
     name = "liberation-fonts-ttf-1.07.4.tar.gz";
@@ -238,6 +238,13 @@
     md5name = "edc4d741888bc0d38e32dbaa17149596-source-sans-pro-2.010R-ro-1.065R-it.tar.gz";
   }
   {
+    name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
+    sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
+    md5 = "919389b307ee8696288ea3b8210ab974";
+    md5name = "919389b307ee8696288ea3b8210ab974-EmojiOneColor-SVGinOT-1.3.tar.gz";
+  }
+  {
     name = "libfreehand-0.1.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2";
     sha256 = "45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877";
@@ -266,25 +273,18 @@
     md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
   }
   {
-    name = "glyphy-0.2.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2";
-    sha256 = "9a8f629f7ea40ba118199a37adee8f2dfb084cffa5f7f4db3a47b8b0075777be";
-    md5 = "5d303fb955beb9bf112267316ca9d021";
-    md5name = "5d303fb955beb9bf112267316ca9d021-glyphy-0.2.0.tar.bz2";
-  }
-  {
-    name = "graphite2-minimal-1.3.8.tgz";
-    url = "http://dev-www.libreoffice.org/src/4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz";
-    sha256 = "d16940175822760753e9762d0af9679c9726e64f25955677fe7ab68448601c3b";
-    md5 = "4311dd9ace498b57c85f611e0670df64";
-    md5name = "4311dd9ace498b57c85f611e0670df64-graphite2-minimal-1.3.8.tgz";
+    name = "graphite2-minimal-1.3.10.tgz";
+    url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.10.tgz";
+    sha256 = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9";
+    md5 = "9c499b8ec9f1b81fd0bb6a3b986f4b0f";
+    md5name = "9c499b8ec9f1b81fd0bb6a3b986f4b0f-graphite2-minimal-1.3.10.tgz";
   }
   {
-    name = "harfbuzz-1.2.6.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/harfbuzz-1.2.6.tar.bz2";
-    sha256 = "7537bacccb3524df0cd2a4d5bc7e168bcc10e8171e0324f3cd522583868192c1";
-    md5 = "9f4b6831c86135faef011e991f59f77f";
-    md5name = "9f4b6831c86135faef011e991f59f77f-harfbuzz-1.2.6.tar.bz2";
+    name = "harfbuzz-1.3.2.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/harfbuzz-1.3.2.tar.bz2";
+    sha256 = "8543a6372f08c5987c632dfaa86210c7edb3f43fbacd96095c609bc3539ce027";
+    md5 = "5986e1bfcd983d1f6caa53ef64c4abc5";
+    md5name = "5986e1bfcd983d1f6caa53ef64c4abc5-harfbuzz-1.3.2.tar.bz2";
   }
   {
     name = "hsqldb_1_8_0.zip";
@@ -294,11 +294,11 @@
     md5name = "17410483b5b5f267aa18b7e00b65e6e0-hsqldb_1_8_0.zip";
   }
   {
-    name = "hunspell-1.4.1.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
-    sha256 = "c4476aff0ced52eec334eae1e8d3fdaaebdd90f5ecd0b57cf2a92a6fd220d1bb";
-    md5 = "33d370f7fe5a030985e445a5672b2067";
-    md5name = "33d370f7fe5a030985e445a5672b2067-hunspell-1.4.1.tar.gz";
+    name = "hunspell-1.6.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
+    sha256 = "512e7d2ee69dad0b35ca011076405e56e0f10963a02d4859dbcc4faf53ca68e2";
+    md5 = "047c3feb121261b76dc16cdb62f54483";
+    md5name = "047c3feb121261b76dc16cdb62f54483-hunspell-1.6.0.tar.gz";
   }
   {
     name = "hyphen-2.8.8.tar.gz";
@@ -308,11 +308,11 @@
     md5name = "5ade6ae2a99bc1e9e57031ca88d36dad-hyphen-2.8.8.tar.gz";
   }
   {
-    name = "icu4c-57_1-src.tgz";
-    url = "http://dev-www.libreoffice.org/src/976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz";
-    sha256 = "ff8c67cb65949b1e7808f2359f2b80f722697048e90e7cfc382ec1fe229e9581";
-    md5 = "976734806026a4ef8bdd17937c8898b9";
-    md5name = "976734806026a4ef8bdd17937c8898b9-icu4c-57_1-src.tgz";
+    name = "icu4c-58_1-src.tgz";
+    url = "http://dev-www.libreoffice.org/src/1901302aaff1c1633ef81862663d2917-icu4c-58_1-src.tgz";
+    sha256 = "0eb46ba3746a9c2092c8ad347a29b1a1b4941144772d13a88667a7b11ea30309";
+    md5 = "1901302aaff1c1633ef81862663d2917";
+    md5name = "1901302aaff1c1633ef81862663d2917-icu4c-58_1-src.tgz";
   }
   {
     name = "flow-engine-0.9.4.zip";
@@ -406,11 +406,11 @@
     md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz";
   }
   {
-    name = "language-subtag-registry-2016-07-19.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2";
-    sha256 = "e3dc30bdbfdad442c542dc0e165df9d8d2ba06a357cd55957155d8259d1661dc";
-    md5 = "8a037dc60b16bf8c5fe871b33390a4a2";
-    md5name = "8a037dc60b16bf8c5fe871b33390a4a2-language-subtag-registry-2016-07-19.tar.bz2";
+    name = "language-subtag-registry-2017-04-19.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2017-04-19.tar.bz2";
+    sha256 = "8333809eec6fce852a1d6de68859962106e13a84705417efb03452164da3ee7a";
+    md5 = "59a3595c1052c5b51f996f44fe9994b9";
+    md5name = "59a3595c1052c5b51f996f44fe9994b9-language-subtag-registry-2017-04-19.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -455,18 +455,25 @@
     md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2";
   }
   {
-    name = "liblangtag-0.5.8.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2";
-    sha256 = "08e2f64bfe3f750be7391eb0af53967e164b628c59f02be4d83789eb4f036eaa";
-    md5 = "aa899eff126216dafe721149fbdb511b";
-    md5name = "aa899eff126216dafe721149fbdb511b-liblangtag-0.5.8.tar.bz2";
+    name = "liblangtag-0.6.2.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
+    sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
+    md5 = "284f120247323a35122ab32b4b359c45";
+    md5name = "284f120247323a35122ab32b4b359c45-liblangtag-0.6.2.tar.bz2";
   }
   {
-    name = "xmlsec1-1.2.20.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz";
-    sha256 = "3221593ca50f362b546a0888a1431ad24be1470f96b2469c0e0df5e1c55e7305";
-    md5 = "ce12af00283eb90d9281956524250d6e";
-    md5name = "ce12af00283eb90d9281956524250d6e-xmlsec1-1.2.20.tar.gz";
+    name = "ltm-1.0.zip";
+    url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
+    sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
+    md5 = "da283d2e3e72137d0c600ac36b991c9d";
+    md5name = "da283d2e3e72137d0c600ac36b991c9d-ltm-1.0.zip";
+  }
+  {
+    name = "xmlsec1-1.2.23.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
+    sha256 = "41d463d16c9894cd3317098d027c038039c6d896b9cbb9bad9c4e29959e10e9f";
+    md5 = "86b1daaa438f5a7bea9a52d7b9799ac0";
+    md5name = "86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
   }
   {
     name = "libxml2-2.9.4.tar.gz";
@@ -518,11 +525,11 @@
     md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2";
   }
   {
-    name = "libmwaw-0.3.7.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.7.tar.bz2";
-    sha256 = "a66b3e45a5ba5dd89849a766e128585cac8aaf9e9c6f037040200e5bf31f1427";
-    md5 = "4a8a53a9d997cf0e2bd208178797dbfb";
-    md5name = "4a8a53a9d997cf0e2bd208178797dbfb-libmwaw-0.3.7.tar.bz2";
+    name = "libmwaw-0.3.9.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.9.tar.bz2";
+    sha256 = "11a1f318431a052e1d623385351c8e659377d36db3e71e188af55da87ce9461f";
+    md5 = "d8532ad5630d3f3b2189a7ec5639151b";
+    md5name = "d8532ad5630d3f3b2189a7ec5639151b-libmwaw-0.3.9.tar.bz2";
   }
   {
     name = "mysql-connector-c++-1.1.4.tar.gz";
@@ -546,11 +553,11 @@
     md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz";
   }
   {
-    name = "nss-3.27-with-nspr-4.13.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
-    sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820";
-    md5 = "0e3eee39402386cf16fd7aaa7399ebef";
-    md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
+    name = "nss-3.29.5-with-nspr-4.13.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/nss-3.29.5-with-nspr-4.13.1.tar.gz";
+    sha256 = "8cb8624147737d1b4587c50bf058afbb6effc0f3c205d69b5ef4077b3bfed0e4";
+    md5 = "e55ee06b22687df68fafc6a30c0554b2";
+    md5name = "e55ee06b22687df68fafc6a30c0554b2-nss-3.29.5-with-nspr-4.13.1.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
@@ -560,6 +567,20 @@
     md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2";
   }
   {
+    name = "odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
+    url = "http://dev-www.libreoffice.org/src/../extern/a084cd548b586552cb7d3ee51f1af969-odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
+    sha256 = "a0bd3e0186e043223bfb231a888e2bfb06c78ee2e07c2f0eca434236d173cf34";
+    md5 = "a084cd548b586552cb7d3ee51f1af969";
+    md5name = "a084cd548b586552cb7d3ee51f1af969-odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
+  }
+  {
+    name = "officeotron-0.7.4-master.jar";
+    url = "http://dev-www.libreoffice.org/src/../extern/8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
+    sha256 = "f2443f27561af52324eee03a1892d9f569adc8db9e7bca55614898bc2a13a770";
+    md5 = "8249374c274932a21846fa7629c2aa9b";
+    md5name = "8249374c274932a21846fa7629c2aa9b-officeotron-0.7.4-master.jar";
+  }
+  {
     name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2";
     sha256 = "8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4";
@@ -567,11 +588,11 @@
     md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2";
   }
   {
-    name = "openldap-2.4.31.tgz";
-    url = "http://dev-www.libreoffice.org/src/804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz";
-    sha256 = "bde845840df4794b869a6efd6a6b1086f80989038e4844b2e4d7d6b57b39c5b6";
-    md5 = "804c6cb5698db30b75ad0ff1c25baefd";
-    md5name = "804c6cb5698db30b75ad0ff1c25baefd-openldap-2.4.31.tgz";
+    name = "openldap-2.4.44.tgz";
+    url = "http://dev-www.libreoffice.org/src/openldap-2.4.44.tgz";
+    sha256 = "d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400";
+    md5 = "693ac26de86231f8dcae2b4e9d768e51";
+    md5name = "693ac26de86231f8dcae2b4e9d768e51-openldap-2.4.44.tgz";
   }
   {
     name = "openssl-1.0.2h.tar.gz";
@@ -581,11 +602,11 @@
     md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz";
   }
   {
-    name = "liborcus-0.11.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/liborcus-0.11.2.tar.gz";
-    sha256 = "10afc617fd7600fa02bd4467d2e3c7bd058f84e4d672d558e1db90e82dafd256";
-    md5 = "205badaee72adf99422add8c4c49d669";
-    md5name = "205badaee72adf99422add8c4c49d669-liborcus-0.11.2.tar.gz";
+    name = "liborcus-0.12.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/liborcus-0.12.1.tar.gz";
+    sha256 = "676b1fedd721f64489650f5e76d7f98b750439914d87cae505b8163d08447908";
+    md5 = "d0ad3a2fcf7008e5b33604bab33df3ad";
+    md5name = "d0ad3a2fcf7008e5b33604bab33df3ad-liborcus-0.12.1.tar.gz";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
@@ -602,11 +623,11 @@
     md5name = "5c4985a68be0b79d3f809da5e12b143c-libpagemaker-0.0.3.tar.bz2";
   }
   {
-    name = "pixman-0.24.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2";
-    sha256 = "3d1bf79329be76103c7d9632a79962178364371807104a10e5f63ae0551731dc";
-    md5 = "c63f411b3ad147db2bcce1bf262a0e02";
-    md5name = "c63f411b3ad147db2bcce1bf262a0e02-pixman-0.24.4.tar.bz2";
+    name = "pixman-0.34.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
+    sha256 = "21b6b249b51c6800dc9553b65106e1e37d0e25df942c90531d4c3997aa20a88e";
+    md5 = "e80ebae4da01e77f68744319f01d52a3";
+    md5name = "e80ebae4da01e77f68744319f01d52a3-pixman-0.34.0.tar.gz";
   }
   {
     name = "libpng-1.6.28.tar.gz";
@@ -616,11 +637,11 @@
     md5name = "897ccec1ebfb0922e83c2bfaa1be8748-libpng-1.6.28.tar.gz";
   }
   {
-    name = "poppler-0.46.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/poppler-0.46.0.tar.bz2";
-    sha256 = "e3b53c4d1baffb047d4752d68886210fcb279e75cc32c0c61c7165e4d4cf846a";
-    md5 = "38c758d84437378ec4f5aae9f875301d";
-    md5name = "38c758d84437378ec4f5aae9f875301d-poppler-0.46.0.tar.bz2";
+    name = "poppler-0.49.0.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/poppler-0.49.0.tar.xz";
+    sha256 = "14485f0e1e43dcddf49cfc02c2ccb92910ba3e0e91e06f4bd2642ec00cb3a79f";
+    md5 = "9e057ed8eee1f9979fa75d8f044783b8";
+    md5name = "9e057ed8eee1f9979fa75d8f044783b8-poppler-0.49.0.tar.xz";
   }
   {
     name = "postgresql-9.2.1.tar.bz2";
@@ -637,32 +658,32 @@
     md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz";
   }
   {
-    name = "Python-3.5.0.tgz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.5.0.tgz";
-    sha256 = "584e3d5a02692ca52fce505e68ecd77248a6f2c99adf9db144a39087336b0fe0";
-    md5 = "a56c0c0b45d75a0ec9c6dee933c41c36";
-    md5name = "a56c0c0b45d75a0ec9c6dee933c41c36-Python-3.5.0.tgz";
+    name = "Python-3.5.4.tgz";
+    url = "http://dev-www.libreoffice.org/src/Python-3.5.4.tgz";
+    sha256 = "6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44";
+    md5 = "2ed4802b7a2a7e40d2e797272bf388ec";
+    md5name = "2ed4802b7a2a7e40d2e797272bf388ec-Python-3.5.4.tgz";
   }
   {
-    name = "raptor2-2.0.9.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz";
-    sha256 = "e26fb9c18e6ebf71100f434070d50196a21d592b715e361850c3b4e789b5f6ef";
-    md5 = "4ceb9316488b0ea01acf011023cf7fff";
-    md5name = "4ceb9316488b0ea01acf011023cf7fff-raptor2-2.0.9.tar.gz";
+    name = "raptor2-2.0.15.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
+    sha256 = "ada7f0ba54787b33485d090d3d2680533520cd4426d2f7fb4782dd4a6a1480ed";
+    md5 = "a39f6c07ddb20d7dd2ff1f95fa21e2cd";
+    md5name = "a39f6c07ddb20d7dd2ff1f95fa21e2cd-raptor2-2.0.15.tar.gz";
   }
   {
-    name = "rasqal-0.9.30.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz";
-    sha256 = "abf0e93d80cc79bdf383fd3e904255bf98bc729356d6cf2f673bce74b08b1cfd";
-    md5 = "b12c5f9cfdb6b04efce5a4a186b8416b";
-    md5name = "b12c5f9cfdb6b04efce5a4a186b8416b-rasqal-0.9.30.tar.gz";
+    name = "rasqal-0.9.33.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
+    sha256 = "6924c9ac6570bd241a9669f83b467c728a322470bf34f4b2da4f69492ccfd97c";
+    md5 = "1f5def51ca0026cd192958ef07228b52";
+    md5name = "1f5def51ca0026cd192958ef07228b52-rasqal-0.9.33.tar.gz";
   }
   {
-    name = "redland-1.0.16.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz";
-    sha256 = "d9a274fc086e61119d5c9beafb8d05527e040ec86f4c0961276ca8de0a049dbd";
-    md5 = "32f8e1417a64d3c6f2c727f9053f55ea";
-    md5name = "32f8e1417a64d3c6f2c727f9053f55ea-redland-1.0.16.tar.gz";
+    name = "redland-1.0.17.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
+    sha256 = "de1847f7b59021c16bdc72abb4d8e2d9187cd6124d69156f3326dd34ee043681";
+    md5 = "e5be03eda13ef68aabab6e42aa67715e";
+    md5name = "e5be03eda13ef68aabab6e42aa67715e-redland-1.0.17.tar.gz";
   }
   {
     name = "librevenge-0.0.4.tar.bz2";
@@ -686,6 +707,13 @@
     md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2";
   }
   {
+    name = "libstaroffice-0.0.2.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.2.tar.bz2";
+    sha256 = "f06eb29d13357f1aa1944de0be1162de05d9f9333b5f54e9bf762415029a8899";
+    md5 = "4012950240c2bf768c9b29ad376123d7";
+    md5name = "4012950240c2bf768c9b29ad376123d7-libstaroffice-0.0.2.tar.bz2";
+  }
+  {
     name = "swingExSrc.zip";
     url = "http://dev-www.libreoffice.org/src/35c94d2df8893241173de1d16b6034c0-swingExSrc.zip";
     sha256 = "64585ac36a81291a58269ec5347e7e3e2e8596dbacb9221015c208191333c6e1";
@@ -721,11 +749,11 @@
     md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2";
   }
   {
-    name = "libwps-0.4.3.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libwps-0.4.3.tar.bz2";
-    sha256 = "0c30407865a873ff76b6d5b2d2aa599f6af68936638c81ca8292449324042a6c";
-    md5 = "027fb17fb9e43553aa6624dc18f830ac";
-    md5name = "027fb17fb9e43553aa6624dc18f830ac-libwps-0.4.3.tar.bz2";
+    name = "libwps-0.4.4.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libwps-0.4.4.tar.bz2";
+    sha256 = "387c46d9543bb566381fddb8991e2838599fc500ee132fef9631a704c5cbed73";
+    md5 = "dcfd1d18bfa9818cf3ab21663ba857a3";
+    md5name = "dcfd1d18bfa9818cf3ab21663ba857a3-libwps-0.4.4.tar.bz2";
   }
   {
     name = "xsltml_2.1.2.zip";
@@ -741,4 +769,11 @@
     md5 = "44d667c142d7cda120332623eab69f40";
     md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz";
   }
+  {
+    name = "libzmf-0.0.1.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libzmf-0.0.1.tar.bz2";
+    sha256 = "b69f7f6e94cf695c4b672ca65def4825490a1e7dee34c2126309b96d21a19e6b";
+    md5 = "c611df8664240de0276ab95670f413d8";
+    md5name = "c611df8664240de0276ab95670f413d8-libzmf-0.0.1.tar.bz2";
+  }
 ]
diff --git a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
index 8ac7bc2eda0..d20ec2d0cc8 100644
--- a/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
@@ -3,43 +3,43 @@
     name = "libabw-0.1.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libabw-0.1.1.tar.bz2";
     sha256 = "7a3d3415cf82ab9894f601d1b3057c4615060304d5279efdec6275e01b96a199";
-    md5 = "7a3815b506d064313ba309617b6f5a0b";
-    md5name = "7a3815b506d064313ba309617b6f5a0b-libabw-0.1.1.tar.bz2";
+    md5 = "";
+    md5name = "-libabw-0.1.1.tar.bz2";
   }
   {
     name = "commons-logging-1.2-src.tar.gz";
     url = "http://dev-www.libreoffice.org/src/commons-logging-1.2-src.tar.gz";
     sha256 = "49665da5a60d033e6dff40fe0a7f9173e886ae859ce6096c1afe34c48b677c81";
-    md5 = "ce977548f1cbf46918e93cd38ac35163";
-    md5name = "ce977548f1cbf46918e93cd38ac35163-commons-logging-1.2-src.tar.gz";
+    md5 = "";
+    md5name = "-commons-logging-1.2-src.tar.gz";
   }
   {
     name = "apr-1.5.2.tar.gz";
     url = "http://dev-www.libreoffice.org/src/apr-1.5.2.tar.gz";
     sha256 = "1af06e1720a58851d90694a984af18355b65bb0d047be03ec7d659c746d6dbdb";
-    md5 = "98492e965963f852ab29f9e61b2ad700";
-    md5name = "98492e965963f852ab29f9e61b2ad700-apr-1.5.2.tar.gz";
+    md5 = "";
+    md5name = "-apr-1.5.2.tar.gz";
   }
   {
     name = "apr-util-1.5.4.tar.gz";
     url = "http://dev-www.libreoffice.org/src/apr-util-1.5.4.tar.gz";
     sha256 = "976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19";
-    md5 = "866825c04da827c6e5f53daff5569f42";
-    md5name = "866825c04da827c6e5f53daff5569f42-apr-util-1.5.4.tar.gz";
+    md5 = "";
+    md5name = "-apr-util-1.5.4.tar.gz";
   }
   {
-    name = "boost_1_60_0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/boost_1_60_0.tar.bz2";
-    sha256 = "686affff989ac2488f79a97b9479efb9f2abae035b5ed4d8226de6857933fd3b";
-    md5 = "65a840e1a0b13a558ff19eeb2c4f0cbe";
-    md5name = "65a840e1a0b13a558ff19eeb2c4f0cbe-boost_1_60_0.tar.bz2";
+    name = "boost_1_63_0.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/boost_1_63_0.tar.bz2";
+    sha256 = "beae2529f759f6b3bf3f4969a19c2e9d6f0c503edcb2de4a61d1428519fcb3b0";
+    md5 = "";
+    md5name = "-boost_1_63_0.tar.bz2";
   }
   {
     name = "breakpad.zip";
     url = "http://dev-www.libreoffice.org/src/breakpad.zip";
     sha256 = "7060149be16a8789b0ccf596bdeaf63115f03f520acb508f72a14686fb311cb9";
-    md5 = "415ce291aa6f2ee1d5db7b62bf62ade8";
-    md5name = "415ce291aa6f2ee1d5db7b62bf62ade8-breakpad.zip";
+    md5 = "";
+    md5name = "-breakpad.zip";
   }
   {
     name = "bsh-2.0b6-src.zip";
@@ -56,18 +56,18 @@
     md5name = "00b516f4704d4a7cb50a1d97e6e8e15b-bzip2-1.0.6.tar.gz";
   }
   {
-    name = "cairo-1.14.6.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
-    sha256 = "613cb38447b76a93ff7235e17acd55a78b52ea84a9df128c3f2257f8eaa7b252";
-    md5 = "23a0b2f0235431d35238df1d3a517fdb";
-    md5name = "23a0b2f0235431d35238df1d3a517fdb-cairo-1.14.6.tar.xz";
+    name = "cairo-1.14.8.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/cairo-1.14.8.tar.xz";
+    sha256 = "d1f2d98ae9a4111564f6de4e013d639cf77155baf2556582295a0f00a9bc5e20";
+    md5 = "";
+    md5name = "-cairo-1.14.8.tar.xz";
   }
   {
     name = "libcdr-0.1.3.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libcdr-0.1.3.tar.bz2";
     sha256 = "5160bbbfefe52bd4880840fad2b07a512813e37bfaf8ccac062fca238f230f4d";
-    md5 = "e369f30b5b861ee0fc4f9e6cbad701fe";
-    md5name = "e369f30b5b861ee0fc4f9e6cbad701fe-libcdr-0.1.3.tar.bz2";
+    md5 = "";
+    md5name = "-libcdr-0.1.3.tar.bz2";
   }
   {
     name = "clucene-core-2.3.3.4.tar.gz";
@@ -80,15 +80,15 @@
     name = "libcmis-0.5.1.tar.gz";
     url = "http://dev-www.libreoffice.org/src/libcmis-0.5.1.tar.gz";
     sha256 = "6acbdf22ecdbaba37728729b75bfc085ee5a4b49a6024757cfb86ccd3da27b0e";
-    md5 = "3270154f0f40d86fce849b161f914101";
-    md5name = "3270154f0f40d86fce849b161f914101-libcmis-0.5.1.tar.gz";
+    md5 = "";
+    md5name = "-libcmis-0.5.1.tar.gz";
   }
   {
     name = "CoinMP-1.7.6.tgz";
     url = "http://dev-www.libreoffice.org/src/CoinMP-1.7.6.tgz";
     sha256 = "86c798780b9e1f5921fe4efe651a93cb420623b45aa1fdff57af8c37f116113f";
-    md5 = "1cce53bf4b40ae29790d2c5c9f8b1129";
-    md5name = "1cce53bf4b40ae29790d2c5c9f8b1129-CoinMP-1.7.6.tgz";
+    md5 = "";
+    md5name = "-CoinMP-1.7.6.tgz";
   }
   {
     name = "collada2gltf-master-cb1d97788a.tar.bz2";
@@ -98,11 +98,11 @@
     md5name = "4b87018f7fff1d054939d19920b751a0-collada2gltf-master-cb1d97788a.tar.bz2";
   }
   {
-    name = "cppunit-1.13.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz";
-    sha256 = "3f47d246e3346f2ba4d7c9e882db3ad9ebd3fcbd2e8b732f946e0e3eeb9f429f";
-    md5 = "d1c6bdd5a76c66d2c38331e2d287bc01";
-    md5name = "d1c6bdd5a76c66d2c38331e2d287bc01-cppunit-1.13.2.tar.gz";
+    name = "cppunit-1.14.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/cppunit-1.14.0.tar.gz";
+    sha256 = "3d569869d27b48860210c758c4f313082103a5e58219a7669b52bfd29d674780";
+    md5 = "";
+    md5name = "-cppunit-1.14.0.tar.gz";
   }
   {
     name = "converttexttonumber-1-5-0.oxt";
@@ -115,15 +115,22 @@
     name = "curl-7.52.1.tar.gz";
     url = "http://dev-www.libreoffice.org/src/curl-7.52.1.tar.gz";
     sha256 = "a8984e8b20880b621f61a62d95ff3c0763a3152093a9f9ce4287cfd614add6ae";
-    md5 = "4e1ef056e117b4d25f4ec42ac609c0d4";
-    md5name = "4e1ef056e117b4d25f4ec42ac609c0d4-curl-7.52.1.tar.gz";
+    md5 = "";
+    md5name = "-curl-7.52.1.tar.gz";
   }
   {
     name = "libe-book-0.1.2.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libe-book-0.1.2.tar.bz2";
     sha256 = "b710a57c633205b933015474d0ac0862253d1c52114d535dd09b20939a0d1850";
-    md5 = "6b48eda57914e6343efebc9381027b78";
-    md5name = "6b48eda57914e6343efebc9381027b78-libe-book-0.1.2.tar.bz2";
+    md5 = "";
+    md5name = "-libe-book-0.1.2.tar.bz2";
+  }
+  {
+    name = "libepoxy-1.3.1.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libepoxy-1.3.1.tar.bz2";
+    sha256 = "1d8668b0a259c709899e1c4bab62d756d9002d546ce4f59c9665e2fc5f001a64";
+    md5 = "";
+    md5name = "-libepoxy-1.3.1.tar.bz2";
   }
   {
     name = "epm-3.7.tar.gz";
@@ -136,29 +143,29 @@
     name = "libetonyek-0.1.6.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libetonyek-0.1.6.tar.bz2";
     sha256 = "032f53e8d7691e48a73ddbe74fa84c906ff6ff32a33e6ee2a935b6fdb6aecb78";
-    md5 = "77ff46936dcc83670557274e7dd2aa33";
-    md5name = "77ff46936dcc83670557274e7dd2aa33-libetonyek-0.1.6.tar.bz2";
+    md5 = "";
+    md5name = "-libetonyek-0.1.6.tar.bz2";
   }
   {
-    name = "expat-2.2.0.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/expat-2.2.0.tar.bz2";
-    sha256 = "d9e50ff2d19b3538bd2127902a89987474e1a4db8e43a66a4d1a712ab9a504ff";
-    md5 = "2f47841c829facb346eb6e3fab5212e2";
-    md5name = "2f47841c829facb346eb6e3fab5212e2-expat-2.2.0.tar.bz2";
+    name = "expat-2.2.3.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/expat-2.2.3.tar.bz2";
+    sha256 = "b31890fb02f85c002a67491923f89bda5028a880fd6c374f707193ad81aace5f";
+    md5 = "";
+    md5name = "-expat-2.2.3.tar.bz2";
   }
   {
     name = "Firebird-3.0.0.32483-0.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/Firebird-3.0.0.32483-0.tar.bz2";
     sha256 = "6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860";
-    md5 = "821260b61dafc22899d1464d4e91ee6a";
-    md5name = "821260b61dafc22899d1464d4e91ee6a-Firebird-3.0.0.32483-0.tar.bz2";
+    md5 = "";
+    md5name = "-Firebird-3.0.0.32483-0.tar.bz2";
   }
   {
-    name = "fontconfig-2.8.0.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz";
-    sha256 = "fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335";
-    md5 = "77e15a92006ddc2adbb06f840d591c0e";
-    md5name = "77e15a92006ddc2adbb06f840d591c0e-fontconfig-2.8.0.tar.gz";
+    name = "fontconfig-2.12.1.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/fontconfig-2.12.1.tar.bz2";
+    sha256 = "b449a3e10c47e1d1c7a6ec6e2016cca73d3bd68fbbd4f0ae5cc6b573f7d6c7f3";
+    md5 = "";
+    md5name = "-fontconfig-2.12.1.tar.bz2";
   }
   {
     name = "crosextrafonts-20130214.tar.gz";
@@ -241,29 +248,22 @@
     name = "EmojiOneColor-SVGinOT-1.3.tar.gz";
     url = "http://dev-www.libreoffice.org/src/EmojiOneColor-SVGinOT-1.3.tar.gz";
     sha256 = "d1a08f7c10589f22740231017694af0a7a270760c8dec33d8d1c038e2be0a0c7";
-    md5 = "919389b307ee8696288ea3b8210ab974";
-    md5name = "919389b307ee8696288ea3b8210ab974-EmojiOneColor-SVGinOT-1.3.tar.gz";
+    md5 = "";
+    md5name = "-EmojiOneColor-SVGinOT-1.3.tar.gz";
   }
   {
     name = "libfreehand-0.1.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libfreehand-0.1.1.tar.bz2";
     sha256 = "45dab0e5d632eb51eeb00847972ca03835d6791149e9e714f093a9df2b445877";
-    md5 = "8cf70c5dc4d24d2dc4a107f509d2d6d7";
-    md5name = "8cf70c5dc4d24d2dc4a107f509d2d6d7-libfreehand-0.1.1.tar.bz2";
-  }
-  {
-    name = "freetype-2.4.8.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2";
-    sha256 = "a9eb7da3875fcb2f022a9c280c01b94ae45ac83d8102838c05dce1277948fb71";
-    md5 = "dbf2caca1d3afd410a29217a9809d397";
-    md5name = "dbf2caca1d3afd410a29217a9809d397-freetype-2.4.8.tar.bz2";
+    md5 = "";
+    md5name = "-libfreehand-0.1.1.tar.bz2";
   }
   {
-    name = "glew-1.12.0.zip";
-    url = "http://dev-www.libreoffice.org/src/3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip";
-    sha256 = "6f1083eb034efbc3b2017ef052d58f3e9bd70963ec2acd26b3d59231ee1633d4";
-    md5 = "3941e9cab2f4f9d8faee3e8d57ae7664";
-    md5name = "3941e9cab2f4f9d8faee3e8d57ae7664-glew-1.12.0.zip";
+    name = "freetype-2.7.1.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/freetype-2.7.1.tar.bz2";
+    sha256 = "3a3bb2c4e15ffb433f2032f50a5b5a92558206822e22bfe8cbe339af4aa82f88";
+    md5 = "";
+    md5name = "-freetype-2.7.1.tar.bz2";
   }
   {
     name = "glm-0.9.4.6-libreoffice.zip";
@@ -273,18 +273,25 @@
     md5name = "bae83fa5dc7f081768daace6e199adc3-glm-0.9.4.6-libreoffice.zip";
   }
   {
-    name = "graphite2-minimal-1.3.9.tgz";
-    url = "http://dev-www.libreoffice.org/src/3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz";
-    sha256 = "4fcbfa52527fd6fd6b54786c82bdbb96ec6b34fa2e799361e5164b6bbb671b76";
-    md5 = "3069842a88b8f40c6b83ad2850cda293";
-    md5name = "3069842a88b8f40c6b83ad2850cda293-graphite2-minimal-1.3.9.tgz";
+    name = "gpgme-1.8.0.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/gpgme-1.8.0.tar.bz2";
+    sha256 = "596097257c2ce22e747741f8ff3d7e24f6e26231fa198a41b2a072e62d1e5d33";
+    md5 = "";
+    md5name = "-gpgme-1.8.0.tar.bz2";
+  }
+  {
+    name = "graphite2-minimal-1.3.10.tgz";
+    url = "http://dev-www.libreoffice.org/src/graphite2-minimal-1.3.10.tgz";
+    sha256 = "aa5e58356cd084000609ebbd93fef456a1bc0ab9e46fea20e81552fb286232a9";
+    md5 = "";
+    md5name = "-graphite2-minimal-1.3.10.tgz";
   }
   {
     name = "harfbuzz-1.3.2.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/harfbuzz-1.3.2.tar.bz2";
     sha256 = "8543a6372f08c5987c632dfaa86210c7edb3f43fbacd96095c609bc3539ce027";
-    md5 = "5986e1bfcd983d1f6caa53ef64c4abc5";
-    md5name = "5986e1bfcd983d1f6caa53ef64c4abc5-harfbuzz-1.3.2.tar.bz2";
+    md5 = "";
+    md5name = "-harfbuzz-1.3.2.tar.bz2";
   }
   {
     name = "hsqldb_1_8_0.zip";
@@ -392,25 +399,18 @@
     md5name = "39bb3fcea1514f1369fcfc87542390fd-sacjava-1.3.zip";
   }
   {
-    name = "jpegsrc.v9a.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/jpegsrc.v9a.tar.gz";
-    sha256 = "3a753ea48d917945dd54a2d97de388aa06ca2eb1066cbfdc6652036349fe05a7";
-    md5 = "3353992aecaee1805ef4109aadd433e7";
-    md5name = "3353992aecaee1805ef4109aadd433e7-jpegsrc.v9a.tar.gz";
-  }
-  {
-    name = "libjpeg-turbo-1.4.2.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.4.2.tar.gz";
-    sha256 = "521bb5d3043e7ac063ce3026d9a59cc2ab2e9636c655a2515af5f4706122233e";
-    md5 = "86b0d5f7507c2e6c21c00219162c3c44";
-    md5name = "86b0d5f7507c2e6c21c00219162c3c44-libjpeg-turbo-1.4.2.tar.gz";
+    name = "libjpeg-turbo-1.5.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/libjpeg-turbo-1.5.1.tar.gz";
+    sha256 = "41429d3d253017433f66e3d472b8c7d998491d2f41caa7306b8d9a6f2a2c666c";
+    md5 = "";
+    md5name = "-libjpeg-turbo-1.5.1.tar.gz";
   }
   {
-    name = "language-subtag-registry-2016-07-19.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2016-07-19.tar.bz2";
-    sha256 = "e3dc30bdbfdad442c542dc0e165df9d8d2ba06a357cd55957155d8259d1661dc";
-    md5 = "8a037dc60b16bf8c5fe871b33390a4a2";
-    md5name = "8a037dc60b16bf8c5fe871b33390a4a2-language-subtag-registry-2016-07-19.tar.bz2";
+    name = "language-subtag-registry-2017-04-19.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/language-subtag-registry-2017-04-19.tar.bz2";
+    sha256 = "8333809eec6fce852a1d6de68859962106e13a84705417efb03452164da3ee7a";
+    md5 = "";
+    md5name = "-language-subtag-registry-2017-04-19.tar.bz2";
   }
   {
     name = "JLanguageTool-1.7.0.tar.bz2";
@@ -420,25 +420,32 @@
     md5name = "b63e6340a02ff1cacfeadb2c42286161-JLanguageTool-1.7.0.tar.bz2";
   }
   {
-    name = "lcms2-2.6.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/lcms2-2.6.tar.gz";
-    sha256 = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1";
-    md5 = "f4c08d38ceade4a664ebff7228910a33";
-    md5name = "f4c08d38ceade4a664ebff7228910a33-lcms2-2.6.tar.gz";
+    name = "lcms2-2.8.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/lcms2-2.8.tar.gz";
+    sha256 = "66d02b229d2ea9474e62c2b6cd6720fde946155cd1d0d2bffdab829790a0fb22";
+    md5 = "";
+    md5name = "-lcms2-2.8.tar.gz";
+  }
+  {
+    name = "libassuan-2.4.3.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libassuan-2.4.3.tar.bz2";
+    sha256 = "22843a3bdb256f59be49842abf24da76700354293a066d82ade8134bb5aa2b71";
+    md5 = "";
+    md5name = "-libassuan-2.4.3.tar.bz2";
   }
   {
     name = "libatomic_ops-7_2d.zip";
     url = "http://dev-www.libreoffice.org/src/libatomic_ops-7_2d.zip";
     sha256 = "cf5c52f08a2067ae4fe7c8919e3c1ccf3ee917f1749e0bcc7efffff59c68d9ad";
-    md5 = "c0b86562d5aa40761a87134f83e6adcf";
-    md5name = "c0b86562d5aa40761a87134f83e6adcf-libatomic_ops-7_2d.zip";
+    md5 = "";
+    md5name = "-libatomic_ops-7_2d.zip";
   }
   {
     name = "libeot-0.01.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libeot-0.01.tar.bz2";
     sha256 = "cf5091fa8e7dcdbe667335eb90a2cfdd0a3fe8f8c7c8d1ece44d9d055736a06a";
-    md5 = "aa24f5dd2a2992f4a116aa72af817548";
-    md5name = "aa24f5dd2a2992f4a116aa72af817548-libeot-0.01.tar.bz2";
+    md5 = "";
+    md5name = "-libeot-0.01.tar.bz2";
   }
   {
     name = "libexttextcat-3.4.4.tar.bz2";
@@ -448,32 +455,39 @@
     md5name = "10d61fbaa6a06348823651b1bd7940fe-libexttextcat-3.4.4.tar.bz2";
   }
   {
-    name = "libgltf-0.0.2.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.0.2.tar.bz2";
-    sha256 = "d1cc7297ed1921aa969e26413b4c4e18afc882ce4d2f5a2aa2a2905706f7206b";
-    md5 = "d63a9f47ab048f5009d90693d6aa6424";
-    md5name = "d63a9f47ab048f5009d90693d6aa6424-libgltf-0.0.2.tar.bz2";
+    name = "libgltf-0.1.0.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/libgltf/libgltf-0.1.0.tar.gz";
+    sha256 = "119e730fbf002dd0eaafa4930167267d7d910aa17f29979ca9ca8b66625fd2da";
+    md5 = "";
+    md5name = "-libgltf-0.1.0.tar.gz";
+  }
+  {
+    name = "libgpg-error-1.26.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/libgpg-error-1.26.tar.bz2";
+    sha256 = "4c4bcbc90116932e3acd37b37812d8653b1b189c1904985898e860af818aee69";
+    md5 = "";
+    md5name = "-libgpg-error-1.26.tar.bz2";
   }
   {
     name = "liblangtag-0.6.2.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/liblangtag-0.6.2.tar.bz2";
     sha256 = "d6242790324f1432fb0a6fae71b6851f520b2c5a87675497cf8ea14c2924d52e";
-    md5 = "284f120247323a35122ab32b4b359c45";
-    md5name = "284f120247323a35122ab32b4b359c45-liblangtag-0.6.2.tar.bz2";
+    md5 = "";
+    md5name = "-liblangtag-0.6.2.tar.bz2";
   }
   {
     name = "ltm-1.0.zip";
     url = "http://dev-www.libreoffice.org/src/ltm-1.0.zip";
     sha256 = "083daa92d8ee6f4af96a6143b12d7fc8fe1a547e14f862304f7281f8f7347483";
-    md5 = "da283d2e3e72137d0c600ac36b991c9d";
-    md5name = "da283d2e3e72137d0c600ac36b991c9d-ltm-1.0.zip";
+    md5 = "";
+    md5name = "-ltm-1.0.zip";
   }
   {
-    name = "xmlsec1-1.2.23.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
-    sha256 = "41d463d16c9894cd3317098d027c038039c6d896b9cbb9bad9c4e29959e10e9f";
-    md5 = "86b1daaa438f5a7bea9a52d7b9799ac0";
-    md5name = "86b1daaa438f5a7bea9a52d7b9799ac0-xmlsec1-1.2.23.tar.gz";
+    name = "xmlsec1-1.2.24.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/xmlsec1-1.2.24.tar.gz";
+    sha256 = "99a8643f118bb1261a72162f83e2deba0f4f690893b4b90e1be4f708e8d481cc";
+    md5 = "";
+    md5name = "-xmlsec1-1.2.24.tar.gz";
   }
   {
     name = "libxml2-2.9.4.tar.gz";
@@ -507,29 +521,29 @@
     name = "mdds-1.2.2.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/mdds-1.2.2.tar.bz2";
     sha256 = "141e730b39110434b02cd844c5ad3442103f7c35f7e9a4d6a9f8af813594cc9d";
-    md5 = "8855cf852a6088cfdc792c6f7ceb0243";
-    md5name = "8855cf852a6088cfdc792c6f7ceb0243-mdds-1.2.2.tar.bz2";
+    md5 = "";
+    md5name = "-mdds-1.2.2.tar.bz2";
   }
   {
     name = "mDNSResponder-576.30.4.tar.gz";
     url = "http://dev-www.libreoffice.org/src/mDNSResponder-576.30.4.tar.gz";
     sha256 = "4737cb51378377e11d0edb7bcdd1bec79cbdaa7b27ea09c13e3006e58f8d92c0";
-    md5 = "940057ac8b513b00e8e9ca12ef796762";
-    md5name = "940057ac8b513b00e8e9ca12ef796762-mDNSResponder-576.30.4.tar.gz";
+    md5 = "";
+    md5name = "-mDNSResponder-576.30.4.tar.gz";
   }
   {
     name = "libmspub-0.1.2.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libmspub-0.1.2.tar.bz2";
     sha256 = "26d488527ffbb0b41686d4bab756e3e6aaeb99f88adeb169d0c16d2cde96859a";
-    md5 = "ff9d0f9dd8fbc523408ea1953d5bde41";
-    md5name = "ff9d0f9dd8fbc523408ea1953d5bde41-libmspub-0.1.2.tar.bz2";
+    md5 = "";
+    md5name = "-libmspub-0.1.2.tar.bz2";
   }
   {
-    name = "libmwaw-0.3.9.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.9.tar.bz2";
-    sha256 = "11a1f318431a052e1d623385351c8e659377d36db3e71e188af55da87ce9461f";
-    md5 = "d8532ad5630d3f3b2189a7ec5639151b";
-    md5name = "d8532ad5630d3f3b2189a7ec5639151b-libmwaw-0.3.9.tar.bz2";
+    name = "libmwaw-0.3.11.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libmwaw-0.3.11.tar.xz";
+    sha256 = "4b483a196bbe82bc0f7cb4cdf70ef1cedb91139bd2e037eabaed4a4d6ed2299a";
+    md5 = "";
+    md5name = "-libmwaw-0.3.11.tar.xz";
   }
   {
     name = "mysql-connector-c++-1.1.4.tar.gz";
@@ -553,18 +567,18 @@
     md5name = "231adebe5c2f78fded3e3df6e958878e-neon-0.30.1.tar.gz";
   }
   {
-    name = "nss-3.27-with-nspr-4.13.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
-    sha256 = "c74ad468ed5da0304b58ec56fa627fa388b256451b1a44fd184145c6d8203820";
-    md5 = "0e3eee39402386cf16fd7aaa7399ebef";
-    md5name = "0e3eee39402386cf16fd7aaa7399ebef-nss-3.27-with-nspr-4.13.tar.gz";
+    name = "nss-3.29.5-with-nspr-4.13.1.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/nss-3.29.5-with-nspr-4.13.1.tar.gz";
+    sha256 = "8cb8624147737d1b4587c50bf058afbb6effc0f3c205d69b5ef4077b3bfed0e4";
+    md5 = "";
+    md5name = "-nss-3.29.5-with-nspr-4.13.1.tar.gz";
   }
   {
     name = "libodfgen-0.1.6.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libodfgen-0.1.6.tar.bz2";
     sha256 = "2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2";
-    md5 = "32572ea48d9021bbd6fa317ddb697abc";
-    md5name = "32572ea48d9021bbd6fa317ddb697abc-libodfgen-0.1.6.tar.bz2";
+    md5 = "";
+    md5name = "-libodfgen-0.1.6.tar.bz2";
   }
   {
     name = "odfvalidator-1.1.8-incubating-SNAPSHOT-jar-with-dependencies.jar";
@@ -584,43 +598,50 @@
     name = "OpenCOLLADA-master-6509aa13af.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/OpenCOLLADA-master-6509aa13af.tar.bz2";
     sha256 = "8f25d429237cde289a448c82a0a830791354ccce5ee40d77535642e46367d6c4";
-    md5 = "4ca8a6ef0afeefc864e9ef21b9f14bd6";
-    md5name = "4ca8a6ef0afeefc864e9ef21b9f14bd6-OpenCOLLADA-master-6509aa13af.tar.bz2";
+    md5 = "";
+    md5name = "-OpenCOLLADA-master-6509aa13af.tar.bz2";
   }
   {
     name = "openldap-2.4.44.tgz";
     url = "http://dev-www.libreoffice.org/src/openldap-2.4.44.tgz";
     sha256 = "d7de6bf3c67009c95525dde3a0212cc110d0a70b92af2af8e3ee800e81b88400";
-    md5 = "693ac26de86231f8dcae2b4e9d768e51";
-    md5name = "693ac26de86231f8dcae2b4e9d768e51-openldap-2.4.44.tgz";
+    md5 = "";
+    md5name = "-openldap-2.4.44.tgz";
   }
   {
-    name = "openssl-1.0.2h.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2h.tar.gz";
-    sha256 = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919";
-    md5 = "9392e65072ce4b614c1392eefc1f23d0";
-    md5name = "9392e65072ce4b614c1392eefc1f23d0-openssl-1.0.2h.tar.gz";
+    name = "openssl-1.0.2k.tar.gz";
+    url = "http://dev-www.libreoffice.org/src/openssl-1.0.2k.tar.gz";
+    sha256 = "6b3977c61f2aedf0f96367dcfb5c6e578cf37e7b8d913b4ecb6643c3cb88d8c0";
+    md5 = "";
+    md5name = "-openssl-1.0.2k.tar.gz";
   }
   {
     name = "liborcus-0.12.1.tar.gz";
     url = "http://dev-www.libreoffice.org/src/liborcus-0.12.1.tar.gz";
     sha256 = "676b1fedd721f64489650f5e76d7f98b750439914d87cae505b8163d08447908";
-    md5 = "d0ad3a2fcf7008e5b33604bab33df3ad";
-    md5name = "d0ad3a2fcf7008e5b33604bab33df3ad-liborcus-0.12.1.tar.gz";
+    md5 = "";
+    md5name = "-liborcus-0.12.1.tar.gz";
   }
   {
     name = "owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
     url = "http://dev-www.libreoffice.org/src/owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
     sha256 = "b18b3e3ef7fae6a79b62f2bb43cc47a5346b6330f6a383dc4be34439aca5e9fb";
-    md5 = "593f0aa47bf2efc0efda2d28fae063b2";
-    md5name = "593f0aa47bf2efc0efda2d28fae063b2-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
+    md5 = "";
+    md5name = "-owncloud-android-library-0.9.4-no-binary-deps.tar.gz";
   }
   {
     name = "libpagemaker-0.0.3.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libpagemaker-0.0.3.tar.bz2";
     sha256 = "3b5de037692f8e156777a75e162f6b110fa24c01749e4a66d7eb83f364e52a33";
-    md5 = "5c4985a68be0b79d3f809da5e12b143c";
-    md5name = "5c4985a68be0b79d3f809da5e12b143c-libpagemaker-0.0.3.tar.bz2";
+    md5 = "";
+    md5name = "-libpagemaker-0.0.3.tar.bz2";
+  }
+  {
+    name = "pdfium-3064.tar.bz2";
+    url = "http://dev-www.libreoffice.org/src/pdfium-3064.tar.bz2";
+    sha256 = "ded806dc9e2a4005d8c0a6b7fcb232ab36221d72d9ff5b815e8244987299d883";
+    md5 = "";
+    md5name = "-pdfium-3064.tar.bz2";
   }
   {
     name = "pixman-0.34.0.tar.gz";
@@ -633,15 +654,15 @@
     name = "libpng-1.6.28.tar.gz";
     url = "http://dev-www.libreoffice.org/src/libpng-1.6.28.tar.gz";
     sha256 = "b6cec903e74e9fdd7b5bbcde0ab2415dd12f2f9e84d9e4d9ddd2ba26a41623b2";
-    md5 = "897ccec1ebfb0922e83c2bfaa1be8748";
-    md5name = "897ccec1ebfb0922e83c2bfaa1be8748-libpng-1.6.28.tar.gz";
+    md5 = "";
+    md5name = "-libpng-1.6.28.tar.gz";
   }
   {
-    name = "poppler-0.49.0.tar.xz";
-    url = "http://dev-www.libreoffice.org/src/poppler-0.49.0.tar.xz";
-    sha256 = "14485f0e1e43dcddf49cfc02c2ccb92910ba3e0e91e06f4bd2642ec00cb3a79f";
-    md5 = "9e057ed8eee1f9979fa75d8f044783b8";
-    md5name = "9e057ed8eee1f9979fa75d8f044783b8-poppler-0.49.0.tar.xz";
+    name = "poppler-0.56.0.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/poppler-0.56.0.tar.xz";
+    sha256 = "869dbadf99ed882e776acbdbc06689d8a81872a2963440b1e8516cd7a2577173";
+    md5 = "";
+    md5name = "-poppler-0.56.0.tar.xz";
   }
   {
     name = "postgresql-9.2.1.tar.bz2";
@@ -651,18 +672,11 @@
     md5name = "c0b4799ea9850eae3ead14f0a60e9418-postgresql-9.2.1.tar.bz2";
   }
   {
-    name = "Python-3.3.5.tgz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.3.5.tgz";
-    sha256 = "916bc57dd8524dc27429bebae7b39d6942742cf9699b875b2b496a3d960c7168";
-    md5 = "803a75927f8f241ca78633890c798021";
-    md5name = "803a75927f8f241ca78633890c798021-Python-3.3.5.tgz";
-  }
-  {
-    name = "Python-3.5.3.tgz";
-    url = "http://dev-www.libreoffice.org/src/Python-3.5.3.tgz";
-    sha256 = "d8890b84d773cd7059e597dbefa510340de8336ec9b9e9032bf030f19291565a";
-    md5 = "6192f0e45f02575590760e68c621a488";
-    md5name = "6192f0e45f02575590760e68c621a488-Python-3.5.3.tgz";
+    name = "Python-3.5.4.tgz";
+    url = "http://dev-www.libreoffice.org/src/Python-3.5.4.tgz";
+    sha256 = "6ed87a8b6c758cc3299a8b433e8a9a9122054ad5bc8aad43299cff3a53d8ca44";
+    md5 = "";
+    md5name = "-Python-3.5.4.tgz";
   }
   {
     name = "raptor2-2.0.15.tar.gz";
@@ -689,8 +703,8 @@
     name = "librevenge-0.0.4.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/librevenge-0.0.4.tar.bz2";
     sha256 = "c51601cd08320b75702812c64aae0653409164da7825fd0f451ac2c5dbe77cbf";
-    md5 = "5b9ac52ec77d4d19157cf5962ebc0aea";
-    md5name = "5b9ac52ec77d4d19157cf5962ebc0aea-librevenge-0.0.4.tar.bz2";
+    md5 = "";
+    md5name = "-librevenge-0.0.4.tar.bz2";
   }
   {
     name = "rhino1_5R5.zip";
@@ -703,15 +717,15 @@
     name = "serf-1.2.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/serf-1.2.1.tar.bz2";
     sha256 = "6988d394b62c3494635b6f0760bc3079f9a0cd380baf0f6b075af1eb9fa5e700";
-    md5 = "4f8e76c9c6567aee1d66aba49f76a58b";
-    md5name = "4f8e76c9c6567aee1d66aba49f76a58b-serf-1.2.1.tar.bz2";
+    md5 = "";
+    md5name = "-serf-1.2.1.tar.bz2";
   }
   {
-    name = "libstaroffice-0.0.2.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.2.tar.bz2";
-    sha256 = "f06eb29d13357f1aa1944de0be1162de05d9f9333b5f54e9bf762415029a8899";
-    md5 = "4012950240c2bf768c9b29ad376123d7";
-    md5name = "4012950240c2bf768c9b29ad376123d7-libstaroffice-0.0.2.tar.bz2";
+    name = "libstaroffice-0.0.3.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libstaroffice-0.0.3.tar.xz";
+    sha256 = "bedeec104b4cc3896b3dfd1976dda5ce7392d1942bf8f5d2f7d796cc47e422c6";
+    md5 = "";
+    md5name = "-libstaroffice-0.0.3.tar.xz";
   }
   {
     name = "swingExSrc.zip";
@@ -731,29 +745,29 @@
     name = "libvisio-0.1.5.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libvisio-0.1.5.tar.bz2";
     sha256 = "b83b7991a40b4e7f07d0cac7bb46ddfac84dece705fd18e21bfd119a09be458e";
-    md5 = "cbee198a78b842b2087f32d33c522818";
-    md5name = "cbee198a78b842b2087f32d33c522818-libvisio-0.1.5.tar.bz2";
+    md5 = "";
+    md5name = "-libvisio-0.1.5.tar.bz2";
   }
   {
     name = "libwpd-0.10.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libwpd-0.10.1.tar.bz2";
     sha256 = "efc20361d6e43f9ff74de5f4d86c2ce9c677693f5da08b0a88d603b7475a508d";
-    md5 = "79b56bcc349264d686a67994506ad199";
-    md5name = "79b56bcc349264d686a67994506ad199-libwpd-0.10.1.tar.bz2";
+    md5 = "";
+    md5name = "-libwpd-0.10.1.tar.bz2";
   }
   {
     name = "libwpg-0.3.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libwpg-0.3.1.tar.bz2";
     sha256 = "29049b95895914e680390717a243b291448e76e0f82fb4d2479adee5330fbb59";
-    md5 = "dfd066658ec9d2fb2262417039a8a1c3";
-    md5name = "dfd066658ec9d2fb2262417039a8a1c3-libwpg-0.3.1.tar.bz2";
+    md5 = "";
+    md5name = "-libwpg-0.3.1.tar.bz2";
   }
   {
-    name = "libwps-0.4.4.tar.bz2";
-    url = "http://dev-www.libreoffice.org/src/libwps-0.4.4.tar.bz2";
-    sha256 = "387c46d9543bb566381fddb8991e2838599fc500ee132fef9631a704c5cbed73";
-    md5 = "dcfd1d18bfa9818cf3ab21663ba857a3";
-    md5name = "dcfd1d18bfa9818cf3ab21663ba857a3-libwps-0.4.4.tar.bz2";
+    name = "libwps-0.4.6.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/libwps-0.4.6.tar.xz";
+    sha256 = "e48a7c2fd20048a0a8eaf69bad972575f8b9f06e7497c787463f127d332fccd0";
+    md5 = "";
+    md5name = "-libwps-0.4.6.tar.xz";
   }
   {
     name = "xsltml_2.1.2.zip";
@@ -763,17 +777,17 @@
     md5name = "a7983f859eafb2677d7ff386a023bc40-xsltml_2.1.2.zip";
   }
   {
-    name = "zlib-1.2.8.tar.gz";
-    url = "http://dev-www.libreoffice.org/src/zlib-1.2.8.tar.gz";
-    sha256 = "36658cb768a54c1d4dec43c3116c27ed893e88b02ecfcb44f2166f9c0b7f2a0d";
-    md5 = "44d667c142d7cda120332623eab69f40";
-    md5name = "44d667c142d7cda120332623eab69f40-zlib-1.2.8.tar.gz";
+    name = "zlib-1.2.11.tar.xz";
+    url = "http://dev-www.libreoffice.org/src/zlib-1.2.11.tar.xz";
+    sha256 = "4ff941449631ace0d4d203e3483be9dbc9da454084111f97ea0a2114e19bf066";
+    md5 = "";
+    md5name = "-zlib-1.2.11.tar.xz";
   }
   {
     name = "libzmf-0.0.1.tar.bz2";
     url = "http://dev-www.libreoffice.org/src/libzmf-0.0.1.tar.bz2";
     sha256 = "b69f7f6e94cf695c4b672ca65def4825490a1e7dee34c2126309b96d21a19e6b";
-    md5 = "c611df8664240de0276ab95670f413d8";
-    md5name = "c611df8664240de0276ab95670f413d8-libzmf-0.0.1.tar.bz2";
+    md5 = "";
+    md5name = "-libzmf-0.0.1.tar.bz2";
   }
 ]
diff --git a/pkgs/applications/office/libreoffice/still-primary-src.nix b/pkgs/applications/office/libreoffice/still-primary-src.nix
index d1e87d7de6d..82133cdf681 100644
--- a/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ b/pkgs/applications/office/libreoffice/still-primary-src.nix
@@ -2,9 +2,9 @@
 
 rec {
   major = "5";
-  minor = "2";
+  minor = "3";
   patch = "6";
-  tweak = "2";
+  tweak = "1";
 
   subdir = "${major}.${minor}.${patch}";
 
@@ -12,6 +12,6 @@ rec {
 
   src = fetchurl {
     url = "http://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "0w1myl4l1qhdkwqb3b52xld1sq45xyg8b45q40l6a50iccwy6j9x";
+    sha256 = "023a7hr7v5cf0ipga4ijhyl58ncgbjrp500qq5fwf65j8g2c3apz";
   };
 }
diff --git a/pkgs/applications/office/libreoffice/still.nix b/pkgs/applications/office/libreoffice/still.nix
index 7f564379c66..dfe6e947080 100644
--- a/pkgs/applications/office/libreoffice/still.nix
+++ b/pkgs/applications/office/libreoffice/still.nix
@@ -4,7 +4,7 @@
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis
 , openssl, gperf, cppunit, GConf, ORBit2, poppler
-, librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw
+, librsvg, gnome_vfs, mesa, bsh, CoinMP, libwps, libabw, libzmf
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus_glib, glibc, qt4, kdelibs4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -42,14 +42,14 @@ let
 
     translations = fetchSrc {
       name = "translations";
-      sha256 = "0w77mkxmhxx4qjwdwb8bipcdb4pkvkg202mxbbjrv0aj09k6dhvk";
+      sha256 = "0mvfc33pkyrdd7h4kyi6lnzydaka8b5vw0ns50rw08kg9iirig4i";
     };
 
     # TODO: dictionaries
 
     help = fetchSrc {
       name = "help";
-      sha256 = "12xqzp005dhbh618g3zb30vj7rdmccdqj6ix10jlk0clk66n9kf0";
+      sha256 = "0yflll24yd4nxqxisb6mx1qgqk4awkwwi41wxmdaiq8las59sk95";
     };
 
   };
@@ -72,13 +72,7 @@ in stdenv.mkDerivation rec {
   configureScript = "./autogen.sh";
   dontUseCmakeConfigure = true;
 
-  # ICU 58, included in 5.3.x
   patches = [
-    (fetchurl {
-      url = "https://gerrit.libreoffice.org/gitweb?p=core.git;a=patch;h=3e42714c76b1347babfdea0564009d8d82a83af4";
-      sha256 = "10bid0jdw1rpdsqwzzk3r4rp6bjs2cvi82h7anz2m1amfjdv86my";
-      name = "libreoffice-5.2.x-icu4c-58.patch";}
-    )
     ./xdg-open.patch
   ];
 
@@ -138,7 +132,10 @@ 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 -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
   '';
 
   makeFlags = "SHELL=${bash}/bin/bash";
@@ -232,6 +229,7 @@ in stdenv.mkDerivation rec {
     "--without-system-libmspub"
     "--without-system-libpagemaker"
     "--without-system-libgltf"
+    "--without-system-libstaroffice"
     # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
     "--without-system-orcus"
   ];
@@ -252,7 +250,7 @@ in stdenv.mkDerivation rec {
       gst_all_1.gst-plugins-base gsettings_desktop_schemas glib
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
       python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 glibc libcmis libwps libabw
+      mdds bluez5 glibc libcmis libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz
       librevenge libe-book libmwaw glm glew ncurses
       libodfgen CoinMP librdf_rasqal defaultIconTheme makeWrapper
diff --git a/pkgs/applications/office/libreoffice/xdg-open-brief.patch b/pkgs/applications/office/libreoffice/xdg-open-brief.patch
new file mode 100644
index 00000000000..0a2f02e71fe
--- /dev/null
+++ b/pkgs/applications/office/libreoffice/xdg-open-brief.patch
@@ -0,0 +1,13 @@
+diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh
+index 4519e01f26e2..8985711a2c01 100755
+--- a/shell/source/unix/misc/senddoc.sh
++++ b/shell/source/unix/misc/senddoc.sh
+@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in
+             MAILER=/usr/bin/kde-open
+         elif [ -x /usr/bin/xdg-open ] ; then
+             MAILER=/usr/bin/xdg-open
++        elif type -p xdg-open >/dev/null 2>&1 ; then
++            MAILER="$(type -p xdg-open)"
+         else
+             echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
+             exit 2
diff --git a/pkgs/applications/office/skanlite/default.nix b/pkgs/applications/office/skanlite/default.nix
new file mode 100644
index 00000000000..416c86397f8
--- /dev/null
+++ b/pkgs/applications/office/skanlite/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchurl, cmake, extra-cmake-modules, qtbase,
+  kcoreaddons, kdoctools, ki18n, kio, kxmlgui, ktextwidgets,
+  libksane
+}:
+
+let
+  minorVersion = "2.0";
+in stdenv.mkDerivation rec {
+  name = "skanlite-2.0.1";
+
+  src = fetchurl {
+    url    = "mirror://kde/stable/skanlite/${minorVersion}/${name}.tar.xz";
+    sha256 = "0dh2v8029gkhcf3pndcxz1zk2jgpihgd30lmplgirilxdq9l2i9v";
+  };
+
+  nativeBuildInputs = [ cmake kdoctools extra-cmake-modules ];
+
+  buildInputs = [
+    qtbase
+    kcoreaddons kdoctools ki18n kio kxmlgui ktextwidgets
+    libksane
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "KDE simple image scanning application";
+    homepage    = http://www.kde.org/applications/graphics/skanlite/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ pshendry ];
+    platforms   = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 08861341a1a..b3f0b325927 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "lean-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner  = "leanprover";
     repo   = "lean";
     rev    = "v${version}";
-    sha256 = "13sb9rwgc9ni2j5zx77imjhkzhix9d7klsdb8cg68c17b20sy1g3";
+    sha256 = "0irh9b4haz0pzzxrb4hwcss91a0xb499kjrcrmr2s59p3zq8bbd9";
   };
 
   buildInputs = [ gmp cmake ];
diff --git a/pkgs/applications/science/logic/mcrl2/default.nix b/pkgs/applications/science/logic/mcrl2/default.nix
index ce368a77c2b..c9016a5ee0c 100644
--- a/pkgs/applications/science/logic/mcrl2/default.nix
+++ b/pkgs/applications/science/logic/mcrl2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, gcc5, fetchurl, xlibs, cmake, subversion, mesa, qt5, boost,
+{stdenv, fetchurl, xlibs, cmake, subversion, mesa, qt5, boost,
  python27, python27Packages}:
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1c8h94ja7271ph61zrcgnjgblxppld6v22f7f900prjgzbcfy14m";
   };
 
-  buildInputs = [ gcc5 cmake mesa qt5.qtbase boost ];
+  buildInputs = [ cmake mesa qt5.qtbase boost ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/math/mxnet/default.nix b/pkgs/applications/science/math/mxnet/default.nix
new file mode 100644
index 00000000000..67183c9dd55
--- /dev/null
+++ b/pkgs/applications/science/math/mxnet/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, lib, fetchgit, cmake
+, opencv, gtest, openblas, liblapack
+, cudaSupport ? false, cudatoolkit
+, cudnnSupport ? false, cudnn
+}:
+
+assert cudnnSupport -> cudaSupport;
+
+stdenv.mkDerivation rec {
+  name = "mxnet-${version}";
+  version = "0.11.0";
+
+  # Submodules needed
+  src = fetchgit {
+    url = "https://github.com/apache/incubator-mxnet";
+    rev = "refs/tags/${version}";
+    sha256 = "1qgns0c70a1gfyil96h17ms736nwdkp9kv496gvs9pkzqzvr6cpz";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ opencv gtest openblas liblapack ]
+              ++ lib.optional cudaSupport cudatoolkit
+              ++ lib.optional cudnnSupport cudnn;
+
+  cmakeFlags = lib.optional (!cudaSupport) "-DUSE_CUDA=OFF"
+            ++ lib.optional (!cudnnSupport) "-DUSE_CUDNN=OFF";
+
+  installPhase = ''
+    install -Dm755 libmxnet.so $out/lib/libmxnet.so
+    cp -r ../include $out
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler";
+    homepage = "https://mxnet.incubator.apache.org/";
+    maintainers = with maintainers; [ abbradar ];
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 808e7b1850d..e0aed206b75 100644
--- a/pkgs/applications/version-management/git-repo/default.nix
+++ b/pkgs/applications/version-management/git-repo/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, makeWrapper
-, python, git, gnupg1compat, less }:
+, python, git, gnupg, less, cacert
+}:
 
 stdenv.mkDerivation rec {
   name = "git-repo-${version}";
@@ -13,16 +14,23 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ python git gnupg1compat less ];
+  buildInputs = [ python ];
+
+  # TODO: Cleanup
+  patchPhase = ''
+    CA_PATH="$(echo '${cacert}/etc/ssl/certs/ca-bundle.crt' | sed 's/\//\\\//g')" # / -> \/
+    sed -i -E 's/urlopen\(url\)/urlopen(url, cafile="'$CA_PATH'")/' repo
+  '';
 
   installPhase = ''
     mkdir -p $out/bin
-    cp $src/repo $out/bin/repo
+    cp repo $out/bin/repo
   '';
 
+  # Important runtime dependencies
   postFixup = ''
     wrapProgram $out/bin/repo --prefix PATH ":" \
-      "${stdenv.lib.makeBinPath [ git gnupg1compat less ]}"
+      "${stdenv.lib.makeBinPath [ git gnupg less ]}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/window-managers/yabar/build.nix b/pkgs/applications/window-managers/yabar/build.nix
index fbbfa5f0118..a5d02093e3f 100644
--- a/pkgs/applications/window-managers/yabar/build.nix
+++ b/pkgs/applications/window-managers/yabar/build.nix
@@ -16,8 +16,9 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
+  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    cairo gdk_pixbuf libconfig pango pkgconfig xcbutilwm docbook_xsl
+    cairo gdk_pixbuf libconfig pango xcbutilwm docbook_xsl
     alsaLib wirelesstools asciidoc libxslt makeWrapper
   ];
 
diff --git a/pkgs/build-support/buildenv/default.nix b/pkgs/build-support/buildenv/default.nix
index 47e2c1b904c..41a1e67ef42 100644
--- a/pkgs/build-support/buildenv/default.nix
+++ b/pkgs/build-support/buildenv/default.nix
@@ -4,7 +4,8 @@
 
 { buildPackages, runCommand, lib }:
 
-{ name
+lib.makeOverridable
+({ name
 
 , # The manifest file (if any).  A symlink $out/manifest will be
   # created to it.
@@ -68,4 +69,4 @@ runCommand name
   ''
     ${buildPackages.perl}/bin/perl -w ${./builder.pl}
     eval "$postBuild"
-  ''
+  '')
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 17d7f2da035..8a7b362bd5e 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -30,7 +30,20 @@ rec {
     inherit pkgs buildImage pullImage shadowSetup;
   };
 
-  pullImage = callPackage ./pull.nix {};
+  pullImage =
+    let
+      nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
+    in
+      # For simplicity we only support sha256.
+      { imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
+      , sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
+      runCommand name {
+        impureEnvVars=pkgs.stdenv.lib.fetchers.proxyImpureEnvVars;
+        outputHashMode="flat";
+        outputHashAlgo="sha256";
+        outputHash=sha256;
+      }
+      "${pkgs.skopeo}/bin/skopeo copy docker://${imageId} docker-archive://$out:${imageId}";
 
   # We need to sum layer.tar, not a directory, hence tarsum instead of nix-hash.
   # And we cannot untar it, because then we cannot preserve permissions ecc.
diff --git a/pkgs/build-support/docker/examples.nix b/pkgs/build-support/docker/examples.nix
index 49cbb7a9817..aead53f6f7d 100644
--- a/pkgs/build-support/docker/examples.nix
+++ b/pkgs/build-support/docker/examples.nix
@@ -87,7 +87,7 @@ rec {
     imageName = "nixos/nix";
     imageTag = "1.11";
     # this hash will need change if the tag is updated at docker hub
-    sha256 = "1gk4bq05vl3rj3mh4mlbl4iicgndmimlv8jvkhdk4hrv0r44bwr3";
+    sha256 = "18xvcnl0yvj9kfi5bkimrhhjaa8xhm3jhshh2xd7c0sbfrmfqzvi";
   };
 
   # 5. example of multiple contents, emacs and vi happily coexisting
diff --git a/pkgs/build-support/docker/pull.nix b/pkgs/build-support/docker/pull.nix
deleted file mode 100644
index 5ccd0a41c5e..00000000000
--- a/pkgs/build-support/docker/pull.nix
+++ /dev/null
@@ -1,32 +0,0 @@
-{ stdenv, lib, docker, vmTools, utillinux, curl, kmod, dhcp, cacert, e2fsprogs }:
-let
-  nameReplace = name: builtins.replaceStrings ["/" ":"] ["-" "-"] name;
-in
-# For simplicity we only support sha256.
-{ imageName, imageTag ? "latest", imageId ? "${imageName}:${imageTag}"
-, sha256, name ? (nameReplace "docker-image-${imageName}-${imageTag}.tar") }:
-let
-  pullImage = vmTools.runInLinuxVM (
-    stdenv.mkDerivation {
-      inherit name imageId;
-
-      certs = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
-      builder = ./pull.sh;
-
-      buildInputs = [ curl utillinux docker kmod dhcp cacert e2fsprogs ];
-
-      outputHashAlgo = "sha256";
-      outputHash = sha256;
-
-      impureEnvVars = lib.fetchers.proxyImpureEnvVars;
-
-      preVM = vmTools.createEmptyImage {
-        size = 2048;
-        fullName = "${name}-disk";
-      };
-
-      QEMU_OPTS = "-netdev user,id=net0 -device virtio-net-pci,netdev=net0";
-    });
-in
-  pullImage
diff --git a/pkgs/build-support/fetchrepoproject/default.nix b/pkgs/build-support/fetchrepoproject/default.nix
index 8c55db5372d..2e5fbe79435 100644
--- a/pkgs/build-support/fetchrepoproject/default.nix
+++ b/pkgs/build-support/fetchrepoproject/default.nix
@@ -1,6 +1,7 @@
-{ stdenv, git, gitRepo, gnupg ? null, cacert, copyPathsToStore }:
+{ stdenv, gitRepo, cacert, copyPathsToStore }:
 
-{ name, manifest, rev ? "HEAD", sha256, repoRepoURL ? "", repoRepoRev ? "", referenceDir ? ""
+{ name, manifest, rev ? "HEAD", sha256
+, repoRepoURL ? "", repoRepoRev ? "", referenceDir ? ""
 , localManifests ? [], createMirror ? false, useArchive ? !createMirror
 }:
 
@@ -10,64 +11,56 @@ assert createMirror -> !useArchive;
 with stdenv.lib;
 
 let
+  extraRepoInitFlags = [
+    (optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
+    (optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
+    (optionalString (referenceDir != "") "--reference=${referenceDir}")
+  ];
+
   repoInitFlags = [
     "--manifest-url=${manifest}"
     "--manifest-branch=${rev}"
     "--depth=1"
-    #TODO: fetching clone.bundle seems to fail spectacularly inside a sandbox.
-    "--no-clone-bundle"
     (optionalString createMirror "--mirror")
     (optionalString useArchive "--archive")
-    (optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
-    (optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
-    (optionalString (referenceDir != "") "--reference=${referenceDir}")
-  ];
+  ] ++ extraRepoInitFlags;
 
   local_manifests = copyPathsToStore localManifests;
 
-in
+in stdenv.mkDerivation {
+  inherit name;
 
-with stdenv.lib;
+  inherit cacert manifest rev repoRepoURL repoRepoRev referenceDir; # TODO
 
-let
-  extraRepoInitFlags = [
-    (optionalString (repoRepoURL != "") "--repo-url=${repoRepoURL}")
-    (optionalString (repoRepoRev != "") "--repo-branch=${repoRepoRev}")
-    (optionalString (referenceDir != "") "--reference=${referenceDir}")
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = sha256;
+
+  preferLocalBuild = true;
+  enableParallelBuilding = true;
+
+  impureEnvVars = fetchers.proxyImpureEnvVars ++ [
+    "GIT_PROXY_COMMAND" "SOCKS_SERVER"
   ];
-in
 
-stdenv.mkDerivation {
+  buildInputs = [ gitRepo cacert ];
+
+  GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
   buildCommand = ''
+    # Path must be absolute (e.g. for GnuPG: ~/.repoconfig/gnupg/pubring.kbx)
+    export HOME="$(pwd)"
+
     mkdir .repo
     ${optionalString (local_manifests != []) ''
-    mkdir ./.repo/local_manifests
-    for local_manifest in ${concatMapStringsSep " " toString local_manifests}
-
-    do
-      cp $local_manifest ./.repo/local_manifests/$(stripHash $local_manifest; echo $strippedName)
-    done
+      mkdir .repo/local_manifests
+      for local_manifest in ${concatMapStringsSep " " toString local_manifests}; do
+        cp $local_manifest .repo/local_manifests/$(stripHash $local_manifest; echo $strippedName)
+      done
     ''}
 
-    export HOME=.repo
     repo init ${concatStringsSep " " repoInitFlags}
-
     repo sync --jobs=$NIX_BUILD_CORES --current-branch
     ${optionalString (!createMirror) "rm -rf $out/.repo"}
   '';
-
-  GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
-
-  impureEnvVars = stdenv.lib.fetchers.proxyImpureEnvVars ++ [
-    "GIT_PROXY_COMMAND" "SOCKS_SERVER"
-  ];
-
-  buildInputs = [git gitRepo cacert] ++ optional (gnupg != null) [gnupg] ;
-  outputHashAlgo = "sha256";
-  outputHashMode = "recursive";
-  outputHash = sha256;
-
-  preferLocalBuild = true;
-  enableParallelBuilding = true;
-  inherit name cacert manifest rev repoRepoURL repoRepoRev referenceDir;
 }
diff --git a/pkgs/build-support/setup-hooks/autoreconf.sh b/pkgs/build-support/setup-hooks/autoreconf.sh
index 441d6b43baa..c08cab15868 100644
--- a/pkgs/build-support/setup-hooks/autoreconf.sh
+++ b/pkgs/build-support/setup-hooks/autoreconf.sh
@@ -1,9 +1,5 @@
 preConfigurePhases+=" autoreconfPhase"
 
-for i in @autoconf@ @automake@ @libtool@ @gettext@; do
-    findInputs $i nativePkgs propagated-native-build-inputs
-done
-
 autoreconfPhase() {
     runHook preAutoreconf
     autoreconf ${autoreconfFlags:---install --force --verbose}
diff --git a/pkgs/desktops/gnome-3/3.24/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome-3/3.24/core/gnome-shell-extensions/default.nix
index e9eae87f14e..83305f440b1 100644
--- a/pkgs/desktops/gnome-3/3.24/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome-3/3.24/core/gnome-shell-extensions/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig gtk3 glib libgtop intltool itstool
                   makeWrapper file ];
 
+  configureFlags = [ "--enable-extensions=all" ];
+
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Projects/GnomeShell/Extensions;
     description = "Modify and extend GNOME Shell functionality and behavior";
diff --git a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix
index 40106978576..5d9e2401ca8 100644
--- a/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix
+++ b/pkgs/desktops/kde-4.14/kde-package/4.14.3.nix
@@ -3,7 +3,6 @@ hashes=builtins.listToAttrs[
   {name="baloo";value="0p3awsrc20q79kq04x0vjz84acxz6gjm9jc7j2al4kybkyzx5p4y";}
   {name="kde-baseapps";value="1nz6mm257rd916dklnbrix4r25scylvjil99b1djb35blx1aynqj";}
   {name="kdepimlibs";value="1mv8k0wr0wr0hnlb1al50nmz8d77vbm73p2hhipipgliq6zb3vb5";}
-  {name="kde-workspace";value="00bf708i0vzl47dgcr8mp61n7k0xjzqnlb8j1smliy5bydiaa86g";}
   {name="kfilemetadata";value="0wak1nphnphcam8r6pba7m2gld4w04dkk8qn23myjammv3myc59i";}
   {name="libkcddb";value="0xrmg53p5lh4ral2l5zh96angaf9czhih3zzvwr9qr9h9ks5vrn1";}
   {name="libkdcraw";value="0ksarwq8aaxc77cp0ryfnw1n311wkykzdlhj03rln8jjlbdm3j3q";}
@@ -18,7 +17,6 @@ versions=builtins.listToAttrs[
   {name="kde-baseapps";value="4.14.3";}
   {name="kdepimlibs";value="4.14.3";}
   {name="kde-runtime";value="4.14.3";}
-  {name="kde-workspace";value="4.11.14";}
   {name="kfilemetadata";value="4.14.3";}
   {name="libkcddb";value="4.14.3";}
   {name="libkdcraw";value="4.14.3";}
@@ -69,6 +67,5 @@ sane="kde_baseapps";  split=true;
 }
 { module="kactivities";  split=false;}
 { module="kdepimlibs";  split=false;}
-{ module="kde-workspace"; sane="kde_workspace"; split=false;}
 ];
 }
diff --git a/pkgs/desktops/kde-4.14/kde-workspace.nix b/pkgs/desktops/kde-4.14/kde-workspace.nix
deleted file mode 100644
index 5aeba4be3a6..00000000000
--- a/pkgs/desktops/kde-4.14/kde-workspace.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ stdenv, kde, kdelibs, qimageblitz, libdbusmenu_qt, xorg, lm_sensors
-, pciutils, libraw1394, libusb1, python, libqalculate, akonadi
-, xkeyboard_config, kdepimlibs, pam, boost, gpsd, prison
-, libjpeg, pkgconfig, kactivities, qjson, udev, fetchurl
-}:
-
-kde {
-#todo: wayland, xmms,   libusb isn't found
-#note: xorg.libXft is needed to build kfontview and kfontinst though this isn't reflected in the build log
-  buildInputs =
-    [ kdelibs qimageblitz libdbusmenu_qt xorg.libxcb xorg.xcbutilimage libjpeg
-      xorg.xcbutilrenderutil xorg.xcbutilkeysyms xorg.libpthreadstubs xorg.libXdmcp
-      xorg.libxkbfile xorg.libXcomposite  xorg.libXtst
-      xorg.libXdamage xorg.libXft
-
-      python boost qjson lm_sensors /* gpsd */ libraw1394 pciutils udev
-      akonadi pam libusb1 libqalculate kdepimlibs  prison
-      kactivities
-    ];
-
-  patches = [ ./files/ksysguard-0001-disable-signalplottertest.patch ];
-
-  preConfigure =
-   ''
-     # Fix incorrect path to kde4-config.
-     substituteInPlace startkde.cmake --replace '$bindir/kde4-config' ${kdelibs}/bin/kde4-config
-
-     # Fix the path to the keyboard configuration files.
-     substituteInPlace kcontrol/keyboard/xkb_rules.cpp \
-       --replace /usr/share/X11 ${xkeyboard_config}/etc/X11
-   '';
-
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" ]; # gcc-6
-
-  enableParallelBuilding = false; # frequent problems on Hydra
-
-  meta = {
-    description = "KDE workspace components such as Plasma, Kwin and System Settings";
-    license = stdenv.lib.licenses.gpl2;
-  };
-}
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 0b219b80447..f6e52a59fe5 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -22,7 +22,7 @@ let
           }
         else throw "cudatoolkit does not support platform ${stdenv.system}";
 
-      outputs = [ "out" "doc" ];
+      outputs = [ "out" "lib" "doc" ];
 
       buildInputs = [ perl ];
 
@@ -51,7 +51,11 @@ let
             patchelf \
               --set-interpreter "''$(cat $NIX_CC/nix-support/dynamic-linker)" $i
           fi
-          rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+          if [[ $i =~ libcudart ]]; then
+            rpath2=
+          else
+            rpath2=$rpath:$lib/lib:$out/jre/lib/amd64/jli:$out/lib:$out/lib64:$out/nvvm/lib:$out/nvvm/lib64
+          fi
           patchelf --set-rpath $rpath2 --force-rpath $i
         done < <(find . -type f -print0)
       '';
@@ -80,6 +84,11 @@ let
         mkdir -p $out/nix-support
         echo "cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'" >> $out/nix-support/setup-hook
 
+        # Move some libraries to the lib output so that programs that
+        # depend on them don't pull in this entire monstrosity.
+        mkdir -p $lib/lib
+        mv -v $out/lib64/libcudart* $lib/lib/
+
         # Remove OpenCL libraries as they are provided by ocl-icd and driver.
         rm -f $out/lib64/libOpenCL*
 
diff --git a/pkgs/development/compilers/dmd/2.067.1.nix b/pkgs/development/compilers/dmd/2.067.1.nix
index 7134aa6888b..3cf530e9e5e 100644
--- a/pkgs/development/compilers/dmd/2.067.1.nix
+++ b/pkgs/development/compilers/dmd/2.067.1.nix
@@ -153,7 +153,6 @@ stdenv.mkDerivation rec {
     # https://github.com/dlang/dmd/pull/6680
     license = licenses.boost;
     platforms = platforms.unix;
-    broken = true;
   };
 }
 
diff --git a/pkgs/development/compilers/dmd/default.nix b/pkgs/development/compilers/dmd/default.nix
index 80e9b34a552..2b29ba9aa3e 100644
--- a/pkgs/development/compilers/dmd/default.nix
+++ b/pkgs/development/compilers/dmd/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub
 , makeWrapper, unzip, which
-, curl, tzdata
+, curl, tzdata, gdb
 # Versions 2.070.2 and up require a working dmd compiler to build:
 , bootstrapDmd }:
 
@@ -35,6 +35,10 @@ stdenv.mkDerivation rec {
       mv dmd-v${version}-src dmd
       mv druntime-v${version}-src druntime
       mv phobos-v${version}-src phobos
+
+      # Remove cppa test for now because it doesn't work.
+      rm dmd/test/runnable/cppa.d
+      rm dmd/test/runnable/extra-files/cppb.cpp
   '';
 
   # Compile with PIC to prevent colliding modules with binutils 2.28.
@@ -69,22 +73,22 @@ stdenv.mkDerivation rec {
             --replace MACOSX_DEPLOYMENT_TARGET MACOSX_DEPLOYMENT_TARGET_
     '';
 
-  nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which ];
+  nativeBuildInputs = [ bootstrapDmd makeWrapper unzip which gdb ];
   buildInputs = [ curl tzdata ];
 
   # Buid and install are based on http://wiki.dlang.org/Building_DMD
   buildPhase = ''
       cd dmd
-      make -f posix.mak INSTALL_DIR=$out
+      make -j$NIX_BUILD_CORES -f posix.mak INSTALL_DIR=$out
       ${
           let bits = builtins.toString stdenv.hostPlatform.parsed.cpu.bits;
           osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
           "export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
       }
       cd ../druntime
-      make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
+      make -j$NIX_BUILD_CORES -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
       cd ../phobos
-      make -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
+      make -j$NIX_BUILD_CORES -f posix.mak PIC=${usePIC} INSTALL_DIR=$out DMD=$DMD
       cd ..
   '';
 
@@ -97,10 +101,11 @@ stdenv.mkDerivation rec {
           osname = if stdenv.hostPlatform.isDarwin then "osx" else stdenv.hostPlatform.parsed.kernel.name; in
           "export DMD=$PWD/generated/${osname}/release/${bits}/dmd"
       }
+      make -j$NIX_BUILD_CORES -C test -f Makefile PIC=${usePIC} DMD=$DMD BUILD=release SHARED=0
       cd ../druntime
-      make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
+      make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
       cd ../phobos
-      make -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
+      make -j$NIX_BUILD_CORES -f posix.mak unittest PIC=${usePIC} DMD=$DMD BUILD=release
       cd ..
   '';
 
@@ -153,7 +158,7 @@ stdenv.mkDerivation rec {
     # Everything is now Boost licensed, even the backend.
     # https://github.com/dlang/dmd/pull/6680
     license = licenses.boost;
+    maintainers = with maintainers; [ ThomasMader ];
     platforms = platforms.unix;
-    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/emscripten-fastcomp/default.nix b/pkgs/development/compilers/emscripten-fastcomp/default.nix
index f35ca26584f..e543f799495 100644
--- a/pkgs/development/compilers/emscripten-fastcomp/default.nix
+++ b/pkgs/development/compilers/emscripten-fastcomp/default.nix
@@ -1,54 +1,22 @@
-{ stdenv, fetchFromGitHub, cmake, python, ... }:
-
+{ newScope, stdenv, wrapCC, wrapCCWith, symlinkJoin }:
 let
-  rev = "1.37.16";
-  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
-in
-stdenv.mkDerivation rec {
-  name = "emscripten-fastcomp-${rev}";
-
-  src = fetchFromGitHub {
-    owner = "kripken";
-    repo = "emscripten-fastcomp";
-    sha256 = "0wj9sc0gciaiidcjv6wb0qn6ks06xds7q34351masc7qpvd217by";
-    inherit rev;
-  };
-
-  srcFL = fetchFromGitHub {
-    owner = "kripken";
-    repo = "emscripten-fastcomp-clang";
-    sha256 = "1akdgxzxhzjbhp4d14ajcrp9jrf39x004a726ly2gynqc185l4j7";
-    inherit rev;
-  };
-
-  nativeBuildInputs = [ cmake python ];
-  preConfigure = ''
-    cp -Lr ${srcFL} tools/clang
-    chmod +w -R tools/clang
-  '';
-  cmakeFlags = [
-    "-DCMAKE_BUILD_TYPE=Release"
-    "-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'"
-    "-DLLVM_INCLUDE_EXAMPLES=OFF"
-    "-DLLVM_INCLUDE_TESTS=OFF"
-    # "-DCLANG_INCLUDE_EXAMPLES=OFF"
-    "-DCLANG_INCLUDE_TESTS=OFF"
-  ] ++ (stdenv.lib.optional stdenv.isLinux
-    # necessary for clang to find crtend.o
-    "-DGCC_INSTALL_PREFIX=${gcc}"
-  );
-  enableParallelBuilding = true;
-
-  passthru = {
-    isClang = true;
-    inherit gcc;
-  };
+  callPackage = newScope (self // {inherit stdenv;});
 
-  meta = with stdenv.lib; {
-    homepage = https://github.com/kripken/emscripten-fastcomp;
-    description = "Emscripten LLVM";
-    platforms = platforms.all;
-    maintainers = with maintainers; [ qknight matthewbauer ];
-    license = stdenv.lib.licenses.ncsa;
+  self = {
+    emscriptenfastcomp-unwrapped = callPackage ./emscripten-fastcomp.nix {};
+    emscriptenfastcomp-wrapped = wrapCCWith stdenv.cc.libc ''
+      # hardening flags break WASM support
+      cat > $out/nix-support/add-hardening.sh
+    '' self.emscriptenfastcomp-unwrapped;
+    emscriptenfastcomp = symlinkJoin {
+      name = "emscriptenfastcomp";
+      paths = [ self.emscriptenfastcomp-wrapped self.emscriptenfastcomp-unwrapped ];
+      preferLocalBuild = false;
+      allowSubstitutes = true;
+      postBuild = ''
+        # replace unwrapped clang-3.9 binary by wrapper
+        ln -sf $out/bin/clang $out/bin/clang-[0-9]*
+      '';
+    };
   };
-}
+in self
diff --git a/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix b/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix
new file mode 100644
index 00000000000..f35ca26584f
--- /dev/null
+++ b/pkgs/development/compilers/emscripten-fastcomp/emscripten-fastcomp.nix
@@ -0,0 +1,54 @@
+{ stdenv, fetchFromGitHub, cmake, python, ... }:
+
+let
+  rev = "1.37.16";
+  gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
+in
+stdenv.mkDerivation rec {
+  name = "emscripten-fastcomp-${rev}";
+
+  src = fetchFromGitHub {
+    owner = "kripken";
+    repo = "emscripten-fastcomp";
+    sha256 = "0wj9sc0gciaiidcjv6wb0qn6ks06xds7q34351masc7qpvd217by";
+    inherit rev;
+  };
+
+  srcFL = fetchFromGitHub {
+    owner = "kripken";
+    repo = "emscripten-fastcomp-clang";
+    sha256 = "1akdgxzxhzjbhp4d14ajcrp9jrf39x004a726ly2gynqc185l4j7";
+    inherit rev;
+  };
+
+  nativeBuildInputs = [ cmake python ];
+  preConfigure = ''
+    cp -Lr ${srcFL} tools/clang
+    chmod +w -R tools/clang
+  '';
+  cmakeFlags = [
+    "-DCMAKE_BUILD_TYPE=Release"
+    "-DLLVM_TARGETS_TO_BUILD='X86;JSBackend'"
+    "-DLLVM_INCLUDE_EXAMPLES=OFF"
+    "-DLLVM_INCLUDE_TESTS=OFF"
+    # "-DCLANG_INCLUDE_EXAMPLES=OFF"
+    "-DCLANG_INCLUDE_TESTS=OFF"
+  ] ++ (stdenv.lib.optional stdenv.isLinux
+    # necessary for clang to find crtend.o
+    "-DGCC_INSTALL_PREFIX=${gcc}"
+  );
+  enableParallelBuilding = true;
+
+  passthru = {
+    isClang = true;
+    inherit gcc;
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kripken/emscripten-fastcomp;
+    description = "Emscripten LLVM";
+    platforms = platforms.all;
+    maintainers = with maintainers; [ qknight matthewbauer ];
+    license = stdenv.lib.licenses.ncsa;
+  };
+}
diff --git a/pkgs/development/compilers/ghc/7.2.2.nix b/pkgs/development/compilers/ghc/7.2.2.nix
index 156ff56bd66..dd3b5cb2ebc 100644
--- a/pkgs/development/compilers/ghc/7.2.2.nix
+++ b/pkgs/development/compilers/ghc/7.2.2.nix
@@ -61,6 +61,7 @@ stdenv.mkDerivation rec {
     ];
     platforms = ["x86_64-linux" "i686-linux"];  # Darwin is unsupported.
     inherit (ghc.meta) license;
+    broken = true;   # broken by 51cf42ad0d3ccb55af182f1f0ee5eb5094ea5995: https://hydra.nixos.org/build/60616815
   };
 
 }
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
new file mode 100644
index 00000000000..9d9f0229e56
--- /dev/null
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -0,0 +1,188 @@
+{ stdenv, fetchgit, fetchurl, fetchzip
+# build tools
+, gfortran, m4, makeWrapper, patchelf, perl, which, python2
+, runCommand
+, paxctl
+# libjulia dependencies
+, libunwind, readline, utf8proc, zlib
+, llvm, libffi, ncurses
+# standard library dependencies
+, curl, fftwSinglePrec, fftw, gmp, libgit2, mpfr, openlibm, openspecfun, pcre2
+# linear algebra
+, openblas, arpack, suitesparse
+# Darwin frameworks
+, CoreServices, ApplicationServices
+}:
+
+with stdenv.lib;
+
+# All dependencies must use the same OpenBLAS.
+let
+  arpack_ = arpack;
+  suitesparse_ = suitesparse;
+in
+let
+  arpack = arpack_.override { inherit openblas; };
+  suitesparse = suitesparse_.override { inherit openblas; };
+in
+
+let
+  dsfmtVersion = "2.2.3";
+  dsfmt = fetchurl {
+    url = "http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/dSFMT-src-${dsfmtVersion}.tar.gz";
+    sha256 = "03kaqbjbi6viz0n33dk5jlf6ayxqlsq4804n7kwkndiga9s4hd42";
+  };
+
+  libuvVersion = "52d72a52cc7ccd570929990f010ed16e2ec604c8";
+  libuv = fetchurl {
+    url = "https://api.github.com/repos/JuliaLang/libuv/tarball/${libuvVersion}";
+    sha256 = "1vldy94sfmlfqmi14126g590wi61fv78rzh7afk82zkipaixvak8";
+  };
+
+  rmathVersion = "0.1";
+  rmath-julia = fetchurl {
+    url = "https://api.github.com/repos/JuliaLang/Rmath-julia/tarball/v${rmathVersion}";
+    sha256 = "0ai5dhjc43zcvangz123ryxmlbm51s21rg13bllwyn98w67arhb4";
+  };
+  
+  virtualenvVersion = "15.0.0";
+  virtualenv = fetchurl {
+    url = "mirror://pypi/v/virtualenv/virtualenv-${virtualenvVersion}.tar.gz";
+    sha256 = "06fw4liazpx5vf3am45q2pdiwrv0id7ckv7n6zmpml29x6vkzmkh";
+  };
+in
+
+stdenv.mkDerivation rec {
+  pname = "julia";
+  version = "0.6.0";
+  name = "${pname}-${version}";
+
+  src = fetchzip {
+    url = "https://github.com/JuliaLang/${pname}/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "19xk2cs43lnsy9y0d8wmxj7ich908ipb40vkf7xg9031x272brxw";
+  };
+  prePatch = ''
+    mkdir deps/srccache
+    cp "${dsfmt}" "./deps/srccache/dsfmt-${dsfmtVersion}.tar.gz"
+    cp "${rmath-julia}" "./deps/srccache/Rmath-julia-${rmathVersion}.tar.gz"
+    cp "${libuv}" "./deps/srccache/libuv-${libuvVersion}.tar.gz"
+    cp "${virtualenv}" "./deps/srccache/virtualenv-${virtualenvVersion}.tar.gz"
+  '';
+
+  patches = [
+    ./0001.1-use-system-utf8proc.patch
+    ./0002-use-system-suitesparse.patch
+  ] ++ stdenv.lib.optional stdenv.needsPax ./0004-hardened.patch;
+
+  postPatch = ''
+    patchShebangs . contrib
+    for i in backtrace replutil cmdlineargs compile; do
+      mv test/$i.jl{,.off}
+      touch test/$i.jl
+    done
+  '';
+
+  buildInputs = [
+    arpack fftw fftwSinglePrec gmp libgit2 libunwind mpfr
+    pcre2.dev openblas openlibm openspecfun readline suitesparse utf8proc
+    zlib llvm
+  ]
+  ++ stdenv.lib.optionals stdenv.isDarwin [CoreServices ApplicationServices]
+  ;
+
+  nativeBuildInputs = [ curl gfortran m4 makeWrapper patchelf perl python2 which ]
+    ++ stdenv.lib.optional stdenv.needsPax paxctl;
+
+  makeFlags =
+    let
+      arch = head (splitString "-" stdenv.system);
+      march = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
+              or (throw "unsupported architecture: ${arch}");
+      # Julia requires Pentium 4 (SSE2) or better
+      cpuTarget = { "x86_64" = "x86-64"; "i686" = "pentium4"; }."${arch}"
+                  or (throw "unsupported architecture: ${arch}");
+    in [
+      "ARCH=${arch}"
+      "MARCH=${march}"
+      "JULIA_CPU_TARGET=${cpuTarget}"
+      "PREFIX=$(out)"
+      "prefix=$(out)"
+      "SHELL=${stdenv.shell}"
+
+      "USE_SYSTEM_BLAS=1"
+      "USE_BLAS64=${if openblas.blas64 then "1" else "0"}"
+      "LIBBLAS=-lopenblas"
+      "LIBBLASNAME=libopenblas"
+
+      "USE_SYSTEM_LAPACK=1"
+      "LIBLAPACK=-lopenblas"
+      "LIBLAPACKNAME=libopenblas"
+
+      "USE_SYSTEM_SUITESPARSE=1"
+      "SUITESPARSE_LIB=-lsuitesparse"
+      "SUITESPARSE_INC=-I${suitesparse}/include"
+
+      "USE_SYSTEM_ARPACK=1"
+      "USE_SYSTEM_FFTW=1"
+      "USE_SYSTEM_GMP=1"
+      "USE_SYSTEM_LIBGIT2=1"
+      "USE_SYSTEM_LIBUNWIND=1"
+      
+      "USE_SYSTEM_LLVM=1"
+      "LLVM_VER=3.9.1"
+
+      "USE_SYSTEM_MPFR=1"
+      "USE_SYSTEM_OPENLIBM=1"
+      "USE_SYSTEM_OPENSPECFUN=1"
+      "USE_SYSTEM_PATCHELF=1"
+      "USE_SYSTEM_PCRE=1"
+      "PCRE_CONFIG=${pcre2.dev}/bin/pcre2-config"
+      "PCRE_INCL_PATH=${pcre2.dev}/include/pcre2.h"
+      "USE_SYSTEM_READLINE=1"
+      "USE_SYSTEM_UTF8PROC=1"
+      "USE_SYSTEM_ZLIB=1"
+    ];
+
+  NIX_CFLAGS_COMPILE = [ "-fPIC" ];
+
+  LD_LIBRARY_PATH = makeLibraryPath [
+    arpack fftw fftwSinglePrec gmp libgit2 mpfr openblas openlibm
+    openspecfun pcre2 suitesparse llvm
+  ];
+
+  dontStrip = true;
+  dontPatchELF = true;
+
+  enableParallelBuilding = true;
+
+  doCheck = !stdenv.isDarwin;
+  checkTarget = "testall";
+  # Julia's tests require read/write access to $HOME
+  preCheck = ''
+    export HOME="$NIX_BUILD_TOP"
+    set
+  '';
+
+  preBuild = ''
+    sed -e '/^install:/s@[^ ]*/doc/[^ ]*@@' -i Makefile
+    sed -e '/[$](DESTDIR)[$](docdir)/d' -i Makefile
+    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
+  '';
+
+  postInstall = ''
+    for prog in "$out/bin/julia" "$out/bin/julia-debug"; do
+        wrapProgram "$prog" \
+            --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:$out/lib/julia" \
+            --prefix PATH : "${stdenv.lib.makeBinPath [ curl ]}"
+    done
+  '';
+
+  meta = {
+    description = "High-level performance-oriented dynamical language for technical computing";
+    homepage = https://julialang.org/;
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ raskin ];
+    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
+    broken = stdenv.isi686;
+  };
+}
diff --git a/pkgs/development/compilers/ldc/default.nix b/pkgs/development/compilers/ldc/default.nix
new file mode 100644
index 00000000000..22d2923897c
--- /dev/null
+++ b/pkgs/development/compilers/ldc/default.nix
@@ -0,0 +1,98 @@
+{ stdenv, fetchFromGitHub, cmake, llvm, dmd, curl, tzdata, python,
+  lit, gdb, unzip, darwin }:
+
+stdenv.mkDerivation rec {
+  name = "ldc-${version}";
+  version = "1.3.0";
+
+  srcs = [
+  (fetchFromGitHub {
+    owner = "ldc-developers";
+    repo = "ldc";
+    rev = "v${version}";
+    sha256 = "1ac3j4cwwgjpayhijxx4d6478bc3iqksjxkd7xp7byx7k8w1ppdl";
+  })
+  (fetchFromGitHub {
+    owner = "ldc-developers";
+    repo = "druntime";
+    rev = "ldc-v${version}";
+    sha256 = "1m13370wnj3sizqk3sdpzi9am5d24srf27d613qblhqa9n8vwz30";
+  })
+  (fetchFromGitHub {
+    owner = "ldc-developers";
+    repo = "phobos";
+    rev = "ldc-v${version}";
+    sha256 = "0fhcdfi7a00plwj27ysfyv783nhk0kspq7hawf6vbsl3s1nyvn8g";
+  })
+  (fetchFromGitHub {
+    owner = "ldc-developers";
+    repo = "dmd-testsuite";
+    rev = "ldc-v${version}";
+    sha256 = "0dmdkp220gqhxjrmrjfkf0vsvylwfaj70hswavq4q3v4dg17pzmj";
+  })
+  ];
+
+  sourceRoot = ".";
+
+  postUnpack = ''
+      mv ldc-v${version}-src/* .
+
+      mv druntime-ldc-v${version}-src/* runtime/druntime
+
+      mv phobos-ldc-v${version}-src/* runtime/phobos
+
+      mv dmd-testsuite-ldc-v${version}-src/* tests/d2/dmd-testsuite
+
+      # Remove cppa test for now because it doesn't work.
+      rm tests/d2/dmd-testsuite/runnable/cppa.d
+      rm tests/d2/dmd-testsuite/runnable/extra-files/cppb.cpp
+  '';
+
+  postPatch = ''
+      substituteInPlace runtime/phobos/std/net/curl.d \
+          --replace libcurl.so ${curl.out}/lib/libcurl.so
+
+      # Ugly hack to fix the hardcoded path to zoneinfo in the source file.
+      # https://issues.dlang.org/show_bug.cgi?id=15391
+      substituteInPlace runtime/phobos/std/datetime.d \
+          --replace /usr/share/zoneinfo/ ${tzdata}/share/zoneinfo/
+  ''
+
+  + stdenv.lib.optionalString stdenv.hostPlatform.isDarwin ''
+      substituteInPlace driver/tool.cpp \
+          --replace "gcc" "clang"
+  '';
+
+  nativeBuildInputs = [ cmake llvm dmd python lit gdb unzip ]
+
+  ++ stdenv.lib.optional stdenv.hostPlatform.isDarwin (with darwin.apple_sdk.frameworks; [
+    Foundation
+  ]);
+
+  buildInputs = [ curl tzdata stdenv.cc ];
+
+  preConfigure = ''
+    cmakeFlagsArray=("-DINCLUDE_INSTALL_DIR=$out/include/dlang/ldc")
+  '';
+
+  postConfigure = ''
+    export DMD=$PWD/bin/ldc2
+  '';
+
+  makeFlags = [ "DMD=$DMD" ];
+
+  doCheck = true;
+
+  checkPhase = ''
+      ctest -j $NIX_BUILD_CORES -V DMD=$DMD
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The LLVM-based D compiler";
+    homepage = https://github.com/ldc-developers/ldc;
+    # from https://github.com/ldc-developers/ldc/blob/master/LICENSE
+    license = with licenses; [ bsd3 boost mit ncsa gpl2Plus ];
+    maintainers = with maintainers; [ ThomasMader ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 79b0c9ff898..743f243791b 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -50,7 +50,7 @@ in stdenv.mkDerivation rec {
     "-DLLVM_BUILD_TESTS=ON"
     "-DLLVM_ENABLE_FFI=ON"
     "-DLLVM_REQUIRES_RTTI=1"
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev or binutils}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     "-DCMAKE_CXX_FLAGS=-std=c++11"
   ] ++ stdenv.lib.optional (!stdenv.isDarwin) "-DBUILD_SHARED_LIBS=ON";
 
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
index c5503da9b83..0be3af192b4 100644
--- a/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -47,7 +47,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional enableSharedLibraries
     "-DBUILD_SHARED_LIBS=ON"
     ++ stdenv.lib.optional (!isDarwin)
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     ++ stdenv.lib.optionals ( isDarwin) [
     "-DCMAKE_CXX_FLAGS=-stdlib=libc++"
     "-DCAN_TARGET_i386=false"
diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix
index 81aaa7cd65c..b600665cd8f 100644
--- a/pkgs/development/compilers/llvm/3.7/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.7/llvm.nix
@@ -67,7 +67,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional enableSharedLibraries
     "-DBUILD_SHARED_LIBS=ON"
     ++ stdenv.lib.optional (!isDarwin)
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     ++ stdenv.lib.optionals ( isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
diff --git a/pkgs/development/compilers/llvm/3.8/llvm.nix b/pkgs/development/compilers/llvm/3.8/llvm.nix
index a3f652d783b..558bdcc5ce6 100644
--- a/pkgs/development/compilers/llvm/3.8/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.8/llvm.nix
@@ -62,7 +62,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional enableSharedLibraries [
     "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ stdenv.lib.optional (!isDarwin)
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     ++ stdenv.lib.optionals ( isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 2cdbef4b5b8..5f90e508c5e 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -105,7 +105,7 @@ in stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional enableSharedLibraries [
     "-DLLVM_LINK_LLVM_DYLIB=ON"
   ] ++ stdenv.lib.optional (!isDarwin)
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index a5aa810fb80..20ab9b44b65 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -89,7 +89,7 @@ in stdenv.mkDerivation rec {
     "-DSPHINX_WARNINGS_AS_ERRORS=OFF"
   ]
   ++ stdenv.lib.optional (!isDarwin)
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
   ++ stdenv.lib.optionals (isDarwin) [
     "-DLLVM_ENABLE_LIBCXX=ON"
     "-DCAN_TARGET_i386=false"
diff --git a/pkgs/development/compilers/mono/llvm.nix b/pkgs/development/compilers/mono/llvm.nix
index 1036e43ea94..6a4fd784d23 100644
--- a/pkgs/development/compilers/mono/llvm.nix
+++ b/pkgs/development/compilers/mono/llvm.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = with stdenv; [
     "-DLLVM_ENABLE_FFI=ON"
-    "-DLLVM_BINUTILS_INCDIR=${binutils.dev}/include"
+    "-DLLVM_BINUTILS_INCDIR=${stdenv.lib.getDev binutils}/include"
     "-DCMAKE_CXX_FLAGS=-std=c++11"
   ] ++ stdenv.lib.optional (!isDarwin) "-DBUILD_SHARED_LIBS=ON";
 
diff --git a/pkgs/development/compilers/tinycc/default.nix b/pkgs/development/compilers/tinycc/default.nix
index 094007aa2d0..8e56c1ee50b 100644
--- a/pkgs/development/compilers/tinycc/default.nix
+++ b/pkgs/development/compilers/tinycc/default.nix
@@ -2,10 +2,10 @@
 with stdenv.lib;
 
 let
-  date = "20170821";
+  date = "20170911";
+  rev = "870271ea071971002fa556e09e1873db316fa1a9";
+  sha256 = "1a9djm0p7cd5nzqdhch9y48c4wai76x6d4nwx0bj5jz46ws39bs9";
   version = "0.9.27pre-${date}";
-  rev = "b8fe8fc2105455eb5004be89fa8575aa928a18f3";
-  sha256 = "0rsv5pikm7ai2n7r93qlbvkyky23dsgc3sdc83crbcxjjk6xh378";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index abff9dfee4d..85a5f961485 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -104,6 +104,10 @@ self: super: {
   # Fix test trying to access /home directory
   shell-conduit = (overrideCabal super.shell-conduit (drv: {
     postPatch = "sed -i s/home/tmp/ test/Spec.hs";
+
+    # the tests for shell-conduit on Darwin illegitimatey assume non-GNU echo
+    # see: https://github.com/psibi/shell-conduit/issues/12
+    doCheck = !pkgs.stdenv.hostPlatform.isDarwin;
   }));
 
   # https://github.com/froozen/kademlia/issues/2
@@ -400,6 +404,12 @@ self: super: {
   th-printf = dontCheck super.th-printf;
   thumbnail-plus = dontCheck super.thumbnail-plus;
   tickle = dontCheck super.tickle;
+  tldr = super.tldr.override {
+    # shell-conduit determines what commands are available at compile-time, so
+    # that tldr will not compile unless the shell-conduit it uses is compiled
+    # with git in its environment.
+    shell-conduit = addBuildTool self.shell-conduit pkgs.git;
+  };
   tpdb = dontCheck super.tpdb;
   translatable-intset = dontCheck super.translatable-intset;
   ua-parser = dontCheck super.ua-parser;
@@ -929,6 +939,9 @@ self: super: {
   # https://hydra.nixos.org/build/60678124
   Agda = markBroken (super.Agda.override { happy = self.happy_1_19_5; });
 
+  # cryptol-2.5.0 doesn't want happy 1.19.6+.
+  cryptol = super.cryptol.override { happy = self.happy_1_19_5; };
+
   # https://github.com/jtdaugherty/text-zipper/issues/11
   text-zipper = dontCheck super.text-zipper;
 
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
index 4153e96e74a..c44edf6b02a 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.2.x.nix
@@ -71,23 +71,11 @@ self: super: {
   # https://github.com/aristidb/aws/issues/238
   aws = doJailbreak super.aws;
 
-  # https://github.com/jgm/pandoc/issues/3876
-  pandoc = let fixSetup = pkgs.fetchpatch {
-                            url = "https://github.com/jgm/pandoc/pull/3899.patch";
-                            sha256 = "0lk9vs2l1wc1kr0y8fkdcarfi4sjd3dl81r52n39r25xx9kqawv7";
-                          };
-           in overrideCabal super.pandoc (drv: {
-                editedCabalFile = null;
-                patches = drv.patches or [] ++ [fixSetup];
-                setupHaskellDepends = drv.setupHaskellDepends or [self.Cabal_1_24_2_0];
-                preCompileBuildDriver = "setupCompileFlags+=' -package=Cabal-1.24.2.0'";
-              });
-
   # LTS-9 versions do not compile.
   path = dontCheck super.path;
   path-io = super.path-io_1_3_3;
   trifecta = super.trifecta_1_7_1_1;
   aeson-compat = dontCheck super.aeson-compat_0_3_7_1;  # test suite needs QuickCheck 2.10.*
-  binary-orphans = dontCheck super.binary-orphans_0_1_7_0; # test suite needs QuickCheck 2.10.*
+  binary-orphans = dontCheck super.binary-orphans_0_1_8_0; # test suite needs QuickCheck 2.10.*
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 45c3f094e2d..fcb67847171 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 9.3
+  # LTS Haskell 9.4
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -62,11 +62,11 @@ default-package-overrides:
   - aeson-pretty ==0.8.5
   - aeson-qq ==0.8.2
   - aeson-utils ==0.3.0.2
-  - Agda ==2.5.2
+  - Agda ==2.5.3
   - airship ==0.6.0
   - alarmclock ==0.4.0.3
   - alerta ==0.1.0.4
-  - alex ==3.2.2
+  - alex ==3.2.3
   - algebraic-graphs ==0.0.5
   - alsa-core ==0.5.0.1
   - alsa-mixer ==0.2.0.3
@@ -420,10 +420,10 @@ default-package-overrides:
   - concurrent-output ==1.9.2
   - concurrent-split ==0.0.1
   - concurrent-supply ==0.1.8
-  - conduit ==1.2.11
+  - conduit ==1.2.12
   - conduit-combinators ==1.1.1
   - conduit-connection ==0.1.0.3
-  - conduit-extra ==1.1.16
+  - conduit-extra ==1.1.17
   - conduit-iconv ==0.1.1.2
   - conduit-parse ==0.1.2.1
   - ConfigFile ==1.1.4
@@ -504,7 +504,7 @@ default-package-overrides:
   - data-diverse-lens ==0.1.1.0
   - data-dword ==0.3.1.1
   - data-endian ==0.1.1
-  - data-fix ==0.0.6
+  - data-fix ==0.0.7
   - data-has ==0.2.1.0
   - data-hash ==0.2.0.1
   - data-inttrie ==0.1.2
@@ -525,7 +525,7 @@ default-package-overrides:
   - Decimal ==0.4.2
   - declarative ==0.5.1
   - deepseq-generics ==0.2.0.0
-  - dejafu ==0.7.1.2
+  - dejafu ==0.7.1.3
   - dependent-map ==0.2.4.0
   - dependent-sum ==0.4
   - derive ==2.6.3
@@ -574,7 +574,7 @@ default-package-overrides:
   - dmenu-pkill ==0.1.0.1
   - dmenu-pmount ==0.1.0.1
   - dmenu-search ==0.1.0.1
-  - dns ==2.0.12
+  - dns ==2.0.13
   - do-list ==1.0.1
   - dockerfile ==0.1.0.1
   - docopt ==0.7.0.5
@@ -697,7 +697,7 @@ default-package-overrides:
   - filemanip ==0.3.6.3
   - fileplow ==0.1.0.0
   - filter-logger ==0.6.0.0
-  - find-clumpiness ==0.2.2.0
+  - find-clumpiness ==0.2.3.0
   - fingertree ==0.1.1.0
   - fingertree-psqueue ==0.3
   - finite-typelits ==0.1.2.0
@@ -957,18 +957,18 @@ default-package-overrides:
   - hamlet ==1.2.0
   - HandsomeSoup ==0.4.2
   - handwriting ==0.1.0.3
-  - hapistrano ==0.3.2.4
+  - hapistrano ==0.3.3.0
   - happstack-hsp ==7.3.7.3
   - happstack-jmacro ==7.0.12
   - happstack-server ==7.4.6.4
   - happstack-server-tls ==7.1.6.4
-  - happy >1.19.6
-  - harp ==0.4.2
+  - happy ==1.19.7
+  - harp ==0.4.3
   - hasbolt ==0.1.2.1
   - hashable ==1.2.6.1
   - hashable-time ==0.2.0.1
   - hashmap ==1.3.2
-  - hashtables ==1.2.1.1
+  - hashtables ==1.2.2.0
   - haskeline ==0.7.4.0
   - haskell-gi ==0.20.3
   - haskell-gi-base ==0.20.4
@@ -1093,7 +1093,7 @@ default-package-overrides:
   - hsemail ==2
   - HSet ==0.0.1
   - hset ==2.2.0
-  - hsexif ==0.6.1.2
+  - hsexif ==0.6.1.3
   - hsignal ==0.2.7.5
   - hsinstall ==1.6
   - hslogger ==1.2.10
@@ -1212,7 +1212,7 @@ default-package-overrides:
   - instance-control ==0.1.1.1
   - integer-logarithms ==1.0.2
   - integration ==0.2.1
-  - intero ==0.1.21
+  - intero ==0.1.23
   - interpolate ==0.1.1
   - interpolatedstring-perl6 ==1.0.0
   - interpolation ==0.1.0.1
@@ -1228,7 +1228,7 @@ default-package-overrides:
   - io-region ==0.1.1
   - io-storage ==0.3
   - io-streams ==1.4.1.0
-  - io-streams-haproxy ==1.0.0.1
+  - io-streams-haproxy ==1.0.0.2
   - ip6addr ==0.5.3
   - iproute ==1.7.1
   - IPv6Addr ==1.0.1
@@ -1262,7 +1262,7 @@ default-package-overrides:
   - json-builder ==0.3
   - json-rpc-generic ==0.2.1.2
   - json-schema ==0.7.4.1
-  - json-stream ==0.4.1.4
+  - json-stream ==0.4.1.5
   - JuicyPixels ==3.2.8.3
   - JuicyPixels-extra ==0.2.1
   - JuicyPixels-scale-dct ==0.1.1.2
@@ -1355,7 +1355,7 @@ default-package-overrides:
   - log-postgres ==0.7.0.2
   - logfloat ==0.13.3.3
   - logger-thread ==0.1.0.2
-  - logging-effect ==1.2.0
+  - logging-effect ==1.2.1
   - logging-facade ==0.3.0
   - logging-facade-syslog ==1
   - logict ==0.6.0.2
@@ -1398,7 +1398,7 @@ default-package-overrides:
   - median-stream ==0.7.0.0
   - mega-sdist ==0.3.0.2
   - megaparsec ==5.3.1
-  - memory ==0.14.6
+  - memory ==0.14.7
   - MemoTrie ==0.6.8
   - mersenne-random-pure64 ==0.2.2.0
   - messagepack ==0.5.4
@@ -1440,7 +1440,7 @@ default-package-overrides:
   - monad-extras ==0.6.0
   - monad-http ==0.1.0.0
   - monad-journal ==0.7.2
-  - monad-logger ==0.3.25
+  - monad-logger ==0.3.25.1
   - monad-logger-json ==0.1.0.0
   - monad-logger-prefix ==0.1.6
   - monad-logger-syslog ==0.1.4.0
@@ -1565,7 +1565,7 @@ default-package-overrides:
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
   - opaleye ==0.5.4.0
-  - opaleye-trans ==0.3.5
+  - opaleye-trans ==0.3.6
   - open-browser ==0.2.1.0
   - open-witness ==0.4.0.1
   - OpenAL ==1.7.0.4
@@ -1574,7 +1574,7 @@ default-package-overrides:
   - OpenGLRaw ==3.2.5.0
   - openpgp-asciiarmor ==0.1
   - opensource ==0.1.0.0
-  - openssl-streams ==1.2.1.1
+  - openssl-streams ==1.2.1.3
   - operational ==0.2.3.5
   - operational-class ==0.3.0.0
   - opml-conduit ==0.6.0.3
@@ -1594,7 +1594,7 @@ default-package-overrides:
   - pagerduty ==0.0.8
   - pagination ==0.2.1
   - palette ==0.1.0.5
-  - pandoc ==1.19.2.1
+  - pandoc ==1.19.2.4
   - pandoc-citeproc ==0.10.5.1
   - pandoc-types ==1.17.0.5
   - pango ==0.13.3.1
@@ -1612,7 +1612,7 @@ default-package-overrides:
   - partial-order ==0.1.2.1
   - patat ==0.5.2.2
   - path ==0.5.13
-  - path-extra ==0.0.3
+  - path-extra ==0.0.5
   - path-io ==1.2.2
   - path-pieces ==0.2.1
   - pathtype ==0.8
@@ -1654,10 +1654,10 @@ default-package-overrides:
   - pipes-bytestring ==2.1.6
   - pipes-cacophony ==0.5.0
   - pipes-category ==0.2.0.1
-  - pipes-concurrency ==2.0.7
+  - pipes-concurrency ==2.0.8
   - pipes-extras ==1.0.10
   - pipes-fluid ==0.5.0.3
-  - pipes-group ==1.0.7
+  - pipes-group ==1.0.8
   - pipes-misc ==0.3.0.0
   - pipes-mongodb ==0.1.0.0
   - pipes-parse ==3.0.8
@@ -1669,7 +1669,7 @@ default-package-overrides:
   - pkcs10 ==0.2.0.0
   - placeholders ==0.1
   - plan-b ==0.2.1
-  - plot ==0.2.3.7
+  - plot ==0.2.3.8
   - plot-gtk ==0.2.0.4
   - plot-gtk-ui ==0.3.0.2
   - plot-gtk3 ==0.1.0.2
@@ -1868,7 +1868,7 @@ default-package-overrides:
   - safe-exceptions ==0.1.6.0
   - safe-exceptions-checked ==0.1.0
   - safecopy ==0.9.3.3
-  - safeio ==0.0.3.0
+  - safeio ==0.0.4.0
   - SafeSemaphore ==0.10.1
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
@@ -1893,8 +1893,8 @@ default-package-overrides:
   - search-algorithms ==0.2.0
   - securemem ==0.1.9
   - SegmentTree ==0.3
-  - selda ==0.1.10.1
-  - selda-postgresql ==0.1.6.0
+  - selda ==0.1.11.0
+  - selda-postgresql ==0.1.7.0
   - selda-sqlite ==0.1.6.0
   - semigroupoid-extras ==5
   - semigroupoids ==5.2.1
@@ -1970,8 +1970,8 @@ default-package-overrides:
   - smoothie ==0.4.2.7
   - smtp-mail ==0.1.4.6
   - snap-blaze ==0.2.1.5
-  - snap-core ==1.0.3.0
-  - snap-server ==1.0.3.0
+  - snap-core ==1.0.3.1
+  - snap-server ==1.0.3.1
   - snowflake ==0.1.1.1
   - snowtify ==0.1.0.3
   - soap ==0.2.3.5
@@ -2073,7 +2073,7 @@ default-package-overrides:
   - svg-tree ==0.6.2
   - SVGFonts ==1.6.0.2
   - swagger ==0.3.0
-  - swagger2 ==2.1.4.1
+  - swagger2 ==2.1.5
   - syb ==0.7
   - symbol ==0.2.4
   - symengine ==0.1.2.0
@@ -2161,11 +2161,11 @@ default-package-overrides:
   - text-region ==0.3.0.0
   - text-show ==3.6
   - text-show-instances ==3.6
-  - text-zipper ==0.10
+  - text-zipper ==0.10.1
   - textlocal ==0.1.0.5
   - tf-random ==0.5
   - tfp ==1.0.0.2
-  - th-abstraction ==0.2.5.0
+  - th-abstraction ==0.2.6.0
   - th-data-compat ==0.0.2.4
   - th-desugar ==1.6
   - th-expand-syns ==0.4.3.0
@@ -2246,7 +2246,7 @@ default-package-overrides:
   - type-operators ==0.1.0.4
   - type-spec ==0.3.0.1
   - TypeCompose ==0.9.12
-  - typed-process ==0.1.0.1
+  - typed-process ==0.1.1
   - typelits-witnesses ==0.2.3.0
   - typography-geometry ==1.0.0.1
   - tz ==0.1.3.0
@@ -2268,7 +2268,7 @@ default-package-overrides:
   - union-find ==0.2
   - uniplate ==1.6.12
   - uniq-deep ==1.1.0.0
-  - Unique ==0.4.6.1
+  - Unique ==0.4.7.1
   - unique ==0
   - unit-constraint ==0.0.0
   - units ==2.4
@@ -2306,7 +2306,7 @@ default-package-overrides:
   - uuid-types ==1.0.3
   - vado ==0.0.9
   - validate-input ==0.4.0.0
-  - validation ==0.5.4
+  - validation ==0.5.5
   - validationt ==0.2.0.0
   - varying ==0.7.0.3
   - vault ==0.3.0.7
@@ -2338,7 +2338,7 @@ default-package-overrides:
   - wai-cors ==0.2.5
   - wai-eventsource ==3.0.0
   - wai-extra ==3.0.20.0
-  - wai-handler-launch ==3.0.2.2
+  - wai-handler-launch ==3.0.2.3
   - wai-logger ==2.3.0
   - wai-middleware-auth ==0.1.2.1
   - wai-middleware-caching ==0.1.0.2
@@ -2448,7 +2448,7 @@ default-package-overrides:
   - xmlgen ==0.6.2.1
   - xmonad ==0.13
   - xmonad-contrib ==0.13
-  - xmonad-extras ==0.13.0
+  - xmonad-extras ==0.13.1
   - xss-sanitize ==0.3.5.7
   - xturtle ==0.2.0.0
   - yackage ==0.8.1
@@ -2458,7 +2458,7 @@ default-package-overrides:
   - YampaSynth ==0.2
   - yes-precure5-command ==5.5.3
   - yesod ==1.4.5
-  - yesod-auth ==1.4.18
+  - yesod-auth ==1.4.19
   - yesod-auth-account ==1.4.3
   - yesod-auth-basic ==0.1.0.2
   - yesod-auth-fb ==1.8.1
@@ -2468,7 +2468,7 @@ default-package-overrides:
   - yesod-default ==1.2.0
   - yesod-eventsource ==1.4.1
   - yesod-fb ==0.4.0
-  - yesod-form ==1.4.15
+  - yesod-form ==1.4.16
   - yesod-form-bootstrap4 ==0.1.0.1
   - yesod-form-richtext ==0.1.0.2
   - yesod-gitrepo ==0.2.1.0
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index e281cf9e774..5be4388835b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -714,30 +714,28 @@ self: {
      }) {};
 
   "Agda" = callPackage
-    ({ mkDerivation, alex, array, base, binary, boxes, bytestring
-     , containers, cpphs, data-hash, deepseq, directory, EdisonCore
-     , edit-distance, emacs, equivalence, filepath, geniplate-mirror
-     , gitrev, happy, hashable, hashtables, haskeline, ieee754
-     , monadplus, mtl, murmur-hash, parallel, pretty, process
-     , regex-tdfa, strict, template-haskell, text, time, transformers
-     , transformers-compat, unordered-containers, xhtml, zlib
+    ({ mkDerivation, alex, array, async, base, binary, blaze-html
+     , boxes, bytestring, containers, cpphs, data-hash, deepseq
+     , directory, EdisonCore, edit-distance, emacs, equivalence
+     , filepath, geniplate-mirror, gitrev, happy, hashable, hashtables
+     , haskeline, ieee754, monadplus, mtl, murmur-hash, parallel, pretty
+     , process, regex-tdfa, stm, strict, template-haskell, text, time
+     , transformers, unordered-containers, uri-encode, zlib
      }:
      mkDerivation {
        pname = "Agda";
-       version = "2.5.2";
-       sha256 = "0f8ld7sqkfhirhs886kp090iaq70qxsj8ms8farc80vzpz1ww4nq";
-       revision = "3";
-       editedCabalFile = "10j2hf2g9vv2xibywgd8s96x05clfxr4wli00011vkhblr4p9br8";
+       version = "2.5.3";
+       sha256 = "0r80vw7vnvbgq47y50v050malv7zvv2p2kg6f47i04r0b2ix855a";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base binary boxes bytestring containers data-hash deepseq
-         directory EdisonCore edit-distance equivalence filepath
-         geniplate-mirror gitrev hashable hashtables haskeline ieee754
-         monadplus mtl murmur-hash parallel pretty process regex-tdfa strict
-         template-haskell text time transformers transformers-compat
-         unordered-containers xhtml zlib
+         array async base binary blaze-html boxes bytestring containers
+         data-hash deepseq directory EdisonCore edit-distance equivalence
+         filepath geniplate-mirror gitrev hashable hashtables haskeline
+         ieee754 monadplus mtl murmur-hash parallel pretty process
+         regex-tdfa stm strict template-haskell text time transformers
+         unordered-containers uri-encode zlib
        ];
        libraryToolDepends = [ alex cpphs happy ];
        executableHaskellDepends = [ base directory filepath process ];
@@ -6303,8 +6301,8 @@ self: {
      }:
      mkDerivation {
        pname = "Gene-CluEDO";
-       version = "0.0.0.1";
-       sha256 = "045h6p6n5rw6qb498hrgzgfddlj5hiij3zmbbs6p9nb9c6h03y48";
+       version = "0.0.0.2";
+       sha256 = "1gl5walv8mslb5rz9lf5s882ij4596shklqgjybckqajqwimblpd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -6452,13 +6450,14 @@ self: {
      }) {};
 
   "Gifcurry" = callPackage
-    ({ mkDerivation, base, cmdargs, directory, filepath, gtk3, process
-     , temporary, text
+    ({ mkDerivation, base, cmdargs, directory, filepath, gi-gdk
+     , gi-glib, gi-gobject, gi-gtk, haskell-gi-base, process, temporary
+     , text
      }:
      mkDerivation {
        pname = "Gifcurry";
-       version = "2.1.0.0";
-       sha256 = "030p4ihh3zdjy0f687ffpnsf1zjb7mhwih47718fj2pawi4hkksi";
+       version = "2.2.0.0";
+       sha256 = "19f5prpnf3c3ga85ad1s1q5nl78n67iva5cwppkqklc15w0ad3rs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -6466,11 +6465,12 @@ self: {
          base directory filepath process temporary text
        ];
        executableHaskellDepends = [
-         base cmdargs directory filepath gtk3 process temporary text
+         base cmdargs directory filepath gi-gdk gi-glib gi-gobject gi-gtk
+         haskell-gi-base process temporary text
        ];
        homepage = "https://github.com/lettier/gifcurry";
-       description = "Create animated GIFs, overlaid with optional text, from video files";
-       license = stdenv.lib.licenses.asl20;
+       description = "GIF creation utility";
+       license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -9573,20 +9573,16 @@ self: {
 
   "Hoed" = callPackage
     ({ mkDerivation, array, base, bytestring, cereal, containers
-     , directory, filepath, FPretty, libgraph, mtl, process, RBTree
-     , regex-posix, template-haskell, threepenny-gui, time
+     , directory, filepath, libgraph, mtl, process, regex-posix, time
      }:
      mkDerivation {
        pname = "Hoed";
-       version = "0.3.6";
-       sha256 = "1nsiqcwx9xiz3774c0kv036v8pz53jzl9pfxyhm6ci8ag83za245";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.4.0";
+       sha256 = "0l01viv04dkxinysd7wbzn7k5rm8c21ix8k5a4p940hml879m9f1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         array base bytestring cereal containers directory filepath FPretty
-         libgraph mtl process RBTree regex-posix template-haskell
-         threepenny-gui time
+         array base bytestring cereal containers directory filepath libgraph
+         mtl process regex-posix time
        ];
        homepage = "https://wiki.haskell.org/Hoed";
        description = "Lightweight algorithmic debugging";
@@ -13825,8 +13821,8 @@ self: {
      }:
      mkDerivation {
        pname = "PTQ";
-       version = "0.0.7";
-       sha256 = "0pfd5y8plxicdchkbij0nqj6zwxw3fcy5cz1ji5bky9g3bmz9mhm";
+       version = "0.0.8";
+       sha256 = "0mbyf63s19rps7p74b4fazbfccpjzx40l1fjszv38kprrg7jff2s";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -15462,16 +15458,18 @@ self: {
      }) {};
 
   "SCalendar" = callPackage
-    ({ mkDerivation, base, containers, hspec, QuickCheck, text, time }:
+    ({ mkDerivation, base, containers, hspec, QuickCheck, scalendar
+     , text, time
+     }:
      mkDerivation {
        pname = "SCalendar";
-       version = "1.0.0";
-       sha256 = "0w69p3min1iijbk5cv645v5cizd2k5xwdzr52l7fg72bv17l0xcx";
+       version = "1.1.0";
+       sha256 = "139lggc8f7sw703asdyxqbja0jfcgphx0l5si1046lsryinvywa9";
        libraryHaskellDepends = [ base containers text time ];
        testHaskellDepends = [
-         base containers hspec QuickCheck text time
+         base containers hspec QuickCheck scalendar text time
        ];
-       homepage = "https://github.com/stackbuilders/scalendar";
+       homepage = "https://www.researchgate.net/publication/311582722_Method_of_Managing_Resources_in_a_Telecommunication_Network_or_a_Computing_System";
        description = "This is a library for handling calendars and resource availability based on the \"top-nodes algorithm\" and set operations";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -15954,6 +15952,8 @@ self: {
        pname = "SciFlow";
        version = "0.6.0";
        sha256 = "1b57sa2gx3jj00239sq62qmywjykc80lkk587lwzrdp9w5ycl4sb";
+       revision = "1";
+       editedCabalFile = "1nsakdi9y5nnwm8x9f2a1cvf55k0wnva3wkd9nmz9my8mlk2jfi3";
        libraryHaskellDepends = [
          aeson base bytestring cereal cereal-text containers
          data-default-class directory exceptions executable-path fgl
@@ -17968,22 +17968,6 @@ self: {
      }:
      mkDerivation {
        pname = "Unique";
-       version = "0.4.6.1";
-       sha256 = "1yc45a81rfhg8vw1wbdgb4x8fdr1diycnyvby7npy2187cw4i5lb";
-       libraryHaskellDepends = [
-         base containers extra hashable unordered-containers
-       ];
-       testHaskellDepends = [ base containers hspec QuickCheck ];
-       description = "It provides the functionality like unix \"uniq\" utility";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "Unique_0_4_7_1" = callPackage
-    ({ mkDerivation, base, containers, extra, hashable, hspec
-     , QuickCheck, unordered-containers
-     }:
-     mkDerivation {
-       pname = "Unique";
        version = "0.4.7.1";
        sha256 = "1a912180fk2xhz6md50n21xz0z89n9ylansyqxq034jgsfkz8b7s";
        libraryHaskellDepends = [
@@ -17992,7 +17976,6 @@ self: {
        testHaskellDepends = [ base containers hspec QuickCheck ];
        description = "It provides the functionality like unix \"uniq\" utility";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Unixutils" = callPackage
@@ -18233,8 +18216,8 @@ self: {
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.1.13";
-       sha256 = "02qlhg1i5z9z0zdbczygf4px477zg91a8gk5va5i7mcsgznqzv7d";
+       version = "0.1.1.14";
+       sha256 = "020ialav8dxbzkyra8sjip397l50j7d3gy3m44jf4wgiyk3d9jpj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -18679,6 +18662,21 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "Win32-notify_0_3_0_3" = callPackage
+    ({ mkDerivation, base, containers, directory, Win32 }:
+     mkDerivation {
+       pname = "Win32-notify";
+       version = "0.3.0.3";
+       sha256 = "05j10i83354cqbi8yzq5rgkkd6rmxsvy1b0sbwz3pkmidkhdn88c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base containers directory Win32 ];
+       executableHaskellDepends = [ base directory ];
+       description = "A binding to part of the Win32 library for file notification";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "Win32-security" = callPackage
     ({ mkDerivation, base, text, Win32, Win32-errors }:
      mkDerivation {
@@ -21064,6 +21062,49 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "aern2-mp" = callPackage
+    ({ mkDerivation, base, convertible, hmpfr, hspec, integer-gmp
+     , integer-logarithms, lens, mixed-types-num, QuickCheck, regex-tdfa
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "aern2-mp";
+       version = "0.1.0.1";
+       sha256 = "0l217dh94j8cf16rsv3408551qslwzjy068ni0m88i2cwliq9pyi";
+       libraryHaskellDepends = [
+         base convertible hmpfr hspec integer-gmp integer-logarithms lens
+         mixed-types-num QuickCheck regex-tdfa template-haskell
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/michalkonecny/aern2";
+       description = "Multi-precision floats via MPFR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "aern2-real" = callPackage
+    ({ mkDerivation, aern2-mp, aeson, base, bytestring, containers
+     , convertible, elm-bridge, hspec, lens, mixed-types-num, QuickCheck
+     , random, stm, transformers
+     }:
+     mkDerivation {
+       pname = "aern2-real";
+       version = "0.1.0.1";
+       sha256 = "0xvag7xzs5azcivlcp641p6wzf6pimz74fvwcl3rmrbah1ij1qv0";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aern2-mp aeson base bytestring containers convertible hspec lens
+         mixed-types-num QuickCheck stm transformers
+       ];
+       executableHaskellDepends = [
+         aern2-mp base elm-bridge mixed-types-num QuickCheck random
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/michalkonecny/aern2";
+       description = "Exact real numbers via Cauchy sequences and MPFR";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aeson_0_7_0_6" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
      , dlist, ghc-prim, hashable, HUnit, mtl, old-locale, QuickCheck
@@ -22558,8 +22599,8 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.2";
-       sha256 = "16v259aqgsj2lgia210f05zx6drbyad9958hk3cn9i27k7cmlkis";
+       version = "3.2.3";
+       sha256 = "0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -22588,6 +22629,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alex-prelude" = callPackage
+    ({ mkDerivation, base, time }:
+     mkDerivation {
+       pname = "alex-prelude";
+       version = "0.1.1.1";
+       sha256 = "1ngxkr7jvy48pgq0sjqpi7a84qjm4fjny64hxksyvbj08l2rn7ha";
+       libraryHaskellDepends = [ base time ];
+       homepage = "https://www.asayers.com/";
+       description = "Collection of useful functions for writing console applications";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alex-tools" = callPackage
     ({ mkDerivation, base, deepseq, template-haskell, text }:
      mkDerivation {
@@ -24999,7 +25052,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "amqp_0_16_0" = callPackage
+  "amqp_0_17_0" = callPackage
     ({ mkDerivation, base, binary, bytestring, clock, connection
      , containers, data-binary-ieee754, hspec, hspec-expectations
      , monad-control, network, network-uri, split, stm, text, vector
@@ -25007,8 +25060,8 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.16.0";
-       sha256 = "100krph1yaazxcs74r6v5785l50886rsbip98w8p4rzqgcya311a";
+       version = "0.17.0";
+       sha256 = "18g63nx7ksbqs45nr3nfw0hii9niw0bw5s35vk4xnchhj9f3ibwr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -27756,8 +27809,9 @@ self: {
     ({ mkDerivation, base, pretty-show, text }:
      mkDerivation {
        pname = "assert-failure";
-       version = "0.1.1.0";
-       sha256 = "09djlhhyn9w822a5r41y7gk4cqk74a2fy7skzml2bah2an166gm1";
+       version = "0.1.2.1";
+       sha256 = "1fjn40d555ryz9fffbx3qizrh3y018kalz6b4w8gdxapvpszj0sc";
+       enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base pretty-show text ];
        homepage = "https://github.com/Mikolaj/assert-failure";
        description = "Syntactic sugar improving 'assert' and 'error'";
@@ -31064,8 +31118,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "basement";
-       version = "0.0.0";
-       sha256 = "1agqj5yp0nf7117qx62xp5mncans5szscbp6gz6ifhhsl6lng3k1";
+       version = "0.0.2";
+       sha256 = "01jvdi7xb61jgrq64ll325mvhibmm2q8nllq7aicy13mwxqgcyac";
        libraryHaskellDepends = [ base ghc-prim ];
        homepage = "https://github.com/haskell-foundation/foundation";
        description = "Foundation scrap box of array & string";
@@ -32401,7 +32455,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "binary-orphans_0_1_7_0" = callPackage
+  "binary-orphans_0_1_8_0" = callPackage
     ({ mkDerivation, aeson, base, binary, case-insensitive, hashable
      , QuickCheck, quickcheck-instances, scientific, tagged, tasty
      , tasty-quickcheck, text, text-binary, time, unordered-containers
@@ -32409,10 +32463,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary-orphans";
-       version = "0.1.7.0";
-       sha256 = "1pv10g4a9sxjrsp2fj0w4n1sklxk2nf5w9q6na308smngbx3k1f9";
-       revision = "1";
-       editedCabalFile = "0k0griirhzac9h5wcf1331dmpxn32qdzx8pablaf1ny9r6pbjigy";
+       version = "0.1.8.0";
+       sha256 = "1k6067wn9zki7xvbslvxx8cq1wrmz3kjb3q3x8mxycc9v765fxgi";
        libraryHaskellDepends = [
          aeson base binary case-insensitive hashable scientific tagged text
          text-binary time unordered-containers vector
@@ -37679,6 +37731,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "byteunits" = callPackage
+    ({ mkDerivation, base, Cabal, QuickCheck, safe }:
+     mkDerivation {
+       pname = "byteunits";
+       version = "0.2.0.2";
+       sha256 = "1n0gbjjhxx6rv07sck3bx70bd96pkgl0vx5qyqbby9gdfndil4vl";
+       libraryHaskellDepends = [ base safe ];
+       testHaskellDepends = [ base Cabal QuickCheck ];
+       description = "Human friendly conversion between byte units (KB, MB, GB...)";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bzlib" = callPackage
     ({ mkDerivation, base, bytestring, bzip2 }:
      mkDerivation {
@@ -39516,8 +39580,8 @@ self: {
      }:
      mkDerivation {
        pname = "canteven-http";
-       version = "0.1.4.0";
-       sha256 = "0zxs8ciyv3zb109an3qkw2c7kbg0zgs6cx1phndyl61wxf6vbqa6";
+       version = "0.1.5.1";
+       sha256 = "0rb77g2g9ddzypswwgjqw8dg31m2q70p765jbq4g5jj4jynm2vdb";
        libraryHaskellDepends = [
          base bytestring canteven-log directory exceptions filepath
          http-types mime-types monad-logger template-haskell text time
@@ -41601,7 +41665,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "chart-unit_0_5_2" = callPackage
+  "chart-unit_0_5_3" = callPackage
     ({ mkDerivation, base, colour, containers, data-default
      , diagrams-lib, diagrams-rasterific, diagrams-svg, foldl
      , formatting, lens, linear, mwc-probability, mwc-random, numhask
@@ -41610,8 +41674,8 @@ self: {
      }:
      mkDerivation {
        pname = "chart-unit";
-       version = "0.5.2";
-       sha256 = "1fslw870412dpc333hhxqhly7lz5gr8m2x7bvndfj4a98mmsv056";
+       version = "0.5.3";
+       sha256 = "0kr57pv63xlx2xnc0cj0da1bc5cf8icnw81lbndrdxh126si50k5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42212,6 +42276,8 @@ self: {
        pname = "chronos";
        version = "0.4";
        sha256 = "0lc7qb1ky15sxmvndfjcmmy6j913ncnzq0hjx9mbqljvg7di0yal";
+       revision = "1";
+       editedCabalFile = "1mk6kn0gs7azv7c9bcal8k6zzlpska0x9akk91la2xvg298sy6a5";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring hashable primitive text vector
        ];
@@ -44022,8 +44088,8 @@ self: {
      }:
      mkDerivation {
        pname = "cloudi";
-       version = "1.7.1";
-       sha256 = "12kk359wfkwsc62bb6f0ak5gzkwdw4gmcfmj9ryqrjcc2irlnbk1";
+       version = "1.7.2";
+       sha256 = "1w6rdmb5a50vdski2k4xwysrbxaycybijgak0hvpsjhnf16yb04f";
        libraryHaskellDepends = [
          array base binary bytestring containers network time unix zlib
        ];
@@ -44448,8 +44514,8 @@ self: {
      }:
      mkDerivation {
        pname = "cmark-sections";
-       version = "0.2.0.0";
-       sha256 = "0xrss1vlbcswk2izpjh34vxnkjaim6pxih00vv13hcarip17qs4f";
+       version = "0.3.0";
+       sha256 = "1zc7gcncmbq5ph17hlwxdikjvx6ccywkbs60523ybp7dagch4cfs";
        libraryHaskellDepends = [
          base base-prelude cmark containers microlens split text
        ];
@@ -44651,21 +44717,21 @@ self: {
   "cmv" = callPackage
     ({ mkDerivation, aeson, base, BiobaseInfernal, BiobaseTypes
      , BiobaseXNA, BioHMM, bytestring, cmdargs, colour, containers
-     , diagrams-cairo, diagrams-lib, directory, either-unwrap, filepath
-     , mtl, parsec, ParsecTools, PrimitiveArray, StockholmAlignment
-     , SVGFonts, template-haskell, text, vector
+     , diagrams-cairo, diagrams-core, diagrams-lib, directory
+     , either-unwrap, filepath, mtl, parsec, ParsecTools, PrimitiveArray
+     , StockholmAlignment, SVGFonts, template-haskell, text, vector
      }:
      mkDerivation {
        pname = "cmv";
-       version = "1.0.2";
-       sha256 = "107cwha465c7i2yi1k9m2csf9kdszrix7295d1q0dhklwi0fll8d";
+       version = "1.0.3";
+       sha256 = "1ahvr926iwg7r9ljflng28gwm39g2j42r754hbqg8ph5n0h0nlxj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base BiobaseInfernal BiobaseTypes BiobaseXNA BioHMM colour
-         containers diagrams-cairo diagrams-lib directory either-unwrap
-         filepath mtl parsec ParsecTools PrimitiveArray StockholmAlignment
-         SVGFonts text vector
+         containers diagrams-cairo diagrams-core diagrams-lib directory
+         either-unwrap filepath mtl parsec ParsecTools PrimitiveArray
+         StockholmAlignment SVGFonts text vector
        ];
        executableHaskellDepends = [
          aeson base BiobaseInfernal BiobaseXNA BioHMM bytestring cmdargs
@@ -46176,8 +46242,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson";
-       version = "0.5.1.0";
-       sha256 = "05v87hj60b3bcvq1jr45svs3z0q2ix5jkkk5kyd4fx95y63l1viw";
+       version = "0.5.2.0";
+       sha256 = "12r2kkn6gxp5aj3fzdyfazi2nzgfvvk6cp9rb5y0ak2llvsh5jm4";
        libraryHaskellDepends = [
          aeson aeson-better-errors base composite-base containers
          contravariant generic-deriving hashable lens mmorph mtl profunctors
@@ -46201,8 +46267,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-aeson-refined";
-       version = "0.5.1.0";
-       sha256 = "1q7a210fnnypmb7m9jmqvfxzlb4aiy773vcmy7sv3qfnqys0ychm";
+       version = "0.5.2.0";
+       sha256 = "02kx3dsqfqwn07lxhvj6gxw4p0h5yv8r1nndzi6d8lil38rx9gap";
        libraryHaskellDepends = [
          aeson-better-errors base composite-aeson mtl refined
        ];
@@ -46218,8 +46284,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-base";
-       version = "0.5.1.0";
-       sha256 = "0ba25lw2kcn159w10kpbg5zhbiz6ka9kxcwsahw99030lm01d4rb";
+       version = "0.5.2.0";
+       sha256 = "1s19y7cnsk7k0hsc124xnvcj35vmdk1yqwvv15xf2qilvp3ppzxw";
        libraryHaskellDepends = [
          base exceptions lens monad-control mtl profunctors template-haskell
          text transformers transformers-base vinyl
@@ -46239,8 +46305,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-ekg";
-       version = "0.5.1.0";
-       sha256 = "06jyl3vry7i0hypkzdm8zmf6h14s7vrl3322wpbjn72x1sd2cqsp";
+       version = "0.5.2.0";
+       sha256 = "0bymnfw5d3nzwrbmnq1jpdvvm86p7c3y7s779dlpmdcsq2wxvp92";
        libraryHaskellDepends = [
          base composite-base ekg ekg-core lens text vinyl
        ];
@@ -46256,8 +46322,8 @@ self: {
      }:
      mkDerivation {
        pname = "composite-opaleye";
-       version = "0.5.1.0";
-       sha256 = "1gyhjsa2144r402jlvm5g7c3gfbjlg5cr3ja51l7bavvsgvp28br";
+       version = "0.5.2.0";
+       sha256 = "1k2h9acbk4g8rfqpg9r689k5nr8cgj385797mkca3f76xrzlxbfl";
        libraryHaskellDepends = [
          base bytestring composite-base lens opaleye postgresql-simple
          product-profunctors profunctors template-haskell text vinyl
@@ -47005,33 +47071,6 @@ self: {
     ({ mkDerivation, base, containers, criterion, deepseq, exceptions
      , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
      , mwc-random, primitive, QuickCheck, resourcet, safe, split
-     , transformers, transformers-base, vector
-     }:
-     mkDerivation {
-       pname = "conduit";
-       version = "1.2.11";
-       sha256 = "1xx8vj2azbzr2skcrpcy02hgnik01i6hcx01h0mjd4fr0hzl4rhb";
-       libraryHaskellDepends = [
-         base exceptions lifted-base mmorph monad-control mtl primitive
-         resourcet transformers transformers-base
-       ];
-       testHaskellDepends = [
-         base containers exceptions hspec mtl QuickCheck resourcet safe
-         split transformers
-       ];
-       benchmarkHaskellDepends = [
-         base containers criterion deepseq hspec kan-extensions mwc-random
-         transformers vector
-       ];
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Streaming data processing library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit_1_2_12" = callPackage
-    ({ mkDerivation, base, containers, criterion, deepseq, exceptions
-     , hspec, kan-extensions, lifted-base, mmorph, monad-control, mtl
-     , mwc-random, primitive, QuickCheck, resourcet, safe, split
      , transformers, transformers-base, transformers-compat, vector
      }:
      mkDerivation {
@@ -47053,7 +47092,6 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Streaming data processing library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-algorithms" = callPackage
@@ -47065,8 +47103,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.3.0";
-       sha256 = "1bcn3gmq3dd23biw7widf1pmx7063yn5xn949cviw4nmfshrqahp";
+       version = "0.0.4.0";
+       sha256 = "0d142r0ljcdyd6z92k4nn19a0sain4fdqmfdr1wiibwq4bdcfzqw";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
          conduit-extra containers deepseq directory filepath mtl resourcet
@@ -47208,36 +47246,6 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-extra";
-       version = "1.1.16";
-       sha256 = "1mgqc34i6ccq5bjkkn943gfa3w0lhddi3am0fd5afnazrnxc2wmx";
-       libraryHaskellDepends = [
-         async attoparsec base blaze-builder bytestring conduit directory
-         exceptions filepath monad-control network primitive process
-         resourcet stm streaming-commons text transformers transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base blaze-builder bytestring bytestring-builder
-         conduit directory exceptions hspec process QuickCheck resourcet stm
-         streaming-commons text transformers transformers-base
-       ];
-       benchmarkHaskellDepends = [
-         base blaze-builder bytestring bytestring-builder conduit criterion
-         transformers
-       ];
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Batteries included conduit: adapters for common libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-extra_1_1_17" = callPackage
-    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
-     , bytestring-builder, conduit, criterion, directory, exceptions
-     , filepath, hspec, monad-control, network, primitive, process
-     , QuickCheck, resourcet, stm, streaming-commons, text, transformers
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "conduit-extra";
        version = "1.1.17";
        sha256 = "01haq94kf4jsqrhs6j2kkvxrw4iqhvhnd9rcrqpkdbp1dil493kn";
        libraryHaskellDepends = [
@@ -47257,7 +47265,6 @@ self: {
        homepage = "http://github.com/snoyberg/conduit";
        description = "Batteries included conduit: adapters for common libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-find" = callPackage
@@ -48303,6 +48310,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "continued-fraction" = callPackage
+    ({ mkDerivation, base, criterion, hspec, recursion-schemes }:
+     mkDerivation {
+       pname = "continued-fraction";
+       version = "0.1.0.0";
+       sha256 = "1vip1ask3zyhy9n0vacx5ipww2m2wxkdhnp2j20c0i2g1jrpspx7";
+       libraryHaskellDepends = [ base recursion-schemes ];
+       testHaskellDepends = [ base hspec ];
+       benchmarkHaskellDepends = [ base criterion ];
+       homepage = "https://github.com/vmchale/continued-fractions#readme";
+       description = "Types and functions for working with continued fractions in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "continued-fractions" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -51101,6 +51122,8 @@ self: {
        pname = "cryptol";
        version = "2.5.0";
        sha256 = "1w8w4srdvnd8dwjbip45bdqsgpg5xmw2nrw1asnk857bgdhjh2ci";
+       revision = "1";
+       editedCabalFile = "0zd7ly5xy61z401bhw49r13wkcmrl7lsbc0245yas23j4bdmpbdr";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -53570,25 +53593,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "data-fix";
-       version = "0.0.6";
-       sha256 = "10shw0c7c3v3qy27c8mahr56bzciikqmafpm01r7792i84glb10g";
-       libraryHaskellDepends = [ base ];
-       homepage = "https://github.com/anton-k/data-fix";
-       description = "Fixpoint data types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "data-fix_0_0_7" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "data-fix";
        version = "0.0.7";
        sha256 = "04k9cmb197majyw6xna8zfkhgfyxfdiz2sgb0jy5jyfpiz3cr60h";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/anton-k/data-fix";
        description = "Fixpoint data types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "data-fix-cse" = callPackage
@@ -53627,6 +53637,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "data-foldapp" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "data-foldapp";
+       version = "0.1.0.0";
+       sha256 = "0m2rwai52q712fxkpk4k23cc8x9dx87c8wwwsg9w5y5pxq78csn8";
+       libraryHaskellDepends = [ base containers ];
+       homepage = "https://github.com/erisco/data-foldapp";
+       description = "Fold function applications. Framework for variadic functions.";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "data-forest" = callPackage
     ({ mkDerivation, base, doctest }:
      mkDerivation {
@@ -56061,8 +56083,8 @@ self: {
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "0.7.1.2";
-       sha256 = "07ilcx6j4y587vda3y6maqjzn00zx9lz7mlgp2c1rhikbyk5dn03";
+       version = "0.7.1.3";
+       sha256 = "1bb629li526ji0kk3vkyrf5kim5m42k9vfhdhjcizdw85dlbxqgn";
        libraryHaskellDepends = [
          base concurrency containers deepseq exceptions leancheck mtl random
          ref-fd semigroups transformers transformers-base
@@ -57072,8 +57094,8 @@ self: {
        pname = "diagrams-builder";
        version = "0.8.0.1";
        sha256 = "072vzskwp20qb768rv87876ngn6gnj959m91vpzri9ls9jx0x6vf";
-       revision = "2";
-       editedCabalFile = "0hrpic80rh8xyld8fhblvwykkg82nlp7j9xmcf5403wnqgprna97";
+       revision = "3";
+       editedCabalFile = "00lpy8ch7zjc2z3ifwg8j1jfsrf4sg1fk9pngykl8bqb79hm5h3i";
        configureFlags = [ "-fcairo" "-fps" "-frasterific" "-fsvg" ];
        isLibrary = true;
        isExecutable = true;
@@ -57102,8 +57124,8 @@ self: {
        pname = "diagrams-cairo";
        version = "1.4";
        sha256 = "10gabibjg1hb83pm7qbqxmskrvrb52m5wdb8fcqwy9d3vfzwhkm9";
-       revision = "1";
-       editedCabalFile = "0xqjwxvhk45c202vlkbcl3kmp6rvwpyb1lzk4j3wnh5b9210v0y7";
+       revision = "2";
+       editedCabalFile = "1h21l3wa4vbl7p6n7sk949jpxvxikkhf81y2qjqgn904564w73r6";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -57510,6 +57532,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "diagrams-svg_1_4_1_1" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring, colour
+     , containers, diagrams-core, diagrams-lib, filepath, hashable
+     , JuicyPixels, lens, monoid-extras, mtl, optparse-applicative
+     , semigroups, split, svg-builder, text
+     }:
+     mkDerivation {
+       pname = "diagrams-svg";
+       version = "1.4.1.1";
+       sha256 = "1ans2lliaxqbx2q2459kiv59ff307vz6plqnh082pxhvmk36h1n8";
+       libraryHaskellDepends = [
+         base base64-bytestring bytestring colour containers diagrams-core
+         diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
+         optparse-applicative semigroups split svg-builder text
+       ];
+       homepage = "http://projects.haskell.org/diagrams/";
+       description = "SVG backend for diagrams drawing EDSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "diagrams-tikz" = callPackage
     ({ mkDerivation, base, diagrams-core, diagrams-lib, dlist, mtl }:
      mkDerivation {
@@ -59099,8 +59142,8 @@ self: {
      }:
      mkDerivation {
        pname = "distributed-process-lifted";
-       version = "0.2.0.1";
-       sha256 = "0l19lf97m68xf1484srx2cnsprw9hqp0z0b58gjkpp4b2ki9cbcz";
+       version = "0.3.0.0";
+       sha256 = "1n0jic03x959rnkaavcywhz0zbqhaya53y0ydh13qs83a1y13m7i";
        libraryHaskellDepends = [
          base deepseq distributed-process distributed-process-monad-control
          lifted-base monad-control mtl network-transport transformers
@@ -59371,8 +59414,10 @@ self: {
      }:
      mkDerivation {
        pname = "distributed-process-zookeeper";
-       version = "0.2.2.0";
-       sha256 = "0a3rd4wzwmnvsq3lq0p86rnf98gzwa4xan1gpqs40kppw17h85fz";
+       version = "0.2.3.0";
+       sha256 = "08dbqmzg80mffa4a3xls99mrk0i9zsx5f5s2nv8x35dlirdlbiwh";
+       revision = "1";
+       editedCabalFile = "1mvhc7lb4ssmjy24945fj7x185y665qn1gy9bldslfck3rdzi19n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -59760,29 +59805,6 @@ self: {
      }:
      mkDerivation {
        pname = "dns";
-       version = "2.0.12";
-       sha256 = "0c5w2s8cvid9nk9ldd759k0p54pnb10ld3iin1w1b4lqi08cnnwk";
-       libraryHaskellDepends = [
-         attoparsec base binary bytestring conduit conduit-extra containers
-         iproute mtl network random resourcet safe
-       ];
-       testHaskellDepends = [
-         attoparsec base binary bytestring bytestring-builder conduit
-         conduit-extra containers doctest hspec iproute mtl network random
-         resourcet safe word8
-       ];
-       testTarget = "spec";
-       description = "DNS library in Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "dns_2_0_13" = callPackage
-    ({ mkDerivation, attoparsec, base, binary, bytestring
-     , bytestring-builder, conduit, conduit-extra, containers, doctest
-     , hspec, iproute, mtl, network, random, resourcet, safe, word8
-     }:
-     mkDerivation {
-       pname = "dns";
        version = "2.0.13";
        sha256 = "0rrv49rvnpd1pf37imhm82ngy9z0vk80sz0zvikpccc0parbmvx0";
        libraryHaskellDepends = [
@@ -59797,7 +59819,6 @@ self: {
        testTarget = "spec";
        description = "DNS library in Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dnscache" = callPackage
@@ -66869,15 +66890,15 @@ self: {
      }:
      mkDerivation {
        pname = "expressions";
-       version = "0.1.1";
-       sha256 = "0vbykw97f1zb4nlj1ibamyk4bi0467ldlxwlknhr5b940dfs3rmy";
+       version = "0.1.2";
+       sha256 = "0xl0302n98ijizv30bmj6dkmafam74rnn7n77q176ql22mjr0yfn";
        libraryHaskellDepends = [
          attoparsec base containers lattices singletons text transformers
        ];
        testHaskellDepends = [
          base QuickCheck singletons tasty tasty-quickcheck text
        ];
-       description = "Expressions and Formulas a la carte";
+       description = "Expressions and Formulae a la carte";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -68979,6 +69000,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "file-embed_0_0_10_1" = callPackage
+    ({ mkDerivation, base, bytestring, directory, filepath
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "file-embed";
+       version = "0.0.10.1";
+       sha256 = "0lj164cnzqyd487mli91nnr7137a4h4qsasfwsnsh77sx12fpk9k";
+       libraryHaskellDepends = [
+         base bytestring directory filepath template-haskell
+       ];
+       testHaskellDepends = [ base filepath ];
+       homepage = "https://github.com/snoyberg/file-embed";
+       description = "Use Template Haskell to embed file contents directly";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "file-embed-poly" = callPackage
     ({ mkDerivation, base, bytestring, directory, file-embed, filepath
      , hspec, template-haskell
@@ -69366,18 +69405,20 @@ self: {
 
   "find-clumpiness" = callPackage
     ({ mkDerivation, aeson, base, BiobaseNewick, bytestring, clumpiness
-     , containers, listsafe, mtl, optparse-applicative, text, text-show
-     , tree-fun, unordered-containers, vector
+     , containers, hierarchical-clustering, listsafe, mtl
+     , optparse-applicative, text, text-show, tree-fun
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "find-clumpiness";
-       version = "0.2.2.0";
-       sha256 = "174i1yhd7z884xfci8ml9kbcm0qpnsbryj8vchrd7rwi63ya0rbw";
+       version = "0.2.3.0";
+       sha256 = "08aby19vx6mvv606f66yi89bbg7x487drzzbax8437xm7k2fpg73";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base BiobaseNewick bytestring clumpiness containers listsafe
-         mtl text text-show tree-fun unordered-containers vector
+         aeson base BiobaseNewick bytestring clumpiness containers
+         hierarchical-clustering listsafe mtl text text-show tree-fun
+         unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson base BiobaseNewick bytestring clumpiness containers
@@ -69506,6 +69547,41 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "firefly" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, bytestring
+     , case-insensitive, containers, cookie, http-types, mtl, regex-pcre
+     , text, transformers, wai, warp
+     }:
+     mkDerivation {
+       pname = "firefly";
+       version = "0.1.0.0";
+       sha256 = "0m7a7n9iw5ylw4w0awwsbafck5gn7jap3jd34064in6qp009s05v";
+       libraryHaskellDepends = [
+         aeson base blaze-html bytestring case-insensitive containers cookie
+         http-types mtl regex-pcre text transformers wai warp
+       ];
+       homepage = "https://github.com/ChrisPenner/firefly#readme";
+       description = "A simple HTTP server framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "firefly-example" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, firefly, mtl, text, wai
+     }:
+     mkDerivation {
+       pname = "firefly-example";
+       version = "0.1.0.0";
+       sha256 = "1z8xr575dqpdb2rhbin1ib1wmswnkrxcrjdrgd3wjw524iq4b51m";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson base blaze-html firefly mtl text wai
+       ];
+       homepage = "https://github.com/ChrisPenner/Firefly#readme";
+       description = "A simple example using Firefly";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "first-and-last" = callPackage
     ({ mkDerivation, base, doctest }:
      mkDerivation {
@@ -70847,19 +70923,43 @@ self: {
        license = stdenv.lib.licenses.isc;
      }) {};
 
+  "fn_0_3_0_2" = callPackage
+    ({ mkDerivation, base, blaze-builder, bytestring, directory
+     , filepath, hspec, http-types, resourcet, text
+     , unordered-containers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "fn";
+       version = "0.3.0.2";
+       sha256 = "0pxfwyfigj449qd01xb044gz1h63f3lvmpq6xij09xhkm8bv0d0y";
+       libraryHaskellDepends = [
+         base blaze-builder bytestring directory filepath http-types
+         resourcet text unordered-containers wai wai-extra
+       ];
+       testHaskellDepends = [
+         base directory filepath hspec http-types resourcet text
+         unordered-containers wai wai-extra
+       ];
+       homepage = "http://github.com/positiondev/fn#readme";
+       description = "A functional web framework";
+       license = stdenv.lib.licenses.isc;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fn-extra" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring
      , digestive-functors, directory, either, fn, heist, http-types
-     , lens, mtl, resourcet, text, wai, wai-extra, wai-util, xmlhtml
+     , lens, map-syntax, mtl, resourcet, text, wai, wai-extra, wai-util
+     , xmlhtml
      }:
      mkDerivation {
        pname = "fn-extra";
-       version = "0.3.0.1";
-       sha256 = "01zjzykfh1gv14lx3xb8vmchk3qywlnarlfn2h2mbf69xns73fjs";
+       version = "0.3.0.2";
+       sha256 = "1wbhfaddqhp68gh7906w4lnnlz2zfqrfl71kf5w5pb3nhkbjx3g1";
        libraryHaskellDepends = [
          base blaze-builder bytestring digestive-functors directory either
-         fn heist http-types lens mtl resourcet text wai wai-extra wai-util
-         xmlhtml
+         fn heist http-types lens map-syntax mtl resourcet text wai
+         wai-extra wai-util xmlhtml
        ];
        homepage = "http://github.com/positiondev/fn#readme";
        description = "Extras for Fn, a functional web framework";
@@ -71486,6 +71586,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "formatting_6_2_5" = callPackage
+    ({ mkDerivation, base, clock, old-locale, scientific, text
+     , text-format, time
+     }:
+     mkDerivation {
+       pname = "formatting";
+       version = "6.2.5";
+       sha256 = "0k4z8b9x91m243kplx9gap1rqyvdszf3241aq7pkqwrybbzgm8yh";
+       libraryHaskellDepends = [
+         base clock old-locale scientific text text-format time
+       ];
+       description = "Combinator-based type-safe formatting (like printf() or FORMAT)";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "forml" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cereal
      , containers, directory, file-embed, ghc-prim, GraphSCC, hslogger
@@ -71710,6 +71826,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "foundation_0_0_15" = callPackage
+    ({ mkDerivation, base, basement, criterion, ghc-prim }:
+     mkDerivation {
+       pname = "foundation";
+       version = "0.0.15";
+       sha256 = "05xl96lc7qi2sdkfc0s5rcrp84cbsyz0r0v3dffmgnv4n1f06cdh";
+       libraryHaskellDepends = [ base basement ghc-prim ];
+       testHaskellDepends = [ base basement ];
+       benchmarkHaskellDepends = [ base basement criterion ];
+       homepage = "https://github.com/haskell-foundation/foundation";
+       description = "Alternative prelude with batteries and no dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foundation-edge" = callPackage
     ({ mkDerivation, bytestring, foundation, text }:
      mkDerivation {
@@ -76462,6 +76593,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ghcjs-base-stub_0_1_0_3" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, containers, deepseq
+     , ghc-prim, primitive, scientific, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "ghcjs-base-stub";
+       version = "0.1.0.3";
+       sha256 = "1b9hvqzqiaq5f8daahayjh1rw2izpfssq1bvj9iis2v3ihh8hl01";
+       libraryHaskellDepends = [
+         aeson attoparsec base containers deepseq ghc-prim primitive
+         scientific text transformers unordered-containers vector
+       ];
+       homepage = "https://github.com/louispan/javascript-stub#readme";
+       description = "Allow GHCJS projects to compile under GHC and develop using intero";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "ghcjs-codemirror" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -77553,7 +77703,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "ginger_0_7_0_0" = callPackage
+  "ginger_0_7_1_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, data-default, filepath
      , http-types, mtl, parsec, safe, scientific, tasty, tasty-hunit
      , tasty-quickcheck, text, time, transformers, unordered-containers
@@ -77561,8 +77711,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.7.0.0";
-       sha256 = "0sxg3mc47f578srkcvgd5p52abxqmrbbydm3ngh16jpz998y8cm4";
+       version = "0.7.1.0";
+       sha256 = "0022qv80dkjns825361laaksccay56q6zmcrbhjrc4j25nys29n8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -87084,34 +87234,6 @@ self: {
      }:
      mkDerivation {
        pname = "hapistrano";
-       version = "0.3.2.4";
-       sha256 = "08p1060m9wjxgxai5zxhzv40c0h9xsdvcbdg33b20hzyapzgq6kl";
-       revision = "1";
-       editedCabalFile = "0cvbn9a7jhq8nr1cwfij5bm030d662s5hn287q5w5wx5xmmzsn9m";
-       isLibrary = true;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base filepath mtl path process time transformers
-       ];
-       executableHaskellDepends = [
-         aeson async base optparse-applicative path path-io stm yaml
-       ];
-       testHaskellDepends = [
-         base directory filepath hspec mtl path path-io process temporary
-       ];
-       homepage = "https://github.com/stackbuilders/hapistrano";
-       description = "A deployment library for Haskell applications";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hapistrano_0_3_3_0" = callPackage
-    ({ mkDerivation, aeson, async, base, directory, filepath, hspec
-     , mtl, optparse-applicative, path, path-io, process, stm, temporary
-     , time, transformers, yaml
-     }:
-     mkDerivation {
-       pname = "hapistrano";
        version = "0.3.3.0";
        sha256 = "1skpygsnzl940703fxd103lxhyi4cjpp5il9kwjqfavsnbfi0c46";
        isLibrary = true;
@@ -87129,7 +87251,6 @@ self: {
        homepage = "https://github.com/stackbuilders/hapistrano";
        description = "A deployment library for Haskell applications";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "happindicator" = callPackage
@@ -88120,25 +88241,12 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "harp";
-       version = "0.4.2";
-       sha256 = "1wwwy7375nbqshwg4i49ypav8a632awsr9xlmjp5q7iqs0v65akz";
-       libraryHaskellDepends = [ base ];
-       homepage = "https://github.com/seereason/harp";
-       description = "HaRP allows pattern-matching with regular expressions";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "harp_0_4_3" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "harp";
        version = "0.4.3";
        sha256 = "17d9isgwdvrmycbj3ddmmn0810kh4m8b8lmaz4qc8i51i5li8ja7";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/seereason/harp";
        description = "HaRP allows pattern-matching with regular expressions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "harpy" = callPackage
@@ -88627,8 +88735,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, hashable, primitive, vector }:
      mkDerivation {
        pname = "hashtables";
-       version = "1.2.1.1";
-       sha256 = "0lg9fb73w4awpcfr161xpz8y6z9lkfb5jii5ak34a1iijd55azr2";
+       version = "1.2.2.0";
+       sha256 = "0v7kfm04pynj66rkzyzvygxqv3xr3dj3h2aw0qj3h2zzjp33ybbf";
        libraryHaskellDepends = [
          base ghc-prim hashable primitive vector
        ];
@@ -89453,6 +89561,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "haskell-import-graph_1_0_3" = callPackage
+    ({ mkDerivation, base, classy-prelude, ghc, graphviz, process, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "haskell-import-graph";
+       version = "1.0.3";
+       sha256 = "1fh3nn4hqcj6lc3m1zlxykxk2dbchh3cdz63k8zfpl7dr2d91132";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base classy-prelude ghc graphviz process text transformers
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/ncaq/haskell-import-graph#readme";
+       description = "create haskell import graph for graphviz";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-in-space" = callPackage
     ({ mkDerivation, base, HGL, random }:
      mkDerivation {
@@ -89929,6 +90057,8 @@ self: {
        pname = "haskell-src-exts-observe";
        version = "0.1.0";
        sha256 = "06vqd9ljmlx96xx6gyhfag2fsxwdzab0sy1gry2d24mbppbaa1x1";
+       revision = "1";
+       editedCabalFile = "1n4f4yylk09g95040g6pbcygzp95yadihv0sxr4sj87j0d4xa6fc";
        libraryHaskellDepends = [ base haskell-src-exts Hoed ];
        homepage = "https://github.com/pepeiborra/haskell-src-exts-observe";
        description = "Observable orphan instances for haskell-src-exts";
@@ -91169,48 +91299,44 @@ self: {
   "haskey" = callPackage
     ({ mkDerivation, async, base, binary, bytestring, containers
      , directory, exceptions, filepath, focus, haskey-btree, HUnit
-     , list-t, lz4, mtl, QuickCheck, semigroups, stm, stm-containers
-     , temporary, test-framework, test-framework-hunit
+     , list-t, lz4, mtl, QuickCheck, random, semigroups, stm
+     , stm-containers, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, transformers, unix, vector
      , xxhash-ffi
      }:
      mkDerivation {
        pname = "haskey";
-       version = "0.1.0.1";
-       sha256 = "08kd48a67m1p55i3d4fla6zdpaqzq49piswhqwj1jnks4sj18ran";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0.0";
+       sha256 = "1c0snqs740gqwfzlpyhr8zggaplmba6mzj8cnl8r47sgn006q95i";
        libraryHaskellDepends = [
          base binary bytestring containers directory exceptions filepath
          focus haskey-btree list-t lz4 mtl semigroups stm stm-containers
          transformers unix xxhash-ffi
        ];
-       executableHaskellDepends = [
-         async base bytestring haskey-btree text
-       ];
        testHaskellDepends = [
-         base binary bytestring containers directory exceptions haskey-btree
-         HUnit mtl QuickCheck temporary test-framework test-framework-hunit
-         test-framework-quickcheck2 transformers vector
+         async base binary bytestring containers directory exceptions
+         haskey-btree HUnit mtl QuickCheck random temporary test-framework
+         test-framework-hunit test-framework-quickcheck2 text transformers
+         vector
        ];
        homepage = "https://github.com/haskell-haskey";
-       description = "A transcatoinal, ACID compliant, embeddable key-value store";
+       description = "A transactional, ACID compliant, embeddable key-value store";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "haskey-btree" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, data-ordlist
-     , focus, hashable, HUnit, list-t, mtl, QuickCheck, semigroups, stm
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , hashable, HUnit, mtl, QuickCheck, semigroups, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, text
      , transformers, vector
      }:
      mkDerivation {
        pname = "haskey-btree";
-       version = "0.1.0.0";
-       sha256 = "1kr9ihgvbxirbvs638y5sfmx41mj685jmcka87ics7w9ppcpkbsw";
+       version = "0.2.0.0";
+       sha256 = "00gp5fh64b26bqrchdrpdl8s46fdzglsqi07xf0cfrfcm867az23";
        libraryHaskellDepends = [
-         base binary bytestring containers focus hashable list-t mtl
-         semigroups stm transformers vector
+         base binary bytestring containers hashable mtl semigroups text
+         transformers vector
        ];
        testHaskellDepends = [
          base binary bytestring containers data-ordlist HUnit mtl QuickCheck
@@ -91222,6 +91348,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "haskey-mtl" = callPackage
+    ({ mkDerivation, base, binary, exceptions, haskey, haskey-btree
+     , lens, mtl, text, transformers
+     }:
+     mkDerivation {
+       pname = "haskey-mtl";
+       version = "0.2.0.0";
+       sha256 = "1n3j4avydrr2w0sa0zjsc2jvmr9fmyxz5s54y6zam40a2cg2wc2l";
+       libraryHaskellDepends = [
+         base exceptions haskey haskey-btree mtl transformers
+       ];
+       testHaskellDepends = [
+         base binary exceptions haskey haskey-btree lens mtl text
+         transformers
+       ];
+       homepage = "https://github.com/haskell-haskey";
+       description = "A monad transformer supporting Haskey transactions";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "haskgame" = callPackage
     ({ mkDerivation, base, containers, haskell98, SDL, SDL-ttf }:
      mkDerivation {
@@ -92219,36 +92365,33 @@ self: {
 
   "haste-compiler" = callPackage
     ({ mkDerivation, array, base, bin-package-db, binary, blaze-builder
-     , bytestring, bzlib, Cabal, containers, data-binary-ieee754
-     , directory, either, filepath, ghc, ghc-paths, ghc-prim, ghc-simple
-     , HTTP, monads-tf, mtl, network, network-uri, process, random
-     , shellmate, system-fileio, tar, terminfo, transformers, unix
-     , utf8-string, websockets
+     , bytestring, bzlib, Cabal, containers, cryptonite, directory
+     , either, filepath, ghc, ghc-paths, ghc-prim, ghc-simple, HTTP, mtl
+     , network, network-uri, process, random, shellmate
+     , shellmate-extras, system-fileio, tar, terminfo, transformers
+     , unix, utf8-string
      }:
      mkDerivation {
        pname = "haste-compiler";
-       version = "0.5.5.1";
-       sha256 = "0p46yhd9hj7jnbkqwyms6b7kgjk8bdx1r6q1aspfq9001z71sgf9";
+       version = "0.6.0.0";
+       sha256 = "0n169k2kcpkcms701hg0h6kqjdq9jxpkm9zh72nj8530xmhckirs";
        configureFlags = [ "-fportable" ];
-       isLibrary = true;
+       isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base binary bytestring containers data-binary-ieee754 directory
-         filepath ghc ghc-paths ghc-prim monads-tf network network-uri
-         process random shellmate transformers utf8-string websockets
-       ];
        executableHaskellDepends = [
          array base bin-package-db binary blaze-builder bytestring bzlib
-         Cabal containers directory either filepath ghc ghc-paths ghc-prim
-         ghc-simple HTTP mtl network network-uri process random shellmate
-         system-fileio tar terminfo transformers unix utf8-string
+         Cabal containers cryptonite directory either filepath ghc ghc-paths
+         ghc-prim ghc-simple HTTP mtl network network-uri process random
+         shellmate shellmate-extras system-fileio tar terminfo transformers
+         unix utf8-string
        ];
        homepage = "http://haste-lang.org/";
        description = "Haskell To ECMAScript compiler";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
+       broken = true;
+     }) {bin-package-db = null;};
 
   "haste-gapi" = callPackage
     ({ mkDerivation, base, data-default, haste-compiler, transformers
@@ -95588,10 +95731,8 @@ self: {
     ({ mkDerivation, base, ghc-prim, integer-gmp, QuickCheck }:
      mkDerivation {
        pname = "hgmp";
-       version = "0.1.0.1";
-       sha256 = "0fkcp3l34si7v286dza3yhw2bjpx6vpwqnkqnp9lv18jwxak7xji";
-       revision = "1";
-       editedCabalFile = "0fmzm7m0z1jzpi7c1k8gk843d9jqljrkrb25yzs1kpbrg0ylpi3c";
+       version = "0.1.1";
+       sha256 = "1hisbcpz47x2lbqf8vzwis7qw7xhvx22lv7dcyhm9vsmsh5741dr";
        libraryHaskellDepends = [ base ghc-prim integer-gmp ];
        testHaskellDepends = [ base QuickCheck ];
        homepage = "https://code.mathr.co.uk/hgmp";
@@ -95958,8 +96099,8 @@ self: {
      }:
      mkDerivation {
        pname = "higher-leveldb";
-       version = "0.4.0.0";
-       sha256 = "116cpw9b0j82ik3242cqm82515dgixl4gj2s1qsmrn2w5yx1qrvd";
+       version = "0.4.0.1";
+       sha256 = "0ia3ssxr414jqvb4gzkaaa4a8d3rd7b395cfh0m2hz2jn6q7z651";
        libraryHaskellDepends = [
          base bytestring cereal data-default exceptions leveldb-haskell
          lifted-base monad-control mtl resourcet transformers
@@ -97232,6 +97373,8 @@ self: {
        pname = "hledger-api";
        version = "1.3.1";
        sha256 = "149v81qslajzkr13ba7j4qqliagaq88v3d3pw301haf4v3wz9sv4";
+       revision = "1";
+       editedCabalFile = "11rsyhfxjr87j9m3frnkq6mssj6isay29v61l280a1bd5r58zcr3";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -102343,25 +102486,6 @@ self: {
      }:
      mkDerivation {
        pname = "hsexif";
-       version = "0.6.1.2";
-       sha256 = "1i6h4gpjlrb9jadm52ygs9i1430lik2kljv86bpq6wz9zmq25d0s";
-       libraryHaskellDepends = [
-         base binary bytestring containers iconv text time
-       ];
-       testHaskellDepends = [
-         base binary bytestring containers hspec HUnit iconv text time
-       ];
-       homepage = "https://github.com/emmanueltouzery/hsexif";
-       description = "EXIF handling library in pure Haskell";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "hsexif_0_6_1_3" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, hspec, HUnit
-     , iconv, text, time
-     }:
-     mkDerivation {
-       pname = "hsexif";
        version = "0.6.1.3";
        sha256 = "09d8679m6xgbka36rwjvhr7w355dn6arp7cxkdjgbzm7x9zhi5w8";
        libraryHaskellDepends = [
@@ -102373,7 +102497,6 @@ self: {
        homepage = "https://github.com/emmanueltouzery/hsexif";
        description = "EXIF handling library in pure Haskell";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hsfacter" = callPackage
@@ -102558,8 +102681,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsini";
-       version = "0.5.1";
-       sha256 = "0kh96xnpsz1ryrn1f8sajxzjlvqwg8dbhpz6409qdxl57vppcjfq";
+       version = "0.5.1.1";
+       sha256 = "0yfmra5z9fjms5ighlmi6zd092c4kpwnmsrcp2p8gqwdz7k1in51";
        libraryHaskellDepends = [ base bytestring containers mtl parsec ];
        testHaskellDepends = [
          base bytestring containers HUnit mtl parsec QuickCheck tasty
@@ -103961,13 +104084,14 @@ self: {
      }) {inherit (pkgs) sqlite;};
 
   "hsqml" = callPackage
-    ({ mkDerivation, base, c2hs, containers, directory, filepath, qt5
-     , QuickCheck, tagged, text, transformers
+    ({ mkDerivation, base, c2hs, Cabal, containers, directory, filepath
+     , qt5, QuickCheck, tagged, template-haskell, text, transformers
      }:
      mkDerivation {
        pname = "hsqml";
-       version = "0.3.4.1";
-       sha256 = "0qzg72pdz05rnzz9m6qycbrxm9jnh3qfvsbs0lqn18b1fn4i4qbi";
+       version = "0.3.5.0";
+       sha256 = "1im7jm144vvyvrmkvblxwhbya55xsyxl8z10bs4anwxxjlf9sggc";
+       setupHaskellDepends = [ base Cabal filepath template-haskell ];
        libraryHaskellDepends = [
          base containers filepath tagged text transformers
        ];
@@ -105298,6 +105422,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client-openssl_0_2_1_0" = callPackage
+    ({ mkDerivation, base, HsOpenSSL, hspec, http-client, http-types
+     , network
+     }:
+     mkDerivation {
+       pname = "http-client-openssl";
+       version = "0.2.1.0";
+       sha256 = "1k80gljqah2dqiardnzdkgrf5p3wvzrxqgc0gqg2vnnjxxj8paf7";
+       libraryHaskellDepends = [ base HsOpenSSL http-client network ];
+       testHaskellDepends = [
+         base HsOpenSSL hspec http-client http-types
+       ];
+       doCheck = false;
+       homepage = "https://github.com/snoyberg/http-client";
+       description = "http-client backend using the OpenSSL library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "http-client-request-modifiers" = callPackage
     ({ mkDerivation, base, bytestring, exceptions, http-client
      , http-media, http-types, network, network-uri
@@ -106056,8 +106199,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2-client";
-       version = "0.3.0.1";
-       sha256 = "0py51s0dfw7gz7kz8l6p344aas7ifa8hxx4ybrmbs0936mpmmqbh";
+       version = "0.3.0.2";
+       sha256 = "06iw2mi176rwjmmynhjhyl06f3jq832viyl7adbxgdyws36b64jl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -107228,16 +107371,20 @@ self: {
      }) {};
 
   "hw-prim-bits" = callPackage
-    ({ mkDerivation, base, criterion, vector }:
+    ({ mkDerivation, base, criterion, hedgehog, hspec, hw-hedgehog
+     , hw-hspec-hedgehog, QuickCheck, vector
+     }:
      mkDerivation {
        pname = "hw-prim-bits";
-       version = "0.1.0.1";
-       sha256 = "1fvmmp8l93j4wqcszk8lq4isl1xjyqnjzlaghs1wh9m6vywv5ncy";
+       version = "0.1.0.4";
+       sha256 = "1k2fqsa4msd156ar5cx57r0gj5ppwp1929yv56spv6n7xar1ich4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base ];
        executableHaskellDepends = [ base ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base hedgehog hspec hw-hedgehog hw-hspec-hedgehog QuickCheck
+       ];
        benchmarkHaskellDepends = [ base criterion vector ];
        homepage = "https://github.com/githubuser/hw-prim-bits#readme";
        description = "Primitive support for bit manipulation";
@@ -107475,15 +107622,13 @@ self: {
      }:
      mkDerivation {
        pname = "hworker-ses";
-       version = "0.1.1.0";
-       sha256 = "1iw16mm7iwjm50y4k878p885d6hjsbnvg3msvpq9zcw52mlk0lyx";
-       revision = "1";
-       editedCabalFile = "0vbzj885q7hrlsv2ds0izsjciishcfnh1m8nw98szzis4byhck48";
+       version = "0.1.1.1";
+       sha256 = "1rvf9fbmdf1xfpwlcxcrbjp0a3h5gmhb91897g6dp343wrq41amv";
        libraryHaskellDepends = [
          aeson amazonka amazonka-core amazonka-ses base hworker lens text
          time unordered-containers
        ];
-       homepage = "http://github.com/dbp/hworker-ses";
+       homepage = "http://github.com/position/hworker-ses";
        description = "Library for sending email with Amazon's SES and hworker";
        license = stdenv.lib.licenses.isc;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -109285,6 +109430,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "ige" = callPackage
+    ({ mkDerivation, aeson, array, base, bytestring, cairo, conduit
+     , conduit-combinators, containers, directory, fgl, gtk, linear
+     , megaparsec, microlens-platform, mtl, mwc-random, protolude, stm
+     , stm-chans, stm-conduit, text, transformers, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "ige";
+       version = "0.1.0.0";
+       sha256 = "14cbmb69h8fxabcqi2ncs48xsnflcq5g8gl8s6hvc4x80wb79f5s";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         aeson array base bytestring cairo conduit conduit-combinators
+         containers directory fgl gtk linear megaparsec microlens-platform
+         mtl mwc-random protolude stm stm-chans stm-conduit text
+         transformers wl-pprint-text
+       ];
+       homepage = "https://github.com/olynch/ige";
+       description = "An keyboard-driven interactive graph editor";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "ige-mac-integration" = callPackage
     ({ mkDerivation, array, base, containers, glib, gtk
      , gtk2hs-buildtools, haskell98, ige-mac-integration, mtl
@@ -109795,8 +109963,8 @@ self: {
      }:
      mkDerivation {
        pname = "imap";
-       version = "0.3.0.2";
-       sha256 = "1mcfmzqiwiasbaakz8w1cq4zj04jh61sppn1c88cvvkmi28qpwqa";
+       version = "0.3.0.4";
+       sha256 = "021ya9pkf8q1nk805ck5hhm06q9lnp22d78hr0nz112xbxm5rqkw";
        libraryHaskellDepends = [
          attoparsec base bytestring connection containers derive either
          exceptions hslogger list-t network pipes random rolling-queue stm
@@ -109910,6 +110078,42 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "imm_1_2_1_0" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, atom-conduit, base
+     , blaze-html, blaze-markup, bytestring, case-insensitive
+     , chunked-data, comonad, conduit, conduit-combinators, connection
+     , containers, directory, dyre, fast-logger, filepath, free
+     , hashable, HaskellNet, HaskellNet-SSL, http-client
+     , http-client-tls, http-types, microlens, mime-mail
+     , mono-traversable, monoid-subclasses, network, opml-conduit
+     , optparse-applicative, rainbow, rainbox, rss-conduit
+     , safe-exceptions, tagged, text, time, timerep, tls, transformers
+     , uri-bytestring, xml, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "imm";
+       version = "1.2.1.0";
+       sha256 = "0m869l6z50zf57hfy28ad70id3phfqjwkna64m59yycvcqlkj064";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint atom-conduit base blaze-html blaze-markup
+         bytestring case-insensitive chunked-data comonad conduit
+         conduit-combinators connection containers directory dyre
+         fast-logger filepath free hashable HaskellNet HaskellNet-SSL
+         http-client http-client-tls http-types microlens mime-mail
+         mono-traversable monoid-subclasses network opml-conduit
+         optparse-applicative rainbow rainbox rss-conduit safe-exceptions
+         tagged text time timerep tls transformers uri-bytestring xml
+         xml-conduit xml-types
+       ];
+       executableHaskellDepends = [ base free ];
+       homepage = "https://github.com/k0ral/imm";
+       description = "Execute arbitrary actions for each unread element of RSS/Atom feeds";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "immortal" = callPackage
     ({ mkDerivation, base, lifted-base, monad-control, stm, tasty
      , tasty-hunit, transformers, transformers-base
@@ -109929,6 +110133,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "immortal_0_2_2_1" = callPackage
+    ({ mkDerivation, base, lifted-base, monad-control, stm, tasty
+     , tasty-hunit, transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "immortal";
+       version = "0.2.2.1";
+       sha256 = "13lddk62byx8w41k80d24q31mmijacnqqz64zrrkls9si2ia2jpd";
+       libraryHaskellDepends = [
+         base lifted-base monad-control stm transformers-base
+       ];
+       testHaskellDepends = [
+         base lifted-base stm tasty tasty-hunit transformers
+       ];
+       homepage = "https://github.com/feuerbach/immortal";
+       description = "Spawn threads that never die (unless told to do so)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "imparse" = callPackage
     ({ mkDerivation, ascetic, base, compilation, containers, directory
      , indents, MissingH, parsec, richreports, split, staticanalysis
@@ -111510,8 +111734,8 @@ self: {
      }:
      mkDerivation {
        pname = "intero";
-       version = "0.1.21";
-       sha256 = "1fr855gbz0ypxa73d5f74wp2sr3q67wdv6g4bpckj682c1x7dr73";
+       version = "0.1.23";
+       sha256 = "17247yscz7z1axhml2f5m4i4sxgyydpvcidk75ng350dk6z1wd4x";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -111520,7 +111744,8 @@ self: {
          ghc-paths ghci haskeline process syb time transformers unix
        ];
        testHaskellDepends = [
-         base directory hspec process regex-compat temporary transformers
+         base directory filepath hspec process regex-compat temporary
+         transformers
        ];
        homepage = "https://github.com/commercialhaskell/intero";
        description = "Complete interactive development program for Haskell";
@@ -112089,28 +112314,6 @@ self: {
      }:
      mkDerivation {
        pname = "io-streams-haproxy";
-       version = "1.0.0.1";
-       sha256 = "0zwjdsg1pcxzd8s0d308q4jhx0pfrk2aq8q039gs8k9y8h9cbh64";
-       revision = "2";
-       editedCabalFile = "1zm580jcncmh667k51k47xwwhd171r3f0h00d25hi6isq812ia40";
-       libraryHaskellDepends = [
-         attoparsec base bytestring io-streams network transformers
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring HUnit io-streams network test-framework
-         test-framework-hunit transformers
-       ];
-       homepage = "http://snapframework.com/";
-       description = "HAProxy protocol 1.5 support for io-streams";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "io-streams-haproxy_1_0_0_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, HUnit, io-streams
-     , network, test-framework, test-framework-hunit, transformers
-     }:
-     mkDerivation {
-       pname = "io-streams-haproxy";
        version = "1.0.0.2";
        sha256 = "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp";
        libraryHaskellDepends = [
@@ -112123,7 +112326,6 @@ self: {
        homepage = "http://snapframework.com/";
        description = "HAProxy protocol 1.5 support for io-streams";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "io-streams-http" = callPackage
@@ -112249,6 +112451,8 @@ self: {
        pname = "ip";
        version = "0.9.2";
        sha256 = "0r15mdknz1j85hws9bqfil6l39q88pbbjz0kbky9kl7y675hkzdj";
+       revision = "2";
+       editedCabalFile = "1l6gj2678rbaryby9gzsqvyjyknyfc2r6xj27kbcb02cz4igga7m";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring hashable primitive text vector
        ];
@@ -113762,8 +113966,8 @@ self: {
      }:
      mkDerivation {
        pname = "jammittools";
-       version = "0.5.3";
-       sha256 = "1lb4ayalkplfd9gpsl4rhi6svj4y3yr5v25br4g19cjh5iiv4sif";
+       version = "0.5.3.2";
+       sha256 = "0wym2mz4bvcmwg10v90dx14n41qhmn58bgccnxy7li9ahqwvj0f0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -115239,27 +115443,6 @@ self: {
      }:
      mkDerivation {
        pname = "json-stream";
-       version = "0.4.1.4";
-       sha256 = "0mg1pv1gp2zd7zpl2n5k8kv73br8ji91mwszfhn1bw119m29v1rs";
-       libraryHaskellDepends = [
-         aeson base bytestring scientific text unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson base bytestring directory doctest hspec QuickCheck
-         quickcheck-unicode scientific text unordered-containers vector
-       ];
-       homepage = "https://github.com/ondrap/json-stream";
-       description = "Incremental applicative JSON parser";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "json-stream_0_4_1_5" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory, doctest, hspec
-     , QuickCheck, quickcheck-unicode, scientific, text
-     , unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "json-stream";
        version = "0.4.1.5";
        sha256 = "0h5g76grhi60idvmxdhydpz5f3198bydwywfyv9pghlmbrzjnkih";
        libraryHaskellDepends = [
@@ -115272,7 +115455,6 @@ self: {
        homepage = "https://github.com/ondrap/json-stream";
        description = "Incremental applicative JSON parser";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "json-togo" = callPackage
@@ -118732,6 +118914,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-c_0_7_0" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, filepath, happy, pretty, process, syb
+     }:
+     mkDerivation {
+       pname = "language-c";
+       version = "0.7.0";
+       sha256 = "1j4slggwj5g0rnrdxafgn2savv14sl2nqk7lfy3qj73vmpn1d86d";
+       libraryHaskellDepends = [
+         array base bytestring containers directory filepath pretty process
+         syb
+       ];
+       libraryToolDepends = [ alex happy ];
+       testHaskellDepends = [ base directory filepath process ];
+       homepage = "http://visq.github.io/language-c/";
+       description = "Analysis and generation of C code";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-c-comments" = callPackage
     ({ mkDerivation, alex, array, base, language-c }:
      mkDerivation {
@@ -118967,13 +119169,13 @@ self: {
      }) {};
 
   "language-elm" = callPackage
-    ({ mkDerivation, base, HUnit, MissingH, pretty }:
+    ({ mkDerivation, base, hspec, MissingH, mtl, pretty, protolude }:
      mkDerivation {
        pname = "language-elm";
-       version = "0.0.10.1";
-       sha256 = "1kp2mwl1hngpvl2hfzlf7dghcvcr407f7qc86b3zz2vgxfac0n07";
-       libraryHaskellDepends = [ base MissingH pretty ];
-       testHaskellDepends = [ base HUnit pretty ];
+       version = "0.1.0.3";
+       sha256 = "07pyj3ibrpa3mrqn6skjpk0w44hi32mm0c08yqpnql3qv2xy4wcz";
+       libraryHaskellDepends = [ base MissingH mtl pretty protolude ];
+       testHaskellDepends = [ base hspec mtl pretty protolude ];
        homepage = "https://github.com/eliaslfox/language-elm#readme";
        description = "Generate elm code";
        license = stdenv.lib.licenses.bsd3;
@@ -121639,13 +121841,13 @@ self: {
      , network-ip, parsers, pathtype, protolude, QuickCheck, random
      , semigroups, stm, stm-chans, stm-containers, temporary
      , test-framework, test-framework-quickcheck2, test-framework-th
-     , text, text-icu, text-icu-normalized, text-printer, time
-     , transformers, transformers-base, zippers
+     , text, text-printer, time, transformers, transformers-base
+     , zippers
      }:
      mkDerivation {
        pname = "liblawless";
-       version = "0.24.0";
-       sha256 = "1dqz2d8zgwb8i176fhga5637y8mfxiq0vq1ws0lsy9ijlpyiikmp";
+       version = "0.25.2";
+       sha256 = "0s1qahk7yabggjv4zkqxiy4yygzbq8zwbh5nvh46zm0r09q802s1";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base-unicode-symbols binary boomerang bytestring
@@ -121653,9 +121855,8 @@ self: {
          contravariant data-textual dns exceptions hjsonschema lens
          lifted-async lifted-base machines managed monad-control mtl network
          network-ip parsers pathtype protolude QuickCheck random semigroups
-         stm stm-chans stm-containers temporary text text-icu
-         text-icu-normalized text-printer time transformers
-         transformers-base zippers
+         stm stm-chans stm-containers temporary text text-printer time
+         transformers transformers-base zippers
        ];
        testHaskellDepends = [
          aeson base binary bytestring exceptions filepath QuickCheck
@@ -124915,29 +125116,6 @@ self: {
      }:
      mkDerivation {
        pname = "logging-effect";
-       version = "1.2.0";
-       sha256 = "0i45dmfm05zi2pl1c39znhp108nnp0il29kw2ka4g6bfs4hh2vxy";
-       libraryHaskellDepends = [
-         async base exceptions free monad-control mtl semigroups stm
-         stm-delay text time transformers transformers-base wl-pprint-text
-       ];
-       benchmarkHaskellDepends = [
-         base bytestring criterion fast-logger lifted-async monad-logger
-         text time wl-pprint-text
-       ];
-       homepage = "https://github.com/ocharles/logging-effect";
-       description = "A mtl-style monad transformer for general purpose & compositional logging";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "logging-effect_1_2_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, criterion, exceptions
-     , fast-logger, free, lifted-async, monad-control, monad-logger, mtl
-     , semigroups, stm, stm-delay, text, time, transformers
-     , transformers-base, wl-pprint-text
-     }:
-     mkDerivation {
-       pname = "logging-effect";
        version = "1.2.1";
        sha256 = "1jjw2ach3mni7pnfcw29z2fw5vffhq8i8qh8sn4n4jcya2mfp7xd";
        libraryHaskellDepends = [
@@ -124951,7 +125129,6 @@ self: {
        homepage = "https://github.com/ocharles/logging-effect";
        description = "A mtl-style monad transformer for general purpose & compositional logging";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "logging-facade" = callPackage
@@ -126656,8 +126833,8 @@ self: {
      }:
      mkDerivation {
        pname = "mackerel-client";
-       version = "0.0.4";
-       sha256 = "1l14jw7awi6vrnlw4g5x4fa4a26j9b7k3mgvr651lxrxz5vc6qrg";
+       version = "0.0.5";
+       sha256 = "17ppg6nzm8q6fz1y630vzda1rgc8fkhxhjabmvis79h2k3q994s5";
        libraryHaskellDepends = [
          aeson base bytestring data-default directory filepath htoml
          http-client http-client-tls http-types parsec split text
@@ -128452,8 +128629,8 @@ self: {
      }:
      mkDerivation {
        pname = "matterhorn";
-       version = "40000.0.2";
-       sha256 = "1lsxadkhvk8bylpc0sh1pmkldv8m17fpi96zkihdpchpwhw1i8jn";
+       version = "40000.1.0";
+       sha256 = "0zqbaqdvcq45sgkiii7w2y8b3m8fv8zqj1y85rdkycjfy7h8lkjd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -128485,8 +128662,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api";
-       version = "40000.0.1";
-       sha256 = "0phykn8h08yprmpds92cp6snraxg66hbh553b8da5v47dn06y8mv";
+       version = "40000.1.0";
+       sha256 = "076b5l2hqjbspdm6j321inf141jsr07c9dsckqvq02wxjaz8ws80";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128512,8 +128689,8 @@ self: {
      }:
      mkDerivation {
        pname = "mattermost-api-qc";
-       version = "40000.0.1";
-       sha256 = "0444m1349gpyffpjlvf9faz4sia5kfsry9q174n6b60ch85w1ilg";
+       version = "40000.1.0";
+       sha256 = "11yxkq19f0iczh69hglv7plv466wfzdskkygp9vh6a7bjwwr8hzk";
        libraryHaskellDepends = [
          base containers mattermost-api QuickCheck text time
        ];
@@ -129660,8 +129837,8 @@ self: {
      }:
      mkDerivation {
        pname = "memory";
-       version = "0.14.6";
-       sha256 = "0q61zxdlgcw7wg244hb3c11qm5agrmnmln0h61sz2mj72xqc1pn7";
+       version = "0.14.7";
+       sha256 = "0snm3kphsrjixg1hpas1rfxaq7id7i5siprqf1p9lz7x1l4vznyj";
        libraryHaskellDepends = [
          base bytestring deepseq foundation ghc-prim
        ];
@@ -129673,14 +129850,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "memory_0_14_7" = callPackage
+  "memory_0_14_8" = callPackage
     ({ mkDerivation, base, bytestring, deepseq, foundation, ghc-prim
      , tasty, tasty-hunit, tasty-quickcheck
      }:
      mkDerivation {
        pname = "memory";
-       version = "0.14.7";
-       sha256 = "0snm3kphsrjixg1hpas1rfxaq7id7i5siprqf1p9lz7x1l4vznyj";
+       version = "0.14.8";
+       sha256 = "093jin2yckha0wccswwxqaak2di7fz2v2rid03h1q0pjm4q9vmyk";
        libraryHaskellDepends = [
          base bytestring deepseq foundation ghc-prim
        ];
@@ -132320,28 +132497,6 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger";
-       version = "0.3.25";
-       sha256 = "1ai55mk3n72qcdh7b6n4sv8bh5wqf2nznpzldimrwxg3m2b6g88g";
-       libraryHaskellDepends = [
-         base blaze-builder bytestring conduit conduit-extra exceptions
-         fast-logger lifted-base monad-control monad-loops mtl resourcet stm
-         stm-chans template-haskell text transformers transformers-base
-         transformers-compat
-       ];
-       homepage = "https://github.com/kazu-yamamoto/logger";
-       description = "A class of monads which can log messages";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "monad-logger_0_3_25_1" = callPackage
-    ({ mkDerivation, base, blaze-builder, bytestring, conduit
-     , conduit-extra, exceptions, fast-logger, lifted-base
-     , monad-control, monad-loops, mtl, resourcet, stm, stm-chans
-     , template-haskell, text, transformers, transformers-base
-     , transformers-compat
-     }:
-     mkDerivation {
-       pname = "monad-logger";
        version = "0.3.25.1";
        sha256 = "0yv4fsi566zrn30j2g5l901lyqgmflhvzy4hji7ikcbh5d45m920";
        libraryHaskellDepends = [
@@ -132353,7 +132508,6 @@ self: {
        homepage = "https://github.com/kazu-yamamoto/logger";
        description = "A class of monads which can log messages";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monad-logger-json" = callPackage
@@ -136108,6 +136262,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "mysql-simple_0_4_2_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
+     , blaze-textual, bytestring, hspec, mysql, old-locale, pcre-light
+     , text, time
+     }:
+     mkDerivation {
+       pname = "mysql-simple";
+       version = "0.4.2.0";
+       sha256 = "0050z2hhdg9zmqczghjc609aaaqjzrxrfly68d4m5046wz4lnkx8";
+       libraryHaskellDepends = [
+         attoparsec base base16-bytestring blaze-builder blaze-textual
+         bytestring mysql old-locale pcre-light text time
+       ];
+       testHaskellDepends = [ base hspec ];
+       homepage = "https://github.com/paul-rouse/mysql-simple";
+       description = "A mid-level MySQL client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mysql-simple-quasi" = callPackage
     ({ mkDerivation, base, haskell-src-meta, mysql-simple
      , template-haskell
@@ -140410,6 +140584,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "numhask-array" = callPackage
+    ({ mkDerivation, adjunctions, base, distributive, doctest
+     , ghc-typelits-natnormalise, numhask, protolude, singletons
+     , typelits-witnesses, vector
+     }:
+     mkDerivation {
+       pname = "numhask-array";
+       version = "0.0.1";
+       sha256 = "0drxxbzzflgc7z5pjwy6pkrxkzckkj7xqp2icsn8762nwc9iqsp4";
+       libraryHaskellDepends = [
+         adjunctions base distributive ghc-typelits-natnormalise numhask
+         protolude singletons typelits-witnesses vector
+       ];
+       testHaskellDepends = [ base doctest numhask ];
+       homepage = "https://github.com/tonyday567/numhask-array";
+       description = "See readme.md";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "numhask-range" = callPackage
     ({ mkDerivation, base, containers, foldl, formatting, lens, linear
      , numhask, protolude, QuickCheck, tasty, tasty-quickcheck
@@ -141560,28 +141753,6 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.3.5";
-       sha256 = "1za8xhi20905x8zgnbr821fkdx5w32smmxmz72vx6jga44vxsq4k";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base mtl opaleye postgresql-simple product-profunctors transformers
-         transformers-base
-       ];
-       executableHaskellDepends = [
-         base opaleye postgresql-simple product-profunctors
-       ];
-       homepage = "https://github.com/WraithM/opaleye-trans";
-       description = "A monad transformer for Opaleye";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "opaleye-trans_0_3_6" = callPackage
-    ({ mkDerivation, base, mtl, opaleye, postgresql-simple
-     , product-profunctors, transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "opaleye-trans";
        version = "0.3.6";
        sha256 = "03pg31rxnfw22zqpk3l098z32gl2r4dk9pma8z4f8ssp7crz7z8p";
        isLibrary = true;
@@ -141596,7 +141767,6 @@ self: {
        homepage = "https://github.com/WraithM/opaleye-trans";
        description = "A monad transformer for Opaleye";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "open-browser" = callPackage
@@ -142148,25 +142318,6 @@ self: {
      }:
      mkDerivation {
        pname = "openssl-streams";
-       version = "1.2.1.1";
-       sha256 = "1annfc0nmkj0hl62x4w39phai54qd8ibislwhbw66k0df3bc8kyz";
-       libraryHaskellDepends = [
-         base bytestring HsOpenSSL io-streams network
-       ];
-       testHaskellDepends = [
-         base bytestring HsOpenSSL HUnit io-streams network test-framework
-         test-framework-hunit
-       ];
-       description = "OpenSSL network support for io-streams";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "openssl-streams_1_2_1_3" = callPackage
-    ({ mkDerivation, base, bytestring, HsOpenSSL, HUnit, io-streams
-     , network, test-framework, test-framework-hunit
-     }:
-     mkDerivation {
-       pname = "openssl-streams";
        version = "1.2.1.3";
        sha256 = "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw";
        libraryHaskellDepends = [
@@ -142178,7 +142329,6 @@ self: {
        ];
        description = "OpenSSL network support for io-streams";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "opentheory" = callPackage
@@ -143844,7 +143994,7 @@ self: {
   "pandoc" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, array, base
      , base64-bytestring, binary, blaze-html, blaze-markup, bytestring
-     , cmark, containers, criterion, data-default, deepseq, Diff
+     , Cabal, cmark, containers, criterion, data-default, deepseq, Diff
      , directory, doctemplates, executable-path, extensible-exceptions
      , filemanip, filepath, ghc-prim, haddock-library, hslua, HTTP
      , http-client, http-client-tls, http-types, HUnit, JuicyPixels, mtl
@@ -143856,14 +144006,13 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "1.19.2.1";
-       sha256 = "00bq5h70byfs1fnszkggwws33hp7dpr7lzs0lfdvp5dzfwyjys88";
-       revision = "5";
-       editedCabalFile = "0rp81lr8ys7bcnjx5hm9fn704zhph313whjc51ns8sbpzlpwvx1f";
+       version = "1.19.2.4";
+       sha256 = "0mim429mpakrcnm50csxyqk3ljcx2l26r5grk6w9isnggwgqrq5v";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          aeson array base base64-bytestring binary blaze-html blaze-markup
          bytestring cmark containers data-default deepseq directory
@@ -143876,8 +144025,8 @@ self: {
        ];
        executableHaskellDepends = [
          aeson base bytestring containers directory extensible-exceptions
-         filepath HTTP network network-uri pandoc-types skylighting text
-         unix yaml
+         filepath HTTP network network-uri pandoc-types skylighting texmath
+         text unix yaml
        ];
        testHaskellDepends = [
          ansi-terminal base bytestring containers Diff directory
@@ -145941,23 +146090,11 @@ self: {
     ({ mkDerivation, base, exceptions, path }:
      mkDerivation {
        pname = "path-extra";
-       version = "0.0.3";
-       sha256 = "0ncbcc16b1xg5hc8mm3czabn7crz7d41jv1k5lbcvbisgarkn12m";
-       libraryHaskellDepends = [ base exceptions path ];
-       description = "Chris Done's path library, enriched with URL-related goodies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "path-extra_0_0_5" = callPackage
-    ({ mkDerivation, base, exceptions, path }:
-     mkDerivation {
-       pname = "path-extra";
        version = "0.0.5";
        sha256 = "0ks2h5w4zmgimhcxj6vxv3xrrkpjlfc21pdd8w4gbxci1gsd2jyh";
        libraryHaskellDepends = [ base exceptions path ];
        description = "Chris Done's path library, enriched with URL-related goodies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "path-io" = callPackage
@@ -146370,6 +146507,20 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pcf-font" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, vector }:
+     mkDerivation {
+       pname = "pcf-font";
+       version = "0.1.0.0";
+       sha256 = "14ix40vsvax0wklb3bffg99rvhfq1w6w937r4n73kknhjszdhf6g";
+       libraryHaskellDepends = [
+         base binary bytestring containers vector
+       ];
+       homepage = "https://github.com/michael-swan/pcf-font";
+       description = "PCF font parsing and rendering library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pcg-random" = callPackage
     ({ mkDerivation, base, bytestring, doctest, entropy, primitive
      , random
@@ -147069,6 +147220,31 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "perf_0_2_0" = callPackage
+    ({ mkDerivation, base, containers, doctest, foldl, formatting
+     , numhask, optparse-generic, protolude, rdtsc, tdigest, text, time
+     , vector
+     }:
+     mkDerivation {
+       pname = "perf";
+       version = "0.2.0";
+       sha256 = "1db6acsszdwdlkz2cp5r0wwrmgam4jl6n91d02b3zdn0jfazp7nn";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers foldl numhask protolude rdtsc tdigest time
+       ];
+       executableHaskellDepends = [
+         base containers formatting numhask optparse-generic protolude text
+         vector
+       ];
+       testHaskellDepends = [ base doctest protolude ];
+       homepage = "https://github.com/tonyday567/perf";
+       description = "low-level performance statistics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "perfecthash" = callPackage
     ({ mkDerivation, array, base, bytestring, cmph, containers
      , criterion, deepseq, hspec, QuickCheck, random, time
@@ -148193,8 +148369,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.15.0";
-       sha256 = "1r4wbf6x19gzmz88f770si5mvrya9adgilgs76kc36ynlsz5jyrp";
+       version = "0.0.16.0";
+       sha256 = "02ma54ffjijazyfnag2z9gq2l86yiqzvlrdc1y3mw8b8yjgzvidd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -149078,18 +149254,6 @@ self: {
     ({ mkDerivation, async, base, contravariant, pipes, stm, void }:
      mkDerivation {
        pname = "pipes-concurrency";
-       version = "2.0.7";
-       sha256 = "0nbmyhnkcw0frdbjzyhgal3zadzf6hsrqj5l619lj6rnjq07z90l";
-       libraryHaskellDepends = [ base contravariant pipes stm void ];
-       testHaskellDepends = [ async base pipes stm ];
-       description = "Concurrency for the pipes ecosystem";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pipes-concurrency_2_0_8" = callPackage
-    ({ mkDerivation, async, base, contravariant, pipes, stm, void }:
-     mkDerivation {
-       pname = "pipes-concurrency";
        version = "2.0.8";
        sha256 = "0ak6vnjl12q4615waifbpdxbm96yz5yzqzwjj1zwvvb2jfk5snwz";
        libraryHaskellDepends = [
@@ -149098,7 +149262,6 @@ self: {
        testHaskellDepends = [ async base pipes stm ];
        description = "Concurrency for the pipes ecosystem";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-conduit" = callPackage
@@ -149296,22 +149459,6 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-group";
-       version = "1.0.7";
-       sha256 = "0p0bfc91ij481bybk99jpfczkkcz3v7mcr0y03kvhxddf575jhw6";
-       libraryHaskellDepends = [
-         base free pipes pipes-parse transformers
-       ];
-       testHaskellDepends = [ base doctest lens-family-core ];
-       description = "Group streams into substreams";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pipes-group_1_0_8" = callPackage
-    ({ mkDerivation, base, doctest, free, lens-family-core, pipes
-     , pipes-parse, transformers
-     }:
-     mkDerivation {
-       pname = "pipes-group";
        version = "1.0.8";
        sha256 = "0zcmhq46972zxjj5nmr46fdvvwb3q0i42q9m70i758a3iwkmnr3a";
        libraryHaskellDepends = [
@@ -149320,7 +149467,6 @@ self: {
        testHaskellDepends = [ base doctest lens-family-core ];
        description = "Group streams into substreams";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-http" = callPackage
@@ -149382,6 +149528,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pipes-kafka" = callPackage
+    ({ mkDerivation, base, bytestring, exceptions, hw-kafka-client
+     , monad-logger, pipes, pipes-safe, text, transformers
+     , transformers-base
+     }:
+     mkDerivation {
+       pname = "pipes-kafka";
+       version = "0.2.0.0";
+       sha256 = "1ca0pdig35waqr499i4m92w34sywc8nc0gdfszqjcmpsjmba93hv";
+       libraryHaskellDepends = [
+         base bytestring exceptions hw-kafka-client monad-logger pipes
+         pipes-safe text transformers transformers-base
+       ];
+       homepage = "https://github.com/boothead/pipes-kafka";
+       description = "Kafka in the Pipes ecosystem";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "pipes-key-value-csv" = callPackage
     ({ mkDerivation, base, bifunctors, containers, contravariant
      , data-default-class, lens, mtl, pipes, pipes-bytestring
@@ -150267,22 +150431,6 @@ self: {
      }:
      mkDerivation {
        pname = "plot";
-       version = "0.2.3.7";
-       sha256 = "192pjxpdnfrzjb6n8swkcd5f5nv3vvj7kc110v002akcgkii31li";
-       libraryHaskellDepends = [
-         array base cairo colour hmatrix mtl pango transformers
-       ];
-       homepage = "http://github.com/amcphail/plot";
-       description = "A plotting library, exportable as eps/pdf/svg/png or renderable with gtk";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "plot_0_2_3_8" = callPackage
-    ({ mkDerivation, array, base, cairo, colour, hmatrix, mtl, pango
-     , transformers
-     }:
-     mkDerivation {
-       pname = "plot";
        version = "0.2.3.8";
        sha256 = "1in77bvn77wyg9b8vixxd2m5vfnz90in89j3f31v9zbz7fxh2l4m";
        libraryHaskellDepends = [
@@ -150291,7 +150439,6 @@ self: {
        homepage = "http://github.com/amcphail/plot";
        description = "A plotting library, exportable as eps/pdf/svg/png or renderable with gtk";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plot-gtk" = callPackage
@@ -153481,6 +153628,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "primesieve" = callPackage
+    ({ mkDerivation, base, foundation, primesieve }:
+     mkDerivation {
+       pname = "primesieve";
+       version = "0.1.0.1";
+       sha256 = "17fmja87sr6lpq6qjmn31zx6y1cxhc65amfza22w07480wk7lhp2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base foundation ];
+       executableHaskellDepends = [ base foundation ];
+       executableSystemDepends = [ primesieve ];
+       homepage = "https://github.com/sighingnow/computations/tree/master/primesieve#readme";
+       description = "FFI bindings for the primesieve library";
+       license = stdenv.lib.licenses.mit;
+     }) {primesieve = null;};
+
   "primitive_0_5_1_0" = callPackage
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
@@ -156021,8 +156184,8 @@ self: {
      }:
      mkDerivation {
        pname = "push-notify-apn";
-       version = "0.1.0.2";
-       sha256 = "0cziiry6zlaaap6njrqbhpd20ycp97ychk2cy3xkf5c36lzl7kv3";
+       version = "0.1.0.4";
+       sha256 = "1mrlr7x6njb1n21185wn81fybyg89c4jyph8sabf20gg7qng893s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -160343,8 +160506,8 @@ self: {
      }:
      mkDerivation {
        pname = "recursion-schemes-ext";
-       version = "0.2.0.0";
-       sha256 = "0h74109rwybpg6wardmrzh3163868mi025a8wq5dbpcx284zv1w1";
+       version = "0.2.0.1";
+       sha256 = "0lnqc4w4lpavs4d6jzdszl35g4qjksgfrqfqsyhv4a8w3w79xnz9";
        libraryHaskellDepends = [
          base composition-prelude deepseq recursion-schemes template-haskell
        ];
@@ -163707,6 +163870,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "restless-git" = callPackage
+    ({ mkDerivation, base, bytestring, containers, HSH, tasty
+     , tasty-hunit, temporary, text, time
+     }:
+     mkDerivation {
+       pname = "restless-git";
+       version = "0.5.0";
+       sha256 = "0rz3aqrlsyld6slxq9lbpf3ydngpkka6ksr4qbl9qq6f42hb0pwi";
+       libraryHaskellDepends = [
+         base bytestring containers HSH text time
+       ];
+       testHaskellDepends = [
+         base bytestring containers tasty tasty-hunit temporary text
+       ];
+       homepage = "https://github.com/lessrest/restless-git";
+       description = "Easy Git repository serialization";
+       license = stdenv.lib.licenses.gpl3;
+     }) {};
+
   "restricted-workers" = callPackage
     ({ mkDerivation, async, base, bytestring, cereal, data-default
      , directory, either, filepath, monad-control, mtl, network, selinux
@@ -166004,8 +166186,8 @@ self: {
     ({ mkDerivation, base, mtl, transformers }:
      mkDerivation {
        pname = "safe-access";
-       version = "0.3.2.1";
-       sha256 = "1xfivmd1ski2lbjkp5mxd5qjscjjw1bzxwd5s9hwvqlqsgdhya9b";
+       version = "0.3.3.0";
+       sha256 = "0j3k6nlp3qch9kxv2zh5lfx1cfqy4w0xc7pbivqkn38drdjd920z";
        libraryHaskellDepends = [ base mtl transformers ];
        homepage = "http://darcs.redspline.com/safe-access";
        description = "A simple environment to control access to data";
@@ -166278,28 +166460,6 @@ self: {
      }:
      mkDerivation {
        pname = "safeio";
-       version = "0.0.3.0";
-       sha256 = "0rknn8rlxyj32a0vrx0wjfma9w0zhs3vg1jyksn71drxch7jvwqs";
-       libraryHaskellDepends = [
-         base bytestring conduit conduit-combinators directory filepath
-         resourcet unix
-       ];
-       testHaskellDepends = [
-         base bytestring conduit conduit-combinators directory filepath
-         HUnit resourcet test-framework test-framework-hunit
-         test-framework-th unix
-       ];
-       description = "Write output to disk atomically";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "safeio_0_0_4_0" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
-     , directory, filepath, HUnit, resourcet, test-framework
-     , test-framework-hunit, test-framework-th, unix
-     }:
-     mkDerivation {
-       pname = "safeio";
        version = "0.0.4.0";
        sha256 = "1abbg6nxpz4va54r2005swlyw8k4y61xjhcz4s3rshc09cmrrn6l";
        libraryHaskellDepends = [
@@ -166313,7 +166473,6 @@ self: {
        ];
        description = "Write output to disk atomically";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "safepath" = callPackage
@@ -166457,8 +166616,8 @@ self: {
      }:
      mkDerivation {
        pname = "salve";
-       version = "0.0.6";
-       sha256 = "1269qhsck9mx5adhzbvyznbfmi2lwrafmf8b750y31cpiziw4mfb";
+       version = "0.0.7";
+       sha256 = "13qrxn5h0pind32wc7sw9i026g8lw91k71i8prrdzdzc656nhiq5";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base doctest microlens ];
        benchmarkHaskellDepends = [
@@ -167130,11 +167289,13 @@ self: {
        pname = "scalendar";
        version = "1.1.0";
        sha256 = "077v0k745z1hs8k8yb5s6ln1ing8b5fllp7gw2kcrlrw108ijvwb";
+       revision = "5";
+       editedCabalFile = "02p4iy6vypz6q0zh5wmy3lp1s9zrcvqn9xx8vczl8000wa0asn7p";
        libraryHaskellDepends = [ base containers text time ];
        testHaskellDepends = [
          base containers hspec QuickCheck text time
        ];
-       homepage = "https://github.com/stackbuilders/scalendar";
+       homepage = "https://www.researchgate.net/publication/311582722_Method_of_Managing_Resources_in_a_Telecommunication_Network_or_a_Computing_System";
        description = "This is a library for handling calendars and resource availability based on the \"top-nodes algorithm\" and set operations";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -167948,19 +168109,24 @@ self: {
      }) {};
 
   "scotty-rest" = callPackage
-    ({ mkDerivation, base, base-prelude, bytestring, convertible
-     , data-default-class, hspec, hspec-wai, http-date, http-media
-     , http-types, mtl, QuickCheck, scotty, string-conversions, text
-     , time, transformers, wai, wai-extra
+    ({ mkDerivation, aeson, base, base-prelude, bytestring, convertible
+     , hspec, hspec-wai, http-date, http-media, http-types, mtl
+     , QuickCheck, scotty, sqlite-simple, string-conversions, text, time
+     , transformers, wai, wai-extra
      }:
      mkDerivation {
        pname = "scotty-rest";
-       version = "0.1.0.0";
-       sha256 = "1z0x7fvs1933cnxj8kr91xqvf5zqil3d0zq2adq2wlf1a2zwa4j0";
+       version = "0.2.0.0";
+       sha256 = "1pj9xwbppax4s5rhm3kvmmxs41qslm82xz98npj3nb3zb0gbykzc";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base base-prelude bytestring convertible data-default-class
-         http-date http-media http-types mtl scotty string-conversions text
-         time transformers wai wai-extra
+         base base-prelude bytestring convertible http-date http-media
+         http-types mtl scotty string-conversions text time transformers wai
+         wai-extra
+       ];
+       executableHaskellDepends = [
+         aeson base mtl scotty sqlite-simple text wai-extra
        ];
        testHaskellDepends = [
          base bytestring hspec hspec-wai mtl QuickCheck scotty
@@ -168819,8 +168985,8 @@ self: {
      }:
      mkDerivation {
        pname = "selda";
-       version = "0.1.10.1";
-       sha256 = "1yx8gxi9bha95ss2i1hvbv8vlywxgi3a6rxjig44jz5w2s0zlp5h";
+       version = "0.1.11.0";
+       sha256 = "1jdy7rf98ycqvrw73f70xnyidq5gjhzbavd2h64ib6v0mpcskdhy";
        libraryHaskellDepends = [
          base bytestring exceptions hashable mtl psqueues text time
          unordered-containers
@@ -168836,8 +169002,8 @@ self: {
      }:
      mkDerivation {
        pname = "selda-postgresql";
-       version = "0.1.6.0";
-       sha256 = "0zf77mavhxn64mag6cgf6xch54qknl1yhack5nylf5xlwhpmrgsx";
+       version = "0.1.7.0";
+       sha256 = "0smx2hvpdxjcw58zchwmzcqz4xr5m1idv5y5rrj20df190r4l3l2";
        libraryHaskellDepends = [
          base bytestring exceptions postgresql-libpq selda text
        ];
@@ -169048,8 +169214,8 @@ self: {
        pname = "semigroupoids";
        version = "5.2.1";
        sha256 = "006jys6kvckkmbnhf4jc51sh64hamkz464mr8ciiakybrfvixr3r";
-       revision = "1";
-       editedCabalFile = "1lb59k2hdz9kbhmpw7bzc0n9pb5x3b9ysglp69dn4yf5xxjw03wx";
+       revision = "2";
+       editedCabalFile = "049j2jl6f5mxqnavi1aadx37j4bk5xksvkxsl43hp4rg7n53p11z";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base base-orphans bifunctors comonad containers contravariant
@@ -169364,18 +169530,16 @@ self: {
      }) {};
 
   "separated" = callPackage
-    ({ mkDerivation, base, bifunctors, directory, doctest, filepath
-     , lens, parsec, QuickCheck, semigroupoids, semigroups
-     , template-haskell
+    ({ mkDerivation, base, bifunctors, deriving-compat, directory
+     , doctest, filepath, lens, parsec, QuickCheck, semigroupoids
+     , semigroups, template-haskell
      }:
      mkDerivation {
        pname = "separated";
-       version = "0.2.3";
-       sha256 = "0lxl7i0j27nn43a6p7ayxd1rr48h31zj0bviw0nd49fsd9l5c0iq";
-       revision = "1";
-       editedCabalFile = "0k1z3a9yr9aq7cnm7kfk5yiclhq95nqlgnzzz5ksj010qmnsb6zj";
+       version = "0.3.0";
+       sha256 = "1ivgx1iaqs4k4zj4n0l92090zvx9x46j6kp56zf60b1bn9s3fcs0";
        libraryHaskellDepends = [
-         base bifunctors lens semigroupoids semigroups
+         base bifunctors deriving-compat lens semigroupoids semigroups
        ];
        testHaskellDepends = [
          base directory doctest filepath parsec QuickCheck template-haskell
@@ -174946,7 +175110,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_3_3_1" = callPackage
+  "skylighting_0_3_4_1" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, binary, blaze-html
      , bytestring, case-insensitive, containers, criterion, Diff
      , directory, filepath, HUnit, hxt, mtl, pretty-show, random
@@ -174955,8 +175119,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.3.3.1";
-       sha256 = "0msx7hwnfcqmq0rkn27lr3y6iybghfnm9p5bybzkmqfhlh8gkqgk";
+       version = "0.3.4.1";
+       sha256 = "09hw6dqsk859gwkn4p5gh3n75lxix76a6kwyzzdml9yqr973jgbz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -175912,41 +176076,6 @@ self: {
      }:
      mkDerivation {
        pname = "snap-core";
-       version = "1.0.3.0";
-       sha256 = "0vkla7rfrwyhk31nign8ccjfhp7f0nqjhmg6hb7rq7ggblgwgnr4";
-       libraryHaskellDepends = [
-         attoparsec base bytestring bytestring-builder case-insensitive
-         containers directory filepath hashable HUnit io-streams lifted-base
-         monad-control mtl network network-uri old-locale random readable
-         regex-posix text time transformers transformers-base unix-compat
-         unordered-containers vector
-       ];
-       testHaskellDepends = [
-         attoparsec base bytestring bytestring-builder case-insensitive
-         containers deepseq directory filepath hashable HUnit io-streams
-         lifted-base monad-control mtl network network-uri old-locale
-         parallel QuickCheck random readable regex-posix test-framework
-         test-framework-hunit test-framework-quickcheck2 text time
-         transformers transformers-base unix-compat unordered-containers
-         vector zlib
-       ];
-       homepage = "http://snapframework.com/";
-       description = "Snap: A Haskell Web Framework (core interfaces and types)";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "snap-core_1_0_3_1" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, bytestring-builder
-     , case-insensitive, containers, deepseq, directory, filepath
-     , hashable, HUnit, io-streams, lifted-base, monad-control, mtl
-     , network, network-uri, old-locale, parallel, QuickCheck, random
-     , readable, regex-posix, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, time, transformers
-     , transformers-base, unix-compat, unordered-containers, vector
-     , zlib
-     }:
-     mkDerivation {
-       pname = "snap-core";
        version = "1.0.3.1";
        sha256 = "0m2pbz7r5dllk859r8bs3yjkmdh4xrw0vafz390jfmj15vaz0j87";
        libraryHaskellDepends = [
@@ -175968,7 +176097,6 @@ self: {
        homepage = "http://snapframework.com/";
        description = "Snap: A Haskell Web Framework (core interfaces and types)";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-cors" = callPackage
@@ -176159,54 +176287,6 @@ self: {
      }:
      mkDerivation {
        pname = "snap-server";
-       version = "1.0.3.0";
-       sha256 = "1lvwfrirf6gq6nr6ias0i0xynq62s9myrj4203wdwq0y4c40nhqc";
-       configureFlags = [ "-fopenssl" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base blaze-builder bytestring bytestring-builder
-         case-insensitive clock containers filepath HsOpenSSL io-streams
-         io-streams-haproxy lifted-base mtl network old-locale
-         openssl-streams snap-core text time unix unix-compat vector
-       ];
-       executableHaskellDepends = [
-         attoparsec base blaze-builder bytestring bytestring-builder
-         case-insensitive clock containers directory HsOpenSSL io-streams
-         io-streams-haproxy lifted-base mtl network old-locale
-         openssl-streams snap-core text time transformers unix unix-compat
-         vector
-       ];
-       testHaskellDepends = [
-         attoparsec base base16-bytestring blaze-builder bytestring
-         bytestring-builder case-insensitive clock containers deepseq
-         directory filepath HsOpenSSL http-common http-streams HUnit
-         io-streams io-streams-haproxy lifted-base monad-control mtl network
-         old-locale openssl-streams parallel QuickCheck random snap-core
-         test-framework test-framework-hunit test-framework-quickcheck2 text
-         threads time transformers unix unix-compat vector
-       ];
-       benchmarkHaskellDepends = [
-         attoparsec base blaze-builder bytestring bytestring-builder
-         criterion io-streams io-streams-haproxy snap-core vector
-       ];
-       homepage = "http://snapframework.com/";
-       description = "A web server for the Snap Framework";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "snap-server_1_0_3_1" = callPackage
-    ({ mkDerivation, attoparsec, base, base16-bytestring, blaze-builder
-     , bytestring, bytestring-builder, case-insensitive, clock
-     , containers, criterion, deepseq, directory, filepath, HsOpenSSL
-     , http-common, http-streams, HUnit, io-streams, io-streams-haproxy
-     , lifted-base, monad-control, mtl, network, old-locale
-     , openssl-streams, parallel, QuickCheck, random, snap-core
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , text, threads, time, transformers, unix, unix-compat, vector
-     }:
-     mkDerivation {
-       pname = "snap-server";
        version = "1.0.3.1";
        sha256 = "0zawrbjncb5nbnahx70078sb9ai0dyqzghcn06qgy3vzk195gwfi";
        configureFlags = [ "-fopenssl" ];
@@ -176241,7 +176321,6 @@ self: {
        homepage = "http://snapframework.com/";
        description = "A web server for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "snap-templates" = callPackage
@@ -180285,14 +180364,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "stackage-curator_0_15_0_0" = callPackage
+  "stackage-curator_0_15_1_0" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-core, amazonka-s3, async
-     , base, base16-bytestring, blaze-html, byteable, bytestring, Cabal
-     , classy-prelude-conduit, conduit, conduit-extra, containers
-     , cryptohash, cryptohash-conduit, data-default-class, directory
-     , exceptions, filepath, hashable, hspec, html-conduit, http-client
-     , http-client-tls, http-conduit, lucid, mime-types, monad-unlift
-     , monad-unlift-ref, mono-traversable, mtl, old-locale
+     , base, blaze-html, bytestring, Cabal, classy-prelude-conduit
+     , conduit, conduit-extra, containers, cryptonite
+     , cryptonite-conduit, data-default-class, directory, exceptions
+     , filepath, hashable, hspec, html-conduit, http-client
+     , http-client-tls, http-conduit, lucid, memory, mime-types
+     , monad-unlift, monad-unlift-ref, mono-traversable, mtl, old-locale
      , optparse-applicative, optparse-simple, process, QuickCheck
      , resourcet, safe, semigroups, stm, store, streaming-commons, syb
      , system-fileio, system-filepath, tar, temporary, text, time
@@ -180301,21 +180380,21 @@ self: {
      }:
      mkDerivation {
        pname = "stackage-curator";
-       version = "0.15.0.0";
-       sha256 = "0z84ywxh4zb996b0ir8hjl9pwdcb0ds0pgq6i8sfxmj5nrw5yjn5";
+       version = "0.15.1.0";
+       sha256 = "158bxk5g1bc139nmdqvr4fid5igmsgqa1d4nxy0dpl8xb68l69jp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson amazonka amazonka-core amazonka-s3 async base
-         base16-bytestring blaze-html byteable bytestring Cabal
-         classy-prelude-conduit conduit conduit-extra containers cryptohash
-         cryptohash-conduit data-default-class directory exceptions filepath
-         hashable html-conduit http-client http-client-tls http-conduit
-         lucid mime-types monad-unlift monad-unlift-ref mono-traversable mtl
-         old-locale process resourcet safe semigroups stm store
-         streaming-commons syb system-fileio system-filepath tar temporary
-         text time transformers unix-compat unordered-containers utf8-string
-         vector xml-conduit xml-types yaml zlib
+         aeson amazonka amazonka-core amazonka-s3 async base blaze-html
+         bytestring Cabal classy-prelude-conduit conduit conduit-extra
+         containers cryptonite cryptonite-conduit data-default-class
+         directory exceptions filepath hashable html-conduit http-client
+         http-client-tls http-conduit lucid memory mime-types monad-unlift
+         monad-unlift-ref mono-traversable mtl old-locale process resourcet
+         safe semigroups stm store streaming-commons syb system-fileio
+         system-filepath tar temporary text time transformers unix-compat
+         unordered-containers utf8-string vector xml-conduit xml-types yaml
+         zlib
        ];
        executableHaskellDepends = [
          aeson base http-client http-client-tls optparse-applicative
@@ -182880,6 +182959,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "string-transform" = callPackage
+    ({ mkDerivation, base, bytestring, tasty, tasty-hunit
+     , tasty-smallcheck, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "string-transform";
+       version = "0.0.1";
+       sha256 = "1hm360yyh700wwjaf5xlmnla8i8vcm3vk4isgs29yavkq81pwm7x";
+       libraryHaskellDepends = [ base bytestring text utf8-string ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit tasty-smallcheck text utf8-string
+       ];
+       homepage = "https://github.com/ncaq/string-transform#readme";
+       description = "simple and easy haskell string transform";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "string-typelits" = callPackage
     ({ mkDerivation, base, template-haskell, type-combinators
      , type-combinators-quote
@@ -184213,20 +184309,20 @@ self: {
   "swagger-petstore" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , containers, exceptions, hspec, http-api-data, http-client
-     , http-client-tls, http-media, http-types, iso8601-time
+     , http-client-tls, http-media, http-types, iso8601-time, microlens
      , monad-logger, mtl, network, QuickCheck, random, safe-exceptions
      , semigroups, text, time, transformers, unordered-containers
      , vector
      }:
      mkDerivation {
        pname = "swagger-petstore";
-       version = "0.0.1.0";
-       sha256 = "1jpd0mxvdqw52dfk2nxvkhzn0ymdlbk99n2pgby7x66nv8vgs4n7";
+       version = "0.0.1.1";
+       sha256 = "1zpxs97lrpv4ailn6mqdx6ihbzilcsjcycrc8qj1v1f1lg00m9k6";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers exceptions
          http-api-data http-client http-client-tls http-media http-types
-         iso8601-time monad-logger mtl network random safe-exceptions text
-         time transformers unordered-containers vector
+         iso8601-time microlens monad-logger mtl network random
+         safe-exceptions text time transformers unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring containers hspec iso8601-time mtl QuickCheck
@@ -184242,20 +184338,21 @@ self: {
      , bytestring, case-insensitive, containers, directory, filepath
      , http-client, http-client-tls, http-media, http-types
      , insert-ordered-containers, lens, optparse-applicative, QuickCheck
-     , random, scientific, swagger2, syb, text, unordered-containers
-     , vector
+     , random, scientific, swagger2, syb, text, time
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "swagger-test";
-       version = "0.2.4";
-       sha256 = "1rm001vwhl648xhb02jr6c72q8klx4wigk9kz2lw9ipkz2pra15a";
+       version = "0.2.7";
+       sha256 = "04rhgkdg8c4cy6mj5jxykirp4m1f5n3nik4pdmvyjv71q3gdwkjp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson async attoparsec base binary blaze-html bytestring
          case-insensitive containers filepath http-client http-client-tls
          http-media http-types insert-ordered-containers lens QuickCheck
-         random scientific swagger2 syb text unordered-containers vector
+         random scientific swagger2 syb text time unordered-containers
+         vector
        ];
        executableHaskellDepends = [
          aeson async base bytestring directory filepath lens
@@ -184277,8 +184374,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.1.4.1";
-       sha256 = "0b4c9m6yvhj2z7krf7r3a4xmbnyiifhcc4ahl5xfkb2wh6g6nfi3";
+       version = "2.1.5";
+       sha256 = "1sxv03fgafr21824wcz68l4nvazk6j31z74xa7njg7d3mc5w66pw";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base base-compat bytestring containers generics-sop hashable
@@ -184393,22 +184490,20 @@ self: {
      }) {};
 
   "sws" = callPackage
-    ({ mkDerivation, asn1-encoding, asn1-types, base, bytestring
-     , crypto-pubkey, crypto-random, directory, filepath, hourglass
-     , http-types, network, pem, resourcet, transformers, wai, wai-extra
-     , wai-middleware-static, warp, warp-tls, x509
+    ({ mkDerivation, base, bytestring, cryptonite, directory, filepath
+     , hourglass, http-types, network, resourcet, transformers, wai
+     , wai-extra, wai-middleware-static, warp, warp-tls
      }:
      mkDerivation {
        pname = "sws";
-       version = "0.3.1.2";
-       sha256 = "031495207zswwqg23p8kkv7gnm9lhkipm5b9mdp7ypsh9zgy8sz8";
+       version = "0.4.0.0";
+       sha256 = "02x2dh8nc1ci9n4mzhvq3wxvq5802mghs3kpqi6vhbglai60cj6g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         asn1-encoding asn1-types base bytestring crypto-pubkey
-         crypto-random directory filepath hourglass http-types network pem
-         resourcet transformers wai wai-extra wai-middleware-static warp
-         warp-tls x509
+         base bytestring cryptonite directory filepath hourglass http-types
+         network resourcet transformers wai wai-extra wai-middleware-static
+         warp warp-tls
        ];
        description = "A simple web server for serving directories, similar to weborf";
        license = stdenv.lib.licenses.bsd3;
@@ -188813,8 +188908,8 @@ self: {
      }:
      mkDerivation {
        pname = "test-framework-th-prime";
-       version = "0.0.9";
-       sha256 = "1gcrhfazxj75msjdf3zj3cz81ikakpd1xfy0lflnpp0788zf7r3p";
+       version = "0.0.10";
+       sha256 = "1x3iq4dqbnhb96rfzs7awdk5v2arr3fi3jgkkhnn4vjz43ixygg8";
        libraryHaskellDepends = [
          base cpphs haskell-src-exts template-haskell test-framework
        ];
@@ -189159,6 +189254,31 @@ self: {
        license = "GPL";
      }) {};
 
+  "texmath_0_9_4_2" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, network-uri, pandoc-types, parsec, process, split, syb
+     , temporary, text, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.9.4.2";
+       sha256 = "1xx3yp5m0rjs8bi1gb4r0xk0mjh5gm4x2pdsgfmbrisw0pl5x0mv";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl pandoc-types parsec syb xml
+       ];
+       executableHaskellDepends = [ network-uri ];
+       testHaskellDepends = [
+         base bytestring directory filepath process split temporary text
+         utf8-string xml
+       ];
+       homepage = "http://github.com/jgm/texmath";
+       description = "Conversion between formats used to represent mathematics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "texrunner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , HUnit, io-streams, lens, mtl, process, temporary, test-framework
@@ -190004,8 +190124,8 @@ self: {
     ({ mkDerivation, base, deepseq, hspec, QuickCheck, text, vector }:
      mkDerivation {
        pname = "text-zipper";
-       version = "0.10";
-       sha256 = "0vhp707irmyqdix4clnjphnly8zyph4brpjb41n05rxlaybn96n5";
+       version = "0.10.1";
+       sha256 = "0jxicjp0ak1fyl1n3yspxq6hv9l90zzy75glsv8bc2svsn9ypyls";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base deepseq text vector ];
        testHaskellDepends = [ base hspec QuickCheck text ];
@@ -190213,21 +190333,6 @@ self: {
     ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
      mkDerivation {
        pname = "th-abstraction";
-       version = "0.2.5.0";
-       sha256 = "1fxapnbny5gyys24q8v93i6ipcrmsrs2b95i8kz2dpgg8cc95skp";
-       libraryHaskellDepends = [
-         base containers ghc-prim template-haskell
-       ];
-       testHaskellDepends = [ base containers template-haskell ];
-       homepage = "https://github.com/glguy/th-abstraction";
-       description = "Nicer interface for reified information about data types";
-       license = stdenv.lib.licenses.isc;
-     }) {};
-
-  "th-abstraction_0_2_6_0" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, template-haskell }:
-     mkDerivation {
-       pname = "th-abstraction";
        version = "0.2.6.0";
        sha256 = "0g42h6wnj2awc5ryhbvx009wd8w75pn66bjzsq1z4s3xajd2hbp5";
        libraryHaskellDepends = [
@@ -190237,7 +190342,6 @@ self: {
        homepage = "https://github.com/glguy/th-abstraction";
        description = "Nicer interface for reified information about data types";
        license = stdenv.lib.licenses.isc;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "th-alpha" = callPackage
@@ -190671,6 +190775,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "thank-you-stars" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, Cabal, containers
+     , directory, filepath, hackage-db, hspec, req, split, text
+     }:
+     mkDerivation {
+       pname = "thank-you-stars";
+       version = "0.1.0";
+       sha256 = "1qxi26g81ndrx8vxckb8hkpaqqpbd60r2ck705mhafrv0yd3kry7";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring Cabal containers directory filepath
+         hackage-db req split text
+       ];
+       executableHaskellDepends = [ base containers directory filepath ];
+       testHaskellDepends = [ base Cabal containers hackage-db hspec ];
+       homepage = "https://github.com/y-taka-23/thank-you-stars#readme";
+       description = "Give your dependencies stars on GitHub!";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "themoviedb" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, either
      , http-client, http-client-tls, http-types, mtl, tasty, tasty-hunit
@@ -191278,6 +191403,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "throwable-exceptions_0_1_0_9" = callPackage
+    ({ mkDerivation, base, doctest, either, safe-exceptions, silently
+     , tasty, tasty-discover, tasty-hunit, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "throwable-exceptions";
+       version = "0.1.0.9";
+       sha256 = "1ab9qx87r0wxrvx9fk77cpimj0pm1qa2pvcv4b8sadj0s8fkrcis";
+       libraryHaskellDepends = [ base safe-exceptions template-haskell ];
+       testHaskellDepends = [
+         base doctest either safe-exceptions silently tasty tasty-discover
+         tasty-hunit text
+       ];
+       homepage = "https://github.com/aiya000/hs-throwable-exceptions#README.md";
+       description = "throwable-exceptions gives the easy way to throw exceptions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "thumbnail" = callPackage
     ({ mkDerivation, base, bytestring, gd }:
      mkDerivation {
@@ -195320,8 +195464,8 @@ self: {
      }:
      mkDerivation {
        pname = "tweet-hs";
-       version = "1.0.1.3";
-       sha256 = "0xxyb2czffd46hwiv1wqqhhh5km8z9k0jqv5j64f68zmxfra5x04";
+       version = "1.0.1.7";
+       sha256 = "026hmzrc80mc2jpvd0cnxa6kj4lfirh7ygdh1xaw51svrql8320j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -196345,14 +196489,14 @@ self: {
      }) {};
 
   "type-of-html" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, criterion, hspec
-     , QuickCheck, text
+    ({ mkDerivation, base, blaze-html, bytestring, criterion, ghc-prim
+     , hspec, QuickCheck, text
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "0.3.0.0";
-       sha256 = "1cj0q9h7dda8zmn8lnvm0scn97cfwxihvj31x28nzfywgbhimhv6";
-       libraryHaskellDepends = [ base bytestring text ];
+       version = "0.5.1.0";
+       sha256 = "01j4kk5c8qiqcgnymx26csj38aa76zg3vl8nwiwxcjbfng87xvmk";
+       libraryHaskellDepends = [ base bytestring ghc-prim text ];
        testHaskellDepends = [ base hspec QuickCheck text ];
        benchmarkHaskellDepends = [
          base blaze-html bytestring criterion text
@@ -196569,28 +196713,6 @@ self: {
      }:
      mkDerivation {
        pname = "typed-process";
-       version = "0.1.0.1";
-       sha256 = "05pwpis2vm63qxg8kkqd52whbgkgf5k5sy0w1z1am7jsm6fiychc";
-       libraryHaskellDepends = [
-         async base bytestring conduit conduit-extra exceptions process stm
-         transformers
-       ];
-       testHaskellDepends = [
-         async base base64-bytestring bytestring conduit conduit-extra hspec
-         http-conduit temporary
-       ];
-       homepage = "https://haskell-lang.org/library/typed-process";
-       description = "Run external processes, with strong typing of streams";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "typed-process_0_1_1" = callPackage
-    ({ mkDerivation, async, base, base64-bytestring, bytestring
-     , conduit, conduit-extra, exceptions, hspec, http-conduit, process
-     , stm, temporary, transformers
-     }:
-     mkDerivation {
-       pname = "typed-process";
        version = "0.1.1";
        sha256 = "1n93jy1z2xyin8j5dy972hdv2ydwfdbf5x1bygvn8cc6llb4wsml";
        libraryHaskellDepends = [
@@ -196604,7 +196726,6 @@ self: {
        homepage = "https://haskell-lang.org/library/typed-process";
        description = "Run external processes, with strong typing of streams";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "typed-spreadsheet" = callPackage
@@ -200007,8 +200128,8 @@ self: {
      }:
      mkDerivation {
        pname = "uuid-orphans";
-       version = "1.4.1";
-       sha256 = "19hxgi6rn5pg51jd8v64b96a2j0vh016xcbja8vdhkbdpiizyq9j";
+       version = "1.4.2";
+       sha256 = "1rsaskv8xhj773abijsq3xi3maa0ixw1k2qywcmw4bdm25pyxsr2";
        libraryHaskellDepends = [
          base safecopy text th-lift uuid-types web-routes
        ];
@@ -200324,26 +200445,6 @@ self: {
      }:
      mkDerivation {
        pname = "validation";
-       version = "0.5.4";
-       sha256 = "18vliywmqj3kwlrc4dcp2z3skwqb86crf0rmphpmna1mkrfmyy4b";
-       libraryHaskellDepends = [
-         base bifunctors lens mtl semigroupoids semigroups transformers
-       ];
-       testHaskellDepends = [
-         base directory doctest filepath QuickCheck template-haskell
-       ];
-       homepage = "https://github.com/NICTA/validation";
-       description = "A data-type like Either but with an accumulating Applicative";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "validation_0_5_5" = callPackage
-    ({ mkDerivation, base, bifunctors, directory, doctest, filepath
-     , lens, mtl, QuickCheck, semigroupoids, semigroups
-     , template-haskell, transformers
-     }:
-     mkDerivation {
-       pname = "validation";
        version = "0.5.5";
        sha256 = "0fgwgpwcisbabzyq11pkj57gp0kydi4px9gmgzqcq2hn6xb43qkd";
        libraryHaskellDepends = [
@@ -200355,7 +200456,6 @@ self: {
        homepage = "https://github.com/qfpl/validation";
        description = "A data-type like Either but with an accumulating Applicative";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "validations" = callPackage
@@ -202050,19 +202150,20 @@ self: {
      }) {};
 
   "vivid" = callPackage
-    ({ mkDerivation, base, binary, bytestring, containers, filepath
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
      , hashable, MonadRandom, mtl, network, process, random
-     , random-shuffle, split, stm, time, transformers
+     , random-shuffle, split, stm, time, transformers, utf8-string
+     , vivid-osc, vivid-supercollider
      }:
      mkDerivation {
        pname = "vivid";
-       version = "0.2.0.5";
-       sha256 = "0wxkv8vygxd8waab0f87p2q8ya20lnjh7b77yih4r3znf092fmpx";
+       version = "0.3.0.2";
+       sha256 = "16dvg5yq26fkrq01mn3c4byz32xld3alxa8h9m16gi4g04f99q00";
        libraryHaskellDepends = [
-         base binary bytestring containers filepath hashable MonadRandom mtl
-         network process random random-shuffle split stm time transformers
+         base bytestring containers directory filepath hashable MonadRandom
+         mtl network process random random-shuffle split stm time
+         transformers utf8-string vivid-osc vivid-supercollider
        ];
-       homepage = "http://vivid-synth.com";
        description = "Sound synthesis with SuperCollider";
        license = "GPL";
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -202818,22 +202919,6 @@ self: {
      }:
      mkDerivation {
        pname = "wai-handler-launch";
-       version = "3.0.2.2";
-       sha256 = "021923x32sgig40sng5mffzkv5ay9asbxpzkik9bpg1yagdc954w";
-       libraryHaskellDepends = [
-         async base blaze-builder bytestring http-types process
-         streaming-commons transformers wai warp
-       ];
-       description = "Launch a web app in the default browser";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "wai-handler-launch_3_0_2_3" = callPackage
-    ({ mkDerivation, async, base, blaze-builder, bytestring, http-types
-     , process, streaming-commons, transformers, wai, warp
-     }:
-     mkDerivation {
-       pname = "wai-handler-launch";
        version = "3.0.2.3";
        sha256 = "1lv1xybpx7zzyz89nb94sw3326pnmyfz6h4sqs00ib9zf05hxl3d";
        libraryHaskellDepends = [
@@ -202842,7 +202927,6 @@ self: {
        ];
        description = "Launch a web app in the default browser";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "wai-handler-scgi" = callPackage
@@ -206863,8 +206947,8 @@ self: {
      }:
      mkDerivation {
        pname = "wrecker";
-       version = "1.0.0.2";
-       sha256 = "0ydmwxixgxryiq4nf4lxds30zmx4hhhm1w6fyk4h1hva01vrybr8";
+       version = "1.2.2.0";
+       sha256 = "03iw04jg3lmar97l9mhgd5kabfjps1dh84s7r5p9cbc6rsy5knsh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -206879,9 +206963,8 @@ self: {
          unordered-containers vector vty wreq
        ];
        executableHaskellDepends = [
-         aeson aeson-qq base bytestring connection http-client
-         http-client-tls immortal lens markdown-unlit network next-ref
-         optparse-applicative scotty text transformers wai warp wreq
+         base http-client http-client-tls lens markdown-unlit
+         optparse-applicative wreq
        ];
        testHaskellDepends = [
          aeson aeson-qq base bytestring connection hspec hspec-discover
@@ -206894,6 +206977,38 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wrecker-ui" = callPackage
+    ({ mkDerivation, aeson, async, base, binary, bytestring, containers
+     , directory, distributed-process, distributed-process-async
+     , distributed-process-simplelocalnet, distributed-static, esqueleto
+     , HostAndPort, http-types, iso8601-time, monad-control
+     , monad-logger, mtl, network-transport, network-transport-tcp
+     , persistent, persistent-postgresql, persistent-sqlite
+     , persistent-template, postgresql-simple, postgresql-simple-url
+     , process, resource-pool, resourcet, scotty, stm, temporary, text
+     , time, transformers, wai-cors
+     }:
+     mkDerivation {
+       pname = "wrecker-ui";
+       version = "2.3.0.2";
+       sha256 = "0bfpcc464fgcgzp5h20d2q7p79z3mkxi6c0i3cc4mmzspgvnsjk3";
+       isLibrary = false;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       executableHaskellDepends = [
+         aeson async base binary bytestring containers directory
+         distributed-process distributed-process-async
+         distributed-process-simplelocalnet distributed-static esqueleto
+         HostAndPort http-types iso8601-time monad-control monad-logger mtl
+         network-transport network-transport-tcp persistent
+         persistent-postgresql persistent-sqlite persistent-template
+         postgresql-simple postgresql-simple-url process resource-pool
+         resourcet scotty stm temporary text time transformers wai-cors
+       ];
+       description = "A web interface for Wrecker, the HTTP Performance Benchmarker";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "wreq" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec
      , authenticate-oauth, base, base16-bytestring, base64-bytestring
@@ -208382,7 +208497,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "xml-conduit_1_6_0" = callPackage
+  "xml-conduit_1_7_0" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
      , blaze-markup, bytestring, conduit, conduit-extra, containers
      , data-default-class, deepseq, hspec, HUnit, monad-control
@@ -208390,8 +208505,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-conduit";
-       version = "1.6.0";
-       sha256 = "042cq7i988jxfwayndzpk2mygfs73709xmzi875imhmar10nv914";
+       version = "1.7.0";
+       sha256 = "0g0a6h52n6q3w09350d6vgjpvb6xj224isp4lphgwbmd2xr12i76";
        libraryHaskellDepends = [
          attoparsec base blaze-builder blaze-html blaze-markup bytestring
          conduit conduit-extra containers data-default-class deepseq
@@ -209221,28 +209336,6 @@ self: {
      }) {};
 
   "xmonad-extras" = callPackage
-    ({ mkDerivation, alsa-mixer, base, bytestring, containers
-     , directory, hint, libmpd, mtl, network, old-locale, old-time
-     , process, random, regex-posix, unix, X11, xmonad, xmonad-contrib
-     }:
-     mkDerivation {
-       pname = "xmonad-extras";
-       version = "0.13.0";
-       sha256 = "11clsfa5i174i6bfp6mdy06w11jyx2sydrbbczf2s9kg92ysbnqb";
-       configureFlags = [
-         "-f-with_hlist" "-fwith_parsec" "-fwith_split"
-       ];
-       libraryHaskellDepends = [
-         alsa-mixer base bytestring containers directory hint libmpd mtl
-         network old-locale old-time process random regex-posix unix X11
-         xmonad xmonad-contrib
-       ];
-       homepage = "https://github.com/xmonad/xmonad-extras";
-       description = "Third party extensions for xmonad with wacky dependencies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xmonad-extras_0_13_1" = callPackage
     ({ mkDerivation, alsa-mixer, base, bytestring, containers, hint
      , libmpd, mtl, network, regex-posix, X11, xmonad, xmonad-contrib
      }:
@@ -209260,7 +209353,6 @@ self: {
        homepage = "https://github.com/xmonad/xmonad-extras";
        description = "Third party extensions for xmonad with wacky dependencies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xmonad-screenshot" = callPackage
@@ -210362,8 +210454,8 @@ self: {
      }:
      mkDerivation {
        pname = "yeshql";
-       version = "3.0.1.1";
-       sha256 = "07swxkxjdvsgsfz9qanygv1fmp3vzcd18hffyp0m6c7qv4av7zps";
+       version = "3.0.1.3";
+       sha256 = "04svfqlmhm94ljyhirihhsdqpskvq989y3wwznclbn0isspjcq9p";
        libraryHaskellDepends = [
          base containers convertible filepath HDBC parsec template-haskell
        ];
@@ -210489,35 +210581,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.4.18";
-       sha256 = "1cg3wb5d8cy65rmrc0dq086mmfhvvwdyig926pb0nhn2zj2kbzav";
-       libraryHaskellDepends = [
-         aeson authenticate base base16-bytestring base64-bytestring binary
-         blaze-builder blaze-html blaze-markup byteable bytestring conduit
-         conduit-extra containers cryptonite data-default email-validate
-         file-embed http-client http-conduit http-types lifted-base memory
-         mime-mail network-uri nonce persistent persistent-template random
-         resourcet safe shakespeare template-haskell text time transformers
-         unordered-containers wai yesod-core yesod-form yesod-persistent
-       ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Authentication for Yesod";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-auth_1_4_19" = callPackage
-    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
-     , base64-bytestring, binary, blaze-builder, blaze-html
-     , blaze-markup, byteable, bytestring, conduit, conduit-extra
-     , containers, cryptonite, data-default, email-validate, file-embed
-     , http-client, http-conduit, http-types, lifted-base, memory
-     , mime-mail, network-uri, nonce, persistent, persistent-template
-     , random, resourcet, safe, shakespeare, template-haskell, text
-     , time, transformers, unordered-containers, wai, yesod-core
-     , yesod-form, yesod-persistent
-     }:
-     mkDerivation {
-       pname = "yesod-auth";
        version = "1.4.19";
        sha256 = "1r6ykh9q9080wrshicmgxkjjlxb1rxv56kabqnyx44xihhcr19jp";
        libraryHaskellDepends = [
@@ -210532,7 +210595,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Authentication for Yesod";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-auth-account" = callPackage
@@ -211068,6 +211130,50 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_4_37" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
+     , cereal, clientsession, conduit, conduit-extra, containers, cookie
+     , criterion, data-default, deepseq, deepseq-generics, directory
+     , exceptions, fast-logger, hspec, hspec-expectations, http-types
+     , HUnit, lifted-base, monad-control, monad-logger, mtl, mwc-random
+     , network, old-locale, parsec, path-pieces, primitive, QuickCheck
+     , random, resourcet, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , transformers-base, unix-compat, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.37";
+       sha256 = "0ww8hl0cx2g58zrdx3j6d5m2xwhssbajdqws1xk6rzl7rpfm1b9j";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         byteable bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq
+         deepseq-generics directory exceptions fast-logger http-types
+         lifted-base monad-control monad-logger mtl mwc-random old-locale
+         parsec path-pieces primitive random resourcet safe semigroups
+         shakespeare template-haskell text time transformers
+         transformers-base unix-compat unordered-containers vector wai
+         wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       benchmarkHaskellDepends = [
+         base blaze-html bytestring criterion shakespeare text transformers
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -211314,30 +211420,6 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-form";
-       version = "1.4.15";
-       sha256 = "107ddpngzwzmslrv1cc82fx775icvjpbsgjhinj7cnmpi3paq3w3";
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder blaze-html blaze-markup
-         byteable bytestring containers data-default email-validate
-         network-uri persistent resourcet semigroups shakespeare
-         template-haskell text time transformers wai xss-sanitize yesod-core
-         yesod-persistent
-       ];
-       testHaskellDepends = [ base hspec text time ];
-       homepage = "http://www.yesodweb.com/";
-       description = "Form handling support for Yesod Web Framework";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "yesod-form_1_4_16" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, blaze-html
-     , blaze-markup, byteable, bytestring, containers, data-default
-     , email-validate, hspec, network-uri, persistent, resourcet
-     , semigroups, shakespeare, template-haskell, text, time
-     , transformers, wai, xss-sanitize, yesod-core, yesod-persistent
-     }:
-     mkDerivation {
-       pname = "yesod-form";
        version = "1.4.16";
        sha256 = "0lij3m5vn8nvh6y88r1dhk03xmmjwmjzazm307nc2wvc5fmx9p2j";
        libraryHaskellDepends = [
@@ -211351,7 +211433,6 @@ self: {
        homepage = "http://www.yesodweb.com/";
        description = "Form handling support for Yesod Web Framework";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yesod-form-bootstrap4" = callPackage
@@ -211366,6 +211447,19 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-form-bootstrap4_0_1_0_2" = callPackage
+    ({ mkDerivation, base, classy-prelude-yesod, yesod-form }:
+     mkDerivation {
+       pname = "yesod-form-bootstrap4";
+       version = "0.1.0.2";
+       sha256 = "0lsdvs33xsy7ipr44calfhyf375mkq7h3axi39q91f28r76iy6cf";
+       libraryHaskellDepends = [ base classy-prelude-yesod yesod-form ];
+       homepage = "https://github.com/ncaq/yesod-form-bootstrap4#readme";
+       description = "renderBootstrap4";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-form-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, text
      , unordered-containers, yesod-core, yesod-form
@@ -211963,6 +212057,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-recaptcha2_0_1_0_1" = callPackage
+    ({ mkDerivation, base, classy-prelude-yesod, http-conduit
+     , yesod-auth
+     }:
+     mkDerivation {
+       pname = "yesod-recaptcha2";
+       version = "0.1.0.1";
+       sha256 = "0avlm1jchp0j65c3f6bj9gv9kba0cvvk77sq918dzjvx54hnygf3";
+       libraryHaskellDepends = [
+         base classy-prelude-yesod http-conduit yesod-auth
+       ];
+       homepage = "https://github.com/ncaq/yesod-recaptcha2#readme";
+       description = "yesod recaptcha2";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-routes" = callPackage
     ({ mkDerivation, base, bytestring, containers, hspec, HUnit
      , path-pieces, template-haskell, text, vector
@@ -212513,41 +212624,40 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-core_0_15_0" = callPackage
+  "yi-core_0_16_0" = callPackage
     ({ mkDerivation, array, attoparsec, base, binary, bytestring
      , containers, criterion, data-default, deepseq, directory, dlist
      , dynamic-state, filepath, hashable, ListLike, microlens-platform
      , mtl, old-locale, oo-prototypes, parsec, pointedlist, process
      , process-extras, quickcheck-text, split, tasty, tasty-hunit
-     , tasty-quickcheck, text, text-icu, time, transformers-base, unix
+     , tasty-quickcheck, text, time, transformers-base, unix
      , unix-compat, unordered-containers, xdg-basedir, yi-language
      , yi-rope
      }:
      mkDerivation {
        pname = "yi-core";
-       version = "0.15.0";
-       sha256 = "1lfxqi7z2jhvg6mzh31nighgcq1zp4w2ibggqlq02wbliwvbvbsf";
+       version = "0.16.0";
+       sha256 = "0r7hbwlc0l45mb5qd949vn0h34kg5aqj7ic9shifz23cxlapkssj";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-default
          directory dlist dynamic-state filepath hashable ListLike
          microlens-platform mtl old-locale oo-prototypes parsec pointedlist
-         process process-extras split text text-icu time transformers-base
-         unix unix-compat unordered-containers xdg-basedir yi-language
-         yi-rope
+         process process-extras split text time transformers-base unix
+         unix-compat unordered-containers xdg-basedir yi-language yi-rope
        ];
        testHaskellDepends = [
          array attoparsec base binary bytestring containers data-default
          directory dlist dynamic-state filepath hashable ListLike
          microlens-platform mtl old-locale oo-prototypes parsec pointedlist
          process process-extras quickcheck-text split tasty tasty-hunit
-         tasty-quickcheck text text-icu time transformers-base unix
-         unix-compat unordered-containers xdg-basedir yi-language yi-rope
+         tasty-quickcheck text time transformers-base unix unix-compat
+         unordered-containers xdg-basedir yi-language yi-rope
        ];
        benchmarkHaskellDepends = [
          array attoparsec base binary bytestring containers criterion
          data-default deepseq directory dlist dynamic-state filepath
          hashable ListLike microlens-platform mtl old-locale oo-prototypes
-         parsec pointedlist process process-extras split text text-icu time
+         parsec pointedlist process process-extras split text time
          transformers-base unix unix-compat unordered-containers xdg-basedir
          yi-language yi-rope
        ];
@@ -212558,16 +212668,16 @@ self: {
      }) {};
 
   "yi-dynamic-configuration" = callPackage
-    ({ mkDerivation, base, dyre, microlens-platform, mtl, text
-     , transformers-base, yi-core, yi-rope
+    ({ mkDerivation, base, data-default, dyre, microlens-platform, mtl
+     , text, transformers-base, yi-core, yi-rope
      }:
      mkDerivation {
        pname = "yi-dynamic-configuration";
-       version = "0.15.0";
-       sha256 = "0dh8vvmczdlcby9ybp89r59mhi1p7ywrvrh36y0nz6zmfckx3ylh";
+       version = "0.16.0";
+       sha256 = "1y439lsrf6akq1db6gkxm44pq83672jbnyg2hcw2s8b0rlr873vz";
        libraryHaskellDepends = [
-         base dyre microlens-platform mtl text transformers-base yi-core
-         yi-rope
+         base data-default dyre microlens-platform mtl text
+         transformers-base yi-core yi-rope
        ];
        homepage = "https://github.com/yi-editor/yi#readme";
        description = "Dynamic configuration support for Yi";
@@ -212594,8 +212704,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-frontend-pango";
-       version = "0.15.0";
-       sha256 = "02wfcpsamqq5qxdzmbg98h4qji9dfsvk3v4rq1r9lxw6v3rcnd8h";
+       version = "0.16.0";
+       sha256 = "0dbmkh72rrnmcxs8ixgpzvj6bra0nzrgiwnjz19rlpsgzvw5vfhh";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers filepath glib gtk microlens-platform mtl
@@ -212625,15 +212735,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-frontend-vty_0_15_0" = callPackage
+  "yi-frontend-vty_0_16_0" = callPackage
     ({ mkDerivation, base, containers, data-default, dlist
      , microlens-platform, pointedlist, stm, text, vty, yi-core
      , yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-frontend-vty";
-       version = "0.15.0";
-       sha256 = "0c8qvhn22r1bk9p5c65z8dq73hn84ylpxczqyjb1j8i76wycaccc";
+       version = "0.16.0";
+       sha256 = "00rmwcm1431rffhq1rif0k0g43wnzdfhw1zhacl4f2n5v2gxkjsq";
        libraryHaskellDepends = [
          base containers data-default dlist microlens-platform pointedlist
          stm text vty yi-core yi-language yi-rope
@@ -212662,15 +212772,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-fuzzy-open_0_15_0" = callPackage
+  "yi-fuzzy-open_0_16_0" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, directory
      , filepath, mtl, text, transformers-base, vector, yi-core
      , yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-fuzzy-open";
-       version = "0.15.0";
-       sha256 = "0zlscdkxahcdh46pgnlv2v55s5c7271zc43fi37ff305a9d57axq";
+       version = "0.16.0";
+       sha256 = "0z59g33rgdpg090sj6ilkwxvcg9r3my0v8wd49vvn72livf3v88k";
        libraryHaskellDepends = [
          base binary containers data-default directory filepath mtl text
          transformers-base vector yi-core yi-language yi-rope
@@ -212710,14 +212820,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-ireader_0_15_0" = callPackage
+  "yi-ireader_0_16_0" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, data-default
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-ireader";
-       version = "0.15.0";
-       sha256 = "05jmsdr4bv14mpjzsb2ib20jvmswgm0666d8vz0h2gp2gvda7skd";
+       version = "0.16.0";
+       sha256 = "1wmkji3sz7hnik7cy25r8wbc7y2x938gy8fyy4cadgrpbpndb58a";
        libraryHaskellDepends = [
          base binary bytestring containers data-default microlens-platform
          text yi-core yi-language yi-rope
@@ -212744,14 +212854,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-cua_0_15_0" = callPackage
+  "yi-keymap-cua_0_16_0" = callPackage
     ({ mkDerivation, base, microlens-platform, text, yi-core
      , yi-keymap-emacs, yi-rope
      }:
      mkDerivation {
        pname = "yi-keymap-cua";
-       version = "0.15.0";
-       sha256 = "0wxblxk9pf3i7dc3hl64lwicj1njwvl8qkimkqw20k3si7hls2vz";
+       version = "0.16.0";
+       sha256 = "082f3jhbas2ww4jmq53gqr7ssl8c0cd5gz2avvhqzvfsfxk1qiay";
        libraryHaskellDepends = [
          base microlens-platform text yi-core yi-keymap-emacs yi-rope
        ];
@@ -212780,15 +212890,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-emacs_0_15_0" = callPackage
+  "yi-keymap-emacs_0_16_0" = callPackage
     ({ mkDerivation, base, containers, filepath, Hclip
      , microlens-platform, mtl, oo-prototypes, text, transformers-base
      , yi-core, yi-language, yi-misc-modes, yi-rope
      }:
      mkDerivation {
        pname = "yi-keymap-emacs";
-       version = "0.15.0";
-       sha256 = "1sfyddp123zi3inwnilnckf9gair13kn1qjj6k117g1900fh4ha5";
+       version = "0.16.0";
+       sha256 = "0l0xvkb0y3kp0bkvarl6kdvvj4rn5pm70z1g1yavk1krs41xxz6j";
        libraryHaskellDepends = [
          base containers filepath Hclip microlens-platform mtl oo-prototypes
          text transformers-base yi-core yi-language yi-misc-modes yi-rope
@@ -212828,7 +212938,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-vim_0_15_0" = callPackage
+  "yi-keymap-vim_0_16_0" = callPackage
     ({ mkDerivation, attoparsec, base, binary, containers, data-default
      , directory, filepath, Hclip, microlens-platform, mtl
      , oo-prototypes, pointedlist, QuickCheck, safe, tasty, tasty-hunit
@@ -212837,8 +212947,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-keymap-vim";
-       version = "0.15.0";
-       sha256 = "0jd4ssf97zq6rzsdlxj0framwzdkf5ggnzkafk7wvd9abikihmld";
+       version = "0.16.0";
+       sha256 = "1fvl4frjikkdp561zai6z35r8r7f4fq2izlcxl1k1rvsvxz3cbi2";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base binary containers data-default directory filepath
@@ -212885,7 +212995,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-language_0_15_0" = callPackage
+  "yi-language_0_16_0" = callPackage
     ({ mkDerivation, alex, array, base, binary, containers
      , data-default, hashable, microlens-platform, oo-prototypes
      , pointedlist, regex-base, regex-tdfa, tasty, tasty-hspec
@@ -212894,8 +213004,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-language";
-       version = "0.15.0";
-       sha256 = "0skp7n9l4qg665krs6fv7kxmrq7jrbrqv1lppcqff5bak1dk5vxb";
+       version = "0.16.0";
+       sha256 = "0wq4m665xcy7256iapjwggc3ylrg9y1k1vhvjn5a8716nn23mnr5";
        libraryHaskellDepends = [
          array base binary containers data-default hashable
          microlens-platform oo-prototypes pointedlist regex-base regex-tdfa
@@ -212933,14 +213043,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-misc-modes_0_15_0" = callPackage
+  "yi-misc-modes_0_16_0" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, filepath
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-misc-modes";
-       version = "0.15.0";
-       sha256 = "0rjk5j3jrqvbznh5azc49wgx6i21q30qn0jz1rvhqqxsakqyaqbx";
+       version = "0.16.0";
+       sha256 = "1vsdfwpqmpmdiaxh30hshxwlpqmkxzih13ic0hnbsx27amd3mv59";
        libraryHaskellDepends = [
          array base binary data-default filepath microlens-platform text
          yi-core yi-language yi-rope
@@ -212970,14 +213080,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-mode-haskell_0_15_0" = callPackage
+  "yi-mode-haskell_0_16_0" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, filepath
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-mode-haskell";
-       version = "0.15.0";
-       sha256 = "12h3ij0a887jfz9kcmmsl0i82jimf11pcvshimdk7d3c9gqf8ygn";
+       version = "0.16.0";
+       sha256 = "0h4796zdcwrj6zkmxcvdjpmwb1rw0zgwzzgsdsch455j770y4dyy";
        libraryHaskellDepends = [
          array base binary data-default filepath microlens-platform text
          yi-core yi-language yi-rope
@@ -213008,15 +213118,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-mode-javascript_0_15_0" = callPackage
+  "yi-mode-javascript_0_16_0" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, dlist
      , filepath, microlens-platform, mtl, text, yi-core, yi-language
      , yi-rope
      }:
      mkDerivation {
        pname = "yi-mode-javascript";
-       version = "0.15.0";
-       sha256 = "0ir6m97v3d42j6my5pg52vnbwlr55sgzidajx23mlafnccl9j6js";
+       version = "0.16.0";
+       sha256 = "09xp4a1w4m6spnzm943zkivaxicipmzs07qn9xqrfvcwavy56kha";
        libraryHaskellDepends = [
          array base binary data-default dlist filepath microlens-platform
          mtl text yi-core yi-language yi-rope
@@ -213062,6 +213172,26 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
+  "yi-rope_0_10" = callPackage
+    ({ mkDerivation, base, binary, bytestring, criterion, deepseq
+     , fingertree, hspec, QuickCheck, quickcheck-instances, text
+     }:
+     mkDerivation {
+       pname = "yi-rope";
+       version = "0.10";
+       sha256 = "0lkaca2nnivzd6dbrawdkfydm9rd06bm0j0kbl1nhh53ghdp4cs9";
+       libraryHaskellDepends = [
+         base binary bytestring deepseq fingertree text
+       ];
+       testHaskellDepends = [
+         base hspec QuickCheck quickcheck-instances text
+       ];
+       benchmarkHaskellDepends = [ base criterion deepseq text ];
+       description = "A rope data structure used by Yi";
+       license = stdenv.lib.licenses.gpl2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yi-snippet" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, free
      , microlens-platform, mtl, tasty-hunit, tasty-th, text, vector
@@ -213083,15 +213213,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-snippet_0_15_0" = callPackage
+  "yi-snippet_0_16_0" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, free
      , microlens-platform, mtl, tasty-hunit, tasty-th, text, vector
      , yi-core, yi-rope
      }:
      mkDerivation {
        pname = "yi-snippet";
-       version = "0.15.0";
-       sha256 = "06cnnjbqkd03d5hzs80gm2bp0nzqnfd74ypzc35a8ad6wjdwsvnw";
+       version = "0.16.0";
+       sha256 = "0n9m2n8k4k79hi661gpjdz0yca1jhxmbjdkxgzg7gnvwiikmfawh";
        libraryHaskellDepends = [
          base binary containers data-default free microlens-platform mtl
          text vector yi-core yi-rope
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index e268cfb7ea6..5246c5b0e59 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -69,9 +69,6 @@ let
 
     enableParallelBuilding = true;
 
-    # FIXME needs gcc 4.9 in bootstrap tools
-    hardeningDisable = [ "stackprotector" ];
-
     preConfigure =
       ''
         configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index f601fbc9808..5f0d8d0655c 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -110,8 +110,9 @@ let
     "--enable-shared"
     "--with-threads"
     "--enable-unicode=ucs4"
-  ] ++ optionals hostPlatform.isCygwin [
+  ] ++ optionals (hostPlatform.isCygwin || hostPlatform.isAarch64) [
     "--with-system-ffi"
+  ] ++ optionals hostPlatform.isCygwin [
     "--with-system-expat"
     "ac_cv_func_bind_textdomain_codeset=yes"
   ] ++ optionals stdenv.isDarwin [
@@ -125,7 +126,8 @@ let
   buildInputs =
     optional (stdenv ? cc && stdenv.cc.libc != null) stdenv.cc.libc ++
     [ bzip2 openssl zlib ]
-    ++ optionals hostPlatform.isCygwin [ expat libffi ]
+    ++ optional (hostPlatform.isCygwin || hostPlatform.isAarch64) libffi
+    ++ optional hostPlatform.isCygwin expat
     ++ [ db gdbm ncurses sqlite readline ]
     ++ optionals x11Support [ tcl tk xlibsWrapper libX11 ]
     ++ optionals stdenv.isDarwin [ CF configd ];
diff --git a/pkgs/development/interpreters/python/cpython/3.4/default.nix b/pkgs/development/interpreters/python/cpython/3.4/default.nix
index 3b375e147bc..a924b543fe3 100644
--- a/pkgs/development/interpreters/python/cpython/3.4/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.4/default.nix
@@ -66,6 +66,7 @@ in stdenv.mkDerivation {
 
   patches = [
     ./no-ldconfig.patch
+    ./ld_library_path.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch b/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch
new file mode 100644
index 00000000000..3172eb6d18e
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.4/ld_library_path.patch
@@ -0,0 +1,51 @@
+From 85991e0d7f0e631240f3f6233bd65d1128a66dec Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Thu, 14 Sep 2017 10:00:31 +0200
+Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH
+
+Backports support for LD_LIBRARY_PATH from 3.6
+---
+ Lib/ctypes/util.py | 26 +++++++++++++++++++++++++-
+ 1 file changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
+index 780cd5d21b..d7ac15070f 100644
+--- a/Lib/ctypes/util.py
++++ b/Lib/ctypes/util.py
+@@ -181,8 +181,32 @@ elif os.name == "posix":
+         def _findSoname_ldconfig(name):
+             return None
+ 
++        def _findLib_ld(name):
++            # See issue #9998 for why this is needed
++            expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)
++            cmd = ['ld', '-t']
++            libpath = os.environ.get('LD_LIBRARY_PATH')
++            if libpath:
++                for d in libpath.split(':'):
++                    cmd.extend(['-L', d])
++            cmd.extend(['-o', os.devnull, '-l%s' % name])
++            result = None
++            try:
++                p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
++                                     stderr=subprocess.PIPE,
++                                     universal_newlines=True)
++                out, _ = p.communicate()
++                res = re.search(expr, os.fsdecode(out))
++                if res:
++                    result = res.group(0)
++            except Exception as e:
++                pass  # result will be None
++            return result
++
+         def find_library(name):
+-            return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
++            # See issue #9998
++            return _findSoname_ldconfig(name) or \
++                   _get_soname(_findLib_gcc(name) or _findLib_ld(name))
+ 
+ ################################################################
+ # test code
+-- 
+2.14.1
+
diff --git a/pkgs/development/interpreters/python/cpython/3.5/default.nix b/pkgs/development/interpreters/python/cpython/3.5/default.nix
index ed1170427c0..abe220e0a3e 100644
--- a/pkgs/development/interpreters/python/cpython/3.5/default.nix
+++ b/pkgs/development/interpreters/python/cpython/3.5/default.nix
@@ -66,6 +66,7 @@ in stdenv.mkDerivation {
 
   patches = [
     ./no-ldconfig.patch
+    ./ld_library_path.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch b/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch
new file mode 100644
index 00000000000..013c2d266ef
--- /dev/null
+++ b/pkgs/development/interpreters/python/cpython/3.5/ld_library_path.patch
@@ -0,0 +1,51 @@
+From 918201682127ed8a270a4bd1a448b490019e4ada Mon Sep 17 00:00:00 2001
+From: Frederik Rietdijk <fridh@fridh.nl>
+Date: Thu, 14 Sep 2017 10:00:31 +0200
+Subject: [PATCH] ctypes.util: support LD_LIBRARY_PATH
+
+Backports support for LD_LIBRARY_PATH from 3.6
+---
+ Lib/ctypes/util.py | 26 +++++++++++++++++++++++++-
+ 1 file changed, 25 insertions(+), 1 deletion(-)
+
+diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py
+index e9957d7951..9926f6c881 100644
+--- a/Lib/ctypes/util.py
++++ b/Lib/ctypes/util.py
+@@ -219,8 +219,32 @@ elif os.name == "posix":
+         def _findSoname_ldconfig(name):
+             return None
+ 
++        def _findLib_ld(name):
++            # See issue #9998 for why this is needed
++            expr = r'[^\(\)\s]*lib%s\.[^\(\)\s]*' % re.escape(name)
++            cmd = ['ld', '-t']
++            libpath = os.environ.get('LD_LIBRARY_PATH')
++            if libpath:
++                for d in libpath.split(':'):
++                    cmd.extend(['-L', d])
++            cmd.extend(['-o', os.devnull, '-l%s' % name])
++            result = None
++            try:
++                p = subprocess.Popen(cmd, stdout=subprocess.PIPE,
++                                     stderr=subprocess.PIPE,
++                                     universal_newlines=True)
++                out, _ = p.communicate()
++                res = re.search(expr, os.fsdecode(out))
++                if res:
++                    result = res.group(0)
++            except Exception as e:
++                pass  # result will be None
++            return result
++
+         def find_library(name):
+-            return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name))
++            # See issue #9998
++            return _findSoname_ldconfig(name) or \
++                   _get_soname(_findLib_gcc(name) or _findLib_ld(name))
+ 
+ ################################################################
+ # test code
+-- 
+2.14.1
+
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 7169d09e412..b4cd9f3f418 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -212,11 +212,11 @@ in {
     };
   };
 
-  ruby_2_4_1 = generic {
-    version = rubyVersion "2" "4" "1" "";
+  ruby_2_4_2 = generic {
+    version = rubyVersion "2" "4" "2" "";
     sha256 = {
-      src = "0l0201fqwzwygnrgxay469gbb2w865bnqckq00x3prdmbh6y2c53";
-      git = "1gjn31ymypzzcwkrjx62hqw59fywz1x3cyvmi1f2yb9bwb3659ss";
+      src = "174cdiz3am1f76vsnm3iqi9c5vqphypbf9kbxx6vqqmj01gfgfck";
+      git = "1w83kzak3m6vv3k09ynfw9vpgc7vpmij3x3zmgrhwm4ds1sp5irl";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index f6ecb7c8e28..cdf1bf26717 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -34,7 +34,7 @@ rec {
     "${patchSet}/patches/ruby/2.3/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.3/head/railsexpress/03-display-more-detailed-stack-trace.patch"
   ];
-  "2.4.1" = ops useRailsExpress [
+  "2.4.2" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.4/head/railsexpress/01-skip-broken-tests.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.4/head/railsexpress/03-display-more-detailed-stack-trace.patch"
diff --git a/pkgs/development/libraries/aspell/aspell-with-dicts.nix b/pkgs/development/libraries/aspell/aspell-with-dicts.nix
index 96acfe6c2a8..0739ad333df 100644
--- a/pkgs/development/libraries/aspell/aspell-with-dicts.nix
+++ b/pkgs/development/libraries/aspell/aspell-with-dicts.nix
@@ -4,8 +4,7 @@
 { aspell
 , aspellDicts
 , makeWrapper
-, symlinkJoin
-, runCommand
+, buildEnv
 }:
 
 f:
@@ -14,22 +13,20 @@ let
   # Dictionaries we want
   dicts = f aspellDicts;
 
-  # A tree containing the dictionaries
-  dictEnv = symlinkJoin {
-    name = "aspell-dicts";
-    paths = dicts;
-  };
-
-in runCommand "aspell-env" {
+in buildEnv {
+  name = "aspell-env";
   buildInputs = [ makeWrapper ];
-} ''
-  # Construct wrappers in /bin
-  mkdir -p $out/bin
-  pushd "${aspell}/bin"
-  for prg in *; do
-    if [ -f "$prg" ]; then
-      makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir ${dictEnv}/lib/aspell"
-    fi
-  done
-  popd
-''
+  paths = [ aspell ] ++ dicts;
+  postBuild = ''
+    # Construct wrappers in /bin
+    unlink "$out/bin"
+    mkdir -p "$out/bin"
+    pushd "${aspell}/bin"
+    for prg in *; do
+      if [ -f "$prg" ]; then
+        makeWrapper "${aspell}/bin/$prg" "$out/bin/$prg" --set ASPELL_CONF "dict-dir $out/lib/aspell"
+      fi
+    done
+    popd
+  '';
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/cloog/0.18.0.nix b/pkgs/development/libraries/cloog/0.18.0.nix
index 359bde2e058..ccd93828319 100644
--- a/pkgs/development/libraries/cloog/0.18.0.nix
+++ b/pkgs/development/libraries/cloog/0.18.0.nix
@@ -18,9 +18,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = {
     description = "Library that generates loops for scanning polyhedra";
 
diff --git a/pkgs/development/libraries/cppunit/default.nix b/pkgs/development/libraries/cppunit/default.nix
index 8d2c4bb7dd3..7b48ffcaccf 100644
--- a/pkgs/development/libraries/cppunit/default.nix
+++ b/pkgs/development/libraries/cppunit/default.nix
@@ -1,15 +1,16 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "cppunit-1.13.2";
+stdenv.mkDerivation rec {
+  name = "cppunit-${version}";
+  version = "1.14.0";
 
   src = fetchurl {
-    url = http://dev-www.libreoffice.org/src/cppunit-1.13.2.tar.gz;
-    sha256 = "17s2kzmkw3kfjhpp72rfppyd7syr7bdq5s69syj2nvrlwd3d4irz";
+    url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
+    sha256 = "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix";
   };
 
   meta = {
-    homepage = https://sourceforge.net/apps/mediawiki/cppunit/;
+    homepage = https://freedesktop.org/wiki/Software/cppunit/;
     description = "C++ unit testing framework";
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index d9239989cf6..275389b7b8b 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -231,11 +231,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "3.3.3";
+  version = "3.3.4";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "07is8msrhxr1dk6vgwa192k2pl2a0in1h9w8f9cknlvbvhn01afj";
+    sha256 = "0mx9dvad3lkyhvsrblf280x2bz6dxajya1ylnspbdzldj0dpxfcq";
   };
 
   patchPhase = ''patchShebangs .
diff --git a/pkgs/development/libraries/ffmpeg/3.3.nix b/pkgs/development/libraries/ffmpeg/3.3.nix
index bf414e0865d..3218461258d 100644
--- a/pkgs/development/libraries/ffmpeg/3.3.nix
+++ b/pkgs/development/libraries/ffmpeg/3.3.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
-  branch = "3.3.3";
-  sha256 = "0wx421d7vp4nz8kgp0kg16sswikj8ff1pd18x9mmcbpmqy7sqs8h";
+  branch = "3.3.4";
+  sha256 = "0zmczggi95fbsq9nz33mpln1y3p1gqniqc4x5smp871idhkykxay";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/2.nix
index a01f3890453..7d5eeb29997 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/2.nix
@@ -1,7 +1,8 @@
 { stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  name = "gmime-2.6.23";
+  version = "2.6.23";
+  name = "gmime-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gmime/2.6/${name}.tar.xz";
@@ -16,10 +17,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/jstedfast/gmime/;
     description = "A C/C++ library for creating, editing and parsing MIME messages and structures";
-    maintainers = [ stdenv.lib.maintainers.chaoflow ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ chaoflow ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
new file mode 100644
index 00000000000..548772ea650
--- /dev/null
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, pkgconfig, glib, zlib, gpgme, libidn, gobjectIntrospection }:
+
+stdenv.mkDerivation rec {
+  version = "3.0.1";
+  name = "gmime-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gmime/3.0/${name}.tar.xz";
+    sha256 = "001y93b8mq9alzkvli6vfh3pzdcn5c5iy206ml23lzhhhvm5k162";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  propagatedBuildInputs = [ glib zlib gpgme libidn ];
+  configureFlags = [ "--enable-introspection=yes" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jstedfast/gmime/;
+    description = "A C/C++ library for creating, editing and parsing MIME messages and structures";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ chaoflow ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index b39b56ec116..b65a8ee5fc1 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -18,9 +18,6 @@ let self = stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ m4 ];
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "format" "stackprotector" ];
-
   patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
 
   configureFlags =
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index bc5b6a36339..f5d75177963 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -13,7 +13,7 @@ with stdenv.lib;
 
 let
   ver_maj = "3.22";
-  ver_min = "19";
+  ver_min = "21";
   version = "${ver_maj}.${ver_min}";
 in
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${ver_maj}/gtk+-${version}.tar.xz";
-    sha256 = "9883d3ca5244f9b3168ce660e87d52900e141d0f7147dea0640bdd6fe8e5166c";
+    sha256 = "1bd3c1a85cfb4db112cabb5379abb05a1a94fe43052d309d573493fca00e6b87";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtkmm/3.x.nix b/pkgs/development/libraries/gtkmm/3.x.nix
index 89230fab658..7845143ebeb 100644
--- a/pkgs/development/libraries/gtkmm/3.x.nix
+++ b/pkgs/development/libraries/gtkmm/3.x.nix
@@ -2,14 +2,14 @@
 
 let
   ver_maj = "3.22";
-  ver_min = "0";
+  ver_min = "2";
 in
 stdenv.mkDerivation rec {
   name = "gtkmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtkmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "05da4d4b628fb20c8384630ddf478a3b5562952b2d6181fe28d58f6cbc0514f5";
+    sha256 = "91afd98a31519536f5f397c2d79696e3d53143b80b75778521ca7b48cb280090";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/isl/0.14.1.nix b/pkgs/development/libraries/isl/0.14.1.nix
index 77ba20cbb20..8196dec283a 100644
--- a/pkgs/development/libraries/isl/0.14.1.nix
+++ b/pkgs/development/libraries/isl/0.14.1.nix
@@ -12,9 +12,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index a0fe6a17e8d..9f212c422f4 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.37/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.38/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index ae4d3a71d53..9e88c0a99fc 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -2,7 +2,7 @@
   mkDerivation, lib, copyPathsToStore,
   extra-cmake-modules, perl,
   karchive, kconfig, kguiaddons, ki18n, kiconthemes, kio, kparts, libgit2,
-  qtscript, qtxmlpatterns, sonnet, syntax-highlighting
+  qtscript, qtxmlpatterns, sonnet, syntax-highlighting, qtquickcontrols
 }:
 
 mkDerivation {
@@ -11,7 +11,7 @@ mkDerivation {
   nativeBuildInputs = [ extra-cmake-modules perl ];
   buildInputs = [
     karchive kconfig kguiaddons ki18n kiconthemes kio libgit2 qtscript
-    qtxmlpatterns sonnet syntax-highlighting
+    qtxmlpatterns sonnet syntax-highlighting qtquickcontrols
   ];
   propagatedBuildInputs = [ kparts ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 090478ad04d..0672e48aba2 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,603 +3,603 @@
 
 {
   attica = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/attica-5.37.0.tar.xz";
-      sha256 = "13jqk4w9crh8pca6n9334l1gb8bmwf86pa36k0mfh5j19dq72g2p";
-      name = "attica-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/attica-5.38.0.tar.xz";
+      sha256 = "12smdcd7lcyjqiw0bsk3lwivrl6cvmiqv5cqaw0gz8flhvk29w96";
+      name = "attica-5.38.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/baloo-5.37.0.tar.xz";
-      sha256 = "19sl07lhjrri40vfi8wl6azgmg08lgfb98xx110j6spjbbbnww79";
-      name = "baloo-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/baloo-5.38.0.tar.xz";
+      sha256 = "14522akyxg36lclfblp65xai95i9hiydqjhkmfkadjbq82wm9s9i";
+      name = "baloo-5.38.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/bluez-qt-5.37.0.tar.xz";
-      sha256 = "1x6nj7vsn0sp9rckzkcbl6fwm7qzj5w98w2qys1fndb1spl7av8s";
-      name = "bluez-qt-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/bluez-qt-5.38.0.tar.xz";
+      sha256 = "0hanmygp4smbvczxn4dj997z3bln32p017z0r26z89m2p0b2ylwv";
+      name = "bluez-qt-5.38.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/breeze-icons-5.37.0.tar.xz";
-      sha256 = "17nr2phd0nxyx49igvl170ksikapgc4365z26pw0dmmw41llcbxw";
-      name = "breeze-icons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/breeze-icons-5.38.0.tar.xz";
+      sha256 = "09afi6c4h31ycs6aa85lqbmn392zi532zf8fp7ll43xxjv9isac9";
+      name = "breeze-icons-5.38.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/extra-cmake-modules-5.37.0.tar.xz";
-      sha256 = "1jr7nmhh4kyz1g454qkldfhimfjvvylqa19zna5iak08bkq8q696";
-      name = "extra-cmake-modules-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/extra-cmake-modules-5.38.0.tar.xz";
+      sha256 = "0ci3vdzdbcrbnxpqvf4hcwcrzz1ijhifp8b99wh3k53rinnai231";
+      name = "extra-cmake-modules-5.38.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/frameworkintegration-5.37.0.tar.xz";
-      sha256 = "0pcy3hjqbahbx65yxz5bl0h2ah4y3fb7mq3pj1rrp2cpp92s135a";
-      name = "frameworkintegration-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/frameworkintegration-5.38.0.tar.xz";
+      sha256 = "0w1n3czgsnnmaqwypy3mpci8s4ppv9030zxw7ka7rsvwgkpqijq8";
+      name = "frameworkintegration-5.38.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kactivities-5.37.0.tar.xz";
-      sha256 = "005xvzp10kvwcsl2w6ghcqgqnr2rdvv9w61i4y44y25vcb85g26v";
-      name = "kactivities-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kactivities-5.38.0.tar.xz";
+      sha256 = "0grm0cilc80g5ih2hqhwgwm35mlfnrs343j6ixkd9s0mflv2b798";
+      name = "kactivities-5.38.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kactivities-stats-5.37.0.tar.xz";
-      sha256 = "09zsdzf77palmww7x3dzinl0hxrm4z0q0yc2fmf0d7z6cfl695y2";
-      name = "kactivities-stats-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kactivities-stats-5.38.0.tar.xz";
+      sha256 = "0s57iz04n3m4fpqrqflda6vpk4l1mnf0nyz1iyza382fb375afd2";
+      name = "kactivities-stats-5.38.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kapidox-5.37.0.tar.xz";
-      sha256 = "1xwkaamifxjghv158rwslndfd9z70rm9ixnp1mmkgw8radwsqg5v";
-      name = "kapidox-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kapidox-5.38.0.tar.xz";
+      sha256 = "1j4k75lhqdnsxmgyvblla0627qvgabxivw6limfdb3rdpmqdxj76";
+      name = "kapidox-5.38.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/karchive-5.37.0.tar.xz";
-      sha256 = "1599lql0kcx705313bfvbazr7rayr6vsiwrpiq6iwljzc7lli1im";
-      name = "karchive-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/karchive-5.38.0.tar.xz";
+      sha256 = "0n5nxd3v9ljjff0r6k4xrvy5hj057b7c7jzcq258harl359d8m4k";
+      name = "karchive-5.38.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kauth-5.37.0.tar.xz";
-      sha256 = "0ciz28bvbvxlv0iz0cgs31x2m1czkki21ypzqj8rg2ix8jw2p65w";
-      name = "kauth-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kauth-5.38.0.tar.xz";
+      sha256 = "12nyfbilz4v4b2i5x191iph3jj4lcpw7z1rh0xrv5y1v7dczk6i7";
+      name = "kauth-5.38.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kbookmarks-5.37.0.tar.xz";
-      sha256 = "0l6rkj0b7hk2wg6dypj1dkl8pcd1vx89gaiixbhkd3vf7jp46n41";
-      name = "kbookmarks-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kbookmarks-5.38.0.tar.xz";
+      sha256 = "0s230mcwmrg0qpz42sg804m96j2xpnwj4bdp0mfv08x3jasqpbrq";
+      name = "kbookmarks-5.38.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kcmutils-5.37.0.tar.xz";
-      sha256 = "1ik1505f16swsmvrv62dacis33f1ccnmkw3zbhb84vbrbqyskvzx";
-      name = "kcmutils-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kcmutils-5.38.0.tar.xz";
+      sha256 = "0n6f2xvl5v8fwfxpdl6la1hb01dh4h1pcdrf05nn60v0rqg9f58b";
+      name = "kcmutils-5.38.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kcodecs-5.37.0.tar.xz";
-      sha256 = "0kmk97b5vbnyb3xjxwmg3l47aka8mkf50g4p7wvr096qwplffbva";
-      name = "kcodecs-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kcodecs-5.38.0.tar.xz";
+      sha256 = "0cnxhaj5jk7f3j9q4hzphc3nm3vdaqwy9xab5d4nvn1kv8vjv8ii";
+      name = "kcodecs-5.38.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kcompletion-5.37.0.tar.xz";
-      sha256 = "0qhjkqmd1jjy50hlzsdxwgnjwpfdrz3njl5n88h3nzp83yjv1ljz";
-      name = "kcompletion-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kcompletion-5.38.0.tar.xz";
+      sha256 = "0f955w67wrk15rdmglrk7k0xc5i6kah12bpb078xhzlyfackg52w";
+      name = "kcompletion-5.38.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kconfig-5.37.0.tar.xz";
-      sha256 = "1f0y2gmwy05b17clr7vg1zp18l1z0fd757v02ha7cwd64yznyr5d";
-      name = "kconfig-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kconfig-5.38.0.tar.xz";
+      sha256 = "0fi428dsr6qpa9336wcfic6hyix6l2p9s135w00qzdwhdkr4lx3r";
+      name = "kconfig-5.38.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kconfigwidgets-5.37.0.tar.xz";
-      sha256 = "001d1nj8q6xpl71rwm15rnvy5ajyxpvknvf4ic7p5pbik3021bs6";
-      name = "kconfigwidgets-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kconfigwidgets-5.38.0.tar.xz";
+      sha256 = "0w319d94wxn90dbbdfw5zrn2ddnv9vb7wldkpvvycq7yxrhsfw0x";
+      name = "kconfigwidgets-5.38.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kcoreaddons-5.37.0.tar.xz";
-      sha256 = "0a45sz11d7b2d8sbr9z57mv337nbhd94fiqk3issw470n0y46g3y";
-      name = "kcoreaddons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kcoreaddons-5.38.0.tar.xz";
+      sha256 = "1m3mn9fhllwcidzji2l26k5yxzrqkbyjdly04nh3s5rf823dvqwv";
+      name = "kcoreaddons-5.38.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kcrash-5.37.0.tar.xz";
-      sha256 = "16k2pwf3s3adgayd9vq7kk8c5gnq9g6wra4psrvs3a3c5k5am5y0";
-      name = "kcrash-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kcrash-5.38.0.tar.xz";
+      sha256 = "1a8hvyhwa112wx4ldadlrxpyda6qpial387j07dr1jq1cnzr0p11";
+      name = "kcrash-5.38.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdbusaddons-5.37.0.tar.xz";
-      sha256 = "0745arkp4wnpwyhjq02h7lfac049cmlg5qwhf96i7ss0w54vch4i";
-      name = "kdbusaddons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdbusaddons-5.38.0.tar.xz";
+      sha256 = "1mw9sl82y2aj7l2xj1skrbxbyv55br60h6f61r4f1mqcaxaqj7qw";
+      name = "kdbusaddons-5.38.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdeclarative-5.37.0.tar.xz";
-      sha256 = "1ish46m2dpnpqjnf8g660clcg7ky65w11cbk2m79pwyhqvhxgggj";
-      name = "kdeclarative-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdeclarative-5.38.0.tar.xz";
+      sha256 = "1966sxzhdkzi2lwg5ixhrx0yg10plbvn9lsjgnj9crghaajsnf4b";
+      name = "kdeclarative-5.38.0.tar.xz";
     };
   };
   kded = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kded-5.37.0.tar.xz";
-      sha256 = "162s5qx2qb0bi889f8jjvd3ci31azd8iwp25i04vwi0lzglwb8gy";
-      name = "kded-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kded-5.38.0.tar.xz";
+      sha256 = "0xsjzj5jx4wsrq5fnbv6raqlr11shz20p2mvypf5wfvq2c1vb5lb";
+      name = "kded-5.38.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/kdelibs4support-5.37.0.tar.xz";
-      sha256 = "1zz100m1sqfmg3ni7023b99qn79jhdd2ryw6534axl5zgn0sglh9";
-      name = "kdelibs4support-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/kdelibs4support-5.38.0.tar.xz";
+      sha256 = "06vlgziy212pwm4z9r8rbfa9ziwx3nkihy9b25m13gbh60baqapp";
+      name = "kdelibs4support-5.38.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdesignerplugin-5.37.0.tar.xz";
-      sha256 = "1197003bqcdpsyn6faasr2nhaadh7ryg92vjpqim78af3vwinsdw";
-      name = "kdesignerplugin-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdesignerplugin-5.38.0.tar.xz";
+      sha256 = "0rivjxgsxvsgk24lnzsqpzqr7m1i1faqnbby3rnkw2059z28l0y6";
+      name = "kdesignerplugin-5.38.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdesu-5.37.0.tar.xz";
-      sha256 = "1qfhkzk6l9rfdyiad8y6k30zlhziz3q2dxvxkmnghxmkg98yhdza";
-      name = "kdesu-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdesu-5.38.0.tar.xz";
+      sha256 = "1c9j2zih7r0jph41kzxnxpri9snphm1k4w4rs1q6zawwz8a5kcr5";
+      name = "kdesu-5.38.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdewebkit-5.37.0.tar.xz";
-      sha256 = "1ph3a50wix42hmsbc9jbfxla172aihjx9yzp9rza09j1a7va3hg1";
-      name = "kdewebkit-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdewebkit-5.38.0.tar.xz";
+      sha256 = "1cncbjkgrbrnvwx3izjqh9hqiw9bg6aqaq09f8bdryvr8537b0zf";
+      name = "kdewebkit-5.38.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdnssd-5.37.0.tar.xz";
-      sha256 = "03rd6znn2qwndn4m3bb03slwyic06ry535rawgyh06lfps0fcc5z";
-      name = "kdnssd-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdnssd-5.38.0.tar.xz";
+      sha256 = "101gygxrq2m3yfz6j0ldspib3pm3jjvqz505j3h15zj59qcwqw0x";
+      name = "kdnssd-5.38.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kdoctools-5.37.0.tar.xz";
-      sha256 = "0gbc5qqim6262hvkl9pf6rynnblxb3hsw3c4ars03ip7n761y0zl";
-      name = "kdoctools-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kdoctools-5.38.0.tar.xz";
+      sha256 = "0fbv7i1930rl496psny7nfiixvsnaq535h1zggwkwv6i9dh7wpy9";
+      name = "kdoctools-5.38.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kemoticons-5.37.0.tar.xz";
-      sha256 = "1cx978s1dm3v1jh4aymncxs44iizdqp174dqg9m5mf043fcvvinq";
-      name = "kemoticons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kemoticons-5.38.0.tar.xz";
+      sha256 = "1c0991yd8jx2diy5ynl11h5qqyapn1dsir2gy04y8m90h944vdd5";
+      name = "kemoticons-5.38.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kfilemetadata-5.37.0.tar.xz";
-      sha256 = "17mbm6pdi6ac61kj2qzxf7y3rbxhxg9rwqr7qy766gh3img2vq8p";
-      name = "kfilemetadata-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kfilemetadata-5.38.0.tar.xz";
+      sha256 = "1815r9lx99h9kzbk67bfk41jya3y2hsi112fsgpv3m4mg028pklm";
+      name = "kfilemetadata-5.38.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.37.0";
+    version = "5.38.1";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kglobalaccel-5.37.0.tar.xz";
-      sha256 = "1d84q3r6q5n2lclym9a9m1brfqnq3p3dykfpzvhcba3bjxh3cdsb";
-      name = "kglobalaccel-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kglobalaccel-5.38.1.tar.xz";
+      sha256 = "0si3bxxa6wj008j6rr6a1ljnsbmim4z0pqyx1z48ih4qamcfpkin";
+      name = "kglobalaccel-5.38.1.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kguiaddons-5.37.0.tar.xz";
-      sha256 = "13g6nlw8fk135i6z3f8ichy8whxd6v4rycg80dlvm25h66rg6vn5";
-      name = "kguiaddons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kguiaddons-5.38.0.tar.xz";
+      sha256 = "1jks0hwn665hlypl0qfhi5r0prqzrg1gv4skc88zp1kgx05kb9h1";
+      name = "kguiaddons-5.38.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/khtml-5.37.0.tar.xz";
-      sha256 = "1n0mx2xy9n5ffhvh58z3kn61aa7dhppsrwgxk697pybqy1h45ah2";
-      name = "khtml-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/khtml-5.38.0.tar.xz";
+      sha256 = "0fa61va3dbwml40y4scxks223swlb8vf5730wr7rijl91lz1adgy";
+      name = "khtml-5.38.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/ki18n-5.37.0.tar.xz";
-      sha256 = "1c1sy4pbhlwsajs2972brdmma5val72gkil6k0a0f58nfvvg952d";
-      name = "ki18n-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/ki18n-5.38.0.tar.xz";
+      sha256 = "0z9arj2s4fn04vavl6ad3avl1p5yr3mgr2n802lmvy2wlqicy314";
+      name = "ki18n-5.38.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kiconthemes-5.37.0.tar.xz";
-      sha256 = "1j7mgfsvxa24nf1d9xyn2jv9y9j523vghsvsm73x8d3ijibchfxq";
-      name = "kiconthemes-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kiconthemes-5.38.0.tar.xz";
+      sha256 = "01xa30r2cx312vbmz2c3x8vvna1cqb6fx91cjp4aivp9q4jwaz9a";
+      name = "kiconthemes-5.38.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kidletime-5.37.0.tar.xz";
-      sha256 = "01m4q3l2yq83f2dpbv6jry7cjkj6bqdgfpy5b8byaf1gf9w2firs";
-      name = "kidletime-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kidletime-5.38.0.tar.xz";
+      sha256 = "1i91w9hcb2k5n9qz8q7k2z44z9ss7r9i2zsg9vnl8am7dqqhmlsv";
+      name = "kidletime-5.38.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kimageformats-5.37.0.tar.xz";
-      sha256 = "1knha6wjzjs0vnkljwpfinzg3hg2jyh9c07ifqvd47cprl96ickg";
-      name = "kimageformats-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kimageformats-5.38.0.tar.xz";
+      sha256 = "0q78shcwgczdm5ylhbp9fnq70w3hqzkbynp2vpyyg5pjaam8xjlp";
+      name = "kimageformats-5.38.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kinit-5.37.0.tar.xz";
-      sha256 = "0b7dyy4hqyf6wk7gg2l23ldnji2zl8vzyj5wd5qh4yi7rdl6js5r";
-      name = "kinit-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kinit-5.38.0.tar.xz";
+      sha256 = "0k4i0zrwkz088vjkk7d7whwhkrjvqqhdigspzf58d1laryiy0jdf";
+      name = "kinit-5.38.0.tar.xz";
     };
   };
   kio = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kio-5.37.0.tar.xz";
-      sha256 = "0nxchbhs8p2d4243dyp7qa65g1p6r3ic2h6dz7w0aa0qzsy8wi29";
-      name = "kio-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kio-5.38.0.tar.xz";
+      sha256 = "15qmr2ghrj7pgqxrgpvhdp9g5vaap9mzlmry6ayph75m1afb4fpl";
+      name = "kio-5.38.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kirigami2-5.37.0.tar.xz";
-      sha256 = "1z42rsi8nzshrbv8m8vxkay4dq46kggglhgxbbgg2q00y8gjq9dd";
-      name = "kirigami2-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kirigami2-5.38.0.tar.xz";
+      sha256 = "18k41j5ijmgmzgl2rv4ac0bnxlax3505zi1nmqm8bkdpznhfr13c";
+      name = "kirigami2-5.38.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kitemmodels-5.37.0.tar.xz";
-      sha256 = "1nlpzzp4m0ghfz1p2hrwn4lbhjhxc8b8q8kbzqbh9hmwmimbzzrr";
-      name = "kitemmodels-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kitemmodels-5.38.0.tar.xz";
+      sha256 = "0s20in4jjd2pvv9bn79lvgqqlf806hw014icp51f5hfknrhpdyjc";
+      name = "kitemmodels-5.38.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kitemviews-5.37.0.tar.xz";
-      sha256 = "17r7vnlyiiifhrz4gb4fifshn1jb4c67lhadczi8d301rzk7wwsm";
-      name = "kitemviews-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kitemviews-5.38.0.tar.xz";
+      sha256 = "0ldi8qzs2sbhz8l57nshjrnwhjl9mhw90kcqw71cldp41wm0pps6";
+      name = "kitemviews-5.38.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kjobwidgets-5.37.0.tar.xz";
-      sha256 = "1162dxhpspd7p1735npp0amrxr5b0j467f5651k2rv6mvqfmqr4b";
-      name = "kjobwidgets-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kjobwidgets-5.38.0.tar.xz";
+      sha256 = "0vp6nc73c9788nrib742k9nzqbx4m8m77ipqh9dnnkx4ggrhsd55";
+      name = "kjobwidgets-5.38.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/kjs-5.37.0.tar.xz";
-      sha256 = "046hy8ji4i6p2xp5gnqa8dk82sv6sbh4xg67y79i82bbi97dvq9b";
-      name = "kjs-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/kjs-5.38.0.tar.xz";
+      sha256 = "0diw580k5kyv60bqhnxhqinlrn0b3p3n89iy0kdgjgnr6197fwy1";
+      name = "kjs-5.38.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/kjsembed-5.37.0.tar.xz";
-      sha256 = "0w2wk5azf1b45db58qj0cdc1l056x9s1xcd09ibavx5xmdvq6br0";
-      name = "kjsembed-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/kjsembed-5.38.0.tar.xz";
+      sha256 = "0nb07n54208gnmag7h3dhc8hri2s83ln1c9wq6c0xw7jchaz9z8a";
+      name = "kjsembed-5.38.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/kmediaplayer-5.37.0.tar.xz";
-      sha256 = "0fqxrkcwwzg11zsax9q169lisnfp9jsqg4ccd6xvv8kpkz3g04jp";
-      name = "kmediaplayer-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/kmediaplayer-5.38.0.tar.xz";
+      sha256 = "1qb2g8j871gf38i2dk2j9ags848fa3kqdjl3l4924hf28az0g736";
+      name = "kmediaplayer-5.38.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/knewstuff-5.37.0.tar.xz";
-      sha256 = "1scnxhxx4g8j4wml6x8i5v00rpaxyzzcm7vqbra2axbql5d8g8ny";
-      name = "knewstuff-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/knewstuff-5.38.0.tar.xz";
+      sha256 = "1l4cmfcsljg7v5l6341fxcp7c7i615l8351l941dwcmw4yng0lj0";
+      name = "knewstuff-5.38.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/knotifications-5.37.0.tar.xz";
-      sha256 = "0gvv6jal7n4m3y30ragjlyhghq3y2782d422im9klxqzlgdgvkb6";
-      name = "knotifications-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/knotifications-5.38.0.tar.xz";
+      sha256 = "1jvmv2hi3dbf0bd2b61l9s5lb1dx2rjl9z7pw1fb5j20910k6zgd";
+      name = "knotifications-5.38.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/knotifyconfig-5.37.0.tar.xz";
-      sha256 = "14kjckynszv8015p17j578l3knmkmw25d8r8ks4wavgj3db9bik5";
-      name = "knotifyconfig-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/knotifyconfig-5.38.0.tar.xz";
+      sha256 = "05hgglm6ypbaplxr43632zh5fmgsz6543110169k9fbjnczyhcyk";
+      name = "knotifyconfig-5.38.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kpackage-5.37.0.tar.xz";
-      sha256 = "1ikf55q2pk8vm70pqm7rmakja309zjh9z1lg0xqslq1pqd6xki7s";
-      name = "kpackage-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kpackage-5.38.0.tar.xz";
+      sha256 = "0v4j3kqgg52rlmdxmd98aqw0hk7i2xqsw9mhhxfs9c7vm1x05sxn";
+      name = "kpackage-5.38.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kparts-5.37.0.tar.xz";
-      sha256 = "0jrd8idkz8nhkda2rwgf8rysqngiv4r5ajmrzp2kfz1pr91a6l5h";
-      name = "kparts-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kparts-5.38.0.tar.xz";
+      sha256 = "19ba749pwnb7xvmr7lryn6z53zb49hqn0xq4j9fmbic95nh039zp";
+      name = "kparts-5.38.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kpeople-5.37.0.tar.xz";
-      sha256 = "1qgp4wqp985ac1m9wakpsvk3c2driwkwrjkc3aic7dyr1p456qsf";
-      name = "kpeople-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kpeople-5.38.0.tar.xz";
+      sha256 = "0yd29436bgfw6jjjr9n38hx8561mrlgl5vynci6ng9bx1jflay0x";
+      name = "kpeople-5.38.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kplotting-5.37.0.tar.xz";
-      sha256 = "0k4s0qvhjm9h1bmg16l32g4bsdrp2jrcila4dgzvrb56447px0zw";
-      name = "kplotting-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kplotting-5.38.0.tar.xz";
+      sha256 = "1hvfqm6i5fsyssb51w3yybsil8h9cbqgd2n8k0wnz99m8xifzn72";
+      name = "kplotting-5.38.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kpty-5.37.0.tar.xz";
-      sha256 = "0wb873r1ycgi11s0qx3lhvz54703yz5sax6fb6wdmri5c05gzd5a";
-      name = "kpty-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kpty-5.38.0.tar.xz";
+      sha256 = "0cgh8hixrplgc280652jlvk8ibcddmjvflwb0gjawd9iq7lcb66y";
+      name = "kpty-5.38.0.tar.xz";
     };
   };
   kross = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/portingAids/kross-5.37.0.tar.xz";
-      sha256 = "06pk6f6v82pd7x9rsmkhkp5r9sgcbrc503lqckl8d7argbb7j4k1";
-      name = "kross-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/portingAids/kross-5.38.0.tar.xz";
+      sha256 = "1dccg214cqpyn3nninalpknglfmchz2k1fk4rlgq53wf4n6w23b7";
+      name = "kross-5.38.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/krunner-5.37.0.tar.xz";
-      sha256 = "171qbhr1yszl2gcffm47p5wiwj71w9yhvk6srhvfpiwfyh61a4ld";
-      name = "krunner-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/krunner-5.38.0.tar.xz";
+      sha256 = "16fhl5zm8scyxk83mpkavvzkn23qgzcblg315jy6klr5bz9jxgcm";
+      name = "krunner-5.38.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kservice-5.37.0.tar.xz";
-      sha256 = "1zxs5yzd3rmy33vsip4c4igk9g38kzaggw8c29sxmgr8vgdrnvhr";
-      name = "kservice-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kservice-5.38.0.tar.xz";
+      sha256 = "0zaamvxhfx4xdy2m8spyhi0hdv6p0fn5hqn9pyi5l8xdixnwjc9d";
+      name = "kservice-5.38.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/ktexteditor-5.37.0.tar.xz";
-      sha256 = "0y04s1nwkf0np6iymjxf0jssin28qw2901kpb3iw8gd52ni5rrks";
-      name = "ktexteditor-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/ktexteditor-5.38.0.tar.xz";
+      sha256 = "195ygv1j4wfvly31g22wxz9sshhqyi1yyf2mv1v63d9ci88v7rri";
+      name = "ktexteditor-5.38.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/ktextwidgets-5.37.0.tar.xz";
-      sha256 = "1p8ns75sbnapm6ds16hx36q9vlnz9phgy28rx0gm1ckxqvm4yzr5";
-      name = "ktextwidgets-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/ktextwidgets-5.38.0.tar.xz";
+      sha256 = "120jxab8w1vhqcckda51r0x2pmfb2qd2h6inhivl72c4m5x89w7f";
+      name = "ktextwidgets-5.38.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kunitconversion-5.37.0.tar.xz";
-      sha256 = "1qvq61sbv9naj5ndi5xjwx7ami0xa6bqiajr912kbbbp2257cjsi";
-      name = "kunitconversion-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kunitconversion-5.38.0.tar.xz";
+      sha256 = "10k0xfb11r7l1bdnlanqgdwwx8wrs8bmnswb2y85xxr7wwsqnlvc";
+      name = "kunitconversion-5.38.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kwallet-5.37.0.tar.xz";
-      sha256 = "1l7jl3y0rzx2whnbp6w5p6kg71vwyccp2nwxxgcxr6541m0nihsz";
-      name = "kwallet-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kwallet-5.38.0.tar.xz";
+      sha256 = "1qysdj4nmkxywj7bzqdc78ifnqjnkrz9qbp4a49acpng2y4zw1nw";
+      name = "kwallet-5.38.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kwayland-5.37.0.tar.xz";
-      sha256 = "0d4c8l8k38pgj73kzlf1hsq52w31wy9wgpwph1bv0cq5yn2rjiyr";
-      name = "kwayland-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kwayland-5.38.0.tar.xz";
+      sha256 = "0gd58nvyc39waj7vv2c68r59qqpv0jppm95548j2p924w48syjj0";
+      name = "kwayland-5.38.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kwidgetsaddons-5.37.0.tar.xz";
-      sha256 = "1jmk377r1h4is2il7chh6bq8wbj21psf4b1yiw84iivg38vlpid4";
-      name = "kwidgetsaddons-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kwidgetsaddons-5.38.0.tar.xz";
+      sha256 = "1yh48qxdqz3rk020wr897vkzsi4nhh37lxbg6211xrlirn0lzvj5";
+      name = "kwidgetsaddons-5.38.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kwindowsystem-5.37.0.tar.xz";
-      sha256 = "0pd2n0j5pdv1x7wf4mwcpimnah73g6l0xidhqbpg37p829jix2k2";
-      name = "kwindowsystem-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kwindowsystem-5.38.0.tar.xz";
+      sha256 = "02xrin8lshvqkw12d0692z40h3g61f4crh28jcmi5zqlaxiyn5ic";
+      name = "kwindowsystem-5.38.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kxmlgui-5.37.0.tar.xz";
-      sha256 = "0jrvjlxkg9knj61b2gj2w6l96jlmww9kn4ij808ir35365x3cdg2";
-      name = "kxmlgui-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kxmlgui-5.38.0.tar.xz";
+      sha256 = "12cmyhm05nkr9xj7cpnqihrlndfqn1kjkzhcn1ywj20y1gd3mxv4";
+      name = "kxmlgui-5.38.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/kxmlrpcclient-5.37.0.tar.xz";
-      sha256 = "1jn9v86dpfx43qcdcsp6lpnga9q6aa5vxjkkg4wg0wbxmw4w9gvq";
-      name = "kxmlrpcclient-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/kxmlrpcclient-5.38.0.tar.xz";
+      sha256 = "0g9ah59h8vq68yg4pfdbqx44xrs856wrr181rsdbsizj0qj3hyaa";
+      name = "kxmlrpcclient-5.38.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/modemmanager-qt-5.37.0.tar.xz";
-      sha256 = "1fqf43kvj1v1mcdlbfxbh6sh3ycvg35aml2ywh2a684iz4qzq1aq";
-      name = "modemmanager-qt-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/modemmanager-qt-5.38.0.tar.xz";
+      sha256 = "18ham8lrxblywc634n49237js5y5k6qgjf5zrjc8gzapn934l89w";
+      name = "modemmanager-qt-5.38.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/networkmanager-qt-5.37.0.tar.xz";
-      sha256 = "01px9n97gyvyyfg3dp1k7dik9fprgx9i28hg8wjr2rb5dlr99jd1";
-      name = "networkmanager-qt-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/networkmanager-qt-5.38.0.tar.xz";
+      sha256 = "10d28nrkppmmfl9pwq2hkrvi461acf29djdzala4l37mp4dwvbf8";
+      name = "networkmanager-qt-5.38.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/oxygen-icons5-5.37.0.tar.xz";
-      sha256 = "1rns7n93f83qp5q11a7r5y87y0hvc0q95ar57cqy0fxsqrg4614h";
-      name = "oxygen-icons5-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/oxygen-icons5-5.38.0.tar.xz";
+      sha256 = "0fk97r3br5myqpnfalz67l5hkamxc5vc5swa68wpg1xih6jc3iid";
+      name = "oxygen-icons5-5.38.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/plasma-framework-5.37.0.tar.xz";
-      sha256 = "0kamvxfzrbx3msn0cp3k20clqchz9jg5wlazz3h6p6zmrk5v16bh";
-      name = "plasma-framework-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/plasma-framework-5.38.0.tar.xz";
+      sha256 = "1dvhqfi34v44h0wj0m68k477hmx53x9zsf4mh03xq164w1yz68sg";
+      name = "plasma-framework-5.38.0.tar.xz";
     };
   };
   prison = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/prison-5.37.0.tar.xz";
-      sha256 = "1icsirwfh7zscm8x9g2gp7aqzhs81ahhjflwjcwpz9bh0r9f1wb7";
-      name = "prison-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/prison-5.38.0.tar.xz";
+      sha256 = "0prj3z6s3aighmk4qarfljca7j9cy7ypvgh8rv5di3jb2v4nbg4m";
+      name = "prison-5.38.0.tar.xz";
     };
   };
   solid = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/solid-5.37.0.tar.xz";
-      sha256 = "1gb9gnp1a11q5abl97b7sq1if2rqcrcs0f33sakpxf1z9y0ppg8l";
-      name = "solid-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/solid-5.38.0.tar.xz";
+      sha256 = "1b3c5drx4m1x4ai0ziz0yan16a5s3ghf0py37mb92qyimq586lhh";
+      name = "solid-5.38.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/sonnet-5.37.0.tar.xz";
-      sha256 = "0sb6i464riadgb2q73nj0vy6xavr2m1sszrvghr20nj7i64f3kk0";
-      name = "sonnet-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/sonnet-5.38.0.tar.xz";
+      sha256 = "1355p88swnk828gsbnm3v4gryffnwbzjcdq49k8jwywzb65bnwxa";
+      name = "sonnet-5.38.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/syntax-highlighting-5.37.0.tar.xz";
-      sha256 = "1l56pb84z7sy0qq8xkd5w5v5418bm9n4qds0vd39ch655d47bl72";
-      name = "syntax-highlighting-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/syntax-highlighting-5.38.0.tar.xz";
+      sha256 = "101ng0l3jfg8x9bns9z38jk3iayijwcb299kf860vfy0nki8gf6l";
+      name = "syntax-highlighting-5.38.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.37.0";
+    version = "5.38.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.37/threadweaver-5.37.0.tar.xz";
-      sha256 = "1hb3721r1zbbyj211886sfkcxk18k0rsdhcg9ssagx10f29rpxx4";
-      name = "threadweaver-5.37.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.38/threadweaver-5.38.0.tar.xz";
+      sha256 = "1d89l9lknc1q25cz9r8iwc1a102q788mj01ghnl6ydss65rclvfv";
+      name = "threadweaver-5.38.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 09e6492b49a..6f96ce67e27 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
     sha256 = "0z0jxm6ppbxi9anv2h12nrb5lpwl95f96kw6dx7sn268fhkpad7x";
   };
 
-  configureFlags = [ "--with-tcl=no" ] ++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
+  configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
+    ++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""'';
 
   nativeBuildInputs = [ pkgconfig perl yacc ]
     # Provides the mig command used by the build scripts
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index 5cf74164f0f..bd0d23bd0cd 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -17,9 +17,6 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   # Libelf's custom NLS macros fail to determine the catalog file extension on
   # Darwin, so disable NLS for now.
   # FIXME: Eventually make Gettext a build input on all platforms.
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 284705e88d3..e48db6c9928 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation rec {
     sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
   };
 
-  patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch;
+  patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch ++
+    stdenv.lib.optional stdenv.isAarch64 (fetchurl {
+      url = https://src.fedoraproject.org/rpms/libffi/raw/ccffc1700abfadb0969495a6e51b964117fc03f6/f/libffi-aarch64-rhbz1174037.patch;
+      sha256 = "1vpirrgny43hp0885rswgv3xski8hg7791vskpbg3wdjdpb20wbc";
+    });
 
   outputs = [ "out" "dev" "man" "info" ];
 
diff --git a/pkgs/development/libraries/libipfix/default.nix b/pkgs/development/libraries/libipfix/default.nix
index eca1730ca7c..9d7bd273d8d 100644
--- a/pkgs/development/libraries/libipfix/default.nix
+++ b/pkgs/development/libraries/libipfix/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libipfix-${version}";
   version = "110209";
   src = fetchurl {
-    url = " http://sourceforge.net/projects/libipfix/files/libipfix/libipfix_110209.tgz";
+    url = "http://sourceforge.net/projects/libipfix/files/libipfix/libipfix_110209.tgz";
     sha256 = "0h7v0sxjjdc41hl5vq2x0yhyn04bczl11bqm97825mivrvfymhn6";
   };
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
index 1bad236e044..4be59af6f0c 100644
--- a/pkgs/development/libraries/libmpc/default.nix
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -20,9 +20,6 @@ stdenv.mkDerivation rec {
 
   doCheck = hostPlatform == buildPlatform;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = {
     description = "Library for multiprecision complex arithmetic with exact rounding";
 
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index 360ad66b7ce..6be199af193 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -17,9 +17,6 @@ stdenv.mkDerivation rec {
   # mpfr.h requires gmp.h
   propagatedBuildInputs = [ gmp ];
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   configureFlags =
     stdenv.lib.optional hostPlatform.isSunOS "--disable-thread-safe" ++
     stdenv.lib.optional hostPlatform.is64bit "--with-pic";
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index eaa90efc131..160599837c5 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -1,16 +1,15 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkgconfig, libxml2, pcre }:
 
-# The exact revision specified by Blender's install_deps.sh script.
-let rev = "3335ac164e68b2512a40914b14c74db260e6ff7d"; in
+stdenv.mkDerivation rec {
+  name = "opencollada-${version}";
 
-stdenv.mkDerivation {
-  name = "opencollada-1.3-${rev}";
+  version = "1.6.59";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCOLLADA";
-    inherit rev;
-    sha256 = "0s2m8crbg1kf09hpscrplv65a45dlg157b9c20chrv7wy0qizbw5";
+    rev = "v${version}";
+    sha256 = "0gpjvzcfyilb96x5ywajxgkw42ipwp4my36z9cq686bd9vpp3q0g";
   };
 
   buildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index e91fd0e60ff..ef979996a47 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,9 +1,9 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu
+{ lib, stdenv, stdenv_gcc5, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu
 , mesa_noglu, glew, ocl-icd, python3
 , cudaSupport ? false, cudatoolkit
 }:
 
-stdenv.mkDerivation rec {
+(if cudaSupport then stdenv_gcc5 else stdenv).mkDerivation rec {
   name = "opensubdiv-${version}";
   version = "3.2.0";
 
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 468ab25fb11..a0df28edb9b 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -1,18 +1,18 @@
 { stdenv, fetchurl, libxml2, gnutls, libxslt, pkgconfig, libgcrypt, libtool
-, openssl, makeWrapper }:
+, openssl, nss, makeWrapper }:
 
 let
-  version = "1.2.23";
+  version = "1.2.25";
 in
 stdenv.mkDerivation rec {
   name = "xmlsec-${version}";
 
   src = fetchurl {
     url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "17qfw5crkqn4v6xbkjxrjvcccfc00dy053892wrwv54qdk8n7m21";
+    sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
   };
 
-  buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl ];
+  buildInputs = [ makeWrapper libxml2 gnutls libxslt pkgconfig libgcrypt libtool openssl nss ];
   enableParallelBuilding = true;
   doCheck = true;
 
@@ -25,8 +25,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     homepage = http://www.aleksey.com/xmlsec;
+    downloadPage = https://www.aleksey.com/xmlsec/download.html;
     description = "XML Security Library in C based on libxml2";
     license = stdenv.lib.licenses.mit;
     platforms = with stdenv.lib.platforms; linux ++ darwin;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index ef9f2569c45..ceb4bb9f370 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
   setOutputFlags = false;
   outputDoc = "dev"; # single tiny man3 page
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   configureFlags = stdenv.lib.optional (!static) "--shared";
 
   postInstall = ''
diff --git a/pkgs/development/pharo/launcher/default.nix b/pkgs/development/pharo/launcher/default.nix
index 9cec6e81ae6..8282c38a1e7 100644
--- a/pkgs/development/pharo/launcher/default.nix
+++ b/pkgs/development/pharo/launcher/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
      secs=5
      echo -n "Running headless Pharo for $secs seconds to check for a crash... "
      timeout $secs \
-       "${pharo}/bin/pharo" -nodisplay PharoLauncher.image --no-quit eval 'true'
+       "${pharo}/bin/pharo" --nodisplay PharoLauncher.image --no-quit eval 'true'
      test "$?" == 124 && echo "ok")
   '';
 
diff --git a/pkgs/development/python-modules/aiohttp/cors.nix b/pkgs/development/python-modules/aiohttp/cors.nix
new file mode 100644
index 00000000000..78ed435504c
--- /dev/null
+++ b/pkgs/development/python-modules/aiohttp/cors.nix
@@ -0,0 +1,24 @@
+{lib, stdenv, buildPythonPackage, fetchPypi, pythonOlder, typing, aiohttp }:
+
+buildPythonPackage rec {
+  pname = "aiohttp-cors";
+  version = "0.5.3";
+  name = "${pname}-${version}";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11b51mhr7wjfiikvj3nc5s8c7miin2zdhl3yrzcga4mbpkj892in";
+  };
+
+  # Requires network access
+  doCheck = false;
+
+  propagatedBuildInputs = [ aiohttp ]
+  ++ lib.optional (pythonOlder "3.5") typing;
+
+  meta = with lib; {
+    description = "CORS support for aiohttp";
+    homepage = "https://github.com/aio-libs/aiohttp-cors";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ primeos ];
+  };
+}
diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix
index a0504de4fb8..7e9701906ef 100644
--- a/pkgs/development/python-modules/altair/default.nix
+++ b/pkgs/development/python-modules/altair/default.nix
@@ -19,6 +19,8 @@ buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [ vega pandas ipython traitlets ];
+  # Disabling checks, MockRequest object has no method send()
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "A declarative statistical visualization library for Python.";
diff --git a/pkgs/development/python-modules/arelle/default.nix b/pkgs/development/python-modules/arelle/default.nix
index 32c020961f2..3c4d802718e 100644
--- a/pkgs/development/python-modules/arelle/default.nix
+++ b/pkgs/development/python-modules/arelle/default.nix
@@ -1,31 +1,32 @@
 { gui ? true,
   buildPythonPackage, fetchFromGitHub, lib,
   sphinx_1_2, lxml, isodate, numpy, pytest,
-  tkinter ? null,
+  tkinter ? null, py3to2, isPy3k,
   ... }:
 
-let
+buildPythonPackage rec {
+  name = "arelle-${version}${lib.optionalString (!gui) "-headless"}";
+  version = "2017-08-24";
+
+  disabled = !isPy3k;
+
   # Releases are published at http://arelle.org/download/ but sadly no
   # tags are published on github.
-  version = "2017-06-01";
-
   src = fetchFromGitHub {
     owner = "Arelle";
     repo = "Arelle";
-    rev = "c883f843d55bb48f03a15afceb4cc823cd4601bd";
-    sha256 = "1h48qdj0anv541rd3kna8bmcwfrl1l3yw76wsx8p6hx5prbmzg4v";
+    rev = "cb24e35d57b562a864ae3dd4542c4d9fcf3865fe";
+    sha256 = "1sbvhb3xlfnyvf1xj9dxwpcrfiaf7ikkdwvvap7aaxfxgiz85ip2";
   };
-
-in
-
-buildPythonPackage {
-  name = "arelle-${version}${lib.optionalString (!gui) "-headless"}";
-  inherit src;
   outputs = ["out" "doc"];
+  patches = [
+    ./tests.patch
+  ];
   postPatch = "rm testParser2.py";
   buildInputs = [
     sphinx_1_2
     pytest
+    py3to2
   ];
   propagatedBuildInputs = [
     lxml
@@ -45,6 +46,8 @@ buildPythonPackage {
     (cd apidocs && make html && cp -r _build $doc)
     '';
 
+  doCheck = if gui then true else false;
+
   meta = {
     description = "An open source facility for XBRL, the eXtensible Business Reporting Language supporting various standards, exposed through a python or REST API" + lib.optionalString gui " and a graphical user interface";
     homepage = http://arelle.org/;
diff --git a/pkgs/development/python-modules/arelle/tests.patch b/pkgs/development/python-modules/arelle/tests.patch
new file mode 100644
index 00000000000..3e4aa0cd94a
--- /dev/null
+++ b/pkgs/development/python-modules/arelle/tests.patch
@@ -0,0 +1,32 @@
+diff --git c/arelle/CntlrProfiler.py i/arelle/CntlrProfiler.py
+index a64bb1b..dc0299d 100644
+--- c/arelle/CntlrProfiler.py
++++ i/arelle/CntlrProfiler.py
+@@ -1,5 +1,6 @@
+ 
+-import Cntlr, ModelManager, FileSource, time
++from arelle import Cntlr, ModelManager, FileSource
++import time
+ from optparse import OptionParser
+ import cProfile
+ import gettext
+diff --git c/arelle/ValidateFilingText.py i/arelle/ValidateFilingText.py
+index 12dbbbb..c0e98c3 100644
+--- c/arelle/ValidateFilingText.py
++++ i/arelle/ValidateFilingText.py
+@@ -16,7 +16,7 @@ XMLdeclaration = re.compile(r"<\?xml.*\?>", re.DOTALL)
+ XMLpattern = re.compile(r".*(<|&lt;|&#x3C;|&#60;)[A-Za-z_]+[A-Za-z0-9_:]*[^>]*(/>|>|&gt;|/&gt;).*", re.DOTALL)
+ CDATApattern = re.compile(r"<!\[CDATA\[(.+)\]\]")
+ #EFM table 5-1 and all &xxx; patterns
+-docCheckPattern = re.compile(r"&\w+;|[^0-9A-Za-z`~!@#$%&\*\(\)\.\-+ \[\]\{\}\|\\:;\"'<>,_?/=\t\n\r\m\f]") # won't match &#nnn;
++docCheckPattern = re.compile(r"&\w+;|[^0-9A-Za-z`~!@#$%&\*\(\)\.\-+ \[\]\{\}\|\\:;\"'<>,_?/=\t\n\r\f]") # won't match &#nnn;
+ namedEntityPattern = re.compile("&[_A-Za-z\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]"
+                                 r"[_\-\.:" 
+                                 "\xB7A-Za-z0-9\xC0-\xD6\xD8-\xF6\xF8-\xFF\u0100-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u0300-\u036F\u203F-\u2040]*;")
+@@ -904,4 +904,4 @@ def referencedFiles(modelXbrl, localFilesOnly=True):
+     # footnote or other elements
+     for elt in modelXbrl.modelDocument.xmlRootElement.iter("{http://www.w3.org/1999/xhtml}a", "{http://www.w3.org/1999/xhtml}img"):
+         addReferencedFile(elt, elt)
+-    return referencedFiles
+\ No newline at end of file
++    return referencedFiles
diff --git a/pkgs/development/python-modules/backports_csv/default.nix b/pkgs/development/python-modules/backports_csv/default.nix
new file mode 100644
index 00000000000..5f2e90e50b8
--- /dev/null
+++ b/pkgs/development/python-modules/backports_csv/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, future }:
+
+buildPythonPackage rec {
+
+  pname = "backports.csv";
+  version = "1.0.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1imzbrradkfn8s2m1qcimyn74dn1mz2p3j381jljn166rf2i6hlc";
+  };
+
+  propogatedBuildInputs = [ future ];
+
+  meta = with stdenv.lib; {
+    description = "Backport of Python 3 csv module";
+    homepage = https://github.com/ryanhiebert;
+    license = licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 26db071cad5..1d41e3fbafd 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -3,9 +3,9 @@
 let
   wheel_source = fetchPypi {
     pname = "wheel";
-    version = "0.29.0";
+    version = "0.30.0";
     format = "wheel";
-    sha256 = "ea8033fc9905804e652f75474d33410a07404c1a78dd3c949a66863bd1050ebd";
+    sha256 = "e721e53864f084f956f40f96124a74da0631ac13fbbd1ba99e8e2b5e9cafdf64";
   };
   setuptools_source = fetchPypi {
     pname = "setuptools";
diff --git a/pkgs/development/python-modules/cachetools/1.nix b/pkgs/development/python-modules/cachetools/1.nix
new file mode 100644
index 00000000000..edfe965fa80
--- /dev/null
+++ b/pkgs/development/python-modules/cachetools/1.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "cachetools";
+  version = "1.1.3";
+  disabled = isPyPy;  # a test fails
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0js7qx5pa8ibr8487lcf0x3a7w0xml0wa17snd6hjs0857kqhn20";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/tkem/cachetools";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cachetools/default.nix b/pkgs/development/python-modules/cachetools/default.nix
new file mode 100644
index 00000000000..fe69768c976
--- /dev/null
+++ b/pkgs/development/python-modules/cachetools/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "cachetools";
+  version = "2.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pdw2fr29pxlyn1g5fhdrrqbpn0iw062nv716ngdqvdx7hnizq7d";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Extensible memoizing collections and decorators";
+    homepage = "https://github.com/tkem/cachetools";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/cccolutils/default.nix b/pkgs/development/python-modules/cccolutils/default.nix
new file mode 100644
index 00000000000..edf7f0596c5
--- /dev/null
+++ b/pkgs/development/python-modules/cccolutils/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, krb5Full, nose, GitPython, mock, git }:
+
+buildPythonPackage rec {
+  pname = "CCColUtils";
+  version = "1.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gwcq4xan9as1j3q9k2zqrywxp46qx0ljwxbck9id2fvilds6ck3";
+  };
+  buildInputs = [ krb5Full ];
+  propagatedBuildInputs = [ nose GitPython mock git ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python Kerberos 5 Credential Cache Collection Utilities";
+    homepage = https://pagure.io/cccolutils;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ disassembler ];
+  };
+}
diff --git a/pkgs/development/python-modules/cffi/default.nix b/pkgs/development/python-modules/cffi/default.nix
index 55bd8deef9a..5b0265601a3 100644
--- a/pkgs/development/python-modules/cffi/default.nix
+++ b/pkgs/development/python-modules/cffi/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, isPyPy, fetchPypi, libffi, pycparser, pytest }:
+{ stdenv, buildPythonPackage, isPyPy, fetchPypi, libffi, pycparser, pytest }:
 
 if isPyPy then null else buildPythonPackage rec {
   pname = "cffi";
@@ -13,15 +13,14 @@ if isPyPy then null else buildPythonPackage rec {
   propagatedBuildInputs = [ libffi pycparser ];
   buildInputs = [ pytest ];
 
-  patchPhase = ''
-    substituteInPlace testing/cffi0/test_ownlib.py --replace "gcc" "cc"
-  '';
+  # The tests use -Werror but with python3.6 clang detects some unreachable code.
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.cc.isClang "-Wno-unreachable-code";
 
   checkPhase = ''
     py.test
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     maintainers = with maintainers; [ domenkozar ];
     homepage = https://cffi.readthedocs.org/;
     license = with licenses; [ mit ];
diff --git a/pkgs/development/python-modules/cld2-cffi/default.nix b/pkgs/development/python-modules/cld2-cffi/default.nix
new file mode 100644
index 00000000000..fd5b27d00e4
--- /dev/null
+++ b/pkgs/development/python-modules/cld2-cffi/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, buildPythonPackage, fetchPypi, six, cffi, nose }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "cld2-cffi";
+  version = "0.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rvcdx4fdh5yk4d2nlddq1q1r2r0xqp86hpmbdn447pdcj1r8a9s";
+  };
+
+  propagatedBuildInputs = [ six cffi ];
+  checkInputs = [ nose ];
+
+  # gcc doesn't approve of this code, so disable -Werror
+  NIX_CFLAGS_COMPILE = "-w";
+
+  checkPhase = "nosetests -v";
+
+  meta = with stdenv.lib; {
+    description = "CFFI bindings around Google Chromium's embedded compact language detection library (CLD2)";
+    homepage = "https://github.com/GregBowyer/cld2-cffi";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/cram/default.nix b/pkgs/development/python-modules/cram/default.nix
index 4db709769a6..c0fc5b177e0 100644
--- a/pkgs/development/python-modules/cram/default.nix
+++ b/pkgs/development/python-modules/cram/default.nix
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     #COVERAGE=${coverage}/bin/coverage $out/bin/cram tests
     #${coverage}/bin/coverage report --fail-under=100
     COVERAGE=coverage $out/bin/cram tests
-    coverage report --fail-under=100 --omit="*/_encoding.py"
+    coverage report --fail-under=100 --omit="*/_encoding.py,*/__main__.py"
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/cx_freeze/default.nix b/pkgs/development/python-modules/cx_freeze/default.nix
new file mode 100644
index 00000000000..3d937debe58
--- /dev/null
+++ b/pkgs/development/python-modules/cx_freeze/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, fetchPypi, isPyPy, isPy35, ncurses }:
+
+buildPythonPackage rec {
+  pname = "cx_Freeze";
+  version = "5.0.2";
+  name  = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zbx9j5z5l06bvwvlqvvn7h9dm7zjcjgxm7agbb625nymkq6cd15";
+  };
+
+  propagatedBuildInputs = [ ncurses ];
+
+  # timestamp need to come after 1980 for zipfiles and nix store is set to epoch
+  prePatch = ''
+    substituteInPlace cx_Freeze/freezer.py --replace "os.stat(module.file).st_mtime" "time.time()"
+  '';
+
+  # fails to find Console even though it exists on python 3.x
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A set of scripts and modules for freezing Python scripts into executables";
+    homepage = "http://cx-freeze.sourceforge.net/";
+    license = licenses.psfl;
+  };
+}
diff --git a/pkgs/development/python-modules/fedpkg/default.nix b/pkgs/development/python-modules/fedpkg/default.nix
new file mode 100644
index 00000000000..c3aeed0abbe
--- /dev/null
+++ b/pkgs/development/python-modules/fedpkg/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchurl, rpkg, offtrac, urlgrabber }:
+
+buildPythonPackage rec {
+  pname = "fedpkg";
+  version = "1.29";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/fedpkg/${name}.tar.bz2";
+    sha256 = "1cpy5p1rp7w52ighz3ynvhyw04z86y8phq3n8563lj6ayr8pw631";
+  };
+
+  #patches = [ ../development/python-modules/fedpkg-buildfix.diff ];
+  propagatedBuildInputs = [ rpkg offtrac urlgrabber ];
+
+  doCheck = false; # requires fedora_cert which isn't used anymore
+
+  meta = with stdenv.lib; {
+    description = "Subclass of the rpkg project for dealing with rpm packaging";
+    homepage = https://pagure.io/fedpkg;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ mornfall ];
+  };
+}
diff --git a/pkgs/development/python-modules/hcs_utils/default.nix b/pkgs/development/python-modules/hcs_utils/default.nix
new file mode 100644
index 00000000000..cfaaa563611
--- /dev/null
+++ b/pkgs/development/python-modules/hcs_utils/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, pythonOlder, buildPythonPackage, fetchPypi, six, glibcLocales, pytest }:
+
+buildPythonPackage rec {
+  pname = "hcs_utils";
+  version = "2.0";
+  name  = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04xq69hrys8lf9kp8pva0c4aphjjfw412km7c32ydkwq0i59rhp2";
+  };
+
+  LC_ALL="en_US.UTF-8";
+
+  checkPhase = ''
+    # root does not has /root as home in sandbox
+    py.test -k 'not test_expand' hcs_utils/test
+  '';
+
+  buildInputs = [ six glibcLocales ];
+  checkInputs = [ pytest ];
+
+  disabled = pythonOlder "3.4";
+
+  meta = with stdenv.lib; {
+    description = "Library collecting some useful snippets";
+    homepage    = https://pypi.python.org/pypi/hcs_utils/1.3;
+    license     = licenses.isc;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/hglib/default.nix b/pkgs/development/python-modules/hglib/default.nix
new file mode 100644
index 00000000000..4e96f938991
--- /dev/null
+++ b/pkgs/development/python-modules/hglib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose, mercurial, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "python-hglib";
+  version = "2.4";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qll9cc9ndqizby00gxdcf6d0cysdhjkr8670a4ffrk55bcnwgb9";
+  };
+
+  checkInputs = [ nose ];
+  buildInputs = [ mercurial ];
+
+  checkPhase = ''python test.py'';
+  doCheck = if isPy3k then false else true;
+
+  meta = with stdenv.lib; {
+    description = "Mercurial Python library";
+    homepage = "http://selenic.com/repo/python-hglib";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dfoxfranke ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/ijson/default.nix b/pkgs/development/python-modules/ijson/default.nix
new file mode 100644
index 00000000000..f70cc9d6945
--- /dev/null
+++ b/pkgs/development/python-modules/ijson/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "ijson";
+  version = "2.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x7l9k2dvxzd5mjgiq15nl9b0sxcqy1cqaz744bjwkz4z5mrypzg";
+  };
+
+  doCheck = false; # something about yajl
+
+  meta = with stdenv.lib; {
+    description = "Iterative JSON parser with a standard Python iterator interface";
+    homepage = "https://github.com/isagalaev/ijson";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/internetarchive/default.nix b/pkgs/development/python-modules/internetarchive/default.nix
new file mode 100644
index 00000000000..ff077bd1b01
--- /dev/null
+++ b/pkgs/development/python-modules/internetarchive/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub, pytest, six, clint, pyyaml, docopt
+, requests, jsonpatch, args, schema, responses, backports_csv }:
+
+buildPythonPackage rec {
+
+  pname = "internetarchive";
+  version = "1.7.2";
+  name = "${pname}-${version}";
+
+  # Can't use pypi, data files for tests missing
+  src = fetchFromGitHub {
+    owner = "jjjake";
+    repo = "internetarchive";
+    rev = "v${version}";
+    sha256 = "1cijagy22qi8ydrvizqmi1whnc3qr94yk0910lwgpxjywcygggir";
+  };
+    # It is hardcoded to specific versions, I don't know why.
+    preConfigure = ''
+        sed "s/schema>=.*/schema>=0.4.0',/" -i setup.py
+        sed "/backports.csv/d" -i setup.py
+    '';
+
+    #phases = [ "unpackPhase" "configurePhase" "installPhase" "fixupPhase" "installCheckPhase" ];
+    buildInputs = [ pytest responses ];
+    propagatedBuildInputs = [
+      six
+      clint
+      pyyaml
+      docopt
+      requests
+      jsonpatch
+      args
+      schema
+      backports_csv
+    ];
+
+    # Tests disabled because ia binary doesn't exist when tests run
+    doCheck = false;
+
+    checkPhase = "pytest tests";
+
+
+  meta = with stdenv.lib; {
+      description = "A python wrapper for the various Internet Archive APIs";
+    homepage = https://github.com/jjjake/internetarchive;
+    license = licenses.agpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/jedi/default.nix b/pkgs/development/python-modules/jedi/default.nix
index 1199435c7d2..5d904ee311f 100644
--- a/pkgs/development/python-modules/jedi/default.nix
+++ b/pkgs/development/python-modules/jedi/default.nix
@@ -1,9 +1,4 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pytest
-, glibcLocales
-}:
+{ stdenv, buildPythonPackage, fetchPypi, pytest, glibcLocales, tox, pytestcov }:
 
 buildPythonPackage rec {
   pname = "jedi";
@@ -15,19 +10,19 @@ buildPythonPackage rec {
     sha256 = "7abb618cac6470ebbd142e59c23daec5e6e063bfcecc8a43a037d2ab57276f4e";
   };
 
-  checkInputs = [ pytest glibcLocales ];
+  checkInputs = [ pytest glibcLocales tox pytestcov ];
 
   checkPhase = ''
     LC_ALL="en_US.UTF-8" py.test test
   '';
 
-  # 7 failed
-  #doCheck = false;
+  # tox required for tests: https://github.com/davidhalter/jedi/issues/808
+  doCheck = false;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/davidhalter/jedi;
     description = "An autocompletion tool for Python that can be used for text editors";
-    license = lib.licenses.lgpl3Plus;
-    maintainers = with lib.maintainers; [ garbas ];
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ garbas ];
   };
 }
diff --git a/pkgs/development/python-modules/koji/default.nix b/pkgs/development/python-modules/koji/default.nix
index 5c14fa05af6..56865b336be 100644
--- a/pkgs/development/python-modules/koji/default.nix
+++ b/pkgs/development/python-modules/koji/default.nix
@@ -1,20 +1,20 @@
-{ stdenv, fetchurl, buildPythonPackage, pycurl, isPy3k }:
+{ stdenv, fetchurl, buildPythonPackage, pycurl, six, rpm, dateutil }:
 
 buildPythonPackage rec {
   pname = "koji";
-  version = "1.8";
+  version = "1.13.0";
   name = "${pname}-${version}";
   format = "other";
 
   src = fetchurl {
-    url = "https://github.com/koji-project/koji/archive/koji-1.8.0.tar.gz";
-    sha256 = "17rkipdxccdccbbb70f9wx91cq9713psmq23j7lgb4mlnwan926h";
+    url = "https://releases.pagure.org/koji/${name}.tar.bz2";
+    sha256 = "18b18rcbdqqw33g7h20hf5bpbci2ixdi05yda1fvpv30c1kkzd8w";
   };
 
-  propagatedBuildInputs = [ pycurl ];
+  propagatedBuildInputs = [ pycurl six rpm dateutil ];
 
   # Judging from SyntaxError
-  disabled = isPy3k;
+  #disabled = isPy3k;
 
   makeFlags = "DESTDIR=$(out)";
 
diff --git a/pkgs/development/python-modules/mdp/default.nix b/pkgs/development/python-modules/mdp/default.nix
new file mode 100644
index 00000000000..28f6057e563
--- /dev/null
+++ b/pkgs/development/python-modules/mdp/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest_29, future, numpy }:
+
+buildPythonPackage rec {
+  pname = "MDP";
+  version = "3.5";
+  name  = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0aw1zxmyvx6gfmmnixbqmdaah28jl7rmqkzhxv53091asc23iw9k";
+  };
+
+  checkInputs = [ pytest_29 ];
+  propagatedBuildInputs = [ future numpy ];
+
+  # Tests disabled because of missing dependencies not in nix
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Library for building complex data processing software by combining widely used machine learning algorithms";
+    homepage = http://mdp-toolkit.sourceforge.net;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ nico202 ];
+  };
+}
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
new file mode 100644
index 00000000000..cf74e1dc134
--- /dev/null
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, buildPythonPackage, fetchPypi, jinja2, werkzeug, flask, requests, pytz
+, six, boto, httpretty, xmltodict, nose, sure, boto3, freezegun, dateutil }:
+
+buildPythonPackage rec {
+  pname = "moto";
+  version = "0.4.31";
+  name    = "moto-${version}";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19s8hfz4mzzzdksa0ddlvrga5mxdaqahk89p5l29a5id8127shr8";
+  };
+
+  propagatedBuildInputs = [
+    boto
+    dateutil
+    flask
+    httpretty
+    jinja2
+    pytz
+    werkzeug
+    requests
+    six
+    xmltodict
+  ];
+
+  checkInputs = [ boto3 nose sure freezegun ];
+
+  checkPhase = "nosetests";
+
+  # TODO: make this true; I think lots of the tests want network access but we can probably run the others
+  doCheck = false;
+}
diff --git a/pkgs/development/python-modules/nilearn/default.nix b/pkgs/development/python-modules/nilearn/default.nix
new file mode 100644
index 00000000000..f5dc7607e2d
--- /dev/null
+++ b/pkgs/development/python-modules/nilearn/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildPythonPackage, fetchPypi, nose, nibabel, numpy, scikitlearn
+, scipy, matplotlib }:
+
+buildPythonPackage rec {
+  pname = "nilearn";
+  version = "0.3.1";
+  name = "nilearn-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0kkarh5cdcd2czs0bf0s1g51qas84mfxfq0dzd7k5h5l0qr4zy06";
+  };
+
+  checkPhase = "nosetests --exclude with_expand_user nilearn/tests";
+
+  buildInputs = [ nose ];
+
+  propagatedBuildInputs = [
+    matplotlib
+    nibabel
+    numpy
+    scikitlearn
+    scipy
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://nilearn.github.io;
+    description = "A module for statistical learning on neuroimaging data";
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/openidc-client/default.nix b/pkgs/development/python-modules/openidc-client/default.nix
new file mode 100644
index 00000000000..9380654f472
--- /dev/null
+++ b/pkgs/development/python-modules/openidc-client/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests }:
+
+buildPythonPackage rec {
+  pname = "openidc-client";
+  version = "0.2.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fca4bpnswyji5nivsrbak5vsfphl4njyfrb8rm2034nq6mzb8ah";
+  };
+  propagatedBuildInputs = [ requests ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A CLI python OpenID Connect client with token caching and management";
+    homepage = https://github.com/puiterwijk;
+    license = licenses.mit;
+    maintainers = with maintainers; [ disassembler ];
+  };
+}
diff --git a/pkgs/development/python-modules/ptpython/default.nix b/pkgs/development/python-modules/ptpython/default.nix
new file mode 100644
index 00000000000..b553d50d130
--- /dev/null
+++ b/pkgs/development/python-modules/ptpython/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, wcwidth, six, prompt_toolkit, docopt
+, jedi, pygments }:
+
+buildPythonPackage rec {
+  pname = "ptpython";
+  version = "0.41";
+  name  = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hcaaadkp5n37hxggraynifa33wx1akklzvf6y4rvgjxbjl2g2x7";
+  };
+
+  propagatedBuildInputs = [ wcwidth six prompt_toolkit docopt jedi pygments ];
+
+  # no tests to run
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An advanced Python REPL";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ mlieberman85 ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/pyemd/default.nix b/pkgs/development/python-modules/pyemd/default.nix
new file mode 100644
index 00000000000..e23cf7794b1
--- /dev/null
+++ b/pkgs/development/python-modules/pyemd/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, numpy, cython }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pyemd";
+  version = "0.4.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "13y06y7r1697cv4r430g45fxs40i2yk9xn0dk9nqlrpddw3a0mr4";
+  };
+
+  propagatedBuildInputs = [ numpy ];
+  buildInputs = [ cython ];
+
+  meta = with stdenv.lib; {
+    description = "A Python wrapper for Ofir Pele and Michael Werman's implementation of the Earth Mover's Distance";
+    homepage = http://github.com/wmayner/pyemd;
+    license = licenses.mit;
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyphen/default.nix b/pkgs/development/python-modules/pyphen/default.nix
new file mode 100644
index 00000000000..0e134f9d84a
--- /dev/null
+++ b/pkgs/development/python-modules/pyphen/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "Pyphen";
+  version = "0.9.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mqb5jrigxipxzp1d8nbwkq0cfjw77pnn6hc4mp1yd2mn059mymb";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Pure Python module to hyphenate text";
+    homepage = "https://github.com/Kozea/Pyphen";
+    license = with licenses; [gpl2 lgpl21 mpl20];
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/python_fedora/default.nix b/pkgs/development/python-modules/python_fedora/default.nix
new file mode 100644
index 00000000000..7ab698ecd08
--- /dev/null
+++ b/pkgs/development/python-modules/python_fedora/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, kitchen, requests, bunch, paver
+, six, munch, urllib3, beautifulsoup4, openidc-client, lockfile }:
+
+buildPythonPackage rec {
+  pname = "python-fedora";
+  version = "0.9.0";
+  name = "python-fedora-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0sf468scw52sw9pzxrnmqs54rix9c4fp1mi2r5k5n7mgjrmf6j0x";
+  };
+  propagatedBuildInputs = [ kitchen requests bunch paver lockfile
+    six munch urllib3 beautifulsoup4 openidc-client ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python Fedora Module";
+    homepage = https://github.com/fedora-infra/python-fedora;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ mornfall ];
+  };
+}
diff --git a/pkgs/development/python-modules/pywebdav/default.nix b/pkgs/development/python-modules/pywebdav/default.nix
index a69c8568aca..c228e44f893 100644
--- a/pkgs/development/python-modules/pywebdav/default.nix
+++ b/pkgs/development/python-modules/pywebdav/default.nix
@@ -1,18 +1,18 @@
-{ lib, fetchurl, buildPythonPackage, isPy3k }:
+{ stdenv, fetchPypi, buildPythonPackage, isPy3k }:
 
 buildPythonPackage rec {
-  pname = "pywebdav";
-  name = "${pname}-${version}";
+  pname = "PyWebDAV";
   version = "0.9.8";
+  name = "${pname}-${version}";
   disabled = isPy3k;
-  src = fetchurl {
-    url = "mirror://pypi/p/pywebdav/${name}.tar.gz";
+  src = fetchPypi {
+    inherit pname version;
     sha256 = "1v10vg79h85milnq8w7yd75qq5z6297ywkn9b2kxajldzwqxn3ji";
   };
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://code.google.com/p/pywebdav/;
     description = "WebDAV library including a standalone server for python";
-    maintainers = with lib.maintainers; [ johbo ];
-    license = lib.licenses.gpl2Plus;
+    maintainers = with maintainers; [ johbo ];
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/python-modules/rpkg-buildfix.diff b/pkgs/development/python-modules/rpkg-buildfix.diff
deleted file mode 100644
index d410f09072f..00000000000
--- a/pkgs/development/python-modules/rpkg-buildfix.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/setup.py	2012-03-12 23:26:16.000000000 +0100
-+++ b/setup.py	2014-02-04 14:52:02.335856975 +0100
-@@ -14,6 +14,6 @@
-     package_dir = {'': 'src'},
-     packages = ['pyrpkg'],
-     scripts = ['src/rpkg'],
--    data_files = [('/etc/bash_completion.d', ['src/rpkg.bash']),
--                  ('/etc/rpkg', ['src/rpkg.conf'])],
-+    data_files = [('etc/bash_completion.d', ['src/rpkg.bash']),
-+                  ('etc/rpkg', ['src/rpkg.conf'])],
- )
diff --git a/pkgs/development/python-modules/rpkg/default.nix b/pkgs/development/python-modules/rpkg/default.nix
new file mode 100644
index 00000000000..1e8baa553bd
--- /dev/null
+++ b/pkgs/development/python-modules/rpkg/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, buildPythonPackage, isPy3k, fetchurl, six, pycurl, cccolutils
+, koji, rpmfluff }:
+
+buildPythonPackage rec {
+  pname = "rpkg";
+  version = "1.50";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/rpkg/${name}.tar.gz";
+    sha256 = "0j83bnm9snr3m1mabw2cvd2r7d6kcnkzyz7b9p65fhcc3c7s3rvv";
+  };
+
+
+  propagatedBuildInputs = [ pycurl koji cccolutils six rpmfluff ];
+
+  doCheck = false; # needs /var/lib/rpm database to run tests
+
+  meta = with stdenv.lib; {
+    description = "Python library for dealing with rpm packaging";
+    homepage = https://pagure.io/fedpkg;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ mornfall ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/rpmfluff/default.nix b/pkgs/development/python-modules/rpmfluff/default.nix
new file mode 100644
index 00000000000..c6cd2521292
--- /dev/null
+++ b/pkgs/development/python-modules/rpmfluff/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchurl }:
+
+buildPythonPackage rec {
+  pname = "rpmfluff";
+  version = "0.5.3";
+  name  = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "https://releases.pagure.org/${pname}/${name}.tar.xz";
+    sha256 = "1i45f012ngpxs83m3dpmaj3hs8z7r9sbf05vnvzgs3hpgsbhxa7r";
+  };
+
+  meta = with stdenv.lib; {
+    description = "lightweight way of building RPMs, and sabotaging them";
+    homepage = https://pagure.io/rpmfluff;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ disassembler ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/schema/default.nix b/pkgs/development/python-modules/schema/default.nix
new file mode 100644
index 00000000000..2c57ce29582
--- /dev/null
+++ b/pkgs/development/python-modules/schema/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi, pytest }:
+
+buildPythonPackage rec {
+
+  pname = "schema";
+  version = "0.6.6";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lw28j9w9vxyigg7vkfkvi6ic9lgjkdnfvnxdr7pklslqvzmk2vm";
+  };
+
+  checkInputs = [ pytest ];
+
+  meta = with stdenv.lib; {
+    description = "Library for validating Python data structures";
+    homepage = https://github.com/keleshev/schema;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/spacy/models.json b/pkgs/development/python-modules/spacy/models.json
new file mode 100644
index 00000000000..e9c163c6525
--- /dev/null
+++ b/pkgs/development/python-modules/spacy/models.json
@@ -0,0 +1,42 @@
+[{
+  "pname": "es_core_web_md",
+  "version": "1.0.0",
+  "sha256": "0ikyakdhnj6rrfpr8k83695d1gd3z9n60a245hwwchv94jmr7r6s",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "fr_depvec_web_lg",
+  "version": "1.0.0",
+  "sha256": "0nxmdszs1s5by2874cz37azrmwamh1ngdsiylffkfihzq6s8bhka",
+  "license": "cc-by-nc-sa-40"
+},
+{
+  "pname": "en_core_web_md",
+  "version": "1.2.1",
+  "sha256": "12prr4hcbfdaky9rcna1y1ykr417jkhkks2r8l06g8fb7am3pvp3",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "en_depent_web_md",
+  "version": "1.2.1",
+  "sha256": "0giyr35q5lpp5drpcamyvb5gsjnhj62mk3ndfr49nm1s6d5f6m52",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "en_core_web_sm",
+  "version": "1.2.0",
+  "sha256": "0vc4l77dcwa9lmzyqdci8ikjc0m2rhasl2zvyba547vf76qb0528",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "de_core_news_md",
+  "version": "1.0.0",
+  "sha256": "072jz2rdi1nckny7k16avp86vjg4didfdsw816kfl9zwr88iny6g",
+  "license": "cc-by-sa-40"
+},
+{
+  "pname": "en_vectors_glove_md",
+  "version": "1.0.0",
+  "sha256": "1jbr27xnh5fdww8yphpvk2brfnzb174wfnxkzdqwv3iyi02zsin6",
+  "license": "cc-by-sa-40"
+}]
diff --git a/pkgs/development/python-modules/spacy/models.nix b/pkgs/development/python-modules/spacy/models.nix
new file mode 100644
index 00000000000..2d591eef723
--- /dev/null
+++ b/pkgs/development/python-modules/spacy/models.nix
@@ -0,0 +1,26 @@
+{ stdenv, buildPythonPackage, fetchurl, spacy }:
+let
+  buildModelPackage = { pname, version, sha256, license }: buildPythonPackage {
+    name = "${pname}-${version}";
+    inherit pname version;
+
+    src = fetchurl {
+      url = "https://github.com/explosion/spacy-models/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
+      inherit sha256;
+    };
+
+    propagatedBuildInputs = [ spacy ];
+
+    meta = with stdenv.lib; {
+      description = "Models for the spaCy NLP library";
+      homepage    = "https://github.com/explosion/spacy-models";
+      license     = licenses."${license}";
+      maintainers = with maintainers; [ rvl ];
+    };
+  };
+
+  makeModelSet = models: with stdenv.lib; listToAttrs (map (m: nameValuePair m.pname (buildModelPackage m)) models);
+
+in makeModelSet (stdenv.lib.importJSON ./models.json)
+
+# cat models.json | jq -r '.[] | @uri "https://github.com/explosion/spacy-models/releases/download/\(.pname)-\(.version)/\(.pname)-\(.version).tar.gz"' | xargs -n1 nix-prefetch-url
diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix
new file mode 100644
index 00000000000..1647b837d97
--- /dev/null
+++ b/pkgs/development/python-modules/textacy/default.nix
@@ -0,0 +1,65 @@
+{ stdenv
+, buildPythonPackage
+, isPy27
+, fetchPypi
+, cachetools
+, cld2-cffi
+, cython
+, cytoolz
+, ftfy
+, ijson
+, matplotlib
+, networkx
+, numpy
+, pyemd
+, pyphen
+, python-Levenshtein
+, requests
+, scikitlearn
+, scipy
+, spacy
+, tqdm
+, unidecode
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "textacy";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04wf3a7zgzz83nmgkh488wkl50zm9yfdpv3sl12sm2zj685plqcz";
+  };
+
+  disabled = isPy27; # 2.7 requires backports.csv
+
+  propagatedBuildInputs = [
+    cachetools
+    cld2-cffi
+    cytoolz
+    ftfy
+    ijson
+    matplotlib
+    networkx
+    numpy
+    pyemd
+    pyphen
+    python-Levenshtein
+    requests
+    scikitlearn
+    scipy
+    spacy
+    tqdm
+    unidecode
+  ];
+
+  doCheck = false;  # tests want to download data files
+
+  meta = with stdenv.lib; {
+    description = "Higher-level text processing, built on spaCy";
+    homepage = "http://textacy.readthedocs.io/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ rvl ];
+  };
+}
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
new file mode 100644
index 00000000000..1a5da395ee3
--- /dev/null
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi, glibcLocales }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "Unidecode";
+  version = "0.04.21";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0lfhp9c5xrbpjvbpr12ji52g1lx04404bzzdg6pvabhzisw6l2i8";
+  };
+
+  LC_ALL="en_US.UTF-8";
+
+  buildInputs = [ glibcLocales ];
+
+  meta = with stdenv.lib; {
+    homepage = http://pypi.python.org/pypi/Unidecode/;
+    description = "ASCII transliterations of Unicode text";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/urlgrabber/default.nix b/pkgs/development/python-modules/urlgrabber/default.nix
new file mode 100644
index 00000000000..f399f4d426e
--- /dev/null
+++ b/pkgs/development/python-modules/urlgrabber/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, pycurl, isPy3k }:
+
+buildPythonPackage rec {
+  pname = "urlgrabber";
+  version = "3.10.2";
+  name  = "${pname}-${version}";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0w1h7hlsq406bxfy2pn4i9bd003bwl0q9b7p03z3g6yl0d21ddq5";
+  };
+
+  propagatedBuildInputs = [ pycurl ];
+
+  meta = with stdenv.lib; {
+    homepage = "urlgrabber.baseurl.org";
+    license = licenses.lgpl2Plus;
+    description = "Python module for downloading files";
+    maintainers = with maintainers; [ qknight ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
index 5574a800b5b..c77d8a3859e 100644
--- a/pkgs/development/python-modules/wheel/default.nix
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -9,18 +9,21 @@
 
 buildPythonPackage rec {
   pname = "wheel";
-  version = "0.29.0";
+  version = "0.30.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ebb8ad7e26b448e9caa4773d2357849bf80ff9e313964bcaf79cbf0201a1648";
+    sha256 = "9515fe0a94e823fd90b08d22de45d7bde57c90edce705b22f5e1ecf7e1b653c8";
   };
 
-  buildInputs = [ pytest pytestcov coverage ];
+  checkInputs = [ pytest pytestcov coverage ];
 
   propagatedBuildInputs = [ jsonschema ];
 
+  # No tests in archive
+  doCheck = false;
+
   # We add this flag to ignore the copy installed by bootstrapped-pip
   installFlags = [ "--ignore-installed" ];
 
diff --git a/pkgs/development/tools/analysis/valgrind/default.nix b/pkgs/development/tools/analysis/valgrind/default.nix
index 21dba34e884..875feea84d4 100644
--- a/pkgs/development/tools/analysis/valgrind/default.nix
+++ b/pkgs/development/tools/analysis/valgrind/default.nix
@@ -18,7 +18,15 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patches = stdenv.lib.optionals (stdenv.isDarwin) [ ./valgrind-bzero.patch ];
+  preConfigure = stdenv.lib.optionalString stdenv.isDarwin (
+    let OSRELEASE = ''
+      $(awk -F '"' '/#define OSRELEASE/{ print $2 }' \
+      <${xnu}/Library/Frameworks/Kernel.framework/Headers/libkern/version.h)'';
+    in ''
+      echo "Don't derive our xnu version using uname -r."
+      substituteInPlace configure --replace "uname -r" "echo ${OSRELEASE}"
+    ''
+  );
 
   postPatch = stdenv.lib.optionalString (stdenv.isDarwin)
     # Apple's GCC doesn't recognize `-arch' (as of version 4.2.1, build 5666).
diff --git a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch b/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
deleted file mode 100644
index f56a277ad71..00000000000
--- a/pkgs/development/tools/analysis/valgrind/valgrind-bzero.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Index: coregrind/m_main.c
-===================================================================
---- a/coregrind/m_main.c (revision 16102)
-+++ b/coregrind/m_main.c (revision 16103)
-@@ -3489,6 +3489,10 @@
-     // skip check
-   return VG_(memset)(s,c,n);
- }
-+void __bzero(void* s, UWord n);
-+void __bzero(void* s, UWord n) {
-+    (void)VG_(memset)(s,0,n);
-+}
- void bzero(void *s, SizeT n);
- void bzero(void *s, SizeT n) {
-     VG_(memset)(s,0,n);
-@@ -4058,20 +4062,7 @@
- 
- #endif
- 
--#if defined(VGO_darwin) && DARWIN_VERS == DARWIN_10_10
- 
--/* This might also be needed for > DARWIN_10_10, but I have no way
--   to test for that.  Hence '==' rather than '>=' in the version
--   test above. */
--void __bzero ( void* s, UWord n );
--void __bzero ( void* s, UWord n )
--{
--   (void) VG_(memset)( s, 0, n );
--}
--
--#endif
--
--
- /*--------------------------------------------------------------------*/
- /*--- end                                                          ---*/
- /*--------------------------------------------------------------------*/
-
diff --git a/pkgs/development/tools/dtools/default.nix b/pkgs/development/tools/dtools/default.nix
index 28d0c57f2e3..0d639875da5 100644
--- a/pkgs/development/tools/dtools/default.nix
+++ b/pkgs/development/tools/dtools/default.nix
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
 
       substituteInPlace posix.mak \
           --replace gcc $CC
+
+      # To fix rdmd test with newer phobos
+      substituteInPlace rdmd.d \
+          --replace " std.stdiobase," ""
   '';
 
   nativeBuildInputs = [ dmd ];
@@ -45,10 +49,11 @@ stdenv.mkDerivation rec {
     }
 	'';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Ancillary tools for the D programming language compiler";
     homepage = https://github.com/dlang/tools;
     license = lib.licenses.boost;
+    maintainers = with maintainers; [ ThomasMader ];
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/irony-server/default.nix b/pkgs/development/tools/irony-server/default.nix
index 0dcb74b803d..b52cbf21168 100644
--- a/pkgs/development/tools/irony-server/default.nix
+++ b/pkgs/development/tools/irony-server/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "irony-server-${version}";
   inherit (irony) version;
 
-  buildInputs = [ cmake llvmPackages.clang ];
+  nativeBuildInputs = [ cmake ];
 
   dontUseCmakeBuildDir = true;
 
diff --git a/pkgs/development/tools/misc/binutils/default.nix b/pkgs/development/tools/misc/binutils/default.nix
index 549503f0013..62b4812fae5 100644
--- a/pkgs/development/tools/misc/binutils/default.nix
+++ b/pkgs/development/tools/misc/binutils/default.nix
@@ -61,9 +61,6 @@ stdenv.mkDerivation rec {
 
   inherit noSysDirs;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   preConfigure = ''
     # Clear the default library search path.
     if test "$noSysDirs" = "1"; then
diff --git a/pkgs/development/tools/misc/gnum4/default.nix b/pkgs/development/tools/misc/gnum4/default.nix
index 33ea7890746..9cd6e2c5e1a 100644
--- a/pkgs/development/tools/misc/gnum4/default.nix
+++ b/pkgs/development/tools/misc/gnum4/default.nix
@@ -15,9 +15,6 @@ stdenv.mkDerivation rec {
   # Upstream is aware of it; it may be in the next release.
   patches = [ ./s_isdir.patch ] ++ stdenv.lib.optional hostPlatform.isDarwin stdenv.secure-format-patch;
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = {
     homepage = http://www.gnu.org/software/m4/;
     description = "GNU M4, a macro processor";
diff --git a/pkgs/development/tools/misc/jscoverage/default.nix b/pkgs/development/tools/misc/jscoverage/default.nix
index cecc25355ca..cb7d9af86e7 100644
--- a/pkgs/development/tools/misc/jscoverage/default.nix
+++ b/pkgs/development/tools/misc/jscoverage/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "c45f051cec18c10352f15f9844f47e37e8d121d5fd16680e2dd0f3b4420eb7f4";
   };
 
+  patches = [
+    ./jsfalse_to_null.patch
+  ];
+
   buildInputs = [ autoconf makedepend perl python unzip zip ];
 
   # It works without MOZ_FIX_LINK_PATHS, circumventing an impurity
diff --git a/pkgs/development/tools/misc/jscoverage/jsfalse_to_null.patch b/pkgs/development/tools/misc/jscoverage/jsfalse_to_null.patch
new file mode 100644
index 00000000000..b49594964e1
--- /dev/null
+++ b/pkgs/development/tools/misc/jscoverage/jsfalse_to_null.patch
@@ -0,0 +1,26 @@
+diff --git i/js/jsstr.cpp w/js/jsstr.cpp
+index e662bf1..b18597e 100644
+--- i/js/jsstr.cpp
++++ w/js/jsstr.cpp
+@@ -3040,7 +3040,7 @@ js_InitStringClass(JSContext *cx, JSObject *obj)
+                                  JSVAL_VOID, NULL, NULL,
+                                  JSPROP_READONLY | JSPROP_PERMANENT | JSPROP_SHARED, 0, 0,
+                                  NULL)) {
+-        return JS_FALSE;
++        return NULL;
+     }
+ 
+     return proto;
+diff --git i/js/jsxml.cpp w/js/jsxml.cpp
+index 5621ede..e00c97d 100644
+--- i/js/jsxml.cpp
++++ w/js/jsxml.cpp
+@@ -303,7 +303,7 @@ NewXMLNamespace(JSContext *cx, JSString *prefix, JSString *uri, JSBool declared)
+ 
+     obj = js_NewObject(cx, &js_NamespaceClass.base, NULL, NULL);
+     if (!obj)
+-        return JS_FALSE;
++        return NULL;
+     JS_ASSERT(JSVAL_IS_VOID(obj->fslots[JSSLOT_PREFIX]));
+     JS_ASSERT(JSVAL_IS_VOID(obj->fslots[JSSLOT_URI]));
+     JS_ASSERT(JSVAL_IS_VOID(obj->fslots[JSSLOT_DECLARED]));
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 9e29487a2f3..3591cdc0f52 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-tools-${version}";
-  version = "2.9.5";
+  version = "2.10.1";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${name}.tar.bz2";
-    sha256 = "073kzfiwgvz7c10hihjwn1p53hh1jwvdkkway0jj2rbczjv9x0vp";
+    sha256 = "005axllajfbxh73vh1cacbapdvbxjsi3pkzq40giih4ps9x4pg10";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/lttng-ust/default.nix b/pkgs/development/tools/misc/lttng-ust/default.nix
index 3b294d13757..827ddedaee3 100644
--- a/pkgs/development/tools/misc/lttng-ust/default.nix
+++ b/pkgs/development/tools/misc/lttng-ust/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   name = "lttng-ust-${version}";
-  version = "2.9.1";
+  version = "2.10.0";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-ust/${name}.tar.bz2";
-    sha256 = "196snxrs1p205jz566rwxh7dqzsa3k16c7vm6k7i3gdvrmkx54dq";
+    sha256 = "1avx4p71g9m3zvynhhhysxnpkqyhhlv42xiv9502bvp3nwfkgnqs";
   };
 
   buildInputs = [ liburcu python ];
diff --git a/pkgs/development/tools/misc/patchelf/default.nix b/pkgs/development/tools/misc/patchelf/default.nix
index 787b434df3c..1982a25e3df 100644
--- a/pkgs/development/tools/misc/patchelf/default.nix
+++ b/pkgs/development/tools/misc/patchelf/default.nix
@@ -10,9 +10,6 @@ stdenv.mkDerivation rec {
 
   setupHook = [ ./setup-hook.sh ];
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   #doCheck = true; # problems when loading libc.so.6
 
   meta = {
diff --git a/pkgs/development/tools/misc/texinfo/6.3.nix b/pkgs/development/tools/misc/texinfo/6.3.nix
index 704611e315a..c6d3a6f6677 100644
--- a/pkgs/development/tools/misc/texinfo/6.3.nix
+++ b/pkgs/development/tools/misc/texinfo/6.3.nix
@@ -17,9 +17,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = stdenv.lib.optional stdenv.isSunOS "AWK=${gawk}/bin/awk";
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   preInstall = ''
     installFlags="TEXMF=$out/texmf-dist";
     installTargets="install install-tex";
diff --git a/pkgs/development/tools/parsing/bison/3.x.nix b/pkgs/development/tools/parsing/bison/3.x.nix
index f4d02043066..2b0c14ea832 100644
--- a/pkgs/development/tools/parsing/bison/3.x.nix
+++ b/pkgs/development/tools/parsing/bison/3.x.nix
@@ -13,9 +13,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ m4 perl ] ++ stdenv.lib.optional stdenv.isSunOS help2man;
   propagatedBuildInputs = [ m4 ];
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = {
     homepage = http://www.gnu.org/software/bison/;
     description = "Yacc-compatible parser generator";
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index 1825bbe81c3..32be2a503bf 100644
--- a/pkgs/development/tools/rtags/default.nix
+++ b/pkgs/development/tools/rtags/default.nix
@@ -4,7 +4,9 @@ stdenv.mkDerivation rec {
   name = "rtags-${version}";
   version = "2.12";
 
-  buildInputs = [ cmake llvmPackages.llvm openssl llvmPackages.clang emacs pkgconfig ]
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ llvmPackages.llvm openssl emacs ]
+    ++ lib.optionals stdenv.cc.isGNU [ llvmPackages.clang-unwrapped ]
     ++ lib.optionals stdenv.isDarwin [ apple_sdk.libs.xpc apple_sdk.frameworks.CoreServices ];
 
 
diff --git a/pkgs/games/zandronum/add_gitinfo.patch b/pkgs/games/zandronum/add_gitinfo.patch
new file mode 100644
index 00000000000..4d8d7c83796
--- /dev/null
+++ b/pkgs/games/zandronum/add_gitinfo.patch
@@ -0,0 +1,15 @@
+diff -Naur blah/src/gitinfo.h blah2/src/gitinfo.h
+--- blah/src/gitinfo.h	1969-12-31 16:00:00.000000000 -0800
++++ blah2/src/gitinfo.h	2017-09-15 01:44:43.953562714 -0700
+@@ -0,0 +1,11 @@
++// dd3c3b57023f64cda84f09ed13e4c03a4ad2b920
++//
++// This file was automatically generated by the
++// updaterevision tool. Do not edit by hand.
++
++#define GIT_DESCRIPTION "ZA_3.0-0-dd3c3b57023f"
++#define GIT_HASH "dd3c3b57023f64cda84f09ed13e4c03a4ad2b920"
++#define GIT_TIME "2017-09-01 06:40:50 -0500"
++#define HG_REVISION_NUMBER 1504266050
++#define HG_REVISION_HASH_STRING "dd3c3b57023f"
++#define HG_TIME "170901-1140"
diff --git a/pkgs/games/zandronum/bin.nix b/pkgs/games/zandronum/bin.nix
deleted file mode 100644
index 4fa7ec1b045..00000000000
--- a/pkgs/games/zandronum/bin.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ stdenv
-, atk
-, bzip2
-, cairo
-, fetchurl
-, fluidsynth
-, fontconfig
-, freetype
-, gdk_pixbuf
-, glib
-, gtk2
-, libjpeg_turbo
-, mesa_glu
-, mesa_noglu
-, openssl
-, pango
-, SDL
-, zlib
-, makeWrapper
-}:
-
-stdenv.mkDerivation rec {
-  name = "zandronum-2.1.2";
-
-  src = fetchurl {
-    url = "http://zandronum.com/downloads/zandronum2.1.2-linux-x86_64.tar.bz2";
-    sha256 = "1f5aw2m8c0bl3lrvi2k3rrzq3q9x1ikxnxxjgh3k9qvanfn7ykbk";
-  };
-
-  libPath = stdenv.lib.makeLibraryPath [
-    atk
-    bzip2
-    cairo
-    fluidsynth
-    fontconfig
-    freetype
-    gdk_pixbuf
-    glib
-    gtk2
-    libjpeg_turbo
-    mesa_glu
-    mesa_noglu
-    openssl
-    pango
-    SDL
-    stdenv.cc.cc
-    zlib
-  ];
-
-  nativeBuildInputs = [ makeWrapper ];
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  sourceRoot = ".";
-
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/zandronum
-    cp *.so *.pk3 zandronum zandronum-server $out/share/zandronum
-
-    patchelf \
-      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
-      --set-rpath $libPath:$out/share/zandronum \
-      $out/share/zandronum/zandronum
-    patchelf \
-      --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
-      --set-rpath $libPath \
-      $out/share/zandronum/zandronum-server
-
-    # If we don't set absolute argv0, zandronum.wad file is not found.
-    makeWrapper $out/share/zandronum/zandronum $out/bin/zandronum
-    makeWrapper $out/share/zandronum/zandronum-server $out/bin/zandronum-server
-  '';
-
-  meta = {
-    homepage = http://zandronum.com/;
-    description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software. Binary version for online play";
-    maintainers = [ stdenv.lib.maintainers.lassulus ];
-    # Binary version has different version string than source code version.
-    license = stdenv.lib.licenses.unfreeRedistributable;
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix
index 7b418559418..df58304b38d 100644
--- a/pkgs/games/zandronum/default.nix
+++ b/pkgs/games/zandronum/default.nix
@@ -1,34 +1,42 @@
 { stdenv, lib, fetchhg, cmake, pkgconfig, makeWrapper, callPackage
-, soundfont-fluid, SDL, mesa, bzip2, zlib, libjpeg, fluidsynth, openssl, sqlite-amalgamation, gtk2
+, soundfont-fluid, SDL, mesa, glew, bzip2, zlib, libjpeg, fluidsynth, openssl, gtk2, python3
 , serverOnly ? false
 }:
 
 let
   suffix = lib.optionalString serverOnly "-server";
   fmod = callPackage ./fmod.nix { };
+  sqlite = callPackage ./sqlite.nix { };
 
-# FIXME: drop binary package when upstream fixes their protocol versioning
 in stdenv.mkDerivation {
-  name = "zandronum${suffix}-2.1.2";
+  name = "zandronum${suffix}-3.0";
 
   src = fetchhg {
     url = "https://bitbucket.org/Torr_Samaho/zandronum-stable";
-    rev = "a3663b0061d5";
-    sha256 = "0qwsnbwhcldwrirfk6hpiklmcj3a7dzh6pn36nizci6pcza07p56";
+    rev = "dd3c3b57023f";
+    sha256 = "1f8pd8d2zjwdp6v9anp9yrkdbfhd2mp7svmnna0jiqgxjw6wkyls";
   };
 
+  # zandronum tries to download sqlite now when running cmake, don't let it
+
+  # it also needs the current mercurial revision info embedded in gitinfo.h
+  # otherwise, the client will fail to connect to servers because the
+  # protocol version doesn't match.
+
+  patches = [ ./zan_configure_impurity.patch ./add_gitinfo.patch ./dont_update_gitinfo.patch ];
+
   # I have no idea why would SDL and libjpeg be needed for the server part!
   # But they are.
-  buildInputs = [ openssl bzip2 zlib SDL libjpeg ]
-             ++ lib.optionals (!serverOnly) [ mesa fmod fluidsynth gtk2 ];
+  buildInputs = [ openssl bzip2 zlib SDL libjpeg sqlite ]
+             ++ lib.optionals (!serverOnly) [ mesa glew fmod fluidsynth gtk2 ];
 
-  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper python3 ];
 
   preConfigure = ''
-    ln -s ${sqlite-amalgamation}/* sqlite/
+    ln -s ${sqlite}/* sqlite/
     sed -ie 's| restrict| _restrict|g' dumb/include/dumb.h \
                                        dumb/src/it/*.c
-  '' + lib.optionalString serverOnly ''
+  '' + lib.optionalString (!serverOnly) ''
     sed -i \
       -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
       -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
@@ -51,10 +59,10 @@ in stdenv.mkDerivation {
        *.pk3 \
        ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
        $out/lib/zandronum
-
-    # For some reason, while symlinks work for binary version, they don't for source one.
-    makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}
-  '';
+  '' + (if (!serverOnly) then
+          ''makeWrapper $out/lib/zandronum/zandronum $out/bin/zandronum --prefix LD_LIBRARY_PATH : "$LD_LIBRARY_PATH:${fluidsynth}/lib"''
+        else
+          ''makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum${suffix}'');
 
   postFixup = lib.optionalString (!serverOnly) ''
     patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum \
@@ -64,7 +72,7 @@ in stdenv.mkDerivation {
   meta = with stdenv.lib; {
     homepage = http://zandronum.com/;
     description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
-    maintainers = with maintainers; [ lassulus ];
+    maintainers = with maintainers; [ lassulus MP2E ];
     license = licenses.unfreeRedistributable;
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/zandronum/dont_update_gitinfo.patch b/pkgs/games/zandronum/dont_update_gitinfo.patch
new file mode 100644
index 00000000000..d6dd3a58f45
--- /dev/null
+++ b/pkgs/games/zandronum/dont_update_gitinfo.patch
@@ -0,0 +1,19 @@
+diff -r dd3c3b57023f src/CMakeLists.txt
+--- a/src/CMakeLists.txt	Fri Sep 01 06:40:50 2017 -0500
++++ b/src/CMakeLists.txt	Fri Sep 15 01:46:34 2017 -0700
+@@ -636,15 +636,6 @@
+	add_definitions( -DBACKPATCH )
+ endif( BACKPATCH )
+
+-# Update gitinfo.h
+-
+-get_target_property( UPDATEREVISION_EXE updaterevision LOCATION )
+-
+-add_custom_target( revision_check ALL
+-	COMMAND ${UPDATEREVISION_EXE} src/gitinfo.h
+-	WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+-	DEPENDS updaterevision )
+-
+ # Libraries ZDoom needs
+
+ message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" )
diff --git a/pkgs/development/libraries/sqlite-amalgamation/default.nix b/pkgs/games/zandronum/sqlite.nix
index 2ee3b6f2ecb..35fcb4a0eec 100644
--- a/pkgs/development/libraries/sqlite-amalgamation/default.nix
+++ b/pkgs/games/zandronum/sqlite.nix
@@ -1,27 +1,20 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation {
-  name = "sqlite-amalgamation-201505302257";
+  name = "sqlite-zandronum-3.0";
 
   src = fetchurl {
-    url = "https://www.sqlite.org/snapshot/sqlite-amalgamation-201505302257.zip";
-    sha256 = "0488wjrpnxd61g7pcka6fckx0q8yl1k26i6q5hrmkm92qcpml76h";
+    url = "https://www.sqlite.org/2017/sqlite-autoconf-3180000.tar.gz";
+    sha256 = "0p5cx7nbjxk7glcm277ypi5w4gv144qazw79ql47svlpccj62mrp";
   };
 
   phases = [ "unpackPhase" "buildPhase" ];
 
-  buildInputs = [ unzip ];
-
-  unpackPhase = ''
-    unzip $src
-  '';
-
   buildPhase = ''
     mkdir -p $out
     cp sqlite3.c $out/
     cp sqlite3.h $out/
     cp sqlite3ext.h $out/
-    cp shell.c $out/
   '';
 
   meta = {
diff --git a/pkgs/games/zandronum/zan_configure_impurity.patch b/pkgs/games/zandronum/zan_configure_impurity.patch
new file mode 100644
index 00000000000..0cf7150502e
--- /dev/null
+++ b/pkgs/games/zandronum/zan_configure_impurity.patch
@@ -0,0 +1,65 @@
+diff -r 6d5130e4ae52 sqlite/CMakeLists.txt
+--- a/sqlite/CMakeLists.txt	Sun Sep 10 18:53:00 2017 +0200
++++ b/sqlite/CMakeLists.txt	Fri Sep 15 00:12:11 2017 -0700
+@@ -1,62 +1,5 @@
+ cmake_minimum_required( VERSION 2.4 )
+
+-# [BB/EP] Download SQLite archive and extract the sources if necessary.
+-set( ZAN_SQLITE_VERSION 3180000 ) # SQL version 3.18.0
+-set( ZAN_SQLITE_YEAR 2017 )
+-set( ZAN_SQLITE_SHA1 "74559194e1dd9b9d577cac001c0e9d370856671b" )
+-set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" )
+-set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" )
+-set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" )
+-
+-if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-	message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n"
+-				"SQLite: Please remove it and try again." )
+-elseif( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-
+-	if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
+-		message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
+-					"SQLite: Please remove it and try again." )
+-	endif()
+-	message( STATUS "SQLite: downloading the archive..." )
+-
+-	file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
+-			SHOW_PROGRESS
+-			STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
+-
+-	# Report any problem if present and abort immediately.
+-	list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-	if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
+-		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
+-		message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
+-	endif()
+-
+-	# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
+-	file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
+-	if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
+-		message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
+-					"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
+-					"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
+-	endif()
+-
+-	message( STATUS "SQLite: saving the source files into the 'sqlite' directory." )
+-
+-	# Rename the archive.
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
+-
+-	# Extract the archive.
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
+-
+-	# Copy the required files.
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.c ${CMAKE_CURRENT_SOURCE_DIR} )
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.h ${CMAKE_CURRENT_SOURCE_DIR} )
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3ext.h ${CMAKE_CURRENT_SOURCE_DIR} )
+-
+-	# Remove the extracted folder.
+-	execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME} )
+-
+-	message( STATUS "SQLite: done." )
+-endif()
+-
+ add_library( sqlite3 sqlite3.c )
+ target_link_libraries( sqlite3 ${CMAKE_DL_LIBS} )
diff --git a/pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix b/pkgs/misc/themes/clearlooks-phenix/default.nix
index bea08bcdf14..51320e18c1a 100644
--- a/pkgs/misc/themes/gtk3/clearlooks-phenix/default.nix
+++ b/pkgs/misc/themes/clearlooks-phenix/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "5.0.7";
+  version = "7.0.1";
   name = "clearlooks-phenix-${version}";
 
   src = fetchurl {
     url = "http://github.com/jpfleury/clearlooks-phenix/archive/${version}.tar.gz";
-    sha256 = "107jx3p3zwzy8xy0m8hwzs1kp8j60xgc3dja27r3vwhb3x3y1i8k";
+    sha256 = "1x2psfbhxc3bk3q795bafxv6p890yfsankfw64p44q4r1x0236ra";
   };
 
   dontBuild = true;
diff --git a/pkgs/misc/themes/numix/default.nix b/pkgs/misc/themes/numix/default.nix
index c2f6fb21058..4e1963536a8 100644
--- a/pkgs/misc/themes/numix/default.nix
+++ b/pkgs/misc/themes/numix/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "2017-02-15";
+  version = "2017-07-26";
   name = "numix-gtk-theme-${version}";
 
   src = fetchFromGitHub {
     repo = "numix-gtk-theme";
     owner = "numixproject";
-    rev = "f25d7e04353543e03fd155f4d9dfa80fc6b551f2";
-    sha256 = "0n57airi1kgg754099sdq40bb0mbp4my385fvslnsjv5d4h8jhvq";
+    rev = "858e6292c4336302be4d499c9b085a891b4c3b40";
+    sha256 = "1z9l13px79yk42874dlh8z6p7chlngwarfnki89win3g2xvclz8q";
   };
 
   nativeBuildInputs = [ sass glib libxml2 gdk_pixbuf ];
diff --git a/pkgs/misc/themes/zuki/default.nix b/pkgs/misc/themes/zuki/default.nix
index cee45913499..3d0de843a91 100644
--- a/pkgs/misc/themes/zuki/default.nix
+++ b/pkgs/misc/themes/zuki/default.nix
@@ -1,27 +1,14 @@
-{ stdenv, fetchFromGitHub, gnome3, gdk_pixbuf, gtk_engines, gtk-engine-murrine }:
+{ stdenv, fetchFromGitHub, gdk_pixbuf, gtk_engines, gtk-engine-murrine }:
 
 stdenv.mkDerivation rec {
   name = "zuki-themes-${version}";
-  version = "${gnome3.version}.${date}";
-  date = {
-    "3.20" = "2017-05-03";
-    "3.22" = "2017-04-23";
-    "3.24" = "2017-06-26";
-  }."${gnome3.version}";
+  version = "3.24-2";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = "zuki-themes";
-    rev = {
-      "3.20" = "ce7ae498df7d5c81acaf48ed957b9f828356d58c";
-      "3.22" = "e97f2c3cf75b5205bc5ecd6072696327169fde5d";
-      "3.24" = "d25e0a2fb6e08ad107d8bb627451433362f2a830";
-    }."${gnome3.version}";
-    sha256 = {
-      "3.20" = "0na81q9mc8kwn9m04kkcchrdr67087dqf3q155imhjgqrxjhh3w4";
-      "3.22" = "195v0d2sgqh92c104xqm00p68yxp6kzp5mzx8q7s36bdv9p972q4";
-      "3.24" = "0z5swi5aah3s4yinfglh491qydxgjkqwf6zxyz7k9c1d7lrvj3ww";
-    }."${gnome3.version}";
+    rev = "v${version}";
+    sha256 = "1js92qq1zi3iq40nl6n0m52hhhn9ql9i7y8ycg8vw3w0v8xyb4km";
   };
 
   buildInputs = [ gdk_pixbuf gtk_engines gtk-engine-murrine ];
diff --git a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
index 5475b664170..7b930e86a39 100644
--- a/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/frameworks.nix
@@ -46,7 +46,8 @@ with frameworks; with libs; {
   ExceptionHandling       = [];
   FWAUserLib              = [];
   ForceFeedback           = [ CF IOKit ];
-  Foundation              = [ CF libobjc Security ApplicationServices SystemConfiguration ];
+  # cf-private was moved first in list because of https://github.com/NixOS/nixpkgs/pull/28635
+  Foundation              = [ cf-private CF libobjc Security ApplicationServices SystemConfiguration ];
   GLKit                   = [ CF ];
   GLUT                    = [ OpenGL ];
   GSS                     = [];
diff --git a/pkgs/os-specific/darwin/binutils/default.nix b/pkgs/os-specific/darwin/binutils/default.nix
index 933e7558dbb..5fc0db44f86 100644
--- a/pkgs/os-specific/darwin/binutils/default.nix
+++ b/pkgs/os-specific/darwin/binutils/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
       ln -sf "${cctools}/bin/$i" "$out/bin/$i"
     done
 
-    for i in ${binutils-raw.dev or binutils-raw.out}/include/*.h; do
+    for i in ${stdenv.lib.getDev binutils-raw}/include/*.h; do
       ln -s "$i" "$out/include/$(basename $i)"
     done
 
diff --git a/pkgs/os-specific/darwin/duti/default.nix b/pkgs/os-specific/darwin/duti/default.nix
new file mode 100644
index 00000000000..10eac5d4719
--- /dev/null
+++ b/pkgs/os-specific/darwin/duti/default.nix
@@ -0,0 +1,30 @@
+{stdenv, lib, fetchFromGitHub, autoreconfHook, darwin}:
+
+stdenv.mkDerivation rec {
+  pname = "duti";
+  name = "${pname}-${version}";
+  version = "1.5.4pre";
+  src = fetchFromGitHub {
+    owner = "moretension";
+    repo = pname;
+    rev = "7dbcae86f99fedef5a6c4311f032a0f1ca0539cc";
+    sha256 = "1z9sa0yk87vs57d5338y6lvm1v1vvynxb7dy1x5aqzkcr0imhljl";
+  };
+  nativeBuildInputs = [autoreconfHook];
+  buildInputs = [darwin.apple_sdk.frameworks.ApplicationServices];
+  configureFlags = ["--with-macosx-sdk=/homeless-shelter"];
+  meta = with lib; {
+    description = "A command-line tool to select default applications for document types and URL schemes on Mac OS X";
+    longDescription = ''
+      duti is a command-line utility capable of setting default applications for
+      various document types on Mac OS X, using Apple's Uniform Type Identifiers. A
+      UTI is a unique string describing the format of a file's content. For instance,
+      a Microsoft Word document has a UTI of com.microsoft.word.doc. Using duti, the
+      user can change which application acts as the default handler for a given UTI.
+    '';
+    maintainers = with maintainers; [matthewbauer];
+    platforms = platforms.darwin;
+    licenses = licenses.publicDomain;
+    homepage = "http://duti.org/";
+  };
+}
diff --git a/pkgs/os-specific/linux/evdi/default.nix b/pkgs/os-specific/linux/evdi/default.nix
index 9cfcb55ce13..11d0a461da0 100644
--- a/pkgs/os-specific/linux/evdi/default.nix
+++ b/pkgs/os-specific/linux/evdi/default.nix
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
     license = licenses.gpl2;
     homepage = http://www.displaylink.com/;
-    broken = versionOlder kernel.version "4.9";
+    broken = versionOlder kernel.version "4.9" || !stdenv.lib.versionOlder kernel.version "4.13";
   };
 }
diff --git a/pkgs/os-specific/linux/hostapd/default.nix b/pkgs/os-specific/linux/hostapd/default.nix
index 6822d7cba5a..c2320f8d7c7 100644
--- a/pkgs/os-specific/linux/hostapd/default.nix
+++ b/pkgs/os-specific/linux/hostapd/default.nix
@@ -6,21 +6,21 @@ stdenv.mkDerivation rec {
   version = "2.6";
 
   src = fetchurl {
-    url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
+    url = "https://w1.fi/releases/${name}.tar.gz";
     sha256 = "0z8ilypad82q3l6q6kbv6hczvhjn8k63j8051x5yqfyjq686nlh1";
   };
 
   patches = [
     (fetchurl {
-      url = "http://w1.fi/cgit/hostap/patch/?id=0d42179e1246f996d334c8bd18deca469fdb1add";
+      url = "https://w1.fi/cgit/hostap/patch/?id=0d42179e1246f996d334c8bd18deca469fdb1add";
       sha256 = "0w5n3ypwavq5zlyfxpcyvbaf96g59xkwbw9xwpjyzb7h5j264615";
     })
     (fetchurl {
-      url = "http://w1.fi/cgit/hostap/patch/?id=df426738fb212d62b132d9bb447f0128194e00ab";
+      url = "https://w1.fi/cgit/hostap/patch/?id=df426738fb212d62b132d9bb447f0128194e00ab";
       sha256 = "0ps2prjijlcgv1i97xb5ypw840dhkc7ja1aw8zhlbrap7pbgi1mm";
     })
     (fetchurl {
-      url = "http://w1.fi/cgit/hostap/patch/?id=b70d508c50e8e2d2b8fb96ae44ae10f84cf0c1ae";
+      url = "https://w1.fi/cgit/hostap/patch/?id=b70d508c50e8e2d2b8fb96ae44ae10f84cf0c1ae";
       sha256 = "0pslmsbay2cy1k07w1mdcr0b8w059jkrqrr9zi1aljvkm3vbwhj1";
     })
   ];
diff --git a/pkgs/os-specific/linux/kernel-headers/4.4.nix b/pkgs/os-specific/linux/kernel-headers/4.4.nix
index 716ad799bc6..0ef5280d13b 100644
--- a/pkgs/os-specific/linux/kernel-headers/4.4.nix
+++ b/pkgs/os-specific/linux/kernel-headers/4.4.nix
@@ -20,12 +20,7 @@ stdenvNoCC.mkDerivation {
 
   targetConfig = if hostPlatform != buildPlatform then hostPlatform.config else null;
 
-  platform = hostPlatform.platform.kernelArch or (
-    if hostPlatform.system == "i686-linux" then "i386" else
-    if hostPlatform.system == "x86_64-linux" then "x86_64" else
-    if hostPlatform.system == "powerpc-linux" then "powerpc" else
-    if hostPlatform.isArm then "arm" else
-    abort "don't know what the kernel include directory is called for this platform");
+  platform = hostPlatform.platform.kernelArch;
 
   # It may look odd that we use `stdenvNoCC`, and yet explicit depend on a cc.
   # We do this so we have a build->build, not build->host, C compiler.
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
deleted file mode 100644
index da67747b8b2..00000000000
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, kernel, perl
-, hostPlatform
-}:
-
-let
-  baseBuildFlags = [ "INSTALL_HDR_PATH=$(out)" "headers_install" ];
-in stdenv.mkDerivation {
-  name = "linux-headers-${kernel.version}";
-
-  inherit (kernel) src patches;
-
-  nativeBuildInputs = [ perl ];
-
-  buildFlags = [ "ARCH=${stdenv.platform.kernelArch}" ] ++ baseBuildFlags;
-
-  crossAttrs = {
-    inherit (kernel.crossDrv) src patches;
-    buildFlags = [ "ARCH=${hostPlatform.platform.kernelArch}" ] ++ baseBuildFlags;
-  };
-
-  installPhase = ''
-    find $out \( -name ..install.cmd -o -name .install \) -print0 | xargs -0 rm
-  '';
-
-  # Headers shouldn't reference anything else
-  allowedReferences = [];
-
-  meta.platforms = stdenv.lib.platforms.linux;
-}
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index efad17f43b4..6d04340ab46 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -38,6 +38,7 @@ with stdenv.lib;
   DEBUG_STACKOVERFLOW n
   SCHEDSTATS n
   DETECT_HUNG_TASK y
+  DEBUG_INFO n # Not until we implement a separate debug output
 
   ${optionalString (versionOlder version "4.4") ''
     CPU_NOTIFIER_ERROR_INJECT? n
@@ -564,7 +565,9 @@ with stdenv.lib;
   # Media support.
   MEDIA_DIGITAL_TV_SUPPORT y
   MEDIA_CAMERA_SUPPORT y
-  MEDIA_RC_SUPPORT y
+  ${optionalString (versionOlder version "4.14") ''
+    MEDIA_RC_SUPPORT y
+  ''}
   MEDIA_USB_SUPPORT y
   MEDIA_PCI_SUPPORT y
 
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 379d3cad970..3912d9d10f5 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -36,6 +36,22 @@ let
 
   lib = stdenv.lib;
 
+  # Combine the `features' attribute sets of all the kernel patches.
+  kernelFeatures = lib.fold (x: y: (x.features or {}) // y) ({
+    iwlwifi = true;
+    efiBootStub = true;
+    needsCifsUtils = true;
+    netfilterRPFilter = true;
+  } // features) kernelPatches;
+
+  configWithPlatform = kernelPlatform: import ./common-config.nix {
+    inherit stdenv version kernelPlatform extraConfig;
+    features = kernelFeatures; # Ensure we know of all extra patches, etc.
+  };
+
+  config = configWithPlatform stdenv.platform;
+  configCross = configWithPlatform hostPlatform.platform;
+
   kernelConfigFun = baseConfig:
     let
       configFromPatches =
@@ -115,23 +131,17 @@ let
   };
 
   passthru = {
-    # Combine the `features' attribute sets of all the kernel patches.
-    features = lib.fold (x: y: (x.features or {}) // y) features kernelPatches;
+    features = kernelFeatures;
 
     meta = kernel.meta // extraMeta;
 
     passthru = kernel.passthru // (removeAttrs passthru [ "passthru" "meta" ]);
   };
 
-  configWithPlatform = kernelPlatform: import ./common-config.nix
-    { inherit stdenv version kernelPlatform extraConfig;
-      features = passthru.features; # Ensure we know of all extra patches, etc.
-    };
-
-  config = configWithPlatform stdenv.platform;
-  configCross = configWithPlatform hostPlatform.platform;
-
   nativeDrv = lib.addPassthru kernel.nativeDrv passthru;
 
   crossDrv = lib.addPassthru kernel.crossDrv passthru;
-in if kernel ? crossDrv then nativeDrv // { inherit nativeDrv crossDrv; } else lib.addPassthru kernel passthru
+
+in if kernel ? crossDrv
+   then nativeDrv // { inherit nativeDrv crossDrv; }
+   else lib.addPassthru kernel passthru
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index 5711779eb86..75c06390f75 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -18,7 +18,11 @@ assert (versionAtLeast version "4.9");
 # Report BUG() conditions and kill the offending process.
 BUG y
 
-${optionalString (stdenv.system == "x86_64-linux") ''
+${optionalString (versionAtLeast version "4.10") ''
+  BUG_ON_DATA_CORRUPTION y
+''}
+
+${optionalString (stdenv.platform.kernelArch == "x86_64") ''
   DEFAULT_MMAP_MIN_ADDR 65536 # Prevent allocation of first 64K of memory
 
   # Reduce attack surface by disabling various emulations
@@ -64,9 +68,13 @@ IO_STRICT_DEVMEM y
 DEBUG_CREDENTIALS y
 DEBUG_NOTIFIERS y
 DEBUG_LIST y
+DEBUG_PI_LIST y # doesn't BUG()
 DEBUG_SG y
 SCHED_STACK_END_CHECK y
-BUG_ON_DATA_CORRUPTION y
+
+${optionalString (versionAtLeast version "4.13") ''
+  REFCOUNT_FULL y
+''}
 
 # Perform usercopy bounds checking.
 HARDENED_USERCOPY y
@@ -89,6 +97,11 @@ ${optionalString (versionAtLeast version "4.11") ''
   GCC_PLUGIN_STRUCTLEAK y # A port of the PaX structleak plugin
 ''}
 
+${optionalString (versionAtLeast version "4.13") ''
+  GCC_PLUGIN_RANDSTRUCT y # A port of the PaX randstruct plugin
+  GCC_PLUGIN_RANDSTRUCT_PERFORMANCE y
+''}
+
 # Disable various dangerous settings
 ACPI_CUSTOM_METHOD n # Allows writing directly to physical memory
 PROC_KCORE n # Exposes kernel text image layout
@@ -97,4 +110,9 @@ INET_DIAG n # Has been used for heap based attacks in the past
 # Use -fstack-protector-strong (gcc 4.9+) for best stack canary coverage.
 CC_STACKPROTECTOR_REGULAR n
 CC_STACKPROTECTOR_STRONG y
+
+# Enable compile/run-time buffer overflow detection ala glibc's _FORTIFY_SOURCE
+${optionalString (versionAtLeast version "4.13") ''
+  FORTIFY_SOURCE y
+''}
 ''
diff --git a/pkgs/os-specific/linux/kernel/linux-4.12.nix b/pkgs/os-specific/linux/kernel/linux-4.12.nix
index c35b9e3e02c..640534aa2a6 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.12.nix
@@ -1,18 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.12.12";
+  version = "4.12.13";
   extraMeta.branch = "4.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1d254yxn46ydp0x3s5cpyg4p74zvdwiqfiaaim1m3g6rwjmlkjpa";
+    sha256 = "18sxw7mw4fya7381mkah70s3di6b8xxfigjhrhb7zcczrffb4vl9";
   };
-
-  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.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix
index 29f0a05558c..1d51b033dc1 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.13.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix
@@ -1,18 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.13.1";
+  version = "4.13.2";
   extraMeta.branch = "4.13";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1kp1lsf4314af7crpqkd2x1zx407a97r7rz3zhhskbilvsifgkny";
+    sha256 = "1lgwgw9yp5ywbylnmahsmqzs98yfq53mvvqqdgp7ljiqg8bxqjh6";
   };
-
-  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.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 309286b662f..5f4686a5ec6 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,18 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.49";
+  version = "4.9.50";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1ywiww2h1gf3ps305irzk7n9xkcgg9bclr2jw6r5cqxmh3qxrv2p";
+    sha256 = "0dhm5w7qa1hyqp254r41b4nhf10a8w7sv1mhd16f61inpb41829c";
   };
-
-  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-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
index b799e5d5285..3b9357ae35e 100644
--- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
+++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
@@ -3,9 +3,9 @@
 with stdenv.lib;
 
 let
-  version = "4.13.1";
-  revision = "b";
-  sha256 = "0l64r4978ynwpikw9fvhzzyrhvxhl7chwkbns1064c1dhr6j0zg6";
+  version = "4.13.2";
+  revision = "a";
+  sha256 = "1srglf014a2ra4sgzwrf53wdc3rrr5lx8dcx57xm4lpvrc4r66y6";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
@@ -27,11 +27,4 @@ import ./generic.nix (args // {
     repo = "linux-hardened";
     rev = "${version}.${revision}";
   };
-
-  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-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index 7e6110bf4a3..dc4d10a0412 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -15,8 +15,6 @@ import ./generic.nix (args // rec {
     sha256 = "0vqjnkzcbbvyq24w3cryfmw7hhws1xqkkxqcv71szkbqqs6mcr14";
   };
 
-  kernelPatches = args.kernelPatches;
-
   extraConfig = ''
     IPV6 y
     MPTCP y
@@ -41,10 +39,6 @@ import ./generic.nix (args // rec {
     TCP_CONG_OLIA m
     TCP_CONG_WVEGAS m
     TCP_CONG_BALIA m
-  '';
 
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
+  '' + (args.extraConfig or "");
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 4985e40f51d..2d8a3f0afcd 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -15,9 +15,9 @@ stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
     sha256 = "1ly0x7a43zvig0fv7lc6rpq49pcdb7i9sdb78p4gi5485zap40kb";
   };
 
-  features.iwlwifi = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
+  features = {
+    efiBootStub = false;
+  } // (args.features or {});
 
   extraMeta.hydraPlatforms = [];
 })) (oldAttrs: {
diff --git a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
index 5599e1325d9..f262dfe34b7 100644
--- a/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-samus-4.12.nix
@@ -14,10 +14,5 @@ import ./generic.nix (args // rec {
       sha256 = "1dr74i79p8r13522w2ppi8gnjd9bhngc9d2hsn91ji6f5a8fbxx9";
     }; in "${upstream}/build/linux";
 
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
-
   extraMeta.hydraPlatforms = [];
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index 77a2b62dbb4..a104cc5393c 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -16,11 +16,6 @@ import ./generic.nix (args // rec {
     BCACHEFS_FS m
   '';
 
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
-
   # Should the testing kernels ever be built on Hydra?
   extraMeta.hydraPlatforms = [];
 
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 6778e11710f..e97d5c47da2 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,20 +1,15 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.13-rc7";
-  modDirVersion = "4.13.0-rc7";
-  extraMeta.branch = "4.13";
+  version = "4.14-rc1";
+  modDirVersion = "4.14.0-rc1";
+  extraMeta.branch = "4.14";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1xkfxsvdhd0xcfjcr78222sa58i02z2ca9fv804jbyp7w9g628rm";
+    sha256 = "0dhcsjgcy28pyyzwf2s0862p92bwb324kapli2y9n90bw0kl53gi";
   };
 
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.netfilterRPFilter = true;
-
   # Should the testing kernels ever be built on Hydra?
   extraMeta.hydraPlatforms = [];
 
diff --git a/pkgs/os-specific/linux/lttng-modules/default.nix b/pkgs/os-specific/linux/lttng-modules/default.nix
index a2dafc0bf2d..435a11f1599 100644
--- a/pkgs/os-specific/linux/lttng-modules/default.nix
+++ b/pkgs/os-specific/linux/lttng-modules/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   pname = "lttng-modules-${version}";
   name = "${pname}-${kernel.version}";
-  version = "2.9.3";
+  version = "2.10.0";
 
   src = fetchurl {
     url = "http://lttng.org/files/lttng-modules/lttng-modules-${version}.tar.bz2";
-    sha256 = "1zms8q199489ym0x1ri54napyi6pva80641x9x3qg9q23flbq4gr";
+    sha256 = "1gzi7j97zymzfj6b7mlih35djflwfgg93b63q9rbs5w1kclmsrgz";
   };
 
   hardeningDisable = [ "pic" ];
@@ -29,7 +29,8 @@ stdenv.mkDerivation rec {
     license = with licenses; [ lgpl21 gpl2 mit ];
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
-    broken = builtins.compareVersions kernel.version "3.18" == -1;
+    broken = builtins.compareVersions kernel.version "3.18" == -1
+      || builtins.compareVersions kernel.version "4.11" == 1;
   };
 
 }
diff --git a/pkgs/os-specific/linux/netatop/default.nix b/pkgs/os-specific/linux/netatop/default.nix
index 5177ea45e7a..0498f5cf37e 100644
--- a/pkgs/os-specific/linux/netatop/default.nix
+++ b/pkgs/os-specific/linux/netatop/default.nix
@@ -38,5 +38,6 @@ stdenv.mkDerivation {
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [viric];
+    broken = !stdenv.lib.versionOlder kernel.version "4.13";
   };
 }
diff --git a/pkgs/os-specific/linux/paxctl/default.nix b/pkgs/os-specific/linux/paxctl/default.nix
index 7ef98eb2353..afb342768c3 100644
--- a/pkgs/os-specific/linux/paxctl/default.nix
+++ b/pkgs/os-specific/linux/paxctl/default.nix
@@ -18,9 +18,6 @@ stdenv.mkDerivation rec {
     "MANDIR=share/man/man1"
   ];
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   setupHook = ./setup-hook.sh;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/sch_cake/default.nix b/pkgs/os-specific/linux/sch_cake/default.nix
index 1522f277fed..68fc8a6e017 100644
--- a/pkgs/os-specific/linux/sch_cake/default.nix
+++ b/pkgs/os-specific/linux/sch_cake/default.nix
@@ -30,5 +30,6 @@ stdenv.mkDerivation {
     license = with licenses; [ bsd3 gpl2 ];
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
+    broken = !stdenv.lib.versionOlder kernel.version "4.13";
   };
 }
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 227b67e4486..2d8ee2719da 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -10,53 +10,66 @@ with stdenv.lib;
 let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
-in
-  assert any (n: n == configFile) [ "kernel" "user" "all" ];
-  assert buildKernel -> kernel != null;
-stdenv.mkDerivation rec {
-  name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
-  version = "0.7.1";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "spl";
-    rev = "spl-${version}";
-    sha256 = "0m8qhbdd8n40lbd91s30q4lrw8g169sha0410c8rwk2d5qfaxv9n";
-  };
+  common = { version
+    , sha256
+    , rev ? "spl-${version}"
+    } @ args : stdenv.mkDerivation rec {
+      name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+      src = fetchFromGitHub {
+        owner = "zfsonlinux";
+        repo = "spl";
+        inherit rev sha256;
+      };
 
-  patches = [ ./const.patch ./install_prefix.patch ];
+      patches = [ ./const.patch ./install_prefix.patch ];
 
-  nativeBuildInputs = [ autoreconfHook ];
+      nativeBuildInputs = [ autoreconfHook ];
 
-  hardeningDisable = [ "pic" ];
+      hardeningDisable = [ "pic" ];
 
-  preConfigure = ''
-    substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
-    substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
-    substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-    substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
-  '';
+      preConfigure = ''
+        substituteInPlace ./module/spl/spl-generic.c --replace /usr/bin/hostid hostid
+        substituteInPlace ./module/spl/spl-generic.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:${gawk}:/bin"
+        substituteInPlace ./module/splat/splat-vnode.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+        substituteInPlace ./module/splat/splat-linux.c --replace "PATH=/sbin:/usr/sbin:/bin:/usr/bin" "PATH=${coreutils}:/bin"
+      '';
 
-  configureFlags = [
-    "--with-config=${configFile}"
-  ] ++ optionals buildKernel [
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
+      configureFlags = [
+        "--with-config=${configFile}"
+      ] ++ optionals buildKernel [
+        "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+        "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      ];
 
-  enableParallelBuilding = true;
+      enableParallelBuilding = true;
 
-  meta = {
-    description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
+      meta = {
+        description = "Kernel module driver for solaris porting layer (needed by in-kernel zfs)";
 
-    longDescription = ''
-      This kernel module is a porting layer for ZFS to work inside the linux
-      kernel.
-    '';
+        longDescription = ''
+          This kernel module is a porting layer for ZFS to work inside the linux
+          kernel.
+        '';
 
-    homepage = http://zfsonlinux.org/;
-    platforms = platforms.linux;
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+        homepage = http://zfsonlinux.org/;
+        platforms = platforms.linux;
+        license = licenses.gpl2Plus;
+        maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+      };
   };
+in
+  assert any (n: n == configFile) [ "kernel" "user" "all" ];
+  assert buildKernel -> kernel != null;
+{
+    splStable = common {
+      version = "0.7.1";
+      sha256 = "0m8qhbdd8n40lbd91s30q4lrw8g169sha0410c8rwk2d5qfaxv9n";
+    };
+
+    splUnstable = common {
+      version = "2017-08-11";
+      rev = "9df9692637aeee416f509c7f39655beb2d35b549";
+      sha256 = "1dggf6xqgk2f7vccv6cgvr8krj7h9f921szp1j2qbxnnq41m37mi";
+    };
 }
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 1530d20667e..25160fb0c95 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   name = "wpa_supplicant-${version}";
 
   src = fetchurl {
-    url = "http://hostap.epitest.fi/releases/${name}.tar.gz";
+    url = "https://w1.fi/releases/${name}.tar.gz";
     sha256 = "0l0l5gz3d5j9bqjsbjlfcv4w4jwndllp9fmyai4x9kg6qhs6v4xl";
   };
 
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 48389a758b7..c3af49e08f2 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -13,112 +13,163 @@ let
   buildKernel = any (n: n == configFile) [ "kernel" "all" ];
   buildUser = any (n: n == configFile) [ "user" "all" ];
 
-in stdenv.mkDerivation rec {
-  name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
-  version = "0.7.1";
-
-  src = fetchFromGitHub {
-    owner = "zfsonlinux";
-    repo = "zfs";
-    rev = "zfs-${version}";
+  common = { version
+    , sha256
+    , extraPatches
+    , spl
+    , rev ? "zfs-${version}"
+    , isUnstable ? false
+    , incompatibleKernelVersion ? null } @ args:
+    if buildKernel &&
+      (incompatibleKernelVersion != null) &&
+        versionAtLeast kernel.version incompatibleKernelVersion then
+       throw ''
+         Linux v${kernel.version} is not yet supported by zfsonlinux v${version}.
+         ${stdenv.lib.optional (!isUnstable) "Try zfsUnstable or set the NixOS option boot.zfs.enableUnstable."}
+       ''
+    else stdenv.mkDerivation rec {
+      name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
+
+      src = fetchFromGitHub {
+        owner = "zfsonlinux";
+        repo = "zfs";
+        inherit rev sha256;
+      };
+
+      patches = extraPatches;
+
+      buildInputs = [ autoreconfHook nukeReferences ]
+        ++ optionals buildKernel [ spl ]
+        ++ optionals buildUser [ zlib libuuid python attr ];
+
+      # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
+      NIX_CFLAGS_LINK = "-lgcc_s";
+
+      hardeningDisable = [ "pic" ];
+
+      preConfigure = ''
+        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
+        substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
+        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
+        substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
+        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
+        substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
+        substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
+        substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
+        substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+        substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
+        substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
+        substituteInPlace ./etc/systemd/system/zfs-share.service.in \
+          --replace "@bindir@/rm " "${coreutils}/bin/rm "
+
+        for f in ./udev/rules.d/*
+        do
+          substituteInPlace "$f" --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
+        done
+
+        ./autogen.sh
+      '';
+
+      configureFlags = [
+        "--with-config=${configFile}"
+        ] ++ optionals buildUser [
+        "--with-dracutdir=$(out)/lib/dracut"
+        "--with-udevdir=$(out)/lib/udev"
+        "--with-systemdunitdir=$(out)/etc/systemd/system"
+        "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
+        "--with-mounthelperdir=$(out)/bin"
+        "--sysconfdir=/etc"
+        "--localstatedir=/var"
+        "--enable-systemd"
+        ] ++ optionals buildKernel [
+        "--with-spl=${spl}/libexec/spl"
+        "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
+        "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+      ];
+
+      enableParallelBuilding = true;
+
+      installFlags = [
+        "sysconfdir=\${out}/etc"
+        "DEFAULT_INITCONF_DIR=\${out}/default"
+      ];
+
+      postInstall = ''
+        # Prevent kernel modules from depending on the Linux -dev output.
+        nuke-refs $(find $out -name "*.ko")
+      '' + optionalString buildUser ''
+        # Remove provided services as they are buggy
+        rm $out/etc/systemd/system/zfs-import-*.service
+
+        sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/*
+
+        for i in $out/etc/systemd/system/*; do
+        substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target"
+        done
+
+        # Fix pkgconfig.
+        ln -s ../share/pkgconfig $out/lib/pkgconfig
+
+        # Remove tests because they add a runtime dependency on gcc
+        rm -rf $out/share/zfs/zfs-tests
+      '';
+
+      outputs = [ "out" ] ++ optionals buildUser [ "lib" "dev" ];
+
+      meta = {
+        description = "ZFS Filesystem Linux Kernel module";
+        longDescription = ''
+          ZFS is a filesystem that combines a logical volume manager with a
+          Copy-On-Write filesystem with data integrity detection and repair,
+          snapshotting, cloning, block devices, deduplication, and more.
+        '';
+        home = http://zfsonlinux.org/;
+        license = licenses.cddl;
+        platforms = platforms.linux;
+        maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+      };
+    };
+in {
+  # also check if kernel version constraints in
+  # ./nixos/modules/tasks/filesystems/zfs.nix needs
+  # to be adapted
+  zfsStable = common {
+    # comment/uncomment if breaking kernel versions are known
+    incompatibleKernelVersion = null;
+
+    # this package should point to the latest release.
+    version = "0.7.1";
+
     sha256 = "0czal6lpl8igrhwmqh5jcgx07rlcgnrfg6ywzf681vsyh3gaxj9n";
+
+    extraPatches = [
+      (fetchpatch {
+        url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
+        sha256 = "1vlw98v8xvi8qapzl1jwm69qmfslwnbg3ry1lmacndaxnyckkvhh";
+      })
+    ];
+
+    inherit spl;
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/Mic92/zfs/compare/zfs-0.7.0-rc3...nixos-zfs-0.7.0-rc3.patch";
-      sha256 = "1vlw98v8xvi8qapzl1jwm69qmfslwnbg3ry1lmacndaxnyckkvhh";
-    })
-  ];
-
-  buildInputs = [ autoreconfHook nukeReferences ]
-  ++ optionals buildKernel [ spl ]
-  ++ optionals buildUser [ zlib libuuid python attr ];
-
-  # for zdb to get the rpath to libgcc_s, needed for pthread_cancel to work
-  NIX_CFLAGS_LINK = "-lgcc_s";
-
-  hardeningDisable = [ "pic" ];
-
-  preConfigure = ''
-    substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "umount -t zfs"           "${utillinux}/bin/umount -t zfs"
-    substituteInPlace ./module/zfs/zfs_ctldir.c   --replace "mount -t zfs"            "${utillinux}/bin/mount -t zfs"
-    substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/umount"             "${utillinux}/bin/umount"
-    substituteInPlace ./lib/libzfs/libzfs_mount.c --replace "/bin/mount"              "${utillinux}/bin/mount"
-    substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/ztest"         "$out/sbin/ztest"
-    substituteInPlace ./cmd/ztest/ztest.c         --replace "/usr/sbin/zdb"           "$out/sbin/zdb"
-    substituteInPlace ./config/user-systemd.m4    --replace "/usr/lib/modules-load.d" "$out/etc/modules-load.d"
-    substituteInPlace ./config/zfs-build.m4       --replace "\$sysconfdir/init.d"     "$out/etc/init.d"
-    substituteInPlace ./etc/zfs/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
-    substituteInPlace ./cmd/zed/Makefile.am       --replace "\$(sysconfdir)"          "$out/etc"
-    substituteInPlace ./module/Makefile.in        --replace "/bin/cp"                 "cp"
-    substituteInPlace ./etc/systemd/system/zfs-share.service.in \
-      --replace "@bindir@/rm " "${coreutils}/bin/rm "
-
-    for f in ./udev/rules.d/*
-    do
-      substituteInPlace "$f" --replace "/lib/udev/vdev_id" "$out/lib/udev/vdev_id"
-    done
-
-    ./autogen.sh
-  '';
-
-  configureFlags = [
-    "--with-config=${configFile}"
-    ] ++ optionals buildUser [
-    "--with-dracutdir=$(out)/lib/dracut"
-    "--with-udevdir=$(out)/lib/udev"
-    "--with-systemdunitdir=$(out)/etc/systemd/system"
-    "--with-systemdpresetdir=$(out)/etc/systemd/system-preset"
-    "--with-mounthelperdir=$(out)/bin"
-    "--sysconfdir=/etc"
-    "--localstatedir=/var"
-    "--enable-systemd"
-    ] ++ optionals buildKernel [
-    "--with-spl=${spl}/libexec/spl"
-    "--with-linux=${kernel.dev}/lib/modules/${kernel.modDirVersion}/source"
-    "--with-linux-obj=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
-  ];
-
-  enableParallelBuilding = true;
-
-  installFlags = [
-    "sysconfdir=\${out}/etc"
-    "DEFAULT_INITCONF_DIR=\${out}/default"
-  ];
-
-  postInstall = ''
-    # Prevent kernel modules from depending on the Linux -dev output.
-    nuke-refs $(find $out -name "*.ko")
-  '' + optionalString buildUser ''
-    # Remove provided services as they are buggy
-    rm $out/etc/systemd/system/zfs-import-*.service
-
-    sed -i '/zfs-import-scan.service/d' $out/etc/systemd/system/*
-
-    for i in $out/etc/systemd/system/*; do
-    substituteInPlace $i --replace "zfs-import-cache.service" "zfs-import.target"
-    done
-
-    # Fix pkgconfig.
-    ln -s ../share/pkgconfig $out/lib/pkgconfig
-
-    # Remove tests because they add a runtime dependency on gcc
-    rm -rf $out/share/zfs/zfs-tests
-  '';
-
-  outputs = [ "out" ] ++ optionals buildUser [ "lib" "dev" ];
-
-  meta = {
-    description = "ZFS Filesystem Linux Kernel module";
-    longDescription = ''
-      ZFS is a filesystem that combines a logical volume manager with a
-      Copy-On-Write filesystem with data integrity detection and repair,
-      snapshotting, cloning, block devices, deduplication, and more.
-    '';
-    homepage = http://zfsonlinux.org/;
-    license = licenses.cddl;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz globin ];
+  zfsUnstable = common {
+    # comment/uncomment if breaking kernel versions are known
+    incompatibleKernelVersion = null;
+
+    # this package should point to a version / git revision compatible with the latest kernel release
+    version = "2017-09-12";
+
+    rev = "ded8f06a3cfee60b3a8ea5309e9c4d0e567ed3b5";
+    sha256 = "0yn4fg4a00hpflmmr0jbbhfb921nygpw2xbbjy35abl57k6zk375";
+    isUnstable = true;
+
+    extraPatches = [
+      (fetchpatch {
+        url = "https://github.com/Mic92/zfs/compare/ded8f06a3cfee...nixos-zfs-2017-09-12.patch";
+        sha256 = "033wf4jn0h0kp0h47ai98rywnkv5jwvf3xwym30phnaf8xxdx8aj";
+      })
+    ];
+
+    spl = splUnstable;
   };
 }
diff --git a/pkgs/servers/amqp/rabbitmq-server/default.nix b/pkgs/servers/amqp/rabbitmq-server/default.nix
index f96f3cc2d14..889ec4d3745 100644
--- a/pkgs/servers/amqp/rabbitmq-server/default.nix
+++ b/pkgs/servers/amqp/rabbitmq-server/default.nix
@@ -7,11 +7,11 @@
 stdenv.mkDerivation rec {
   name = "rabbitmq-server-${version}";
 
-  version = "3.6.6";
+  version = "3.6.10";
 
   src = fetchurl {
-    url = "https://github.com/rabbitmq/rabbitmq-server/releases/download/rabbitmq_v3_6_6/rabbitmq-server-3.6.6.tar.xz";
-    sha256 = "13mpnyfxd026w525rsnkcw0f8bcrkbzl7k9g8pnqmm3zyny8jmir";
+    url = "https://www.rabbitmq.com/releases/rabbitmq-server/v${version}/${name}.tar.xz";
+    sha256 = "0k1rhg1a51201b1hp6vaf4fk48hqz7m9hw55b8xnnyz2ld88jiqg";
   };
 
   buildInputs =
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   postInstall =
     ''
       echo 'PATH=${erlang}/bin:''${PATH:+:}$PATH' >> $out/sbin/rabbitmq-env
-    ''; # */
+    '';
 
   meta = {
     homepage = http://www.rabbitmq.com/;
diff --git a/pkgs/servers/caddy/default.nix b/pkgs/servers/caddy/default.nix
index d4036b52d96..24f5cec8179 100644
--- a/pkgs/servers/caddy/default.nix
+++ b/pkgs/servers/caddy/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildGoPackage, fetchFromGitHub }:
+{ stdenv, buildGoPackage, fetchFromGitHub, fetchpatch }:
 
 buildGoPackage rec {
   name = "caddy-${version}";
-  version = "0.10.7";
+  version = "0.10.9";
 
   goPackagePath = "github.com/mholt/caddy";
 
@@ -12,9 +12,19 @@ buildGoPackage rec {
     owner = "mholt";
     repo = "caddy";
     rev = "v${version}";
-    sha256 = "1sn959l2cq6pallmngwf1hrjk7qrsfb5wsqbv15xnczl22lvwf13";
+    sha256 = "1shry7dqcbb5d3hp9xz5l3jx9a6i18wssz3m28kpjf3cks427v55";
   };
 
+  patches = [
+    # This header was added in 0.10.9 and was since reverted but no new release made
+    # remove this patch when updating to next release
+    (fetchpatch {
+      url = "https://github.com/mholt/caddy/commit/d267b62fe9fdd008f13774afc72d95335934d133.patch";
+      name = "revert-sponsors-header.patch";
+      sha256 = "192g23kzkrwgif7ii9c70mh1a25gwhm1l1mzyqm9i0d3jifsfc2j";
+    })
+  ];
+
   buildFlagsArray = ''
     -ldflags=
       -X github.com/mholt/caddy/caddy/caddymain.gitTag=v${version}
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index 98141c13c01..cf6cc8d6991 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -69,8 +69,8 @@
     src = fetchFromGitHub {
       owner = "openresty";
       repo = "lua-nginx-module";
-      rev = "v0.10.5";
-      sha256 = "0wz5j4kqa6hk7ar42bkxp0hd74psjy6sfsldh1a6p93z349iz4v5";
+      rev = "v0.10.10";
+      sha256 = "1dlqnlkpn3pnhk2m09jdx3iw3m6xk31pw2m5xrpcmqk3bll68mw6";
     };
     inputs = [ pkgs.luajit ];
     preConfigure = ''
diff --git a/pkgs/servers/matterbridge/default.nix b/pkgs/servers/matterbridge/default.nix
new file mode 100644
index 00000000000..ee895ba3fe4
--- /dev/null
+++ b/pkgs/servers/matterbridge/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildGoPackage, fetchurl }:
+
+buildGoPackage rec {
+  name = "matterbridge-${version}";
+  version = "1.1.0";
+
+  goPackagePath = "github.com/42wim/matterbridge";
+
+  src = fetchurl {
+    url = "https://github.com/42wim/matterbridge/archive/v${version}.tar.gz";
+    sha256 = "0nn3929wyjdpkk8azp6wd6mkcg8h0jb1fjxm6jmb74xvdknrzv3k";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Simple bridge between Mattermost, IRC, XMPP, Gitter, Slack, Discord, Telegram, Rocket.Chat, Hipchat(via xmpp), Matrix and Steam";
+    homepage = https://github.com/42wim/matterbridge;
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ ryantm ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index ccf5e7fea0a..594c0cfad17 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,7 +1,7 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "4.4.3";
+  version = "4.5.0";
   name = "grafana-v${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "04cm8h7if8yvczcwd83drbfzgr1spfspzg5im8lb540ks9x55dz4";
+    sha256 = "00n58v3a5amkj9r2nsbzmifbnch9rq1cpcqc5ws0bz3x004z43cs";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-x64.tar.gz";
-    sha256 = "1p36hniay2y3mwg300b7n3sl3vv7l5jq5ddcnmpmznwyd8zwbl4h";
+    sha256 = "0fm69r1qb2fn8zwfsiwss8vc7nx0ql98pk0a3d2vjgpdyvk5jmw7";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/nosql/arangodb/default.nix b/pkgs/servers/nosql/arangodb/default.nix
index c4a616856ad..786b142c732 100644
--- a/pkgs/servers/nosql/arangodb/default.nix
+++ b/pkgs/servers/nosql/arangodb/default.nix
@@ -3,14 +3,14 @@
 
 let
 in stdenv.mkDerivation rec {
-  version = "3.2.2";
+  version = "3.2.3";
   name    = "arangodb-${version}";
 
   src = fetchFromGitHub {
     repo = "arangodb";
     owner = "arangodb";
     rev = "v${version}";
-    sha256 = "0f87r0fr3i09fnmwjqz6q1lwd5k32a2knrls0nv0zhqrma7sdy01";
+    sha256 = "1ndd7wxw2lz1ywnz3kp0pz1jmby2jakhl00kn8jwghcbipvnx9b5";
   };
 
   buildInputs = [
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
index 95d5a210ec5..90c9d2cef67 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools-cross.nix
@@ -177,9 +177,9 @@ rec {
 
         # Copy binutils.
         for i in as ld ar ranlib nm strip readelf objdump; do
-          cp ${binutils.binutils.out}/bin/$i $out/bin
+          cp ${binutils.out}/bin/$i $out/bin
         done
-        cp -d ${binutils.binutils.lib}/lib/lib*.so* $out/lib
+        cp -d ${binutils.lib}/lib/lib*.so* $out/lib
 
         chmod -R u+w $out
 
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
new file mode 100644
index 00000000000..cbb674f3801
--- /dev/null
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "abcMIDI-${version}";
+  version = "2017.06.10";
+
+  src = fetchFromGitHub {
+    owner = "leesavide";
+    repo = "abcmidi";
+    rev = name;
+    sha256 = "0y92m3mj63vvy79ksq4z5hgkz6w50drg9a4bmbk6jylny0l0bdpy";
+  };
+
+  # There is also a file called "makefile" which seems to be preferred by the standard build phase
+  makefile = "Makefile";
+
+  meta = with stdenv.lib; {
+    homepage = http://abc.sourceforge.net/abcMIDI/;
+    license = licenses.gpl2Plus;
+    description = "abc <-> MIDI conversion utilities";
+    maintainers = [ maintainers.dotlambda ];
+  };
+}
diff --git a/pkgs/tools/cd-dvd/cdrkit/default.nix b/pkgs/tools/cd-dvd/cdrkit/default.nix
index 36382c9e8c9..81bd4f60f43 100644
--- a/pkgs/tools/cd-dvd/cdrkit/default.nix
+++ b/pkgs/tools/cd-dvd/cdrkit/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake, libcap, zlib, bzip2}:
+{stdenv, fetchurl, cmake, libcap, zlib, bzip2, perl}:
 
 stdenv.mkDerivation rec {
   name = "cdrkit-1.1.11";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1nj7iv3xrq600i37na9a5idd718piiiqbs4zxvpjs66cdrsk1h6i";
   };
 
-  buildInputs = [cmake libcap zlib bzip2];
+  buildInputs = [cmake libcap zlib bzip2 perl];
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/tools/cd-dvd/nrg2iso/default.nix b/pkgs/tools/cd-dvd/nrg2iso/default.nix
index 35414f6e776..98853d1ba61 100644
--- a/pkgs/tools/cd-dvd/nrg2iso/default.nix
+++ b/pkgs/tools/cd-dvd/nrg2iso/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.4";
 
   src = fetchurl {
-    url = "gregory.kokanosky.free.fr/v4/linux/${name}.tar.gz";
+    url = "http://gregory.kokanosky.free.fr/v4/linux/${name}.tar.gz";
     sha256 = "18sam7yy50rbfhjixwd7wx7kmfn1x1y5j80vwfxi5v408s39s115";
   };
 
diff --git a/pkgs/tools/cd-dvd/xorriso/default.nix b/pkgs/tools/cd-dvd/xorriso/default.nix
index d0d220b1de8..b91a59006e9 100644
--- a/pkgs/tools/cd-dvd/xorriso/default.nix
+++ b/pkgs/tools/cd-dvd/xorriso/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libcdio, zlib, bzip2, readline, acl, attr }:
 
 stdenv.mkDerivation rec {
-  name = "xorriso-1.4.6";
+  name = "xorriso-1.4.8";
 
   src = fetchurl {
     url = "mirror://gnu/xorriso/${name}.tar.gz";
-    sha256 = "112p0ghwzxrcjbsir1n2jxhq103ckrw93wzvd55qqvzfgs674vsj";
+    sha256 = "10c44yr3dpmwxa7rf23mwfsy1bahny3jpcg9ig0xjv090jg0d0pc";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/compression/xz/default.nix b/pkgs/tools/compression/xz/default.nix
index 55ab89993c7..48c58434acd 100644
--- a/pkgs/tools/compression/xz/default.nix
+++ b/pkgs/tools/compression/xz/default.nix
@@ -17,9 +17,6 @@ stdenv.mkDerivation rec {
 
   postInstall = "rm -rf $out/share/doc";
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = with stdenv.lib; {
     homepage = http://tukaani.org/xz/;
     description = "XZ, general-purpose data compression software, successor of LZMA";
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index 0ce69500038..5c5779037ab 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig attr libuuid libscrypt libsodium keyutils liburcu zlib libaio ];
 
   preConfigure = ''
-    substituteInPlace cmd_migrate.c --replace /usr/include/dirent.h ${stdenv.glibc.dev}/include/dirent.h
+    substituteInPlace cmd_migrate.c --replace /usr/include/dirent.h ${stdenv.lib.getDev stdenv.cc.libc}/include/dirent.h
   '';
 
   installFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 3960fd155c7..c3f4863fe6f 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -21,9 +21,6 @@ stdenv.mkDerivation rec {
     sha256 = "0r8c1bgm68kl70j1lgd0rv12iykw6143k4m9a56xip9rc2hv25qi";
   };
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   patches = optional hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
 
   # The test tends to fail on btrfs and maybe other unusual filesystems.
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 13d1b149d06..2ea29196ed6 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchgit, python3Packages, docutils
-, acl, binutils, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, diffutils, dtc, e2fsprogs
-, file, findutils, fpc, gettext, ghc, gnupg1, gnutar, gzip, imagemagick, jdk, libarchive, libcaca, llvm
-, mono, openssh, pdftk, poppler_utils, sng, sqlite, squashfsTools, tcpdump, unzip, xxd, xz
+, acl, apktool, binutils, bzip2, cbfstool, cdrkit, colord, colordiff, coreutils, cpio, diffutils, dtc
+, e2fsprogs, file, findutils, fontforge-fonttools, fpc, gettext, ghc, ghostscriptX, giflib, gnupg1, gnutar
+, gzip, imagemagick, jdk, libarchive, libcaca, llvm, mono, openssh, pdftk, pgpdump, poppler_utils, sng, sqlite
+, squashfsTools, tcpdump, unoconv, unzip, xxd, xz
 , enableBloat ? false
 }:
 
@@ -24,13 +25,16 @@ python3Packages.buildPythonApplication rec {
     sed -i setup.py -e "/'rpm-python',/d"
   '';
 
-  # Still missing these tools: apktool docx2txt enjarify gifbuild js-beautify odt2txt oggDump pgpdump ps2ascii Rscript showttf
+  # Still missing these tools: docx2txt enjarify js-beautify oggDump Rscript
   # Also these libraries: python3-guestfs
   pythonPath = with python3Packages; [ debian libarchive-c python_magic tlsh rpm ] ++ [
-      acl binutils bzip2 cbfstool cdrkit colordiff coreutils cpio diffutils dtc e2fsprogs file
-      findutils gettext gnutar gzip libarchive libcaca poppler_utils sng sqlite squashfsTools unzip
-      xxd xz
-    ] ++ lib.optionals enableBloat [ colord fpc ghc gnupg1 imagemagick llvm jdk mono openssh pdftk tcpdump ];
+      acl binutils bzip2 cdrkit colordiff coreutils cpio diffutils dtc e2fsprogs file findutils
+      fontforge-fonttools gettext gnutar gzip libarchive libcaca pgpdump sng sqlite
+      squashfsTools unzip xxd xz
+    ] ++ lib.optionals enableBloat [
+      apktool cbfstool colord fpc ghc ghostscriptX giflib gnupg1 imagemagick
+      llvm jdk mono openssh pdftk poppler_utils tcpdump unoconv
+    ];
 
   doCheck = false; # Calls 'mknod' in squashfs tests, which needs root
 
diff --git a/pkgs/tools/misc/fpart/default.nix b/pkgs/tools/misc/fpart/default.nix
new file mode 100644
index 00000000000..b29e7641310
--- /dev/null
+++ b/pkgs/tools/misc/fpart/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "fpart-${version}";
+  version = "0.9.3";
+
+  src = fetchurl {
+    url = "http://contribs.martymac.org/fpart/${name}.tar.gz";
+    sha256 = "0f1vm7c7v9nrd0mnz6qivpnngni6y53b11kvniclqfd25hhw6ggq";
+  };
+
+  postInstall = ''
+    sed "s|^FPART_BIN=.*|FPART_BIN=\"$out/bin/fpart\"|" \
+        -i "$out/bin/fpsync"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Split file trees into bags (called \"partitions\")";
+    longDescription = ''
+      Fpart is a tool that helps you sort file trees and pack them into bags
+      (called "partitions").
+
+      It splits a list of directories and file trees into a certain number of
+      partitions, trying to produce partitions with the same size and number of
+      files. It can also produce partitions with a given number of files or a
+      limited size.
+
+      Once generated, partitions are either printed as file lists to stdout
+      (default) or to files. Those lists can then be used by third party programs.
+
+      Fpart also includes a live mode, which allows it to crawl very large
+      filesystems and produce partitions in live. Hooks are available to act on
+      those partitions (e.g. immediatly start a transfer using rsync(1))
+      without having to wait for the filesystem traversal job to be finished.
+      Used this way, fpart can be seen as a powerful data migration tool.
+    '';
+    homepage = "http://contribs.martymac.org/";
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.bjornfor ];
+  };
+}
diff --git a/pkgs/tools/misc/neofetch/default.nix b/pkgs/tools/misc/neofetch/default.nix
index ea2b863cd77..de4a22ee9e4 100644
--- a/pkgs/tools/misc/neofetch/default.nix
+++ b/pkgs/tools/misc/neofetch/default.nix
@@ -2,26 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "neofetch-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
   src = fetchFromGitHub {
     owner = "dylanaraps";
     repo = "neofetch";
     rev = version;
-    sha256 = "1skkclvkqayqsbywja2fhv18l4rn9kg2da6bkip82zrwd713akl3";
+    sha256 = "1f1hvd635wv81qg802jdi0yggi4631w9nlznipaxkvk4y1zpdq5j";
   };
 
-  # This patch is only needed so that Neofetch 3.2.0 can look for
-  # configuration file, w3m directory (for fetching images) and ASCII
-  # directory properly. It won't be needed in subsequent releases.
-  patches = [
-    (fetchpatch {
-      name = "nixos.patch";
-      url = "https://github.com/konimex/neofetch/releases/download/3.2.0/nixos.patch";
-      sha256 = "0c6vsa74bxq6qlgbv3rrkhzkpvnq4304s6y2r1bl0sachyakaljy";
-    })
-  ];
-
-
   dontBuild = true;
 
 
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index c52efc546af..3af0c543560 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.08.27";
+  version = "2017.09.15";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "1xna277m1vqb6gl1w8mf5vr69c7kvmdsn8mrrqcrmhi7gvr9j03i";
+    sha256 = "1kw8pqzvhbpyxcz2jb692j4cgzd3vmd81mra09xvpzkq974jkx7f";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/telepresence/default.nix b/pkgs/tools/networking/telepresence/default.nix
new file mode 100644
index 00000000000..1f94702e830
--- /dev/null
+++ b/pkgs/tools/networking/telepresence/default.nix
@@ -0,0 +1,47 @@
+{ lib, stdenv, fetchgit, fetchFromGitHub, makeWrapper, git
+, python3, sshfs-fuse, torsocks, sshuttle, conntrack_tools }:
+
+let
+  sshuttle-telepresence = lib.overrideDerivation sshuttle (p: {
+    src = fetchgit {
+      url = "https://github.com/datawire/sshuttle.git";
+      rev = "8f881d131a0d5cb203c5a530d233996077f1da1e";
+      sha256 = "0c760xhblz5mpcn5ddqpvivvgn0ixqbhpjsy50dkhgn6lymrx9bx";
+      leaveDotGit = true;
+    };
+
+    buildInputs = p.buildInputs ++ [ git ];
+    postPatch = "rm sshuttle/tests/client/test_methods_nat.py";
+    postInstall = "mv $out/bin/sshuttle $out/bin/sshuttle-telepresence";
+  });
+in stdenv.mkDerivation rec {
+  pname = "telepresence";
+  version = "0.65";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "datawire";
+    repo = "telepresence";
+    rev = version;
+    sha256 = "01hwaybhdmfzmyzvwdx19nc5px2grf4k1vbbj9jdmsh5pmzfrby4";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  phases = ["unpackPhase" "installPhase"];
+
+  installPhase = ''
+    mkdir -p $out/libexec $out/bin
+    cp cli/telepresence $out/libexec/telepresence
+
+    makeWrapper $out/libexec/telepresence $out/bin/telepresence \
+      --prefix PATH : ${lib.makeBinPath [python3 sshfs-fuse torsocks conntrack_tools sshuttle-telepresence]}
+  '';
+
+  meta = {
+    homepage = https://www.telepresence.io/;
+    description = "Local development against a remote Kubernetes or OpenShift cluster";
+    license = with lib.licenses; [ asl20 ];
+    maintainers = with lib.maintainers; [ offline ];
+  };
+}
diff --git a/pkgs/tools/networking/tinc/pre.nix b/pkgs/tools/networking/tinc/pre.nix
index 38ba5accbb3..0f5fd283692 100644
--- a/pkgs/tools/networking/tinc/pre.nix
+++ b/pkgs/tools/networking/tinc/pre.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "tinc-${version}";
-  version = "1.1pre14";
+  version = "1.1pre15";
 
   src = fetchgit {
     rev = "refs/tags/release-${version}";
     url = "git://tinc-vpn.org/tinc";
-    sha256 = "05an2vj0a3wjv5w672wgzyixbydin5jpja5zv6x81bc72dms0ymc";
+    sha256 = "1msym63jpipvzb5dn8yn8yycrii43ncfq6xddxh2ifrakr48l6y5";
   };
 
   outputs = [ "out" "man" "info" ];
@@ -15,18 +15,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook texinfo ];
   buildInputs = [ ncurses readline zlib lzo openssl ];
 
+  # needed so the build doesn't need to run git to find out the version.
   prePatch = ''
     substituteInPlace configure.ac --replace UNKNOWN ${version}
+    echo "${version}" > configure-version
+    echo "https://tinc-vpn.org/git/browse?p=tinc;a=log;h=refs/tags/release-${version}" > ChangeLog
+    sed -i '/AC_INIT/s/m4_esyscmd_s.*/${version})/' configure.ac
   '';
 
-  patches = [
-    # Avoid infinite loop with "Error while reading from Linux tun/tap device (tun mode) /dev/net/tun: File descriptor in bad state" on network restart
-    (fetchpatch {
-      url = https://github.com/gsliepen/tinc/compare/acefa66...e4544db.patch;
-      sha256 = "1jz7anqqzk7j96l5ifggc2knp14fmbsjdzfrbncxx0qhb6ihdcvn";
-    })
-  ];
-
   postInstall = ''
     rm $out/bin/tinc-gui
   '';
@@ -47,6 +43,6 @@ stdenv.mkDerivation rec {
     homepage="http://www.tinc-vpn.org/";
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ wkennington fpletz ];
+    maintainers = with maintainers; [ wkennington fpletz lassulus ];
   };
 }
diff --git a/pkgs/tools/package-management/niff/default.nix b/pkgs/tools/package-management/niff/default.nix
new file mode 100644
index 00000000000..8c6a72cf131
--- /dev/null
+++ b/pkgs/tools/package-management/niff/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, python3
+, fetchFromGitHub
+}:
+
+let
+  pname = "niff";
+  version = "0.1";
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "FRidh";
+    repo = "niff";
+    rev = "v${version}";
+    sha256 = "1ziv5r57jzg2qg61izvkkyq1bz4p5nb6652dzwykfj3l2r3db4bi";
+  };
+
+  buildInputs = [ python3 ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp niff $out/bin/niff
+  '';
+
+  meta = {
+    description = "A program that compares two Nix expressions and determines which attributes changed";
+    homepage = https://github.com/FRidh/niff;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.fridh ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 3d0c8909177..e90f71780eb 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, perl, curl, bzip2, sqlite, openssl ? null, xz
 , pkgconfig, boehmgc, perlPackages, libsodium, aws-sdk-cpp, brotli, readline
 , autoreconfHook, autoconf-archive, bison, flex, libxml2, libxslt, docbook5, docbook5_xsl
-, libseccomp, busybox
+, libseccomp, busybox, nlohmann_json
 , hostPlatform
 , storeDir ? "/nix/store"
 , stateDir ? "/nix/var"
@@ -39,7 +39,7 @@ let
 
     buildInputs = [ curl openssl sqlite xz ]
       ++ lib.optional (stdenv.isLinux || stdenv.isDarwin) libsodium
-      ++ lib.optionals fromGit [ brotli readline ] # Since 1.12
+      ++ lib.optionals fromGit [ brotli readline nlohmann_json ] # Since 1.12
       ++ lib.optional stdenv.isLinux libseccomp
       ++ lib.optional ((stdenv.isLinux || stdenv.isDarwin) && is112)
           (aws-sdk-cpp.override {
@@ -152,21 +152,21 @@ in rec {
   nix = nixStable;
 
   nixStable = (common rec {
-    name = "nix-1.11.14";
+    name = "nix-1.11.15";
     src = fetchurl {
       url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
-      sha256 = "26593c831addf1d40f6b7d131f394cb0f9fbec9e46471369faed16eaa2c4b7e4";
+      sha256 = "d20f20e45d519f54fae5c61d55eadcf53e6d7cdbde9870eeec80d499f9805165";
     };
   }) // { perl-bindings = nixStable; };
 
   nixUnstable = (lib.lowPrio (common rec {
     name = "nix-1.12${suffix}";
-    suffix = "pre5511_c94f3d55";
+    suffix = "pre5619_346aeee1";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "c94f3d5575d7af5403274d1e9e2f3c9d72989751";
-      sha256 = "1akfzzm4f07wj6l7za916xv5rnh71pk3vl8dphgradjfqb37bv18";
+      rev = "346aeee1cb21b5cab5ddc3e8658c88321f513761";
+      sha256 = "0lyrs0mqnh89w1nzrqpxvnh7bdjpg8j22xaidql47f1nwbblmn3f";
     };
     fromGit = true;
   })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index bba7c3d7fa6..f12af074d41 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "nox-${version}";
-  version = "0.0.5";
+  version = "0.0.6";
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://pypi/n/nix-nox/nix-nox-${version}.tar.gz";
-    sha256 = "1kwrkp7njxn2sqmmzy5d33d07gawbw2ab2bmfjz0y1r23z9iadf2";
+    sha256 = "1qcbhdnhdhhv7q6cqdgv0q55ic8fk18526zn2yb12x9r1s0lfp9z";
   };
 
   buildInputs = [ pythonPackages.pbr git ];
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index 302a5e251b0..2b606d505bd 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, zlib, readline, openssl
 , libiconv, pcsclite, libassuan, libXt
 , docbook_xsl, libxslt, docbook_xml_dtd_412
+, Carbon
 }:
 
 stdenv.mkDerivation rec {
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     autoreconfHook pkgconfig zlib readline openssl pcsclite libassuan
     libXt libxslt libiconv docbook_xml_dtd_412
-  ];
+  ] ++ stdenv.lib.optional stdenv.isDarwin Carbon;
 
   configureFlags = [
     "--enable-zlib"
@@ -37,8 +38,6 @@ stdenv.mkDerivation rec {
     "sysconfdir=$(out)/etc"
   ];
 
-  
-
   meta = with stdenv.lib; {
     description = "Set of libraries and utilities to access smart cards";
     homepage = https://github.com/OpenSC/OpenSC/wiki;
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index df04ef48730..236474343b4 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, autoreconfHook, zlib, pkgconfig, libuuid }:
 
 stdenv.mkDerivation rec{
-  version = "1.5.0";
+  version = "1.7.0";
   name = "netdata-${version}";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "firehol";
     repo = "netdata";
-    sha256 = "1nsv0s11ai1kvig9xr4cz2f2lalvilpbfjpd8fdfqk9fak690zhz";
+    sha256 = "1fv01jnbgwbafsxavlji90zdqizn8m4nfg9ivc4sbi05j036bg6n";
   };
 
   buildInputs = [ autoreconfHook zlib pkgconfig libuuid ];
diff --git a/pkgs/tools/system/netdata/web_access.patch b/pkgs/tools/system/netdata/web_access.patch
index f1e4bd64cbb..ae4d29185de 100644
--- a/pkgs/tools/system/netdata/web_access.patch
+++ b/pkgs/tools/system/netdata/web_access.patch
@@ -1,7 +1,7 @@
 --- a/src/web_client.c.orig
 +++ b/src/web_client.c
-@@ -331,7 +331,7 @@
-         buffer_sprintf(w->response.data, "File '%s' does not exist, or is not accessible.", webfilename);
+@@ -302,7 +302,7 @@
+         buffer_strcat_htmlescape(w->response.data, webfilename);
          return 404;
      }
 -
@@ -9,8 +9,8 @@
      // check if the file is owned by expected user
      if(stat.st_uid != web_files_uid()) {
          error("%llu: File '%s' is owned by user %u (expected user %u). Access Denied.", w->id, webfilename, stat.st_uid, web_files_uid());
-@@ -345,7 +345,7 @@
-         buffer_sprintf(w->response.data, "Access to file '%s' is not permitted.", webfilename);
+@@ -320,7 +320,7 @@
+         buffer_strcat_htmlescape(w->response.data, webfilename);
          return 403;
      }
 -
diff --git a/pkgs/tools/system/which/default.nix b/pkgs/tools/system/which/default.nix
index fc0889012c2..870e1b3a398 100644
--- a/pkgs/tools/system/which/default.nix
+++ b/pkgs/tools/system/which/default.nix
@@ -8,9 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "1bgafvy3ypbhhfznwjv1lxmd6mci3x1byilnnkc7gcr486wlb8pl";
   };
 
-  # FIXME needs gcc 4.9 in bootstrap tools
-  hardeningDisable = [ "stackprotector" ];
-
   meta = with stdenv.lib; {
     homepage = http://ftp.gnu.org/gnu/which/;
     platforms = platforms.all;
diff --git a/pkgs/tools/video/swfmill/default.nix b/pkgs/tools/video/swfmill/default.nix
index 4df4e3f5428..0c8a34c5763 100644
--- a/pkgs/tools/video/swfmill/default.nix
+++ b/pkgs/tools/video/swfmill/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "15mcpql448vvgsbxs7wd0vdk1ln6rdcpnif6i2zjm5l4xng55s7r";
   };
 
+  # Fixes build with GCC 6
+  NIX_CFLAGS_COMPILE = "-std=c++03";
+
   buildInputs = [ pkgconfig libxslt freetype libpng libxml2 ];
 
   meta = {
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 67b8537cf90..099966bee18 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -69,7 +69,7 @@ with pkgs;
   ### BUILD SUPPORT
 
   autoreconfHook = makeSetupHook
-    { substitutions = { inherit autoconf automake gettext libtool; }; }
+    { deps = [ autoconf automake gettext libtool ]; }
     ../build-support/setup-hooks/autoreconf.sh;
 
   ensureNewerSourcesHook = { year }: makeSetupHook {}
@@ -362,6 +362,8 @@ with pkgs;
 
   a2ps = callPackage ../tools/text/a2ps { };
 
+  abcmidi = callPackage ../tools/audio/abcmidi { };
+
   abduco = callPackage ../tools/misc/abduco { };
 
   acbuild = callPackage ../applications/misc/acbuild { };
@@ -1702,7 +1704,14 @@ with pkgs;
 
   disper = callPackage ../tools/misc/disper { };
 
-  dmd_2_067_1 = callPackage ../development/compilers/dmd/2.067.1.nix { };
+  dmd_2_067_1 = callPackage ../development/compilers/dmd/2.067.1.nix {
+    stdenv = if stdenv.hostPlatform.isDarwin then
+               stdenv
+             else
+               # Doesn't build with gcc6 on linux
+               overrideCC stdenv gcc5;
+  };
+
   dmd = callPackage ../development/compilers/dmd {
     bootstrapDmd = dmd_2_067_1;
   };
@@ -1814,21 +1823,9 @@ with pkgs;
 
   emscripten = callPackage ../development/compilers/emscripten { };
 
-  emscriptenfastcomp-unwrapped = callPackage ../development/compilers/emscripten-fastcomp { };
-  emscriptenfastcomp-wrapped = wrapCCWith stdenv.cc.libc ''
-    # hardening flags break WASM support
-    cat > $out/nix-support/add-hardening.sh
-  '' emscriptenfastcomp-unwrapped;
-  emscriptenfastcomp = symlinkJoin {
-    name = "emscriptenfastcomp";
-    paths = [ emscriptenfastcomp-wrapped emscriptenfastcomp-unwrapped ];
-    preferLocalBuild = false;
-    allowSubstitutes = true;
-    postBuild = ''
-      # replace unwrapped clang-3.9 binary by wrapper
-      ln -sf $out/bin/clang $out/bin/clang-[0-9]*
-    '';
-  };
+  emscriptenfastcompPackages = callPackage ../development/compilers/emscripten-fastcomp { };
+
+  emscriptenfastcomp = emscriptenfastcompPackages.emscriptenfastcomp;
 
   emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { });
 
@@ -2054,6 +2051,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  fpart = callPackage ../tools/misc/fpart { };
+
   fping = callPackage ../tools/networking/fping {};
 
   fpm = callPackage ../tools/package-management/fpm { };
@@ -2829,6 +2828,8 @@ with pkgs;
 
   kytea = callPackage ../tools/text/kytea { };
 
+  ldc = callPackage ../development/compilers/ldc { };
+
   lbreakout2 = callPackage ../games/lbreakout2 { };
 
   leocad = callPackage ../applications/graphics/leocad { };
@@ -3500,6 +3501,8 @@ with pkgs;
     wxGTK = wxGTK30;
   };
 
+  niff = callPackage ../tools/package-management/niff { };
+
   nifskope = callPackage ../tools/graphics/nifskope { };
 
   nilfs-utils = callPackage ../tools/filesystems/nilfs-utils {};
@@ -3631,7 +3634,9 @@ with pkgs;
 
   openresolv = callPackage ../tools/networking/openresolv { };
 
-  opensc = callPackage ../tools/security/opensc { };
+  opensc = callPackage ../tools/security/opensc {
+    inherit (darwin.apple_sdk.frameworks) Carbon;
+  };
 
   openssh =
     callPackage ../tools/networking/openssh {
@@ -3796,6 +3801,8 @@ with pkgs;
 
   pdf2svg = callPackage ../tools/graphics/pdf2svg { };
 
+  fmodex = callPackage ../games/zandronum/fmod.nix { };
+
   pdfmod = callPackage ../applications/misc/pdfmod { };
 
   jbig2enc = callPackage ../tools/graphics/jbig2enc { };
@@ -4530,6 +4537,8 @@ with pkgs;
 
   telegraf = callPackage ../servers/monitoring/telegraf { };
 
+  telepresence = callPackage ../tools/networking/telepresence { };
+
   texmacs = callPackage ../applications/editors/texmacs {
     tex = texlive.combined.scheme-small;
     extraFonts = true;
@@ -4567,6 +4576,8 @@ with pkgs;
 
   tldr = callPackage ../tools/misc/tldr { };
 
+  tldr-hs = haskellPackages.tldr;
+
   tlspool = callPackage ../tools/networking/tlspool { };
 
   tmate = callPackage ../tools/misc/tmate { };
@@ -5367,6 +5378,13 @@ with pkgs;
   gcc = gcc6;
   gcc-unwrapped = gcc.cc;
 
+  gccStdenv = if (!stdenv.isDarwin) then stdenv else stdenv.override {
+    allowedRequisites = null;
+    cc = gcc;
+    # Include unwrapped binaries like AS, etc. and remove libcxx/libcxxabi
+    extraBuildInputs = [ stdenv.cc.cc ];
+  };
+
   wrapCCMulti = cc:
     if system == "x86_64-linux" then lowPrio (
       let
@@ -5854,7 +5872,7 @@ with pkgs;
 
   jikes = callPackage ../development/compilers/jikes { };
 
-  julia = callPackage ../development/compilers/julia {
+  julia_04 = callPackage ../development/compilers/julia {
     gmp = gmp6;
     openblas = openblasCompat;
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
@@ -5868,6 +5886,13 @@ with pkgs;
     llvm = llvm_38;
   };
 
+  julia_06 = callPackage ../development/compilers/julia/0.6.nix {
+    gmp = gmp6;
+    openblas = openblasCompat;
+    inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
+    llvm = llvm_39;
+  };
+
   julia-git = lowPrio (callPackage ../development/compilers/julia/git.nix {
     gmp = gmp6;
     openblas = openblasCompat;
@@ -5875,6 +5900,8 @@ with pkgs;
     llvm = llvm_39;
   });
 
+  julia = julia_06;
+
   kotlin = callPackage ../development/compilers/kotlin { };
 
   lazarus = callPackage ../development/compilers/fpc/lazarus.nix {
@@ -6573,7 +6600,7 @@ with pkgs;
     ruby_2_1_10
     ruby_2_2_7
     ruby_2_3_4
-    ruby_2_4_1;
+    ruby_2_4_2;
 
   # Ruby aliases
   ruby = ruby_2_3;
@@ -6581,7 +6608,7 @@ with pkgs;
   ruby_2_1 = ruby_2_1_10;
   ruby_2_2 = ruby_2_2_7;
   ruby_2_3 = ruby_2_3_4;
-  ruby_2_4 = ruby_2_4_1;
+  ruby_2_4 = ruby_2_4_2;
 
   scsh = callPackage ../development/interpreters/scsh { };
 
@@ -8187,7 +8214,9 @@ with pkgs;
 
   glui = callPackage ../development/libraries/glui {};
 
-  gmime = callPackage ../development/libraries/gmime { };
+  gmime2 = callPackage ../development/libraries/gmime/2.nix { };
+  gmime3 = callPackage ../development/libraries/gmime/3.nix { };
+  gmime = gmime2;
 
   gmm = callPackage ../development/libraries/gmm { };
 
@@ -9905,6 +9934,7 @@ with pkgs;
   };
 
   opensubdiv = callPackage ../development/libraries/opensubdiv {
+    stdenv_gcc5 = overrideCC stdenv gcc5;
     cmake = cmake_2_8;
   };
 
@@ -10138,7 +10168,7 @@ with pkgs;
     ### KDE APPLICATIONS
 
     inherit (kdeApplications.override { libsForQt5 = self; })
-      kholidays libkdcraw libkexiv2 libkipi libkomparediff2;
+      kholidays libkdcraw libkexiv2 libkipi libkomparediff2 libksane;
 
     ### LIBRARIES
 
@@ -10485,8 +10515,6 @@ with pkgs;
 
   sqlite3_analyzer = lowPrio (callPackage ../development/libraries/sqlite/sqlite3_analyzer.nix { });
 
-  sqlite-amalgamation = callPackage ../development/libraries/sqlite-amalgamation { };
-
   sqlite-interactive = appendToName "interactive" (sqlite.override { interactive = true; }).bin;
 
   sqlcipher = lowPrio (callPackage ../development/libraries/sqlcipher {
@@ -11350,6 +11378,7 @@ with pkgs;
 
   mattermost = callPackage ../servers/mattermost { };
   matterircd = callPackage ../servers/mattermost/matterircd.nix { };
+  matterbridge = callPackage ../servers/matterbridge { };
 
   mediatomb = callPackage ../servers/mediatomb { };
 
@@ -12377,10 +12406,12 @@ with pkgs;
 
     sch_cake = callPackage ../os-specific/linux/sch_cake { };
 
-    spl = callPackage ../os-specific/linux/spl {
+    inherit (callPackage ../os-specific/linux/spl {
       configFile = "kernel";
       inherit kernel;
-    };
+    }) splStable splUnstable;
+
+    spl = splStable;
 
     sysdig = callPackage ../os-specific/linux/sysdig {};
 
@@ -12404,10 +12435,12 @@ with pkgs;
 
     x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { };
 
-    zfs = callPackage ../os-specific/linux/zfs {
+    inherit (callPackage ../os-specific/linux/zfs {
       configFile = "kernel";
       inherit kernel spl;
-    };
+     }) zfsStable zfsUnstable;
+
+     zfs = zfsStable;
   });
 
   # The current default kernel / kernel modules.
@@ -12705,9 +12738,9 @@ with pkgs;
 
   statifier = callPackage ../os-specific/linux/statifier { };
 
-  spl = callPackage ../os-specific/linux/spl {
+  inherit (callPackage ../os-specific/linux/spl {
     configFile = "user";
-  };
+  }) splStable splUnstable;
 
   sysdig = callPackage ../os-specific/linux/sysdig {
     kernel = null;
@@ -12911,9 +12944,11 @@ with pkgs;
 
   zd1211fw = callPackage ../os-specific/linux/firmware/zd1211 { };
 
-  zfs = callPackage ../os-specific/linux/zfs {
+  inherit (callPackage ../os-specific/linux/zfs {
     configFile = "user";
-  };
+  }) zfsStable zfsUnstable;
+
+  zfs = zfsStable;
 
   ### DATA
 
@@ -13607,6 +13642,7 @@ with pkgs;
   bleachbit = callPackage ../applications/misc/bleachbit { };
 
   blender = callPackage  ../applications/misc/blender {
+    stdenv_gcc5 = overrideCC stdenv gcc5;
     python = python35;
   };
 
@@ -14963,8 +14999,6 @@ with pkgs;
 
   kanboard = callPackage ../applications/misc/kanboard { };
 
-  kde-telepathy = kde4.callPackage ../applications/networking/instant-messengers/telepathy/kde {};
-
   kdeApplications =
     let
       mkApplications = import ../applications/kde;
@@ -15580,7 +15614,9 @@ with pkgs;
 
   notepadqq = libsForQt56.callPackage ../applications/editors/notepadqq { };
 
-  notmuch = callPackage ../applications/networking/mailreaders/notmuch { };
+  notmuch = callPackage ../applications/networking/mailreaders/notmuch {
+    gmime = gmime3;
+  };
 
   notmuch-mutt = callPackage ../applications/networking/mailreaders/notmuch/mutt.nix { };
 
@@ -15659,10 +15695,7 @@ with pkgs;
 
   osquery = callPackage ../tools/system/osquery { };
 
-  palemoon = callPackage ../applications/networking/browsers/palemoon {
-    # https://forum.palemoon.org/viewtopic.php?f=57&t=15296#p111146
-    stdenv = overrideCC stdenv gcc49;
-  };
+  palemoon = callPackage ../applications/networking/browsers/palemoon { };
 
   pamix = callPackage ../applications/audio/pamix { };
 
@@ -16256,6 +16289,8 @@ with pkgs;
 
   sipp = callPackage ../development/tools/misc/sipp { };
 
+  skanlite = libsForQt5.callPackage ../applications/office/skanlite { };
+
   sonic-visualiser = libsForQt5.callPackage ../applications/audio/sonic-visualiser {
     inherit (pkgs.vamp) vampSDK;
   };
@@ -17827,16 +17862,12 @@ with pkgs;
 
   xsokoban = callPackage ../games/xsokoban { };
 
-  zandronum = callPackage ../games/zandronum {
-    cmake = cmake_2_8;
-  };
+  zandronum = callPackage ../games/zandronum { };
 
   zandronum-server = zandronum.override {
     serverOnly = true;
   };
 
-  zandronum-bin = hiPrio (callPackage ../games/zandronum/bin.nix { });
-
   zangband = callPackage ../games/zangband { };
 
   zdbsp = callPackage ../games/zdoom/zdbsp.nix { };
@@ -17855,7 +17886,7 @@ with pkgs;
 
   ### DESKTOP ENVIRONMENTS
 
-  clearlooks-phenix = callPackage ../misc/themes/gtk3/clearlooks-phenix { };
+  clearlooks-phenix = callPackage ../misc/themes/clearlooks-phenix { };
 
   enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment {
     callPackage = newScope pkgs.enlightenment;
@@ -18471,6 +18502,8 @@ with pkgs;
     sbcl = null;
   };
 
+  mxnet = callPackage ../applications/science/math/mxnet { };
+
   wxmaxima = callPackage ../applications/science/math/wxmaxima { wxGTK = wxGTK30; };
 
   pari = callPackage ../applications/science/math/pari { tex = texlive.combined.scheme-basic; };
@@ -19395,6 +19428,7 @@ with pkgs;
   # `recurseIntoAttrs` for sake of hydra, not nix-env
   tests = recurseIntoAttrs {
     cc-wrapper = callPackage ../test/cc-wrapper { };
+    cc-wrapper-gcc = callPackage ../test/cc-wrapper { stdenv = gccStdenv; };
     cc-wrapper-clang = callPackage ../test/cc-wrapper { stdenv = llvmPackages.stdenv; };
     cc-wrapper-libcxx = callPackage ../test/cc-wrapper { stdenv = llvmPackages.libcxxStdenv; };
     cc-wrapper-clang-39 = callPackage ../test/cc-wrapper { stdenv = llvmPackages_39.stdenv; };
@@ -19403,4 +19437,6 @@ with pkgs;
 
     macOSSierraShared = callPackage ../test/macos-sierra-shared {};
   };
+
+  duti = callPackage ../os-specific/darwin/duti {};
 }
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index f8ec36add59..ccc9e459843 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -99,7 +99,9 @@ in {
 
   acoustics = callPackage ../development/python-modules/acoustics { };
 
-  "3to2" = callPackage ../development/python-modules/3to2 { };
+  py3to2 = callPackage ../development/python-modules/3to2 { };
+  # Left for backwards compatibility
+  "3to2" = self.py3to2;
 
   aenum = callPackage ../development/python-modules/aenum { };
 
@@ -131,6 +133,8 @@ in {
 
   # packages defined elsewhere
 
+  backports_csv = callPackage ../development/python-modules/backports_csv {};
+
   bap = callPackage ../development/python-modules/bap {
     bap = pkgs.ocamlPackages_4_02.bap;
   };
@@ -203,8 +207,6 @@ in {
 
   ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
 
-  pitz = callPackage ../applications/misc/pitz { };
-
   plantuml = callPackage ../tools/misc/plantuml { };
 
   Pmw = callPackage ../development/python-modules/Pmw { };
@@ -321,30 +323,7 @@ in {
 
   aiohttp = callPackage ../development/python-modules/aiohttp { };
 
-  aiohttp-cors = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "aiohttp-cors";
-    # 0.5.3 is the current version but gns3-server requires 0.5.1
-    version = "0.5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/${pname}/${name}.tar.gz";
-      sha256 = "0szma27ri25fq4nwwvs36myddggw3jz4pyzmq63yz4xpw0jjdxck";
-    };
-
-    # Requires network access
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ aiohttp ]
-      ++ optional (pythonOlder "3.5") typing;
-
-    meta = {
-      description = "CORS support for aiohttp";
-      homepage = "https://github.com/aio-libs/aiohttp-cors";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ primeos ];
-    };
-  };
+  aiohttp-cors = callPackage ../development/python-modules/aiohttp/cors.nix { };
 
   alabaster = callPackage ../development/python-modules/alabaster {};
 
@@ -1704,29 +1683,7 @@ in {
 
   csvkit =  callPackage ../development/python-modules/csvkit { };
 
-  cx_Freeze = buildPythonPackage rec {
-    name = "cx_freeze-${version}";
-    version = "4.3.4";
-
-    # build failures
-    disabled = isPyPy || isPy35;
-
-    # timestamp need to come after 1980 for zipfiles and nix store is set to epoch
-    prePatch = ''
-      substituteInPlace cx_Freeze/freezer.py --replace "os.stat(module.file).st_mtime" "time.time()"
-    '';
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cx_Freeze/cx_Freeze-${version}.tar.gz";
-      sha256 = "1qhv0gq3ggr06k8cvzphma29zfqdajkx2yfzbw89s4vy23xbpis0";
-    };
-
-    meta = {
-      description = "A set of scripts and modules for freezing Python scripts into executables";
-      homepage = "http://cx-freeze.sourceforge.net/";
-      license = licenses.psfl;
-    };
-  };
+  cx_Freeze = callPackage ../development/python-modules/cx_freeze {};
 
   cvxopt = buildPythonPackage rec {
     name = "${pname}-${version}";
@@ -2596,6 +2553,8 @@ in {
     };
   };
 
+  cccolutils = callPackage ../development/python-modules/cccolutils/default.nix {};
+
   CDDB = buildPythonPackage rec {
     name = "CDDB-1.4";
 
@@ -2696,6 +2655,8 @@ in {
     };
   };
 
+  cld2-cffi = callPackage ../development/python-modules/cld2-cffi {};
+
   clf = buildPythonPackage rec {
     name = "clf-${version}";
     version = "0.5.2";
@@ -2822,23 +2783,6 @@ in {
 
   cligj = callPackage ../development/python-modules/cligj { };
 
-  clepy = buildPythonPackage rec {
-    name = "clepy-0.3.20";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/clepy/${name}.tar.gz";
-      sha256 = "16vibfxms5z4ld8gbkra6dkhqm2cc3jnn0fwp7mw70nlwxnmm51c";
-    };
-
-    buildInputs = with self; [ self.mock self.nose self.decorator ];
-
-    meta = {
-      homepage = http://code.google.com/p/clepy/;
-      description = "Utilities created by the Cleveland Python users group";
-    };
-  };
-
-
   clientform = buildPythonPackage (rec {
     name = "clientform-0.2.10";
     disabled = isPy3k;
@@ -3549,6 +3493,8 @@ in {
     pythonPackages = self;
   };
 
+  openidc-client = callPackage ../development/python-modules/openidc-client/default.nix {};
+
   openstackclient = buildPythonPackage rec {
     name = "openstackclient-${version}";
     version = "1.7.1";
@@ -3624,27 +3570,7 @@ in {
     };
   };
 
-  MDP = buildPythonPackage rec {
-    version = "3.5";
-    name = "MDP-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/source/M/MDP/${name}.tar.gz";
-      sha256 = "0aw1zxmyvx6gfmmnixbqmdaah28jl7rmqkzhxv53091asc23iw9k";
-    };
-
-    buildInputs = with self; [ pytest_29 ];
-    propagatedBuildInputs = with self; [ future numpy ];
-
-    doCheck = true;
-
-    meta = {
-      description = "Library for building complex data processing software by combining widely used machine learning algorithms";
-      homepage = http://mdp-toolkit.sourceforge.net;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ nico202 ];
-    };
-  };
+  MDP = callPackage ../development/python-modules/mdp {};
 
   minidb = buildPythonPackage rec {
     name = "minidb-2.0.1";
@@ -3684,6 +3610,25 @@ in {
     };
   };
 
+  mxnet = buildPythonPackage rec {
+    inherit (pkgs.mxnet) name version src meta;
+
+    buildInputs = [ pkgs.mxnet ];
+    propagatedBuildInputs = with self; [ requests numpy graphviz ];
+
+    LD_LIBRARY_PATH = makeLibraryPath [ pkgs.mxnet ];
+
+    doCheck = !isPy3k;
+
+    preConfigure = ''
+      cd python
+    '';
+
+    postInstall = ''
+      rm -rf $out/mxnet
+      ln -s ${pkgs.mxnet}/lib/libmxnet.so $out/${python.sitePackages}/mxnet
+    '';
+  };
 
   pkginfo = buildPythonPackage rec {
     version = "1.3.2";
@@ -5596,33 +5541,7 @@ in {
     buildInputs = with self; [ fudge_9 nose ];
   };
 
-  fedora_cert = buildPythonPackage rec {
-    name = "fedora-cert-0.5.9.2";
-    meta.maintainers = with maintainers; [ mornfall ];
-    format = "other";
-
-    src = pkgs.fetchurl {
-      url = "https://fedorahosted.org/releases/f/e/fedora-packager/fedora-packager-0.5.9.2.tar.bz2";
-      sha256 = "105swvzshgn3g6bjwk67xd8pslnhpxwa63mdsw6cl4c7cjp2blx9";
-    };
-
-    propagatedBuildInputs = with self; [ python_fedora pyopenssl ];
-    postInstall = "mv $out/bin/fedpkg $out/bin/fedora-cert-fedpkg";
-    doCheck = false;
-  };
-
-  fedpkg = buildPythonPackage (rec {
-    name = "fedpkg-1.14";
-    meta.maintainers = with maintainers; [ mornfall ];
-
-    src = pkgs.fetchurl {
-      url = "https://fedorahosted.org/releases/f/e/fedpkg/${name}.tar.bz2";
-      sha256 = "0rj60525f2sv34g5llafnkmpvbwrfbmfajxjc14ldwzymp8clc02";
-    };
-
-    patches = [ ../development/python-modules/fedpkg-buildfix.diff ];
-    propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ];
-  });
+  fedpkg = callPackage ../development/python-modules/fedpkg { };
 
   flit = callPackage ../development/python-modules/flit { };
 
@@ -6183,23 +6102,7 @@ in {
 
   };
 
-  hglib = buildPythonPackage rec {
-    version = "1.7";
-    name = "hglib-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-hglib/python-hglib-${version}.tar.gz";
-      sha256 = "0dc087d15b774cda82d3c8096fb0e514caeb2ddb60eed38e9056b16e279ba3c5";
-    };
-
-    meta = {
-      description = "Mercurial Python library";
-      homepage = "http://selenic.com/repo/python-hglib";
-      license = licenses.mit;
-      maintainers = with maintainers; [ dfoxfranke ];
-      platforms = platforms.all;
-    };
-  };
+  hglib = callPackage ../development/python-modules/hglib {};
 
   humanize = buildPythonPackage rec {
     version = "0.5.1";
@@ -6308,6 +6211,8 @@ in {
     };
   };
 
+  ijson = callPackage ../development/python-modules/ijson/default.nix {};
+
   imagesize = buildPythonPackage rec {
     name = "imagesize-${version}";
     version = "0.7.0";
@@ -6453,27 +6358,7 @@ in {
     };
   };
 
-  internetarchive = let ver = "0.8.3"; in buildPythonPackage rec {
-    name = "internetarchive-${ver}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/jjjake/internetarchive/archive/v${ver}.tar.gz";
-      sha256 = "0j3l13zvbx50j66l6pnf8y8y8m6gk1sc3yssvfd2scvmv4gnmm8n";
-    };
-
-    # It is hardcoded to specific versions, I don't know why.
-    preConfigure = ''
-        sed 's/==/>=/' -i setup.py
-    '';
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ six clint pyyaml docopt requests jsonpatch args ];
-
-    meta = with stdenv.lib; {
-      description = "A python wrapper for the various Internet Archive APIs";
-      homepage = "https://github.com/jjjake/internetarchive";
-    };
-  };
+  internetarchive = callPackage ../development/python-modules/internetarchive {};
 
   jsbeautifier = callPackage ../development/python-modules/jsbeautifier {};
 
@@ -7230,45 +7115,6 @@ in {
 
   phpserialize = callPackage ../development/python-modules/phpserialize { };
 
-  pies = buildPythonPackage rec {
-    name = "pies-2.6.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pies/${name}.tar.gz";
-      sha256 = "d8d6ae4faa0a7da5d634ad8c6ca4bb22b70ad53bb7ecd91af23d490fcd2a88e8";
-    };
-
-    deps = if !isPy3k then [ self.pies2overrides self.enum34 ]
-           else if isPy33 then [ self.enum34 ]
-           else [];
-
-    propagatedBuildInputs = deps;
-
-    meta = {
-      description = "The simplest way to write one program that runs on both Python 2 and Python 3";
-      homepage = https://github.com/timothycrosley/pies;
-      license = licenses.mit;
-    };
-  };
-
-  pies2overrides = buildPythonPackage rec {
-    name = "pies2overrides-2.6.5";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pies2overrides/${name}.tar.gz";
-      sha256 = "2a91445afc7f692bdbabfbf00d3defb1d47ad7825eb568a6464359758ab35763";
-    };
-
-    propagatedBuildInputs = with self; [ ipaddress ];
-
-    meta = {
-      description = "Defines override classes that should be included with pies only if running on Python2";
-      homepage = https://github.com/timothycrosley/pies;
-      license = licenses.mit;
-    };
-  };
-
   plotly = callPackage ../development/python-modules/plotly { };
 
   podcastparser = callPackage ../development/python-modules/podcastparser { };
@@ -7415,6 +7261,8 @@ in {
     inherit pythonOlder;
   };
 
+  pyphen = callPackage ../development/python-modules/pyphen {};
+
   pypoppler = buildPythonPackage rec {
     name = "pypoppler-${version}";
     version = "0.12.2";
@@ -8117,6 +7965,8 @@ in {
     };
   };
 
+  schema = callPackage ../development/python-modules/schema {};
+
   svg-path = buildPythonPackage rec {
     name = "svg.path-${version}";
     version = "2.0b1";
@@ -10308,27 +10158,7 @@ in {
 
   hmmlearn = callPackage ../development/python-modules/hmmlearn { };
 
-  hcs_utils = buildPythonPackage rec {
-    name = "hcs_utils-1.5";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/h/hcs_utils/${name}.tar.gz";
-      sha256 = "1d2za9crkgzildx610w3zif2i8phcqhh6n8nzg3yvy2mg0s18mkl";
-    };
-
-    LC_ALL="en_US.UTF-8";
-
-    buildInputs = with self; [ six pkgs.glibcLocales ];
-
-    meta = {
-      description = "Library collecting some useful snippets";
-      homepage    = https://pypi.python.org/pypi/hcs_utils/1.3;
-      license     = licenses.isc;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
-
+  hcs_utils = callPackage ../development/python-modules/hcs_utils { };
 
   hetzner = buildPythonPackage rec {
     name = "hetzner-${version}";
@@ -12372,27 +12202,7 @@ in {
 
   moretools = callPackage ../development/python-modules/moretools { };
 
-  moto = buildPythonPackage rec {
-    version = "0.4.25";
-    name    = "moto-${version}";
-    src = pkgs.fetchurl {
-      url    = "http://pypi.python.org/packages/df/9e/0b22ac0abf61711c86ae75a0548825e19cc123b522ff3508cbc43924969d/moto-0.4.25.tar.gz";
-      sha256 = "1gqm7h6bm5xkspd07bnjwdr2q6cvpxkayx0hkgk8fhkawbg0fqq7";
-    };
-
-    propagatedBuildInputs = with self; [
-      # Main dependencies
-      jinja2 werkzeug flask requests six boto httpretty xmltodict
-      # For tests
-      nose sure boto3 freezegun
-    ];
-
-    checkPhase = "nosetests";
-
-    # TODO: make this true; I think lots of the tests want network access but we can probably run the others
-    doCheck = false;
-  };
-
+  moto = callPackage ../development/python-modules/moto {};
 
   mox = buildPythonPackage rec {
     name = "mox-0.5.3";
@@ -13230,36 +13040,7 @@ in {
     };
   };
 
-  nilearn = buildPythonPackage rec {
-    version = "0.2.5";
-    name = "nilearn-${version}";
-
-    # package seems to attempt Python 3 compatibility, but throws UnicodeDecodeError when building:
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nilearn/${name}.tar.gz";
-      sha256 = "1lmkrzr5x2yp129v2fvckrbdzf2kpcivdg9cacl519l3mb0acdv9";
-    };
-
-    checkPhase = "nosetests --exclude with_expand_user nilearn/tests";
-
-    buildInputs = with self; [ nose ];
-
-    propagatedBuildInputs = with self; [
-      matplotlib
-      nibabel
-      numpy
-      scikitlearn
-      scipy
-    ];
-
-    meta = {
-      homepage = http://nilearn.github.io;
-      description = "A module for statistical learning on neuroimaging data";
-      license = licenses.bsd3;
-    };
-  };
+  nilearn = callPackage ../development/python-modules/nilearn {};
 
   nipy = buildPythonPackage rec {
     version = "0.4.0";
@@ -14277,7 +14058,7 @@ in {
        oslo-serialization oslo-utils iso8601 oslo-log oslo-i18n webob
      ];
      buildInputs = with self; [
-       oslo-middleware cachetools oslo-service futurist anyjson oslosphinx
+       oslo-middleware cachetools_1 oslo-service futurist anyjson oslosphinx
        testtools oslotest
      ];
 
@@ -14286,20 +14067,8 @@ in {
      };
    };
 
-   cachetools = buildPythonPackage rec {
-     name = "cachetools-${version}";
-     version = "1.1.3";
-     disabled = isPyPy;  # a test fails
-
-     src = pkgs.fetchurl {
-       url = "mirror://pypi/c/cachetools/${name}.tar.gz";
-       sha256 = "0js7qx5pa8ibr8487lcf0x3a7w0xml0wa17snd6hjs0857kqhn20";
-     };
-
-     meta = with stdenv.lib; {
-       homepage = "https://github.com/tkem/cachetools";
-     };
-   };
+   cachetools_1 = callPackage ../development/python-modules/cachetools/1.nix {};
+   cachetools = callPackage ../development/python-modules/cachetools {};
 
    futurist = buildPythonPackage rec {
      name = "futurist-${version}";
@@ -14335,7 +14104,7 @@ in {
     propagatedBuildInputs = with self; [
       pbr oslo-config oslo-context oslo-log oslo-utils oslo-serialization
       oslo-i18n stevedore six eventlet greenlet webob pyyaml kombu_3 trollius
-      aioeventlet cachetools oslo-middleware futurist redis oslo-service
+      aioeventlet cachetools_1 oslo-middleware futurist redis oslo-service
       eventlet pyzmq
     ];
 
@@ -14742,7 +14511,7 @@ in {
     };
 
     propagatedBuildInputs = with self; [
-      pbr futures enum34 debtcollector cachetools oslo-serialization oslo-utils
+      pbr futures enum34 debtcollector cachetools_1 oslo-serialization oslo-utils
       jsonschema monotonic stevedore networkx futurist pbr automaton fasteners
     ];
     buildInputs = with self; [
@@ -16328,22 +16097,7 @@ in {
     };
   };
 
-  ptpython = buildPythonPackage rec {
-    name = "ptpython-0.35";
-    propagatedBuildInputs = with self;
-        [ wcwidth six prompt_toolkit docopt jedi pygments];
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/ptpython/${name}.tar.gz";
-      sha256 = "e0d380fbccb03ed33a7f33d96988e66fbd286bc813c9ceea84a1b3b5615a5660";
-    };
-
-    meta = {
-      description = "An advanced Python REPL";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ mlieberman85 ];
-      platforms = platforms.all;
-    };
-  };
+  ptpython = callPackage ../development/python-modules/ptpython {};
 
   publicsuffix = buildPythonPackage rec {
     name = "publicsuffix-${version}";
@@ -17746,24 +17500,7 @@ in {
     };
   };
 
-  python_fedora = buildPythonPackage (rec {
-    version = "0.5.5";
-    name = "python-fedora-${version}";
-    meta.maintainers = with maintainers; [ mornfall ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-fedora/${name}.tar.gz";
-      sha256 = "15m8lvbb5q4rg508i4ah8my872qrq5xjwgcgca4d3kzjv2x6fhim";
-    };
-    propagatedBuildInputs = with self; [ kitchen requests bunch paver six munch urllib3
-      beautifulsoup4 ];
-    doCheck = false;
-
-    # https://github.com/fedora-infra/python-fedora/issues/140
-    preBuild = ''
-      sed -i '4,15d' setup.py
-    '';
-  });
+  python_fedora = callPackage ../development/python-modules/python_fedora/default.nix {};
 
   python-simple-hipchat = callPackage ../development/python-modules/python-simple-hipchat {};
   python_simple_hipchat = self.python-simple-hipchat;
@@ -18533,44 +18270,6 @@ in {
 
   pywinrm = callPackage ../development/python-modules/pywinrm { };
 
-  PyXAPI = stdenv.mkDerivation rec {
-    name = "PyXAPI-0.1";
-
-    src = pkgs.fetchurl {
-      url = "http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/${name}.tar.gz";
-      sha256 = "19lblwfq24bgsgfy7hhqkxdf4bxl40chcxdlpma7a0wfa0ngbn26";
-    };
-
-    buildInputs = [ self.python ];
-
-    installPhase = ''
-      mkdir -p "$out/lib/${python.libPrefix}/site-packages"
-
-      export PYTHONPATH="$out/lib/${python.libPrefix}/site-packages:$PYTHONPATH"
-
-      ${python}/bin/${python.executable} setup.py install \
-        --install-lib=$out/lib/${python.libPrefix}/site-packages \
-        --prefix="$out"
-    '';
-
-    meta = with stdenv.lib; {
-      description = "Python socket module extension & RFC3542 IPv6 Advanced Sockets API";
-      longDescription = ''
-        PyXAPI consists of two modules: `socket_ext' and `rfc3542'.
-        `socket_ext' extends the Python module `socket'. `socket' objects have
-        two new methods: `recvmsg' and `sendmsg'. It defines `ancillary data'
-        objects and some functions related to. `socket_ext' module also provides
-        functions to manage interfaces indexes defined in RFC3494 and not
-        available from standard Python module `socket'.
-        `rfc3542' is a full implementation of RFC3542 (Advanced Sockets
-        Application Program Interface (API) for IPv6).
-      '';
-      homepage = http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/;
-      license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ nckx ];
-    };
-  };
-
   pyxattr = buildPythonPackage (rec {
     name = "pyxattr-0.5.1";
 
@@ -19475,22 +19174,7 @@ in {
     };
   };
 
-  rpkg = buildPythonPackage (rec {
-    name = "rpkg-1.14";
-    disabled = !isPy27; # error: invalid command 'bdist_wheel'
-    meta.maintainers = with maintainers; [ mornfall ];
-
-    src = pkgs.fetchurl {
-      url = "https://fedorahosted.org/releases/r/p/rpkg/rpkg-1.14.tar.gz";
-      sha256 = "0d053hdjz87aym1sfm6c4cxmzmy5g0gkrmrczly86skj957r77a7";
-    };
-
-    patches = [ ../development/python-modules/rpkg-buildfix.diff ];
-
-    propagatedBuildInputs = with self; [ pycurl koji GitPython pkgs.git
-      rpm pyopenssl ];
-
-  });
+  rpkg = callPackage ../development/python-modules/rpkg/default.nix {};
 
   rply = buildPythonPackage rec {
     name = "rply-${version}";
@@ -19513,6 +19197,8 @@ in {
 
   rpm = (pkgs.rpm.override{inherit python;});
 
+  rpmfluff = callPackage ../development/python-modules/rpmfluff {};
+
   rpy2 = buildPythonPackage rec {
     name = "rpy2-2.8.2";
     disabled = isPyPy;
@@ -20283,13 +19969,18 @@ in {
 
   sqlmap = callPackage ../development/python-modules/sqlmap { };
   pgpdump = self.buildPythonPackage rec {
-    name = "pgpdump-1.5";
+    pname = "pgpdump";
+    version = "1.5";
+    name = "${pname}-${version}";
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pgpdump/pgpdump-1.5.tar.gz";
-      sha256 = "1c4700857bf7ba735b08cfe4101aa3a4f5fd839657af249c17b2697c20829668";
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "0s4nh8h7qsdj2yf29bspjs1zvxd4lcd11r6g11dp7fppgf2h0iqw";
     };
 
+    # Disabling check because of: https://github.com/toofishes/python-pgpdump/issues/18
+    doCheck = false;
+
     meta = {
       description = "Python library for parsing PGP packets";
       homepage = https://github.com/toofishes/python-pgpdump;
@@ -20533,7 +20224,7 @@ in {
     version = "2.1.1";
 
     src = pkgs.fetchurl {
-      url = " mirror://pypi/p/python-daemon/${name}.tar.gz";
+      url = "mirror://pypi/p/python-daemon/${name}.tar.gz";
       sha256 = "17v80qb98p1gv4j9mq6wb55cv7hc4j1hzw5y2f4s5hrpxs3w3a2q";
     };
 
@@ -22567,28 +22258,7 @@ in {
     };
   };
 
-  urlgrabber =  buildPythonPackage rec {
-    name = "urlgrabber-3.9.1";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "http://urlgrabber.baseurl.org/download/${name}.tar.gz";
-      sha256 = "4437076c8708e5754ea04540e46c7f4f233734ee3590bb8a96389264fb0650d0";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ pycurl ];
-
-    meta = {
-      homepage = "urlgrabber.baseurl.org";
-      license = licenses.lgpl2Plus;
-      description = "Python module for downloading files";
-      maintainers = with maintainers; [ qknight ];
-    };
-  };
-
+  urlgrabber = callPackage ../development/python-modules/urlgrabber {};
 
   urwid = buildPythonPackage (rec {
     name = "urwid-1.3.1";
@@ -24137,26 +23807,7 @@ EOF
   };
 
 
-  unidecode = buildPythonPackage rec {
-    name = "Unidecode-0.04.18";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/U/Unidecode/${name}.tar.gz";
-      sha256 = "12hhblqy1ajvidm38im4171x4arg83pfmziyn53nizp29p3m14gi";
-    };
-
-    LC_ALL="en_US.UTF-8";
-
-    buildInputs = [ pkgs.glibcLocales ];
-
-    meta = {
-      homepage = http://pypi.python.org/pypi/Unidecode/;
-      description = "ASCII transliterations of Unicode text";
-      license = licenses.gpl2;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
-
+  unidecode = callPackage ../development/python-modules/unidecode {};
 
   pyusb = buildPythonPackage rec {
     name = "pyusb-1.0.0";
@@ -27274,6 +26925,12 @@ EOF
 
   spacy = callPackage ../development/python-modules/spacy { };
 
+  spacy_models = callPackage ../development/python-modules/spacy/models.nix { };
+
+  textacy = callPackage ../development/python-modules/textacy { };
+
+  pyemd  = callPackage ../development/python-modules/pyemd { };
+
   behave = callPackage ../development/python-modules/behave { };
 
   pyhamcrest = callPackage ../development/python-modules/pyhamcrest { };