about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/languages-frameworks/coq.xml7
-rw-r--r--doc/package-notes.xml3
-rw-r--r--lib/generators.nix1
-rw-r--r--lib/licenses.nix13
-rw-r--r--lib/systems/default.nix19
-rw-r--r--lib/systems/doubles.nix5
-rw-r--r--lib/tests/misc.nix2
-rw-r--r--lib/tests/systems.nix29
-rw-r--r--maintainers/maintainer-list.nix30
-rw-r--r--nixos/doc/manual/administration/container-networking.xml1
-rw-r--r--nixos/doc/manual/release-notes/rl-1809.xml42
-rw-r--r--nixos/doc/manual/release-notes/rl-1903.xml27
-rw-r--r--nixos/modules/config/pulseaudio.nix24
-rw-r--r--nixos/modules/hardware/video/nvidia.nix12
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/profiles/hardened.nix18
-rw-r--r--nixos/modules/security/lock-kernel-modules.nix4
-rw-r--r--nixos/modules/security/misc.nix39
-rw-r--r--nixos/modules/security/wrappers/default.nix29
-rw-r--r--nixos/modules/services/hardware/lirc.nix4
-rw-r--r--nixos/modules/services/mail/postfix.nix18
-rw-r--r--nixos/modules/services/misc/weechat.nix4
-rw-r--r--nixos/modules/services/misc/weechat.xml2
-rw-r--r--nixos/modules/services/monitoring/grafana.nix115
-rw-r--r--nixos/modules/services/monitoring/munin.nix12
-rw-r--r--nixos/modules/services/monitoring/prometheus/default.nix11
-rw-r--r--nixos/modules/services/network-filesystems/openafs/client.nix2
-rw-r--r--nixos/modules/services/network-filesystems/openafs/server.nix1
-rw-r--r--nixos/modules/services/networking/hostapd.nix6
-rw-r--r--nixos/modules/services/networking/tinc.nix8
-rw-r--r--nixos/modules/services/networking/znc.nix431
-rw-r--r--nixos/modules/services/networking/znc/default.nix306
-rw-r--r--nixos/modules/services/networking/znc/options.nix270
-rw-r--r--nixos/modules/services/security/munge.nix2
-rw-r--r--nixos/modules/services/security/tor.nix5
-rw-r--r--nixos/modules/services/ttys/kmscon.nix13
-rw-r--r--nixos/modules/services/web-servers/tomcat.nix31
-rw-r--r--nixos/modules/services/x11/compton.nix6
-rw-r--r--nixos/modules/services/x11/xserver.nix2
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh29
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix10
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh (renamed from nixos/modules/system/boot/loader/raspberrypi/builder.sh)74
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix24
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix (renamed from nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix)13
-rw-r--r--nixos/modules/system/boot/loader/raspberrypi/uboot-builder.sh38
-rw-r--r--nixos/modules/system/boot/systemd-nspawn.nix3
-rw-r--r--nixos/modules/tasks/filesystems/zfs.nix2
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix6
-rw-r--r--nixos/modules/virtualisation/containers.nix1
-rw-r--r--nixos/modules/virtualisation/ec2-amis.nix19
-rw-r--r--nixos/modules/virtualisation/kvmgt.nix8
-rw-r--r--nixos/tests/prometheus-exporters.nix19
-rw-r--r--pkgs/applications/altcoins/bitcoin-abc.nix8
-rw-r--r--pkgs/applications/altcoins/monero-gui/default.nix10
-rw-r--r--pkgs/applications/altcoins/monero/default.nix7
-rw-r--r--pkgs/applications/altcoins/parity/beta.nix10
-rw-r--r--pkgs/applications/altcoins/parity/default.nix8
-rw-r--r--pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch (renamed from pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch)36
-rw-r--r--pkgs/applications/audio/axoloti/default.nix6
-rw-r--r--pkgs/applications/audio/bs1770gain/default.nix4
-rw-r--r--pkgs/applications/audio/clementine/default.nix5
-rw-r--r--pkgs/applications/audio/fluidsynth/default.nix4
-rw-r--r--pkgs/applications/audio/gtkpod/default.nix6
-rw-r--r--pkgs/applications/audio/jamin/default.nix10
-rw-r--r--pkgs/applications/audio/lollypop/default.nix4
-rw-r--r--pkgs/applications/audio/mixxx/default.nix4
-rw-r--r--pkgs/applications/audio/mopidy/iris.nix4
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/default.nix37
-rw-r--r--pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch11
-rw-r--r--pkgs/applications/audio/radiotray-ng/default.nix4
-rw-r--r--pkgs/applications/audio/sonic-pi/default.nix10
-rw-r--r--pkgs/applications/audio/spectmorph/default.nix22
-rwxr-xr-xpkgs/applications/audio/spotify/update.sh75
-rw-r--r--pkgs/applications/audio/whipper/default.nix4
-rw-r--r--pkgs/applications/editors/android-studio/default.nix12
-rw-r--r--pkgs/applications/editors/eclipse/default.nix21
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix4
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix6
-rw-r--r--pkgs/applications/editors/emacs/builder.sh40
-rw-r--r--pkgs/applications/editors/emacs/macport.nix2
-rw-r--r--pkgs/applications/editors/thonny/default.nix16
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/gis/saga/default.nix2
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix8
-rw-r--r--pkgs/applications/graphics/dia/default.nix9
-rw-r--r--pkgs/applications/graphics/gcolor2/default.nix5
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix5
-rw-r--r--pkgs/applications/graphics/openimageio/default.nix4
-rw-r--r--pkgs/applications/graphics/rapid-photo-downloader/default.nix4
-rw-r--r--pkgs/applications/misc/apvlv/default.nix3
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--pkgs/applications/misc/chirp/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/get_iplayer/default.nix8
-rw-r--r--pkgs/applications/misc/googler/default.nix4
-rw-r--r--pkgs/applications/misc/gpa/default.nix4
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/kitty/default.nix18
-rw-r--r--pkgs/applications/misc/kitty/fix-paths.patch27
-rw-r--r--pkgs/applications/misc/lxterminal/default.nix4
-rw-r--r--pkgs/applications/misc/omegat.nix40
-rw-r--r--pkgs/applications/misc/pdfpc/default.nix4
-rw-r--r--pkgs/applications/misc/termdown/default.nix6
-rw-r--r--pkgs/applications/misc/todolist/default.nix4
-rw-r--r--pkgs/applications/misc/xmr-stak/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix108
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix30
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/plugins.nix4
-rw-r--r--pkgs/applications/networking/browsers/eolie/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm.nix4
-rw-r--r--pkgs/applications/networking/cluster/docker-machine/kvm2.nix11
-rw-r--r--pkgs/applications/networking/cluster/minishift/default.nix67
-rw-r--r--pkgs/applications/networking/cluster/stern/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/stern/deps.nix25
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix6
-rw-r--r--pkgs/applications/networking/flexget/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/ekiga/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/poezio/default.nix28
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/imapfilter.nix4
-rw-r--r--pkgs/applications/networking/mumble/default.nix21
-rw-r--r--pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix4
-rw-r--r--pkgs/applications/networking/p2p/zeronet/default.nix4
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix37
-rw-r--r--pkgs/applications/networking/sync/rclone/browser.nix25
-rw-r--r--pkgs/applications/networking/sync/rclone/default.nix4
-rw-r--r--pkgs/applications/networking/znc/default.nix4
-rw-r--r--pkgs/applications/office/gnumeric/default.nix12
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix4
-rw-r--r--pkgs/applications/science/electronics/gtkwave/default.nix4
-rw-r--r--pkgs/applications/science/logic/coq/default.nix2
-rw-r--r--pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/env-locations.nix1
-rw-r--r--pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch35
-rw-r--r--pkgs/applications/science/math/sage/patches/dochtml-optional.patch127
-rw-r--r--pkgs/applications/science/math/sage/patches/eclib-20180710.patch24
-rw-r--r--pkgs/applications/science/math/sage/patches/pari-no-threads.patch18
-rw-r--r--pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch71
-rw-r--r--pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch274
-rw-r--r--pkgs/applications/science/math/sage/patches/spkg-scripts.patch46
-rw-r--r--pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch31
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix116
-rw-r--r--pkgs/applications/science/math/sage/sagelib.nix4
-rw-r--r--pkgs/applications/science/misc/sasview/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-crypt/default.nix9
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-recent/default.nix4
-rw-r--r--pkgs/applications/version-management/git-review/default.nix4
-rw-r--r--pkgs/applications/version-management/gitea/default.nix12
-rw-r--r--pkgs/applications/version-management/gitolite/default.nix6
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/video/clipgrab/default.nix4
-rw-r--r--pkgs/applications/video/kino/default.nix5
-rw-r--r--pkgs/applications/video/openshot-qt/libopenshot.nix4
-rw-r--r--pkgs/applications/video/wxcam/default.nix10
-rw-r--r--pkgs/applications/video/xvidcap/default.nix10
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix10
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix3
-rw-r--r--pkgs/build-support/fetchmavenartifact/default.nix2
-rw-r--r--pkgs/build-support/rust/default.nix6
-rw-r--r--pkgs/data/fonts/andika/default.nix31
-rw-r--r--pkgs/data/fonts/charis-sil/default.nix31
-rw-r--r--pkgs/data/fonts/doulos-sil/default.nix31
-rw-r--r--pkgs/data/fonts/weather-icons/default.nix29
-rw-r--r--pkgs/data/icons/elementary-icon-theme/default.nix28
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix4
-rw-r--r--pkgs/data/misc/shared-mime-info/default.nix7
-rw-r--r--pkgs/desktops/deepin/dde-polkit-agent/default.nix46
-rw-r--r--pkgs/desktops/deepin/dde-session-ui/default.nix60
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-base/default.nix45
-rw-r--r--pkgs/desktops/deepin/deepin-desktop-schemas/default.nix43
-rw-r--r--pkgs/desktops/deepin/deepin-metacity/default.nix62
-rw-r--r--pkgs/desktops/deepin/deepin-movie-reborn/default.nix53
-rw-r--r--pkgs/desktops/deepin/deepin-wallpapers/default.nix41
-rw-r--r--pkgs/desktops/deepin/deepin-wm/default.nix58
-rw-r--r--pkgs/desktops/deepin/default.nix9
-rw-r--r--pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix40
-rw-r--r--pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/core/dconf-editor/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gdm/reset-environment.patch20
-rw-r--r--pkgs/desktops/gnome-3/core/nautilus/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix24
-rw-r--r--pkgs/desktops/plasma-5/breeze-qt5.nix4
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch16
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/D9070.patch24
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration/default.nix7
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch14
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch20
-rw-r--r--pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch6
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch34
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix360
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix90
-rw-r--r--pkgs/development/compilers/factor-lang/fuel-dir.patch20
-rw-r--r--pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch13
-rw-r--r--pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch24
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.4.3.nix3
-rw-r--r--pkgs/development/compilers/ghc/8.4.4.nix247
-rw-r--r--pkgs/development/compilers/ghc/8.6.1.nix3
-rw-r--r--pkgs/development/compilers/julia/1.0.nix4
-rw-r--r--pkgs/development/compilers/julia/shared.nix1
-rw-r--r--pkgs/development/compilers/mlton/20130715.nix118
-rw-r--r--pkgs/development/compilers/mlton/20180207-binary.nix57
-rw-r--r--pkgs/development/compilers/mlton/default.nix150
-rw-r--r--pkgs/development/compilers/mlton/from-git-source.nix35
-rw-r--r--pkgs/development/compilers/mlton/meta.nix15
-rw-r--r--pkgs/development/compilers/nextpnr/default.nix6
-rw-r--r--pkgs/development/compilers/openspin/default.nix26
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix10
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix10
-rw-r--r--pkgs/development/compilers/rust/default.nix6
-rw-r--r--pkgs/development/compilers/sbcl/default.nix18
-rw-r--r--pkgs/development/compilers/yosys/default.nix6
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix2
-rw-r--r--pkgs/development/coq-modules/bignums/default.nix2
-rw-r--r--pkgs/development/coq-modules/category-theory/default.nix2
-rw-r--r--pkgs/development/coq-modules/contribs/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-ext-lib/default.nix2
-rw-r--r--pkgs/development/coq-modules/coq-haskell/default.nix2
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix6
-rw-r--r--pkgs/development/coq-modules/equations/default.nix2
-rw-r--r--pkgs/development/coq-modules/fiat/HEAD.nix2
-rw-r--r--pkgs/development/coq-modules/flocq/default.nix2
-rw-r--r--pkgs/development/coq-modules/heq/default.nix2
-rw-r--r--pkgs/development/coq-modules/mathcomp/generic.nix2
-rw-r--r--pkgs/development/coq-modules/metalib/default.nix2
-rw-r--r--pkgs/development/coq-modules/paco/default.nix2
-rw-r--r--pkgs/development/coq-modules/ssreflect/generic.nix2
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix37
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix3
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix92
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml129
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix4
-rw-r--r--pkgs/development/haskell-modules/generic-builder.nix2
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3168
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix16
-rw-r--r--pkgs/development/interpreters/erlang/R21.nix4
-rw-r--r--pkgs/development/interpreters/perl/default.nix14
-rw-r--r--pkgs/development/interpreters/perl/no-sys-dirs.patch250
-rw-r--r--pkgs/development/interpreters/proglodyte-wasm/default.nix (renamed from pkgs/development/interpreters/wasm/default.nix)0
-rw-r--r--pkgs/development/interpreters/python/wrapper.nix4
-rw-r--r--pkgs/development/interpreters/renpy/default.nix4
-rw-r--r--pkgs/development/interpreters/ruby/default.nix22
-rw-r--r--pkgs/development/interpreters/ruby/patchsets.nix6
-rw-r--r--pkgs/development/interpreters/supercollider/default.nix2
-rw-r--r--pkgs/development/libraries/avahi/default.nix5
-rw-r--r--pkgs/development/libraries/babl/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix15
-rw-r--r--pkgs/development/libraries/c-ares/default.nix2
-rw-r--r--pkgs/development/libraries/caf/default.nix4
-rw-r--r--pkgs/development/libraries/capnproto/default.nix4
-rw-r--r--pkgs/development/libraries/flatbuffers/default.nix17
-rw-r--r--pkgs/development/libraries/flatpak/default.nix4
-rw-r--r--pkgs/development/libraries/fmt/default.nix31
-rw-r--r--pkgs/development/libraries/freetype/default.nix4
-rw-r--r--pkgs/development/libraries/git2/0.27.nix4
-rw-r--r--pkgs/development/libraries/gpgme/default.nix8
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hspell/default.nix2
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--pkgs/development/libraries/java/commons/math/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix632
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/lesstif/default.nix11
-rw-r--r--pkgs/development/libraries/libHX/default.nix7
-rw-r--r--pkgs/development/libraries/libaccounts-glib/default.nix6
-rw-r--r--pkgs/development/libraries/libaom/default.nix1
-rw-r--r--pkgs/development/libraries/libaosd/default.nix36
-rw-r--r--pkgs/development/libraries/libbap/default.nix7
-rw-r--r--pkgs/development/libraries/libcacard/default.nix22
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix16
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix5
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix7
-rw-r--r--pkgs/development/libraries/libgksu/default.nix22
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix1
-rw-r--r--pkgs/development/libraries/libgnurl/default.nix1
-rw-r--r--pkgs/development/libraries/libgpod/default.nix7
-rw-r--r--pkgs/development/libraries/libicns/default.nix7
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix5
-rw-r--r--pkgs/development/libraries/libite/default.nix1
-rw-r--r--pkgs/development/libraries/libjson/default.nix13
-rw-r--r--pkgs/development/libraries/libkate/default.nix6
-rw-r--r--pkgs/development/libraries/liblastfm/default.nix5
-rw-r--r--pkgs/development/libraries/liblastfmSF/default.nix1
-rw-r--r--pkgs/development/libraries/liblqr-1/default.nix2
-rw-r--r--pkgs/development/libraries/libmilter/default.nix1
-rw-r--r--pkgs/development/libraries/libmms/default.nix7
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix1
-rw-r--r--pkgs/development/libraries/libmtp/default.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/5.x.nix6
-rw-r--r--pkgs/development/libraries/libmusicbrainz/default.nix6
-rw-r--r--pkgs/development/libraries/libnatspec/default.nix6
-rw-r--r--pkgs/development/libraries/libnetfilter_queue/default.nix6
-rw-r--r--pkgs/development/libraries/libnice/default.nix5
-rw-r--r--pkgs/development/libraries/libnotify/default.nix5
-rw-r--r--pkgs/development/libraries/libnova/default.nix9
-rw-r--r--pkgs/development/libraries/liboauth/default.nix1
-rw-r--r--pkgs/development/libraries/libofa/default.nix5
-rw-r--r--pkgs/development/libraries/liboggz/default.nix6
-rw-r--r--pkgs/development/libraries/libpcap/default.nix1
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix4
-rw-r--r--pkgs/development/libraries/librdf/redland.nix6
-rw-r--r--pkgs/development/libraries/librealsense/default.nix4
-rw-r--r--pkgs/development/libraries/libssh/default.nix6
-rw-r--r--pkgs/development/libraries/libtensorflow/default.nix11
-rw-r--r--pkgs/development/libraries/libuv/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libxml2/default.nix3
-rw-r--r--pkgs/development/libraries/lirc/default.nix20
-rw-r--r--pkgs/development/libraries/mapnik/default.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix4
-rw-r--r--pkgs/development/libraries/msgpack/generic.nix2
-rw-r--r--pkgs/development/libraries/ndn-cxx/default.nix25
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix9
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix6
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix4
-rw-r--r--pkgs/development/libraries/opencollada/default.nix4
-rw-r--r--pkgs/development/libraries/postgis/default.nix4
-rw-r--r--pkgs/development/libraries/protobuf/generic-v3.nix14
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix6
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/rarian/default.nix5
-rw-r--r--pkgs/development/libraries/sbc/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/cholmod-extra/default.nix41
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/mkl/default.nix85
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/4.4.nix100
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix91
-rw-r--r--pkgs/development/libraries/spice/default.nix6
-rw-r--r--pkgs/development/libraries/sqlite/default.nix2
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/zlib/default.nix2
-rw-r--r--pkgs/development/node-packages/node-packages-v10.nix56
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix56
-rw-r--r--pkgs/development/node-packages/node-packages-v8.json5
-rw-r--r--pkgs/development/node-packages/node-packages-v8.nix2180
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ppxlib/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/zmq/default.nix32
-rw-r--r--pkgs/development/ocaml-modules/zmq/lwt.nix12
-rw-r--r--pkgs/development/ocaml-modules/zmq/ocaml-zmq-issue43.patch11
-rw-r--r--pkgs/development/perl-modules/generic/default.nix4
-rw-r--r--pkgs/development/python-modules/Cython/default.nix13
-rw-r--r--pkgs/development/python-modules/Fabric/default.nix36
-rw-r--r--pkgs/development/python-modules/Logbook/default.nix26
-rw-r--r--pkgs/development/python-modules/Nikola/default.nix17
-rw-r--r--pkgs/development/python-modules/Theano/default.nix4
-rw-r--r--pkgs/development/python-modules/alabaster/default.nix4
-rw-r--r--pkgs/development/python-modules/autobahn/default.nix4
-rw-r--r--pkgs/development/python-modules/backports_os/default.nix35
-rw-r--r--pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--pkgs/development/python-modules/bedup/default.nix42
-rw-r--r--pkgs/development/python-modules/binwalk/default.nix37
-rw-r--r--pkgs/development/python-modules/blivet/default.nix2
-rw-r--r--pkgs/development/python-modules/boltztrap2/default.nix43
-rw-r--r--pkgs/development/python-modules/bootstrapped-pip/default.nix12
-rw-r--r--pkgs/development/python-modules/box2d/default.nix37
-rw-r--r--pkgs/development/python-modules/box2d/disable-test.patch14
-rw-r--r--pkgs/development/python-modules/brotli/default.nix26
-rw-r--r--pkgs/development/python-modules/bsddb3/default.nix38
-rw-r--r--pkgs/development/python-modules/bugz/default.nix26
-rw-r--r--pkgs/development/python-modules/buildout-nix/default.nix4
-rw-r--r--pkgs/development/python-modules/buildout/default.nix4
-rw-r--r--pkgs/development/python-modules/bumps/default.nix4
-rw-r--r--pkgs/development/python-modules/caldavclientlibrary-asynk/default.nix35
-rw-r--r--pkgs/development/python-modules/capstone/default.nix38
-rw-r--r--pkgs/development/python-modules/carbon/default.nix4
-rw-r--r--pkgs/development/python-modules/cassandra-driver/default.nix55
-rw-r--r--pkgs/development/python-modules/cddb/default.nix24
-rw-r--r--pkgs/development/python-modules/chameleon/default.nix22
-rw-r--r--pkgs/development/python-modules/click-plugins/default.nix4
-rw-r--r--pkgs/development/python-modules/cligj/default.nix4
-rw-r--r--pkgs/development/python-modules/closure-linter/default.nix33
-rw-r--r--pkgs/development/python-modules/cloudpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/cmd2/default.nix28
-rw-r--r--pkgs/development/python-modules/cntk/default.nix38
-rw-r--r--pkgs/development/python-modules/colanderalchemy/default.nix35
-rw-r--r--pkgs/development/python-modules/colored/default.nix24
-rw-r--r--pkgs/development/python-modules/cornice/default.nix31
-rw-r--r--pkgs/development/python-modules/cupy/default.nix4
-rw-r--r--pkgs/development/python-modules/cvxopt/default.nix4
-rw-r--r--pkgs/development/python-modules/cymem/default.nix11
-rw-r--r--pkgs/development/python-modules/cypari2/default.nix5
-rw-r--r--pkgs/development/python-modules/dask-image/default.nix4
-rw-r--r--pkgs/development/python-modules/ddt/default.nix21
-rw-r--r--pkgs/development/python-modules/deprecation/default.nix4
-rw-r--r--pkgs/development/python-modules/deskcon/default.nix41
-rw-r--r--pkgs/development/python-modules/distributed/default.nix4
-rw-r--r--pkgs/development/python-modules/distutils_extra/default.nix21
-rw-r--r--pkgs/development/python-modules/django/1_8.nix31
-rw-r--r--pkgs/development/python-modules/django_classytags/default.nix27
-rw-r--r--pkgs/development/python-modules/django_colorful/default.nix28
-rw-r--r--pkgs/development/python-modules/django_contrib_comments/default.nix24
-rw-r--r--pkgs/development/python-modules/django_environ/default.nix27
-rw-r--r--pkgs/development/python-modules/django_evolution/default.nix26
-rw-r--r--pkgs/development/python-modules/django_modelcluster/default.nix28
-rw-r--r--pkgs/development/python-modules/django_nose/default.nix28
-rw-r--r--pkgs/development/python-modules/django_reversion/default.nix24
-rw-r--r--pkgs/development/python-modules/django_silk/default.nix37
-rw-r--r--pkgs/development/python-modules/django_taggit/default.nix26
-rw-r--r--pkgs/development/python-modules/django_treebeard/default.nix30
-rw-r--r--pkgs/development/python-modules/dominate/default.nix4
-rw-r--r--pkgs/development/python-modules/dopy/default.nix26
-rw-r--r--pkgs/development/python-modules/dtopt/default.nix24
-rw-r--r--pkgs/development/python-modules/dynd/default.nix43
-rw-r--r--pkgs/development/python-modules/ecdsa/default.nix26
-rw-r--r--pkgs/development/python-modules/editorconfig/default.nix31
-rw-r--r--pkgs/development/python-modules/elpy/default.nix32
-rw-r--r--pkgs/development/python-modules/emoji/default.nix4
-rw-r--r--pkgs/development/python-modules/enum/default.nix26
-rw-r--r--pkgs/development/python-modules/enum34/default.nix27
-rw-r--r--pkgs/development/python-modules/epc/default.nix25
-rw-r--r--pkgs/development/python-modules/et_xmlfile/default.nix40
-rw-r--r--pkgs/development/python-modules/etcd/default.nix34
-rw-r--r--pkgs/development/python-modules/eve/default.nix4
-rw-r--r--pkgs/development/python-modules/eventlet/default.nix33
-rw-r--r--pkgs/development/python-modules/eventlib/default.nix30
-rw-r--r--pkgs/development/python-modules/execnet/default.nix42
-rw-r--r--pkgs/development/python-modules/exifread/default.nix22
-rw-r--r--pkgs/development/python-modules/eyed3/default.nix42
-rw-r--r--pkgs/development/python-modules/factory_boy/default.nix24
-rw-r--r--pkgs/development/python-modules/fake_factory/default.nix33
-rw-r--r--pkgs/development/python-modules/falcon/default.nix37
-rw-r--r--pkgs/development/python-modules/fdroidserver/default.nix35
-rw-r--r--pkgs/development/python-modules/feedparser/default.nix25
-rw-r--r--pkgs/development/python-modules/filebrowser_safe/default.nix40
-rw-r--r--pkgs/development/python-modules/filebytes/default.nix22
-rw-r--r--pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--pkgs/development/python-modules/flaky/default.nix28
-rw-r--r--pkgs/development/python-modules/flask-autoindex/default.nix4
-rw-r--r--pkgs/development/python-modules/flowlogs_reader/default.nix30
-rw-r--r--pkgs/development/python-modules/flup/default.nix23
-rw-r--r--pkgs/development/python-modules/fonttools/default.nix4
-rw-r--r--pkgs/development/python-modules/foolscap/default.nix40
-rw-r--r--pkgs/development/python-modules/forbiddenfruit/default.nix21
-rw-r--r--pkgs/development/python-modules/fs/default.nix53
-rw-r--r--pkgs/development/python-modules/fudge/default.nix34
-rw-r--r--pkgs/development/python-modules/funcparserlib/default.nix31
-rw-r--r--pkgs/development/python-modules/functools32/default.nix22
-rw-r--r--pkgs/development/python-modules/fusepy/default.nix37
-rw-r--r--pkgs/development/python-modules/gateone/default.nix35
-rw-r--r--pkgs/development/python-modules/gcovr/default.nix21
-rw-r--r--pkgs/development/python-modules/gcutil/default.nix41
-rw-r--r--pkgs/development/python-modules/gdrivefs/default.nix48
-rw-r--r--pkgs/development/python-modules/genanki/default.nix4
-rw-r--r--pkgs/development/python-modules/genshi/default.nix32
-rw-r--r--pkgs/development/python-modules/genzshcomp/default.nix24
-rw-r--r--pkgs/development/python-modules/gevent-socketio/default.nix29
-rw-r--r--pkgs/development/python-modules/gevent-websocket/default.nix27
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix36
-rw-r--r--pkgs/development/python-modules/gidgethub/default.nix40
-rw-r--r--pkgs/development/python-modules/gipc/default.nix35
-rw-r--r--pkgs/development/python-modules/git-sweep/default.nix25
-rw-r--r--pkgs/development/python-modules/github-webhook/default.nix28
-rw-r--r--pkgs/development/python-modules/github3_py/default.nix45
-rw-r--r--pkgs/development/python-modules/gmusicapi/default.nix37
-rw-r--r--pkgs/development/python-modules/gnureadline/default.nix29
-rw-r--r--pkgs/development/python-modules/gnutls/default.nix31
-rw-r--r--pkgs/development/python-modules/goobook/default.nix38
-rw-r--r--pkgs/development/python-modules/google_apputils/default.nix38
-rw-r--r--pkgs/development/python-modules/gpapi/default.nix4
-rw-r--r--pkgs/development/python-modules/gpsoauth/default.nix36
-rw-r--r--pkgs/development/python-modules/gpy/default.nix4
-rw-r--r--pkgs/development/python-modules/graphite-web/default.nix4
-rw-r--r--pkgs/development/python-modules/graphviz/default.nix25
-rw-r--r--pkgs/development/python-modules/grappelli_safe/default.nix34
-rw-r--r--pkgs/development/python-modules/greenlet/default.nix4
-rw-r--r--pkgs/development/python-modules/grpcio-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/gspread/default.nix21
-rw-r--r--pkgs/development/python-modules/gtimelog/default.nix44
-rw-r--r--pkgs/development/python-modules/gyp/default.nix34
-rw-r--r--pkgs/development/python-modules/hawkauthlib/default.nix26
-rw-r--r--pkgs/development/python-modules/hdbscan/default.nix4
-rw-r--r--pkgs/development/python-modules/helper/default.nix13
-rw-r--r--pkgs/development/python-modules/hetzner/default.nix24
-rw-r--r--pkgs/development/python-modules/hg-git/default.nix27
-rw-r--r--pkgs/development/python-modules/hkdf/default.nix28
-rw-r--r--pkgs/development/python-modules/hovercraft/default.nix36
-rw-r--r--pkgs/development/python-modules/hpack/default.nix21
-rw-r--r--pkgs/development/python-modules/hsaudiotag/default.nix26
-rw-r--r--pkgs/development/python-modules/hsaudiotag3k/default.nix26
-rw-r--r--pkgs/development/python-modules/htmllaundry/default.nix30
-rw-r--r--pkgs/development/python-modules/http_signature/default.nix26
-rw-r--r--pkgs/development/python-modules/httpauth/default.nix24
-rw-r--r--pkgs/development/python-modules/httpretty/default.nix50
-rw-r--r--pkgs/development/python-modules/hug/default.nix30
-rw-r--r--pkgs/development/python-modules/humanize/default.nix28
-rw-r--r--pkgs/development/python-modules/hupper/default.nix4
-rw-r--r--pkgs/development/python-modules/hvac/default.nix4
-rw-r--r--pkgs/development/python-modules/i3-py/default.nix25
-rw-r--r--pkgs/development/python-modules/icalendar/default.nix28
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/imageio/default.nix33
-rw-r--r--pkgs/development/python-modules/imagesize/default.nix21
-rw-r--r--pkgs/development/python-modules/imread/default.nix30
-rw-r--r--pkgs/development/python-modules/inflect/default.nix4
-rw-r--r--pkgs/development/python-modules/influxdb/default.nix29
-rw-r--r--pkgs/development/python-modules/infoqscraper/default.nix34
-rw-r--r--pkgs/development/python-modules/inifile/default.nix22
-rw-r--r--pkgs/development/python-modules/iniparse/default.nix30
-rw-r--r--pkgs/development/python-modules/ipaddr/default.nix23
-rw-r--r--pkgs/development/python-modules/ipaddress/default.nix27
-rw-r--r--pkgs/development/python-modules/ipdb/default.nix28
-rw-r--r--pkgs/development/python-modules/ipdbplugin/default.nix26
-rw-r--r--pkgs/development/python-modules/ipfsapi/default.nix30
-rw-r--r--pkgs/development/python-modules/iptools/default.nix24
-rw-r--r--pkgs/development/python-modules/ipywidgets/default.nix4
-rw-r--r--pkgs/development/python-modules/itsdangerous/default.nix21
-rw-r--r--pkgs/development/python-modules/j2cli/default.nix34
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--pkgs/development/python-modules/jinja2_time/default.nix25
-rw-r--r--pkgs/development/python-modules/jmespath/default.nix26
-rw-r--r--pkgs/development/python-modules/jsonpath_rw/default.nix31
-rw-r--r--pkgs/development/python-modules/jsonpointer/default.nix21
-rw-r--r--pkgs/development/python-modules/jsonrpclib/default.nix27
-rw-r--r--pkgs/development/python-modules/jsonwatch/default.nix35
-rw-r--r--pkgs/development/python-modules/jupyter/default.nix34
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/kajiki/default.nix26
-rw-r--r--pkgs/development/python-modules/kaptan/default.nix26
-rw-r--r--pkgs/development/python-modules/kazoo/default.nix44
-rw-r--r--pkgs/development/python-modules/keepalive/default.nix24
-rw-r--r--pkgs/development/python-modules/keras-applications/default.nix4
-rw-r--r--pkgs/development/python-modules/keras-preprocessing/default.nix4
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/kerberos/default.nix24
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix30
-rw-r--r--pkgs/development/python-modules/le/default.nix30
-rw-r--r--pkgs/development/python-modules/ledgerblue/default.nix4
-rw-r--r--pkgs/development/python-modules/lektor/default.nix46
-rw-r--r--pkgs/development/python-modules/libcloud/default.nix31
-rw-r--r--pkgs/development/python-modules/librosa/default.nix33
-rw-r--r--pkgs/development/python-modules/libthumbor/default.nix29
-rw-r--r--pkgs/development/python-modules/lightblue/default.nix27
-rw-r--r--pkgs/development/python-modules/lightning/default.nix30
-rw-r--r--pkgs/development/python-modules/limnoria/default.nix30
-rw-r--r--pkgs/development/python-modules/linode/default.nix25
-rw-r--r--pkgs/development/python-modules/livestreamer-curses/default.nix26
-rw-r--r--pkgs/development/python-modules/livestreamer/default.nix44
-rw-r--r--pkgs/development/python-modules/llfuse/default.nix4
-rw-r--r--pkgs/development/python-modules/lmdb/default.nix26
-rw-r--r--pkgs/development/python-modules/logilab_astng/default.nix24
-rw-r--r--pkgs/development/python-modules/logutils/default.nix21
-rw-r--r--pkgs/development/python-modules/lpod/default.nix31
-rw-r--r--pkgs/development/python-modules/lsi/default.nix29
-rw-r--r--pkgs/development/python-modules/lxc/default.nix29
-rw-r--r--pkgs/development/python-modules/lxml/default.nix4
-rw-r--r--pkgs/development/python-modules/m2crypto/default.nix31
-rw-r--r--pkgs/development/python-modules/magic/default.nix28
-rw-r--r--pkgs/development/python-modules/mailchimp/default.nix29
-rw-r--r--pkgs/development/python-modules/manuel/default.nix25
-rw-r--r--pkgs/development/python-modules/mapsplotlib/default.nix32
-rw-r--r--pkgs/development/python-modules/markdown-macros/default.nix40
-rw-r--r--pkgs/development/python-modules/markdown2/default.nix4
-rw-r--r--pkgs/development/python-modules/markupsafe/default.nix22
-rw-r--r--pkgs/development/python-modules/marshmallow/default.nix4
-rw-r--r--pkgs/development/python-modules/mathics/default.nix50
-rw-r--r--pkgs/development/python-modules/mechanize/default.nix28
-rw-r--r--pkgs/development/python-modules/meld3/default.nix23
-rw-r--r--pkgs/development/python-modules/memcached/default.nix26
-rw-r--r--pkgs/development/python-modules/memory_profiler/default.nix24
-rw-r--r--pkgs/development/python-modules/mezzanine/default.nix70
-rw-r--r--pkgs/development/python-modules/mezzanine/writable_settings.patch21
-rw-r--r--pkgs/development/python-modules/micawber/default.nix4
-rw-r--r--pkgs/development/python-modules/minidb/default.nix29
-rw-r--r--pkgs/development/python-modules/minimock/default.nix26
-rw-r--r--pkgs/development/python-modules/mixpanel/default.nix30
-rw-r--r--pkgs/development/python-modules/mock/default.nix33
-rw-r--r--pkgs/development/python-modules/modestmaps/default.nix26
-rw-r--r--pkgs/development/python-modules/monotonic/default.nix28
-rw-r--r--pkgs/development/python-modules/moto/default.nix4
-rw-r--r--pkgs/development/python-modules/moviepy/default.nix29
-rw-r--r--pkgs/development/python-modules/mox/default.nix24
-rw-r--r--pkgs/development/python-modules/mozsvc/default.nix34
-rw-r--r--pkgs/development/python-modules/mpd/default.nix23
-rw-r--r--pkgs/development/python-modules/mpd2/default.nix29
-rw-r--r--pkgs/development/python-modules/mpmath/default.nix26
-rw-r--r--pkgs/development/python-modules/mpv/default.nix25
-rw-r--r--pkgs/development/python-modules/msgpack-numpy/default.nix4
-rw-r--r--pkgs/development/python-modules/msrplib/default.nix27
-rw-r--r--pkgs/development/python-modules/multi_key_dict/default.nix21
-rw-r--r--pkgs/development/python-modules/munch/default.nix21
-rw-r--r--pkgs/development/python-modules/munkres/default.nix25
-rw-r--r--pkgs/development/python-modules/musicbrainzngs/default.nix27
-rw-r--r--pkgs/development/python-modules/mutag/default.nix27
-rw-r--r--pkgs/development/python-modules/muttils/default.nix26
-rw-r--r--pkgs/development/python-modules/mwclient/default.nix3
-rw-r--r--pkgs/development/python-modules/mwlib-ext/default.nix24
-rw-r--r--pkgs/development/python-modules/mwlib-rl/default.nix27
-rw-r--r--pkgs/development/python-modules/mwlib/default.nix55
-rw-r--r--pkgs/development/python-modules/mxnet/default.nix37
-rw-r--r--pkgs/development/python-modules/mysql_python/default.nix32
-rw-r--r--pkgs/development/python-modules/namebench/default.nix50
-rw-r--r--pkgs/development/python-modules/nameparser/default.nix21
-rw-r--r--pkgs/development/python-modules/ncclient/default.nix4
-rw-r--r--pkgs/development/python-modules/ndg-httpsclient/default.nix30
-rw-r--r--pkgs/development/python-modules/netaddr/default.nix37
-rw-r--r--pkgs/development/python-modules/netifaces/default.nix21
-rw-r--r--pkgs/development/python-modules/neuronpy/default.nix31
-rw-r--r--pkgs/development/python-modules/nine/default.nix21
-rw-r--r--pkgs/development/python-modules/nipy/default.nix49
-rw-r--r--pkgs/development/python-modules/nipype/default.nix4
-rw-r--r--pkgs/development/python-modules/nixpkgs/default.nix29
-rw-r--r--pkgs/development/python-modules/nose-cover3/default.nix27
-rw-r--r--pkgs/development/python-modules/nose-cprof/default.nix25
-rw-r--r--pkgs/development/python-modules/nose/default.nix33
-rw-r--r--pkgs/development/python-modules/nose2/default.nix26
-rw-r--r--pkgs/development/python-modules/nosejs/default.nix28
-rw-r--r--pkgs/development/python-modules/nosexcover/default.nix25
-rw-r--r--pkgs/development/python-modules/notify/default.nix41
-rw-r--r--pkgs/development/python-modules/notmuch/default.nix28
-rw-r--r--pkgs/development/python-modules/ntfy/default.nix33
-rw-r--r--pkgs/development/python-modules/ntplib/default.nix24
-rw-r--r--pkgs/development/python-modules/nuitka/default.nix54
-rw-r--r--pkgs/development/python-modules/numpy/default.nix4
-rw-r--r--pkgs/development/python-modules/nxt-python/default.nix36
-rw-r--r--pkgs/development/python-modules/oauth/default.nix24
-rw-r--r--pkgs/development/python-modules/oauth2/default.nix32
-rw-r--r--pkgs/development/python-modules/oauth2client/default.nix4
-rw-r--r--pkgs/development/python-modules/oauthlib/default.nix31
-rw-r--r--pkgs/development/python-modules/obfsproxy/default.nix38
-rw-r--r--pkgs/development/python-modules/objgraph/default.nix28
-rw-r--r--pkgs/development/python-modules/offtrac/default.nix23
-rw-r--r--pkgs/development/python-modules/openant/default.nix38
-rw-r--r--pkgs/development/python-modules/openpyxl/default.nix4
-rw-r--r--pkgs/development/python-modules/ordered-set/default.nix4
-rw-r--r--pkgs/development/python-modules/ordereddict/default.nix21
-rw-r--r--pkgs/development/python-modules/osc/default.nix46
-rw-r--r--pkgs/development/python-modules/paho-mqtt/default.nix29
-rw-r--r--pkgs/development/python-modules/pamela/default.nix30
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix48
-rw-r--r--pkgs/development/python-modules/paramz/default.nix4
-rw-r--r--pkgs/development/python-modules/path-and-address/default.nix31
-rw-r--r--pkgs/development/python-modules/pathlib2/default.nix2
-rw-r--r--pkgs/development/python-modules/pathspec/default.nix4
-rw-r--r--pkgs/development/python-modules/pathtools/default.nix22
-rw-r--r--pkgs/development/python-modules/paver/default.nix33
-rw-r--r--pkgs/development/python-modules/peppercorn/default.nix22
-rw-r--r--pkgs/development/python-modules/pex/default.nix29
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/pillowfight/default.nix24
-rw-r--r--pkgs/development/python-modules/pint/default.nix21
-rw-r--r--pkgs/development/python-modules/pip/default.nix4
-rw-r--r--pkgs/development/python-modules/plyvel/default.nix29
-rw-r--r--pkgs/development/python-modules/pocket/default.nix25
-rw-r--r--pkgs/development/python-modules/poezio/fix_gnupg_import.patch12
-rw-r--r--pkgs/development/python-modules/poyo/default.nix21
-rw-r--r--pkgs/development/python-modules/preshed/default.nix10
-rw-r--r--pkgs/development/python-modules/pudb/default.nix29
-rw-r--r--pkgs/development/python-modules/pvlib/default.nix4
-rw-r--r--pkgs/development/python-modules/pyaxmlparser/default.nix4
-rw-r--r--pkgs/development/python-modules/pybluez/default.nix29
-rw-r--r--pkgs/development/python-modules/pycallgraph/default.nix28
-rw-r--r--pkgs/development/python-modules/pycares/default.nix27
-rw-r--r--pkgs/development/python-modules/pycountry/default.nix22
-rw-r--r--pkgs/development/python-modules/pycuda/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfribidi/default.nix25
-rw-r--r--pkgs/development/python-modules/pyftpdlib/default.nix33
-rw-r--r--pkgs/development/python-modules/pygal/default.nix36
-rw-r--r--pkgs/development/python-modules/pyhepmc/default.nix47
-rw-r--r--pkgs/development/python-modules/pyhepmc/pyhepmc_export_edges.patch (renamed from pkgs/development/python-modules/pyhepmc_export_edges.patch)0
-rw-r--r--pkgs/development/python-modules/pyhepmc/pyhepmc_export_flow.patch (renamed from pkgs/development/python-modules/pyhepmc_export_flow.patch)0
-rw-r--r--pkgs/development/python-modules/pyhomematic/default.nix4
-rw-r--r--pkgs/development/python-modules/pyls-black/default.nix7
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix4
-rw-r--r--pkgs/development/python-modules/pymediainfo/default.nix5
-rw-r--r--pkgs/development/python-modules/pympler/default.nix31
-rw-r--r--pkgs/development/python-modules/pymysqlsa/default.nix25
-rw-r--r--pkgs/development/python-modules/pyparsing/default.nix4
-rw-r--r--pkgs/development/python-modules/pyperclip/default.nix4
-rw-r--r--pkgs/development/python-modules/pypoppler/default.nix41
-rw-r--r--pkgs/development/python-modules/pypoppler/pypoppler-0.39.0.patch (renamed from pkgs/development/python-modules/pypoppler-0.39.0.patch)0
-rw-r--r--pkgs/development/python-modules/pypoppler/pypoppler-poppler.c.patch (renamed from pkgs/development/python-modules/pypoppler-poppler.c.patch)0
-rw-r--r--pkgs/development/python-modules/pyramid/default.nix46
-rw-r--r--pkgs/development/python-modules/pyramid_chameleon/default.nix28
-rw-r--r--pkgs/development/python-modules/pyramid_exclog/default.nix25
-rw-r--r--pkgs/development/python-modules/pyramid_hawkauth/default.nix29
-rw-r--r--pkgs/development/python-modules/pyramid_jinja2/default.nix28
-rw-r--r--pkgs/development/python-modules/pyramid_mako/default.nix27
-rw-r--r--pkgs/development/python-modules/pyramid_multiauth/default.nix24
-rw-r--r--pkgs/development/python-modules/pyrfc3339/default.nix26
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix4
-rw-r--r--pkgs/development/python-modules/pyspark/default.nix4
-rw-r--r--pkgs/development/python-modules/pysrim/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-isort/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-relaxed/default.nix37
-rw-r--r--pkgs/development/python-modules/pytest-xdist/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest/default.nix5
-rw-r--r--pkgs/development/python-modules/python-ldap-test/default.nix24
-rw-r--r--pkgs/development/python-modules/python-levenshtein/default.nix25
-rw-r--r--pkgs/development/python-modules/python-mapnik/default.nix58
-rw-r--r--pkgs/development/python-modules/python-otr/default.nix33
-rw-r--r--pkgs/development/python-modules/python-packer/default.nix24
-rw-r--r--pkgs/development/python-modules/python-slugify/default.nix4
-rw-r--r--pkgs/development/python-modules/python2-pythondialog/default.nix27
-rw-r--r--pkgs/development/python-modules/python_openzwave/default.nix4
-rw-r--r--pkgs/development/python-modules/pythonirclib/default.nix34
-rw-r--r--pkgs/development/python-modules/pytun/default.nix27
-rw-r--r--pkgs/development/python-modules/pyxdg/default.nix25
-rw-r--r--pkgs/development/python-modules/rainbowstream/default.nix54
-rw-r--r--pkgs/development/python-modules/random2/default.nix24
-rw-r--r--pkgs/development/python-modules/reikna/default.nix4
-rw-r--r--pkgs/development/python-modules/relatorio/default.nix4
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/repoze_lru/default.nix22
-rw-r--r--pkgs/development/python-modules/repoze_sphinx_autointerface/default.nix25
-rw-r--r--pkgs/development/python-modules/rethinkdb/default.nix23
-rw-r--r--pkgs/development/python-modules/rlp/default.nix4
-rw-r--r--pkgs/development/python-modules/roman/default.nix22
-rw-r--r--pkgs/development/python-modules/safe/default.nix24
-rw-r--r--pkgs/development/python-modules/samplerate/default.nix37
-rw-r--r--pkgs/development/python-modules/sasmodels/default.nix8
-rw-r--r--pkgs/development/python-modules/schedule/default.nix24
-rw-r--r--pkgs/development/python-modules/scikit-image/default.nix4
-rw-r--r--pkgs/development/python-modules/seekpath/default.nix4
-rw-r--r--pkgs/development/python-modules/setuptools-git/default.nix25
-rw-r--r--pkgs/development/python-modules/shippai/default.nix4
-rw-r--r--pkgs/development/python-modules/sleekxmpp/default.nix1
-rw-r--r--pkgs/development/python-modules/slixmpp/default.nix26
-rw-r--r--pkgs/development/python-modules/sortedcollections/default.nix27
-rw-r--r--pkgs/development/python-modules/sortedcontainers/default.nix4
-rw-r--r--pkgs/development/python-modules/sounddevice/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy/default.nix13
-rw-r--r--pkgs/development/python-modules/sparqlwrapper/default.nix35
-rw-r--r--pkgs/development/python-modules/speedtest-cli/default.nix26
-rw-r--r--pkgs/development/python-modules/sphfile/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/ssdeep/default.nix33
-rw-r--r--pkgs/development/python-modules/statsd/default.nix33
-rw-r--r--pkgs/development/python-modules/tensorflow-tensorboard/default.nix6
-rw-r--r--pkgs/development/python-modules/tensorflow/bin.nix11
-rw-r--r--pkgs/development/python-modules/tensorflow/prefetcher.sh2
-rw-r--r--pkgs/development/python-modules/tensorflow/tf1.11.0-hashes.nix34
-rw-r--r--pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix34
-rw-r--r--pkgs/development/python-modules/thinc/default.nix23
-rw-r--r--pkgs/development/python-modules/toml/default.nix4
-rw-r--r--pkgs/development/python-modules/uncompyle6/default.nix25
-rw-r--r--pkgs/development/python-modules/validictory/default.nix23
-rw-r--r--pkgs/development/python-modules/venusian/default.nix28
-rw-r--r--pkgs/development/python-modules/voluptuous-serialize/default.nix16
-rw-r--r--pkgs/development/python-modules/warlock/default.nix27
-rw-r--r--pkgs/development/python-modules/watchdog/default.nix32
-rw-r--r--pkgs/development/python-modules/whisper/default.nix4
-rw-r--r--pkgs/development/python-modules/widgetsnbextension/default.nix4
-rw-r--r--pkgs/development/python-modules/wtforms/default.nix29
-rw-r--r--pkgs/development/python-modules/xarray/default.nix4
-rw-r--r--pkgs/development/python-modules/xdis/default.nix25
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-bootbox/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-bootstrap/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-jquery-ui/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-jquery/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic-pygments/default.nix4
-rw-r--r--pkgs/development/python-modules/xstatic/default.nix4
-rw-r--r--pkgs/development/python-modules/zake/default.nix31
-rw-r--r--pkgs/development/python-modules/zetup/default.nix4
-rw-r--r--pkgs/development/python-modules/zope_deprecation/default.nix25
-rw-r--r--pkgs/development/ruby-modules/bundler/default.nix4
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/egypt/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/cutter.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix38
-rwxr-xr-xpkgs/development/tools/analysis/radare2/update.py7
-rw-r--r--pkgs/development/tools/analysis/rr/default.nix6
-rw-r--r--pkgs/development/tools/analysis/snowman/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix24
-rw-r--r--pkgs/development/tools/build-managers/sbt/default.nix4
-rw-r--r--pkgs/development/tools/electron/default.nix16
-rw-r--r--pkgs/development/tools/flatpak-builder/default.nix4
-rw-r--r--pkgs/development/tools/global-platform-pro/default.nix43
-rw-r--r--pkgs/development/tools/go2nix/default.nix4
-rw-r--r--pkgs/development/tools/hcloud/default.nix7
-rw-r--r--pkgs/development/tools/hcloud/deps.nix102
-rw-r--r--pkgs/development/tools/jbake/default.nix4
-rw-r--r--pkgs/development/tools/misc/abi-compliance-checker/default.nix26
-rw-r--r--pkgs/development/tools/misc/abi-dumper/default.nix33
-rw-r--r--pkgs/development/tools/misc/arcanist/default.nix4
-rw-r--r--pkgs/development/tools/misc/awf/default.nix4
-rw-r--r--pkgs/development/tools/misc/cquery/default.nix8
-rw-r--r--pkgs/development/tools/misc/elfutils/default.nix4
-rw-r--r--pkgs/development/tools/misc/help2man/default.nix4
-rw-r--r--pkgs/development/tools/misc/intltool/default.nix4
-rw-r--r--pkgs/development/tools/misc/ninka/default.nix6
-rw-r--r--pkgs/development/tools/misc/vtable-dumper/default.nix24
-rw-r--r--pkgs/development/tools/ocaml/dune/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/ocamlbuild/default.nix4
-rw-r--r--pkgs/development/tools/rust/cbindgen/default.nix6
-rw-r--r--pkgs/development/tools/sslmate/default.nix4
-rw-r--r--pkgs/development/tools/unity3d/default.nix111
-rw-r--r--pkgs/development/tools/vgo2nix/default.nix41
-rw-r--r--pkgs/development/tools/vgo2nix/deps.nix12
-rw-r--r--pkgs/games/anki/default.nix14
-rw-r--r--pkgs/games/gzdoom/default.nix4
-rw-r--r--pkgs/games/ja2-stracciatella/default.nix2
-rw-r--r--pkgs/games/pokerth/default.nix85
-rw-r--r--pkgs/games/scummvm/games.nix125
-rw-r--r--pkgs/games/teeworlds/default.nix57
-rw-r--r--pkgs/games/warmux/default.nix39
-rw-r--r--pkgs/games/warmux/gcc-fix.patch51
-rw-r--r--pkgs/misc/emulators/dolphin-emu/default.nix6
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix6
-rw-r--r--pkgs/misc/emulators/vbam/default.nix14
-rw-r--r--pkgs/misc/seafile-shared/default.nix4
-rw-r--r--pkgs/misc/themes/adapta/default.nix4
-rw-r--r--pkgs/misc/themes/matcha/default.nix6
-rw-r--r--pkgs/misc/themes/obsidian2/default.nix4
-rw-r--r--pkgs/misc/themes/sierra/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/overrides.nix2
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix8
-rw-r--r--pkgs/os-specific/linux/kbd/default.nix13
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix3
-rw-r--r--pkgs/os-specific/linux/numactl/default.nix5
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh60
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix25
-rw-r--r--pkgs/servers/clickhouse/default.nix4
-rw-r--r--pkgs/servers/corosync/default.nix15
-rw-r--r--pkgs/servers/coturn/default.nix5
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix85
-rw-r--r--pkgs/servers/home-assistant/default.nix24
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/mail/postfix/default.nix2
-rw-r--r--pkgs/servers/mail/postfix/pflogsumm.nix5
-rw-r--r--pkgs/servers/mail/spamassassin/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix4
-rw-r--r--pkgs/servers/monitoring/fusion-inventory/default.nix4
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix6
-rw-r--r--pkgs/servers/monitoring/munin/default.nix2
-rw-r--r--pkgs/servers/openafs/1.6/module.nix6
-rw-r--r--pkgs/servers/openafs/1.6/srcs.nix6
-rw-r--r--pkgs/servers/openafs/1.8/cross-build.patch223
-rw-r--r--pkgs/servers/openafs/1.8/default.nix12
-rw-r--r--pkgs/servers/openafs/1.8/module.nix6
-rw-r--r--pkgs/servers/openafs/1.8/srcs.nix6
-rw-r--r--pkgs/servers/openxpki/default.nix4
-rw-r--r--pkgs/servers/plex/default.nix1
-rw-r--r--pkgs/servers/samba/4.x.nix4
-rw-r--r--pkgs/servers/slimserver/default.nix4
-rw-r--r--pkgs/servers/sql/mariadb/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/jdbc/default.nix8
-rw-r--r--pkgs/servers/sql/postgresql/pg_cron/default.nix4
-rw-r--r--pkgs/servers/sql/sqlite/jdbc/default.nix19
-rw-r--r--pkgs/servers/trezord/default.nix4
-rw-r--r--pkgs/servers/uhub/default.nix18
-rw-r--r--pkgs/servers/uhub/plugin-dir.patch2
-rw-r--r--pkgs/servers/unifi/default.nix8
-rw-r--r--pkgs/servers/varnish/default.nix13
-rw-r--r--pkgs/servers/x11/xorg/default.nix1270
-rw-r--r--pkgs/servers/x11/xorg/extra.list2
-rwxr-xr-xpkgs/servers/x11/xorg/generate-expr-from-tarballs.pl63
-rw-r--r--pkgs/servers/x11/xorg/old.list2
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix531
-rw-r--r--pkgs/servers/x11/xorg/tarballs-7.7.list6
-rw-r--r--pkgs/shells/zsh/default.nix11
-rw-r--r--pkgs/shells/zsh/oh-my-zsh/default.nix6
-rw-r--r--pkgs/stdenv/generic/make-derivation.nix12
-rw-r--r--pkgs/test/openftd/default.nix49
-rw-r--r--pkgs/tools/X11/x11vnc/default.nix36
-rw-r--r--pkgs/tools/X11/xpra/default.nix64
-rw-r--r--pkgs/tools/X11/xpra/fix-paths.patch33
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix79
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix8
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/compression/brotli/default.nix4
-rw-r--r--pkgs/tools/filesystems/bcachefs-tools/default.nix6
-rw-r--r--pkgs/tools/filesystems/bindfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/fatsort/default.nix4
-rw-r--r--pkgs/tools/filesystems/nixpart/0.4/blivet.nix2
-rw-r--r--pkgs/tools/graphics/feedgnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/graph-easy/default.nix4
-rw-r--r--pkgs/tools/misc/bat/default.nix13
-rw-r--r--pkgs/tools/misc/bepasty/default.nix11
-rw-r--r--pkgs/tools/misc/coreutils/default.nix2
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix75
-rw-r--r--pkgs/tools/misc/esptool/default.nix4
-rw-r--r--pkgs/tools/misc/rename/default.nix4
-rw-r--r--pkgs/tools/misc/staruml/default.nix4
-rw-r--r--pkgs/tools/misc/tmux/default.nix8
-rw-r--r--pkgs/tools/misc/vdirsyncer/default.nix2
-rw-r--r--pkgs/tools/networking/curl/7_59.nix6
-rw-r--r--pkgs/tools/networking/curl/default.nix6
-rw-r--r--pkgs/tools/networking/ddclient/default.nix4
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix12
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix4
-rw-r--r--pkgs/tools/networking/network-manager/default.nix12
-rw-r--r--pkgs/tools/networking/network-manager/openvpn/default.nix4
-rw-r--r--pkgs/tools/networking/openssh/default.nix7
-rw-r--r--pkgs/tools/networking/speedtest-cli/default.nix21
-rw-r--r--pkgs/tools/networking/unbound/default.nix4
-rw-r--r--pkgs/tools/package-management/appimage-run/default.nix3
-rw-r--r--pkgs/tools/package-management/dpkg/default.nix4
-rw-r--r--pkgs/tools/package-management/xbps/default.nix8
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix27
-rw-r--r--pkgs/tools/security/nmap/default.nix10
-rw-r--r--pkgs/tools/system/fio/default.nix4
-rw-r--r--pkgs/tools/system/gotop/default.nix4
-rw-r--r--pkgs/tools/text/gnupatch/default.nix2
-rw-r--r--pkgs/tools/text/html-tidy/default.nix3
-rw-r--r--pkgs/tools/typesetting/scdoc/default.nix4
-rw-r--r--pkgs/tools/video/bento4/default.nix30
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix4
-rw-r--r--pkgs/top-level/aliases.nix7
-rw-r--r--pkgs/top-level/all-packages.nix149
-rw-r--r--pkgs/top-level/haskell-packages.nix10
-rw-r--r--pkgs/top-level/ocaml-packages.nix4
-rw-r--r--pkgs/top-level/perl-packages.nix131
-rw-r--r--pkgs/top-level/php-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix6352
-rw-r--r--pkgs/top-level/splice.nix4
-rw-r--r--pkgs/top-level/stage.nix11
942 files changed, 20873 insertions, 12964 deletions
diff --git a/doc/languages-frameworks/coq.xml b/doc/languages-frameworks/coq.xml
index d5f2574039f2..640b04c7da9d 100644
--- a/doc/languages-frameworks/coq.xml
+++ b/doc/languages-frameworks/coq.xml
@@ -11,10 +11,9 @@
  </para>
 
  <para>
-  Some libraries require OCaml and sometimes also Camlp5 or findlib. The exact
-  versions that were used to build Coq are saved in the
-  <literal>coq.ocaml</literal> and <literal>coq.camlp5</literal> and
-  <literal>coq.findlib</literal> attributes.
+  Some extensions (plugins) might require OCaml and sometimes other OCaml
+  packages. The <literal>coq.ocamlPackages</literal> attribute can be used
+  to depend on the same package set Coq was built against.
  </para>
 
  <para>
diff --git a/doc/package-notes.xml b/doc/package-notes.xml
index 0543e06a05d4..dad28d3ec8b2 100644
--- a/doc/package-notes.xml
+++ b/doc/package-notes.xml
@@ -413,7 +413,8 @@ packageOverrides = pkgs: {
     in your <filename>/etc/nixos/configuration.nix</filename>. You'll also need
 <programlisting>hardware.pulseaudio.support32Bit = true;</programlisting>
     if you are using PulseAudio - this will enable 32bit ALSA apps integration.
-    To use the Steam controller or other Steam supported controllers such as the DualShock 4 or Nintendo Switch Pro, you need to add
+    To use the Steam controller or other Steam supported controllers such as
+    the DualShock 4 or Nintendo Switch Pro, you need to add
 <programlisting>hardware.steam-hardware.enable = true;</programlisting>
     to your configuration.
    </para>
diff --git a/lib/generators.nix b/lib/generators.nix
index f5faf7007860..863ba847423e 100644
--- a/lib/generators.nix
+++ b/lib/generators.nix
@@ -143,6 +143,7 @@ rec {
   }@args: v: with builtins;
     let     isPath   = v: typeOf v == "path";
     in if   isInt      v then toString v
+    else if isFloat    v then "~${toString v}"
     else if isString   v then ''"${libStr.escape [''"''] v}"''
     else if true  ==   v then "true"
     else if false ==   v then "false"
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 2d4e52ae4806..611e6ddb35b7 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -387,6 +387,14 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "ISC License";
   };
 
+  # Proprietary binaries; free to redistribute without modification.
+  issl = {
+    fullName = "Intel Simplified Software License";
+    url = https://software.intel.com/en-us/license/intel-simplified-software-license;
+    free = false;
+  };
+
+
   lgpl2 = spdx {
     spdxId = "LGPL-2.0";
     fullName = "GNU Library General Public License v2 only";
@@ -577,6 +585,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Ruby License";
   };
 
+  sendmail = spdx {
+    spdxId = "Sendmail";
+    fullName = "Sendmail License";
+  };
+
   sgi-b-20 = spdx {
     spdxId = "SGI-B-2.0";
     fullName = "SGI Free Software License B v2.0";
diff --git a/lib/systems/default.nix b/lib/systems/default.nix
index 5eacc9eb23e1..8f5ef44ae72f 100644
--- a/lib/systems/default.nix
+++ b/lib/systems/default.nix
@@ -46,6 +46,25 @@ rec {
       # Misc boolean options
       useAndroidPrebuilt = false;
       useiOSPrebuilt = false;
+
+      # Output from uname
+      uname = {
+        # uname -s
+        system = {
+          "linux" = "Linux";
+          "windows" = "Windows";
+          "darwin" = "Darwin";
+          "netbsd" = "NetBSD";
+          "freebsd" = "FreeBSD";
+          "openbsd" = "OpenBSD";
+        }.${final.parsed.kernel.name} or null;
+
+         # uname -p
+         processor = final.parsed.cpu.name;
+
+         # uname -r
+         release = null;
+      };
     } // mapAttrs (n: v: v final.parsed) inspect.predicates
       // args;
   in assert final.useAndroidPrebuilt -> final.isAndroid;
diff --git a/lib/systems/doubles.nix b/lib/systems/doubles.nix
index a00165db1716..58677c0bdd90 100644
--- a/lib/systems/doubles.nix
+++ b/lib/systems/doubles.nix
@@ -15,6 +15,8 @@ let
 
     "x86_64-cygwin" "x86_64-darwin" "x86_64-freebsd" "x86_64-linux"
     "x86_64-netbsd" "x86_64-openbsd" "x86_64-solaris"
+
+    "x86_64-windows" "i686-windows"
   ];
 
   allParsed = map parse.mkSystemFromString all;
@@ -37,12 +39,13 @@ in rec {
   darwin  = filterDoubles predicates.isDarwin;
   freebsd = filterDoubles predicates.isFreeBSD;
   # Should be better, but MinGW is unclear.
-  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; });
+  gnu     = filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnu; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabi; }) ++ filterDoubles (matchAttrs { kernel = parse.kernels.linux; abi = parse.abis.gnueabihf; });
   illumos = filterDoubles predicates.isSunOS;
   linux   = filterDoubles predicates.isLinux;
   netbsd  = filterDoubles predicates.isNetBSD;
   openbsd = filterDoubles predicates.isOpenBSD;
   unix    = filterDoubles predicates.isUnix;
+  windows = filterDoubles predicates.isWindows;
 
   mesaPlatforms = ["i686-linux" "x86_64-linux" "x86_64-darwin" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "powerpc64le-linux"];
 }
diff --git a/lib/tests/misc.nix b/lib/tests/misc.nix
index d89bcfde4819..853d911cdc81 100644
--- a/lib/tests/misc.nix
+++ b/lib/tests/misc.nix
@@ -369,6 +369,7 @@ runTests {
   testToPretty = {
     expr = mapAttrs (const (generators.toPretty {})) rec {
       int = 42;
+      float = 0.1337;
       bool = true;
       string = ''fno"rd'';
       path = /. + "/foo";
@@ -381,6 +382,7 @@ runTests {
     };
     expected = rec {
       int = "42";
+      float = "~0.133700";
       bool = "true";
       string = ''"fno\"rd"'';
       path = "/foo";
diff --git a/lib/tests/systems.nix b/lib/tests/systems.nix
index 91604280e4e7..5e1293658215 100644
--- a/lib/tests/systems.nix
+++ b/lib/tests/systems.nix
@@ -12,20 +12,21 @@ let
     expected = lib.sort lib.lessThan y;
   };
 in with lib.systems.doubles; lib.runTests {
-  all = assertTrue (mseteq all (linux ++ darwin ++ cygwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
+  testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ windows);
 
-  arm = assertTrue (mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ]);
-  i686 = assertTrue (mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" ]);
-  mips = assertTrue (mseteq mips [ "mipsel-linux" ]);
-  x86_64 = assertTrue (mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" ]);
+  testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv7l-linux" ];
+  testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" ];
+  testmips = mseteq mips [ "mipsel-linux" ];
+  testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" ];
 
-  cygwin = assertTrue (mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ]);
-  darwin = assertTrue (mseteq darwin [ "x86_64-darwin" ]);
-  freebsd = assertTrue (mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]);
-  gnu = assertTrue (mseteq gnu (linux /* ++ kfreebsd ++ ... */));
-  illumos = assertTrue (mseteq illumos [ "x86_64-solaris" ]);
-  linux = assertTrue (mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ]);
-  netbsd = assertTrue (mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ]);
-  openbsd = assertTrue (mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ]);
-  unix = assertTrue (mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos));
+  testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
+  testdarwin = mseteq darwin [ "x86_64-darwin" ];
+  testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
+  testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
+  testillumos = mseteq illumos [ "x86_64-solaris" ];
+  testlinux = mseteq linux [ "i686-linux" "x86_64-linux" "armv5tel-linux" "armv6l-linux" "armv7l-linux" "aarch64-linux" "mipsel-linux" ];
+  testnetbsd = mseteq netbsd [ "i686-netbsd" "x86_64-netbsd" ];
+  testopenbsd = mseteq openbsd [ "i686-openbsd" "x86_64-openbsd" ];
+  testwindows = mseteq windows [ "i686-cygwin" "x86_64-cygwin" "i686-windows" "x86_64-windows" ];
+  testunix = mseteq unix (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ cygwin);
 }
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 629ba8d63c38..13fa3ba9151c 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -158,6 +158,11 @@
     github = "alexanderkjeldaas";
     name = "Alexander Kjeldaas";
   };
+  akavel = {
+    email = "czapkofan@gmail.com";
+    github = "akavel";
+    name = "Mateusz Czapliński";
+  };
   akaWolf = {
     email = "akawolf0@gmail.com";
     github = "akaWolf";
@@ -1377,6 +1382,11 @@
     github = "expipiplus1";
     name = "Joe Hermaszewski";
   };
+  f--t = {
+    email = "git@f-t.me";
+    github = "f--t";
+    name = "f--t";
+  };
   f-breidenstein = {
     email = "mail@felixbreidenstein.de";
     github = "f-breidenstein";
@@ -1887,6 +1897,11 @@
     github = "jdagilliland";
     name = "Jason Gilliland";
   };
+  jdehaas = {
+    email = "qqlq@nullptr.club";
+    github = "jeroendehaas";
+    name = "Jeroen de Haas";
+  };
   jefdaj = {
     email = "jefdaj@gmail.com";
     github = "jefdaj";
@@ -3105,6 +3120,11 @@
     github = "olynch";
     name = "Owen Lynch";
   };
+  OPNA2608 = {
+    email = "christoph.neidahl@gmail.com";
+    github = "OPNA2608";
+    name = "Christoph Neidahl";
+  };
   orbekk = {
     email = "kjetil.orbekk@gmail.com";
     github = "orbekk";
@@ -3324,6 +3344,11 @@
     github = "pmyjavec";
     name = "Pauly Myjavec";
   };
+  pnelson = {
+    email = "me@pnelson.ca";
+    github = "pnelson";
+    name = "Philip Nelson";
+  };
   pneumaticat = {
     email = "kevin@potatofrom.space";
     github = "pneumaticat";
@@ -4128,11 +4153,6 @@
     github = "tazjin";
     name = "Vincent Ambo";
   };
-  TealG = {
-    email = "~@Teal.Gr";
-    github = "TealG";
-    name = "Teal Gaure";
-  };
   teh = {
     email = "tehunger@gmail.com";
     github = "teh";
diff --git a/nixos/doc/manual/administration/container-networking.xml b/nixos/doc/manual/administration/container-networking.xml
index 8aca329c8f1f..2ee8bfdd50f1 100644
--- a/nixos/doc/manual/administration/container-networking.xml
+++ b/nixos/doc/manual/administration/container-networking.xml
@@ -52,6 +52,7 @@ $ ping -c1 10.233.4.2
 networking.networkmanager.unmanaged = [ "interface-name:ve-*" ];
 </programlisting>
  </para>
+
  <para>
   You may need to restart your system for the changes to take effect.
  </para>
diff --git a/nixos/doc/manual/release-notes/rl-1809.xml b/nixos/doc/manual/release-notes/rl-1809.xml
index c5521735428b..0ddf40acbfcc 100644
--- a/nixos/doc/manual/release-notes/rl-1809.xml
+++ b/nixos/doc/manual/release-notes/rl-1809.xml
@@ -477,6 +477,48 @@ $ nix-instantiate -E '(import &lt;nixpkgsunstable&gt; {}).gitFull'
   <itemizedlist>
    <listitem>
     <para>
+     Some licenses that were incorrectly not marked as unfree now are. This is
+     the case for:
+     <itemizedlist>
+      <listitem>
+       <para>
+        cc-by-nc-sa-20: Creative Commons Attribution Non Commercial Share Alike
+        2.0
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        cc-by-nc-sa-25: Creative Commons Attribution Non Commercial Share Alike
+        2.5
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        cc-by-nc-sa-30: Creative Commons Attribution Non Commercial Share Alike
+        3.0
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        cc-by-nc-sa-40: Creative Commons Attribution Non Commercial Share Alike
+        4.0
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        cc-by-nd-30: Creative Commons Attribution-No Derivative Works v3.00
+       </para>
+      </listitem>
+      <listitem>
+       <para>
+        msrla: Microsoft Research License Agreement
+       </para>
+      </listitem>
+     </itemizedlist>
+    </para>
+   </listitem>
+   <listitem>
+    <para>
      The deprecated <varname>services.cassandra</varname> module has seen a
      complete rewrite. (See above.)
     </para>
diff --git a/nixos/doc/manual/release-notes/rl-1903.xml b/nixos/doc/manual/release-notes/rl-1903.xml
index e13770c553f8..839d75b53bd1 100644
--- a/nixos/doc/manual/release-notes/rl-1903.xml
+++ b/nixos/doc/manual/release-notes/rl-1903.xml
@@ -106,12 +106,12 @@
     </para>
    </listitem>
    <listitem>
-     <para>
-       The <literal>light</literal> module no longer uses setuid binaries, but
-       udev rules. As a consequence users of that module have to belong to the
-       <literal>video</literal> group in order to use the executable
-       (i.e. <literal>users.users.yourusername.extraGroups = ["video"];</literal>).
-     </para>
+    <para>
+     The <literal>light</literal> module no longer uses setuid binaries, but
+     udev rules. As a consequence users of that module have to belong to the
+     <literal>video</literal> group in order to use the executable (i.e.
+     <literal>users.users.yourusername.extraGroups = ["video"];</literal>).
+    </para>
    </listitem>
    <listitem>
     <para>
@@ -122,6 +122,21 @@
      the Python 2 or 3 version of the package.
     </para>
    </listitem>
+   <listitem>
+    <para>
+      Options
+      <literal>services.znc.confOptions.networks.<replaceable>name</replaceable>.userName</literal> and
+      <literal>services.znc.confOptions.networks.<replaceable>name</replaceable>.modulePackages</literal>
+      were removed. They were never used for anything and can therefore safely be removed.
+    </para>
+   </listitem>
+   <listitem>
+    <para>
+     Package <literal>wasm</literal> has been renamed <literal>proglodyte-wasm</literal>. The package
+     <literal>wasm</literal> will be pointed to <literal>ocamlPackages.wasm</literal> in 19.09, so
+     make sure to update your configuration if you want to keep <literal>proglodyte-wasm</literal>
+    </para>
+   </listitem>
   </itemizedlist>
  </section>
 
diff --git a/nixos/modules/config/pulseaudio.nix b/nixos/modules/config/pulseaudio.nix
index e16a021ec20b..d4aa59506295 100644
--- a/nixos/modules/config/pulseaudio.nix
+++ b/nixos/modules/config/pulseaudio.nix
@@ -154,6 +154,18 @@ in {
         '';
       };
 
+      extraModules = mkOption {
+        type = types.listOf types.package;
+        default = [];
+        example = literalExample "[ pkgs.pulseaudio-modules-bt ]";
+        description = ''
+          Extra pulseaudio modules to use. This is intended for out-of-tree
+          pulseaudio modules like extra bluetooth codecs.
+
+          Extra modules take precedence over built-in pulseaudio modules.
+        '';
+      };
+
       daemon = {
         logLevel = mkOption {
           type = types.str;
@@ -236,6 +248,18 @@ in {
       systemd.packages = [ overriddenPackage ];
     })
 
+    (mkIf (cfg.extraModules != []) {
+      hardware.pulseaudio.daemon.config.dl-search-path = let
+        overriddenModules = builtins.map
+          (drv: drv.override { pulseaudio = overriddenPackage; })
+          cfg.extraModules;
+        modulePaths = builtins.map
+          (drv: "${drv}/lib/pulse-${overriddenPackage.version}/modules")
+          # User-provided extra modules take precedence
+          (overriddenModules ++ [ overriddenPackage ]);
+      in lib.concatStringsSep ":" modulePaths;
+    })
+
     (mkIf hasZeroconf {
       services.avahi.enable = true;
     })
diff --git a/nixos/modules/hardware/video/nvidia.nix b/nixos/modules/hardware/video/nvidia.nix
index 6944d1a4f76b..f8524ab99e8a 100644
--- a/nixos/modules/hardware/video/nvidia.nix
+++ b/nixos/modules/hardware/video/nvidia.nix
@@ -1,6 +1,6 @@
 # This module provides the proprietary NVIDIA X11 / OpenGL drivers.
 
-{ config, lib, pkgs, pkgs_i686, ... }:
+{ stdenv, config, lib, pkgs, pkgs_i686, ... }:
 
 with lib;
 
@@ -23,7 +23,11 @@ let
     else null;
 
   nvidia_x11 = nvidiaForKernel config.boot.kernelPackages;
-  nvidia_libs32 = (nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; };
+  nvidia_libs32 =
+    if versionOlder nvidia_x11.version "391" then
+      ((nvidiaForKernel pkgs_i686.linuxPackages).override { libsOnly = true; kernel = null; }).out
+    else
+      (nvidiaForKernel config.boot.kernelPackages).lib32;
 
   enabled = nvidia_x11 != null;
 
@@ -98,7 +102,7 @@ in
     assertions = [
       {
         assertion = config.services.xserver.displayManager.gdm.wayland;
-        message = "NVidia drivers don't support wayland";
+        message = "NVIDIA drivers don't support wayland";
       }
       {
         assertion = !optimusCfg.enable ||
@@ -161,7 +165,7 @@ in
     };
 
     hardware.opengl.package = nvidia_x11.out;
-    hardware.opengl.package32 = nvidia_libs32.out;
+    hardware.opengl.package32 = nvidia_libs32;
 
     environment.systemPackages = [ nvidia_x11.bin nvidia_x11.settings ]
       ++ lib.filter (p: p != null) [ nvidia_x11.persistenced ];
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index f55c32fa511d..fb6b4262568e 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -149,6 +149,7 @@
   ./security/duosec.nix
   ./security/hidepid.nix
   ./security/lock-kernel-modules.nix
+  ./security/misc.nix
   ./security/oath.nix
   ./security/pam.nix
   ./security/pam_usb.nix
@@ -634,7 +635,7 @@
   ./services/networking/zerobin.nix
   ./services/networking/zeronet.nix
   ./services/networking/zerotierone.nix
-  ./services/networking/znc.nix
+  ./services/networking/znc/default.nix
   ./services/printing/cupsd.nix
   ./services/scheduling/atd.nix
   ./services/scheduling/chronos.nix
diff --git a/nixos/modules/profiles/hardened.nix b/nixos/modules/profiles/hardened.nix
index 2af8bf1f8e30..d712fb2514b1 100644
--- a/nixos/modules/profiles/hardened.nix
+++ b/nixos/modules/profiles/hardened.nix
@@ -6,12 +6,18 @@
 with lib;
 
 {
+  meta = {
+    maintainers = [ maintainers.joachifm ];
+  };
+
   boot.kernelPackages = mkDefault pkgs.linuxPackages_hardened;
 
   security.hideProcessInformation = mkDefault true;
 
   security.lockKernelModules = mkDefault true;
 
+  security.allowUserNamespaces = mkDefault false;
+
   security.apparmor.enable = mkDefault true;
 
   boot.kernelParams = [
@@ -55,18 +61,6 @@ with lib;
   # ... or at least apply some hardening to it
   boot.kernel.sysctl."net.core.bpf_jit_harden" = mkDefault true;
 
-  # A recurring problem with user namespaces is that there are
-  # still code paths where the kernel's permission checking logic
-  # fails to account for namespacing, instead permitting a
-  # namespaced process to act outside the namespace with the
-  # same privileges as it would have inside it.  This is particularly
-  # bad in the common case of running as root within the namespace.
-  #
-  # Setting the number of allowed user namespaces to 0 effectively disables
-  # the feature at runtime.  Attempting to create a user namespace
-  # with unshare will then fail with "no space left on device".
-  boot.kernel.sysctl."user.max_user_namespaces" = mkDefault 0;
-
   # Raise ASLR entropy for 64bit & 32bit, respectively.
   #
   # Note: mmap_rnd_compat_bits may not exist on 64bit.
diff --git a/nixos/modules/security/lock-kernel-modules.nix b/nixos/modules/security/lock-kernel-modules.nix
index c81521ed9b08..fc9e7939d814 100644
--- a/nixos/modules/security/lock-kernel-modules.nix
+++ b/nixos/modules/security/lock-kernel-modules.nix
@@ -3,6 +3,10 @@
 with lib;
 
 {
+  meta = {
+    maintainers = [ maintainers.joachifm ];
+  };
+
   options = {
     security.lockKernelModules = mkOption {
       type = types.bool;
diff --git a/nixos/modules/security/misc.nix b/nixos/modules/security/misc.nix
new file mode 100644
index 000000000000..42f872b7b088
--- /dev/null
+++ b/nixos/modules/security/misc.nix
@@ -0,0 +1,39 @@
+{ config, lib, ... }:
+
+with lib;
+
+{
+  meta = {
+    maintainers = [ maintainers.joachifm ];
+  };
+
+  options = {
+    security.allowUserNamespaces = mkOption {
+      type = types.bool;
+      default = true;
+      description = ''
+        Whether to allow creation of user namespaces.  A recurring problem
+        with user namespaces is the presence of code paths where the kernel's
+        permission checking logic fails to account for namespacing, instead
+        permitting a namespaced process to act outside the namespace with the
+        same privileges as it would have inside it.  This is particularly
+        damaging in the common case of running as root within the namespace.
+        When user namespace creation is disallowed, attempting to create
+        a user namespace fails with "no space left on device" (ENOSPC).
+      '';
+    };
+  };
+
+  config = mkIf (!config.security.allowUserNamespaces) {
+    # Setting the number of allowed user namespaces to 0 effectively disables
+    # the feature at runtime.  Note that root may raise the limit again
+    # at any time.
+    boot.kernel.sysctl."user.max_user_namespaces" = 0;
+
+    assertions = [
+      { assertion = config.nix.useSandbox -> config.security.allowUserNamespaces;
+        message = "`nix.useSandbox = true` conflicts with `!security.allowUserNamespaces`.";
+      }
+    ];
+  };
+}
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index 77e4b2a616d8..dcb9c8d4ed5f 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -180,35 +180,6 @@ in
           # programs to be wrapped.
           WRAPPER_PATH=${config.system.path}/bin:${config.system.path}/sbin
 
-          # Remove the old /var/setuid-wrappers path from the system...
-          #
-          # TODO: this is only necessary for upgrades 16.09 => 17.x;
-          # this conditional removal block needs to be removed after
-          # the release.
-          if [ -d /var/setuid-wrappers ]; then
-            rm -rf /var/setuid-wrappers
-            ln -s /run/wrappers/bin /var/setuid-wrappers
-          fi
-
-          # Remove the old /run/setuid-wrappers-dir path from the
-          # system as well...
-          #
-          # TODO: this is only necessary for upgrades 16.09 => 17.x;
-          # this conditional removal block needs to be removed after
-          # the release.
-          if [ -d /run/setuid-wrapper-dirs ]; then
-            rm -rf /run/setuid-wrapper-dirs
-            ln -s /run/wrappers/bin /run/setuid-wrapper-dirs
-          fi
-
-          # TODO: this is only necessary for upgrades 16.09 => 17.x;
-          # this conditional removal block needs to be removed after
-          # the release.
-          if readlink -f /run/booted-system | grep nixos-17 > /dev/null; then
-            rm -rf /run/setuid-wrapper-dirs
-            rm -rf /var/setuid-wrappers
-          fi
-
           # We want to place the tmpdirs for the wrappers to the parent dir.
           wrapperDir=$(mktemp --directory --tmpdir="${parentWrapperDir}" wrappers.XXXXXXXXXX)
           chmod a+rx $wrapperDir
diff --git a/nixos/modules/services/hardware/lirc.nix b/nixos/modules/services/hardware/lirc.nix
index a66a7fbf495f..5635d6f09715 100644
--- a/nixos/modules/services/hardware/lirc.nix
+++ b/nixos/modules/services/hardware/lirc.nix
@@ -65,6 +65,10 @@ in {
 
       serviceConfig = {
         RuntimeDirectory = "lirc";
+
+        # socket lives in runtime directory; we have to keep is available
+        RuntimeDirectoryPreserve = true;
+
         ExecStart = ''
           ${pkgs.lirc}/bin/lircd --nodaemon \
             ${escapeShellArgs cfg.extraArguments} \
diff --git a/nixos/modules/services/mail/postfix.nix b/nixos/modules/services/mail/postfix.nix
index 33249aa3e554..d43733484ffa 100644
--- a/nixos/modules/services/mail/postfix.nix
+++ b/nixos/modules/services/mail/postfix.nix
@@ -602,7 +602,7 @@ in
             target = "postfix";
           };
 
-        # This makes comfortable for root to run 'postqueue' for example.
+        # This makes it comfortable to run 'postqueue/postdrop' for example.
         systemPackages = [ pkgs.postfix ];
       };
 
@@ -616,6 +616,22 @@ in
         setgid = true;
       };
 
+      security.wrappers.postqueue = {
+        program = "postqueue";
+        source = "${pkgs.postfix}/bin/postqueue";
+        group = setgidGroup;
+        setuid = false;
+        setgid = true;
+      };
+
+      security.wrappers.postdrop = {
+        program = "postdrop";
+        source = "${pkgs.postfix}/bin/postdrop";
+        group = setgidGroup;
+        setuid = false;
+        setgid = true;
+      };
+
       users.users = optional (user == "postfix")
         { name = "postfix";
           description = "Postfix mail server user";
diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix
index 1fcfb440485d..c6ff540ea12f 100644
--- a/nixos/modules/services/misc/weechat.nix
+++ b/nixos/modules/services/misc/weechat.nix
@@ -46,10 +46,12 @@ in
         Group = "weechat";
         RemainAfterExit = "yes";
       };
-      script = "exec ${pkgs.screen}/bin/screen -Dm -S ${cfg.sessionName} ${cfg.binary}";
+      script = "exec ${config.security.wrapperDir}/screen -Dm -S ${cfg.sessionName} ${cfg.binary}";
       wantedBy = [ "multi-user.target" ];
       wants = [ "network.target" ];
     };
+
+    security.wrappers.screen.source = "${pkgs.screen}/bin/screen";
   };
 
   meta.doc = ./weechat.xml;
diff --git a/nixos/modules/services/misc/weechat.xml b/nixos/modules/services/misc/weechat.xml
index 9c9ee0448c92..b7f755bbc5c7 100644
--- a/nixos/modules/services/misc/weechat.xml
+++ b/nixos/modules/services/misc/weechat.xml
@@ -54,7 +54,7 @@
 </programlisting>
    Now, the session can be re-attached like this:
 <programlisting>
-screen -r weechat-screen
+screen -x weechat/weechat-screen
 </programlisting>
   </para>
 
diff --git a/nixos/modules/services/monitoring/grafana.nix b/nixos/modules/services/monitoring/grafana.nix
index c30647f5460b..c0c16a429d89 100644
--- a/nixos/modules/services/monitoring/grafana.nix
+++ b/nixos/modules/services/monitoring/grafana.nix
@@ -4,6 +4,7 @@ with lib;
 
 let
   cfg = config.services.grafana;
+  opt = options.services.grafana;
 
   envOptions = {
     PATHS_DATA = cfg.dataDir;
@@ -41,6 +42,12 @@ let
     AUTH_ANONYMOUS_ORG_ROLE = cfg.auth.anonymous.org_role;
 
     ANALYTICS_REPORTING_ENABLED = boolToString cfg.analytics.reporting.enable;
+
+    SMTP_ENABLE = boolToString cfg.smtp.enable;
+    SMTP_HOST = cfg.smtp.host;
+    SMTP_USER = cfg.smtp.user;
+    SMTP_PASSWORD = cfg.smtp.password;
+    SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
   } // cfg.extraOptions;
 
 in {
@@ -134,11 +141,23 @@ in {
       };
 
       password = mkOption {
-        description = "Database password.";
+        description = ''
+          Database password.
+          This option is mutual exclusive with the passwordFile option.
+        '';
         default = "";
         type = types.str;
       };
 
+      passwordFile = mkOption {
+        description = ''
+          File that containts the database password.
+          This option is mutual exclusive with the password option.
+        '';
+        default = null;
+        type = types.nullOr types.path;
+      };
+
       path = mkOption {
         description = "Database path.";
         default = "${cfg.dataDir}/data/grafana.db";
@@ -163,16 +182,69 @@ in {
       };
 
       adminPassword = mkOption {
-        description = "Default admin password.";
+        description = ''
+          Default admin password.
+          This option is mutual exclusive with the adminPasswordFile option.
+        '';
         default = "admin";
         type = types.str;
       };
 
+      adminPasswordFile = mkOption {
+        description = ''
+          Default admin password.
+          This option is mutual exclusive with the <literal>adminPassword</literal> option.
+        '';
+        default = null;
+        type = types.nullOr types.path;
+      };
+
       secretKey = mkOption {
         description = "Secret key used for signing.";
         default = "SW2YcwTIb9zpOOhoPsMm";
         type = types.str;
       };
+
+      secretKeyFile = mkOption {
+        description = "Secret key used for signing.";
+        default = null;
+        type = types.nullOr types.path;
+      };
+    };
+
+    smtp = {
+      enable = mkEnableOption "smtp";
+      host = mkOption {
+        description = "Host to connect to";
+        default = "localhost:25";
+        type = types.str;
+      };
+      user = mkOption {
+        description = "User used for authentication";
+        default = "";
+        type = types.str;
+      };
+      password = mkOption {
+        description = ''
+          Password used for authentication.
+          This option is mutual exclusive with the passwordFile option.
+        '';
+        default = "";
+        type = types.str;
+      };
+      passwordFile = mkOption {
+        description = ''
+          Password used for authentication.
+          This option is mutual exclusive with the password option.
+        '';
+        default = null;
+        type = types.nullOr types.path;
+      };
+      fromAddress = mkOption {
+        description = "Email address used for sending";
+        default = "admin@grafana.localhost";
+        type = types.str;
+      };
     };
 
     users = {
@@ -241,12 +313,31 @@ in {
 
   config = mkIf cfg.enable {
     warnings = optional (
-      cfg.database.password != options.services.grafana.database.password.default ||
-      cfg.security.adminPassword != options.services.grafana.security.adminPassword.default
+      cfg.database.password != opt.database.password.default ||
+      cfg.security.adminPassword != opt.security.adminPassword.default
     ) "Grafana passwords will be stored as plaintext in the Nix store!";
 
     environment.systemPackages = [ cfg.package ];
 
+    assertions = [
+      {
+        assertion = cfg.database.password != opt.database.password.default -> cfg.database.passwordFile == null;
+        message = "Cannot set both password and passwordFile";
+      }
+      {
+        assertion = cfg.security.adminPassword != opt.security.adminPassword.default -> cfg.security.adminPasswordFile == null;
+        message = "Cannot set both adminPassword and adminPasswordFile";
+      }
+      {
+        assertion = cfg.security.secretKeyFile != opt.security.secretKeyFile.default -> cfg.security.secretKeyFile == null;
+        message = "Cannot set both secretKey and secretKeyFile";
+      }
+      {
+        assertion = cfg.smtp.password != opt.smtp.password.default -> cfg.smtp.passwordFile == null;
+        message = "Cannot set both password and secretKeyFile";
+      }
+    ];
+
     systemd.services.grafana = {
       description = "Grafana Service Daemon";
       wantedBy = ["multi-user.target"];
@@ -254,8 +345,22 @@ in {
       environment = {
         QT_QPA_PLATFORM = "offscreen";
       } // mapAttrs' (n: v: nameValuePair "GF_${n}" (toString v)) envOptions;
+      script = ''
+        ${optionalString (cfg.database.passwordFile != null) ''
+          export GF_DATABASE_PASSWORD="$(cat ${escapeShellArg cfg.database.passwordFile})"
+        ''}
+        ${optionalString (cfg.security.adminPasswordFile != null) ''
+          export GF_SECURITY_ADMIN_PASSWORD="$(cat ${escapeShellArg cfg.security.adminPasswordFile})"
+        ''}
+        ${optionalString (cfg.security.secretKeyFile != null) ''
+          export GF_SECURITY_SECRET_KEY="$(cat ${escapeShellArg cfg.security.secretKeyFile})"
+        ''}
+        ${optionalString (cfg.smtp.passwordFile != null) ''
+          export GF_SMTP_PASSWORD="$(cat ${escapeShellArg cfg.smtp.passwordFile})"
+        ''}
+        exec ${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}
+      '';
       serviceConfig = {
-        ExecStart = "${cfg.package.bin}/bin/grafana-server -homepath ${cfg.dataDir}";
         WorkingDirectory = cfg.dataDir;
         User = "grafana";
       };
diff --git a/nixos/modules/services/monitoring/munin.nix b/nixos/modules/services/monitoring/munin.nix
index ff9604c7dbcd..2b265d5b5a90 100644
--- a/nixos/modules/services/monitoring/munin.nix
+++ b/nixos/modules/services/monitoring/munin.nix
@@ -5,8 +5,8 @@
 
 # TODO: support fastcgi
 # http://munin-monitoring.org/wiki/CgiHowto2
-# spawn-fcgi -s /var/run/munin/fastcgi-graph.sock -U www-data   -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
-# spawn-fcgi -s /var/run/munin/fastcgi-html.sock  -U www-data   -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
+# spawn-fcgi -s /run/munin/fastcgi-graph.sock -U www-data   -u munin -g munin /usr/lib/munin/cgi/munin-cgi-graph
+# spawn-fcgi -s /run/munin/fastcgi-html.sock  -U www-data   -u munin -g munin /usr/lib/munin/cgi/munin-cgi-html
 # https://paste.sh/vofcctHP#-KbDSXVeWoifYncZmLfZzgum
 # nginx http://munin.readthedocs.org/en/latest/example/webserver/nginx.html
 
@@ -22,7 +22,7 @@ let
       dbdir     /var/lib/munin
       htmldir   /var/www/munin
       logdir    /var/log/munin
-      rundir    /var/run/munin
+      rundir    /run/munin
 
       ${cronCfg.extraGlobalConfig}
 
@@ -170,7 +170,7 @@ in
       wantedBy = [ "multi-user.target" ];
       path = with pkgs; [ munin smartmontools "/run/current-system/sw" "/run/wrappers" ];
       environment.MUNIN_LIBDIR = "${pkgs.munin}/lib";
-      environment.MUNIN_PLUGSTATE = "/var/run/munin";
+      environment.MUNIN_PLUGSTATE = "/run/munin";
       environment.MUNIN_LOGDIR = "/var/log/munin";
       preStart = ''
         echo "updating munin plugins..."
@@ -188,7 +188,7 @@ in
     };
 
     # munin_stats plugin breaks as of 2.0.33 when this doesn't exist
-    systemd.tmpfiles.rules = [ "d /var/run/munin 0755 munin munin -" ];
+    systemd.tmpfiles.rules = [ "d /run/munin 0755 munin munin -" ];
 
   }) (mkIf cronCfg.enable {
 
@@ -210,7 +210,7 @@ in
     };
 
     systemd.tmpfiles.rules = [
-      "d /var/run/munin 0755 munin munin -"
+      "d /run/munin 0755 munin munin -"
       "d /var/log/munin 0755 munin munin -"
       "d /var/www/munin 0755 munin munin -"
       "d /var/lib/munin 0755 munin munin -"
diff --git a/nixos/modules/services/monitoring/prometheus/default.nix b/nixos/modules/services/monitoring/prometheus/default.nix
index 5dda763bd56b..e2ee995cea80 100644
--- a/nixos/modules/services/monitoring/prometheus/default.nix
+++ b/nixos/modules/services/monitoring/prometheus/default.nix
@@ -39,6 +39,7 @@ let
     "-alertmanager.notification-queue-capacity=${toString cfg.alertmanagerNotificationQueueCapacity}"
     "-alertmanager.timeout=${toString cfg.alertmanagerTimeout}s"
     (optionalString (cfg.alertmanagerURL != []) "-alertmanager.url=${concatStringsSep "," cfg.alertmanagerURL}")
+    (optionalString (cfg.webExternalUrl != null) "-web.external-url=${cfg.webExternalUrl}")
   ];
 
   promTypes.globalConfig = types.submodule {
@@ -467,6 +468,16 @@ in {
           Alert manager HTTP API timeout (in seconds).
         '';
       };
+
+      webExternalUrl = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        example = "https://example.com/";
+        description = ''
+          The URL under which Prometheus is externally reachable (for example,
+          if Prometheus is served via a reverse proxy).
+        '';
+      };
     };
   };
 
diff --git a/nixos/modules/services/network-filesystems/openafs/client.nix b/nixos/modules/services/network-filesystems/openafs/client.nix
index 52c0966e05bc..240c1392088f 100644
--- a/nixos/modules/services/network-filesystems/openafs/client.nix
+++ b/nixos/modules/services/network-filesystems/openafs/client.nix
@@ -149,11 +149,13 @@ in
       packages = {
         module = mkOption {
           default = config.boot.kernelPackages.openafs;
+          defaultText = "config.boot.kernelPackages.openafs";
           type = types.package;
           description = "OpenAFS kernel module package. MUST match the userland package!";
         };
         programs = mkOption {
           default = getBin pkgs.openafs;
+          defaultText = "config.boot.kernelPackages.openafs";
           type = types.package;
           description = "OpenAFS programs package. MUST match the kernel module package!";
         };
diff --git a/nixos/modules/services/network-filesystems/openafs/server.nix b/nixos/modules/services/network-filesystems/openafs/server.nix
index 4c80ed0839f7..095024d2c8af 100644
--- a/nixos/modules/services/network-filesystems/openafs/server.nix
+++ b/nixos/modules/services/network-filesystems/openafs/server.nix
@@ -80,6 +80,7 @@ in {
 
       package = mkOption {
         default = pkgs.openafs.server or pkgs.openafs;
+        defaultText = "pkgs.openafs.server or pkgs.openafs";
         type = types.package;
         description = "OpenAFS package for the server binaries";
       };
diff --git a/nixos/modules/services/networking/hostapd.nix b/nixos/modules/services/networking/hostapd.nix
index 3af0441a89d8..9f74e4963296 100644
--- a/nixos/modules/services/networking/hostapd.nix
+++ b/nixos/modules/services/networking/hostapd.nix
@@ -157,9 +157,9 @@ in
       { description = "hostapd wireless AP";
 
         path = [ pkgs.hostapd ];
-        wantedBy = [ "network.target" ];
-
-        after = [ "${cfg.interface}-cfg.service" "nat.service" "bind.service" "dhcpd.service" "sys-subsystem-net-devices-${cfg.interface}.device" ];
+        after = [ "sys-subsystem-net-devices-${cfg.interface}.device" ];
+        bindsTo = [ "sys-subsystem-net-devices-${cfg.interface}.device" ];
+        requiredBy = [ "network-link-${cfg.interface}.service" ];
 
         serviceConfig =
           { ExecStart = "${pkgs.hostapd}/bin/hostapd ${configFile}";
diff --git a/nixos/modules/services/networking/tinc.nix b/nixos/modules/services/networking/tinc.nix
index 35cdddc590b8..3379efd1afce 100644
--- a/nixos/modules/services/networking/tinc.nix
+++ b/nixos/modules/services/networking/tinc.nix
@@ -148,14 +148,6 @@ in
         }
       ));
 
-    networking.interfaces = flip mapAttrs' cfg.networks (network: data: nameValuePair
-      ("tinc.${network}")
-      ({
-        virtual = true;
-        virtualType = "${data.interfaceType}";
-      })
-    );
-
     systemd.services = flip mapAttrs' cfg.networks (network: data: nameValuePair
       ("tinc.${network}")
       ({
diff --git a/nixos/modules/services/networking/znc.nix b/nixos/modules/services/networking/znc.nix
deleted file mode 100644
index f817db2ad000..000000000000
--- a/nixos/modules/services/networking/znc.nix
+++ /dev/null
@@ -1,431 +0,0 @@
-{ config, lib, pkgs, ...}:
-
-with lib;
-
-let
-  cfg = config.services.znc;
-
-  defaultUser = "znc"; # Default user to own process.
-
-  # Default user and pass:
-  # un=znc
-  # pw=nixospass
-
-  defaultUserName = "znc";
-  defaultPassBlock = "
-        <Pass password>
-                Method = sha256
-                Hash = e2ce303c7ea75c571d80d8540a8699b46535be6a085be3414947d638e48d9e93
-                Salt = l5Xryew4g*!oa(ECfX2o
-        </Pass>
-  ";
-
-  modules = pkgs.buildEnv {
-    name = "znc-modules";
-    paths = cfg.modulePackages;
-  };
-
-  # Keep znc.conf in nix store, then symlink or copy into `dataDir`, depending on `mutable`.
-  mkZncConf = confOpts: ''
-    Version = 1.6.3
-    ${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.modules}
-
-    <Listener l>
-            Port = ${toString confOpts.port}
-            IPv4 = true
-            IPv6 = true
-            SSL = ${boolToString confOpts.useSSL}
-            ${lib.optionalString (confOpts.uriPrefix != null) "URIPrefix = ${confOpts.uriPrefix}"}
-    </Listener>
-
-    <User ${confOpts.userName}>
-            ${confOpts.passBlock}
-            Admin = true
-            Nick = ${confOpts.nick}
-            AltNick = ${confOpts.nick}_
-            Ident = ${confOpts.nick}
-            RealName = ${confOpts.nick}
-            ${concatMapStrings (n: "LoadModule = ${n}\n") confOpts.userModules}
-
-            ${ lib.concatStringsSep "\n" (lib.mapAttrsToList (name: net: ''
-              <Network ${name}>
-                  ${concatMapStrings (m: "LoadModule = ${m}\n") net.modules}
-                  Server = ${net.server} ${lib.optionalString net.useSSL "+"}${toString net.port} ${net.password}
-                  ${concatMapStrings (c: "<Chan #${c}>\n</Chan>\n") net.channels}
-                  ${lib.optionalString net.hasBitlbeeControlChannel ''
-                    <Chan &bitlbee>
-                    </Chan>
-                  ''}
-                  ${net.extraConf}
-              </Network>
-              '') confOpts.networks) }
-    </User>
-    ${confOpts.extraZncConf}
-  '';
-
-  zncConfFile = pkgs.writeTextFile {
-    name = "znc.conf";
-    text = if cfg.zncConf != ""
-      then cfg.zncConf
-      else mkZncConf cfg.confOptions;
-  };
-
-  networkOpts = { ... }: {
-    options = {
-      server = mkOption {
-        type = types.str;
-        example = "chat.freenode.net";
-        description = ''
-          IRC server address.
-        '';
-      };
-
-      port = mkOption {
-        type = types.int;
-        default = 6697;
-        example = 6697;
-        description = ''
-          IRC server port.
-        '';
-      };
-
-      userName = mkOption {
-        default = "";
-        example = "johntron";
-        type = types.string;
-        description = ''
-          A nick identity specific to the IRC server.
-        '';
-      };
-
-      password = mkOption {
-        type = types.str;
-        default = "";
-        description = ''
-          IRC server password, such as for a Slack gateway.
-        '';
-      };
-
-      useSSL = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Whether to use SSL to connect to the IRC server.
-        '';
-      };
-
-      modulePackages = mkOption {
-        type = types.listOf types.package;
-        default = [];
-        example = [ "pkgs.zncModules.push" "pkgs.zncModules.fish" ];
-        description = ''
-          External ZNC modules to build.
-        '';
-      };
-
-      modules = mkOption {
-        type = types.listOf types.str;
-        default = [ "simple_away" ];
-        example = literalExample "[ simple_away sasl ]";
-        description = ''
-          ZNC modules to load.
-        '';
-      };
-
-      channels = mkOption {
-        type = types.listOf types.str;
-        default = [];
-        example = [ "nixos" ];
-        description = ''
-          IRC channels to join.
-        '';
-      };
-
-      hasBitlbeeControlChannel = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to add the special Bitlbee operations channel.
-        '';
-      };
-
-      extraConf = mkOption {
-        default = "";
-        type = types.lines;
-        example = ''
-          Encoding = ^UTF-8
-          FloodBurst = 4
-          FloodRate = 1.00
-          IRCConnectEnabled = true
-          Ident = johntron
-          JoinDelay = 0
-          Nick = johntron
-        '';
-        description = ''
-          Extra config for the network.
-        '';
-      };
-    };
-  };
-
-in
-
-{
-
-  ###### Interface
-
-  options = {
-    services.znc = {
-      enable = mkOption {
-        default = false;
-        type = types.bool;
-        description = ''
-          Enable a ZNC service for a user.
-        '';
-      };
-
-      user = mkOption {
-        default = "znc";
-        example = "john";
-        type = types.string;
-        description = ''
-          The name of an existing user account to use to own the ZNC server process.
-          If not specified, a default user will be created to own the process.
-        '';
-      };
-
-      group = mkOption {
-        default = "";
-        example = "users";
-        type = types.string;
-        description = ''
-          Group to own the ZNCserver process.
-        '';
-      };
-
-      dataDir = mkOption {
-        default = "/var/lib/znc/";
-        example = "/home/john/.znc/";
-        type = types.path;
-        description = ''
-          The data directory. Used for configuration files and modules.
-        '';
-      };
-
-      openFirewall = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to open ports in the firewall for ZNC.
-        '';
-      };
-
-      zncConf = mkOption {
-        default = "";
-        example = "See: http://wiki.znc.in/Configuration";
-        type = types.lines;
-        description = ''
-          Config file as generated with `znc --makeconf` to use for the whole ZNC configuration.
-          If specified, `confOptions` will be ignored, and this value, as-is, will be used.
-          If left empty, a conf file with default values will be used.
-        '';
-      };
-
-      confOptions = {
-        modules = mkOption {
-          type = types.listOf types.str;
-          default = [ "webadmin" "adminlog" ];
-          example = [ "partyline" "webadmin" "adminlog" "log" ];
-          description = ''
-            A list of modules to include in the `znc.conf` file.
-          '';
-        };
-
-        userModules = mkOption {
-          type = types.listOf types.str;
-          default = [ "chansaver" "controlpanel" ];
-          example = [ "chansaver" "controlpanel" "fish" "push" ];
-          description = ''
-            A list of user modules to include in the `znc.conf` file.
-          '';
-        };
-
-        userName = mkOption {
-          default = defaultUserName;
-          example = "johntron";
-          type = types.string;
-          description = ''
-            The user name used to log in to the ZNC web admin interface.
-          '';
-        };
-
-        networks = mkOption {
-          default = { };
-          type = with types; attrsOf (submodule networkOpts);
-          description = ''
-            IRC networks to connect the user to.
-          '';
-          example = {
-            "freenode" = {
-              server = "chat.freenode.net";
-              port = 6697;
-              useSSL = true;
-              modules = [ "simple_away" ];
-            };
-          };
-        };
-
-        nick = mkOption {
-          default = "znc-user";
-          example = "john";
-          type = types.string;
-          description = ''
-            The IRC nick.
-          '';
-        };
-
-        passBlock = mkOption {
-          example = defaultPassBlock;
-          type = types.string;
-          description = ''
-            Generate with `nix-shell -p znc --command "znc --makepass"`.
-            This is the password used to log in to the ZNC web admin interface.
-          '';
-        };
-
-        port = mkOption {
-          default = 5000;
-          example = 5000;
-          type = types.int;
-          description = ''
-            Specifies the port on which to listen.
-          '';
-        };
-
-        useSSL = mkOption {
-          default = true;
-          type = types.bool;
-          description = ''
-            Indicates whether the ZNC server should use SSL when listening on the specified port. A self-signed certificate will be generated.
-          '';
-        };
-
-        uriPrefix = mkOption {
-          type = types.nullOr types.str;
-          default = null;
-          example = "/znc/";
-          description = ''
-            An optional URI prefix for the ZNC web interface. Can be
-            used to make ZNC available behind a reverse proxy.
-          '';
-        };
-
-        extraZncConf = mkOption {
-          default = "";
-          type = types.lines;
-          description = ''
-            Extra config to `znc.conf` file.
-          '';
-        };
-      };
-
-      modulePackages = mkOption {
-        type = types.listOf types.package;
-        default = [ ];
-        example = literalExample "[ pkgs.zncModules.fish pkgs.zncModules.push ]";
-        description = ''
-          A list of global znc module packages to add to znc.
-        '';
-      };
-
-      mutable = mkOption {
-        default = true;
-        type = types.bool;
-        description = ''
-          Indicates whether to allow the contents of the `dataDir` directory to be changed
-          by the user at run-time.
-          If true, modifications to the ZNC configuration after its initial creation are not
-            overwritten by a NixOS system rebuild.
-          If false, the ZNC configuration is rebuilt by every system rebuild.
-          If the user wants to manage the ZNC service using the web admin interface, this value
-            should be set to true.
-        '';
-      };
-
-      extraFlags = mkOption {
-        default = [ ];
-        example = [ "--debug" ];
-        type = types.listOf types.str;
-        description = ''
-          Extra flags to use when executing znc command.
-        '';
-      };
-    };
-  };
-
-
-  ###### Implementation
-
-  config = mkIf cfg.enable {
-
-    networking.firewall = mkIf cfg.openFirewall {
-      allowedTCPPorts = [ cfg.confOptions.port ];
-    };
-
-    systemd.services.znc = {
-      description = "ZNC Server";
-      wantedBy = [ "multi-user.target" ];
-      after = [ "network.service" ];
-      serviceConfig = {
-        User = cfg.user;
-        Group = cfg.group;
-        Restart = "always";
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-        ExecStop   = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
-      };
-      preStart = ''
-        ${pkgs.coreutils}/bin/mkdir -p ${cfg.dataDir}/configs
-
-        # If mutable, regenerate conf file every time.
-        ${optionalString (!cfg.mutable) ''
-          ${pkgs.coreutils}/bin/echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated."
-          ${pkgs.coreutils}/bin/rm -f ${cfg.dataDir}/configs/znc.conf
-        ''}
-
-        # Ensure essential files exist.
-        if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then
-            ${pkgs.coreutils}/bin/echo "No znc.conf file found in ${cfg.dataDir}. Creating one now."
-            ${pkgs.coreutils}/bin/cp --no-clobber ${zncConfFile} ${cfg.dataDir}/configs/znc.conf
-            ${pkgs.coreutils}/bin/chmod u+rw ${cfg.dataDir}/configs/znc.conf
-            ${pkgs.coreutils}/bin/chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf
-        fi
-
-        if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then
-          ${pkgs.coreutils}/bin/echo "No znc.pem file found in ${cfg.dataDir}. Creating one now."
-          ${pkgs.znc}/bin/znc --makepem --datadir ${cfg.dataDir}
-        fi
-
-        # Symlink modules
-        rm ${cfg.dataDir}/modules || true
-        ln -fs ${modules}/lib/znc ${cfg.dataDir}/modules
-      '';
-      script = "${pkgs.znc}/bin/znc --foreground --datadir ${cfg.dataDir} ${toString cfg.extraFlags}";
-    };
-
-    users.users = optional (cfg.user == defaultUser)
-      { name = defaultUser;
-        description = "ZNC server daemon owner";
-        group = defaultUser;
-        uid = config.ids.uids.znc;
-        home = cfg.dataDir;
-        createHome = true;
-      };
-
-    users.groups = optional (cfg.user == defaultUser)
-      { name = defaultUser;
-        gid = config.ids.gids.znc;
-        members = [ defaultUser ];
-      };
-
-  };
-}
diff --git a/nixos/modules/services/networking/znc/default.nix b/nixos/modules/services/networking/znc/default.nix
new file mode 100644
index 000000000000..bce5b15a19ec
--- /dev/null
+++ b/nixos/modules/services/networking/znc/default.nix
@@ -0,0 +1,306 @@
+{ config, lib, pkgs, ...}:
+
+with lib;
+
+let
+
+  cfg = config.services.znc;
+
+  defaultUser = "znc";
+
+  modules = pkgs.buildEnv {
+    name = "znc-modules";
+    paths = cfg.modulePackages;
+  };
+
+  listenerPorts = concatMap (l: optional (l ? Port) l.Port)
+    (attrValues (cfg.config.Listener or {}));
+
+  # Converts the config option to a string
+  semanticString = let
+
+      sortedAttrs = set: sort (l: r:
+        if l == "extraConfig" then false # Always put extraConfig last
+        else if isAttrs set.${l} == isAttrs set.${r} then l < r
+        else isAttrs set.${r} # Attrsets should be last, makes for a nice config
+        # This last case occurs when any side (but not both) is an attrset
+        # The order of these is correct when the attrset is on the right
+        # which we're just returning
+      ) (attrNames set);
+
+      # Specifies an attrset that encodes the value according to its type
+      encode = name: value: {
+          null = [];
+          bool = [ "${name} = ${boolToString value}" ];
+          int = [ "${name} = ${toString value}" ];
+
+          # extraConfig should be inserted verbatim
+          string = [ (if name == "extraConfig" then value else "${name} = ${value}") ];
+
+          # Values like `Foo = [ "bar" "baz" ];` should be transformed into
+          #   Foo=bar
+          #   Foo=baz
+          list = concatMap (encode name) value;
+
+          # Values like `Foo = { bar = { Baz = "baz"; Qux = "qux"; Florps = null; }; };` should be transmed into
+          #   <Foo bar>
+          #     Baz=baz
+          #     Qux=qux
+          #   </Foo>
+          set = concatMap (subname: [
+              "<${name} ${subname}>"
+            ] ++ map (line: "\t${line}") (toLines value.${subname}) ++ [
+              "</${name}>"
+            ]) (filter (v: v != null) (attrNames value));
+
+        }.${builtins.typeOf value};
+
+      # One level "above" encode, acts upon a set and uses encode on each name,value pair
+      toLines = set: concatMap (name: encode name set.${name}) (sortedAttrs set);
+
+    in
+      concatStringsSep "\n" (toLines cfg.config);
+
+  semanticTypes = with types; rec {
+    zncAtom = nullOr (either (either int bool) str);
+    zncAttr = attrsOf (nullOr zncConf);
+    zncAll = either (either zncAtom (listOf zncAtom)) zncAttr;
+    zncConf = attrsOf (zncAll // {
+      # Since this is a recursive type and the description by default contains
+      # the description of its subtypes, infinite recursion would occur without
+      # explicitly breaking this cycle
+      description = "znc values (null, atoms (str, int, bool), list of atoms, or attrsets of znc values)";
+    });
+  };
+
+in
+
+{
+
+  imports = [ ./options.nix ];
+
+  options = {
+    services.znc = {
+      enable = mkEnableOption "ZNC";
+
+      user = mkOption {
+        default = "znc";
+        example = "john";
+        type = types.str;
+        description = ''
+          The name of an existing user account to use to own the ZNC server
+          process. If not specified, a default user will be created.
+        '';
+      };
+
+      group = mkOption {
+        default = defaultUser;
+        example = "users";
+        type = types.str;
+        description = ''
+          Group to own the ZNC process.
+        '';
+      };
+
+      dataDir = mkOption {
+        default = "/var/lib/znc/";
+        example = "/home/john/.znc/";
+        type = types.path;
+        description = ''
+          The state directory for ZNC. The config and the modules will be linked
+          to from this directory as well.
+        '';
+      };
+
+      openFirewall = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to open ports in the firewall for ZNC. Does work with
+          ports for listeners specified in
+          <option>services.znc.config.Listener</option>.
+        '';
+      };
+
+      config = mkOption {
+        type = semanticTypes.zncConf;
+        default = {};
+        example = literalExample ''
+          {
+            LoadModule = [ "webadmin" "adminlog" ];
+            User.paul = {
+              Admin = true;
+              Nick = "paul";
+              AltNick = "paul1";
+              LoadModule = [ "chansaver" "controlpanel" ];
+              Network.freenode = {
+                Server = "chat.freenode.net +6697";
+                LoadModule = [ "simple_away" ];
+                Chan = {
+                  "#nixos" = { Detached = false; };
+                  "##linux" = { Disabled = true; };
+                };
+              };
+              Pass.password = {
+                Method = "sha256";
+                Hash = "e2ce303c7ea75c571d80d8540a8699b46535be6a085be3414947d638e48d9e93";
+                Salt = "l5Xryew4g*!oa(ECfX2o";
+              };
+            };
+          }
+        '';
+        description = ''
+          Configuration for ZNC, see
+          <literal>https://wiki.znc.in/Configuration</literal> for details. The
+          Nix value declared here will be translated directly to the xml-like
+          format ZNC expects. This is much more flexible than the legacy options
+          under <option>services.znc.confOptions.*</option>, but also can't do
+          any type checking.
+          </para>
+          <para>
+          You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.services.znc.config</command>
+          to view the current value. By default it contains a listener for port
+          5000 with SSL enabled.
+          </para>
+          <para>
+          Nix attributes called <literal>extraConfig</literal> will be inserted
+          verbatim into the resulting config file.
+          </para>
+          <para>
+          If <option>services.znc.useLegacyConfig</option> is turned on, the
+          option values in <option>services.znc.confOptions.*</option> will be
+          gracefully be applied to this option.
+          </para>
+          <para>
+          If you intend to update the configuration through this option, be sure
+          to enable <option>services.znc.mutable</option>, otherwise none of the
+          changes here will be applied after the initial deploy.
+        '';
+      };
+
+      configFile = mkOption {
+        type = types.path;
+        example = "~/.znc/configs/znc.conf";
+        description = ''
+          Configuration file for ZNC. It is recommended to use the
+          <option>config</option> option instead.
+          </para>
+          <para>
+          Setting this option will override any auto-generated config file
+          through the <option>confOptions</option> or <option>config</option>
+          options.
+        '';
+      };
+
+      modulePackages = mkOption {
+        type = types.listOf types.package;
+        default = [ ];
+        example = literalExample "[ pkgs.zncModules.fish pkgs.zncModules.push ]";
+        description = ''
+          A list of global znc module packages to add to znc.
+        '';
+      };
+
+      mutable = mkOption {
+        default = true; # TODO: Default to true when config is set, make sure to not delete the old config if present
+        type = types.bool;
+        description = ''
+          Indicates whether to allow the contents of the
+          <literal>dataDir</literal> directory to be changed by the user at
+          run-time.
+          </para>
+          <para>
+          If enabled, modifications to the ZNC configuration after its initial
+          creation are not overwritten by a NixOS rebuild. If disabled, the
+          ZNC configuration is rebuilt on every NixOS rebuild.
+          </para>
+          <para>
+          If the user wants to manage the ZNC service using the web admin
+          interface, this option should be enabled.
+        '';
+      };
+
+      extraFlags = mkOption {
+        default = [ ];
+        example = [ "--debug" ];
+        type = types.listOf types.str;
+        description = ''
+          Extra arguments to use for executing znc.
+        '';
+      };
+    };
+  };
+
+
+  ###### Implementation
+
+  config = mkIf cfg.enable {
+
+    services.znc = {
+      configFile = mkDefault (pkgs.writeText "znc-generated.conf" semanticString);
+      config = {
+        Version = (builtins.parseDrvName pkgs.znc.name).version;
+        Listener.l.Port = mkDefault 5000;
+        Listener.l.SSL = mkDefault true;
+      };
+    };
+
+    networking.firewall.allowedTCPPorts = mkIf cfg.openFirewall listenerPorts;
+
+    systemd.services.znc = {
+      description = "ZNC Server";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network-online.target" ];
+      serviceConfig = {
+        User = cfg.user;
+        Group = cfg.group;
+        Restart = "always";
+        ExecStart = "${pkgs.znc}/bin/znc --foreground --datadir ${cfg.dataDir} ${escapeShellArgs cfg.extraFlags}";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        ExecStop = "${pkgs.coreutils}/bin/kill -INT $MAINPID";
+      };
+      preStart = ''
+        mkdir -p ${cfg.dataDir}/configs
+
+        # If mutable, regenerate conf file every time.
+        ${optionalString (!cfg.mutable) ''
+          echo "znc is set to be system-managed. Now deleting old znc.conf file to be regenerated."
+          rm -f ${cfg.dataDir}/configs/znc.conf
+        ''}
+
+        # Ensure essential files exist.
+        if [[ ! -f ${cfg.dataDir}/configs/znc.conf ]]; then
+            echo "No znc.conf file found in ${cfg.dataDir}. Creating one now."
+            cp --no-clobber ${cfg.configFile} ${cfg.dataDir}/configs/znc.conf
+            chmod u+rw ${cfg.dataDir}/configs/znc.conf
+            chown ${cfg.user} ${cfg.dataDir}/configs/znc.conf
+        fi
+
+        if [[ ! -f ${cfg.dataDir}/znc.pem ]]; then
+          echo "No znc.pem file found in ${cfg.dataDir}. Creating one now."
+          ${pkgs.znc}/bin/znc --makepem --datadir ${cfg.dataDir}
+        fi
+
+        # Symlink modules
+        rm ${cfg.dataDir}/modules || true
+        ln -fs ${modules}/lib/znc ${cfg.dataDir}/modules
+      '';
+    };
+
+    users.users = optional (cfg.user == defaultUser)
+      { name = defaultUser;
+        description = "ZNC server daemon owner";
+        group = defaultUser;
+        uid = config.ids.uids.znc;
+        home = cfg.dataDir;
+        createHome = true;
+      };
+
+    users.groups = optional (cfg.user == defaultUser)
+      { name = defaultUser;
+        gid = config.ids.gids.znc;
+        members = [ defaultUser ];
+      };
+
+  };
+}
diff --git a/nixos/modules/services/networking/znc/options.nix b/nixos/modules/services/networking/znc/options.nix
new file mode 100644
index 000000000000..048dbd738630
--- /dev/null
+++ b/nixos/modules/services/networking/znc/options.nix
@@ -0,0 +1,270 @@
+{ lib, config, ... }:
+
+with lib;
+
+let
+
+  cfg = config.services.znc;
+
+  networkOpts = {
+    options = {
+
+      server = mkOption {
+        type = types.str;
+        example = "chat.freenode.net";
+        description = ''
+          IRC server address.
+        '';
+      };
+
+      port = mkOption {
+        type = types.ints.u16;
+        default = 6697;
+        description = ''
+          IRC server port.
+        '';
+      };
+
+      password = mkOption {
+        type = types.str;
+        default = "";
+        description = ''
+          IRC server password, such as for a Slack gateway.
+        '';
+      };
+
+      useSSL = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to use SSL to connect to the IRC server.
+        '';
+      };
+
+      modules = mkOption {
+        type = types.listOf types.str;
+        default = [ "simple_away" ];
+        example = literalExample "[ simple_away sasl ]";
+        description = ''
+          ZNC network modules to load.
+        '';
+      };
+
+      channels = mkOption {
+        type = types.listOf types.str;
+        default = [];
+        example = [ "nixos" ];
+        description = ''
+          IRC channels to join.
+        '';
+      };
+
+      hasBitlbeeControlChannel = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Whether to add the special Bitlbee operations channel.
+        '';
+      };
+
+      extraConf = mkOption {
+        default = "";
+        type = types.lines;
+        example = ''
+          Encoding = ^UTF-8
+          FloodBurst = 4
+          FloodRate = 1.00
+          IRCConnectEnabled = true
+          Ident = johntron
+          JoinDelay = 0
+          Nick = johntron
+        '';
+        description = ''
+          Extra config for the network. Consider using
+          <option>services.znc.config</option> instead.
+        '';
+      };
+    };
+  };
+
+in
+
+{
+
+  options = {
+    services.znc = {
+
+      useLegacyConfig = mkOption {
+        default = true;
+        type = types.bool;
+        description = ''
+          Whether to propagate the legacy options under
+          <option>services.znc.confOptions.*</option> to the znc config. If this
+          is turned on, the znc config will contain a user with the default name
+          "znc", global modules "webadmin" and "adminlog" will be enabled by
+          default, and more, all controlled through the
+          <option>services.znc.confOptions.*</option> options.
+          You can use <command>nix-instantiate --eval --strict '&lt;nixpkgs/nixos&gt;' -A config.services.znc.config</command>
+          to view the current value of the config.
+          </para>
+          <para>
+          In any case, if you need more flexibility,
+          <option>services.znc.config</option> can be used to override/add to
+          all of the legacy options.
+        '';
+      };
+
+      confOptions = {
+        modules = mkOption {
+          type = types.listOf types.str;
+          default = [ "webadmin" "adminlog" ];
+          example = [ "partyline" "webadmin" "adminlog" "log" ];
+          description = ''
+            A list of modules to include in the `znc.conf` file.
+          '';
+        };
+
+        userModules = mkOption {
+          type = types.listOf types.str;
+          default = [ "chansaver" "controlpanel" ];
+          example = [ "chansaver" "controlpanel" "fish" "push" ];
+          description = ''
+            A list of user modules to include in the `znc.conf` file.
+          '';
+        };
+
+        userName = mkOption {
+          default = "znc";
+          example = "johntron";
+          type = types.str;
+          description = ''
+            The user name used to log in to the ZNC web admin interface.
+          '';
+        };
+
+        networks = mkOption {
+          default = { };
+          type = with types; attrsOf (submodule networkOpts);
+          description = ''
+            IRC networks to connect the user to.
+          '';
+          example = literalExample ''
+            {
+              "freenode" = {
+                server = "chat.freenode.net";
+                port = 6697;
+                useSSL = true;
+                modules = [ "simple_away" ];
+              };
+            };
+          '';
+        };
+
+        nick = mkOption {
+          default = "znc-user";
+          example = "john";
+          type = types.str;
+          description = ''
+            The IRC nick.
+          '';
+        };
+
+        passBlock = mkOption {
+          example = literalExample ''
+            &lt;Pass password&gt;
+               Method = sha256
+               Hash = e2ce303c7ea75c571d80d8540a8699b46535be6a085be3414947d638e48d9e93
+               Salt = l5Xryew4g*!oa(ECfX2o
+            &lt;/Pass&gt;
+          '';
+          type = types.str;
+          description = ''
+            Generate with `nix-shell -p znc --command "znc --makepass"`.
+            This is the password used to log in to the ZNC web admin interface.
+            You can also set this through
+            <option>services.znc.config.User.&lt;username&gt;.Pass.Method</option>
+            and co.
+          '';
+        };
+
+        port = mkOption {
+          default = 5000;
+          type = types.int;
+          description = ''
+            Specifies the port on which to listen.
+          '';
+        };
+
+        useSSL = mkOption {
+          default = true;
+          type = types.bool;
+          description = ''
+            Indicates whether the ZNC server should use SSL when listening on
+            the specified port. A self-signed certificate will be generated.
+          '';
+        };
+
+        uriPrefix = mkOption {
+          type = types.nullOr types.str;
+          default = null;
+          example = "/znc/";
+          description = ''
+            An optional URI prefix for the ZNC web interface. Can be
+            used to make ZNC available behind a reverse proxy.
+          '';
+        };
+
+        extraZncConf = mkOption {
+          default = "";
+          type = types.lines;
+          description = ''
+            Extra config to `znc.conf` file.
+          '';
+        };
+      };
+
+    };
+  };
+
+  config = mkIf cfg.useLegacyConfig {
+
+    services.znc.config = let
+      c = cfg.confOptions;
+      # defaults here should override defaults set in the non-legacy part
+      mkDefault = mkOverride 900;
+    in {
+      LoadModule = mkDefault c.modules;
+      Listener.l = {
+        Port = mkDefault c.port;
+        IPv4 = mkDefault true;
+        IPv6 = mkDefault true;
+        SSL = mkDefault c.useSSL;
+        URIPrefix = c.uriPrefix;
+      };
+      User.${c.userName} = {
+        Admin = mkDefault true;
+        Nick = mkDefault c.nick;
+        AltNick = mkDefault "${c.nick}_";
+        Ident = mkDefault c.nick;
+        RealName = mkDefault c.nick;
+        LoadModule = mkDefault c.userModules;
+        Network = mapAttrs (name: net: {
+          LoadModule = mkDefault net.modules;
+          Server = mkDefault "${net.server} ${optionalString net.useSSL "+"}${toString net.port} ${net.password}";
+          Chan = optionalAttrs net.hasBitlbeeControlChannel { "&bitlbee" = mkDefault {}; } //
+            listToAttrs (map (n: nameValuePair "#${n}" (mkDefault {})) net.channels);
+          extraConfig = if net.extraConf == "" then mkDefault null else net.extraConf;
+        }) c.networks;
+        extraConfig = [ c.passBlock ];
+      };
+      extraConfig = optional (c.extraZncConf != "") c.extraZncConf;
+    };
+  };
+
+  imports = [
+    (mkRemovedOptionModule ["services" "znc" "zncConf"] ''
+      Instead of `services.znc.zncConf = "... foo ...";`, use
+      `services.znc.configFile = pkgs.writeText "znc.conf" "... foo ...";`.
+    '')
+  ];
+}
diff --git a/nixos/modules/services/security/munge.nix b/nixos/modules/services/security/munge.nix
index 5bca15833544..fda864f2c30a 100644
--- a/nixos/modules/services/security/munge.nix
+++ b/nixos/modules/services/security/munge.nix
@@ -53,8 +53,6 @@ in
         chmod 0700 ${cfg.password}
         mkdir -p /var/lib/munge -m 0711
         chown -R munge:munge /var/lib/munge
-        mkdir -p /var/log/munge -m 0700
-        chown -R munge:munge /var/log/munge
         mkdir -p /run/munge -m 0755
         chown -R munge:munge /run/munge
       '';
diff --git a/nixos/modules/services/security/tor.nix b/nixos/modules/services/security/tor.nix
index 9b6d4be9bda8..aca2cf8cdeaa 100644
--- a/nixos/modules/services/security/tor.nix
+++ b/nixos/modules/services/security/tor.nix
@@ -57,6 +57,11 @@ let
     AutomapHostsSuffixes ${concatStringsSep "," cfg.client.dns.automapHostsSuffixes}
     ''}
   ''
+  # Explicitly disable the SOCKS server if the client is disabled.  In
+  # particular, this makes non-anonymous hidden services possible.
+  + optionalString (! cfg.client.enable) ''
+  SOCKSPort 0
+  ''
   # Relay config
   + optionalString cfg.relay.enable ''
     ORPort ${toString cfg.relay.port}
diff --git a/nixos/modules/services/ttys/kmscon.nix b/nixos/modules/services/ttys/kmscon.nix
index 59c45fcb44ee..82b6a51028e3 100644
--- a/nixos/modules/services/ttys/kmscon.nix
+++ b/nixos/modules/services/ttys/kmscon.nix
@@ -4,6 +4,8 @@ let
 
   cfg = config.services.kmscon;
 
+  autologinArg = lib.optionalString (cfg.autologinUser != null) "-f ${cfg.autologinUser}";
+
   configDir = pkgs.writeTextFile { name = "kmscon-config"; destination = "/kmscon.conf"; text = cfg.extraConfig; };
 in {
   options = {
@@ -39,6 +41,15 @@ in {
         default = "";
         example = "--term xterm-256color";
       };
+
+      autologinUser = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = ''
+          Username of the account that will be automatically logged in at the console.
+          If unspecified, a login prompt is shown as usual.
+        '';
+      };
     };
   };
 
@@ -61,7 +72,7 @@ in {
 
       [Service]
       ExecStart=
-      ExecStart=${pkgs.kmscon}/bin/kmscon "--vt=%I" ${cfg.extraOptions} --seats=seat0 --no-switchvt --configdir ${configDir} --login -- ${pkgs.shadow}/bin/login -p
+      ExecStart=${pkgs.kmscon}/bin/kmscon "--vt=%I" ${cfg.extraOptions} --seats=seat0 --no-switchvt --configdir ${configDir} --login -- ${pkgs.shadow}/bin/login -p ${autologinArg}
       UtmpIdentifier=%I
       TTYPath=/dev/%I
       TTYReset=yes
diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix
index d92ba72a8336..be54e9255c78 100644
--- a/nixos/modules/services/web-servers/tomcat.nix
+++ b/nixos/modules/services/web-servers/tomcat.nix
@@ -121,6 +121,11 @@ in
               type = types.str;
               description = "name of the virtualhost";
             };
+            aliases = mkOption {
+              type = types.listOf types.str;
+              description = "aliases of the virtualhost";
+              default = [];
+            };
             webapps = mkOption {
               type = types.listOf types.path;
               description = ''
@@ -220,10 +225,28 @@ in
 
         ${if cfg.serverXml != "" then ''
           cp -f ${pkgs.writeTextDir "server.xml" cfg.serverXml}/* ${cfg.baseDir}/conf/
-          '' else ''
-          # Create a modified server.xml which also includes all virtual hosts
-          sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\  ${toString (map (virtualHost: ''<Host name=\"${virtualHost.name}\" appBase=\"virtualhosts/${virtualHost.name}/webapps\" unpackWARs=\"true\" autoDeploy=\"true\" xmlValidation=\"false\" xmlNamespaceAware=\"false\" >${if cfg.logPerVirtualHost then ''<Valve className=\"org.apache.catalina.valves.AccessLogValve\" directory=\"logs/${virtualHost.name}\"  prefix=\"${virtualHost.name}_access_log.\" pattern=\"combined\" resolveHosts=\"false\"/>'' else ""}</Host>'') cfg.virtualHosts)}" \
-                ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
+        '' else
+          let
+            hostElementForVirtualHost = virtualHost: ''
+              <Host name="${virtualHost.name}" appBase="virtualhosts/${virtualHost.name}/webapps"
+                    unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
+            '' + concatStrings (innerElementsForVirtualHost virtualHost) + ''
+              </Host>
+            '';
+            innerElementsForVirtualHost = virtualHost:
+              (map (alias: ''
+                <Alias>${alias}</Alias>
+              '') virtualHost.aliases)
+              ++ (optional cfg.logPerVirtualHost ''
+                <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/${virtualHost.name}"
+                       prefix="${virtualHost.name}_access_log." pattern="combined" resolveHosts="false"/>
+              '');
+            hostElementsString = concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts;
+            hostElementsSedString = replaceStrings ["\n"] ["\\\n"] hostElementsString;
+          in ''
+            # Create a modified server.xml which also includes all virtual hosts
+            sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${escapeShellArg hostElementsSedString} \
+                  ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml
           ''
         }
         ${optionalString (cfg.logDirs != []) ''
diff --git a/nixos/modules/services/x11/compton.nix b/nixos/modules/services/x11/compton.nix
index 8641c05de52e..cafd8d88ec4d 100644
--- a/nixos/modules/services/x11/compton.nix
+++ b/nixos/modules/services/x11/compton.nix
@@ -238,6 +238,12 @@ in {
       description = "Compton composite manager";
       wantedBy = [ "graphical-session.target" ];
       partOf = [ "graphical-session.target" ];
+
+      # Temporarily fixes corrupt colours with Mesa 18
+      environment = mkIf (cfg.backend == "glx") {
+        allow_rgb10_configs = "false";
+      };
+
       serviceConfig = {
         ExecStart = "${cfg.package}/bin/compton --config ${configFile}";
         RestartSec = 3;
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 297e36311656..070a02473437 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -631,6 +631,8 @@ in
       ]
       ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh;
 
+    environment.pathsToLink = [ "/share/X11" ];
+
     xdg = { 
       autostart.enable = true;
       menus.enable = true;
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh
deleted file mode 100644
index 36bf15066274..000000000000
--- a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#! @bash@/bin/sh -e
-
-copyForced() {
-    local src="$1"
-    local dst="$2"
-    cp $src $dst.tmp
-    mv $dst.tmp $dst
-}
-
-# Call the extlinux builder
-"@extlinuxConfBuilder@" "$@"
-
-# Add the firmware files
-fwdir=@firmware@/share/raspberrypi/boot/
-copyForced $fwdir/bootcode.bin  /boot/bootcode.bin
-copyForced $fwdir/fixup.dat     /boot/fixup.dat
-copyForced $fwdir/fixup_cd.dat  /boot/fixup_cd.dat
-copyForced $fwdir/fixup_db.dat  /boot/fixup_db.dat
-copyForced $fwdir/fixup_x.dat   /boot/fixup_x.dat
-copyForced $fwdir/start.elf     /boot/start.elf
-copyForced $fwdir/start_cd.elf  /boot/start_cd.elf
-copyForced $fwdir/start_db.elf  /boot/start_db.elf
-copyForced $fwdir/start_x.elf   /boot/start_x.elf
-
-# Add the uboot file
-copyForced @uboot@/u-boot.bin /boot/u-boot-rpi.bin
-
-# Add the config.txt
-copyForced @configTxt@ /boot/config.txt
diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix
new file mode 100644
index 000000000000..7eb52e3d021f
--- /dev/null
+++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.nix
@@ -0,0 +1,10 @@
+{ pkgs, configTxt }:
+
+pkgs.substituteAll {
+  src = ./raspberrypi-builder.sh;
+  isExecutable = true;
+  inherit (pkgs) bash;
+  path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
+  firmware = pkgs.raspberrypifw;
+  inherit configTxt;
+}
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder.sh b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh
index 8adc8a6a7e11..0fb07de10c04 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/builder.sh
+++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi-builder.sh
@@ -5,15 +5,25 @@ shopt -s nullglob
 export PATH=/empty
 for i in @path@; do PATH=$PATH:$i/bin; done
 
-default=$1
-if test -z "$1"; then
-    echo "Syntax: builder.sh <DEFAULT-CONFIG>"
+usage() {
+    echo "usage: $0 -c <path-to-default-configuration> [-d <boot-dir>]" >&2
     exit 1
-fi
+}
+
+default=                # Default configuration
+target=/boot            # Target directory
+
+while getopts "c:d:" opt; do
+    case "$opt" in
+        c) default="$OPTARG" ;;
+        d) target="$OPTARG" ;;
+        \?) usage ;;
+    esac
+done
 
 echo "updating the boot generations directory..."
 
-mkdir -p /boot/old
+mkdir -p $target/old
 
 # Convert a path to a file in the Nix store such as
 # /nix/store/<hash>-<name>/file to <hash>-<name>-<file>.
@@ -22,12 +32,12 @@ cleanName() {
     echo "$path" | sed 's|^/nix/store/||' | sed 's|/|-|g'
 }
 
-# Copy a file from the Nix store to /boot/kernels.
+# Copy a file from the Nix store to $target/kernels.
 declare -A filesCopied
 
 copyToKernelsDir() {
     local src="$1"
-    local dst="/boot/old/$(cleanName $src)"
+    local dst="$target/old/$(cleanName $src)"
     # Don't copy the file if $dst already exists.  This means that we
     # have to create $dst atomically to prevent partially copied
     # kernels or initrd if this script is ever interrupted.
@@ -47,10 +57,10 @@ copyForced() {
     mv $dst.tmp $dst
 }
 
-outdir=/boot/old
+outdir=$target/old
 mkdir -p $outdir || true
 
-# Copy its kernel and initrd to /boot/kernels.
+# Copy its kernel and initrd to $target/old.
 addEntry() {
     local path="$1"
     local generation="$2"
@@ -74,25 +84,21 @@ addEntry() {
     echo $initrd > $outdir/$generation-initrd
     echo $kernel > $outdir/$generation-kernel
 
-    if test $(readlink -f "$path") = "$default"; then
-      if [ @version@ -eq 1 ]; then
-        copyForced $kernel /boot/kernel.img
-      else
-        copyForced $kernel /boot/kernel7.img
-      fi
-      copyForced $initrd /boot/initrd
-      for dtb in $dtb_path/bcm*.dtb; do
-        dst="/boot/$(basename $dtb)"
+    if test "$generation" = "default"; then
+      copyForced $kernel $target/kernel.img
+      copyForced $initrd $target/initrd
+      for dtb in $dtb_path/{broadcom,}/bcm*.dtb; do
+        dst="$target/$(basename $dtb)"
         copyForced $dtb "$dst"
         filesCopied[$dst]=1
       done
-      cp "$(readlink -f "$path/init")" /boot/nixos-init
-      echo "`cat $path/kernel-params` init=$path/init" >/boot/cmdline.txt
-
-      echo "$2" > /boot/defaultgeneration
+      cp "$(readlink -f "$path/init")" $target/nixos-init
+      echo "`cat $path/kernel-params` init=$path/init" >$target/cmdline.txt
     fi
 }
 
+addEntry $default default
+
 # Add all generations of the system profile to the menu, in reverse
 # (most recent to least recent) order.
 for generation in $(
@@ -105,21 +111,21 @@ done
 
 # Add the firmware files
 fwdir=@firmware@/share/raspberrypi/boot/
-copyForced $fwdir/bootcode.bin  /boot/bootcode.bin
-copyForced $fwdir/fixup.dat     /boot/fixup.dat
-copyForced $fwdir/fixup_cd.dat  /boot/fixup_cd.dat
-copyForced $fwdir/fixup_db.dat  /boot/fixup_db.dat
-copyForced $fwdir/fixup_x.dat   /boot/fixup_x.dat
-copyForced $fwdir/start.elf     /boot/start.elf
-copyForced $fwdir/start_cd.elf  /boot/start_cd.elf
-copyForced $fwdir/start_db.elf  /boot/start_db.elf
-copyForced $fwdir/start_x.elf   /boot/start_x.elf
+copyForced $fwdir/bootcode.bin  $target/bootcode.bin
+copyForced $fwdir/fixup.dat     $target/fixup.dat
+copyForced $fwdir/fixup_cd.dat  $target/fixup_cd.dat
+copyForced $fwdir/fixup_db.dat  $target/fixup_db.dat
+copyForced $fwdir/fixup_x.dat   $target/fixup_x.dat
+copyForced $fwdir/start.elf     $target/start.elf
+copyForced $fwdir/start_cd.elf  $target/start_cd.elf
+copyForced $fwdir/start_db.elf  $target/start_db.elf
+copyForced $fwdir/start_x.elf   $target/start_x.elf
 
 # Add the config.txt
-copyForced @configTxt@ /boot/config.txt
+copyForced @configTxt@ $target/config.txt
 
-# Remove obsolete files from /boot and /boot/old.
-for fn in /boot/old/*linux* /boot/old/*initrd-initrd* /boot/bcm*.dtb; do
+# Remove obsolete files from $target and $target/old.
+for fn in $target/old/*linux* $target/old/*initrd-initrd* $target/bcm*.dtb; do
     if ! test "${filesCopied[$fn]}" = 1; then
         rm -vf -- "$fn"
     fi
diff --git a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
index 9bec24c53f5b..7e089507ff20 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
+++ b/nixos/modules/system/boot/loader/raspberrypi/raspberrypi.nix
@@ -5,25 +5,16 @@ with lib;
 let
   cfg = config.boot.loader.raspberryPi;
 
-  builderGeneric = pkgs.substituteAll {
-    src = ./builder.sh;
-    isExecutable = true;
-    inherit (pkgs) bash;
-    path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
-    firmware = pkgs.raspberrypifw;
-    version = cfg.version;
-    inherit configTxt;
-  };
-
   inherit (pkgs.stdenv.hostPlatform) platform;
 
-  builderUboot = import ./builder_uboot.nix { inherit config; inherit pkgs; inherit configTxt; };
+  builderUboot = import ./uboot-builder.nix { inherit pkgs configTxt; inherit (cfg) version; };
+  builderGeneric = import ./raspberrypi-builder.nix { inherit pkgs configTxt; };
 
   builder = 
     if cfg.uboot.enable then
       "${builderUboot} -g ${toString cfg.uboot.configurationLimit} -t ${timeoutStr} -c"
     else
-      builderGeneric;
+      "${builderGeneric} -c";
 
   blCfg = config.boot.loader;
   timeoutStr = if blCfg.timeout == null then "-1" else toString blCfg.timeout;
@@ -43,9 +34,12 @@ let
     '' + optional isAarch64 ''
       # Boot in 64-bit mode.
       arm_control=0x200
-    '' + optional cfg.uboot.enable ''
+    '' + (if cfg.uboot.enable then ''
       kernel=u-boot-rpi.bin
-    '' + optional (cfg.firmwareConfig != null) cfg.firmwareConfig);
+    '' else ''
+      kernel=kernel.img
+      initramfs initrd followkernel
+    '') + optional (cfg.firmwareConfig != null) cfg.firmwareConfig);
 
 in
 
@@ -65,7 +59,7 @@ in
 
       version = mkOption {
         default = 2;
-        type = types.enum [ 1 2 3 ];
+        type = types.enum [ 0 1 2 3 ];
         description = ''
         '';
       };
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
index 47f25a9c2b1b..e929c33c6ee3 100644
--- a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix
+++ b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.nix
@@ -1,13 +1,14 @@
-{ config, pkgs, configTxt }:
+{ pkgs, version, configTxt }:
 
 let
-  cfg = config.boot.loader.raspberryPi;
   isAarch64 = pkgs.stdenv.isAarch64;
 
   uboot =
-    if cfg.version == 1 then
+    if version == 0 then
+      pkgs.ubootRaspberryPiZero
+    else if version == 1 then
       pkgs.ubootRaspberryPi
-    else if cfg.version == 2 then
+    else if version == 2 then
       pkgs.ubootRaspberryPi2
     else
       if isAarch64 then
@@ -21,7 +22,7 @@ let
     };
 in
 pkgs.substituteAll {
-  src = ./builder_uboot.sh;
+  src = ./uboot-builder.sh;
   isExecutable = true;
   inherit (pkgs) bash;
   path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
@@ -29,6 +30,6 @@ pkgs.substituteAll {
   inherit uboot;
   inherit configTxt;
   inherit extlinuxConfBuilder;
-  version = cfg.version;
+  inherit version;
 }
 
diff --git a/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.sh b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.sh
new file mode 100644
index 000000000000..ea591427179f
--- /dev/null
+++ b/nixos/modules/system/boot/loader/raspberrypi/uboot-builder.sh
@@ -0,0 +1,38 @@
+#! @bash@/bin/sh -e
+
+target=/boot # Target directory
+
+while getopts "t:c:d:g:" opt; do
+    case "$opt" in
+        d) target="$OPTARG" ;;
+        *) ;;
+    esac
+done
+
+copyForced() {
+    local src="$1"
+    local dst="$2"
+    cp $src $dst.tmp
+    mv $dst.tmp $dst
+}
+
+# Call the extlinux builder
+"@extlinuxConfBuilder@" "$@"
+
+# Add the firmware files
+fwdir=@firmware@/share/raspberrypi/boot/
+copyForced $fwdir/bootcode.bin  $target/bootcode.bin
+copyForced $fwdir/fixup.dat     $target/fixup.dat
+copyForced $fwdir/fixup_cd.dat  $target/fixup_cd.dat
+copyForced $fwdir/fixup_db.dat  $target/fixup_db.dat
+copyForced $fwdir/fixup_x.dat   $target/fixup_x.dat
+copyForced $fwdir/start.elf     $target/start.elf
+copyForced $fwdir/start_cd.elf  $target/start_cd.elf
+copyForced $fwdir/start_db.elf  $target/start_db.elf
+copyForced $fwdir/start_x.elf   $target/start_x.elf
+
+# Add the uboot file
+copyForced @uboot@/u-boot.bin $target/u-boot-rpi.bin
+
+# Add the config.txt
+copyForced @configTxt@ $target/config.txt
diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix
index 83fef8354360..f4fa09694537 100644
--- a/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixos/modules/system/boot/systemd-nspawn.nix
@@ -112,9 +112,6 @@ in {
 
       environment.etc."systemd/nspawn".source = generateUnits "nspawn" units [] [];
 
-      systemd.services."systemd-nspawn@" = {
-        wantedBy = [ "machine.target" ];
-      };
   };
 
 }
diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix
index 2b3b09d725c7..8f8c9e23e13e 100644
--- a/nixos/modules/tasks/filesystems/zfs.nix
+++ b/nixos/modules/tasks/filesystems/zfs.nix
@@ -74,7 +74,7 @@ let
   importLib = {zpoolCmd, awkCmd, cfgZfs}: ''
     poolReady() {
       pool="$1"
-      state="$("${zpoolCmd}" import | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
+      state="$("${zpoolCmd}" import 2>/dev/null | "${awkCmd}" "/pool: $pool/ { found = 1 }; /state:/ { if (found == 1) { print \$2; exit } }; END { if (found == 0) { print \"MISSING\" } }")"
       if [[ "$state" = "ONLINE" ]]; then
         return 0
       else
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index e9e935e90202..c92570582f20 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -145,8 +145,12 @@ let cfg = config.ec2; in
     environment.systemPackages = [ pkgs.cryptsetup ];
 
     boot.initrd.supportedFilesystems = [ "unionfs-fuse" ];
-    
+
     # EC2 has its own NTP server provided by the hypervisor
     networking.timeServers = [ "169.254.169.123" ];
+
+    # udisks has become too bloated to have in a headless system
+    # (e.g. it depends on GTK+).
+    services.udisks2.enable = false;
   };
 }
diff --git a/nixos/modules/virtualisation/containers.nix b/nixos/modules/virtualisation/containers.nix
index b91165ce3b82..8fe59badd335 100644
--- a/nixos/modules/virtualisation/containers.nix
+++ b/nixos/modules/virtualisation/containers.nix
@@ -130,6 +130,7 @@ let
         --bind-ro=/nix/var/nix/daemon-socket \
         --bind="/nix/var/nix/profiles/per-container/$INSTANCE:/nix/var/nix/profiles" \
         --bind="/nix/var/nix/gcroots/per-container/$INSTANCE:/nix/var/nix/gcroots" \
+        --link-journal=try-guest \
         --setenv PRIVATE_NETWORK="$PRIVATE_NETWORK" \
         --setenv HOST_BRIDGE="$HOST_BRIDGE" \
         --setenv HOST_ADDRESS="$HOST_ADDRESS" \
diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix
index 76facac39fc6..aaea06bb9a63 100644
--- a/nixos/modules/virtualisation/ec2-amis.nix
+++ b/nixos/modules/virtualisation/ec2-amis.nix
@@ -257,5 +257,22 @@ let self = {
   "18.03".sa-east-1.hvm-ebs = "ami-163e1f7a";
   "18.03".ap-south-1.hvm-ebs = "ami-6a390b05";
 
-  latest = self."18.03";
+  # 18.09.910.c15e342304a
+  "18.09".eu-west-1.hvm-ebs = "ami-0f412186fb8a0ec97";
+  "18.09".eu-west-2.hvm-ebs = "ami-0dada3805ce43c55e";
+  "18.09".eu-west-3.hvm-ebs = "ami-074df85565f2e02e2";
+  "18.09".eu-central-1.hvm-ebs = "ami-07c9b884e679df4f8";
+  "18.09".us-east-1.hvm-ebs = "ami-009c9c3f1af480ff3";
+  "18.09".us-east-2.hvm-ebs = "ami-08199961085ea8bc6";
+  "18.09".us-west-1.hvm-ebs = "ami-07aa7f56d612ddd38";
+  "18.09".us-west-2.hvm-ebs = "ami-01c84b7c368ac24d1";
+  "18.09".ca-central-1.hvm-ebs = "ami-04f66113f76198f6c";
+  "18.09".ap-southeast-1.hvm-ebs = "ami-0892c7e24ebf2194f";
+  "18.09".ap-southeast-2.hvm-ebs = "ami-010730f36424b0a2c";
+  "18.09".ap-northeast-1.hvm-ebs = "ami-0cdba8e998f076547";
+  "18.09".ap-northeast-2.hvm-ebs = "ami-0400a698e6a9f4a15";
+  "18.09".sa-east-1.hvm-ebs = "ami-0e4a8a47fd6db6112";
+  "18.09".ap-south-1.hvm-ebs = "ami-0880a678d3f555313";
+
+  latest = self."18.09";
 }; in self
diff --git a/nixos/modules/virtualisation/kvmgt.nix b/nixos/modules/virtualisation/kvmgt.nix
index fc0bedb68bd0..132815a0ad63 100644
--- a/nixos/modules/virtualisation/kvmgt.nix
+++ b/nixos/modules/virtualisation/kvmgt.nix
@@ -50,11 +50,17 @@ in {
       nameValuePair "kvmgt-${name}" {
         description = "KVMGT VGPU ${name}";
         serviceConfig = {
-          Type = "oneshot";
+          Type = "forking";
           RemainAfterExit = true;
+          Restart = "on-failure";
+          RestartSec = 5;
           ExecStart = "${pkgs.runtimeShell} -c 'echo ${value.uuid} > /sys/bus/pci/devices/${cfg.device}/mdev_supported_types/${name}/create'";
           ExecStop = "${pkgs.runtimeShell} -c 'echo 1 > /sys/bus/pci/devices/${cfg.device}/${value.uuid}/remove'";
         };
+        unitConfig = {
+          StartLimitBurst = 5;
+          StartLimitIntervalSec = 30;
+        };
         wantedBy = [ "multi-user.target" ];
       }
     ) cfg.vgpus;
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 2f2c06dcb7d6..5d1e004c5dd1 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -243,6 +243,25 @@ let
       '';
     };
 
+    tor = {
+      exporterConfig = {
+        enable = true;
+      };
+      metricProvider = {
+        # Note: this does not connect the test environment to the Tor network.
+        # Client, relay, bridge or exit connectivity are disabled by default.
+        services.tor.enable = true;
+        services.tor.controlPort = 9051;
+      };
+      exporterTest = ''
+        waitForUnit("tor.service");
+        waitForOpenPort(9051);
+        waitForUnit("prometheus-tor-exporter.service");
+        waitForOpenPort(9130);
+        succeed("curl -sSf localhost:9130/metrics | grep -q 'tor_version{.\\+} 1'");
+      '';
+    };
+
     varnish = {
       exporterConfig = {
         enable = true;
diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/altcoins/bitcoin-abc.nix
index 6d2cbcdf9f9b..3b65b06d8db8 100644
--- a/pkgs/applications/altcoins/bitcoin-abc.nix
+++ b/pkgs/applications/altcoins/bitcoin-abc.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db48, boost
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, openssl, db53, boost
 , zlib, miniupnpc, qtbase ? null , qttools ? null, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
@@ -7,19 +7,19 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.17.1";
+  version = "0.18.2";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1kq9n3s9vhkmfaizsyi2cb91ibi06gb6wx0hkcb9hg3nrrvcka3y";
+    sha256 = "1ha219xnd61qicf7r3j0wbfrifh7blwp3lyk3ycgdn381q1qln29";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib
+  buildInputs = [ openssl db53 boost zlib
                   miniupnpc utillinux protobuf libevent ]
                   ++ optionals withGui [ qtbase qttools qrencode ];
 
diff --git a/pkgs/applications/altcoins/monero-gui/default.nix b/pkgs/applications/altcoins/monero-gui/default.nix
index 49b8db51bcc8..46e317a3b12a 100644
--- a/pkgs/applications/altcoins/monero-gui/default.nix
+++ b/pkgs/applications/altcoins/monero-gui/default.nix
@@ -5,20 +5,20 @@
 , qtlocation, qtquickcontrols2, qtwebchannel
 , qtwebengine, qtx11extras, qtxmlpatterns
 , monero, unbound, readline, boost, libunwind
-, pcsclite, zeromq, cppzmq, pkgconfig
+, libsodium, pcsclite, zeromq, cppzmq, pkgconfig
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "monero-gui-${version}";
-  version = "0.12.3.0";
+  version = "0.13.0.3";
 
   src = fetchFromGitHub {
     owner  = "monero-project";
     repo   = "monero-gui";
     rev    = "v${version}";
-    sha256 = "1ry0455cgirkc6n46qnlv5p49axjllil78xmx6469nbp3a2r3z7i";
+    sha256 = "1rvxwz7p1yw9c817n07m60xvmv2p97s82sfzwkg2x880fpxb0gj9";
   };
 
   nativeBuildInputs = [ qmake pkgconfig ];
@@ -28,8 +28,8 @@ stdenv.mkDerivation rec {
     qtdeclarative qtlocation qtquickcontrols2
     qtwebchannel qtwebengine qtx11extras
     qtxmlpatterns monero unbound readline
-    boost libunwind pcsclite zeromq cppzmq
-    makeWrapper
+    boost libunwind libsodium pcsclite zeromq
+    cppzmq makeWrapper
   ];
 
   patches = [
diff --git a/pkgs/applications/altcoins/monero/default.nix b/pkgs/applications/altcoins/monero/default.nix
index a4a884707a98..e344f4d94bab 100644
--- a/pkgs/applications/altcoins/monero/default.nix
+++ b/pkgs/applications/altcoins/monero/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchgit
 , cmake, pkgconfig, git
 , boost, miniupnpc, openssl, unbound, cppzmq
-, zeromq, pcsclite, readline
+, zeromq, pcsclite, readline, libsodium
 , CoreData, IOKit, PCSC
 }:
 
@@ -11,12 +11,12 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name    = "monero-${version}";
-  version = "0.12.3.0";
+  version = "0.13.0.3";
 
   src = fetchgit {
     url    = "https://github.com/monero-project/monero.git";
     rev    = "v${version}";
-    sha256 = "1609k1qn9xx37a92ai36rajds9cmdjlkqyka95hks5xjr3l5ca8i";
+    sha256 = "03qx8y74zxnmabdi5r3a274pp8zvm3xhkdwi1xf5sb40vf4sfmwb";
   };
 
   nativeBuildInputs = [ cmake pkgconfig git ];
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     boost miniupnpc openssl unbound
     cppzmq zeromq pcsclite readline
+    libsodium
   ] ++ optionals stdenv.isDarwin [ IOKit CoreData PCSC ];
 
   cmakeFlags = [
diff --git a/pkgs/applications/altcoins/parity/beta.nix b/pkgs/applications/altcoins/parity/beta.nix
index fc772246cfc1..b2c9fdfd1eeb 100644
--- a/pkgs/applications/altcoins/parity/beta.nix
+++ b/pkgs/applications/altcoins/parity/beta.nix
@@ -1,7 +1,9 @@
 let
-  version     = "2.0.3";
-  sha256      = "1yf3ln4ksk8613kqkpsh16cj8xwx761q6czy57rs8kfh7pgc2pzb";
-  cargoSha256 = "1jayk4ngwbg0rv7x1slkl2z46czgy2hnfcxc0dhaz4xpbp2bjqq8";
-  patches     = [ ./patches/vendored-sources-2.0.patch ];
+  version     = "2.1.3";
+  sha256      = "0il18r229r32jzwsjksp8cc63rp6cf6c0j5dvbfzrnv1zndw0cg3";
+  cargoSha256 = "08dyb0lgf66zfq9xmfkhcn6rj070d49dm0rjl3v39sfag6sryz20";
+  patches     = [
+    ./patches/vendored-sources-2.1.patch
+  ];
 in
   import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/default.nix b/pkgs/applications/altcoins/parity/default.nix
index 234364e73364..b0286bf65837 100644
--- a/pkgs/applications/altcoins/parity/default.nix
+++ b/pkgs/applications/altcoins/parity/default.nix
@@ -1,7 +1,7 @@
 let
-  version     = "1.11.10";
-  sha256      = "15sk6dvc8h1bdm6v7xlq517km0bakb9f13h1n7ixj311vahnmk15";
-  cargoSha256 = "0p2idd36cyzp2ax81k533bdma4hz0ws2981qj2s7jnhvmj4941l8";
-  patches     = [ ./patches/vendored-sources-1.11.patch ];
+  version     = "2.0.8";
+  sha256      = "1bz6dvx8wxhs3g447s62d9091sard2x7w2zd6iy7hf76wg0p73hr";
+  cargoSha256 = "0wj93md87fr7a9ag73h0rd9xxqscl0lhbj3g3kvnqrqz9xxajing";
+  patches     = [ ./patches/vendored-sources-2.0.patch ];
 in
   import ./parity.nix { inherit version sha256 cargoSha256 patches; }
diff --git a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch b/pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch
index 733f6880ad9d..4af536cdf3cf 100644
--- a/pkgs/applications/altcoins/parity/patches/vendored-sources-1.11.patch
+++ b/pkgs/applications/altcoins/parity/patches/vendored-sources-2.1.patch
@@ -1,8 +1,8 @@
 diff --git a/.cargo/config b/.cargo/config
-index 72652ad2f..57c5c2f8f 100644
+index 72652ad2f..3c0eca89a 100644
 --- a/.cargo/config
 +++ b/.cargo/config
-@@ -1,3 +1,108 @@
+@@ -1,3 +1,78 @@
  [target.x86_64-pc-windows-msvc]
  # Link the C runtime statically ; https://github.com/paritytech/parity/issues/6643
  rustflags = ["-Ctarget-feature=+crt-static"]
@@ -12,19 +12,9 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"]
-+git = "https://github.com/js-dist-paritytech/parity-master-1-10-shell.git"
-+rev = "bd25b41cd642c6b822d820dded3aa601a29aa079"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"]
-+git = "https://github.com/js-dist-paritytech/parity-master-1-10-wallet.git"
-+rev = "4b6f112412716cd05123d32eeb7fda448288a6c6"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/nikvolf/parity-tokio-ipc"]
 +git = "https://github.com/nikvolf/parity-tokio-ipc"
-+branch = "master"
++rev = "7c9bbe3bc45d8e72a92b0951acc877da228abd50"
 +replace-with = "vendored-sources"
 +
 +[source."https://github.com/nikvolf/tokio-named-pipes"]
@@ -32,16 +22,6 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/parity-js/dapp-wallet.git"]
-+git = "https://github.com/parity-js/dapp-wallet.git"
-+rev = "65deb02e7c007a0fd8aab0c089c93e3fd1de6f87"
-+replace-with = "vendored-sources"
-+
-+[source."https://github.com/parity-js/shell.git"]
-+git = "https://github.com/parity-js/shell.git"
-+rev = "eecaadcb9e421bce31e91680d14a20bbd38f92a2"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/app-dirs-rs"]
 +git = "https://github.com/paritytech/app-dirs-rs"
 +branch = "master"
@@ -87,21 +67,11 @@ index 72652ad2f..57c5c2f8f 100644
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/paritytech/rust-rocksdb"]
-+git = "https://github.com/paritytech/rust-rocksdb"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/rust-secp256k1"]
 +git = "https://github.com/paritytech/rust-secp256k1"
 +branch = "master"
 +replace-with = "vendored-sources"
 +
-+[source."https://github.com/paritytech/rust-snappy"]
-+git = "https://github.com/paritytech/rust-snappy"
-+branch = "master"
-+replace-with = "vendored-sources"
-+
 +[source."https://github.com/paritytech/trezor-sys"]
 +git = "https://github.com/paritytech/trezor-sys"
 +branch = "master"
diff --git a/pkgs/applications/audio/axoloti/default.nix b/pkgs/applications/audio/axoloti/default.nix
index 986e476779cb..274233167bd8 100644
--- a/pkgs/applications/audio/axoloti/default.nix
+++ b/pkgs/applications/audio/axoloti/default.nix
@@ -2,14 +2,14 @@
 , gnumake, gcc-arm-embedded, dfu-util-axoloti, jdk, ant, libfaketime }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.12-1";
+  version = "1.0.12-2";
   name = "axoloti-${version}";
 
   src = fetchFromGitHub {
     owner = "axoloti";
     repo = "axoloti";
     rev = "${version}";
-    sha256 = "13njmv8zac0kaaxgkv4y4zfjcclafn9cw0m8lj2k4926wnwjmf50";
+    sha256 = "1qffis277wshldr3i939b0r2x3a2mlr53samxqmr2nk1sfm2b4w9";
   };
 
   chibi_version = "2.6.9";
@@ -96,6 +96,6 @@ stdenv.mkDerivation rec {
       <literal>SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="0442", OWNER="someuser", GROUP="somegroup"</literal>
     '';
     license = licenses.gpl3;
-    maintainers = with maintainers; [ TealG ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/applications/audio/bs1770gain/default.nix b/pkgs/applications/audio/bs1770gain/default.nix
index 2401a6101566..edf7a313ff5f 100644
--- a/pkgs/applications/audio/bs1770gain/default.nix
+++ b/pkgs/applications/audio/bs1770gain/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bs1770gain-${version}";
-  version = "0.4.12";
+  version = "0.5.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/bs1770gain/${name}.tar.gz";
-    sha256 = "0n9skdap1vnl6w52fx0gsrjlk7w3xgdwi62ycyf96h29rx059z6a";
+    sha256 = "0vd7320k7s2zcn2vganclxbr1vav18ghld27rcwskvcc3dm8prii";
   };
 
   buildInputs = [ ffmpeg sox ];
diff --git a/pkgs/applications/audio/clementine/default.nix b/pkgs/applications/audio/clementine/default.nix
index 611828753e46..a28125d24d4f 100644
--- a/pkgs/applications/audio/clementine/default.nix
+++ b/pkgs/applications/audio/clementine/default.nix
@@ -69,7 +69,8 @@ let
     name = "clementine-free-${version}";
     inherit src patches nativeBuildInputs postPatch;
 
-    buildInputs = buildInputs ++ [ makeWrapper ];
+    # gst_plugins needed for setup-hooks
+    buildInputs = buildInputs ++ [ makeWrapper gst_plugins ];
 
     cmakeFlags = [ "-DUSE_SYSTEM_PROJECTM=ON" ];
 
@@ -101,7 +102,7 @@ let
       ./clementine-spotify-blob.patch
     ];
 
-    buildInputs = buildInputs ++ [ libspotify makeWrapper gst_plugins ];
+    buildInputs = buildInputs ++ [ libspotify makeWrapper ];
     # Only build and install the Spotify blob
     preBuild = ''
       cd ext/clementine-spotifyblob
diff --git a/pkgs/applications/audio/fluidsynth/default.nix b/pkgs/applications/audio/fluidsynth/default.nix
index 27ca539850e2..b3b838c5d470 100644
--- a/pkgs/applications/audio/fluidsynth/default.nix
+++ b/pkgs/applications/audio/fluidsynth/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation  rec {
   name = "fluidsynth-${version}";
-  version = "1.1.10";
+  version = "1.1.11";
 
   src = fetchFromGitHub {
     owner = "FluidSynth";
     repo = "fluidsynth";
     rev = "v${version}";
-    sha256 = "04jlgq1d1hd8r9cnmkl3lgf1fgm7kgy4hh9nfddap41fm1wp121p";
+    sha256 = "0n75jq3xgq46hfmjkaaxz3gic77shs4fzajq40c8gk043i84xbdh";
   };
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/applications/audio/gtkpod/default.nix b/pkgs/applications/audio/gtkpod/default.nix
index 6546fd7866ea..4bcddab54a08 100644
--- a/pkgs/applications/audio/gtkpod/default.nix
+++ b/pkgs/applications/audio/gtkpod/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, intltool, libgpod, curl, flac,
-  gnome3, gtk3, gettext, perl, perlXMLParser, flex, libid3tag,
+  gnome3, gtk3, gettext, perlPackages, flex, libid3tag,
   libvorbis, gdk_pixbuf }:
 
 stdenv.mkDerivation rec {
@@ -13,10 +13,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook intltool ];
   buildInputs = [
-    curl gettext perl perlXMLParser
+    curl gettext
     flex libgpod libid3tag flac libvorbis gtk3 gdk_pixbuf
     gnome3.gdl gnome3.defaultIconTheme gnome3.anjuta
-  ];
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   patchPhase = ''
     sed -i 's/which/type -P/' scripts/*.sh
diff --git a/pkgs/applications/audio/jamin/default.nix b/pkgs/applications/audio/jamin/default.nix
index 77946fc41ccc..eea9de5a1597 100644
--- a/pkgs/applications/audio/jamin/default.nix
+++ b/pkgs/applications/audio/jamin/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fftwFloat, gtk2, ladspaPlugins, libjack2, liblo, libxml2
-, makeWrapper, pkgconfig, perl, perlXMLParser
+, makeWrapper, pkgconfig, perlPackages
 }:
 
 stdenv.mkDerivation {
@@ -11,11 +11,9 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 perl
-    perlXMLParser makeWrapper
-  ];
-  
+  buildInputs = [ fftwFloat gtk2 ladspaPlugins libjack2 liblo libxml2 makeWrapper ]
+    ++ (with perlPackages; [ perl XMLParser ]);
+
   postInstall = ''
     wrapProgram $out/bin/jamin --set LADSPA_PATH ${ladspaPlugins}/lib/ladspa
   '';
diff --git a/pkgs/applications/audio/lollypop/default.nix b/pkgs/applications/audio/lollypop/default.nix
index ec9122406993..e999672f4ab3 100644
--- a/pkgs/applications/audio/lollypop/default.nix
+++ b/pkgs/applications/audio/lollypop/default.nix
@@ -4,7 +4,7 @@
 , gobjectIntrospection, wrapGAppsHook }:
 
 python3.pkgs.buildPythonApplication rec  {
-  version = "0.9.604";
+  version = "0.9.605";
   name = "lollypop-${version}";
 
   format = "other";
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec  {
     url = "https://gitlab.gnome.org/World/lollypop";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0pfljs5q0xzqll6dybslin4nr7w18bn1yi0xn79vh44zn3l0r8q4";
+    sha256 = "10d9k7ssh4snrrjy1hb3y39by6175493cmn50aq88xby2mdy3p74";
   };
 
   nativeBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index 28e29850606a..a5582f908fc0 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -1,6 +1,7 @@
 { stdenv, fetchFromGitHub, makeWrapper, chromaprint, fetchpatch
 , fftw, flac, faad2, glibcLocales, mp4v2
 , libid3tag, libmad, libopus, libshout, libsndfile, libusb1, libvorbis
+, opusfile
 , pkgconfig, portaudio, portmidi, protobuf, qt4, rubberband, scons, sqlite
 , taglib, upower, vampSDK
 }:
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     chromaprint fftw flac faad2 glibcLocales mp4v2 libid3tag libmad libopus libshout libsndfile
-    libusb1 libvorbis pkgconfig portaudio portmidi protobuf qt4
+    libusb1 libvorbis opusfile pkgconfig portaudio portmidi protobuf qt4
     rubberband scons sqlite taglib upower vampSDK
   ];
 
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
     "build=release"
     "qtdir=${qt4}"
     "faad=1"
+    "opus=1"
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/audio/mopidy/iris.nix b/pkgs/applications/audio/mopidy/iris.nix
index be44112d82a8..546a47118a03 100644
--- a/pkgs/applications/audio/mopidy/iris.nix
+++ b/pkgs/applications/audio/mopidy/iris.nix
@@ -2,11 +2,11 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "Mopidy-Iris";
-  version = "3.26.2";
+  version = "3.27.1";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "04jg5k8znkn0iirfnsndm74f8mypj8zwj76j489l0m263k1kn715";
+    sha256 = "00qlvfwfn7kybrx6rlj5h862syw3d5yak4sjqpxvacp7i5n1arsk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
index e3d07fcc2457..b377db65c0c9 100644
--- a/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/default.nix
@@ -1,14 +1,16 @@
 { stdenv
 , runCommand
 , fetchFromGitHub
-, libpulseaudio
 , pulseaudio
 , pkgconfig
+, ffmpeg_4
+, patchelf
 , libtool
 , cmake
 , bluez
 , dbus
 , sbc
+, lib
 }:
 
 let
@@ -20,37 +22,52 @@ let
 
 in stdenv.mkDerivation rec {
   name = "pulseaudio-modules-bt-${version}";
-  version = "unstable-2018-09-11";
+  version = "unstable-2018-10-16";
 
   src = fetchFromGitHub {
     owner = "EHfive";
     repo = "pulseaudio-modules-bt";
-    rev = "9c6ad75382f3855916ad2feaa6b40e37356d80cc";
-    sha256 = "1iz4m3y6arsvwcyvqc429w252dl3apnhvl1zhyvfxlbg00d2ii0h";
+    rev = "552c2b48c0cc7dd44d0746b261f7c7d5559e8e30";
+    sha256 = "052jb1hjx1in7bafx4zpn78s7r6f2y7djriwi36dzqy9wmalmyjy";
     fetchSubmodules = true;
   };
 
+  patches = [
+    ./fix-install-path.patch
+  ];
+
   nativeBuildInputs = [
     pkgconfig
+    patchelf
     cmake
   ];
 
   buildInputs = [
-    libpulseaudio
     pulseaudio
+    ffmpeg_4
     libtool
     bluez
     dbus
     sbc
   ];
 
-  NIX_CFLAGS_COMPILE = [
-    "-L${pulseaudio}/lib/pulseaudio"
-  ];
-
-  prePatch = ''
+  postPatch = ''
+    # Upstream bundles pulseaudio as a submodule
     rm -r pa
     ln -s ${pulseSources} pa
+
+    # Pulseaudio version is detected with a -rebootstrapped suffix which build system assumptions
+    substituteInPlace config.h.in --replace PulseAudio_VERSION ${pulseaudio.version}
+    substituteInPlace CMakeLists.txt --replace '${"\${PulseAudio_VERSION}"}' ${pulseaudio.version}
+  '';
+
+  postFixup = ''
+    for so in $out/lib/pulse-${pulseaudio.version}/modules/*.so; do
+      orig_rpath=$(patchelf --print-rpath "$so")
+      patchelf \
+        --set-rpath "${lib.getLib ffmpeg_4}/lib:$out/lib/pulse-${pulseaudio.version}/modules:$orig_rpath" \
+        "$so"
+    done
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
new file mode 100644
index 000000000000..2b4ff86ab71b
--- /dev/null
+++ b/pkgs/applications/audio/pulseaudio-modules-bt/fix-install-path.patch
@@ -0,0 +1,11 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0f5baa0..1f35cce 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -122,5 +121,4 @@ INSTALL(TARGETS
+         module-bluez5-device
+         module-bluetooth-discover
+         module-bluetooth-policy
+-        LIBRARY DESTINATION ${PulseAudio_modlibexecdir})
+-
++        LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/pulse-${PulseAudio_VERSION}/modules/)
diff --git a/pkgs/applications/audio/radiotray-ng/default.nix b/pkgs/applications/audio/radiotray-ng/default.nix
index 82bc42143c67..6f7ce9048c4c 100644
--- a/pkgs/applications/audio/radiotray-ng/default.nix
+++ b/pkgs/applications/audio/radiotray-ng/default.nix
@@ -40,13 +40,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "radiotray-ng-${version}";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "ebruck";
     repo = "radiotray-ng";
     rev = "v${version}";
-    sha256 = "1sq7bc0dswv3vv56w527z268ib0pyhdxyf25388vnj1fv0c146wc";
+    sha256 = "1jk80fv8ivwdx7waivls0mczn0rx4wv0fy7a28k77m88i5gkfgyw";
   };
 
   nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook makeWrapper ];
diff --git a/pkgs/applications/audio/sonic-pi/default.nix b/pkgs/applications/audio/sonic-pi/default.nix
index d1c48ce44ed8..ee72b6cdb1a4 100644
--- a/pkgs/applications/audio/sonic-pi/default.nix
+++ b/pkgs/applications/audio/sonic-pi/default.nix
@@ -20,14 +20,14 @@ let
   };
 
 in stdenv.mkDerivation rec {
-  version = "3.0.1";
+  version = "3.1.0";
   name = "sonic-pi-${version}";
 
   src = fetchFromGitHub {
     owner = "samaaron";
     repo = "sonic-pi";
     rev = "v${version}";
-    sha256 = "1l1892hijp1dj2h799sfjr699q6xp660n0siibab5kv238521a81";
+    sha256 = "0gi4a73szaa8iz5q1gxgpsnyvhhghcfqm6bfwwxbix4m5csbfgh9";
   };
 
   buildInputs = [
@@ -58,21 +58,21 @@ in stdenv.mkDerivation rec {
     export SONIC_PI_HOME=$TMPDIR
     export AUBIO_LIB=${aubio}/lib/libaubio.so
 
-    pushd app/server/bin
+    pushd app/server/ruby/bin
       ./compile-extensions.rb
       ./i18n-tool.rb -t
     popd
 
     pushd app/gui/qt
       cp -f ruby_help.tmpl ruby_help.h
-      ../../server/bin/qt-doc.rb -o ruby_help.h
+      ../../server/ruby/bin/qt-doc.rb -o ruby_help.h
 
       substituteInPlace SonicPi.pro \
         --replace "LIBS += -lrt -lqt5scintilla2" \
                   "LIBS += -lrt -lqscintilla2 -lqwt"
 
       lrelease SonicPi.pro
-      qmake SonicPi.pro 
+      qmake SonicPi.pro
 
       make
     popd
diff --git a/pkgs/applications/audio/spectmorph/default.nix b/pkgs/applications/audio/spectmorph/default.nix
new file mode 100644
index 000000000000..9557770418e8
--- /dev/null
+++ b/pkgs/applications/audio/spectmorph/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, libjack2, lv2, glib, qt5, libao, cairo, libsndfile, fftwFloat }:
+
+stdenv.mkDerivation rec {
+  name = "spectmorph-${version}";
+  version = "0.4.1";
+  src = fetchurl {
+    url = "http://spectmorph.org/files/releases/${name}.tar.bz2";
+    sha256 = "0z00yvv3jl8qsx6bz9msmg09mdnj5r5d4ws5bmnylwxk182whbrv";
+  };
+
+  buildInputs = [  libjack2 lv2 glib qt5.qtbase libao cairo libsndfile fftwFloat ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to analyze samples of musical instruments, and to combine them (morphing) to construct hybrid sounds";
+    homepage = http://spectmorph.org;
+    license = licenses.gpl3;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.magnetophon ];
+  };
+}
diff --git a/pkgs/applications/audio/spotify/update.sh b/pkgs/applications/audio/spotify/update.sh
index 114245f6d46c..0e19ca1920b4 100755
--- a/pkgs/applications/audio/spotify/update.sh
+++ b/pkgs/applications/audio/spotify/update.sh
@@ -1,8 +1,31 @@
-channel="stable" # stable/candidate/edge
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p curl jq git gnused gnugrep
+
+
+# executing this script without arguments will
+# - find the newest stable spotify version avaiable on snapcraft (https://snapcraft.io/spotify)
+# - read the current spotify version from the current nix expression
+# - update the nix expression if the versions differ
+# - try to build the updated version, exit if that fails
+# - give instructions for upstreaming
+
+# Please test the update manually before pushing. There have been errors before
+# and because the service is proprietary and a paid account is necessary to do
+# anything with spotify automatic testing is not possible.
+
+# As an optional argument you can specify the snapcraft channel to update to.
+# Default is `stable` and only stable updates should be pushed to nixpkgs. For
+# testing you may specify `candidate` or `edge`.
+
+
+channel="${1:-stable}" # stable/candidate/edge
 nixpkgs="$(git rev-parse --show-toplevel)"
 spotify_nix="$nixpkgs/pkgs/applications/audio/spotify/default.nix"
 
 
+#
+# find the newest stable spotify version avaiable on snapcraft
+#
 
 # create bash array from snap info
 snap_info=($(
@@ -12,38 +35,62 @@ snap_info=($(
 		'.revision,.download_sha512,.version,.last_updated'
 ))
 
+# "revision" is the actual version identifier on snapcraft, the "version" is
+# just for human consumption. Revision is just an integer that gets increased
+# by one every (stable or unstable) release.
 revision="${snap_info[0]}"
 sha512="${snap_info[1]}"
-version="${snap_info[2]}"
+upstream_version="${snap_info[2]}"
 last_updated="${snap_info[3]}"
 
-# find the last commited version
-version_pre=$(
-	git  grep 'version\s*=' HEAD "$spotify_nix" \
+echo "Latest $channel release is $upstream_version from $last_updated."
+
+#
+# read the current spotify version from the currently *committed* nix expression
+#
+
+current_nix_version=$(
+	grep 'version\s*=' "$spotify_nix" \
 	| sed -Ene 's/.*"(.*)".*/\1/p'
 )
 
-if [[ "$version_pre" = "$version" ]]; then
+echo "Current nix version: $current_nix_version"
+
+#
+# update the nix expression if the versions differ
+#
+
+if [[ "$current_nix_version" = "$upstream_version" ]]; then
 	echo "Spotify is already up ot date"
 	exit 0
 fi
 
-echo "Updating from ${version_pre} to ${version}, released on ${last_updated}"
+echo "Updating from ${current_nix_version} to ${upstream_version}, released on ${last_updated}"
 
-# search-andreplace revision, hash and version
+# search-and-replace revision, hash and version
 sed --regexp-extended \
 	-e 's/rev\s*=\s*"[0-9]+"\s*;/rev = "'"${revision}"'";/' \
-	-e 's/sha512\s*=\s*".{128}"\s*;/sha512 = "'"${sha512}"'";/' \
-	-e 's/version\s*=\s*".*"\s*;/version = "'"${version}"'";/' \
+	-e 's/sha512\s*=\s*"[^"]*"\s*;/sha512 = "'"${sha512}"'";/' \
+	-e 's/version\s*=\s*".*"\s*;/version = "'"${upstream_version}"'";/' \
 	-i "$spotify_nix" 
 
+#
+# try to build the updated version
+#
+
 if ! nix-build -A spotify "$nixpkgs"; then
 	echo "The updated spotify failed to build."
 	exit 1
 fi
 
+#
+# give instructions for upstreaming
+#
+
 git add "$spotify_nix"
-# show diff for review
-git diff HEAD
-# prepare commit message, but allow edit
-git commit --edit --message "spotify: $version_pre -> $version"
+# show changes for review
+git status
+echo 'Please review and test the changes (./result/bin/spotify).'
+echo 'Then stage the changes with `git add` and commit with:'
+# prepare commit message
+echo "git commit -m 'spotify: $current_nix_version -> $upstream_version'"
diff --git a/pkgs/applications/audio/whipper/default.nix b/pkgs/applications/audio/whipper/default.nix
index 1097e7b8fd7e..fa5845c260be 100644
--- a/pkgs/applications/audio/whipper/default.nix
+++ b/pkgs/applications/audio/whipper/default.nix
@@ -6,7 +6,7 @@ python2.pkgs.buildPythonApplication rec {
   version = "0.7.0";
 
   src = fetchFromGitHub {
-    owner = "JoeLametta";
+    owner = "whipper-team";
     repo = "whipper";
     rev = "v${version}";
     sha256 = "04m8s0s9dcnly9l6id8vv99n9kbjrjid79bss52ay9yvwng0frmj";
@@ -39,7 +39,7 @@ python2.pkgs.buildPythonApplication rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/JoeLametta/whipper;
+    homepage = https://github.com/whipper-team/whipper;
     description = "A CD ripper aiming for accuracy over speed";
     maintainers = with maintainers; [ rycee jgeerds ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 51ecfc0866e4..b6a6acf8ab7f 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -12,11 +12,15 @@ let
     build = "181.5056338";
     sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
   };
-  betaVersion = stableVersion;
+  betaVersion = {
+    version = "3.3.0.13"; # "Android Studio 3.3 Beta 1"
+    build = "182.5073496";
+    sha256Hash = "0bg1h0msd6mpkvirkg4pssa1ak32smv2rlxxsjdm3p29p8gg59px";
+  };
   latestVersion = { # canary & dev
-    version = "3.3.0.12"; # "Android Studio 3.3 Canary 13"
-    build = "182.5035453";
-    sha256Hash = "0f2glxm41ci016dv9ygr12s72lc5mh0zsxhpmx0xswg9mdwrvwa7";
+    version = "3.4.0.0"; # "Android Studio 3.4 Canary 1"
+    build = "182.5070326";
+    sha256Hash = "03h2yns8s9dqbbc9agxhidpmziy9g3z89nm3byydw43hdz54hxab";
   };
 in rec {
   # Old alias
diff --git a/pkgs/applications/editors/eclipse/default.nix b/pkgs/applications/editors/eclipse/default.nix
index 4d77c47695a3..55bbc778e3ae 100644
--- a/pkgs/applications/editors/eclipse/default.nix
+++ b/pkgs/applications/editors/eclipse/default.nix
@@ -228,6 +228,27 @@ rec {
   };
   eclipse_sdk_37 = eclipse-sdk-37; # backward compatibility, added 2016-01-30
 
+  ### Eclipse Java
+
+  eclipse-java = eclipse-java-49;
+
+  eclipse-java-49 = buildEclipse {
+    name = "eclipse-java-4.9.0";
+    description = "Eclipse IDE for Java Developers";
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk-x86_64.tar.gz;
+          sha512 = "9dac5d040cdabf779de3996de87290e352130c7e860c1d0a98772f41da828ad45f90748b68e0a8a4f8d1ebbbbe5fdfe6401b7d871b93af34103d4a81a041c6a5";
+        }
+      else if stdenv.system == "i686-linux" then
+        fetchurl {
+          url = http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/technology/epp/downloads/release/2018-09/R/eclipse-java-2018-09-linux-gtk.tar.gz;
+          sha512 = "24208e95b972e848d6b65ed8108d9e81584cf051397f2f43fb6269f5a625b8d7552ad77c7980a1a5653c87f06776e2926fd85607aae44e44657b4f6cc9b3e2e3";
+        }
+      else throw "Unsupported system: ${stdenv.system}";
+  };
+
   ### Environments
 
   # Function that assembles a complete Eclipse environment from an
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index fa83975b8d97..cbc30588434a 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -555,12 +555,12 @@ rec {
 
   spotbugs = buildEclipseUpdateSite rec {
     name = "spotbugs-${version}";
-    version = "3.1.6";
+    version = "3.1.8";
 
     src = fetchzip {
       stripRoot = false;
       url = "https://github.com/spotbugs/spotbugs/releases/download/${version}/eclipsePlugin.zip";
-      sha256 = "1qsams12n64slp00nfc9v943sy9bzffzm7anqqaz2hjw64iia7fh";
+      sha256 = "0086shivxx745f69226f59xcv7l9xliwyr9kxm6zyn753c888js3";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 777d8e62541d..b95a944e612b 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -167,6 +167,12 @@ self:
           (attrs.nativeBuildInputs or []) ++ [ external.git ];
       });
 
+      magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
+        # searches for Git at build time
+        nativeBuildInputs =
+          (attrs.nativeBuildInputs or []) ++ [ external.git ];
+      });
+
       # missing OCaml
       merlin = markBroken super.merlin;
 
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
index 98927cbd9873..6d1a8f081e5a 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-packages.nix
@@ -157,6 +157,12 @@ self:
           (attrs.nativeBuildInputs or []) ++ [ external.git ];
       });
 
+      magit-filenotify = super.magit-filenotify.overrideAttrs (attrs: {
+        # searches for Git at build time
+        nativeBuildInputs =
+          (attrs.nativeBuildInputs or []) ++ [ external.git ];
+      });
+
       # missing OCaml
       merlin = markBroken super.merlin;
 
diff --git a/pkgs/applications/editors/emacs/builder.sh b/pkgs/applications/editors/emacs/builder.sh
deleted file mode 100644
index 545520cca7c0..000000000000
--- a/pkgs/applications/editors/emacs/builder.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-source $stdenv/setup
-
-# This hook is supposed to be run on Linux. It patches the proper locations of
-# the crt{1,i,n}.o files into the build to ensure that Emacs is linked with
-# *our* versions, not the ones found in the system, as it would do by default.
-# On other platforms, this appears to be unnecessary.
-preConfigure() {
-    ./autogen.sh
-
-    for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
-        substituteInPlace $i --replace /bin/pwd pwd
-    done
-
-    case "${system}" in
-	x86_64-linux)	glibclibdir=lib64 ;;
-	i686-linux)	glibclibdir=lib ;;
-        *)              return;
-    esac
-
-    libc=$(cat ${NIX_CC}/nix-support/orig-libc)
-    echo "libc: $libc"
-
-    for i in src/s/*.h src/m/*.h; do
-        substituteInPlace $i \
-            --replace /usr/${glibclibdir}/crt1.o $libc/${glibclibdir}/crt1.o \
-            --replace /usr/${glibclibdir}/crti.o $libc/${glibclibdir}/crti.o \
-            --replace /usr/${glibclibdir}/crtn.o $libc/${glibclibdir}/crtn.o \
-            --replace /usr/lib/crt1.o $libc/${glibclibdir}/crt1.o \
-            --replace /usr/lib/crti.o $libc/${glibclibdir}/crti.o \
-            --replace /usr/lib/crtn.o $libc/${glibclibdir}/crtn.o
-    done
-}
-
-preInstall () {
-    for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
-        substituteInPlace $i --replace /bin/pwd pwd
-    done
-}
-
-genericBuild
diff --git a/pkgs/applications/editors/emacs/macport.nix b/pkgs/applications/editors/emacs/macport.nix
index 71a41da57474..0876a71cbf73 100644
--- a/pkgs/applications/editors/emacs/macport.nix
+++ b/pkgs/applications/editors/emacs/macport.nix
@@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
   macportVersion = "7.2";
   name = "emacs-mac-${emacsVersion}-${macportVersion}";
 
-  builder = ./builder.sh;
-
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
     sha256 = "0b6k1wq44rc8gkvxhi1bbjxbz3cwg29qbq8mklq2az6p1hjgrx0w";
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index a4ea354ebf69..cccf59f3e7bb 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -4,16 +4,24 @@ with python3.pkgs;
 
 buildPythonApplication rec {
   pname = "thonny";
-  version = "3.0.0b3";
+  version = "3.0.1";
 
   src = fetchFromBitbucket {
     owner = "plas";
     repo = pname;
-    rev = "a511d4539c532b6dddf6d7f1586d30e1ac35bd86";
-    sha256 = "1s3pp97r6p3j81idglnml4faxryk7saszxmv3gys1agdfj75qczr";
+    rev = "f66bd266deda11534561a01ede53cf1b71d2c3c0";
+    sha256 = "0mjskb0gyddybvlbhm10ch1rwzvmci95b018x67bh67bybdl4hm7";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [ jedi pyserial tkinter docutils pylint ];
+  propagatedBuildInputs = with python3.pkgs; [
+    jedi
+    pyserial
+    tkinter
+    docutils
+    pylint
+    mypy
+    pyperclip
+  ];
 
   preInstall = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index b8a717fc0e70..8d5dca0a3454 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.28.0";
+  version = "1.28.2";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.hostPlatform.system};
 
   sha256 = {
-    "i686-linux" = "0f54py00lmw96x47nk823gwxxc9kr9haaa821ggi974ycr54af0y";
-    "x86_64-linux" = "07bbzm1159k2gkajj6z7dsr0kmadd5gx721w92r252i5hcwg5sx4";
-    "x86_64-darwin" = "019cl2rswls3gwwa8y70cllc4jnd8xj0y2m9rvg2rz695snp6rcm";
+    "i686-linux" = "13zgx80qzq1wvss3byh56rvp2bdxywc4xmhhljsqrxf17g86g2zr";
+    "x86_64-linux" = "1z50hkr9mcf76hlr1jb80nbvpxbpm2bh0l63yh9yqpalmz66xbfy";
+    "x86_64-darwin" = "0n7lavpylg1q89qa64z4z1v7pgmwb2kidc57cgpvjnhjg8idys33";
   }.${stdenv.hostPlatform.system};
 
   archive_fmt = if stdenv.hostPlatform.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/gis/saga/default.nix b/pkgs/applications/gis/saga/default.nix
index 10cec193cc0d..4738bfba14a8 100644
--- a/pkgs/applications/gis/saga/default.nix
+++ b/pkgs/applications/gis/saga/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     description = "System for Automated Geoscientific Analyses";
     homepage = http://www.saga-gis.org;
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.michelk ];
+    maintainers = with maintainers; [ michelk mpickering ];
     platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index d46128c62c02..9c736f5ffb57 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
-  flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11,
-  perlXMLParser, pythonPackages, gettext, intltool, babl, gegl,
+  flex, libtiff, libjpeg, libpng, libexif, zlib, perlPackages, libX11,
+  pythonPackages, gettext, intltool, babl, gegl,
   glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
   libGLU_combined, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
@@ -15,10 +15,10 @@ in stdenv.mkDerivation rec {
   };
 
   buildInputs = [ libpng gtk2 freetype fontconfig lcms flex libtiff libjpeg
-    libexif zlib perl libX11 perlXMLParser python pygtk gettext intltool babl
+    libexif zlib libX11 python pygtk gettext intltool babl
     gegl glib makedepend xf86vidmodeproto xineramaproto libXmu openexr libGLU_combined
     libXext libXpm libXau libXxf86vm pixman libpthreadstubs fltk
-  ];
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/applications/graphics/dia/default.nix b/pkgs/applications/graphics/dia/default.nix
index 222328d2b917..0ce160242e56 100644
--- a/pkgs/applications/graphics/dia/default.nix
+++ b/pkgs/applications/graphics/dia/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perl,
-perlXMLParser, libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
+{ stdenv, fetchgit, autoconf, automake, libtool, gtk2, pkgconfig, perlPackages,
+libxml2, gettext, python, libxml2Python, docbook5, docbook_xsl,
 libxslt, intltool, libart_lgpl, withGNOME ? false, libgnomeui, hicolor-icon-theme,
 gtk-mac-integration-gtk2 }:
 
@@ -14,12 +14,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ gtk2 perlXMLParser libxml2 gettext python libxml2Python docbook5
+    [ gtk2 libxml2 gettext python libxml2Python docbook5
       libxslt docbook_xsl libart_lgpl hicolor-icon-theme ]
       ++ stdenv.lib.optional withGNOME libgnomeui
       ++ stdenv.lib.optional stdenv.isDarwin gtk-mac-integration-gtk2;
 
-  nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool perl ];
+  nativeBuildInputs = [ autoconf automake libtool pkgconfig intltool ]
+    ++ (with perlPackages; [ perl XMLParser ]);
 
   preConfigure = ''
     NOCONFIGURE=1 ./autogen.sh # autoreconfHook is not enough
diff --git a/pkgs/applications/graphics/gcolor2/default.nix b/pkgs/applications/graphics/gcolor2/default.nix
index 27ca6e26e9f9..025b3ae65ece 100644
--- a/pkgs/applications/graphics/gcolor2/default.nix
+++ b/pkgs/applications/graphics/gcolor2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk2, perl, perlXMLParser, pkgconfig } :
+{stdenv, fetchurl, gtk2, perlPackages, pkgconfig } :
 
 let version = "0.4"; in
 stdenv.mkDerivation {
@@ -21,7 +21,8 @@ stdenv.mkDerivation {
         [ ];
 
   nativeBuildInputs = [ pkgconfig ];
-buildInputs = [ gtk2 perl perlXMLParser ];
+  buildInputs = [ gtk2 ]
+    ++ (with perlPackages; [ perl XMLParser ]);
 
   meta = {
     description = "Simple GTK+2 color selector";
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index f4d08195309b..48ec2a5a014d 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libXft
+{ stdenv, fetchurl, pkgconfig, perlPackages, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper
 , gsl, python2, poppler, imagemagick, libwpg, librevenge
@@ -39,7 +39,8 @@ stdenv.mkDerivation rec {
       --replace '"python-interpreter", "python"' '"python-interpreter", "${python2Env}/bin/python"'
   '';
 
-  nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env perl perlXMLParser ];
+  nativeBuildInputs = [ pkgconfig cmake makeWrapper python2Env ]
+    ++ (with perlPackages; [ perl XMLParser ]);
   buildInputs = [
     libXft libpng zlib popt boehmgc
     libxml2 libxslt glib gtkmm2 glibmm libsigcxx lcms boost gettext
diff --git a/pkgs/applications/graphics/openimageio/default.nix b/pkgs/applications/graphics/openimageio/default.nix
index bc669e9e1a01..1980f470435b 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.8.14";
+  version = "1.8.15";
 
   src = fetchFromGitHub {
     owner = "OpenImageIO";
     repo = "oiio";
     rev = "Release-${version}";
-    sha256 = "07axn7bziy9h5jawpwcchag0nkczivaajsw69mxgmr508gw9r0xn";
+    sha256 = "0fbl5rzmip5q155lfsr07n65dnhww1kw97masps1i1x40gq15czx";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/applications/graphics/rapid-photo-downloader/default.nix b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
index d47f08c90b9c..d4edbae1d28e 100644
--- a/pkgs/applications/graphics/rapid-photo-downloader/default.nix
+++ b/pkgs/applications/graphics/rapid-photo-downloader/default.nix
@@ -6,11 +6,11 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "rapid-photo-downloader";
-  version = "0.9.10";
+  version = "0.9.12";
 
   src = fetchurl {
     url = "https://launchpad.net/rapid/pyqt/${version}/+download/${pname}-${version}.tar.gz";
-    sha256 = "1i0lfj9gnfya49gxx59ls364z651fqagd4krnz9jhg9m0l48ljdf";
+    sha256 = "0nzahps7hs120xv2r55k293kialf83nx44x3jg85yh349rpqrii8";
   };
 
   # Disable version check and fix install tests
diff --git a/pkgs/applications/misc/apvlv/default.nix b/pkgs/applications/misc/apvlv/default.nix
index eb35eb9cf73b..2d9ea5e3574b 100644
--- a/pkgs/applications/misc/apvlv/default.nix
+++ b/pkgs/applications/misc/apvlv/default.nix
@@ -52,6 +52,9 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/doc/apvlv/
     cp ../Startup.pdf $out/share/doc/apvlv/Startup.pdf
     cp ../main_menubar.glade $out/share/doc/apvlv/main_menubar.glade
+  ''
+  + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    install -D ../apvlv.desktop $out/share/applications/apvlv.desktop
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index 6bd1cef7c1b2..cf93096c7873 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "cherrytree-${version}";
-  version = "0.38.5";
+  version = "0.38.6";
 
   src = fetchurl {
     url = "https://www.giuspen.com/software/${name}.tar.xz";
-    sha256 = "1ja3b14vm3yd26pf82p2qlld0flqkqvgdg2g33r5dav6wfq3pz6y";
+    sha256 = "0b83ygv0y4lrclsyagmllkwiia62xkwij14i6z53avba191jvhma";
   };
 
   buildInputs = with pythonPackages;
diff --git a/pkgs/applications/misc/chirp/default.nix b/pkgs/applications/misc/chirp/default.nix
index 051e2c010a81..4f594d5d4c05 100644
--- a/pkgs/applications/misc/chirp/default.nix
+++ b/pkgs/applications/misc/chirp/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "chirp-daily-${version}";
-  version = "20180906";
+  version = "20181009";
 
   src = fetchurl {
     url = "https://trac.chirp.danplanet.com/chirp_daily/daily-${version}/${name}.tar.gz";
-    sha256 = "00cq15892p46z1j1fl2pd17y7k4rc6cfz7gaxb446mshxrvbfgam";
+    sha256 = "1h7i8skdjkz7n6dz3q9pzg1k31nh1ivy2mx3864bjvpkc7m6yyd9";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 681ee5b0bece..412a2e9d4fd0 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   name = "dbeaver-ce-${version}";
-  version = "5.2.1";
+  version = "5.2.2";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0zm320cdpypv2s58gcg89mdkir9xpz1824dscfqkmahx89g1ma81";
+    sha256 = "1rrj0c7ksvv9irsz9hb4ip30qgmzps4dy1nj4vl8mzzf389xa43n";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/get_iplayer/default.nix b/pkgs/applications/misc/get_iplayer/default.nix
index d024b0fce99e..5e8bb629ce2a 100644
--- a/pkgs/applications/misc/get_iplayer/default.nix
+++ b/pkgs/applications/misc/get_iplayer/default.nix
@@ -1,11 +1,11 @@
-{stdenv, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, buildPerlPackage, perlPackages, rtmpdump}:
+{stdenv, fetchFromGitHub, atomicparsley, flvstreamer, ffmpeg, makeWrapper, perl, perlPackages, rtmpdump}:
 
 with stdenv.lib;
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "get_iplayer-${version}";
   version = "2.99";
-  
+
   src = fetchFromGitHub {
     owner = "get-iplayer";
     repo = "get_iplayer";
@@ -34,5 +34,5 @@ buildPerlPackage rec {
     homepage = https://squarepenguin.co.uk/;
     platforms = platforms.all;
   };
-  
+
 }
diff --git a/pkgs/applications/misc/googler/default.nix b/pkgs/applications/misc/googler/default.nix
index 45b4ad88cff3..4b5c17d8e51b 100644
--- a/pkgs/applications/misc/googler/default.nix
+++ b/pkgs/applications/misc/googler/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, python}:
 
 stdenv.mkDerivation rec {
-  version = "3.7";
+  version = "3.7.1";
   name = "googler-${version}";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "googler";
     rev = "v${version}";
-    sha256 = "0dxg849ckyy181zlrb57hd959cgvx105c35ksmvi4wl285sh5kpj";
+    sha256 = "0dcszpz85h3yjnr55ixf8mzsdv46w3g27frhgcsl5zlsgk6vl8kw";
   };
 
   propagatedBuildInputs = [ python ];
diff --git a/pkgs/applications/misc/gpa/default.nix b/pkgs/applications/misc/gpa/default.nix
index 149092c70d38..a48890144127 100644
--- a/pkgs/applications/misc/gpa/default.nix
+++ b/pkgs/applications/misc/gpa/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, intltool, pkgconfig, gtk2, gpgme, libgpgerror, libassuan }:
 
 stdenv.mkDerivation rec {
-  name = "gpa-0.9.10";
+  name = "gpa-0.10.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpa/${name}.tar.bz2";
-    sha256 = "09xphbi2456qynwqq5n0yh0zdmdi2ggrj3wk4hsyh5lrzlvcrff3";
+    sha256 = "1cbpc45f8qbdkd62p12s3q2rdq6fa5xdzwmcwd3xrj55bzkspnwm";
   };
 
   nativeBuildInputs = [ intltool pkgconfig ];
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 2f61ba683f3f..d2427d95c19d 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gpxsee-${version}";
-  version = "5.18";
+  version = "6.2";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "0dl10fr881b8fwf2yj14bd6gagb8hm0s46q18y2y56rw98nk4vrq";
+    sha256 = "13hd6n5mzkk4nx9v9dwg8vvixr73zjba72h6vmxvz9fmywc4rs5p";
   };
 
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/applications/misc/kitty/default.nix b/pkgs/applications/misc/kitty/default.nix
index 4febac10806f..8cff766371ea 100644
--- a/pkgs/applications/misc/kitty/default.nix
+++ b/pkgs/applications/misc/kitty/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, python3Packages, glfw, libunistring, harfbuzz,
-  fontconfig, pkgconfig, ncurses, imagemagick, xsel,
+{ stdenv, substituteAll, fetchFromGitHub, python3Packages, glfw, libunistring,
+  harfbuzz, fontconfig, pkgconfig, ncurses, imagemagick, xsel,
   libstartup_notification, libX11, libXrandr, libXinerama, libXcursor,
   libxkbcommon, libXi, libXext, wayland-protocols, wayland,
   which, dbus
@@ -28,14 +28,12 @@ buildPythonApplication rec {
 
   outputs = [ "out" "terminfo" ];
 
-  postPatch = ''
-    substituteInPlace kitty/utils.py \
-      --replace "find_library('startup-notification-1')" "'${libstartup_notification}/lib/libstartup-notification-1.so'"
-
-    substituteInPlace docs/Makefile \
-      --replace 'python3 .. +launch :sphinx-build' \
-                'PYTHONPATH=$PYTHONPATH:.. HOME=$TMPDIR/nowhere sphinx-build'
-    '';
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      libstartup_notification = "${libstartup_notification}/lib/libstartup-notification-1.so";
+    })
+  ];
 
   buildPhase = ''
     python3 setup.py linux-package
diff --git a/pkgs/applications/misc/kitty/fix-paths.patch b/pkgs/applications/misc/kitty/fix-paths.patch
new file mode 100644
index 000000000000..e22f4570a4b7
--- /dev/null
+++ b/pkgs/applications/misc/kitty/fix-paths.patch
@@ -0,0 +1,27 @@
+--- a/kitty/desktop.c
++++ b/kitty/desktop.c
+@@ -30,7 +30,7 @@
+ static PyObject*
+ init_x11_startup_notification(PyObject UNUSED *self, PyObject *args) {
+     static bool done = false;
+-    static const char* libname = "libstartup-notification-1.so";
++    static const char* libname = "@libstartup_notification@";
+     if (!done) {
+         done = true;
+
+--- a/docs/Makefile
++++ b/docs/Makefile
+@@ -3,7 +3,7 @@
+# Patching is needed here for the following reasons:
+# * `sphinx-build` in nixpkgs is not a Python file but a wrapper shell script
+# * importing the `constants` package from Kitty has a side effect that it
+#   creates the user configuration directory. This package gets imported
+#   while sphinx scans the code for documentation strings.
+#
+ # You can set these variables from the command line.
+ SPHINXOPTS    = -T $(FAIL_WARN)
+-SPHINXBUILD   = python3 .. +launch :sphinx-build
++SPHINXBUILD   = PYTHONPATH=${PYTHONPATH}:.. HOME=${TMPDIR}/kitty-build-home sphinx-build
+ SPHINXPROJ    = kitty
+ SOURCEDIR     = .
+ BUILDDIR      = _build
diff --git a/pkgs/applications/misc/lxterminal/default.nix b/pkgs/applications/misc/lxterminal/default.nix
index 314f8bcece10..4fd86a5a4f52 100644
--- a/pkgs/applications/misc/lxterminal/default.nix
+++ b/pkgs/applications/misc/lxterminal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte
+{ stdenv, fetchurl, automake, autoconf, intltool, pkgconfig, gtk3, vte, wrapGAppsHook
 , libxslt, docbook_xml_dtd_412, docbook_xsl, libxml2, findXMLCatalogs
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    automake autoconf intltool pkgconfig
+    automake autoconf intltool pkgconfig wrapGAppsHook
     libxslt docbook_xml_dtd_412 docbook_xsl libxml2 findXMLCatalogs
   ];
 
diff --git a/pkgs/applications/misc/omegat.nix b/pkgs/applications/misc/omegat.nix
new file mode 100644
index 000000000000..e6a6be88b6c0
--- /dev/null
+++ b/pkgs/applications/misc/omegat.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, unzip, jdk, makeWrapper}:
+
+stdenv.mkDerivation rec {
+  version = "4.1.5.2";
+  name = "omegat";
+
+  src = fetchurl {  # their zip has repeated files or something, so no fetchzip
+    url = mirror://sourceforge/project/omegat/OmegaT%20-%20Latest/OmegaT%204.1.5%20update%202/OmegaT_4.1.5_02_Beta_Without_JRE.zip;
+    sha256 = "1mdnsvjgsccpd5xwpqzgva5jjp8yd1akq9aqpild4v6k70lqql2b";
+  };
+
+  buildInputs = [ unzip makeWrapper ];
+
+  unpackCmd = "unzip -o $curSrc";  # tries to go interactive without -o
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r lib docs images plugins scripts *.txt *.html OmegaT.jar $out/
+
+    cat > $out/bin/omegat <<EOF
+    #! $SHELL -e
+    CLASSPATH="$out/lib"
+    exec ${jdk}/bin/java -jar -Xmx1024M $out/OmegaT.jar "\$@"
+    EOF
+    chmod +x $out/bin/omegat
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The free computer aided translation (CAT) tool for professionals";
+    longDescription = ''
+      OmegaT is a free and open source multiplatform Computer Assisted Translation
+      tool with fuzzy matching, translation memory, keyword search, glossaries, and
+      translation leveraging into updated projects.
+    '';
+    homepage = http://www.omegat.org/;
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ t184256 ];
+    platforms = [ "i686-linux" "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/misc/pdfpc/default.nix b/pkgs/applications/misc/pdfpc/default.nix
index e61613a4b305..adfd9fa7eac4 100644
--- a/pkgs/applications/misc/pdfpc/default.nix
+++ b/pkgs/applications/misc/pdfpc/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "${product}-${version}";
   product = "pdfpc";
-  version = "4.1.2";
+  version = "4.2.1";
 
   src = fetchFromGitHub {
     repo = "pdfpc";
     owner = "pdfpc";
     rev = "v${version}";
-    sha256 = "01c2bswvxqk4biidpfj3hzf0kdk69i56ibk2wfi8v50qm105psli";
+    sha256 = "1rmsrpf5vlqhnyyrhq8apndny88ld2qvfjx6258653pqbimv7mx5";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/termdown/default.nix b/pkgs/applications/misc/termdown/default.nix
index 631fc08e95ee..65963f9aa34f 100644
--- a/pkgs/applications/misc/termdown/default.nix
+++ b/pkgs/applications/misc/termdown/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name    = "termdown-${version}";
-  version = "1.11.0";
+  version = "1.14.1";
 
   src = fetchFromGitHub {
-    rev    = "d1e3504e02ad49013595112cb03fbf175822e58d";
-    sha256 = "1i6fxymg52q95n0cbm4imdxh6yvpj3q57yf7w9z5d9pr35cf1iq5";
+    rev    = version;
+    sha256 = "0jgjzglna0gwp0j31l48pny69szslczl13aahwjfjypkv9lx8w2a";
     repo   = "termdown";
     owner  = "trehn";
   };
diff --git a/pkgs/applications/misc/todolist/default.nix b/pkgs/applications/misc/todolist/default.nix
index 61e10b6d1a6a..122567de2e1e 100644
--- a/pkgs/applications/misc/todolist/default.nix
+++ b/pkgs/applications/misc/todolist/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "todolist-${version}";
-  version = "0.8";
+  version = "v0.8.1";
 
   goPackagePath = "github.com/gammons/todolist";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "gammons";
     repo = "todolist";
     rev = "${version}";
-    sha256 = "0agv9a44q81qr960b7m1jxk0pb8ahk6lvmzmijvw4v6mbip2720z";
+    sha256 = "0dazfymby5xm4482p9cyj23djmkz5q7g79cqm2d85mczvz7vks8p";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/xmr-stak/default.nix b/pkgs/applications/misc/xmr-stak/default.nix
index b98d10efdee1..ed90689da1ea 100644
--- a/pkgs/applications/misc/xmr-stak/default.nix
+++ b/pkgs/applications/misc/xmr-stak/default.nix
@@ -12,13 +12,13 @@ in
 
 stdenv'.mkDerivation rec {
   name = "xmr-stak-${version}";
-  version = "2.4.7";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "fireice-uk";
     repo = "xmr-stak";
     rev = "${version}";
-    sha256 = "072gapchmd05ir5ygrvbgdhpjhm7pdjyl61n1ykxzvnvi81z6817";
+    sha256 = "0n042vxrr52k6x86h06f298flmxghsfh2a3kqnc41r7p7qybgjj8";
   };
 
   NIX_CFLAGS_COMPILE = "-O3";
@@ -40,6 +40,6 @@ stdenv'.mkDerivation rec {
     description = "Unified All-in-one Monero miner";
     homepage = "https://github.com/fireice-uk/xmr-stak";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ fpletz ];
+    maintainers = with maintainers; [ fpletz bfortz ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
new file mode 100644
index 000000000000..d097e0b448ca
--- /dev/null
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -0,0 +1,108 @@
+{ stdenv, lib, fetchurl,
+  dpkg,
+  alsaLib,
+  at-spi2-atk,
+  atk,
+  cairo,
+  cups,
+  dbus,
+  expat,
+  fontconfig,
+  freetype,
+  gdk_pixbuf,
+  glib,
+  gnome2,
+  gtk3,
+  libuuid,
+  libX11,
+  libXcomposite,
+  libXcursor,
+  libXdamage,
+  libXext,
+  libXfixes,
+  libXi,
+  libXrandr,
+  libXrender,
+  libXScrnSaver,
+  libXtst,
+  nspr,
+  nss,
+  pango,
+  udev,
+  xorg,
+  zlib
+}:
+
+let rpath = lib.makeLibraryPath [
+    alsaLib
+    at-spi2-atk
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gnome2.GConf
+    gtk3
+    libuuid
+    libX11
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXScrnSaver
+    libXtst
+    nspr
+    nss
+    pango
+    udev
+    xorg.libxcb
+    zlib
+];
+
+
+in stdenv.mkDerivation rec {
+    name = "brave";
+    version = "0.25.2";
+
+    src = fetchurl {
+        url = "https://github.com/brave/browser-laptop/releases/download/v${version}dev/brave_${version}_amd64.deb";
+        sha256 = "1r3rsa6szps7mvvpqyw0mg16zn36x451dxq4nmn2l5ds5cp1f017";
+    };
+
+    phases = [ "unpackPhase" "installPhase" ];
+
+    nativeBuildInputs = [ dpkg ];
+
+    unpackPhase = "dpkg-deb -x $src .";
+
+    installPhase = ''
+        mkdir -p $out
+
+        cp -R usr/* $out
+
+        patchelf \
+            --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+            --set-rpath "${rpath}" $out/bin/brave
+    '';
+
+    meta = with stdenv.lib; {
+        homepage = "https://brave.com/";
+        description = "Privacy-oriented browser for Desktop and Laptop computers";
+        longDescription = ''
+          Brave browser blocks the ads and trackers that slow you down,
+          chew up your bandwidth, and invade your privacy. Brave lets you
+          contribute to your favorite creators automatically.
+        '';
+        license = licenses.mpl20;
+        maintainers = [ maintainers.uskudnik ];
+        platforms = [ "x86_64-linux" ];
+    };
+}
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 6b9f7225c84f..c18f77f8f996 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -14,7 +14,7 @@
 , glib, gtk2, gtk3, dbus-glib
 , libXScrnSaver, libXcursor, libXtst, libGLU_combined
 , protobuf, speechd, libXdamage, cups
-, ffmpeg, libxslt, libxml2
+, ffmpeg, libxslt, libxml2, at-spi2-core
 
 # optional dependencies
 , libgcrypt ? null # gnomeSupport || cupsSupport
@@ -129,7 +129,8 @@ let
     ] ++ optional gnomeKeyringSupport libgnome-keyring3
       ++ optionals gnomeSupport [ gnome.GConf libgcrypt ]
       ++ optionals cupsSupport [ libgcrypt cups ]
-      ++ optional pulseSupport libpulseaudio;
+      ++ optional pulseSupport libpulseaudio
+      ++ optional (versionAtLeast version "71") at-spi2-core;
 
     patches = [
       # As major versions are added, you can trawl the gentoo and arch repos at
@@ -140,8 +141,26 @@ let
       ./patches/fix-freetype.patch
       ./patches/nix_plugin_paths_68.patch
       ./patches/remove-webp-include-69.patch
-    ] ++ optional enableWideVine ./patches/widevine.patch;
-
+    ] ++ optional enableWideVine ./patches/widevine.patch
+      ++ optional ((versionRange "69" "70") && stdenv.isAarch64)
+           (fetchpatch {
+              url    = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/0001-vpx_sum_squares_2d_i16_neon-Make-s2-a-uint64x1_t.patch;
+              sha256 = "0f37rsjx7jcvdngkj8y6600091nwgn4jci0ny7bxlapq0zx2a4x7";
+            })
+      ++ optional stdenv.isAarch64
+           (if (versionOlder version "71") then
+              fetchpatch {
+                url       = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch;
+                sha256    = "0dkchqair8cy2f5a5p5vi24r9b4d28pgn2bfvm1568lypbjw6iab";
+              }
+            else
+              fetchpatch {
+                url       = https://raw.githubusercontent.com/OSSystems/meta-browser/e4a667deaaf9a26a3a1aeb355770d1f29da549ad/recipes-browser/chromium/files/aarch64-skia-build-fix.patch;
+                postFetch = "substituteInPlace $out --replace __aarch64__ SK_CPU_ARM64";
+                sha256    = "018fbdzyw9rvia8m0qkk5gv8q8gl7x34rrjbn7mi1fgxdsayn22s";
+              }
+            );
+            
     postPatch = ''
       # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX
       substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \
@@ -214,7 +233,6 @@ let
       is_clang = false;
       clang_use_chrome_plugins = false;
       remove_webcore_debug_symbols = true;
-      use_gtk3 = true;
       enable_swiftshader = false;
       fieldtrial_testing_like_official_build = true;
 
@@ -225,6 +243,8 @@ let
       google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI";
       google_default_client_id = "404761575300.apps.googleusercontent.com";
       google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D";
+    } // optionalAttrs (versionRange "60" "70") {
+      use_gtk3 = true;
     } // optionalAttrs proprietaryCodecs {
       # enable support for the H.264 codec
       proprietary_codecs = true;
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 51618a479d42..686e8fadec34 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -18,6 +18,8 @@ let
   callPackage = newScope chromium;
 
   chromium = {
+    inherit stdenv;
+  
     upstream-info = (callPackage ./update.nix {}).getChannel channel;
 
     mkChromiumDerivation = callPackage ./common.nix {
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 60e94e137676..c5622f0c63cb 100644
--- a/pkgs/applications/networking/browsers/chromium/plugins.nix
+++ b/pkgs/applications/networking/browsers/chromium/plugins.nix
@@ -94,6 +94,8 @@ let
         envVars.NIX_CHROMIUM_PLUGIN_PATH_WIDEVINE = "@out@/lib";
       }}
     '';
+    
+    meta.platforms = platforms.x86_64;
   };
 
   flash = stdenv.mkDerivation rec {
@@ -133,6 +135,8 @@ let
     '';
 
     dontStrip = true;
+    
+    meta.platforms = platforms.x86_64;
   };
 
 in {
diff --git a/pkgs/applications/networking/browsers/eolie/default.nix b/pkgs/applications/networking/browsers/eolie/default.nix
index 1f7ed9732bc7..91b1099bfb86 100644
--- a/pkgs/applications/networking/browsers/eolie/default.nix
+++ b/pkgs/applications/networking/browsers/eolie/default.nix
@@ -5,7 +5,7 @@
 
 python3.pkgs.buildPythonApplication rec {
   name = "eolie-${version}";
-  version = "0.9.41";
+  version = "0.9.45";
 
   format = "other";
   doCheck = false;
@@ -14,7 +14,7 @@ python3.pkgs.buildPythonApplication rec {
     url = "https://gitlab.gnome.org/World/eolie";
     rev = "refs/tags/${version}";
     fetchSubmodules = true;
-    sha256 = "0qrbgyzhvh96d7h2rcz04m7am6av30pcvb3fwlrjx0c402rslsx8";
+    sha256 = "0x6f2qqqxpjf28mqxs4jlrz2z8wa9nvb9h24nf8qwmzavjjbraqg";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm.nix b/pkgs/applications/networking/cluster/docker-machine/kvm.nix
index 5d47302960f7..181663513d3e 100644
--- a/pkgs/applications/networking/cluster/docker-machine/kvm.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "docker-machine-kvm-${version}";
-  version = "0.8.2";
+  version = "0.10.0";
 
   goPackagePath = "github.com/dhiltgen/docker-machine-kvm";
   goDeps = ./kvm-deps.nix;
@@ -12,7 +12,7 @@ buildGoPackage rec {
     rev    = "v${version}";
     owner  = "dhiltgen";
     repo   = "docker-machine-kvm";
-    sha256 = "1p7s340wlcjvna3xa2x13nsnixfhbn5b7dhf9cqvxds2slizlm3p";
+    sha256 = "0ch4zwb6h7hnr5l3skj1daypvpyms2i666lbnmakpw1fw3zvjmgy";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
index fd067936efdf..41465766489e 100644
--- a/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
+++ b/pkgs/applications/networking/cluster/docker-machine/kvm2.nix
@@ -1,19 +1,14 @@
-{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig }:
+{ stdenv, buildGoPackage, fetchFromGitHub, libvirt, pkgconfig, minikube }:
 
 buildGoPackage rec {
   pname = "docker-machine-kvm2";
   name = "${pname}-${version}";
-  version = "0.27.0";
+  version = minikube.version;
 
   goPackagePath = "k8s.io/minikube";
   subPackages = [ "cmd/drivers/kvm" ];
 
-  src = fetchFromGitHub {
-    owner = "kubernetes";
-    repo = "minikube";
-    rev = "v${version}";
-    sha256 = "00gj8x5p0vxwy0y0g5nnddmq049h7zxvhb73lb4gii5mghr9mkws";
-  };
+  src = minikube.src;
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libvirt ];
diff --git a/pkgs/applications/networking/cluster/minishift/default.nix b/pkgs/applications/networking/cluster/minishift/default.nix
new file mode 100644
index 000000000000..13f73f51a319
--- /dev/null
+++ b/pkgs/applications/networking/cluster/minishift/default.nix
@@ -0,0 +1,67 @@
+{ lib, buildGoPackage, fetchFromGitHub, go-bindata, pkgconfig, makeWrapper
+, glib, gtk3, libappindicator-gtk3, gpgme, ostree, libselinux, btrfs-progs
+, lvm2, docker-machine-kvm
+}:
+
+let
+  version = "1.25.0";
+
+  # Update these on version bumps according to Makefile
+  b2dIsoVersion = "v1.3.0";
+  centOsIsoVersion = "v1.12.0";
+  openshiftVersion = "v3.11.0";
+
+in buildGoPackage rec {
+  name = "minishift-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "minishift";
+    repo = "minishift";
+    rev = "v${version}";
+    sha256 = "12a1irj92lplzkr88g049blpjsdsfwfihs2xix971cq7v0w38fkf";
+  };
+
+  nativeBuildInputs = [ pkgconfig go-bindata makeWrapper ];
+  buildInputs = [ glib gtk3 libappindicator-gtk3 gpgme ostree libselinux btrfs-progs lvm2 ];
+
+  goPackagePath = "github.com/minishift/minishift";
+  subPackages = [ "cmd/minishift" ];
+
+  postPatch = ''
+    substituteInPlace vendor/github.com/containers/image/storage/storage_image.go \
+      --replace 'nil, diff' 'diff'
+  '';
+
+  buildFlagsArray = ''
+    -ldflags=
+      -X ${goPackagePath}/pkg/version.minishiftVersion=${version}
+      -X ${goPackagePath}/pkg/version.b2dIsoVersion=${b2dIsoVersion}
+      -X ${goPackagePath}/pkg/version.centOsIsoVersion=${centOsIsoVersion}
+      -X ${goPackagePath}/pkg/version.openshiftVersion=${openshiftVersion}
+  '';
+
+  preBuild = ''
+    (cd go/src/github.com/minishift/minishift
+      mkdir -p out/bindata
+      go-bindata -prefix addons -o out/bindata/addon_assets.go -pkg bindata addons/...)
+  '';
+
+  postInstall = ''
+    wrapProgram "$bin/bin/minishift" \
+      --prefix PATH ':' '${lib.makeBinPath [ docker-machine-kvm ]}'
+  '';
+
+  meta = with lib; {
+    description = "Run OpenShift locally";
+    longDescription = ''
+      Minishift is a tool that helps you run OpenShift locally by running
+      a single-node OpenShift cluster inside a VM. You can try out OpenShift
+      or develop with it, day-to-day, on your local host.
+    '';
+    homepage = https://github.com/minishift/minishift;
+    maintainers = with maintainers; [ fpletz ];
+    platforms = platforms.linux;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/stern/default.nix b/pkgs/applications/networking/cluster/stern/default.nix
index c7b90d05ff2f..c5e4ac9d0ba3 100644
--- a/pkgs/applications/networking/cluster/stern/default.nix
+++ b/pkgs/applications/networking/cluster/stern/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "stern-${version}";
-  version = "1.8.0";
+  version = "1.10.0";
 
   goPackagePath = "github.com/wercker/stern";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "wercker";
     repo = "stern";
     rev = "${version}";
-    sha256 = "14ccgb41ca2gym7wab0q02ap8g94nhfaihs41qky4wnsfv6j1zc8";
+    sha256 = "05wsif0pwh2v4rw4as36f1d9r149zzp2nyc0z4jwnj9nx58nfpll";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/applications/networking/cluster/stern/deps.nix b/pkgs/applications/networking/cluster/stern/deps.nix
index 5c5d34727115..fff5cf8c0de4 100644
--- a/pkgs/applications/networking/cluster/stern/deps.nix
+++ b/pkgs/applications/networking/cluster/stern/deps.nix
@@ -5,8 +5,8 @@
     fetch = {
       type = "git";
       url = "https://code.googlesource.com/gocloud";
-      rev =  "97efc2c9ffd9fe8ef47f7f3203dc60bbca547374";
-      sha256 = "1zf8imq0hgba13rbn260pqf2qd41cg3i4wzzq2i0li3lxnjglkv1";
+      rev =  "dfffe386c33fb24c34ee501e5723df5b97b98514";
+      sha256 = "1g681yxz4mmzapzpzxfaz1nhcr1w526793yapfsnxlbs2skap3fy";
     };
   }
   {
@@ -131,8 +131,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/json-iterator/go";
-      rev =  "0ac74bba4a81211b28e32ef260c0f16ae41f1377";
-      sha256 = "07aa3jz9rmhn3cfv06z9549kfpsx4i85qbi3j7q60z2pvasjxqv5";
+      rev =  "f2b4162afba35581b6d4a50d3b8f34e33c144682";
+      sha256 = "0siqfghsm2lkdwinvg8x5gls3p76rq3cdm59c1r4x0b2mdfhnvcd";
     };
   }
   {
@@ -176,8 +176,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/modern-go/reflect2";
-      rev =  "05fbef0ca5da472bbf96c9322b84a53edc03c9fd";
-      sha256 = "1jc7xba9v3scsc8fg5nb9g6lrxxgiaaykx8q817arq9b737y90gm";
+      rev =  "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd";
+      sha256 = "1721y3yr3dpx5dx5ashf063qczk2awy5zjir1jvp1h5hn7qz4i49";
     };
   }
   {
@@ -226,15 +226,6 @@
     };
   }
   {
-    goPackagePath  = "github.com/v2pro/plz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/v2pro/plz";
-      rev =  "10fc95fad3224a032229e59f6e7023137d82b526";
-      sha256 = "0p04pjrz55zn6dbi6l0705prjmhqnmvsvrxzc74hl12wi6r35drp";
-    };
-  }
-  {
     goPackagePath  = "golang.org/x/crypto";
     fetch = {
       type = "git";
@@ -266,8 +257,8 @@
     fetch = {
       type = "git";
       url = "https://go.googlesource.com/sys";
-      rev =  "e4b3c5e9061176387e7cea65e4dc5853801f3fb7";
-      sha256 = "1ijx254fycsnr16m24k7lqvkmdkkrqxsl9mr1kz4mf61a8n0arf9";
+      rev =  "8e24a49d80f82323e1c4db1b5da3e0f31171a151";
+      sha256 = "0zsdnyb8dy98jw6f9yn6g5gdhaqwk39hqridr0mh4dhwvwvlj724";
     };
   }
   {
diff --git a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
index 2beceddc7fba..d24a5780315d 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/libvirt/default.nix
@@ -3,7 +3,7 @@
 # USAGE:
 # install the following package globally or in nix-shell:
 #
-#   (terraform.withPlugins (old: [terraform-provider-libvirt]))
+#   (terraform.withPlugins (p: [p.libvirt]))
 #
 # configuration.nix:
 #
@@ -36,6 +36,10 @@ buildGoPackage rec {
   # and wrapped to terraform via deecb4c1aab780047d79978c636eeb879dd68630
   propagatedBuildInputs = [ cdrtools ];
 
+  # Terraform allow checking the provider versions, but this breaks
+  # if the versions are not provided via file paths.
+  postBuild = "mv go/bin/terraform-provider-libvirt{,_v${version}}";
+
   meta = with stdenv.lib; {
     homepage = https://github.com/dmacvicar/terraform-provider-libvirt;
     description = "Terraform provider for libvirt";
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index d10043751599..6e1d008e0d36 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -36,11 +36,11 @@ with python'.pkgs;
 
 buildPythonApplication rec {
   pname = "FlexGet";
-  version = "2.15.1";
+  version = "2.16.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c0qyafm01j94m9vky6x4k6j6g3nygzhgm79fb25brc2fyydkm3c";
+    sha256 = "1b9nyrg1r69kmwhpmw9pxdrwa9pnw5mphpdlki85cpxiii2sms9j";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index b7570e85217c..db8eea645874 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -3,11 +3,11 @@
 , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.5.10";
+  version = "0.5.11";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "1yx721qnyhgk2lna1p6iwndl767cy0ss5zcwhyjccgqd848b0grr";
+    sha256 = "1pv2fllg5z6q524k7dyqwm41kaj6bh2xjqg98p6v25n31v3gvy04";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [zlib openssl libre librem cairo mpg123
diff --git a/pkgs/applications/networking/instant-messengers/ekiga/default.nix b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
index bcabdf43cd22..1eaaf3b12dfa 100644
--- a/pkgs/applications/networking/instant-messengers/ekiga/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ekiga/default.nix
@@ -1,5 +1,5 @@
 { stdenv, glib, fetchurl, fetchpatch, cyrus_sasl, gettext, openldap, ptlib, opal, libXv, rarian, intltool
-, perl, perlXMLParser, evolution-data-server, gnome-doc-utils, avahi, autoreconfHook
+, perlPackages, evolution-data-server, gnome-doc-utils, avahi, autoreconfHook
 , libsigcxx, gtk, dbus-glib, libnotify, libXext, xextproto, gnome3, boost, libsecret
 , pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib
 , libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle, sqlite, makeWrapper }:
@@ -13,12 +13,13 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ cyrus_sasl gettext openldap ptlib opal libXv rarian intltool
-                  perl perlXMLParser evolution-data-server gnome-doc-utils avahi
+                  evolution-data-server gnome-doc-utils avahi
                   libsigcxx gtk dbus-glib libnotify libXext xextproto sqlite
                   gnome3.libsoup glib gnome3.defaultIconTheme boost
                   autoreconfHook pkgconfig libxml2 videoproto unixODBC db nspr
                   nss zlib libsecret libXrandr randrproto which libxslt libtasn1
-                  gmp nettle makeWrapper ];
+                  gmp nettle makeWrapper ]
+    ++ (with perlPackages; [ perl XMLParser ]);
 
   preAutoreconf = ''
     substituteInPlace configure.ac --replace AM_GCONF_SOURCE_2 ""
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
index 457e76d0a82c..b8d6cf6aee39 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/pidgin-opensteamworks/default.nix
@@ -2,22 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "pidgin-opensteamworks-${version}";
-  version = "1.6.1";
+  version = "unstable-2018-08-02";
 
   src = fetchFromGitHub {
     owner = "EionRobb";
     repo = "pidgin-opensteamworks";
-    rev = "${version}";
-    sha256 = "6ab27831e454ad3b440e4f06b52e0b3671a4f8417ba4da3ab6f56c56d82cc29b";
+    rev = "b16a636d177f4a8862abdfbdb2c0994712ea0cd3";
+    sha256 = "0qyxfrfzsm43f1gmbg350znwxld1fqr9a9yziqs322bx2vglzgfh";
   };
 
   preConfigure = "cd steam-mobile";
-  postInstall = ''
-    mkdir -p $out/lib/purple-2
-    mkdir -p $out/share/pixmaps/pidgin/protocols/
-    cp libsteam.so $out/lib/purple-2/
-    unzip releases/icons.zip -d $out/share/pixmaps/pidgin/protocols/
-  '';
+  installFlags = [
+    "DESTDIR=$(out)"
+    "PLUGIN_DIR_PURPLE=/lib/purple-2"
+    "DATA_ROOT_DIR_PURPLE=/share"
+  ];
 
   buildInputs = [ pidgin unzip glib json-glib nss nspr libgnome-keyring ];
 
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index ec3bb6a463e6..12348fe548c7 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, gtk2, gtkspell2, aspell
 , gst_all_1, startupnotification, gettext
-, perl, perlXMLParser, libxml2, nss, nspr, farstream
+, perlPackages, libxml2, nss, nspr, farstream
 , libXScrnSaver, ncurses, avahi, dbus, dbus-glib, intltool, libidn
 , lib, python, libICE, libXext, libSM
 , cyrus_sasl ? null
@@ -40,9 +40,8 @@ let unwrapped = stdenv.mkDerivation rec {
   ++ (lib.optional (gnutls != null) gnutls)
   ++ (lib.optional (libgcrypt != null) libgcrypt);
 
-  propagatedBuildInputs = [
-    pkgconfig gtk2 perl perlXMLParser gettext
-  ];
+  propagatedBuildInputs = [ pkgconfig gtk2 gettext ]
+    ++ (with perlPackages; [ perl XMLParser ]);
 
   patches = [ ./pidgin-makefile.patch ./add-search-path.patch ];
 
diff --git a/pkgs/applications/networking/instant-messengers/poezio/default.nix b/pkgs/applications/networking/instant-messengers/poezio/default.nix
new file mode 100644
index 000000000000..b5fa1ccc2f41
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/poezio/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildPythonApplication, fetchurl, pythonOlder
+, pytest, aiodns, slixmpp, pyinotify, potr, mpd2, cffi, pkgconfig }:
+buildPythonApplication rec {
+    name = "poezio-${version}";
+    version = "0.12";
+
+    disabled = pythonOlder "3.4";
+
+    buildInputs = [ pytest ];
+    propagatedBuildInputs = [ aiodns slixmpp pyinotify potr mpd2 cffi ];
+    nativeBuildInputs = [ pkgconfig ];
+
+    src = fetchurl {
+      url = "http://dev.louiz.org/attachments/download/129/${name}.tar.gz";
+      sha256 = "11n9x82xyjwbqk28lsfnvqwn8qc9flv6w2c64camh6j3148ykpvz";
+    };
+
+    checkPhase = ''
+      py.test
+    '';
+
+    meta = with lib; {
+      description = "Free console XMPP client";
+      homepage = https://poez.io;
+      license = licenses.mit;
+      maintainers = [ maintainers.lsix ];
+    };
+  }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
index 2a80349c4e62..e08fdad50fb4 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/bare.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     inherit src;
 
     nodejs = nodejs-8_x;
-    sha256 = "0mg1ilz65qyxgh5zg1f8fhx7ygz10w8ifamflpwbk8mrvqpkjlvr";
+    sha256 = "0hbw47653wh159c34f0rlj3p7xy0lvsyp0wh2hl35kv3fnsfbbm0";
   };
 
   patches = [ ./isDev.patch ];
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 02166e237724..92f0b11c63fe 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -56,11 +56,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "signal-desktop-${version}";
-  version = "1.16.2";
+  version = "1.16.3";
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "1j1785sc8pmrhi8yhlv4brxn7zrd33skgkkvzfl60nqkh2nybh3y";
+    sha256 = "1fhs3408i8f80z5rlchrc3gwm0481rxqb5jk37gb8ip94zf97hsf";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index eaa9103a7b64..49e5a12d447c 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -6,7 +6,7 @@ let
 
   # Please keep the version x.y.0.z and do not update to x.y.76.z because the
   # source of the latter disappears much faster.
-  version = "8.28.0.41";
+  version = "8.32.0.44";
 
   rpath = stdenv.lib.makeLibraryPath [
     alsaLib
@@ -56,7 +56,7 @@ let
     if stdenv.hostPlatform.system == "x86_64-linux" then
       fetchurl {
         url = "https://repo.skype.com/deb/pool/main/s/skypeforlinux/skypeforlinux_${version}_amd64.deb";
-        sha256 = "1kydf71qbz35dx4674h3nxfx8a88k620217906i54ic4qq2mgy2x";
+        sha256 = "0yzh4bmv8mrfp0ml9nhcpcy0lhi8jp1fnmnxy0krvnphkp8750c7";
       }
     else
       throw "Skype for linux is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index 03a99aea4001..1e8080fd9c9d 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -13,6 +13,8 @@ let
 in {
   stable = mkTelegram stableVersion;
   preview = mkTelegram (stableVersion // {
+    version = "1.4.4";
+    sha256Hash = "1m1j485r3vzpglzfn8l4cqskysvkx8l3pqaw3fgp66jfajbxynf0";
     stable = false;
   });
 }
diff --git a/pkgs/applications/networking/mailreaders/imapfilter.nix b/pkgs/applications/networking/mailreaders/imapfilter.nix
index 4d0c09c2dcc2..e5a919af2e6f 100644
--- a/pkgs/applications/networking/mailreaders/imapfilter.nix
+++ b/pkgs/applications/networking/mailreaders/imapfilter.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "imapfilter-${version}";
-  version = "2.6.11";
+  version = "2.6.12";
 
   src = fetchFromGitHub {
     owner = "lefcha";
     repo = "imapfilter";
     rev = "v${version}";
-    sha256 = "0cjnp7vqmgqym2zswabkmwlbj21r063vw7wkwxglj08z5qyjl5ps";
+    sha256 = "0vzpc54fjf5vb5vx5w0fl20xvx1k9cg6a3hbl86mm8kwsqf3wrab";
   };
 
   makeFlagsArray = "PREFIX=$(out)";
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index cda02fedfb69..d0a690496e27 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -118,12 +118,21 @@ let
       sha256 = "1s60vaici3v034jzzi20x23hsj6mkjlc0glipjq4hffrg9qgnizh";
     };
 
-    # Fix compile error against boost 1.66 (#33655):
-    patches = singleton (fetchpatch {
-      url = "https://github.com/mumble-voip/mumble/commit/"
-          + "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
-      sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
-    });
+    patches = [
+      # Fix compile error against boost 1.66 (#33655):
+      (fetchpatch {
+        url = "https://github.com/mumble-voip/mumble/commit/"
+            + "ea861fe86743c8402bbad77d8d1dd9de8dce447e.patch";
+        sha256 = "1r50dc8dcl6jmbj4abhnay9div7y56kpmajzqd7ql0pm853agwbh";
+      })
+      # Fixes hang on reconfiguring audio (often including startup)
+      # https://github.com/mumble-voip/mumble/pull/3418
+      (fetchpatch {
+        url = "https://github.com/mumble-voip/mumble/commit/"
+            + "fbbdf2e8ab7d93ed6f7680268ad0689b7eaa71ad.patch";
+        sha256 = "1yhj62mlwm6q42i4aclbia645ha97d3j4ycxhgafr46dbjs0gani";
+      })
+    ];
   };
 
   gitSource = rec {
diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
index 25deef0aef94..5305ca10383a 100644
--- a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
+++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix
@@ -3,12 +3,12 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "6.7.2";
+  version = "6.7.4";
   name = "frostwire-${version}";
 
   src = fetchurl {
     url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.noarch.tar.gz";
-    sha256 = "1dxk2cmwbn4ahkmr8qpiq1dpkkyswg5wz1cnv36izafpr87lxfvj";
+    sha256 = "03vxg0qas4mz5ggrmi396nkz44x1kgq8bfbhbr9mnal9ay9qmi8m";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/p2p/zeronet/default.nix b/pkgs/applications/networking/p2p/zeronet/default.nix
index 33acd103d8b4..1dc4e3e43513 100644
--- a/pkgs/applications/networking/p2p/zeronet/default.nix
+++ b/pkgs/applications/networking/p2p/zeronet/default.nix
@@ -2,14 +2,14 @@
 
 python2Packages.buildPythonApplication rec {
   pname = "zeronet";
-  version = "0.6.2";
+  version = "0.6.4";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "HelloZeroNet";
     repo = "ZeroNet";
     rev = "v${version}";
-    sha256 = "0v19jjirkyv8hj2yfdj0c40zwynn51h2bj4issn5blr95vhfm8s7";
+    sha256 = "04mpnkx0pbvcfjs337f0ajabdbh6h0gypnaz6n395avkf8r1g4c3";
   };
 
   propagatedBuildInputs = with python2Packages; [ msgpack gevent ];
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index ad4a8849fac3..f80d47d36f10 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   name = "freerdp-${version}";
-  version = "2.0.0-rc2";
+  version = "2.0.0-rc3";
 
   src = fetchFromGitHub {
     owner  = "FreeRDP";
     repo   = "FreeRDP";
     rev    = version;
-    sha256 = "01cm9g4xqihnnc5d2w1zs8gabkv59p7fyjwi1cwpzv6s198xwbfs";
+    sha256 = "0lpn6klwfnw69imgiibn3mff7lzli2idphgvw5lnradbfw4pr9qc";
   };
 
   # outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index 96aa037d35bf..e823977db204 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchFromGitLab, cmake, pkgconfig, wrapGAppsHook
-, glib, gtk3, gettext, libxkbfile, libgnome-keyring, libX11
+, glib, gtk3, gettext, libxkbfile, libX11
 , freerdp, libssh, libgcrypt, gnutls, makeDesktopItem
-, pcre, webkitgtk, libdbusmenu-gtk3, libappindicator-gtk3
+, pcre, libdbusmenu-gtk3, libappindicator-gtk3
 , libvncserver, libpthreadstubs, libXdmcp, libxkbcommon
-, libsecret, spice-protocol, spice-gtk, epoxy, at-spi2-core
+, libsecret, libsoup, spice-protocol, spice-gtk, epoxy, at-spi2-core
 , openssl, gsettings-desktop-schemas, json-glib
 # The themes here are soft dependencies; only icons are missing without them.
 , hicolor-icon-theme, adwaita-icon-theme
+, gnomeSupport ? true, libgnome-keyring
 }:
 
+with stdenv.lib;
+
 let
-  version = "1.2.32";
 
   desktopItem = makeDesktopItem {
     name = "remmina";
@@ -22,8 +24,9 @@ let
     categories = "GTK;GNOME;X-GNOME-NetworkSettings;Network;";
   };
 
-in stdenv.mkDerivation {
+in stdenv.mkDerivation rec {
   name = "remmina-${version}";
+  version = "1.2.32";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
@@ -33,13 +36,21 @@ in stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake wrapGAppsHook gsettings-desktop-schemas
-                  glib gtk3 gettext libxkbfile libgnome-keyring libX11
-                  freerdp libssh libgcrypt gnutls
-                  pcre webkitgtk libdbusmenu-gtk3 libappindicator-gtk3
-                  libvncserver libpthreadstubs libXdmcp libxkbcommon
-                  libsecret spice-protocol spice-gtk epoxy at-spi2-core
-                  openssl hicolor-icon-theme adwaita-icon-theme json-glib ];
+  buildInputs = [
+    cmake wrapGAppsHook gsettings-desktop-schemas
+    glib gtk3 gettext libxkbfile libX11
+    freerdp libssh libgcrypt gnutls
+    pcre libdbusmenu-gtk3 libappindicator-gtk3
+    libvncserver libpthreadstubs libXdmcp libxkbcommon
+    libsecret libsoup spice-protocol spice-gtk epoxy at-spi2-core
+    openssl hicolor-icon-theme adwaita-icon-theme json-glib
+  ]
+  ++ optional gnomeSupport libgnome-keyring;
+
+  preConfigure = optionalString (!gnomeSupport) ''
+    substituteInPlace CMakeLists.txt \
+      --replace "add_subdirectory(remmina-plugins-gnome)" ""
+  '';
 
   cmakeFlags = [
     "-DWITH_VTE=OFF"
@@ -62,7 +73,7 @@ in stdenv.mkDerivation {
     cp ${desktopItem}/share/applications/* $out/share/applications
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     license = stdenv.lib.licenses.gpl2;
     homepage = https://gitlab.com/Remmina/Remmina;
     description = "Remote desktop client written in GTK+";
diff --git a/pkgs/applications/networking/sync/rclone/browser.nix b/pkgs/applications/networking/sync/rclone/browser.nix
new file mode 100644
index 000000000000..4325c8ea88ae
--- /dev/null
+++ b/pkgs/applications/networking/sync/rclone/browser.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, qtbase }:
+
+stdenv.mkDerivation rec {
+  name = "rclone-browser-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "mmozeiko";
+    repo = "RcloneBrowser";
+    rev = version;
+    sha256 = "1ldradd5c606mfkh46y4mhcvf9kbjhamw0gahksp9w43h5dh3ir7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ qtbase ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "Graphical Frontend to Rclone written in Qt";
+    license = licenses.unlicense;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/applications/networking/sync/rclone/default.nix b/pkgs/applications/networking/sync/rclone/default.nix
index 13e69427aa48..34712a522feb 100644
--- a/pkgs/applications/networking/sync/rclone/default.nix
+++ b/pkgs/applications/networking/sync/rclone/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "rclone-${version}";
-  version = "1.43.1";
+  version = "1.44";
 
   goPackagePath = "github.com/ncw/rclone";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "ncw";
     repo = "rclone";
     rev = "v${version}";
-    sha256 = "0iz427gdm8cxx3kbjmhw7jsvi9j0ppb5aqcq4alwf72fvpvql3mx";
+    sha256 = "0kpx9r4kksscsvia7r79z9h8ghph25ay9dgpqrnp599fq1bqky61";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/applications/networking/znc/default.nix b/pkgs/applications/networking/znc/default.nix
index ca5624d5b73f..861e7d24275d 100644
--- a/pkgs/applications/networking/znc/default.nix
+++ b/pkgs/applications/networking/znc/default.nix
@@ -3,6 +3,7 @@
 , withPython ? false, python3
 , withTcl ? false, tcl
 , withCyrus ? true, cyrus_sasl
+, withUnicode ? true, icu
 }:
 
 with stdenv.lib;
@@ -22,7 +23,8 @@ stdenv.mkDerivation rec {
     ++ optional withPerl perl
     ++ optional withPython python3
     ++ optional withTcl tcl
-    ++ optional withCyrus cyrus_sasl;
+    ++ optional withCyrus cyrus_sasl
+    ++ optional withUnicode icu;
 
   configureFlags = [
     (stdenv.lib.enableFeature withPerl "perl")
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index c155d696d39f..b1aed5e5f59d 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
+{ stdenv, fetchurl, pkgconfig, intltool, perlPackages
 , goffice, gnome3, makeWrapper, gtk3, bison, pythonPackages
 , itstool
 }:
@@ -20,19 +20,19 @@ in stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteInPlace doc/C/gnumeric.xml \
-	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent ${isopub} \
-	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent ${isonum} \
-	--replace http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent ${isogrk1}
+      --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isopub.ent ${isopub} \
+      --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isonum.ent ${isonum} \
+      --replace http://www.oasis-open.org/docbook/xml/4.5/ent/isogrk1.ent ${isogrk1}
   '';
 
   nativeBuildInputs = [ pkgconfig ];
 
   # ToDo: optional libgda, introspection?
   buildInputs = [
-    intltool perl perlXMLParser bison
+    intltool bison
     goffice gtk3 makeWrapper gnome3.defaultIconTheme
     python pygobject3 itstool
-  ];
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 039e2fc1fde9..12b5aef898d1 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -2,10 +2,10 @@
 , hicolor-icon-theme, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.2.1";
+  name = "homebank-5.2.2";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "0i3pb4v4fs98xd6d4x2gjvhqrsrjvssaws3nkpjia4fagd4dvqbz";
+    sha256 = "19cm49p2x6nwia2yvwj3fv7jxbhw0vx4bs1zqbfvdr5vzwgj5j5c";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index b89b28ed0479..dab30e90f4d8 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -17,7 +17,7 @@ let
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.29.22";
+  version = "14.29.26";
   pname = "jmol";
   name = "${pname}-${version}";
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "1wnrrn2wza9z6bp5axg191qf32sx4q8fj4xz404zp278rc4i2fpv";
+    sha256 = "0a728lwqbbnm5v2spi5rbqy3xldbcf2gcsf48rkq3p43laps3630";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix
index e4f0cb8d0b1a..3f664006cd0f 100644
--- a/pkgs/applications/science/electronics/gtkwave/default.nix
+++ b/pkgs/applications/science/electronics/gtkwave/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gtkwave-${version}";
-  version = "3.3.94";
+  version = "3.3.95";
 
   src = fetchurl {
     url    = "mirror://sourceforge/gtkwave/${name}.tar.gz";
-    sha256 = "1v14sdd4lykly6szal6ky79b0s5pv6f1xifk5mkqkg5bkpjq71fg";
+    sha256 = "1999wnipah1ncvjzjf95pfdrvgq1kd6hli8xlaj2hfjka8pamfaf";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index 23f1ff85edf0..040d722f9410 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -37,6 +37,8 @@ self = stdenv.mkDerivation {
 
   passthru = {
     inherit coq-version;
+    inherit ocamlPackages;
+    # For compatibility
     inherit (ocamlPackages) ocaml camlp5 findlib num;
     emacsBufferSetup = pkgs: ''
       ; Propagate coq paths to children
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 1ccc365498ce..58609e856c3b 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
-    url    = https://gforge.inria.fr/frs/download.php/file/37604/why3-1.0.0.tar.gz;
-    sha256 = "18h00diw1c051v7ya0lv09ns5630qi9savwffx0652mcc4b4qpxn";
+    url    = https://gforge.inria.fr/frs/download.php/file/37767/why3-1.1.0.tar.gz;
+    sha256 = "199ziq8mv3r24y3dd1n2r8k2gy09p7kdyyhkg9qn1vzfd2fxwzc1";
   };
 
   buildInputs = (with ocamlPackages; [
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index 7973fa8b3efb..525fc5f1dc26 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, cmake, blas, liblapack, gfortran, gmm, fltk, libjpeg
 , zlib, libGLU_combined, libGLU, xorg }:
 
-let version = "4.0.1"; in
+let version = "4.0.2"; in
 
 stdenv.mkDerivation {
   name = "gmsh-${version}";
 
   src = fetchurl {
     url = "http://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "0s9pay32kci03qx3dlpf9h2n3hihf8zpidjnn8p9vmhnn0vav7rz";
+    sha256 = "03aw3sbz4x998rk29az7mgm0mrdb6614aqnppg81p5jkh5097jgk";
   };
 
   # The original CMakeLists tries to use some version of the Lapack lib
diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix
index 288ffd6e0e1a..098ce3925cf3 100644
--- a/pkgs/applications/science/math/sage/env-locations.nix
+++ b/pkgs/applications/science/math/sage/env-locations.nix
@@ -38,6 +38,7 @@ writeTextFile rec {
     export COMBINATORIAL_DESIGN_DATA_DIR="${combinatorial_designs}/share/combinatorial_designs"
     export CREMONA_MINI_DATA_DIR="${elliptic_curves}/share/cremona"
     export JMOL_DIR="${jmol}"
+    export JSMOL_DIR="${jmol}/share/jsmol"
     export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax"
     export THREEJS_DIR="${three}/lib/node_modules/three"
     export SAGE_INCLUDE_DIRECTORIES="${cysignals}/lib/python2.7/site-packages"
diff --git a/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
new file mode 100644
index 000000000000..8cd80281d0e4
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
@@ -0,0 +1,35 @@
+From 8218bd4fdeb4c92de8af0d3aabec55980fc4fb3d Mon Sep 17 00:00:00 2001
+From: Timo Kaufmann <timokau@zoho.com>
+Date: Sun, 21 Oct 2018 17:52:40 +0200
+Subject: [PATCH] Only test py2/py3 optional tests when all of sage is tested
+
+---
+ src/sage/doctest/control.py | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
+index bf18df8b2b..935c67abf7 100644
+--- a/src/sage/doctest/control.py
++++ b/src/sage/doctest/control.py
+@@ -362,7 +362,8 @@ class DocTestController(SageObject):
+                     if not optionaltag_regex.search(o):
+                         raise ValueError('invalid optional tag {!r}'.format(o))
+ 
+-                options.optional |= auto_optional_tags
++                if "sage" in options.optional:
++                    options.optional |= auto_optional_tags
+ 
+         self.options = options
+ 
+@@ -765,7 +766,7 @@ class DocTestController(SageObject):
+             sage: DC = DocTestController(DD, [dirname])
+             sage: DC.expand_files_into_sources()
+             sage: sorted(DC.sources[0].options.optional)  # abs tol 1
+-            ['guava', 'magma', 'py2']
++            ['guava', 'magma']
+ 
+         We check that files are skipped appropriately::
+ 
+-- 
+2.18.1
+
diff --git a/pkgs/applications/science/math/sage/patches/dochtml-optional.patch b/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
deleted file mode 100644
index a51e30312ed9..000000000000
--- a/pkgs/applications/science/math/sage/patches/dochtml-optional.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-diff --git a/src/doc/common/conf.py b/src/doc/common/conf.py
-index 25f94f7b7d..9f6139ea4a 100644
---- a/src/doc/common/conf.py
-+++ b/src/doc/common/conf.py
-@@ -622,9 +622,9 @@ def call_intersphinx(app, env, node, contnode):
-     Check that the link from the thematic tutorials to the reference
-     manual is relative, see :trac:`20118`::
- 
--        sage: from sage.env import SAGE_DOC
--        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")
--        sage: for line in open(thematic_index).readlines():
-+        sage: from sage.env import SAGE_DOC  # optional - dochtml
-+        sage: thematic_index = os.path.join(SAGE_DOC, "html", "en", "thematic_tutorials", "index.html")  # optional - dochtml
-+        sage: for line in open(thematic_index).readlines():  # optional - dochtml
-         ....:     if "padics" in line:
-         ....:         sys.stdout.write(line)
-         <li><a class="reference external" href="../reference/padics/sage/rings/padics/tutorial.html#sage-rings-padics-tutorial" title="(in Sage Reference Manual: p-Adics ...)"><span>Introduction to the -adics</span></a></li>
-diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py
-index 4236fd05e0..8e499cbaf7 100644
---- a/src/sage/doctest/control.py
-+++ b/src/sage/doctest/control.py
-@@ -87,7 +87,7 @@ class DocTestDefaults(SageObject):
-         self.sagenb = False
-         self.long = False
-         self.warn_long = None
--        self.optional = set(['sage']) | auto_optional_tags
-+        self.optional = set(['sage', 'dochtml']) | auto_optional_tags
-         self.randorder = None
-         self.global_iterations = 1  # sage-runtests default is 0
-         self.file_iterations = 1    # sage-runtests default is 0
-@@ -343,7 +343,8 @@ class DocTestController(SageObject):
-                     if not optionaltag_regex.search(o):
-                         raise ValueError('invalid optional tag {!r}'.format(o))
- 
--                options.optional |= auto_optional_tags
-+                if "sage" in options.optional:
-+                    options.optional |= auto_optional_tags
- 
-         self.options = options
-         self.files = args
-@@ -741,7 +742,7 @@ class DocTestController(SageObject):
-             sage: DC = DocTestController(DD, [dirname])
-             sage: DC.expand_files_into_sources()
-             sage: sorted(DC.sources[0].options.optional)  # abs tol 1
--            ['guava', 'magma', 'py3']
-+            ['guava', 'magma']
- 
-         We check that files are skipped appropriately::
- 
-@@ -968,7 +969,7 @@ class DocTestController(SageObject):
-             sage: from sage.doctest.control import DocTestDefaults, DocTestController
-             sage: DC = DocTestController(DocTestDefaults(), [])
-             sage: DC._optional_tags_string()
--            'sage'
-+            'dochtml,sage'
-             sage: DC = DocTestController(DocTestDefaults(optional="all,and,some,more"), [])
-             sage: DC._optional_tags_string()
-             'all'
-diff --git a/src/sage/misc/sagedoc.py b/src/sage/misc/sagedoc.py
-index 9255aa848f..cc4712d3ec 100644
---- a/src/sage/misc/sagedoc.py
-+++ b/src/sage/misc/sagedoc.py
-@@ -18,9 +18,9 @@ TESTS:
- Check that argspecs of extension function/methods appear correctly,
- see :trac:`12849`::
- 
--    sage: from sage.env import SAGE_DOC
--    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')
--    sage: with open(docfilename) as fobj:
-+    sage: from sage.env import SAGE_DOC  # optional - dochtml
-+    sage: docfilename = os.path.join(SAGE_DOC, 'html', 'en', 'reference', 'calculus', 'sage', 'symbolic', 'expression.html')  # optional - dochtml
-+    sage: with open(docfilename) as fobj:  # optional - dochtml
-     ....:     for line in fobj:
-     ....:         if "#sage.symbolic.expression.Expression.numerical_approx" in line:
-     ....:             print(line)
-@@ -790,11 +790,12 @@ def _search_src_or_doc(what, string, extra1='', extra2='', extra3='',
- 
-     ::
- 
--        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1
-+        sage: from sage.misc.sagedoc import _search_src_or_doc  # optional - dochtml
-+        sage: len(_search_src_or_doc('src', r'matrix\(', 'incidence_structures', 'self', 'combinat', interact=False).splitlines()) > 1  # optional - dochtml
-         True
--        sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # long time (4s on sage.math, 2012)
-+        sage: 'abvar/homology' in _search_src_or_doc('doc', 'homology', 'variety', interact=False)  # optional - dochtml, long time (4s on sage.math, 2012)
-         True
--        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)
-+        sage: 'divisors' in _search_src_or_doc('src', '^ *def prime', interact=False)  # optional - dochtml
-         True
-     """
-     # process keywords
-@@ -1160,9 +1161,9 @@ def search_doc(string, extra1='', extra2='', extra3='', extra4='',
-     counting the length of ``search_doc('tree',
-     interact=False).splitlines()`` gives the number of matches. ::
- 
--        sage: len(search_doc('tree', interact=False).splitlines()) > 4000  # long time
-+        sage: len(search_doc('tree', interact=False).splitlines()) > 4000  # optional - dochtml, long time
-         True
--        sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000  # long time
-+        sage: len(search_doc('tree', whole_word=True, interact=False).splitlines()) < 2000  # optional - dochtml, long time
-         True
-     """
-     return _search_src_or_doc('doc', string, extra1=extra1, extra2=extra2,
-@@ -1332,9 +1333,9 @@ class _sage_doc:
- 
-     EXAMPLES::
- 
--        sage: browse_sage_doc._open("reference", testing=True)[0]  # indirect doctest
-+        sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml, indirect doctest
-         'http://localhost:8000/doc/live/reference/index.html'
--        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]
-+        sage: browse_sage_doc(identity_matrix, 'rst')[-107:-47]  # optional - dochtml
-         'Full MatrixSpace of 3 by 3 sparse matrices over Integer Ring'
-     """
-     def __init__(self):
-@@ -1494,9 +1495,9 @@ class _sage_doc:
- 
-         EXAMPLES::
- 
--            sage: browse_sage_doc._open("reference", testing=True)[0]
-+            sage: browse_sage_doc._open("reference", testing=True)[0]  # optional - dochtml
-             'http://localhost:8000/doc/live/reference/index.html'
--            sage: browse_sage_doc._open("tutorial", testing=True)[1]
-+            sage: browse_sage_doc._open("tutorial", testing=True)[1]  # optional - dochtml
-             '.../html/en/tutorial/index.html'
-         """
-         url = self._base_url + os.path.join(name, "index.html")
diff --git a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch b/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
index d06e1e6cedf2..986ae42aeb62 100644
--- a/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
+++ b/pkgs/applications/science/math/sage/patches/eclib-20180710.patch
@@ -14,27 +14,3 @@ index 4417b59276..ae57ca2991 100644
      """
      global instances
      try:
-diff --git a/src/sage/libs/eclib/wrap.cpp b/src/sage/libs/eclib/wrap.cpp
-index 5fd5693b53..d12468faa8 100644
---- a/src/sage/libs/eclib/wrap.cpp
-+++ b/src/sage/libs/eclib/wrap.cpp
-@@ -133,8 +133,8 @@ char* Curvedata_isogeny_class(struct Curvedata* E, int verbose)
- 
- 
- int mw_process(struct Curvedata* curve, struct mw* m,
--                      const struct bigint* x, const struct bigint* y,
--                      const struct bigint* z, int sat)
-+                      const bigint* x, const bigint* y,
-+                      const bigint* z, int sat)
- {
-   Point P(*curve, *x, *y, *z);
-   if (!P.isvalid())
-@@ -188,7 +188,7 @@ int mw_rank(struct mw* m)
- }
- 
- /* Returns index and unsat long array, which user must deallocate */
--int mw_saturate(struct mw* m, struct bigint* index, char** unsat,
-+int mw_saturate(struct mw* m, bigint* index, char** unsat,
-                        long sat_bd, int odd_primes_only)
- {
-   vector<long> v;
diff --git a/pkgs/applications/science/math/sage/patches/pari-no-threads.patch b/pkgs/applications/science/math/sage/patches/pari-no-threads.patch
deleted file mode 100644
index 13b47dbdd31b..000000000000
--- a/pkgs/applications/science/math/sage/patches/pari-no-threads.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/sage/libs/pari/__init__.py b/src/sage/libs/pari/__init__.py
-index e451766474..77eda66097 100644
---- a/src/sage/libs/pari/__init__.py
-+++ b/src/sage/libs/pari/__init__.py
-@@ -205,6 +205,13 @@ def _get_pari_instance():
-     # messages in Sage.
-     P.default("debugmem", 0)
- 
-+    # Make sure pari doesn't use threads, regardless of how it was compiled.
-+    # Threads cause some doctest failures (memory issues). Those could probably
-+    # be solved without disabling threads. But that would require figuring out
-+    # some sensible values for `threadsizemax`. See
-+    # https://pari.math.u-bordeaux.fr/dochtml/html/GP_defaults.html
-+    P.default("nbthreads", 1)
-+
-     return P
- 
- pari = _get_pari_instance()
diff --git a/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch b/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch
new file mode 100644
index 000000000000..64dd6fd93777
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/revert-sphinx-always-fork.patch
@@ -0,0 +1,71 @@
+commit f1c59929c3c180ac283334c2b3c901ac8c82f6b1
+Author: Timo Kaufmann <timokau@zoho.com>
+Date:   Sat Oct 20 20:07:41 2018 +0200
+
+    Revert "Something related to the sphinxbuild seems to be leaking memory"
+    
+    This reverts commit 7d85dc796c58c3de57401bc22d3587b94e205091.
+
+diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py
+index 0b24b1a60b..084c3f89d7 100644
+--- a/src/sage_setup/docbuild/__init__.py
++++ b/src/sage_setup/docbuild/__init__.py
+@@ -265,29 +265,35 @@ class DocBuilder(object):
+     # import the customized builder for object.inv files
+     inventory = builder_helper('inventory')
+ 
+-def build_many(target, args):
+-    # Pool() uses an actual fork() to run each new instance. This is important
+-    # for performance reasons, i.e., don't use a forkserver when it becomes
+-    # available with Python 3: Here, sage is already initialized which is quite
+-    # costly, with a forkserver we would have to reinitialize it for every
+-    # document we build. At the same time, don't serialize this by taking the
+-    # pool (and thus the call to fork()) out completely: The call to Sphinx
+-    # leaks memory, so we need to build each document in its own process to
+-    # control the RAM usage.
+-    from multiprocessing import Pool
+-    pool = Pool(NUM_THREADS, maxtasksperchild=1)
+-    # map_async handles KeyboardInterrupt correctly. Plain map and
+-    # apply_async does not, so don't use it.
+-    x = pool.map_async(target, args, 1)
+-    try:
+-        ret = x.get(99999)
+-        pool.close()
+-        pool.join()
+-    except Exception:
+-        pool.terminate()
+-        if ABORT_ON_ERROR:
+-            raise
+-    return ret
++if NUM_THREADS > 1:
++    def build_many(target, args):
++        from multiprocessing import Pool
++        pool = Pool(NUM_THREADS, maxtasksperchild=1)
++        # map_async handles KeyboardInterrupt correctly. Plain map and
++        # apply_async does not, so don't use it.
++        x = pool.map_async(target, args, 1)
++        try:
++            ret = x.get(99999)
++            pool.close()
++            pool.join()
++        except Exception:
++            pool.terminate()
++            if ABORT_ON_ERROR:
++                raise
++        return ret
++else:
++    def build_many(target, args):
++        results = []
++
++        for arg in args:
++            try:
++                results.append(target(arg))
++            except Exception:
++                if ABORT_ON_ERROR:
++                    raise
++
++        return results
++
+ 
+ ##########################################
+ #      Parallel Building Ref Manual      #
diff --git a/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch b/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch
deleted file mode 100644
index 4c8df92904ed..000000000000
--- a/pkgs/applications/science/math/sage/patches/singular-4.1.1p2.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-diff --git a/src/sage/interfaces/singular.py b/src/sage/interfaces/singular.py
-index 9d65c9fa6c..a028bbe719 100644
---- a/src/sage/interfaces/singular.py
-+++ b/src/sage/interfaces/singular.py
-@@ -654,7 +654,7 @@ class Singular(ExtraTabCompletion, Expect):
- 
-         s = Expect.eval(self, x, **kwds)
- 
--        if s.find("error") != -1 or s.find("Segment fault") != -1:
-+        if s.find("error occurred") != -1 or s.find("Segment fault") != -1:
-             raise SingularError('Singular error:\n%s'%s)
- 
-         if get_verbose() > 0:
-@@ -1079,7 +1079,7 @@ class Singular(ExtraTabCompletion, Expect):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
-+            //   coefficients: Float()
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -1157,7 +1157,7 @@ class Singular(ExtraTabCompletion, Expect):
-              sage: singular._tab_completion()
-              ['exteriorPower',
-               ...
--              'flintZ']
-+              'crossprod']
-          """
-         p = re.compile("// *([a-z0-9A-Z_]*).*") #compiles regular expression
-         proclist = self.eval("listvar(proc)").splitlines()
-@@ -1183,7 +1183,7 @@ class Singular(ExtraTabCompletion, Expect):
-         EXAMPLES::
- 
-             sage: singular.version()
--            "Singular ... version 4.1.0 ...
-+            "Singular ... version 4...
-         """
-         return singular_version()
- 
-@@ -1562,7 +1562,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-         elif charstr[0] in ['0', 'QQ']:
-             from sage.all import QQ
-             br = QQ
--        elif charstr[0]=='real':
-+        elif charstr[0].startswith('Float'):
-             from sage.all import RealField, ceil, log
-             prec = singular.eval('ringlist(basering)[1][2][1]')
-             br = RealField(ceil((ZZ(prec)+1)/log(2,10)))
-@@ -1750,7 +1750,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
- 
-         # Singular 4 puts parentheses around floats and sign outside them
-         charstr = self.parent().eval('charstr(basering)').split(',',1)
--        if charstr[0] in ['real', 'complex']:
-+        if charstr[0]=='complex' or charstr[0].startswith('Float'):
-               for i in range(coeff_start, 2 * coeff_start):
-                   singular_poly_list[i] = singular_poly_list[i].replace('(','').replace(')','')
- 
-@@ -1992,7 +1992,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: S = singular.ring('real', '(a,b)', 'lp')
-             sage: singular.current_ring()
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
-+            //   coefficients: Float()
-             //   number of vars : 2
-             //        block   1 : ordering lp
-             //                  : names    a b
-@@ -2072,7 +2072,7 @@ class SingularElement(ExtraTabCompletion, ExpectElement):
-             sage: R._tab_completion()
-             ['exteriorPower',
-              ...
--             'flintZ']
-+             'crossprod']
-         """
-         return self.parent()._tab_completion()
- 
-@@ -2358,7 +2358,7 @@ def singular_version():
-     EXAMPLES::
- 
-         sage: singular.version()
--        "Singular ... version 4.1.0 ...
-+        "Singular ... version 4...
-     """
-     return singular.eval('system("--version");')
- 
-diff --git a/src/sage/libs/singular/decl.pxd b/src/sage/libs/singular/decl.pxd
-index 4b658c4807..d863740419 100644
---- a/src/sage/libs/singular/decl.pxd
-+++ b/src/sage/libs/singular/decl.pxd
-@@ -170,7 +170,7 @@ cdef extern from "singular/Singular/libsingular.h":
- 
-     int n_NumberOfParameters(const n_Procs_s* r)
- 
--    ctypedef struct poly "polyrec":
-+    ctypedef struct poly "spolyrec":
-         poly *next
-         number *coef
-         unsigned long exp[1]
-@@ -630,9 +630,13 @@ cdef extern from "singular/Singular/libsingular.h":
-     # return p*q, destroys p and q
-     poly *p_Mult_q(poly *p, poly *q, ring *r)
- 
-+    # polynomial division, ignoring the rest
-+    # via singclap_pdivide resp. idLift, destroys p,q
-+    poly *p_Divide(poly *p, poly *q, ring *r)
-+
-     # divide monomial p by monomial q, p,q const
- 
--    poly *pDivide(poly *p,poly *q)
-+    poly *pMDivide(poly *p,poly *q)
- 
-     # return the i-th power of p; p destroyed, requires global ring
- 
-diff --git a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-index 2a8d9ae021..aeff53af6c 100644
---- a/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-+++ b/src/sage/rings/polynomial/multi_polynomial_libsingular.pyx
-@@ -190,8 +190,8 @@ from sage.libs.singular.decl cimport (
-     n_IsUnit, n_Invers,
-     p_ISet, rChangeCurrRing, p_Copy, p_Init, p_SetCoeff, p_Setm, p_SetExp, p_Add_q,
-     p_NSet, p_GetCoeff, p_Delete, p_GetExp, pNext, rRingVar, omAlloc0, omStrDup,
--    omFree, pDivide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
--    pDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
-+    omFree, pMDivide, p_Divide, p_SetCoeff0, n_Init, p_DivisibleBy, pLcm, p_LmDivisibleBy,
-+    pMDivide, p_IsConstant, p_ExpVectorEqual, p_String, p_LmInit, n_Copy,
-     p_IsUnit, p_Series, p_Head, idInit, fast_map_common_subexp, id_Delete,
-     p_IsHomogeneous, p_Homogen, p_Totaldegree,pLDeg1_Totaldegree, singclap_pdivide, singclap_factorize,
-     idLift, IDELEMS, On, Off, SW_USE_CHINREM_GCD, SW_USE_EZGCD,
-@@ -1693,8 +1693,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
-         if not g._poly:
-             raise ZeroDivisionError
- 
--        if r!=currRing: rChangeCurrRing(r)  # pDivide
--        res = pDivide(f._poly, g._poly)
-+        if r!=currRing: rChangeCurrRing(r)  # pMDivide
-+        res = pMDivide(f._poly, g._poly)
-         if coeff:
-             if r.cf.type == n_unknown or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
-                 n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
-@@ -1853,8 +1853,8 @@ cdef class MPolynomialRing_libsingular(MPolynomialRing_base):
-                    and (<MPolynomial_libsingular>g) \
-                    and g.parent() is self \
-                    and p_LmDivisibleBy((<MPolynomial_libsingular>g)._poly, m, r):
--                if r!=currRing: rChangeCurrRing(r)  # pDivide
--                flt = pDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
-+                if r!=currRing: rChangeCurrRing(r)  # pMDivide
-+                flt = pMDivide(f._poly, (<MPolynomial_libsingular>g)._poly)
-                 #p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<MPolynomial_libsingular>g)._poly, r), r), r)
-                 p_SetCoeff(flt, n_Init(1, r), r)
-                 return new_MP(self,flt), g
-@@ -4023,16 +4023,6 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             Traceback (most recent call last):
-             ...
-             NotImplementedError: Division of multivariate polynomials over non fields by non-monomials not implemented.
--
--        TESTS::
--
--            sage: P.<x,y> = ZZ[]
--            sage: p = 3*(-x^8*y^2 - x*y^9 + 6*x^8*y + 17*x^2*y^6 - x^3*y^2)
--            sage: q = 7*(x^2 + x*y + y^2 + 1)
--            sage: p*q//q == p
--            True
--            sage: p*q//p == q
--            True
-         """
-         cdef MPolynomialRing_libsingular parent = self._parent
-         cdef ring *r = self._parent_ring
-@@ -4052,13 +4042,18 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         _right = <MPolynomial_libsingular>right
- 
-         if r.cf.type != n_unknown:
-+            if r.cf.type == n_Z:
-+                P = parent.change_ring(RationalField())
-+                f = P(self)//P(right)
-+                CM = list(f)
-+                return parent(sum([c.floor()*m for c,m in CM]))
-             if _right.is_monomial():
-                 p = _self._poly
-                 quo = p_ISet(0,r)
--                if r != currRing: rChangeCurrRing(r)   # pDivide
-+                if r != currRing: rChangeCurrRing(r)   # pMDivide
-                 while p:
-                     if p_DivisibleBy(_right._poly, p, r):
--                        temp = pDivide(p, _right._poly)
-+                        temp = pMDivide(p, _right._poly)
-                         p_SetCoeff0(temp, n_Copy(p_GetCoeff(p, r), r), r)
-                         quo = p_Add_q(quo, temp, r)
-                     p = pNext(p)
-@@ -4794,6 +4789,8 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             sage: p = -x*y + x*z + 54*x - 2
-             sage: (5*p^2).lcm(3*p) == 15*p^2
-             True
-+            sage: lcm(2*x,2*x*y)
-+            2*x*y
-         """
-         cdef ring *_ring = self._parent_ring
-         cdef poly *ret
-@@ -4821,9 +4818,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         if _ring!=currRing: rChangeCurrRing(_ring)  # singclap_gcd
-         gcd = singclap_gcd(p_Copy(self._poly, _ring), p_Copy(_g._poly, _ring), _ring )
-         prod = pp_Mult_qq(self._poly, _g._poly, _ring)
--        ret = singclap_pdivide(prod , gcd , _ring)
--        p_Delete(&prod, _ring)
--        p_Delete(&gcd, _ring)
-+        ret = p_Divide(prod, gcd, _ring)
-         if count >= 20:
-             sig_off()
-         return new_MP(self._parent, ret)
-@@ -4866,7 +4861,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-             sage: f.quo_rem(y)
-             (2*x^2, x + 1)
-             sage: f.quo_rem(3*x)
--            (2*x*y + 1, -4*x^2*y - 2*x + 1)
-+            (0, 2*x^2*y + x + 1)
- 
-         TESTS::
- 
-@@ -4888,7 +4883,7 @@ cdef class MPolynomial_libsingular(MPolynomial):
-         if right.is_zero():
-             raise ZeroDivisionError
- 
--        if not self._parent._base.is_field() and not is_IntegerRing(self._parent._base):
-+        if not self._parent._base.is_field():
-             py_quo = self//right
-             py_rem = self - right*py_quo
-             return py_quo, py_rem
-diff --git a/src/sage/rings/polynomial/plural.pyx b/src/sage/rings/polynomial/plural.pyx
-index d5439f7f08..ad20ebcca0 100644
---- a/src/sage/rings/polynomial/plural.pyx
-+++ b/src/sage/rings/polynomial/plural.pyx
-@@ -998,7 +998,7 @@ cdef class NCPolynomialRing_plural(Ring):
-         if not g._poly:
-             raise ZeroDivisionError
- 
--        res = pDivide(f._poly,g._poly)
-+        res = pMDivide(f._poly,g._poly)
-         if coeff:
-             if (r.cf.type == n_unknown) or r.cf.cfDivBy(p_GetCoeff(f._poly, r), p_GetCoeff(g._poly, r), r.cf):
-                 n = r.cf.cfDiv( p_GetCoeff(f._poly, r) , p_GetCoeff(g._poly, r), r.cf)
-@@ -1193,7 +1193,7 @@ cdef class NCPolynomialRing_plural(Ring):
-             if isinstance(g, NCPolynomial_plural) \
-                    and (<NCPolynomial_plural>g) \
-                    and p_LmDivisibleBy((<NCPolynomial_plural>g)._poly, m, r):
--                flt = pDivide(f._poly, (<NCPolynomial_plural>g)._poly)
-+                flt = pMDivide(f._poly, (<NCPolynomial_plural>g)._poly)
-                 #p_SetCoeff(flt, n_Div( p_GetCoeff(f._poly, r) , p_GetCoeff((<NCPolynomial_plural>g)._poly, r), r), r)
-                 p_SetCoeff(flt, n_Init(1, r), r)
-                 return new_NCP(self,flt), g
-diff --git a/src/sage/rings/polynomial/polynomial_singular_interface.py b/src/sage/rings/polynomial/polynomial_singular_interface.py
-index 9331169f8b..f753610fd3 100644
---- a/src/sage/rings/polynomial/polynomial_singular_interface.py
-+++ b/src/sage/rings/polynomial/polynomial_singular_interface.py
-@@ -81,8 +81,8 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(CC)
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   coefficients: float[I](complex:15 digits, additional 0 digits)/(I^2+1)
--            //   number of vars : 2
-+            // coefficients: real[I](complex:15 digits, additional 0 digits)/(I^2+1)
-+            // number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-             //        block   2 : ordering C
-@@ -90,8 +90,8 @@ class PolynomialRing_singular_repr:
-             sage: R.<x,y> = PolynomialRing(RealField(100))
-             sage: singular(R)
-             polynomial ring, over a field, global ordering
--            //   coefficients: float
--            //   number of vars : 2
-+            // coefficients: Float()
-+            // number of vars : 2
-             //        block   1 : ordering dp
-             //                  : names    x y
-             //        block   2 : ordering C
diff --git a/pkgs/applications/science/math/sage/patches/spkg-scripts.patch b/pkgs/applications/science/math/sage/patches/spkg-scripts.patch
deleted file mode 100644
index 4d37998b288b..000000000000
--- a/pkgs/applications/science/math/sage/patches/spkg-scripts.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-commit f02714d4aea80e17cb8df62bab75d7c1a1b61a8e
-Author: Timo Kaufmann <timokau@zoho.com>
-Date:   Mon Jul 9 18:26:18 2018 +0200
-
-    Don't attempt to create dirs when showing pkg info
-    
-    The script dir cannot be assumed to be writeable after installation.
-
-diff --git a/build/bin/sage-spkg b/build/bin/sage-spkg
-index f3e02aeae5..190d558ad1 100755
---- a/build/bin/sage-spkg
-+++ b/build/bin/sage-spkg
-@@ -167,14 +167,6 @@ if [ -z "$SAGE_BUILD_DIR" ]; then
-     export SAGE_BUILD_DIR="$SAGE_LOCAL/var/tmp/sage/build"
- fi
- 
--for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS"; do
--    mkdir -p "$dir"
--    if [ $? -ne 0 ]; then
--        error_msg "Error creating directory $dir"
--        exit 1
--    fi
--done
--
- 
- # Remove '.' from PYTHONPATH, which may also come from SAGE_PATH, to avoid
- # trouble with setuptools / easy_install (cf. #10192, #10176):
-@@ -563,11 +555,13 @@ fi
- # Setup directories
- ##################################################################
- 
--mkdir -p "$SAGE_BUILD_DIR"
--if [ $? -ne 0 ]; then
--    error_msg "Error creating directory $SAGE_BUILD_DIR"
--    exit 1
--fi
-+for dir in "$SAGE_SPKG_INST" "$SAGE_SPKG_SCRIPTS" "$SAGE_BUILD_DIR"; do
-+    mkdir -p "$dir"
-+    if [ $? -ne 0 ]; then
-+        error_msg "Error creating directory $dir"
-+        exit 1
-+    fi
-+done
- 
- # Trac #5852: check write permissions
- if [ ! -w "$SAGE_BUILD_DIR" ]; then
diff --git a/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch b/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
deleted file mode 100644
index febab3702771..000000000000
--- a/pkgs/applications/science/math/sage/patches/test-in-tmpdir.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/src/sage/repl/ipython_kernel/install.py b/src/sage/repl/ipython_kernel/install.py
-index aa23c8405d..8a87de0591 100644
---- a/src/sage/repl/ipython_kernel/install.py
-+++ b/src/sage/repl/ipython_kernel/install.py
-@@ -112,7 +112,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_mathjax()
-             sage: mathjax = os.path.join(spec.nbextensions_dir, 'mathjax')
-             sage: os.path.isdir(mathjax)
-@@ -129,7 +129,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_jsmol()
-             sage: jsmol = os.path.join(spec.nbextensions_dir, 'jsmol')
-             sage: os.path.isdir(jsmol)
-@@ -146,7 +146,7 @@ class SageKernelSpec(object):
-         EXAMPLES::
- 
-             sage: from sage.repl.ipython_kernel.install import SageKernelSpec
--            sage: spec = SageKernelSpec()
-+            sage: spec = SageKernelSpec(prefix = tmp_dir())
-             sage: spec.use_local_threejs()
-             sage: threejs = os.path.join(spec.nbextensions_dir, 'threejs')
-             sage: os.path.isdir(threejs)
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index f74da33f4026..b86f9d1aa0de 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -3,35 +3,17 @@
 , fetchpatch
 }:
 stdenv.mkDerivation rec {
-  version = "8.3";
+  version = "8.4";
   name = "sage-src-${version}";
 
   src = fetchFromGitHub {
     owner = "sagemath";
     repo = "sage";
     rev = version;
-    sha256 = "0mbm99m5xry21xpi4q3q96gx392liwbifywf5awvl0j85a7rkfyx";
+    sha256 = "0gips1hagiz9m7s21bg5as8hrrm2x5k47h1bsq0pc46iplfwmv2d";
   };
 
   nixPatches = [
-    # https://trac.sagemath.org/ticket/25809
-    ./patches/spkg-scripts.patch
-
-    # https://trac.sagemath.org/ticket/25309
-    (fetchpatch {
-      name = "spkg-paths.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69&id=a86151429ccce1ddd085e8090ada8ebdf02f3310";
-      sha256 = "1xb9108rzzkdhn71vw44525620d3ww9jv1fph5a77v9y7nf9wgr7";
-    })
-    (fetchpatch {
-      name = "maxima-fas.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=97f06fddee920399d4fcda65aa9b0925774aec69";
-      sha256 = "14s50yg3hpw9cp3v581dx7zfmpm2j972im7x30iwki8k45mjvk3i";
-    })
-
-    # https://trac.sagemath.org/ticket/25722
-    ./patches/test-in-tmpdir.patch
-
     # https://trac.sagemath.org/ticket/25358
     (fetchpatch {
       name = "safe-directory-test-without-patch.patch";
@@ -46,45 +28,18 @@ stdenv.mkDerivation rec {
     # https://github.com/python/cpython/pull/7476
     ./patches/python-5755-hotpatch.patch
 
-    # https://trac.sagemath.org/ticket/25315
-    (fetchpatch {
-      name = "find-libraries-in-dyld-library-path.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=20d4593876ce9c6004eac2ab6fd61786d0d96a06";
-      sha256 = "1k3afq3qlzmgqwx6rzs5wv153vv9dsf5rk8pi61g57l3r3npbjmc";
-    })
-
-    # https://trac.sagemath.org/ticket/25345
-    # (upstream patch doesn't apply on 8.2 source)
-    ./patches/dochtml-optional.patch
+    # Revert the commit that made the sphinx build fork even in the single thread
+    # case. For some yet unknown reason, that breaks the docbuild on nix and archlinux.
+    # See https://groups.google.com/forum/#!msg/sage-packaging/VU4h8IWGFLA/mrmCMocYBwAJ.
+    ./patches/revert-sphinx-always-fork.patch
 
-    # work with pari with threads enabled at compile time (disable them at runtime)
-    # https://trac.sagemath.org/ticket/26002
-    ./patches/pari-no-threads.patch
+    # Make sure py2/py3 tests are only run when their expected context (all "sage"
+    # tests) are also run. That is necessary to test dochtml individually. See
+    # https://trac.sagemath.org/ticket/26110 for an upstream discussion.
+    ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch
   ];
 
   packageUpgradePatches = [
-    (fetchpatch {
-      name = "cypari2-1.2.1.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?h=62fe6eb15111327d930336d4252d5b23cbb22ab9";
-      sha256 = "1xax7vvs8h4xip16xcsp47xdb6lig6f2r3pl8cksvlz8lhgbyxh2";
-    })
-
-    # matplotlib 2.2.2 deprecated `normed` (replaced by `density`).
-    # This patch only ignores the warning. It would be equally easy to fix it
-    # (by replacing all mentions of `normed` by `density`), but its better to
-    # stay close to sage upstream. I didn't open an upstream ticket about it
-    # because the matplotlib update also requires a new dependency (kiwisolver)
-    # and I don't want to invest the time to learn how to add it.
-    ./patches/matplotlib-normed-deprecated.patch
-
-    # Update to 20171219 broke the doctests because of insignificant precision
-    # changes, make the doctests less fragile.
-    # I didn't open an upstream ticket because its not entirely clear if
-    # 20171219 is really "released" yet. It is listed on the github releases
-    # page, but not marked as "latest release" and the homepage still links to
-    # the last version.
-    ./patches/eclib-regulator-precision.patch
-
     # New glpk version has new warnings, filter those out until upstream sage has found a solution
     # https://trac.sagemath.org/ticket/24824
     ./patches/pari-stackwarn.patch # not actually necessary since tha pari upgrade, but necessary for the glpk patch to apply
@@ -94,66 +49,15 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     })
 
-    (fetchpatch {
-      name = "matplotlib-2.2.2";
-      url = "https://git.sagemath.org/sage.git/patch?id=0d6244ed53b71aba861ce3d683d33e542c0bf0b0";
-      sha256 = "15x4cadxxlsdfh2sblgagqjj6ir13fgdzixxnwnvzln60saahb34";
-    })
-
-    (fetchpatch {
-      name = "scipy-1.1.0";
-      url = "https://git.sagemath.org/sage.git/patch?id=e0db968a51678b34ebd8d34906c7042900272378";
-      sha256 = "0kq5zxqphhrmavrmg830wdr7hwp1bkzdqlf3jfqfr8r8xq12qwf7";
-    })
-
     # https://trac.sagemath.org/ticket/25260
     ./patches/numpy-1.15.1.patch
 
-    # https://trac.sagemath.org/ticket/25862
-    ./patches/eclib-20180710.patch
-
-    # https://trac.sagemath.org/ticket/24735
-    ./patches/singular-4.1.1p2.patch
-
-    # https://trac.sagemath.org/ticket/25567 and dependency #25635
-    (fetchpatch {
-      name = "pari-upgrade-dependency.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=6995e7cae1b3476ad0145f8dfc897cf91f0c3c4d";
-      sha256 = "1dvhabl1c9pwd9xkjvbjjg15mvb14b24p1f3cby1mlqk34d4lrs6";
-    })
-    (fetchpatch {
-      name = "pari-2.11.0.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=7af4748cab37d651eaa88be501db88f4a5ffc584";
-      sha256 = "13f740ly3c19gcmhjngiycvmc3mcfj61y00i6jv0wmfgpm2z3ank";
-    })
-
     # ntl upgrade
     (fetchpatch {
       name = "lcalc-c++11.patch";
       url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sagemath-lcalc-c++11.patch?h=packages/sagemath&id=0e31ae526ab7c6b5c0bfacb3f8b1c4fd490035aa";
       sha256 = "0p5wnvbx65i7cp0bjyaqgp4rly8xgnk12pqwaq3dqby0j2bk6ijb";
     })
-
-    # cddlib 0.94i -> 0.94j
-    (fetchpatch {
-      name = "cddlib-0.94j.patch";
-      url = "https://git.sagemath.org/sage.git/patch/?id=2ab1546b3e21d1d0ab3b4fcd58576848b3a2d888";
-      sha256 = "1c5gnasq7y9xxj762bn79bis0zi8d9bgg7jzlf64ifixsrc5cymb";
-    })
-
-    # arb 2.13.0 -> 2.14.0
-    (fetchpatch {
-      name = "arb-2.14.0.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=8.4.beta0&id=8bef4fd2876a61969b516fe4eb3b8ad7cc076c5e";
-      sha256 = "00p3hfsfn3w2vxgd9fjd23mz7xfxjfravf8ysjxkyd657jbkpjmk";
-    })
-
-    # https://trac.sagemath.org/ticket/26117
-    (fetchpatch {
-      name = "sympy-1.2.patch";
-      url = "https://git.sagemath.org/sage.git/patch?id2=8.4.beta2&id=d94a0a3a3fb4aec05a6f4d95166d90c284f05c36";
-      sha256 = "0an2xl1pp3jg36kgg2m1vb7sns7rprk1h3d0qy1gxwdab6i7qnvi";
-    })
   ];
 
   patches = nixPatches ++ packageUpgradePatches ++ [
diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix
index abcefba5e260..d26f5dad724e 100644
--- a/pkgs/applications/science/math/sage/sagelib.nix
+++ b/pkgs/applications/science/math/sage/sagelib.nix
@@ -47,6 +47,8 @@
 , singular
 , pip
 , jupyter_core
+, libhomfly
+, libbraiding
 }:
 
 buildPythonPackage rec {
@@ -109,6 +111,8 @@ buildPythonPackage rec {
     pip
     cython
     cysignals
+    libhomfly
+    libbraiding
   ];
 
   buildPhase = ''
diff --git a/pkgs/applications/science/misc/sasview/default.nix b/pkgs/applications/science/misc/sasview/default.nix
index bad29df9dc88..ed6fa3ae886b 100644
--- a/pkgs/applications/science/misc/sasview/default.nix
+++ b/pkgs/applications/science/misc/sasview/default.nix
@@ -17,7 +17,7 @@ in
 
 python.pkgs.buildPythonApplication rec {
   pname = "sasview";
-  version = "unstable-2018-05-05";
+  version = "4.2.0";
 
   checkInputs = with python.pkgs; [
     pytest
@@ -60,8 +60,8 @@ python.pkgs.buildPythonApplication rec {
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasview";
-    rev = "de431924d0ddf73cfb952df88bd6661181947019";
-    sha256 = "01bk0i0g65yzyq16n1a61rgjna8rrc2i51x2ndf1z7khb1fl16vg";
+    rev = "v${version}";
+    sha256 = "0k3486h46k6406h0vla8h68fd78wh3dcaq5w6f12jh6g4cjxv9qa";
   };
 
   patches = [ ./pyparsing-fix.patch ./local_config.patch ];
diff --git a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
index 0d6b206cb4a4..2163855d00e1 100644
--- a/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-crypt/default.nix
@@ -1,14 +1,14 @@
 { fetchFromGitHub, git, gnupg1compat, makeWrapper, openssl, stdenv }:
 
 stdenv.mkDerivation rec {
-
-  name = "git-crypt-${meta.version}";
+  name = "git-crypt-${version}";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "AGWA";
     repo = "git-crypt";
-    rev = meta.version;
-    sha256 = "4fe45f903a4b3cc06a5fe11334b914c225009fe8440d9e91a54fdf21cf4dcc4d";
+    rev = "${version}";
+    sha256 = "13m9y0m6gc3mlw3pqv9x4i0him2ycbysizigdvdanhh514kga602";
     inherit name;
   };
 
@@ -40,7 +40,6 @@ stdenv.mkDerivation rec {
     '';
     downloadPage = "https://github.com/AGWA/git-crypt/releases";
     license = licenses.gpl3;
-    version = "0.5.0";
     maintainers = [ maintainers.dochang ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
index 82bcbf74a9eb..c52a78ff0076 100644
--- a/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-recent/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "git-recent-${version}";
-  version = "1.0.4";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "paulirish";
     repo = "git-recent";
     rev = "v${version}";
-    sha256 = "0dbnm5b2v04fy0jgzphm3xvz9scx0n4p10fw8wjd0cy56308h79k";
+    sha256 = "06r1jzmzdv3d4vxdh5qyf5g5rgavxfmh2rpbs7a7byg3k7d77hpn";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index 7b81c28c3755..101770da8885 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -2,7 +2,7 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "git-review-${version}";
-  version = "1.26.0";
+  version = "1.27.0";
 
   # Manually set version because prb wants to get it from the git
   # upstream repository (and we are installing from tarball instead)
@@ -14,7 +14,7 @@ pythonPackages.buildPythonApplication rec {
 
   src = fetchurl rec {
     url = "https://github.com/openstack-infra/git-review/archive/${version}.tar.gz";
-    sha256 = "106nk6p7byf5vi68b2fvmwma5nk7qrv39nfj9p1bfxmb1gjdixhc";
+    sha256 = "0smdkps9avnj58izyfc5m0amq8nafgs9iqlyaf7ncrlvypia1f3q";
   };
 
   propagatedBuildInputs = with pythonPackages; [ pbr requests setuptools ];
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index c6eb563155f6..58cfa1862604 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -7,13 +7,21 @@ with stdenv.lib;
 
 buildGoPackage rec {
   name = "gitea-${version}";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "06h6v9py35mm0xk9l8xrq02vvr5vzl15gfbw9qqvpn8kiamkn53r";
+    sha256 = "168pbndlh7c148p8wzkd39kd7idiba9zw7v0alp9zqcqzzayaydj";
+    # Required to generate the same checksum on MacOS due to unicode encoding differences
+    # More information: https://github.com/NixOS/nixpkgs/pull/48128
+    extraPostFetch = ''
+      rm -rf $out/integrations
+      rm -rf $out/vendor/github.com/Unknown/cae/tz/testdata
+      rm -rf $out/vendor/github.com/Unknown/cae/zip/testdata
+      rm -rf $out/vendor/gopkg.in/macaron.v1/fixtures
+    '';
   };
 
   patches = [ ./static-root-path.patch ];
diff --git a/pkgs/applications/version-management/gitolite/default.nix b/pkgs/applications/version-management/gitolite/default.nix
index 78b59f59e949..0150c6021da6 100644
--- a/pkgs/applications/version-management/gitolite/default.nix
+++ b/pkgs/applications/version-management/gitolite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "gitolite-${version}";
-  version = "3.6.7";
+  version = "3.6.10";
 
   src = fetchFromGitHub {
     owner = "sitaramc";
     repo = "gitolite";
-    rev = "9123ae44b14b9df423a7bf1e693e05865ca320ac";
-    sha256 = "0rmyzr66lxh2ildf3h1nh3hh2ndwk21rjdin50r5vhwbdd7jg8vb";
+    rev = "v${version}";
+    sha256 = "0p2697mn6rwm03ndlv7q137zczai82n41aplq1g006ii7f12xy8h";
   };
 
   buildInputs = [ git nettools perl ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 41809e83b457..5464f605cbdb 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -4,7 +4,7 @@
 
 let
   # if you bump version, update pkgs.tortoisehg too or ping maintainer
-  version = "4.7.1";
+  version = "4.7.2";
   name = "mercurial-${version}";
   inherit (python2Packages) docutils hg-git dulwich python;
 in python2Packages.buildPythonApplication {
@@ -13,7 +13,7 @@ in python2Packages.buildPythonApplication {
 
   src = fetchurl {
     url = "https://mercurial-scm.org/release/${name}.tar.gz";
-    sha256 = "03217dk8jh2ckrqqhqyahw44f5j2aq3kv03ba5v2b11i3hy3h0w5";
+    sha256 = "1yq9r8s9jzj8hk2yizjk25s4w16yx9b8mbdj6wp8ld7j2r15kw4p";
   };
 
   inherit python; # pass it so that the same version can be used in hg2git
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index c54a9358b609..6a429116a71d 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "clipgrab-${version}";
-  version = "3.7.0";
+  version = "3.7.1";
 
   src = fetchurl {
-    sha256 = "0rx12218yy6h27z3xsmmxfsw8ldlsf4y862adkz6ybrygppsaib4";
+    sha256 = "0bhzkmcinlsfp5ldgqp59xnkaz6ikzdnq78drcdf1w7q4z05ipxd";
     # The .tar.bz2 "Download" link is a binary blob, the source is the .tar.gz!
     url = "https://download.clipgrab.org/${name}.tar.gz";
   };
diff --git a/pkgs/applications/video/kino/default.nix b/pkgs/applications/video/kino/default.nix
index 6c473e2d8dca..d6404a82bc34 100644
--- a/pkgs/applications/video/kino/default.nix
+++ b/pkgs/applications/video/kino/default.nix
@@ -51,7 +51,7 @@
 #AMR-WB IF2 support        no
 
 { stdenv, fetchurl, gtk2, libglade, libxml2, libraw1394, libsamplerate, libdv
-, pkgconfig, perl, perlXMLParser, libavc1394, libiec61883, libXv, gettext
+, pkgconfig, perlPackages, libavc1394, libiec61883, libXv, gettext
 , libX11, glib, cairo, intltool, ffmpeg, libv4l
 }:
 
@@ -64,7 +64,8 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ gtk2 libglade libxml2 libraw1394 libsamplerate libdv
-      pkgconfig perl perlXMLParser libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg libv4l ]; # TODOoptional packages 
+      pkgconfig libavc1394 libiec61883 intltool libXv gettext libX11 glib cairo ffmpeg libv4l ] # TODOoptional packages
+    ++ (with perlPackages; [ perl XMLParser ]);
 
   configureFlags = [ "--enable-local-ffmpeg=no" ];
 
diff --git a/pkgs/applications/video/openshot-qt/libopenshot.nix b/pkgs/applications/video/openshot-qt/libopenshot.nix
index 64bbb07f0aaa..aab54e6d2ee2 100644
--- a/pkgs/applications/video/openshot-qt/libopenshot.nix
+++ b/pkgs/applications/video/openshot-qt/libopenshot.nix
@@ -8,13 +8,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libopenshot-${version}";
-  version = "0.2.1";
+  version = "0.2.2";
 
   src = fetchFromGitHub {
     owner = "OpenShot";
     repo = "libopenshot";
     rev = "v${version}";
-    sha256 = "0n8ksnv6y2qh9iz352zqibfhnfvyjq7pkvy51prl47620ac40pc3";
+    sha256 = "1x4kv05pdq1pglb6y056aa7llc6iyibyhzg93k7zwj0q08cp5ixd";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/video/wxcam/default.nix b/pkgs/applications/video/wxcam/default.nix
index 24e99d78c486..64fcf0ba04a5 100644
--- a/pkgs/applications/video/wxcam/default.nix
+++ b/pkgs/applications/video/wxcam/default.nix
@@ -4,7 +4,7 @@
 , libX11, libXv, libSM
 , gtk, libglade
 , wxGTK
-, perlXMLParser
+, perlPackages
 , xvidcore
 , mjpegtools
 , alsaLib
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = with stdenv.lib;
-  [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlXMLParser xvidcore mjpegtools alsaLib libv4l cimg ];
+  [ pkgconfig intltool libX11 libXv libSM gtk libglade wxGTK perlPackages.XMLParser xvidcore mjpegtools alsaLib libv4l cimg ];
 
   NIX_CFLAGS_COMPILE="-I ${cimg}/include/cimg";
 
@@ -32,10 +32,10 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     make install prefix="$out" wxcamdocdir="$out/share/doc/wxcam"
-  '';    
-  
+  '';
+
   meta = with stdenv.lib; {
-    description = "An open-source, wxGTK-based webcam app for Linux"; 
+    description = "An open-source, wxGTK-based webcam app for Linux";
     longDescription = ''
     wxCam is a webcam application for linux. It supports video recording
     (avi uncompressed and Xvid formats), snapshot taking, and some special
diff --git a/pkgs/applications/video/xvidcap/default.nix b/pkgs/applications/video/xvidcap/default.nix
index 663f89b325a2..6e07fbb105b6 100644
--- a/pkgs/applications/video/xvidcap/default.nix
+++ b/pkgs/applications/video/xvidcap/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, perl, perlXMLParser, pkgconfig, gtk2
+{ stdenv, fetchurl, perlPackages, pkgconfig, gtk2
 , scrollkeeper, libglade, libXmu, libX11, libXext, gettext
 , lame, libXfixes, libXdamage }:
 
 stdenv.mkDerivation {
   name = "xvidcap-1.1.7";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/xvidcap/xvidcap-1.1.7.tar.gz;
     sha256 = "0p8rhpyhxgy37crf1xk1046z4p663jg7ww776jw92pld3s024ihm";
@@ -14,14 +14,14 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    perl perlXMLParser gtk2 scrollkeeper
+    gtk2 scrollkeeper
     libglade libXmu gettext lame libXdamage libXfixes libXext libX11
-  ];
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   # !!! don't know why this is necessary
   NIX_LDFLAGS = "-lXext -lX11 -lz -lgcc_s";
 
-  meta = with stdenv.lib; { 
+  meta = with stdenv.lib; {
     description = "Screencast video catpuring tool";
     homepage = http://xvidcap.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index 8d5ecfce9fd2..1d22385a2732 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchFromGitHub, bc, python, fuse, libarchive }:
+{ stdenv, fetchFromGitHub, bc, python, bison, flex, fuse, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "lkl-2018-03-10";
-  rev  = "8772a4da6064444c5b70766b806fe272b0287c31";
+  name = "lkl-2018-08-22";
+  rev  = "5221c547af3d29582703f01049617a6bf9f6232a";
 
   outputs = [ "dev" "lib" "out" ];
 
-  nativeBuildInputs = [ bc python ];
+  nativeBuildInputs = [ bc bison flex python ];
 
   buildInputs = [ fuse libarchive ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "1m6gh4zcx1q7rv05d0knjpk3ivk2b3kc0kwjndciadqc45kws4wh";
+    sha256 = "1k2plyx40xaphm8zsk2dd1lyv6dhsp7kj6hfmdgiamvl80bjajqy";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index 596bc9dd9e09..d9495bd984ef 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -10,6 +10,7 @@
 , sdlSupport ? !stdenv.isDarwin, SDL2
 , gtkSupport ? !stdenv.isDarwin && !xenSupport, gtk3, gettext, gnome3
 , vncSupport ? true, libjpeg, libpng
+, smartcardSupport ? true, libcacard
 , spiceSupport ? !stdenv.isDarwin, spice, spice-protocol
 , usbredirSupport ? spiceSupport, usbredir
 , xenSupport ? false, xen
@@ -58,6 +59,7 @@ stdenv.mkDerivation rec {
     ++ optionals sdlSupport [ SDL2 ]
     ++ optionals gtkSupport [ gtk3 gettext gnome3.vte ]
     ++ optionals vncSupport [ libjpeg libpng ]
+    ++ optionals smartcardSupport [ libcacard ]
     ++ optionals spiceSupport [ spice-protocol spice ]
     ++ optionals usbredirSupport [ usbredir ]
     ++ optionals stdenv.isLinux [ alsaLib libaio libcap_ng libcap attr ]
@@ -108,6 +110,7 @@ stdenv.mkDerivation rec {
     ++ optional stdenv.isDarwin "--cpu=x86_64"
     ++ optional numaSupport "--enable-numa"
     ++ optional seccompSupport "--enable-seccomp"
+    ++ optional smartcardSupport "--enable-smartcard"
     ++ optional spiceSupport "--enable-spice"
     ++ optional usbredirSupport "--enable-usb-redir"
     ++ optional hostCpuOnly "--target-list=${hostCpuTargets}"
diff --git a/pkgs/build-support/fetchmavenartifact/default.nix b/pkgs/build-support/fetchmavenartifact/default.nix
index a9c53249ae81..dc48a312fb37 100644
--- a/pkgs/build-support/fetchmavenartifact/default.nix
+++ b/pkgs/build-support/fetchmavenartifact/default.nix
@@ -67,7 +67,7 @@ in
     # packages packages that mention this derivation in their buildInputs.
     installPhase = ''
       mkdir -p $out/share/java
-      ln -s ${jar} $out/share/java
+      ln -s ${jar} $out/share/java/${artifactId}-${version}.jar
     '';
     # We also add a `jar` attribute that can be used to easily obtain the path
     # to the downloaded jar file.
diff --git a/pkgs/build-support/rust/default.nix b/pkgs/build-support/rust/default.nix
index 1d5de052f893..5fdcf520440e 100644
--- a/pkgs/build-support/rust/default.nix
+++ b/pkgs/build-support/rust/default.nix
@@ -91,8 +91,10 @@ in stdenv.mkDerivation (args // {
 
   installPhase = args.installPhase or ''
     runHook preInstall
-    mkdir -p $out/bin
-    find target/release -maxdepth 1 -executable -type f -exec cp "{}" $out/bin \;
+    mkdir -p $out/bin $out/lib
+    find target/release -maxdepth 1 -type f -executable ! \( -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" \) -print0 | xargs -r -0 cp -t $out/bin
+    find target/release -maxdepth 1 -regex ".*\.\(so.[0-9.]+\|so\|a\|dylib\)" -print0 | xargs -r -0 cp -t $out/lib
+    rmdir --ignore-fail-on-non-empty $out/lib $out/bin
     runHook postInstall
   '';
 
diff --git a/pkgs/data/fonts/andika/default.nix b/pkgs/data/fonts/andika/default.nix
new file mode 100644
index 000000000000..4b6965563a3a
--- /dev/null
+++ b/pkgs/data/fonts/andika/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchzip}:
+
+let
+  version = "5.000";
+in
+  fetchzip rec {
+    name = "andika-${version}";
+
+    url = "https://software.sil.org/downloads/r/andika/Andika-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "1jy9vpcprpd1k48p20wh6jhyn909ibia8lr5i747p41l0s8a7lqy";
+
+    meta = with stdenv.lib; {
+      homepage = https://software.sil.org/andika;
+      description = "A family designed especially for literacy use taking into account the needs of beginning readers";
+      longDescription = ''
+      Andika is a sans serif, Unicode-compliant font designed especially for literacy use, taking into account the needs of beginning readers. The focus is on clear, easy-to-perceive letterforms that will not be readily confused with one another.
+
+      A sans serif font is preferred by some literacy personnel for teaching people to read. Its forms are simpler and less cluttered than those of most serif fonts. For years, literacy workers have had to make do with fonts that were not really suitable for beginning readers and writers. In some cases, literacy specialists have had to tediously assemble letters from a variety of fonts in order to get all of the characters they need for their particular language project, resulting in confusing and unattractive publications. Andika addresses those issues.
+      '';
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.f--t ];
+    };
+  }
diff --git a/pkgs/data/fonts/charis-sil/default.nix b/pkgs/data/fonts/charis-sil/default.nix
new file mode 100644
index 000000000000..995e03372fb4
--- /dev/null
+++ b/pkgs/data/fonts/charis-sil/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchzip}:
+
+let
+  version = "5.000";
+in
+  fetchzip rec {
+    name = "charis-sil-${version}";
+
+    url = "https://software.sil.org/downloads/r/charis/CharisSIL-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "1a220s8n0flvcdkazqf5g10v6r55s2an308slvvarynpj6l7x27n";
+
+    meta = with stdenv.lib; {
+      homepage = https://software.sil.org/charis;
+      description = "A family of highly readable fonts for broad multilingual use";
+      longDescription = ''
+      This Charis SIL font is essentially the same design as the SIL Charis font first released by SIL in 1997. Charis is similar to Bitstream Charter, one of the first fonts designed specifically for laser printers. It is highly readable and holds up well in less-than-ideal reproduction environments. It also has a full set of styles – regular, italic, bold, bold italic. Charis is a serif, proportionally-spaced font optimized for readability in long printed documents.
+
+      The goal for this product was to provide a single Unicode-based font family that would contain a comprehensive inventory of glyphs needed for almost any Roman- or Cyrillic-based writing system, whether used for phonetic or orthographic needs. In addition, there is provision for other characters and symbols useful to linguists. This font makes use of state-of-the-art font technologies to support complex typographic issues, such as the need to position arbitrary combinations of base glyphs and diacritics optimally.
+      '';
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.f--t ];
+    };
+  }
diff --git a/pkgs/data/fonts/doulos-sil/default.nix b/pkgs/data/fonts/doulos-sil/default.nix
new file mode 100644
index 000000000000..324f6f63e556
--- /dev/null
+++ b/pkgs/data/fonts/doulos-sil/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchzip}:
+
+let
+  version = "5.000";
+in
+  fetchzip rec {
+    name = "doulos-sil-${version}";
+
+    url = "https://software.sil.org/downloads/r/doulos/DoulosSIL-${version}.zip";
+
+    postFetch = ''
+      mkdir -p $out/share/{doc,fonts}
+      unzip -j $downloadedFile \*.ttf -d $out/share/fonts/truetype
+      unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
+    '';
+
+    sha256 = "04a9cr7jbw7d8llcj8xsqp9rp8w6gcgbd9sdwvi02kz7jhqa0vad";
+
+    meta = with stdenv.lib; {
+      homepage = https://software.sil.org/doulos;
+      description = "A font that provides complete support for the International Phonetic Alphabet";
+      longDescription = ''
+      This Doulos SIL font is essentially the same design as the SIL Doulos font first released by SIL in 1992. The design has been changed from the original in that it has been scaled down to be a better match with contemporary digital fonts, such as Times New Roman®. This current release is a regular typeface, with no bold or italic version available or planned. It is intended for use alongside other Times-like fonts where a range of styles (italic, bold) are not needed. Therefore, just one font is included in the Doulos SIL release: Doulos SIL Regular.
+
+      The goal for this product was to provide a single Unicode-based font family that would contain a comprehensive inventory of glyphs needed for almost any Roman- or Cyrillic-based writing system, whether used for phonetic or orthographic needs. In addition, there is provision for other characters and symbols useful to linguists. This font makes use of state-of-the-art font technologies to support complex typographic issues, such as the need to position arbitrary combinations of base glyphs and diacritics optimally.
+      '';
+      license = licenses.ofl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.f--t ];
+    };
+  }
diff --git a/pkgs/data/fonts/weather-icons/default.nix b/pkgs/data/fonts/weather-icons/default.nix
new file mode 100644
index 000000000000..8d818d219239
--- /dev/null
+++ b/pkgs/data/fonts/weather-icons/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchzip }:
+
+let
+  version = "2.0.10";
+in fetchzip rec {
+  name = "weather-icons-${version}";
+
+  url = "https://github.com/erikflowers/weather-icons/archive/${version}.zip";
+
+  postFetch = ''
+    mkdir -p $out/share/fonts
+    unzip -j $downloadedFile weather-icons-${version}/_docs/font-source/weathericons-regular.otf -d $out/share/fonts/opentype
+  '';
+
+  sha256 = "10zny9987wybq55sm803hrjkp33dq1lgmnxc15kssr8yb81g6qrl";
+
+  meta = with stdenv.lib; {
+    description = "Weather Icons";
+    longDescription = ''
+      Weather Icons is the only icon font and CSS with 222 weather themed icons,
+      ready to be dropped right into Bootstrap, or any project that needs high
+      quality weather, maritime, and meteorological based icons!
+    '';
+    homepage = https://erikflowers.github.io/weather-icons/;
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ pnelson ];
+  };
+}
diff --git a/pkgs/data/icons/elementary-icon-theme/default.nix b/pkgs/data/icons/elementary-icon-theme/default.nix
index db4b5ea6387b..75847041ce6b 100644
--- a/pkgs/data/icons/elementary-icon-theme/default.nix
+++ b/pkgs/data/icons/elementary-icon-theme/default.nix
@@ -1,23 +1,31 @@
-{ stdenv, fetchurl, cmake, gtk3 }:
+{ stdenv, fetchFromGitHub, meson, ninja, python3, gtk3 }:
 
 stdenv.mkDerivation rec {
   name = "elementary-icon-theme-${version}";
-  version = "4.3.1";
+  version = "5.0";
 
-  src = fetchurl {
-    url = "https://launchpad.net/elementaryicons/4.x/${version}/+download/${name}.tar.xz";
-    sha256 = "1rp22igvnx71l94j5a6px142329djhk2psm1wfgbhdxbj23hw9kb";
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = "icons";
+    rev = version;
+    sha256 = "146s26q4bb5sag35iv42hrnbdciam2ajl7s5s5jayli5vp8bw08w";
   };
 
-  nativeBuildInputs = [ cmake gtk3 ];
+  nativeBuildInputs = [ meson ninja python3 gtk3 ];
 
-  postPatch = "cat > volumeicon/CMakeLists.txt";
-  postFixup = "gtk-update-icon-cache $out/share/icons/elementary";
+  postPatch = ''
+    chmod +x meson/symlink.py
+    patchShebangs .
+    sed -i volumeicon/meson.build -e "s,'/','$out',"
+  '';
 
+  postFixup = ''
+    gtk-update-icon-cache $out/share/icons/elementary
+  '';
 
   meta = with stdenv.lib; {
-    description = "Elementary icon theme";
-    homepage = https://launchpad.net/elementaryicons;
+    description = "Icons from the Elementary Project";
+    homepage = https://github.com/elementary/icons;
     license = licenses.gpl3;
     platforms = platforms.all;
     maintainers = with maintainers; [ simonvandel ];
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 0a5f7b313065..94e3218ad35e 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, osinfo-db-tools, intltool, libxml2 }:
 
 stdenv.mkDerivation rec {
-  name = "osinfo-db-20180920";
+  name = "osinfo-db-20181011";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${name}.tar.xz";
-    sha256 = "19jbzf1g523bkckli043q21hgbfv0043b5ib4zjiz8x98h7ngiac";
+    sha256 = "1f0xa50xn15p3zig9031icqky8drf0654sbjmmziw2ijcdyzfkcp";
   };
 
   nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];
diff --git a/pkgs/data/misc/shared-mime-info/default.nix b/pkgs/data/misc/shared-mime-info/default.nix
index f1df81f2db41..f82ae5f1f9f2 100644
--- a/pkgs/data/misc/shared-mime-info/default.nix
+++ b/pkgs/data/misc/shared-mime-info/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, gettext, perl, perlXMLParser, intltool
+{stdenv, fetchurl, pkgconfig, gettext, perlPackages, intltool
 , libxml2, glib}:
 
 let version = "1.10"; in
@@ -10,9 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1gxyvwym3xgpmp262gfn8jg5sla6k5hy6m6dmy6grgiq90xsh9f6";
   };
 
-  nativeBuildInputs = [
-    pkgconfig gettext intltool perl perlXMLParser libxml2 glib
-  ];
+  nativeBuildInputs = [ pkgconfig gettext intltool ] ++ (with perlPackages; [ perl XMLParser ]);
+  buildInputs = [ libxml2 glib ];
 
   meta = with stdenv.lib; {
     inherit version;
diff --git a/pkgs/desktops/deepin/dde-polkit-agent/default.nix b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
new file mode 100644
index 000000000000..71f9e9b0298e
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-polkit-agent/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, polkit-qt,
+dtkcore, dtkwidget, dde-qt-dbus-factory }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "dde-polkit-agent";
+  version = "0.2.1";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1n3hys5hhhd99ycpx4im6ihy53vl9c28z7ls7smn117h3ca4c8wc";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    qttools
+  ];
+
+  buildInputs = [
+    dde-qt-dbus-factory
+    dtkcore
+    dtkwidget
+    polkit-qt
+  ];
+
+  postPatch = ''
+    patchShebangs .
+
+    sed -i dde-polkit-agent.pro polkit-dde-authentication-agent-1.desktop \
+      -e "s,/usr,$out,"
+
+    sed -i pluginmanager.cpp \
+      -e "s,/usr/lib/polkit-1-dde/plugins,/run/current-system/sw/lib/polkit-1-dde/plugins,"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PolicyKit agent for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/dde-polkit-agent;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/dde-session-ui/default.nix b/pkgs/desktops/deepin/dde-session-ui/default.nix
new file mode 100644
index 000000000000..cab3aff14048
--- /dev/null
+++ b/pkgs/desktops/deepin/dde-session-ui/default.nix
@@ -0,0 +1,60 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qtsvg, qttools,
+  qtx11extras, xkeyboard_config, xorg, lightdm_qt, gsettings-qt,
+  dde-qt-dbus-factory, deepin-gettext-tools, dtkcore, dtkwidget,
+  hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "dde-session-ui";
+  version = "4.5.1.10";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0cr3g9jbgpp8k41i86lr4pg88gn690nzili7ah745vf1kdwvi1w0";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    qttools
+    deepin-gettext-tools
+  ];
+
+  buildInputs = [
+    dde-qt-dbus-factory
+    dtkcore
+    dtkwidget
+    gsettings-qt
+    lightdm_qt
+    qtsvg
+    qtx11extras
+    xorg.libXcursor
+    xorg.libXrandr
+    xorg.libXtst
+    xkeyboard_config
+    hicolor-icon-theme
+  ];
+
+  postPatch = ''
+    patchShebangs .
+    sed -i translate_desktop.sh -e "s,/usr/bin/deepin-desktop-ts-convert,deepin-desktop-ts-convert,"
+    find -type f -exec sed -i -e "s,path = /etc,path = $out/etc," {} +
+    find -type f -exec sed -i -e "s,path = /usr,path = $out," {} +
+    find -type f -exec sed -i -e "s,Exec=/usr,Exec=$out," {} +
+    find -type f -exec sed -i -e "s,/usr/share/dde-session-ui,$out/share/dde-session-ui," {} +
+    sed -i global_util/xkbparser.h -e "s,/usr/share/X11/xkb/rules/base.xml,${xkeyboard_config}/share/X11/xkb/rules/base.xml,"
+    sed -i lightdm-deepin-greeter/Scripts/lightdm-deepin-greeter -e "s,/usr/bin/lightdm-deepin-greeter,$out/bin/lightdm-deepin-greeter,"
+    # fix default background url
+    sed -i widgets/*.cpp boxframe/*.cpp -e 's,/usr/share/backgrounds/default_background.jpg,/usr/share/backgrounds/deepin/desktop.jpg,'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Deepin desktop-environment - Session UI module";
+    homepage = https://github.com/linuxdeepin/dde-session-ui;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-desktop-base/default.nix b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
new file mode 100644
index 000000000000..5b96e335c67e
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-desktop-base/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, deepin-wallpapers }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-desktop-base";
+  version = "2018.7.23";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1n1bjkvhgq138jcg3zkwg55r41056x91mh191mirlpvpic574ydc";
+  };
+
+  buildInputs = [ deepin-wallpapers ];
+
+  postPatch = ''
+    sed -i Makefile -e "s:/usr:$out:" -e "s:/etc:$out/etc:"
+  '';
+
+  postInstall = ''
+    # Remove Deepin distro's lsb-release
+    rm $out/etc/lsb-release
+
+    # Don't override systemd timeouts
+    rm -r $out/etc/systemd
+
+    # Remove apt-specific templates
+    rm -r $out/share/python-apt
+
+    # Remove empty backgrounds directory
+    rm -r $out/share/backgrounds
+
+    # Make a symlink for deepin-version
+    ln -s ../lib/deepin/desktop-version $out/etc/deepin-version
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Base assets and definitions for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-desktop-base;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
new file mode 100644
index 000000000000..b1a9c52014b8
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-desktop-schemas/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchFromGitHub, python, deepin-gtk-theme,
+deepin-icon-theme, deepin-sound-theme, deepin-wallpapers, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-desktop-schemas";
+  version = "3.2.18.7";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "1siv28wbfjydr3s9k9i5b9fin39yr8ys90f3wi7b8rfm3cr5yy6j";
+  };
+
+  nativeBuildInputs = [
+    python
+  ];
+
+  buildInputs = [
+    gnome3.dconf
+    deepin-gtk-theme
+    deepin-icon-theme
+    deepin-sound-theme
+    deepin-wallpapers
+  ];
+
+  postPatch = ''
+    # fix default background url
+    sed -i '/picture-uri/s|/usr/share/backgrounds/default_background.jpg|$out/share/backgrounds/deepin/default.png|' \
+      overrides/common/com.deepin.wrap.gnome.desktop.override
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "GSettings deepin desktop-wide schemas";
+    homepage = https://github.com/linuxdeepin/deepin-desktop-schemas;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-metacity/default.nix b/pkgs/desktops/deepin/deepin-metacity/default.nix
new file mode 100644
index 000000000000..b5eb71108763
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-metacity/default.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, gnome3, bamf,
+  json-glib, libcanberra-gtk3, libxkbcommon, libstartup_notification,
+  deepin-wallpapers, deepin-desktop-schemas }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-metacity";
+  version = "3.22.22";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0gr10dv8vphla6z7zqiyyg3n3ag4rrlz43c4kr7fd5xwx2bfvp3d";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libtool
+    gnome3.gnome-common
+    gnome3.glib.dev
+  ];
+
+  buildInputs = [
+    gnome3.dconf
+    gnome3.gtk
+    gnome3.libgtop
+    gnome3.zenity
+    bamf
+    json-glib
+    libcanberra-gtk3
+    libstartup_notification
+    libxkbcommon
+    deepin-wallpapers
+    deepin-desktop-schemas
+  ];
+
+  postPatch = ''
+    sed -i src/ui/deepin-background-cache.c \
+      -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;'
+  '';
+
+  NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0";
+
+  configureFlags = [ "--disable-themes-documentation" ];
+
+  preConfigure = ''
+    HOME=$TMP
+    NOCONFIGURE=1 ./autogen.sh
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "2D window manager for Deepin";
+    homepage = https://github.com/linuxdeepin/deepin-metacity;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-movie-reborn/default.nix b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
new file mode 100644
index 000000000000..52a51c0db861
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-movie-reborn/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, qttools, qtx11extras,
+  dtkcore, dtkwidget, ffmpeg, ffmpegthumbnailer, mpv, pulseaudio,
+  libdvdnav, libdvdread, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-movie-reborn";
+  version = "3.2.10";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "0lqmbvl9yyxgkiipd9r8mgmxl2sm34l3gr3hkwlc7r2l6kc32933";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkgconfig
+    qttools
+  ];
+
+  buildInputs = [
+    dtkcore
+    dtkwidget
+    ffmpeg
+    ffmpegthumbnailer
+    libdvdnav
+    libdvdread
+    mpv
+    pulseaudio
+    qtx11extras
+    xorg.libXdmcp
+    xorg.libXtst
+    xorg.libpthreadstubs
+    xorg.xcbproto
+  ];
+
+  NIX_LDFLAGS = "-ldvdnav";
+
+  postPatch = ''
+    sed -i src/CMakeLists.txt -e "s,/usr/lib/dtk2,${dtkcore}/lib/dtk2,"
+    sed -i src/libdmr/libdmr.pc.in -e "s,/usr,$out," -e 's,libdir=''${prefix}/,libdir=,'
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Deepin movie player";
+    homepage = https://github.com/linuxdeepin/deepin-movie-reborn;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-wallpapers/default.nix b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
new file mode 100644
index 000000000000..ed2c795fd9cb
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-wallpapers/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, dde-api }:
+
+stdenv.mkDerivation rec {
+  name = "deepin-wallpapers-${version}";
+  version = "1.7.5";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = "deepin-wallpapers";
+    rev = version;
+    sha256 = "0mfjkh81ci0gjwmgycrh32by7v9b73nyvyjbqd29ccpb8bpyyakn";
+  };
+
+  nativeBuildInputs = [ dde-api.bin ];
+
+  postPatch = ''
+    sed -i -e "s:/usr/lib/deepin-api:${dde-api.bin}/lib/deepin-api:" Makefile
+    sed -i -e "s:/usr/share/wallpapers:$out/share/wallpapers:" Makefile
+  '';
+
+  installPhase = ''
+    mkdir -p $out/share/wallpapers/deepin
+    cp -a deepin/* deepin-community/* deepin-private/* $out/share/wallpapers/deepin
+    mkdir -p $out/var/cache
+    cp -a image-blur $out/var/cache
+    
+    # Suggested by upstream
+    mkdir -p $out/share/backgrounds/deepin
+    ln -s ../../wallpapers/deepin/Hummingbird_by_Shu_Le.jpg $out/share/backgrounds/deepin/desktop.jpg
+    ln -s $(echo -n $out/share/wallpapers/deepin/Hummingbird_by_Shu_Le.jpg | md5sum | cut -d " " -f 1).jpg \
+      $out/var/cache/image-blur/$(echo -n $out/share/backgrounds/deepin/desktop.jpg | md5sum | cut -d " " -f 1).jpg
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Wallpapers for Deepin Desktop Environment";
+    homepage = https://github.com/linuxdeepin/deepin-wallpapers;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/deepin-wm/default.nix b/pkgs/desktops/deepin/deepin-wm/default.nix
new file mode 100644
index 000000000000..f936934dcc0c
--- /dev/null
+++ b/pkgs/desktops/deepin/deepin-wm/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
+  bamf, clutter-gtk, granite, libcanberra-gtk3, libwnck3,
+  deepin-mutter, deepin-wallpapers, deepin-desktop-schemas,
+  hicolor-icon-theme }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "deepin-wm";
+  version = "1.9.32";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "02vwbkfpxcwv01vqa70pg7dm0lhm1lwhdqhk057r147a9cjb3ssc";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    intltool
+    libtool
+    gnome3.gnome-common
+    vala
+  ];
+
+  buildInputs = [
+    gnome3.gnome-desktop
+    gnome3.libgee
+    bamf
+    clutter-gtk
+    granite
+    libcanberra-gtk3
+    libwnck3
+    deepin-mutter
+    deepin-wallpapers
+    deepin-desktop-schemas
+    hicolor-icon-theme
+  ];
+
+  postPatch = ''
+    sed -i src/Background/BackgroundSource.vala \
+      -e 's;/usr/share/backgrounds/default_background.jpg;${deepin-wallpapers}/share/backgrounds/deepin/desktop.jpg;'
+  '';
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Deepin Window Manager";
+    homepage = https://github.com/linuxdeepin/deepin-wm;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/deepin/default.nix b/pkgs/desktops/deepin/default.nix
index 1ef7177e94d4..86e5fc37fa54 100644
--- a/pkgs/desktops/deepin/default.nix
+++ b/pkgs/desktops/deepin/default.nix
@@ -6,12 +6,18 @@ let
     dbus-factory = callPackage ./dbus-factory { };
     dde-api = callPackage ./dde-api { };
     dde-calendar = callPackage ./dde-calendar { };
+    dde-polkit-agent = callPackage ./dde-polkit-agent { };
     dde-qt-dbus-factory = callPackage ./dde-qt-dbus-factory { };
+    dde-session-ui = callPackage ./dde-session-ui { };
+    deepin-desktop-base = callPackage ./deepin-desktop-base { };
+    deepin-desktop-schemas = callPackage ./deepin-desktop-schemas { };
     deepin-gettext-tools = callPackage ./deepin-gettext-tools { };
     deepin-gtk-theme = callPackage ./deepin-gtk-theme { };
     deepin-icon-theme = callPackage ./deepin-icon-theme { };
     deepin-image-viewer = callPackage ./deepin-image-viewer { };
     deepin-menu = callPackage ./deepin-menu { };
+    deepin-metacity = callPackage ./deepin-metacity { };
+    deepin-movie-reborn = callPackage ./deepin-movie-reborn { };
     deepin-mutter = callPackage ./deepin-mutter { };
     deepin-shortcut-viewer = callPackage ./deepin-shortcut-viewer { };
     deepin-sound-theme = callPackage ./deepin-sound-theme { };
@@ -19,6 +25,9 @@ let
       inherit (pkgs.gnome3) libgee vte;
       wnck = pkgs.libwnck3;
     };
+    deepin-wallpapers = callPackage ./deepin-wallpapers { };
+    deepin-wm = callPackage ./deepin-wm { };
+    dpa-ext-gnomekeyring = callPackage ./dpa-ext-gnomekeyring { };
     dtkcore = callPackage ./dtkcore { };
     dtkwm = callPackage ./dtkwm { };
     dtkwidget = callPackage ./dtkwidget { };
diff --git a/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
new file mode 100644
index 000000000000..4aeba1b4c1bc
--- /dev/null
+++ b/pkgs/desktops/deepin/dpa-ext-gnomekeyring/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, pkgconfig, qmake, qttools, gnome3, dde-polkit-agent }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "dpa-ext-gnomekeyring";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "linuxdeepin";
+    repo = pname;
+    rev = version;
+    sha256 = "168j42nwyw7vcgwc0fha2pjpwwlgir70fq1hns4ia1dkdqa1nhzw";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    qmake
+    qttools
+  ];
+
+  buildInputs = [
+    dde-polkit-agent
+    gnome3.libgnome-keyring
+  ];
+
+  postPatch = ''
+    patchShebangs .
+
+    sed -i dpa-ext-gnomekeyring.pro gnomekeyringextention.cpp \
+      -e "s,/usr,$out,"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "GNOME keyring extension for dde-polkit-agent";
+    homepage = https://github.com/linuxdeepin/dpa-ext-gnomekeyring;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ romildo ];
+  };
+}
diff --git a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
index 4b769f5d0aea..7c713cb91221 100644
--- a/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/scrollkeeper/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
+{stdenv, fetchurl, pkgconfig, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, automake, gettext}:
 
 stdenv.mkDerivation {
   name = "scrollkeeper-0.3.14";
@@ -14,6 +14,7 @@ stdenv.mkDerivation {
   ";
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl perlXMLParser libxml2 libxslt gettext];
+  buildInputs = [ libxml2 libxslt gettext ]
+    ++ (with perlPackages; [ perl XMLParser ]);
   configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/catalog.xml" ];
 }
diff --git a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
index 8eacbb037dd1..b1369d8304b0 100644
--- a/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf-editor/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, dbus-glib, gtk3, gnome3, python3
+{ stdenv, fetchurl, meson, ninja, vala, libxslt, pkgconfig, glib, gtk3, gnome3, python3
 , libxml2, gettext, docbook_xsl, wrapGAppsHook, gobjectIntrospection }:
 
 let
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ meson ninja vala libxslt pkgconfig wrapGAppsHook gettext docbook_xsl libxml2 gobjectIntrospection python3 ];
 
-  buildInputs = [ glib dbus-glib gtk3 gnome3.defaultIconTheme gnome3.dconf ];
+  buildInputs = [ glib gtk3 gnome3.dconf ];
 
   postPatch = ''
     chmod +x meson_post_install.py
diff --git a/pkgs/desktops/gnome-3/core/gdm/default.nix b/pkgs/desktops/gnome-3/core/gdm/default.nix
index 388fa89acaab..761f6b34ec6b 100644
--- a/pkgs/desktops/gnome-3/core/gdm/default.nix
+++ b/pkgs/desktops/gnome-3/core/gdm/default.nix
@@ -58,6 +58,10 @@ stdenv.mkDerivation rec {
     # Forwards certain environment variables to the gdm-x-session child process
     # to ensure that the above two patches actually work.
     ./gdm-session-worker_forward-vars.patch
+
+    # Set up the environment properly when launching sessions
+    # https://github.com/NixOS/nixpkgs/issues/48255
+    ./reset-environment.patch
   ];
 
   installFlags = [
diff --git a/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch b/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch
new file mode 100644
index 000000000000..61defd9c4bc2
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/gdm/reset-environment.patch
@@ -0,0 +1,20 @@
+--- a/daemon/gdm-wayland-session.c
++++ b/daemon/gdm-wayland-session.c
+@@ -285,6 +285,7 @@ spawn_session (State        *state,
+                                                     "WAYLAND_DISPLAY",
+                                                     "WAYLAND_SOCKET",
+                                                     "GNOME_SHELL_SESSION_MODE",
++                                                    "__NIXOS_SET_ENVIRONMENT_DONE",
+                                                     NULL };
+ 
+         g_debug ("Running wayland session");
+--- a/daemon/gdm-x-session.c
++++ b/daemon/gdm-x-session.c
+@@ -610,6 +610,7 @@ spawn_session (State        *state,
+                                                      "WAYLAND_DISPLAY",
+                                                      "WAYLAND_SOCKET",
+                                                      "GNOME_SHELL_SESSION_MODE",
++                                                     "__NIXOS_SET_ENVIRONMENT_DONE",
+                                                      NULL };
+ 
+         g_debug ("Running X session");
diff --git a/pkgs/desktops/gnome-3/core/nautilus/default.nix b/pkgs/desktops/gnome-3/core/nautilus/default.nix
index 498f6d35b176..4201bdb968da 100644
--- a/pkgs/desktops/gnome-3/core/nautilus/default.nix
+++ b/pkgs/desktops/gnome-3/core/nautilus/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gettext, libxml2, desktop-file-utils, python3, wrapGAppsHook
-, gtk, gnome3, gnome-autoar, dbus-glib, shared-mime-info, libnotify, libexif
+, gtk, gnome3, gnome-autoar, glib-networking, shared-mime-info, libnotify, libexif
 , exempi, librsvg, tracker, tracker-miners, gnome-desktop, gexiv2, libselinux, gdk_pixbuf }:
 
 let
@@ -16,7 +16,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ meson ninja pkgconfig libxml2 gettext python3 wrapGAppsHook desktop-file-utils ];
 
   buildInputs = [
-    dbus-glib shared-mime-info libexif gtk exempi libnotify libselinux
+    glib-networking shared-mime-info libexif gtk exempi libnotify libselinux
     tracker tracker-miners gnome-desktop gexiv2
     gnome3.adwaita-icon-theme gnome3.gsettings-desktop-schemas
   ];
diff --git a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
index da50b657007a..dfaf73a9d7f1 100644
--- a/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
+++ b/pkgs/desktops/gnome-3/misc/gnome-packagekit/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, libxslt, packagekit, polkit
-, fontconfig, libcanberra-gtk3, systemd, libnotify, wrapGAppsHook, dbus-glib, dbus, desktop-file-utils }:
+{ stdenv, fetchurl, pkgconfig, meson, ninja, gettext, gnome3, packagekit, polkit
+, systemd, wrapGAppsHook, desktop-file-utils }:
 
 stdenv.mkDerivation rec {
   name = "gnome-packagekit-${version}";
@@ -10,17 +10,19 @@ stdenv.mkDerivation rec {
     sha256 = "051q3hc78qa85mfh4jxxprfcrfj1hva6smfqsgzm0kx4zkkj1c1r";
   };
 
-  passthru = {
-    updateScript = gnome3.updateScript { packageName = "gnome-packagekit"; attrPath = "gnome3.gnome-packagekit"; };
-  };
-
-  NIX_CFLAGS_COMPILE = "-I${dbus-glib.dev}/include/dbus-1.0 -I${dbus.dev}/include/dbus-1.0";
-
   nativeBuildInputs = [ pkgconfig meson ninja gettext wrapGAppsHook desktop-file-utils ];
-  buildInputs = [ libxslt gnome3.gtk packagekit fontconfig systemd polkit
-                  libcanberra-gtk3 libnotify dbus-glib dbus ];
+  buildInputs = [ gnome3.gtk packagekit systemd polkit ];
 
-  prePatch = "patchShebangs meson_post_install.sh";
+  postPatch = ''
+    patchShebangs meson_post_install.sh
+  '';
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = "gnome-packagekit";
+      attrPath = "gnome3.gnome-packagekit";
+    };
+  };
 
   meta = with stdenv.lib; {
     homepage = https://www.freedesktop.org/software/PackageKit/;
diff --git a/pkgs/desktops/plasma-5/breeze-qt5.nix b/pkgs/desktops/plasma-5/breeze-qt5.nix
index 1448bb40d78c..3f3222e05cdb 100644
--- a/pkgs/desktops/plasma-5/breeze-qt5.nix
+++ b/pkgs/desktops/plasma-5/breeze-qt5.nix
@@ -3,7 +3,7 @@
   extra-cmake-modules,
   frameworkintegration, kcmutils, kconfigwidgets, kcoreaddons, kdecoration,
   kguiaddons, ki18n, kwayland, kwindowsystem, plasma-framework, qtdeclarative,
-  qtx11extras
+  qtx11extras, fftw
 }:
 
 mkDerivation {
@@ -13,7 +13,7 @@ mkDerivation {
   propagatedBuildInputs = [
     frameworkintegration kcmutils kconfigwidgets kcoreaddons kdecoration
     kguiaddons ki18n kwayland kwindowsystem plasma-framework qtdeclarative
-    qtx11extras
+    qtx11extras fftw
   ];
   outputs = [ "bin" "dev" "out" ];
   cmakeFlags = [ "-DUSE_Qt4=OFF" ];
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index fc1850b3c2a4..64907e6271d8 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.13.5/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.14.0/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
index b4bc89d59e9e..69f7bc4e56a0 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/patches/gsettings.patch
@@ -1,11 +1,11 @@
-Index: kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
-===================================================================
---- kde-gtk-config-5.12.4.orig/src/gtkconfigkcmodule.cpp
-+++ kde-gtk-config-5.12.4/src/gtkconfigkcmodule.cpp
-@@ -78,6 +78,16 @@ GTKConfigKCModule::GTKConfigKCModule(QWi
-     m_iconsModel = new IconThemesModel(false, this);
-     ui->cb_icon->setModel(m_iconsModel);
-     ui->cb_icon_fallback->setModel(m_iconsModel);
+diff --git a/src/gtkconfigkcmodule.cpp b/src/gtkconfigkcmodule.cpp
+index 7b82d50..96831d8 100644
+--- a/src/gtkconfigkcmodule.cpp
++++ b/src/gtkconfigkcmodule.cpp
+@@ -91,6 +91,16 @@ GTKConfigKCModule::GTKConfigKCModule(QWidget* parent, const QVariantList& args )
+     iconsProxyModel->sort(0);
+     ui->cb_icon->setModel(iconsProxyModel);
+     ui->cb_icon_fallback->setModel(iconsProxyModel);
 +
 +    // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
 +    // Normally this would be done by wrapGAppsHook, but this plugin
diff --git a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch b/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
deleted file mode 100644
index 66fef4712a7b..000000000000
--- a/pkgs/desktops/plasma-5/plasma-integration/D9070.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Index: src/platformtheme/kfontsettingsdata.cpp
-===================================================================
---- src/platformtheme/kfontsettingsdata.cpp
-+++ src/platformtheme/kfontsettingsdata.cpp
-@@ -70,15 +70,18 @@
-         const KFontData &fontData = DefaultFontData[fontType];
-         cachedFont = new QFont(QLatin1String(fontData.FontName), fontData.Size, fontData.Weight);
-         cachedFont->setStyleHint(fontData.StyleHint);
--        cachedFont->setStyleName(QLatin1String(fontData.StyleName));
- 
-         const KConfigGroup configGroup(mKdeGlobals, fontData.ConfigGroupKey);
-         QString fontInfo = configGroup.readEntry(fontData.ConfigKey, QString());
- 
-         //If we have serialized information for this font, restore it
-         //NOTE: We are not using KConfig directly because we can't call QFont::QFont from here
-         if (!fontInfo.isEmpty()) {
-             cachedFont->fromString(fontInfo);
-+        } else {
-+            // set the canonical stylename here, where it cannot override
-+            // user-specific font attributes if those do not include a stylename.
-+            cachedFont->setStyleName(QLatin1String(fontData.StyleName));
-         }
- 
-         mFonts[fontType] = cachedFont;
diff --git a/pkgs/desktops/plasma-5/plasma-integration/default.nix b/pkgs/desktops/plasma-5/plasma-integration/default.nix
index d33ecf050242..f69644287624 100644
--- a/pkgs/desktops/plasma-5/plasma-integration/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration/default.nix
@@ -14,11 +14,4 @@ mkDerivation {
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio knotifications kwayland
     libXcursor qtquickcontrols2
   ];
-  patches = [
-    # See also: https://phabricator.kde.org/D9070
-    # ttuegel: The patch is checked into Nixpkgs because I could not get
-    # Phabricator to give me a stable link to it.
-    ./D9070.patch
-  ];
-  patchFlags = "-p0";
 }
diff --git a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
index b3f19c4e0025..6bab35fe4a97 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/cryfs-path.patch
@@ -1,17 +1,13 @@
 diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp
-index f6ef54f..160034a 100644
+index 58a6929..7212980 100644
 --- a/kded/engine/backends/cryfs/cryfsbackend.cpp
 +++ b/kded/engine/backends/cryfs/cryfsbackend.cpp
-@@ -136,11 +136,10 @@ bool CryFsBackend::isInitialized(const Device &device) const
+@@ -241,7 +241,7 @@ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
+     auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
+     KConfigGroup backendConfig(config, "CryfsBackend");
  
- QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
- {
 -    return process("cryfs",
 +    return process(NIXPKGS_CRYFS,
-                    arguments,
+                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
                     { { "CRYFS_FRONTEND", "noninteractive" } });
  }
- 
- 
- } // namespace PlasmaVault
--
diff --git a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
index b494df55c5d0..e1c325e16934 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/encfs-path.patch
@@ -1,16 +1,17 @@
 diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp
-index 47bb237..4ff064d 100644
+index 628af7b..6edd38e 100644
 --- a/kded/engine/backends/encfs/encfsbackend.cpp
 +++ b/kded/engine/backends/encfs/encfsbackend.cpp
-@@ -132,17 +132,16 @@ bool EncFsBackend::isInitialized(const Device &device) const
+@@ -137,7 +137,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
+     auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
+     KConfigGroup backendConfig(config, "EncfsBackend");
  
- QProcess *EncFsBackend::encfs(const QStringList &arguments) const
- {
--    return process("encfs", arguments, {});
-+    return process(NIXPKGS_ENCFS, arguments, {});
+-    return process("encfs",
++    return process(NIXPKGS_ENCFS,
+                    arguments + backendConfig.readEntry("extraMountOptions", QStringList{}),
+                    {});
  }
- 
- 
+@@ -146,7 +146,7 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
  
  QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
  {
@@ -19,6 +20,3 @@ index 47bb237..4ff064d 100644
  }
  
  
- 
- } // namespace PlasmaVault
--
diff --git a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
index cd1b736a103f..b2a7866531bf 100644
--- a/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
+++ b/pkgs/desktops/plasma-5/plasma-vault/fusermount-path.patch
@@ -1,8 +1,8 @@
 diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp
-index 81ce494..d3c5c9f 100644
+index d07e313..ea7d81c 100644
 --- a/kded/engine/fusebackend_p.cpp
 +++ b/kded/engine/fusebackend_p.cpp
-@@ -103,7 +103,7 @@ QProcess *FuseBackend::process(const QString &executable,
+@@ -106,7 +106,7 @@ QProcess *FuseBackend::process(const QString &executable,
  
  QProcess *FuseBackend::fusermount(const QStringList &arguments) const
  {
@@ -11,7 +11,7 @@ index 81ce494..d3c5c9f 100644
  }
  
  
-@@ -245,4 +245,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const
+@@ -279,4 +279,3 @@ bool FuseBackend::isOpened(const MountPoint &mountPoint) const
  }
  
  } // namespace PlasmaVault
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index ab011576b2b7..2866cddbea18 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -68,10 +68,6 @@ mkDerivation {
   # ./plasma-workspace.patch.
   patches = [
     ./plasma-workspace.patch
-    (fetchpatch {
-      url = "https://github.com/KDE/plasma-workspace/commit/11e570d861858f3b3e2694e5f9ec242d7f9f12b9.patch";
-      sha256 = "1vk9yacb59k0v5mgbpgmciflca9r0ll4wh1d83ffx2y2v8sqwiv2";
-    })
   ];
 
   preConfigure = ''
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 9027f6ad8a4a..dd5f7321f0e2 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -36,7 +36,7 @@ index 493218ea..d507aa55 100644
 +    return system( NIXPKGS_KDOSTARTUPCONFIG5 );
      }
 diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
-index f9e2e429..0a4267a9 100644
+index 714a9bf1..9733c612 100644
 --- a/startkde/startkde.cmake
 +++ b/startkde/startkde.cmake
 @@ -1,22 +1,31 @@
@@ -454,7 +454,7 @@ index f9e2e429..0a4267a9 100644
  
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -306,34 +352,37 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
+@@ -306,12 +352,16 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
  # We only check for 255 which means that the ksmserver process could not be
  # started, any problems thereafter, e.g. ksmserver failing to initialize,
  # will remain undetected.
@@ -474,11 +474,9 @@ index f9e2e429..0a4267a9 100644
  if test $? -eq 255; then
    # Startup error
    echo 'startkde: Could not start ksmserver. Check your installation.'  1>&2
-   test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
--  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
- fi
- 
- #Anything after here is logout/shutdown
+@@ -322,36 +372,36 @@ fi
+ #Anything after here is logout
+ #It is not called after shutdown/restart
  
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
@@ -498,12 +496,13 @@ index f9e2e429..0a4267a9 100644
              # ask remaining drkonqis to die in a graceful way
 -            qdbus | grep 'org.kde.drkonqi-' | while read address ; do
 -                qdbus "$address" "/MainApplication" "quit"
+-            done
+-            break
 +            @NIXPKGS_QDBUS@ | @NIXPKGS_GREP@ 'org.kde.drkonqi-' | while read address ; do
 +                @NIXPKGS_QDBUS@ "$address" "/MainApplication" "quit"
-             done
-             break
          fi
-@@ -342,15 +391,17 @@ fi
+     done
+ fi
  
  echo 'startkde: Shutting down...'  1>&2
  # just in case
@@ -526,7 +525,7 @@ index f9e2e429..0a4267a9 100644
  
  echo 'startkde: Done.'  1>&2
 diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake
-index f7330ab3..5eedbb11 100644
+index de98541c..39c0b521 100644
 --- a/startkde/startplasma.cmake
 +++ b/startkde/startplasma.cmake
 @@ -1,6 +1,6 @@
@@ -668,14 +667,15 @@ index f7330ab3..5eedbb11 100644
  
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
-@@ -163,19 +109,19 @@ if test $? -eq 255; then
-   xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
- fi
+@@ -166,19 +112,19 @@ fi
+ #Anything after here is logout
+ #It is not called after shutdown/restart
  
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
-+wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
- 
+-
 -if test x"$wait_drkonqi"x = x"true"x ; then
++wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
++ 
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
 -    wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
@@ -695,7 +695,7 @@ index f7330ab3..5eedbb11 100644
              done
              break
          fi
-@@ -184,15 +130,17 @@ fi
+@@ -187,15 +133,17 @@ fi
  
  echo 'startplasma: Shutting down...'  1>&2
  # just in case
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index a6c3cb66f6a2..690f5fafef27 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,363 +3,363 @@
 
 {
   bluedevil = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/bluedevil-5.13.5.tar.xz";
-      sha256 = "0am708cb6jfccx1jfbriwc2jgwd4ajqllirc9i0bg4jz5ydxbjxg";
-      name = "bluedevil-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/bluedevil-5.14.0.tar.xz";
+      sha256 = "0d1bw6cp2vwhs17j0bgc3gysy3g2syb1z0zwg28sa889l8a3qyv9";
+      name = "bluedevil-5.14.0.tar.xz";
     };
   };
   breeze = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-5.13.5.tar.xz";
-      sha256 = "09jkkfdmngvbp8i2y6irlv6yvrzpc86mw6apmqvphiaqsilyxaw0";
-      name = "breeze-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-5.14.0.tar.xz";
+      sha256 = "0gd95a7km0pqc0qinn2p0kv72j0ihdl96vs14f5jr5n78a2r7r9a";
+      name = "breeze-5.14.0.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-grub-5.13.5.tar.xz";
-      sha256 = "03hsq77gi75chgyq9pzh3ry6k6bi78pfm33zn8gx784k9fx7gvqr";
-      name = "breeze-grub-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-grub-5.14.0.tar.xz";
+      sha256 = "17kghx9qv7flm2019alqg1a6pnacgczj1hc9sc0bvj8znh9hhxvh";
+      name = "breeze-grub-5.14.0.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-gtk-5.13.5.tar.xz";
-      sha256 = "1knh0b27b81rnd87s31s2mawqcl1yzwjcakk5npzfm3nj23xakv3";
-      name = "breeze-gtk-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-gtk-5.14.0.tar.xz";
+      sha256 = "1zlhyv26k3zqm2bbd9mk7123q5xy5g2cp6ayavhglgxxb8n0zyx9";
+      name = "breeze-gtk-5.14.0.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/breeze-plymouth-5.13.5.tar.xz";
-      sha256 = "0xsjl602wsb5ak1xg19w8y0fv9404cwbj1rcrm0hgjv735m32c57";
-      name = "breeze-plymouth-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/breeze-plymouth-5.14.0.tar.xz";
+      sha256 = "1ilf3cp7cg3lpkxvd8n7h33wvsbbikrvd514gan2ns16j9d4ziz1";
+      name = "breeze-plymouth-5.14.0.tar.xz";
     };
   };
   discover = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/discover-5.13.5.tar.xz";
-      sha256 = "1q3nc5lih95vs5masd8z897hvfvpwidiisj8bg62iq0cblsgwz6d";
-      name = "discover-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/discover-5.14.0.tar.xz";
+      sha256 = "1chkf5hjpnb4laq5sn7rr8f4fv90mg4brdsx71cz1b5xbvgyy1sf";
+      name = "discover-5.14.0.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/drkonqi-5.13.5.tar.xz";
-      sha256 = "02kbmymzzhsf9slaf64xlp8sfv59gl7qf1g2ahcq58sqry5bqjnk";
-      name = "drkonqi-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/drkonqi-5.14.0.tar.xz";
+      sha256 = "0i5zgafkdxw6wqqfw81ygdmg5fffy2gkf6sciq7f8nfxxglw6pkp";
+      name = "drkonqi-5.14.0.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kactivitymanagerd-5.13.5.tar.xz";
-      sha256 = "0zfvypxh748vsl270l8wn6inmp8shi2m051yy699qdqbyb039wjq";
-      name = "kactivitymanagerd-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kactivitymanagerd-5.14.0.tar.xz";
+      sha256 = "03jxvf4mgh0wmphykskc8ra49ghrjv5in4mgzpafswn7w8q8gyii";
+      name = "kactivitymanagerd-5.14.0.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kde-cli-tools-5.13.5.tar.xz";
-      sha256 = "0p1az420p4ldinmxnkdwl69542ddm0r4f3wmdysfird7d68yw2hp";
-      name = "kde-cli-tools-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kde-cli-tools-5.14.0.tar.xz";
+      sha256 = "1n51vaiy073jzs051wlpll7652bb7vwg5qmravndhl8ibqrv7qaz";
+      name = "kde-cli-tools-5.14.0.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kdecoration-5.13.5.tar.xz";
-      sha256 = "04p77fs5c9b4mbpcl4a2c1wc0i09g51b7c1v7n9fd4nfkm7z8sqs";
-      name = "kdecoration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kdecoration-5.14.0.tar.xz";
+      sha256 = "01gkl0yqplm1l2qa4gfw7rzi5zfdxq7d3a25qicdwhas69hc8nzm";
+      name = "kdecoration-5.14.0.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kde-gtk-config-5.13.5.tar.xz";
-      sha256 = "06j64y7p5kxnrc3407hma0drh3sb8jvjp3mx6na6b86z4xxf1kj6";
-      name = "kde-gtk-config-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kde-gtk-config-5.14.0.tar.xz";
+      sha256 = "0mb1am14hd3x5gkmy3vcg3wb9g29c8y38ywhr0f93riphws0nhvh";
+      name = "kde-gtk-config-5.14.0.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kdeplasma-addons-5.13.5.tar.xz";
-      sha256 = "1a4f61bbwhc2y0lnrglbq3sas16bxff0ga3im9d15nq5a5q637i1";
-      name = "kdeplasma-addons-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kdeplasma-addons-5.14.0.tar.xz";
+      sha256 = "0k98ms851z2naw4rjmxldy6pl9a51mmwvq6c4znm2pnrw04jz15d";
+      name = "kdeplasma-addons-5.14.0.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kgamma5-5.13.5.tar.xz";
-      sha256 = "08brmdi5y69iwhj7506q2l0bfm92c9l9ds9w4d1ipcgnbydrhfyn";
-      name = "kgamma5-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kgamma5-5.14.0.tar.xz";
+      sha256 = "17vb1bb4glw6ccd1s1chjm07lvpkklcvny7rdjgmz2r00vk6mjqy";
+      name = "kgamma5-5.14.0.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/khotkeys-5.13.5.tar.xz";
-      sha256 = "16kp5ck6zfpnmnvspdnqklix54np3sxvj5ixs9saqf3gd5rk49mp";
-      name = "khotkeys-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/khotkeys-5.14.0.tar.xz";
+      sha256 = "0b2q4s0j6wji8112l89347fc8ph9vrf2p8ngig0c4dn4ayk7hqd1";
+      name = "khotkeys-5.14.0.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kinfocenter-5.13.5.tar.xz";
-      sha256 = "15r9j33z3l31gip9q3fw015s4mxakgy5wqfs04w5p0aq8x9xkpzl";
-      name = "kinfocenter-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kinfocenter-5.14.0.tar.xz";
+      sha256 = "0pc1jc7d26w2asa2yj8rr04rgjvmavlyhw3wd0dqv08rhr0rl7pj";
+      name = "kinfocenter-5.14.0.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kmenuedit-5.13.5.tar.xz";
-      sha256 = "0zha39cd3p5nmrbkhkbcavxns2n2wnb6chc5kcsk5km9wn4laxz0";
-      name = "kmenuedit-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kmenuedit-5.14.0.tar.xz";
+      sha256 = "0ld9q5jq7zc6kz72pg9qqg10rbargkwyks657cnv8id1pna17bsr";
+      name = "kmenuedit-5.14.0.tar.xz";
     };
   };
   kscreen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kscreen-5.13.5.tar.xz";
-      sha256 = "0kf1cf88n46b4js7x9r504605v68wp5hwpwid6phvfqdyqrvbb77";
-      name = "kscreen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kscreen-5.14.0.tar.xz";
+      sha256 = "1y28a96kal2gziga2vr6vg5swv2ynfiv3804n06v9847rd7s3ixk";
+      name = "kscreen-5.14.0.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kscreenlocker-5.13.5.tar.xz";
-      sha256 = "171zjk9r333kbkb9pashw0rdmiwq11nzfin4wnmqzwp7rrclxs18";
-      name = "kscreenlocker-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kscreenlocker-5.14.0.tar.xz";
+      sha256 = "1nyd8jy4ngpg51nq46cx038i4w1qak9zi4d4v69blkhzd65gckj1";
+      name = "kscreenlocker-5.14.0.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/ksshaskpass-5.13.5.tar.xz";
-      sha256 = "1znhj8x8kag1jrw0j1kfvqgprdayrcfbmawz2jap1ik2bjq7dp81";
-      name = "ksshaskpass-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/ksshaskpass-5.14.0.tar.xz";
+      sha256 = "0nqvr3z7058hfymw8gglnfmcxx976km6sf0msyd3ykfpymxsmz74";
+      name = "ksshaskpass-5.14.0.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/ksysguard-5.13.5.tar.xz";
-      sha256 = "1qjqhqc23rbimz3qj8gr3dhp0griwgbiajhvjngh1jl55fb3q29j";
-      name = "ksysguard-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/ksysguard-5.14.0.tar.xz";
+      sha256 = "0hbcx20r57lfh566q2974rs2kzlq5ghxadnd1ghiwz5141xh02bm";
+      name = "ksysguard-5.14.0.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwallet-pam-5.13.5.tar.xz";
-      sha256 = "145daahh8qjpbfcvjk2zyd6k3sr22npgnv3n23j9aim75qiwz1ac";
-      name = "kwallet-pam-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwallet-pam-5.14.0.tar.xz";
+      sha256 = "0cw173wbf105p7028xik33lm38z82b1rlc7090l4khwsgmwgff97";
+      name = "kwallet-pam-5.14.0.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwayland-integration-5.13.5.tar.xz";
-      sha256 = "1qhkrs8md36z5gndkm88pyv6mspqsdsdavjz8klfwfv1hii6qyds";
-      name = "kwayland-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwayland-integration-5.14.0.tar.xz";
+      sha256 = "19xbqb7m6hxyg8s8jdbg1x9qcfia2ypm0z4k6zgva6mwqwhqcbw1";
+      name = "kwayland-integration-5.14.0.tar.xz";
     };
   };
   kwin = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwin-5.13.5.tar.xz";
-      sha256 = "0ld1pclni1axrh7jww3gxlfwkbjsfbqb9z7gygj2ff3nmc6khgfm";
-      name = "kwin-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwin-5.14.0.tar.xz";
+      sha256 = "0rd6hkyg6n0w2jnj648sp7gs7n624igraz8ajyrglfzvxkxvqi8i";
+      name = "kwin-5.14.0.tar.xz";
     };
   };
   kwrited = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/kwrited-5.13.5.tar.xz";
-      sha256 = "150nhjk4vcigs2r2bxqk309g81lxpnkkv8l44hiyivcbmwvc3aya";
-      name = "kwrited-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/kwrited-5.14.0.tar.xz";
+      sha256 = "0s9lgi5a945xzpl1j5gdn65n8bywqlwfnrig56x90550achbvmlq";
+      name = "kwrited-5.14.0.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/libkscreen-5.13.5.tar.xz";
-      sha256 = "04719va15i66qn1xqx318v6risxhp8bfcnhxh9mqm5h9qx5c6c4k";
-      name = "libkscreen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/libkscreen-5.14.0.tar.xz";
+      sha256 = "1fsi9cb724kwr0cll60dl9qh67290r3gp8lcsmlyw30zk9mqwgdi";
+      name = "libkscreen-5.14.0.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/libksysguard-5.13.5.tar.xz";
-      sha256 = "0pccjjjzk8dxgmkj5vrq20nwb3qpf9isjd1zmg5nc127jld924x6";
-      name = "libksysguard-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/libksysguard-5.14.0.tar.xz";
+      sha256 = "00s1dkiqykw2drlmvzs3hkdrkbk8n86s751kl4xlvcbslbijzcv0";
+      name = "libksysguard-5.14.0.tar.xz";
     };
   };
   milou = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/milou-5.13.5.tar.xz";
-      sha256 = "0rhgj10l2iik1mgnv2bixxqjyc3pl731bs1bqz9gsa3wiazspwrv";
-      name = "milou-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/milou-5.14.0.tar.xz";
+      sha256 = "1k413zs70ggsamwxxidlfjdf8aqrcnzznar86z30q3ki1y14xf1l";
+      name = "milou-5.14.0.tar.xz";
     };
   };
   oxygen = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/oxygen-5.13.5.tar.xz";
-      sha256 = "0wm2mngh0gb0lqvx8g82ml2sdv0kbkx14mpb8c6aw3hslcwma7yd";
-      name = "oxygen-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/oxygen-5.14.0.tar.xz";
+      sha256 = "0kbafhzjkm61dpznx1w713jwyicj7qq76vk7zf6vz2g90b8c47na";
+      name = "oxygen-5.14.0.tar.xz";
     };
   };
   plasma-browser-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-browser-integration-5.13.5.tar.xz";
-      sha256 = "0bhpbq4n29x8m0nmxlli5ljmgpw9da7sfbmf3j5c3wnxqja16sgy";
-      name = "plasma-browser-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-browser-integration-5.14.0.tar.xz";
+      sha256 = "1s8cxlfyp8crq2j4appffnhc3cgx9igmqhxyyk9pr4jbb4cwv42b";
+      name = "plasma-browser-integration-5.14.0.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-desktop-5.13.5.tar.xz";
-      sha256 = "14isrq3n9lm1nzmyv8zdgq6pwnv2zmg4dwxyp7fvqjxfls8851vp";
-      name = "plasma-desktop-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-desktop-5.14.0.tar.xz";
+      sha256 = "0qrqd78bp9n73rr142wxiynxij2i8cw41ckgd46iw8an550v8s80";
+      name = "plasma-desktop-5.14.0.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-integration-5.13.5.tar.xz";
-      sha256 = "0j57ra79p5lkj81d05hhb87mrxgyj6qikkpzcb0p2dr2x8cmkng2";
-      name = "plasma-integration-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-integration-5.14.0.tar.xz";
+      sha256 = "1dv43iwh6rp5ldn16jd6krkab6nmplav47j5qvngcp88src31k47";
+      name = "plasma-integration-5.14.0.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-nm-5.13.5.tar.xz";
-      sha256 = "1z8f5iybgra72vhpiayiwpysvv2z8x2r5xal8rhgf7y24xcjwxmi";
-      name = "plasma-nm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-nm-5.14.0.tar.xz";
+      sha256 = "1pr4dg90vw22jzsrbhzx3rycyj9by8r4239ypprw0i5d9795mian";
+      name = "plasma-nm-5.14.0.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-pa-5.13.5.tar.xz";
-      sha256 = "0p54x4zr3w009nn7g00qmxh7xil35x7b48d0l0flz5d7hvkk6nd8";
-      name = "plasma-pa-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-pa-5.14.0.tar.xz";
+      sha256 = "1b95vyirgxfpjrccnl81bynlk3zdxz0bf7czsap0bnwhal0mcp2w";
+      name = "plasma-pa-5.14.0.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-sdk-5.13.5.tar.xz";
-      sha256 = "1x8hq343xzwlcsdvf0jy0qgn64xw8l11lawhknbjrf90qq58axga";
-      name = "plasma-sdk-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-sdk-5.14.0.tar.xz";
+      sha256 = "0b5h7qvan0f5afdf4d19dmpalgbd9gyxgkq3r5h7axqdfdanz38f";
+      name = "plasma-sdk-5.14.0.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-tests-5.13.5.tar.xz";
-      sha256 = "00nm0d0c4zccbwnhy8sc1qb4sf7bs5vfky3n7lihwyng3syqwz3d";
-      name = "plasma-tests-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-tests-5.14.0.tar.xz";
+      sha256 = "01li04p44f1yajnjhvhhqd8mjwv8si5d02749p5dn0x80fkxgh9d";
+      name = "plasma-tests-5.14.0.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-vault-5.13.5.tar.xz";
-      sha256 = "1045zb58pmcyn0cznb81bmcpd4hkhxm6509rznrjykkhcfcrbf8z";
-      name = "plasma-vault-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-vault-5.14.0.tar.xz";
+      sha256 = "1kclryjld7lanimr6n7r1b9y8wqgyjvcsky9cfq3ql1ssfc0ncm3";
+      name = "plasma-vault-5.14.0.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-workspace-5.13.5.tar.xz";
-      sha256 = "1qcmw60lyp966rhvw9raaqrvxdv09pr8zc7x3fx1vpm9kphh3lv3";
-      name = "plasma-workspace-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-workspace-5.14.0.tar.xz";
+      sha256 = "1fgz06dnszrrq5kqa3zn22cj93adz8vwg9n9vdihgi6c77rqlxyf";
+      name = "plasma-workspace-5.14.0.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plasma-workspace-wallpapers-5.13.5.tar.xz";
-      sha256 = "1wbnm6bzvgx2ssig4dk3plhrsjiw3lq1yhr2dfga6vvlyi6wg9mg";
-      name = "plasma-workspace-wallpapers-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plasma-workspace-wallpapers-5.14.0.tar.xz";
+      sha256 = "10j006wc1l2hjw9s9w7sxwimpahrnlpidnrrdgwjp0fswmnyqj5c";
+      name = "plasma-workspace-wallpapers-5.14.0.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/plymouth-kcm-5.13.5.tar.xz";
-      sha256 = "0flgr68rms40acgl2f4539mvp53m36ifignxix27raqmibaf38s1";
-      name = "plymouth-kcm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/plymouth-kcm-5.14.0.tar.xz";
+      sha256 = "0smjnh3adhsbp2ds8gvi5k3jq21i85zvaf9pvr0ih4nqpn4plalk";
+      name = "plymouth-kcm-5.14.0.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.13.5";
+    version = "1-5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/polkit-kde-agent-1-5.13.5.tar.xz";
-      sha256 = "00f05ii3www8knn2ycgkc6izc8ydb3vjy4f657k38hkzl2sjnhl6";
-      name = "polkit-kde-agent-1-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/polkit-kde-agent-1-5.14.0.tar.xz";
+      sha256 = "0bzz2qmxslmms7mrs4l8myg9byx0w7dz6xrmvi8v11wyk2lngsb0";
+      name = "polkit-kde-agent-1-5.14.0.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/powerdevil-5.13.5.tar.xz";
-      sha256 = "1k7ilcvm5nvx6sd43j0djar9ay6ag84g4m8f420yf7q4yryp76yn";
-      name = "powerdevil-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/powerdevil-5.14.0.tar.xz";
+      sha256 = "057hj7c3pq5a064ydx2r6kkf0q8lj7rl0jfrzcpr72s0yri3wcjr";
+      name = "powerdevil-5.14.0.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/sddm-kcm-5.13.5.tar.xz";
-      sha256 = "122g83ajh0xqylvmicrhgw0fm8bmzpw26v7fjckfk9if5zqzk8ch";
-      name = "sddm-kcm-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/sddm-kcm-5.14.0.tar.xz";
+      sha256 = "0dz6iz0qf4ycfic1ad99cqxj05pa4m92m5l74as8pkqviv8mm33d";
+      name = "sddm-kcm-5.14.0.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/systemsettings-5.13.5.tar.xz";
-      sha256 = "14029a3mf2d6cw87lyffnwy88yvj0n3jmi0glr69zwi8lmz0cbsv";
-      name = "systemsettings-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/systemsettings-5.14.0.tar.xz";
+      sha256 = "0gywcc1zcqp7613gd7m9811plmmk8hr9frd2v0ari69ppm1ndmpj";
+      name = "systemsettings-5.14.0.tar.xz";
     };
   };
   user-manager = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/user-manager-5.13.5.tar.xz";
-      sha256 = "12550xvl084rab0y331r8dm3qwpcvm83k3j02gxrwrigv1vckas8";
-      name = "user-manager-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/user-manager-5.14.0.tar.xz";
+      sha256 = "17qdpdq1j53h49i71ri8f91fby9m47ngpd7gn6qp7gzsfcyqky3j";
+      name = "user-manager-5.14.0.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.13.5";
+    version = "5.14.0";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.13.5/xdg-desktop-portal-kde-5.13.5.tar.xz";
-      sha256 = "0i9pcbdxfh2cbv9ybk9i11l7vcm2ifx0zm3gkj3ry3bjxxbphn4f";
-      name = "xdg-desktop-portal-kde-5.13.5.tar.xz";
+      url = "${mirror}/stable/plasma/5.14.0/xdg-desktop-portal-kde-5.14.0.tar.xz";
+      sha256 = "0xziyrrccv0jjjf8h8p5w2wx0qz745ilib1i2l50amy6dwy0k0s9";
+      name = "xdg-desktop-portal-kde-5.14.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index 4dab2e06f48e..65fb8a9c82dd 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -1,57 +1,58 @@
-{ stdenv, fetchurl, fetchFromGitHub, glib, git,
+{ stdenv, fetchurl, glib, glibc, git,
   rlwrap, curl, pkgconfig, perl, makeWrapper, tzdata, ncurses,
-  libX11, pango, cairo, gtk2, gdk_pixbuf, gtkglext,
-  libGLU, libXmu, libXt, libICE, libSM }:
+  pango, cairo, gtk2, gdk_pixbuf, gtkglext,
+  mesa, xorg, openssl, unzip }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (stdenv.lib) optional;
+
+in stdenv.mkDerivation rec {
   name = "factor-lang-${version}";
-  version = "0.97";
-  rev = "eb3ca179740e6cfba696b55a999caa13369e6182";
-
-  src = fetchFromGitHub {
-    owner = "factor";
-    repo = "factor";
-    rev = rev;
-    sha256 = "16zlbxbad3d19jq01nk824i19bypqzn8l3yfxys40z06vjjncapd";
-  };
+  version = "0.98";
+  rev = "7999e72aecc3c5bc4019d43dc4697f49678cc3b4";
 
-  factorimage = fetchurl {
-    url = http://downloads.factorcode.org/releases/0.97/factor-linux-x86-64-0.97.tar.gz;
-    sha256 = "06y125c8vbng54my5fxdr3crpxkvhhcng2n35cxddd3wcg6vhxhp";
-    name = "factorimage";
+  src = fetchurl {
+    url = http://downloads.factorcode.org/releases/0.98/factor-src-0.98.zip;
+    sha256 = "01ip9mbnar4sv60d2wcwfz62qaamdvbykxw3gbhzqa25z36vi3ri";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ git rlwrap curl perl makeWrapper
+  patches = [
+    ./staging-command-line-0.98-pre.patch
+    ./workdir-0.98-pre.patch
+    ./fuel-dir.patch
+  ];
+
+  buildInputs = with xorg; [ git rlwrap curl pkgconfig perl makeWrapper
     libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-    libGLU libXmu libXt libICE libSM ];
+    mesa libXmu libXt libICE libSM openssl unzip ];
 
   buildPhase = ''
-    make $(bash ./build-support/factor.sh make-target) GIT_LABEL=heads/master-${rev}
+    sed -ie '4i GIT_LABEL = heads/master-${rev}' GNUmakefile
+    make linux-x86-64
+    # De-memoize xdg-* functions, otherwise they break the image.
+    sed -ie 's/^MEMO:/:/' basis/xdg/xdg.factor
   '';
 
   installPhase = ''
     mkdir -p $out/bin $out/lib/factor
-    # First, get a workable image. Unfortunately, no boot-image
-    # is available with release info. So fetch a released image.
     # The released image has library path info embedded, so we
-    # have to first recreate the boot image with Nix paths, and
+    # first have to recreate the boot image with Nix paths, and
     # then use it to build the Nix release image.
-    zcat ${factorimage} | (cd $out/lib && tar -xvpf - factor/factor.image )
+    cp boot.unix-x86.64.image $out/lib/factor/factor.image
 
-    cp -r basis core extra unmaintained $out/lib/factor
+    cp -r basis core extra $out/lib/factor
 
-    # Factor uses the home directory for cache during compilation.
-    # We cant have that. So set it to $TMPDIR/.home
-    export HOME=$TMPDIR/.home && mkdir -p $HOME
+    # Factor uses XDG_CACHE_HOME for cache during compilation.
+    # We can't have that. So set it to $TMPDIR/.cache
+    export XDG_CACHE_HOME=$TMPDIR/.cache && mkdir -p $XDG_CACHE_HOME
 
-    # there is no ld.so.cache in NixOS so we construct one
+    # There is no ld.so.cache in NixOS so we construct one
     # out of known libraries. The side effect is that find-lib
     # will work only on the known libraries. There does not seem
     # to be a generic solution here.
-    find $(echo ${stdenv.lib.makeLibraryPath [
+    find $(echo ${stdenv.lib.makeLibraryPath (with xorg; [
         glib libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-        libGLU libXmu libXt libICE libSM ]} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst
+        mesa libXmu libXt libICE libSM ])} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst
 
     (echo $(cat $TMPDIR/so.lst | wc -l) "libs found in cache \`/etc/ld.so.cache'";
     for l in $(<$TMPDIR/so.lst);
@@ -70,18 +71,29 @@ stdenv.mkDerivation rec {
 
     cp ./factor $out/bin
     wrapProgram $out/bin/factor --prefix LD_LIBRARY_PATH : \
-      "${stdenv.lib.makeLibraryPath [ glib
+      "${stdenv.lib.makeLibraryPath (with xorg; [ glib
         libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-        libGLU libXmu libXt libICE libSM ]}"
+        mesa libXmu libXt libICE libSM openssl])}"
 
     sed -ie 's#/bin/.factor-wrapped#/lib/factor/factor#g' $out/bin/factor
     mv $out/bin/.factor-wrapped $out/lib/factor/factor
 
-    # make a new bootstrap image
+    # build full factor image from boot image
     (cd $out/bin && ./factor  -script -e='"unix-x86.64" USING: system bootstrap.image memory ; make-image save 0 exit' )
-    mv $out/lib/factor/boot.unix-x86.64.image $out/lib/factor/factor.image
-    # now make the full system image, it overwrites $out/lib/factor/factor.image
-    $out/bin/factor -i=$out/lib/factor/factor.image
+
+    # make a new bootstrap image
+    (cd $out/bin && ./factor  -script -e='"unix-x86.64" USING: system tools.deploy.backend ; make-boot-image 0 exit' )
+
+    # rebuild final full factor image to include all patched sources
+    (cd $out/lib/factor && ./factor -i=boot.unix-x86.64.image)
+
+    # install fuel mode for emacs
+    mkdir -p $out/share/emacs/site-lisp
+    # update default paths in factor-listener.el for fuel mode
+    substituteInPlace misc/fuel/fuel-listener.el \
+      --subst-var-by fuel_factor_root_dir $out/lib/factor \
+      --subst-var-by fuel_listener_factor_binary $out/bin/factor
+    cp misc/fuel/*.el $out/share/emacs/site-lisp/
   '';
 
   meta = with stdenv.lib; {
@@ -89,7 +101,7 @@ stdenv.mkDerivation rec {
     license = licenses.bsd2;
     description = "A concatenative, stack-based programming language";
 
-    maintainers = [ maintainers.vrthra ];
+    maintainers = [ maintainers.vrthra maintainers.spacefrogg ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/compilers/factor-lang/fuel-dir.patch b/pkgs/development/compilers/factor-lang/fuel-dir.patch
new file mode 100644
index 000000000000..8f45b0372469
--- /dev/null
+++ b/pkgs/development/compilers/factor-lang/fuel-dir.patch
@@ -0,0 +1,20 @@
+diff --git a/misc/fuel/fuel-listener.el b/misc/fuel/fuel-listener.el
+index 2d1b182a75..bf2e573425 100644
+--- a/misc/fuel/fuel-listener.el
++++ b/misc/fuel/fuel-listener.el
+@@ -30,13 +30,13 @@
+   "Interacting with a Factor listener inside Emacs."
+   :group 'fuel)
+ 
+-(defcustom fuel-factor-root-dir nil
++(defcustom fuel-factor-root-dir "@fuel_factor_root_dir@"
+   "Full path to the factor root directory when starting a listener."
+   :type 'directory
+   :group 'fuel-listener)
+ 
+ ;;; Is factor.com still valid on Windows...?
+-(defcustom fuel-listener-factor-binary nil
++(defcustom fuel-listener-factor-binary "@fuel_listener_factor_binary@"
+   "Full path to the factor executable to use when starting a listener."
+   :type '(file :must-match t)
+   :group 'fuel-listener)
diff --git a/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch b/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch
new file mode 100644
index 000000000000..57fc657ddcf3
--- /dev/null
+++ b/pkgs/development/compilers/factor-lang/staging-command-line-0.98-pre.patch
@@ -0,0 +1,13 @@
+diff --git a/basis/tools/deploy/backend/backend.factor b/basis/tools/deploy/backend/backend.factor
+index ec86089dbe..b146168ec9 100644
+--- a/basis/tools/deploy/backend/backend.factor
++++ b/basis/tools/deploy/backend/backend.factor
+@@ -69,7 +69,7 @@ ERROR: can't-deploy-library-file library ;
+             [ staging-image-name "-output-image=" prepend , ]
+             [ " " join "-include=" prepend , ] bi
+         ] [
+-            input-image-name "-i=" prepend ,
++            input-image-name resource-path "-i=" prepend ,
+             "-resource-path=" "" resource-path append ,
+             "-run=tools.deploy.restage" ,
+         ] bi
diff --git a/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch b/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch
new file mode 100644
index 000000000000..f1498743dd67
--- /dev/null
+++ b/pkgs/development/compilers/factor-lang/workdir-0.98-pre.patch
@@ -0,0 +1,24 @@
+diff --git a/core/io/pathnames/pathnames.factor b/core/io/pathnames/pathnames.factor
+index 2d382e49d1..d4d9228d6c 100644
+--- a/core/io/pathnames/pathnames.factor
++++ b/core/io/pathnames/pathnames.factor
+@@ -144,7 +144,10 @@ GENERIC: vocab-path ( path -- newpath )
+ GENERIC: absolute-path ( path -- path' )
+ 
+ M: string absolute-path
+-    "resource:" ?head [
++    "resource:work" ?head [
++        trim-head-separators "/var/lib/factor" prepend-path
++        absolute-path ]
++    [ "resource:" ?head [
+         trim-head-separators resource-path
+         absolute-path
+     ] [
+@@ -158,6 +161,7 @@ M: string absolute-path
+         ] [
+             current-directory get prepend-path
+         ] if ] if
++      ] if
+     ] if ;
+ 
+ M: object normalize-path ( path -- path' )
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
index 8c3012f881c6..b548b05339e4 100644
--- a/pkgs/development/compilers/ghc/8.2.2.nix
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -88,8 +88,7 @@ stdenv.mkDerivation (rec {
     sha256 = "1z05vkpaj54xdypmaml50hgsdpw29dhbs2r7magx0cm199iw73mv";
   };
 
-  # https://ghc.haskell.org/trac/ghc/ticket/15449
-  enableParallelBuilding = !buildPlatform.isAarch64;
+  enableParallelBuilding = true;
 
   outputs = [ "out" "doc" ];
 
diff --git a/pkgs/development/compilers/ghc/8.4.3.nix b/pkgs/development/compilers/ghc/8.4.3.nix
index 7cd7494df050..e43f9a57d0a4 100644
--- a/pkgs/development/compilers/ghc/8.4.3.nix
+++ b/pkgs/development/compilers/ghc/8.4.3.nix
@@ -90,8 +90,7 @@ stdenv.mkDerivation (rec {
     sha256 = "1mk046vb561j75saz05rghhbkps46ym5aci4264dwc2qk3dayixf";
   };
 
-  # https://ghc.haskell.org/trac/ghc/ticket/15449
-  enableParallelBuilding = !buildPlatform.isAarch64;
+  enableParallelBuilding = true;
 
   outputs = [ "out" "doc" ];
 
diff --git a/pkgs/development/compilers/ghc/8.4.4.nix b/pkgs/development/compilers/ghc/8.4.4.nix
new file mode 100644
index 000000000000..0588d7fba921
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.4.4.nix
@@ -0,0 +1,247 @@
+{ stdenv, targetPackages
+
+# build-tools
+, bootPkgs
+, autoconf, automake, coreutils, fetchurl, fetchpatch, perl, python3, m4
+
+, libiconv ? null, ncurses
+
+, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
+, # LLVM is conceptually a run-time-only depedendency, but for
+  # non-x86, we need LLVM to bootstrap later stages, so it becomes a
+  # build-time dependency too.
+  buildLlvmPackages, llvmPackages
+
+, # If enabled, GHC will be built with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+  enableIntegerSimple ? !(stdenv.lib.any (stdenv.lib.meta.platformMatch stdenv.hostPlatform) gmp.meta.platforms), gmp
+
+, # If enabled, use -fPIC when compiling static libs.
+  enableRelocatedStaticLibs ? stdenv.targetPlatform != stdenv.hostPlatform
+
+, # Whether to build dynamic libs for the standard library (on the target
+  # platform). Static libs are always built.
+  enableShared ? !stdenv.targetPlatform.isWindows && !stdenv.targetPlatform.useiOSPrebuilt
+
+, # Whetherto build terminfo.
+  enableTerminfo ? !stdenv.targetPlatform.isWindows
+
+, # What flavour to build. An empty string indicates no
+  # specific flavour and falls back to ghc default values.
+  ghcFlavour ? stdenv.lib.optionalString (stdenv.targetPlatform != stdenv.hostPlatform) "perf-cross"
+, # Whether to backport https://phabricator.haskell.org/D4388 for
+  # deterministic profiling symbol names, at the cost of a slightly
+  # non-standard GHC API
+  deterministicProfiling ? false
+}:
+
+assert !enableIntegerSimple -> gmp != null;
+
+let
+  inherit (stdenv) buildPlatform hostPlatform targetPlatform;
+
+  inherit (bootPkgs) ghc;
+
+  # TODO(@Ericson2314) Make unconditional
+  targetPrefix = stdenv.lib.optionalString
+    (targetPlatform != hostPlatform)
+    "${targetPlatform.config}-";
+
+  buildMK = ''
+    BuildFlavour = ${ghcFlavour}
+    ifneq \"\$(BuildFlavour)\" \"\"
+    include mk/flavours/\$(BuildFlavour).mk
+    endif
+    DYNAMIC_GHC_PROGRAMS = ${if enableShared then "YES" else "NO"}
+    INTEGER_LIBRARY = ${if enableIntegerSimple then "integer-simple" else "integer-gmp"}
+  '' + stdenv.lib.optionalString (targetPlatform != hostPlatform) ''
+    Stage1Only = ${if targetPlatform.system == hostPlatform.system then "NO" else "YES"}
+    CrossCompilePrefix = ${targetPrefix}
+    HADDOCK_DOCS = NO
+    BUILD_SPHINX_HTML = NO
+    BUILD_SPHINX_PDF = NO
+  '' + stdenv.lib.optionalString enableRelocatedStaticLibs ''
+    GhcLibHcOpts += -fPIC
+    GhcRtsHcOpts += -fPIC
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    EXTRA_CC_OPTS += -std=gnu99
+  '';
+
+  # Splicer will pull out correct variations
+  libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
+    ++ stdenv.lib.optional (!enableIntegerSimple) gmp
+    ++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;
+
+  toolsForTarget =
+    if hostPlatform == buildPlatform then
+      [ targetPackages.stdenv.cc ] ++ stdenv.lib.optional useLLVM llvmPackages.llvm
+    else assert targetPlatform == hostPlatform; # build != host == target
+      [ stdenv.cc ] ++ stdenv.lib.optional useLLVM buildLlvmPackages.llvm;
+
+  targetCC = builtins.head toolsForTarget;
+
+in
+stdenv.mkDerivation (rec {
+  version = "8.4.4";
+  name = "${targetPrefix}ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
+    sha256 = "1ch4j2asg7pr52ai1hwzykxyj553wndg7wq93i47ql4fllspf48i";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "out" "doc" ];
+
+  patches = [(fetchpatch {
+    url = "https://git.haskell.org/hsc2hs.git/patch/738f3666c878ee9e79c3d5e819ef8b3460288edf";
+    sha256 = "0plzsbfaq6vb1023lsarrjglwgr9chld4q3m99rcfzx0yx5mibp3";
+    extraPrefix = "utils/hsc2hs/";
+    stripLen = 1;
+  }) (fetchpatch rec { # https://phabricator.haskell.org/D5123
+    url = "http://tarballs.nixos.org/sha256/${sha256}";
+    name = "D5123.diff";
+    sha256 = "0nhqwdamf2y4gbwqxcgjxs0kqx23w9gv5kj0zv6450dq19rji82n";
+  })] ++ stdenv.lib.optional deterministicProfiling
+    (fetchpatch rec {
+      url = "http://tarballs.nixos.org/sha256/${sha256}";
+      name = "D4388.diff";
+      sha256 = "0w6sdcvnqjlnlzpvnzw20b80v150ijjyjvs9548ildc1928j0w7s";
+    })
+    ++ stdenv.lib.optional stdenv.isDarwin ./backport-dylib-command-size-limit.patch;
+
+  postPatch = "patchShebangs .";
+
+  # GHC is a bit confused on its cross terminology.
+  preConfigure = ''
+    for env in $(env | grep '^TARGET_' | sed -E 's|\+?=.*||'); do
+      export "''${env#TARGET_}=''${!env}"
+    done
+    # GHC is a bit confused on its cross terminology, as these would normally be
+    # the *host* tools.
+    export CC="${targetCC}/bin/${targetCC.targetPrefix}cc"
+    export CXX="${targetCC}/bin/${targetCC.targetPrefix}cxx"
+    # Use gold to work around https://sourceware.org/bugzilla/show_bug.cgi?id=16177
+    export LD="${targetCC.bintools}/bin/${targetCC.bintools.targetPrefix}ld${stdenv.lib.optionalString targetPlatform.isAarch32 ".gold"}"
+    export AS="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}as"
+    export AR="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ar"
+    export NM="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}nm"
+    export RANLIB="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}ranlib"
+    export READELF="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}readelf"
+    export STRIP="${targetCC.bintools.bintools}/bin/${targetCC.bintools.targetPrefix}strip"
+
+    echo -n "${buildMK}" > mk/build.mk
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS+=" -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString targetPlatform.useAndroidPrebuilt ''
+    sed -i -e '5i ,("armv7a-unknown-linux-androideabi", ("e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64", "cortex-a8", ""))' llvm-targets
+  '' + stdenv.lib.optionalString targetPlatform.isMusl ''
+      echo "patching llvm-targets for musl targets..."
+      echo "Cloning these existing '*-linux-gnu*' targets:"
+      grep linux-gnu llvm-targets | sed 's/^/  /'
+      echo "(go go gadget sed)"
+      sed -i 's,\(^.*linux-\)gnu\(.*\)$,\0\n\1musl\2,' llvm-targets
+      echo "llvm-targets now contains these '*-linux-musl*' targets:"
+      grep linux-musl llvm-targets | sed 's/^/  /'
+
+      echo "And now patching to preserve '-musleabi' as done with '-gnueabi'"
+      # (aclocal.m4 is actual source, but patch configure as well since we don't re-gen)
+      for x in configure aclocal.m4; do
+        substituteInPlace $x \
+          --replace '*-android*|*-gnueabi*)' \
+                    '*-android*|*-gnueabi*|*-musleabi*)'
+      done
+  '';
+
+  # TODO(@Ericson2314): Always pass "--target" and always prefix.
+  configurePlatforms = [ "build" "host" ]
+    ++ stdenv.lib.optional (targetPlatform != hostPlatform) "target";
+  # `--with` flags for libraries needed for RTS linker
+  configureFlags = [
+    "--datadir=$doc/share/doc/ghc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
+    "--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
+  ] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ] ++ stdenv.lib.optionals (targetPlatform != hostPlatform) [
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++ stdenv.lib.optionals (targetPlatform.isAarch32) [
+    "CFLAGS=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE1=-fuse-ld=gold"
+    "CONF_GCC_LINKER_OPTS_STAGE2=-fuse-ld=gold"
+  ] ++ stdenv.lib.optionals (targetPlatform.isDarwin && targetPlatform.isAarch64) [
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    "--disable-large-address-space"
+  ];
+
+  # Make sure we never relax`$PATH` and hooks support for compatability.
+  strictDeps = true;
+
+  nativeBuildInputs = [
+    perl autoconf automake m4 python3
+    ghc bootPkgs.alex bootPkgs.happy bootPkgs.hscolour
+  ];
+
+  # For building runtime libs
+  depsBuildTarget = toolsForTarget;
+
+  buildInputs = libDeps hostPlatform;
+
+  propagatedBuildInputs = [ targetPackages.stdenv.cc ]
+    ++ stdenv.lib.optional useLLVM llvmPackages.llvm;
+
+  depsTargetTarget = map stdenv.lib.getDev (libDeps targetPlatform);
+  depsTargetTargetPropagated = map (stdenv.lib.getOutput "out") (libDeps targetPlatform);
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!targetPlatform.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  hardeningDisable = [ "format" ];
+
+  postInstall = ''
+    for bin in "$out"/lib/${name}/bin/*; do
+      isELF "$bin" || continue
+      paxmark m "$bin"
+    done
+
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/${targetPrefix}ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
+    done
+  '';
+
+  passthru = {
+    inherit bootPkgs targetPrefix;
+
+    inherit llvmPackages;
+    inherit enableShared;
+
+    # Our Cabal compiler name
+    haskellCompilerName = "ghc-8.4.4";
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs targetPlatform.useAndroidPrebuilt {
+  dontStrip = true;
+  dontPatchELF = true;
+  noAuditTmpdir = true;
+})
diff --git a/pkgs/development/compilers/ghc/8.6.1.nix b/pkgs/development/compilers/ghc/8.6.1.nix
index a2be9d255713..62ea39791b90 100644
--- a/pkgs/development/compilers/ghc/8.6.1.nix
+++ b/pkgs/development/compilers/ghc/8.6.1.nix
@@ -86,8 +86,7 @@ stdenv.mkDerivation (rec {
     sha256 = "0dkh7idgrqr567fq94a0f5x3w0r4cm2ydn51nb5wfisw3rnw499c";
   };
 
-  # https://ghc.haskell.org/trac/ghc/ticket/15449
-  enableParallelBuilding = !buildPlatform.isAarch64;
+  enableParallelBuilding = true;
 
   outputs = [ "out" "doc" ];
 
diff --git a/pkgs/development/compilers/julia/1.0.nix b/pkgs/development/compilers/julia/1.0.nix
index 2301d0c1f437..528a0d26d056 100644
--- a/pkgs/development/compilers/julia/1.0.nix
+++ b/pkgs/development/compilers/julia/1.0.nix
@@ -1,6 +1,6 @@
 import ./shared.nix {
   majorVersion = "1";
   minorVersion = "0";
-  maintenanceVersion = "0";
-  src_sha256 = "083277z90m1jxr2d1ysb96rgjj9h5q97l6h54mx3pb3f38ykshz2";
+  maintenanceVersion = "1";
+  src_sha256 = "0bqb5c63c7jnb753nplqj5v4k9pvh792k8y4b1n5pq8jiibr86i0";
 }
diff --git a/pkgs/development/compilers/julia/shared.nix b/pkgs/development/compilers/julia/shared.nix
index e07c2c04b92d..70ff40cd7ec5 100644
--- a/pkgs/development/compilers/julia/shared.nix
+++ b/pkgs/development/compilers/julia/shared.nix
@@ -104,6 +104,7 @@ stdenv.mkDerivation rec {
       touch test/$i.jl
     done
     rm stdlib/Sockets/test/runtests.jl && touch stdlib/Sockets/test/runtests.jl
+    rm stdlib/Distributed/test/runtests.jl && touch stdlib/Distributed/test/runtests.jl
     sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i ./stdlib/LibGit2/test/libgit2.jl
     sed -e 's/Failed to resolve /failed to resolve /g' -i ./stdlib/LibGit2/test/libgit2.jl
   '';
diff --git a/pkgs/development/compilers/mlton/20130715.nix b/pkgs/development/compilers/mlton/20130715.nix
new file mode 100644
index 000000000000..f495be8a93e4
--- /dev/null
+++ b/pkgs/development/compilers/mlton/20130715.nix
@@ -0,0 +1,118 @@
+{ stdenv, fetchurl, patchelf, gmp }:
+
+let
+  version = "20130715";
+
+  usr_prefix = if stdenv.isDarwin then "usr/local" else "usr";
+
+  dynamic_linker = stdenv.cc.bintools.dynamicLinker;
+in
+
+stdenv.mkDerivation rec {
+  name = "mlton-${version}";
+
+  binSrc =
+    if stdenv.hostPlatform.system == "i686-linux" then (fetchurl {
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.x86-linux.tgz";
+      sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
+    })
+    else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-linux.tgz";
+        sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
+    })
+    else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl {
+        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
+        sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9";
+    })
+    else throw "Architecture not supported";
+
+  codeSrc =
+    fetchurl {
+      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}.src.tgz";
+      sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
+    };
+
+  srcs = [ binSrc codeSrc ];
+
+  sourceRoot = name;
+
+  buildInputs = [ gmp ];
+  nativeBuildInputs = stdenv.lib.optional stdenv.isLinux patchelf;
+
+  makeFlags = [ "all-no-docs" ];
+
+  configurePhase = ''
+    # Fix paths in the source.
+    find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@"
+
+    substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp)
+    substituteInPlace bin/mlton-script --replace gcc cc
+    substituteInPlace bin/regression --replace gcc cc
+    substituteInPlace lib/mlnlffi-lib/Makefile --replace gcc cc
+    substituteInPlace mlnlffigen/gen-cppcmd --replace gcc cc
+    substituteInPlace runtime/Makefile --replace gcc cc
+    substituteInPlace ../${usr_prefix}/bin/mlton --replace gcc cc
+
+    # Fix paths in the binary distribution.
+    BIN_DIST_DIR="$(pwd)/../${usr_prefix}"
+    for f in "bin/mlton" "lib/mlton/platform" "lib/mlton/static-library" ; do
+      substituteInPlace "$BIN_DIST_DIR/$f" --replace '/${usr_prefix}/bin/env bash' $(type -p bash)
+    done
+
+    substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton
+  '' + stdenv.lib.optionalString stdenv.cc.isClang ''
+    sed -i "s_	patch -s -p0 <gdtoa.hide-public-fns.patch_	patch -s -p0 <gdtoa.hide-public-fns.patch\n\tsed -i 's|printf(emptyfmt|printf(\"\"|g' ./gdtoa/arithchk.c_" ./runtime/Makefile
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's|XCFLAGS += -I/usr/local/include -I/sw/include -I/opt/local/include||' ./runtime/Makefile
+  '';
+
+  preBuild = ''
+    # To build the source we have to put the binary distribution in the $PATH.
+    export PATH="$PATH:$(pwd)/../${usr_prefix}/bin/"
+
+    # Let the builder execute the binary distribution.
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mllex
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mlyacc
+    chmod u+x $(pwd)/../${usr_prefix}/bin/mlton
+
+    # So the builder runs the binary compiler with gmp.
+    export LD_LIBRARY_PATH=${gmp.out}/lib:$LD_LIBRARY_PATH
+
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    # Patch ELF interpreter.
+    patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
+    for e in mllex mlyacc ; do
+      patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e
+    done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    # Patch libgmp linking
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mlyacc
+    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mllex
+  '';
+
+  doCheck = true;
+
+  installTargets = [ "install-no-docs" ];
+
+  postInstall = ''
+    # Fix path to mlton libraries.
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton
+
+    # Path to libgmp.
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp.out}/lib'"
+
+    # Path to gmp.h.
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp.dev}/include'"
+
+    # Path to the same cc used in the build; needed at runtime.
+    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'"
+
+    # Copy files to final positions.
+    cp -r $(pwd)/install/${usr_prefix}/bin $out
+    cp -r $(pwd)/install/${usr_prefix}/lib $out
+    cp -r $(pwd)/install/${usr_prefix}/man $out
+  '';
+
+  meta = import ./meta.nix;
+}
diff --git a/pkgs/development/compilers/mlton/20180207-binary.nix b/pkgs/development/compilers/mlton/20180207-binary.nix
new file mode 100644
index 000000000000..0589733cb3c6
--- /dev/null
+++ b/pkgs/development/compilers/mlton/20180207-binary.nix
@@ -0,0 +1,57 @@
+{ stdenv, fetchurl, patchelf, gmp }:
+let
+  dynamic-linker = stdenv.cc.bintools.dynamicLinker;
+in
+stdenv.mkDerivation rec {
+  name = "mlton-${version}";
+  version = "20180207";
+
+  src = if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
+    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-linux.tgz";
+    sha256 = "0f4q575yfm5dpg4a2wsnqn4l2zrar96p6rlsk0dw10ggyfwvsjlf";
+    })
+  else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl {
+    url = "https://github.com/MLton/mlton/releases/download/on-${version}-release/${name}-1.amd64-darwin.gmp-static.tgz";
+      sha256 = "1cw7yhw48qp12q0adwf8srpjzrgkp84kmlkqw3pz8vkxz4p9hbdv";
+    })
+  else
+    throw "Architecture not supported";
+
+  buildInputs = [ gmp ];
+  nativeBuildInputs = stdenv.lib.optional stdenv.isLinux patchelf;
+
+  buildPhase = ''
+    make update \
+      CC="$(type -p cc)" \
+      WITH_GMP_INC_DIR="${gmp.dev}/include" \
+      WITH_GMP_LIB_DIR="${gmp}/lib"
+  '';
+
+  installPhase = ''
+    make install PREFIX=$out
+  '';
+
+  postFixup = stdenv.lib.optionalString stdenv.isLinux ''
+    patchelf --set-interpreter ${dynamic-linker} $out/lib/mlton/mlton-compile
+    patchelf --set-rpath ${gmp}/lib $out/lib/mlton/mlton-compile
+
+    for e in mllex mlnlffigen mlprof mlyacc; do
+      patchelf --set-interpreter ${dynamic-linker} $out/bin/$e
+      patchelf --set-rpath ${gmp}/lib $out/bin/$e
+    done
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change \
+      /opt/local/lib/libgmp.10.dylib \
+      ${gmp}/lib/libgmp.10.dylib \
+      $out/lib/mlton/mlton-compile
+
+    for e in mllex mlnlffigen mlprof mlyacc; do
+      install_name_tool -change \
+        /opt/local/lib/libgmp.10.dylib \
+        ${gmp}/lib/libgmp.10.dylib \
+        $out/bin/$e
+    done
+  '';
+
+  meta = import ./meta.nix;
+}
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index 0b991e22fa98..aaf588851402 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -1,134 +1,26 @@
-{ stdenv, fetchurl, patchelf, gmp }:
-
-let
-  version = "20130715";
-
-  usr_prefix = if stdenv.isDarwin then "usr/local" else "usr";
-
-  dynamic_linker =
-    if stdenv.isx86_64 then "${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2"
-                       else "${stdenv.glibc.out}/lib/ld-linux.so.2";
-in
-
-stdenv.mkDerivation rec {
-  name = "mlton-${version}";
-
-  binSrc =
-    if stdenv.hostPlatform.system == "i686-linux" then (fetchurl {
-      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.x86-linux.tgz";
-      sha256 = "1kxjjmnw4xk2d9hpvz43w9dvyhb3025k4zvjx785c33nrwkrdn4j";
-    })
-    else if stdenv.hostPlatform.system == "x86_64-linux" then (fetchurl {
-        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-linux.tgz";
-        sha256 = "0fyhwxb4nmpirjbjcvk9f6w67gmn2gkz7xcgz0xbfih9kc015ygn";
-    })
-    else if stdenv.hostPlatform.system == "x86_64-darwin" then (fetchurl {
-        url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}-1.amd64-darwin.gmp-macports.tgz";
-        sha256 = "044wnh9hhg6if886xy805683k0as347xd37r0r1yi4x7qlxzzgx9";
-    })
-    else throw "Architecture not supported";
-
-  codeSrc =
-    fetchurl {
-      url = "mirror://sourceforge/project/mlton/mlton/${version}/${name}.src.tgz";
-      sha256 = "0v1x2hrh9hiqkvnbq11kf34v4i5a2x0ffxbzqaa8skyl26nmfn11";
-    };
-
-  srcs = [ binSrc codeSrc ];
-
-  sourceRoot = name;
-
-  buildInputs = [ gmp ];
-  nativeBuildInputs = stdenv.lib.optional stdenv.isLinux patchelf;
-
-  makeFlags = [ "all-no-docs" ];
-
-  configurePhase = ''
-    # Fix paths in the source.
-    find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@"
-
-    substituteInPlace $(pwd)/Makefile --replace '/bin/cp' $(type -p cp)
-    substituteInPlace bin/mlton-script --replace gcc cc
-    substituteInPlace bin/regression --replace gcc cc
-    substituteInPlace lib/mlnlffi-lib/Makefile --replace gcc cc
-    substituteInPlace mlnlffigen/gen-cppcmd --replace gcc cc
-    substituteInPlace runtime/Makefile --replace gcc cc
-    substituteInPlace ../${usr_prefix}/bin/mlton --replace gcc cc
-
-    # Fix paths in the binary distribution.
-    BIN_DIST_DIR="$(pwd)/../${usr_prefix}"
-    for f in "bin/mlton" "lib/mlton/platform" "lib/mlton/static-library" ; do
-      substituteInPlace "$BIN_DIST_DIR/$f" --replace '/${usr_prefix}/bin/env bash' $(type -p bash)
-    done
-
-    substituteInPlace $(pwd)/../${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $(pwd)/../${usr_prefix}/lib/mlton
-  '' + stdenv.lib.optionalString stdenv.cc.isClang ''
-    sed -i "s_	patch -s -p0 <gdtoa.hide-public-fns.patch_	patch -s -p0 <gdtoa.hide-public-fns.patch\n\tsed -i 's|printf(emptyfmt|printf(\"\"|g' ./gdtoa/arithchk.c_" ./runtime/Makefile
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's|XCFLAGS += -I/usr/local/include -I/sw/include -I/opt/local/include||' ./runtime/Makefile
-  '';
-
-  preBuild = ''
-    # To build the source we have to put the binary distribution in the $PATH.
-    export PATH="$PATH:$(pwd)/../${usr_prefix}/bin/"
-
-    # Let the builder execute the binary distribution.
-    chmod u+x $(pwd)/../${usr_prefix}/bin/mllex
-    chmod u+x $(pwd)/../${usr_prefix}/bin/mlyacc
-    chmod u+x $(pwd)/../${usr_prefix}/bin/mlton
-
-    # So the builder runs the binary compiler with gmp.
-    export LD_LIBRARY_PATH=${gmp.out}/lib:$LD_LIBRARY_PATH
-
-  '' + stdenv.lib.optionalString stdenv.isLinux ''
-    # Patch ELF interpreter.
-    patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
-    for e in mllex mlyacc ; do
-      patchelf --set-interpreter ${dynamic_linker} $(pwd)/../${usr_prefix}/bin/$e
-    done
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # Patch libgmp linking
-    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/lib/mlton/mlton-compile
-    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mlyacc
-    install_name_tool -change /opt/local/lib/libgmp.10.dylib ${gmp}/lib/libgmp.10.dylib $(pwd)/../${usr_prefix}/bin/mllex
-  '';
-
-  doCheck = true;
-
-  installTargets = [ "install-no-docs" ];
-
-  postInstall = ''
-    # Fix path to mlton libraries.
-    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace '/${usr_prefix}/lib/mlton' $out/lib/mlton
-
-    # Path to libgmp.
-    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-link-opt '-lm -lgmp'" "-link-opt '-lm -lgmp -L${gmp.out}/lib'"
-
-    # Path to gmp.h.
-    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "-cc-opt '-O1 -fno-common'" "-cc-opt '-O1 -fno-common -I${gmp.dev}/include'"
-
-    # Path to the same cc used in the build; needed at runtime.
-    substituteInPlace $(pwd)/install/${usr_prefix}/bin/mlton --replace "gcc='gcc'" "gcc='"$(type -p cc)"'"
+{ stdenv, fetchurl, fetchgit, patchelf, gmp }:
+rec {
+  mlton20130715 = import ./20130715.nix {
+    inherit stdenv fetchurl patchelf gmp;
+  };
 
-    # Copy files to final positions.
-    cp -r $(pwd)/install/${usr_prefix}/bin $out
-    cp -r $(pwd)/install/${usr_prefix}/lib $out
-    cp -r $(pwd)/install/${usr_prefix}/man $out
-  '';
+  mlton20180207Binary = import ./20180207-binary.nix {
+    inherit stdenv fetchurl patchelf gmp;
+  };
 
-  meta = {
-    description = "Open-source, whole-program, optimizing Standard ML compiler";
-    longDescription = ''
-      MLton is an open source, whole-program optimizing compiler for the Standard ML programming language.
-      MLton aims to produce fast executables, and to encourage rapid prototyping and modular programming
-      by eliminating performance penalties often associated with the use of high-level language features.
-      MLton development began in 1997, and continues to this day with a growing worldwide community of
-      developers and users, who have helped to port MLton to a number of platforms.
-      Description taken from http://en.wikipedia.org/wiki/Mlton .
-    '';
+  mlton20180207 = import ./from-git-source.nix {
+    mltonBootstrap = mlton20180207Binary;
+    version = "20180207";
+    rev = "on-20180207-release";
+    sha256 = "00rdd2di5x1dzac64il9z05m3fdzicjd3226wwjyynv631jj3q2a";
+    inherit stdenv fetchgit gmp;
+  };
 
-    homepage = http://mlton.org/;
-    license = "bsd";
-    platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"];
+  mltonHEAD = import ./from-git-source.nix {
+    mltonBootstrap = mlton20180207Binary;
+    version = "HEAD";
+    rev = "e149c9917cfbfe6aba5c986a958ed76d5cc6cfde";
+    sha256 = "0a0j1i0f0fxw2my1309srq5j3vz0kawrrln01gxms2m5hy5dl50d";
+    inherit stdenv fetchgit gmp;
   };
 }
diff --git a/pkgs/development/compilers/mlton/from-git-source.nix b/pkgs/development/compilers/mlton/from-git-source.nix
new file mode 100644
index 000000000000..3a3538a7ea42
--- /dev/null
+++ b/pkgs/development/compilers/mlton/from-git-source.nix
@@ -0,0 +1,35 @@
+{ fetchgit
+, gmp
+, mltonBootstrap
+, url ? "https://github.com/mlton/mlton"
+, rev
+, sha256
+, stdenv
+, version
+}:
+
+stdenv.mkDerivation {
+  name = "mlton-${version}";
+
+  src = fetchgit {
+    inherit url rev sha256;
+  };
+
+  buildInputs = [mltonBootstrap gmp];
+
+  preBuild = ''
+    find . -type f | grep -v -e '\.tgz''$' | xargs sed -i "s@/usr/bin/env bash@$(type -p bash)@"
+
+    makeFlagsArray=(
+      MLTON_VERSION="${version} ${rev}"
+      CC="$(type -p cc)"
+      PREFIX="$out"
+      WITH_GMP_INC_DIR="${gmp.dev}/include"
+      WITH_GMP_LIB_DIR="${gmp}/lib"
+      )
+  '';
+
+  doCheck = true;
+
+  meta = import ./meta.nix;
+}
diff --git a/pkgs/development/compilers/mlton/meta.nix b/pkgs/development/compilers/mlton/meta.nix
new file mode 100644
index 000000000000..c4dc9c430bc2
--- /dev/null
+++ b/pkgs/development/compilers/mlton/meta.nix
@@ -0,0 +1,15 @@
+{
+  description = "Open-source, whole-program, optimizing Standard ML compiler";
+  longDescription = ''
+    MLton is an open source, whole-program optimizing compiler for the Standard ML programming language.
+    MLton aims to produce fast executables, and to encourage rapid prototyping and modular programming
+    by eliminating performance penalties often associated with the use of high-level language features.
+    MLton development began in 1997, and continues to this day with a growing worldwide community of
+    developers and users, who have helped to port MLton to a number of platforms.
+    Description taken from http://en.wikipedia.org/wiki/Mlton .
+  '';
+
+  homepage = http://mlton.org/;
+  license = "bsd";
+  platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin"];
+}
diff --git a/pkgs/development/compilers/nextpnr/default.nix b/pkgs/development/compilers/nextpnr/default.nix
index 5ec3b5f59d88..d6dd0601e624 100644
--- a/pkgs/development/compilers/nextpnr/default.nix
+++ b/pkgs/development/compilers/nextpnr/default.nix
@@ -7,13 +7,13 @@ let
 in
 stdenv.mkDerivation rec {
   name = "nextpnr-${version}";
-  version = "2018.08.09";
+  version = "2018.10.17";
 
   src = fetchFromGitHub {
     owner  = "yosyshq";
     repo   = "nextpnr";
-    rev    = "2e02f2d6166c75b1fcec73d268e97e407071a372";
-    sha256 = "1f98mkailn75gz5fvhjhnyr0gwa0r8mm3f2sbvgl0yvys8qi08wr";
+    rev    = "529a595157a2eef24f8529b0de0c504a40ed503b";
+    sha256 = "06yp89rpvb2s4zc1qkbcp76kqwkk9s8j2ckblqw547dy5ah2cl7h";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/openspin/default.nix b/pkgs/development/compilers/openspin/default.nix
new file mode 100644
index 000000000000..71bda3e03d96
--- /dev/null
+++ b/pkgs/development/compilers/openspin/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "openspin-${version}";
+  version = "unstable-2018-10-02";
+
+  src = fetchFromGitHub {
+    owner = "parallaxinc";
+    repo = "OpenSpin";
+    rev = "f3a587ed3e4f6a50b3c8d2022bbec5676afecedb";
+    sha256 = "1knkbzdanb60cwp7mggymkhd0167lh2sb1c00d1vhw7s0s1rj96n";
+  };
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv build/openspin $out/bin/openspin
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Compiler for SPIN/PASM languages for Parallax Propeller MCU";
+    homepage = https://github.com/parallaxinc/OpenSpin;
+    license = licenses.mit;
+    maintainers = [ maintainers.redvers ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
index 55faf277b159..48304b6af264 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8cpu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "181";
+  patchVersion = "191";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "0159q5wrlp24v8rc6m1cr3kq8nddpdjdprj3vsmf8z7vpwx052np";
-  sha256.x86_64-linux = "1lwiz44vlxn4hc5b43r9arad15lpjfbr7l6h5vafpgxzjmq5ci8q";
-  sha256.armv7l-linux = "0zpgb1hqf9zazic66c7nim036ac6ld3dhnsanx4ijlrl7kd3fbn7";
-  sha256.aarch64-linux = "191r926501cm6mz8p93ljdfxi0dgzw7ljjsrzsbmmxn4k0q2j0ad";
+  sha256.i686-linux = "1dmnv3x28l0rdi92gpmcp38gpy3lf4pl441bijvjhi7j97kk60v4";
+  sha256.x86_64-linux = "0r8dvb0hahfybvf9wiv7904rn22n93bfc9x6pgypynj0w83rbhjk";
+  sha256.armv7l-linux = "0wgdr9ainzc2yc5qp6ncflnsdygpgrmv2af522djkc83skp5g70v";
+  sha256.aarch64-linux = "1rgwf0i9ikcjqbxkvr4x94y62m1kklfdhgqscxil479d5mg6akqz";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
index 55faf277b159..48304b6af264 100644
--- a/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
+++ b/pkgs/development/compilers/oraclejdk/jdk8psu-linux.nix
@@ -1,11 +1,11 @@
 import ./jdk-linux-base.nix {
   productVersion = "8";
-  patchVersion = "181";
+  patchVersion = "191";
   downloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html;
-  sha256.i686-linux = "0159q5wrlp24v8rc6m1cr3kq8nddpdjdprj3vsmf8z7vpwx052np";
-  sha256.x86_64-linux = "1lwiz44vlxn4hc5b43r9arad15lpjfbr7l6h5vafpgxzjmq5ci8q";
-  sha256.armv7l-linux = "0zpgb1hqf9zazic66c7nim036ac6ld3dhnsanx4ijlrl7kd3fbn7";
-  sha256.aarch64-linux = "191r926501cm6mz8p93ljdfxi0dgzw7ljjsrzsbmmxn4k0q2j0ad";
+  sha256.i686-linux = "1dmnv3x28l0rdi92gpmcp38gpy3lf4pl441bijvjhi7j97kk60v4";
+  sha256.x86_64-linux = "0r8dvb0hahfybvf9wiv7904rn22n93bfc9x6pgypynj0w83rbhjk";
+  sha256.armv7l-linux = "0wgdr9ainzc2yc5qp6ncflnsdygpgrmv2af522djkc83skp5g70v";
+  sha256.aarch64-linux = "1rgwf0i9ikcjqbxkvr4x94y62m1kklfdhgqscxil479d5mg6akqz";
   jceName = "jce_policy-8.zip";
   jceDownloadUrl = http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html;
   sha256JCE = "0n8b6b8qmwb14lllk2lk1q1ahd3za9fnjigz5xn65mpg48whl0pk";
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index 47415ac9177b..7d785093f9b3 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -6,11 +6,11 @@
 
 let
   rustPlatform = recurseIntoAttrs (makeRustPlatform (callPackage ./bootstrap.nix {}));
-  version = "1.29.0";
-  cargoVersion = "1.29.0";
+  version = "1.29.1";
+  cargoVersion = "1.29.1";
   src = fetchurl {
     url = "https://static.rust-lang.org/dist/rustc-${version}-src.tar.gz";
-    sha256 = "1sb15znckj8pc8q3g7cq03pijnida6cg64yqmgiayxkzskzk9sx4";
+    sha256 = "0jd3c57x3yndizns4pb68nh25si47agfmrdvf9nwwsyfcs5p5c7i";
   };
 in rec {
   rustc = callPackage ./rustc.nix {
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 34855838fe8b..334ecbb168ba 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.4.10";
+  version = "1.4.12";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "1j9wb608pkihpwgzl4qvnr4jl6mb7ngfqy559pxnvmnn1zlyfklh";
+    sha256 = "0maa4h5zdykq050hdqk5wd74dhl6k7br3qrhfd4f2387skk8ky7a";
   };
 
   patchPhase = ''
@@ -87,15 +87,23 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     INSTALL_ROOT=$out sh install.sh
+  ''
+  + stdenv.lib.optionalString (!purgeNixReferences) ''
+    cp -r src $out/lib/sbcl
+    cp -r contrib $out/lib/sbcl
+    cat >$out/lib/sbcl/sbclrc <<EOF
+     (setf (logical-pathname-translations "SYS")
+       '(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
+         ("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
+    EOF
   '';
 
-  # Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`.
-  setupHook = writeText "setupHook.sh" ''
+  setupHook = stdenv.lib.optional purgeNixReferences (writeText "setupHook.sh" ''
     addEnvHooks "$targetOffset" _setSbclHome
     _setSbclHome() {
       export SBCL_HOME='@out@/lib/sbcl/'
     }
-  '';
+  '');
 
   meta = sbclBootstrap.meta // {
     inherit version;
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 314fbf354e19..275a25c84959 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -8,14 +8,14 @@ with builtins;
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2018.09.30";
+  version = "2018.10.17";
 
   srcs = [
     (fetchFromGitHub {
       owner  = "yosyshq";
       repo   = "yosys";
-      rev    = "4d2917447cc14c590b4fee5ba36948fb4ee6884b";
-      sha256 = "0b9mmzq2jhx8x8b58nk97fzh70nbhlc3lcfln5facxddv4mp2gl1";
+      rev    = "yosys-0.8";
+      sha256 = "1qwbp8gynlklawzvpa4gdn2x0hs8zln0s3kxjqkhfcjfxffdcpvv";
       name   = "yosys";
     })
 
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index fc88a1c33eed..d532020d663c 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
index 474ce05c1d47..e645a3424c0d 100644
--- a/pkgs/development/coq-modules/bignums/default.nix
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
   installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
diff --git a/pkgs/development/coq-modules/category-theory/default.nix b/pkgs/development/coq-modules/category-theory/default.nix
index c707fcdbd6be..4587e08be483 100644
--- a/pkgs/development/coq-modules/category-theory/default.nix
+++ b/pkgs/development/coq-modules/category-theory/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/contribs/default.nix b/pkgs/development/coq-modules/contribs/default.nix
index 1b310d74b82a..d12d3fefb944 100644
--- a/pkgs/development/coq-modules/contribs/default.nix
+++ b/pkgs/development/coq-modules/contribs/default.nix
@@ -12,7 +12,7 @@ let mkContrib = repo: revs: param:
       sha256 = "${param.sha256}";
     };
 
-    buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+    buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
     installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
diff --git a/pkgs/development/coq-modules/coq-ext-lib/default.nix b/pkgs/development/coq-modules/coq-ext-lib/default.nix
index 5e6ee7fac6f1..0e9c0b93ceda 100644
--- a/pkgs/development/coq-modules/coq-ext-lib/default.nix
+++ b/pkgs/development/coq-modules/coq-ext-lib/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     inherit (param) sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/coq-haskell/default.nix b/pkgs/development/coq-modules/coq-haskell/default.nix
index cbfd79fdd272..57f31e1847c1 100644
--- a/pkgs/development/coq-modules/coq-haskell/default.nix
+++ b/pkgs/development/coq-modules/coq-haskell/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
   enableParallelBuilding = false;
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index 5b9437e7c279..e403f7d4fb5c 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
+{ stdenv, fetchFromGitHub, autoreconfHook, coq }:
 
 let params = {
   "8.8" = {
@@ -34,8 +34,8 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ coq coq.camlp5 ]
-  ++ (with ocamlPackages; [ ocaml findlib ocamlgraph ]);
+  buildInputs = [ coq ]
+  ++ (with coq.ocamlPackages; [ ocaml camlp5 findlib ocamlgraph ]);
 
   preInstall = ''
     mkdir -p $out/bin
diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix
index fa17d37b4bd3..3f049eed34be 100644
--- a/pkgs/development/coq-modules/equations/default.nix
+++ b/pkgs/development/coq-modules/equations/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     sha256 = "${param.sha256}";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 findlib coq ];
 
   preBuild = "coq_makefile -f _CoqProject -o Makefile";
 
diff --git a/pkgs/development/coq-modules/fiat/HEAD.nix b/pkgs/development/coq-modules/fiat/HEAD.nix
index b970747c7726..a064064fd919 100644
--- a/pkgs/development/coq-modules/fiat/HEAD.nix
+++ b/pkgs/development/coq-modules/fiat/HEAD.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0griqc675yylf9rvadlfsabz41qy5f5idya30p5rv6ysiakxya64";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 python27 ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 python27 ];
   propagatedBuildInputs = [ coq ];
 
   doCheck = false;
diff --git a/pkgs/development/coq-modules/flocq/default.nix b/pkgs/development/coq-modules/flocq/default.nix
index 092337125a4d..ff7385a9222e 100644
--- a/pkgs/development/coq-modules/flocq/default.nix
+++ b/pkgs/development/coq-modules/flocq/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "13fv150dcwnjrk00d7zj2c5x9jwmxgrq0ay440gkr730l8mvk3l3";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 bash which autoconf automake ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 bash which autoconf automake ];
   propagatedBuildInputs = [ coq ];
 
   buildPhase = ''
diff --git a/pkgs/development/coq-modules/heq/default.nix b/pkgs/development/coq-modules/heq/default.nix
index bf441562b14e..03149bab58b1 100644
--- a/pkgs/development/coq-modules/heq/default.nix
+++ b/pkgs/development/coq-modules/heq/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "03y71c4qs6cmy3s2hjs05g7pcgk9sqma6flj15394yyxbvr9is1p";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
   propagatedBuildInputs = [ coq ];
 
   preBuild = "cd src";
diff --git a/pkgs/development/coq-modules/mathcomp/generic.nix b/pkgs/development/coq-modules/mathcomp/generic.nix
index 22721ca98bc2..2a602711965f 100644
--- a/pkgs/development/coq-modules/mathcomp/generic.nix
+++ b/pkgs/development/coq-modules/mathcomp/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
+  buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/metalib/default.nix b/pkgs/development/coq-modules/metalib/default.nix
index f6316f77a1fa..46a6cafb6ab8 100644
--- a/pkgs/development/coq-modules/metalib/default.nix
+++ b/pkgs/development/coq-modules/metalib/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.mit;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 which coq lngen ott coq.findlib ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 which coq lngen ott findlib ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/coq-modules/paco/default.nix b/pkgs/development/coq-modules/paco/default.nix
index 94a24eb70858..86a1301d3c76 100644
--- a/pkgs/development/coq-modules/paco/default.nix
+++ b/pkgs/development/coq-modules/paco/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lcmdr0y2d7gzyvr8dal3pi7fibbd60bpi1l32fw89xiyrgqhsqy";
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 unzip ];
+  buildInputs = with coq.ocamlPackages; [ ocaml camlp5 unzip ];
   propagatedBuildInputs = [ coq ];
 
   preBuild = "cd src";
diff --git a/pkgs/development/coq-modules/ssreflect/generic.nix b/pkgs/development/coq-modules/ssreflect/generic.nix
index d09e47a7f845..23e364cd960d 100644
--- a/pkgs/development/coq-modules/ssreflect/generic.nix
+++ b/pkgs/development/coq-modules/ssreflect/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
   inherit src;
 
   nativeBuildInputs = stdenv.lib.optionals withDoc [ graphviz ];
-  buildInputs = [ coq.ocaml coq.findlib coq.camlp5 ncurses which ];
+  buildInputs = with coq.ocamlPackages; [ ocaml findlib camlp5 ncurses which ];
   propagatedBuildInputs = [ coq ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 86c0b93917e7..2cb95a397c6b 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -86,7 +86,7 @@ self: super: {
       name = "git-annex-${super.git-annex.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + super.git-annex.version;
-      sha256 = "09rhss1s6gxmqvb8k2l0f55mv38igyvikmm6d07zxkw6049q3maz";
+      sha256 = "069w4gdb104lc3vp48k3wywmgql56yc5g2g2i240xrr88in3qvqw";
     };
   }).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -332,7 +332,7 @@ self: super: {
   itanium-abi = dontCheck super.itanium-abi;
   katt = dontCheck super.katt;
   language-slice = dontCheck super.language-slice;
-  language-nix = if pkgs.stdenv.isi686 then dontCheck super.language-nix else super.language-nix;
+  language-nix = if (pkgs.stdenv.hostPlatform.isAarch64 || pkgs.stdenv.hostPlatform.isi686) then dontCheck super.language-nix else super.language-nix; # aarch64: https://ghc.haskell.org/trac/ghc/ticket/15275
   ldap-client = dontCheck super.ldap-client;
   lensref = dontCheck super.lensref;
   lucid = dontCheck super.lucid; #https://github.com/chrisdone/lucid/issues/25
@@ -676,8 +676,13 @@ self: super: {
   # https://github.com/goldfirere/singletons/issues/122
   singletons = dontCheck super.singletons;
 
-  # https://github.com/fpco/stackage/issues/838
-  cryptonite = dontCheck super.cryptonite;
+  # Fix an aarch64 issue with cryptonite-0.25:
+  # https://github.com/haskell-crypto/cryptonite/issues/234
+  # This has been committed upstream, but there is, as of yet, no new release.
+  cryptonite = appendPatch super.cryptonite (pkgs.fetchpatch {
+    url = https://github.com/haskell-crypto/cryptonite/commit/4622e5fc8ece82f4cf31358e31cd02cf020e558e.patch;
+    sha256 = "1m2d47ni4jbrpvxry50imj91qahr3r7zkqm157clrzlmw6gzpgnq";
+  });
 
   # We cannot build this package w/o the C library from <http://www.phash.org/>.
   phash = markBroken super.phash;
@@ -918,9 +923,9 @@ self: super: {
   text-icu = dontCheck super.text-icu;
 
   # https://github.com/haskell/cabal/issues/4969
-  haddock-api = (super.haddock-api.overrideScope (self: super: {
-    haddock-library = self.haddock-library_1_6_0;
-  })).override { hspec = self.hspec_2_4_8; };
+  # haddock-api = (super.haddock-api.overrideScope (self: super: {
+  #   haddock-library = self.haddock-library_1_6_0;
+  # })).override { hspec = self.hspec_2_4_8; };
 
   # Jailbreak "unix-compat >=0.1.2 && <0.5".
   # Jailbreak "graphviz >=2999.18.1 && <2999.20".
@@ -1055,21 +1060,18 @@ self: super: {
 
   # The test suite is broken. Break out of "base-compat >=0.9.3 && <0.10, hspec >=2.4.4 && <2.5".
   haddock-library = doJailbreak (dontCheck super.haddock-library);
-  haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
+  # haddock-library_1_6_0 = doJailbreak (dontCheck super.haddock-library_1_6_0);
 
   # The tool needs a newer hpack version than the one mandated by LTS-12.x.
   cabal2nix = super.cabal2nix.overrideScope (self: super: {
     hpack = self.hpack_0_31_0;
-    yaml = self.yaml_0_10_2_0;
+    yaml = self.yaml_0_11_0_0;
   });
   stack2nix = super.stack2nix.overrideScope (self: super: {
     hpack = self.hpack_0_31_0;
-    yaml = self.yaml_0_10_2_0;
+    yaml = self.yaml_0_11_0_0;
   });
 
-  # Break out of "aeson <1.3, temporary <1.3".
-  stack = doJailbreak super.stack;
-
   # https://github.com/pikajude/stylish-cabal/issues/11
   stylish-cabal = super.stylish-cabal.override { hspec = self.hspec_2_4_8; hspec-core = self.hspec-core_2_4_8; };
   hspec_2_4_8 = super.hspec_2_4_8.override { hspec-core = self.hspec-core_2_4_8; hspec-discover = self.hspec-discover_2_4_8; };
@@ -1103,9 +1105,6 @@ self: super: {
   # Can be removed once yi-language >= 0.18 is in the LTS
   yi-core = super.yi-core.overrideScope (self: super: { yi-language = self.yi-language_0_18_0; });
 
-  # https://github.com/MarcWeber/hasktags/issues/52
-  hasktags = dontCheck super.hasktags;
-
   # https://github.com/haskell/hoopl/issues/50
   hoopl = dontCheck super.hoopl;
 
@@ -1148,4 +1147,10 @@ self: super: {
 
   arbtt = doJailbreak super.arbtt;
 
+  # https://github.com/yesodweb/yesod/issues/1563
+  yesod-core = self.yesod-core_1_6_8_1;
+
+  # https://github.com/danfran/cabal-macosx/issues/13
+  cabal-macosx = dontCheck super.cabal-macosx;
+
 } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
index e0d2753a5849..43f769ff6fd5 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.0.x.nix
@@ -85,4 +85,7 @@ self: super: {
   # GHC 8.0 doesn't have semigroups included by default
   ListLike = addBuildDepend super.ListLike self.semigroups;
 
+  # Add missing build depedency for this compiler.
+  base-compat-batteries = addBuildDepend super.base-compat-batteries self.bifunctors;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
index 49c3623d5d6b..8d0669ca2acb 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.4.x.nix
@@ -56,4 +56,8 @@ self: super: {
           };
     in appendPatch super.hadoop-rpc patch;
 
+  # Version 1.9.1 needs Cabal 2.4.x or later, so
+  # we use the one from the ghc-8.6.1 package set.
+  stack = markBroken super.stack;
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
index 041227059cde..ca2c8849dc64 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-8.6.x.nix
@@ -46,44 +46,88 @@ self: super: {
 
   # LTS-12.x versions do not compile.
   base-orphans = self.base-orphans_0_8;
+  brick = doJailbreak super.brick_0_41_2;      # https://github.com/jtdaugherty/brick/pull/188
+  cassava-megaparsec = doJailbreak super.cassava-megaparsec;
+  config-ini = doJailbreak super.config-ini;   # https://github.com/aisamanra/config-ini/issues/18
   contravariant = self.contravariant_1_5;
-  control-monad-free = markBrokenVersion "0.6.1" super.control-monad-free;
   free = self.free_5_1;
-  Glob = self.Glob_0_9_3;
-  haddock-library = markBroken super.haddock-library;
-  hslogger = self.hslogger_1_2_12;
+  haddock-library = dontCheck super.haddock-library_1_7_0;
+  HaTeX = doJailbreak super.HaTeX;
+  hledger = doJailbreak super.hledger;
+  hledger-lib = doJailbreak super.hledger-lib;
+  hledger-ui = doJailbreak super.hledger-ui;
+  hpack = self.hpack_0_31_0;
+  hslua = self.hslua_1_0_1;
+  hslua-module-text = self.hslua-module-text_0_2_0;
   hspec = self.hspec_2_5_8;
   hspec-core = self.hspec-core_2_5_8;
-  hspec-core_2_5_8 = super.hspec-core_2_5_8.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_6_1; });
   hspec-discover = self.hspec-discover_2_5_8;
+  hspec-megaparsec = doJailbreak super.hspec-megaparsec;  # newer versions need megaparsec 7.x
   hspec-meta = self.hspec-meta_2_5_6;
-  hspec-meta_2_5_6 = super.hspec-meta_2_5_6.overrideScope (self: super: { QuickCheck = self.QuickCheck_2_12_6_1; });
-  JuicyPixels = self.JuicyPixels_3_3_1;
+  JuicyPixels = self.JuicyPixels_3_3_2;
   lens = self.lens_4_17;
-  polyparse = markBrokenVersion "1.12" super.polyparse;
+  megaparsec = dontCheck (doJailbreak super.megaparsec);
+  neat-interpolation = dontCheck super.neat-interpolation;  # test suite depends on broken HTF
+  patience = markBrokenVersion "0.1.1" super.patience;
   primitive = self.primitive_0_6_4_0;
+  QuickCheck = self.QuickCheck_2_12_6_1;
   semigroupoids = self.semigroupoids_5_3_1;
   tagged = self.tagged_0_8_6;
-  unordered-containers = dontCheck super.unordered-containers;
+  vty = self.vty_5_25;
+  wizards = doJailbreak super.wizards;
+  wl-pprint-extras = doJailbreak super.wl-pprint-extras;
+  yaml = self.yaml_0_11_0_0;
 
-  # Over-specified constraints.
-  async = doJailbreak super.async;                           # base >=4.3 && <4.12, stm >=2.2 && <2.5
-  ChasingBottoms = doJailbreak super.ChasingBottoms;         # base >=4.2 && <4.12, containers >=0.3 && <0.6
-  hashable = doJailbreak super.hashable;                     # base >=4.4 && <4.1
-  hashable-time = doJailbreak super.hashable-time;           # base >=4.7 && <4.12
-  integer-logarithms = doJailbreak super.integer-logarithms; # base >=4.3 && <4.12
-  optparse-applicative = doJailbreak super.optparse-applicative;   # https://github.com/pcapriotti/optparse-applicative/issues/319
-  tar = doJailbreak super.tar;                               # containers >=0.2 && <0.6
-  test-framework = doJailbreak super.test-framework;         # containers >=0.1 && <0.6
+  # https://github.com/tibbe/unordered-containers/issues/214
+  unordered-containers = dontCheck super.unordered-containers;
 
   # https://github.com/haskell/fgl/issues/79
   # https://github.com/haskell/fgl/issues/81
-  fgl = appendPatch super.fgl ./patches/fgl-monad-fail.patch;
+  fgl = appendPatch (overrideCabal super.fgl (drv: { editedCabalFile = null; })) ./patches/fgl-monad-fail.patch;
+
+  # Test suite does not compile.
+  cereal = dontCheck super.cereal;
+  data-clist = doJailbreak super.data-clist;  # won't cope with QuickCheck 2.12.x
+  Diff = dontCheck super.Diff;
+  http-api-data = doJailbreak super.http-api-data;
+  lucid = doJailbreak super.lucid;
+  persistent-sqlite = dontCheck super.persistent-sqlite;
+  psqueues = dontCheck super.psqueues;    # won't cope with QuickCheck 2.12.x
+  system-fileio = dontCheck super.system-fileio;  # avoid dependency on broken "patience"
+  unicode-transforms = dontCheck super.unicode-transforms;
+  monad-par = dontCheck super.monad-par;  # https://github.com/simonmar/monad-par/issues/66
+
+  # https://github.com/bmillwood/haskell-src-meta/pull/80
+  haskell-src-meta = doJailbreak super.haskell-src-meta;
+
+  # The official 1.12 release is broken and unmaintained.
+  polyparse = appendPatch (overrideCabal super.polyparse (drv: { editedCabalFile = null; })) (pkgs.fetchpatch {
+    url = https://github.com/bergmark/polyparse/commit/8a69ee7e57db798c106d8b56dce05b1dfc4fed37.patch;
+    sha256 = "11r73wx1w6bfrkrnk6r9k7rfzp6qrvkdikb2by37ld06c0w6nn57";
+  });
+
+  # https://github.com/skogsbaer/HTF/issues/69
+  HTF = markBrokenVersion "0.13.2.4" super.HTF;
+
+  # https://github.com/jgm/pandoc-types/issues/52
+  pandoc-types = doJailbreak super.pandoc-types;
+
+  #
+  skylighting-core = dontCheck super.skylighting-core;
+
+  # https://github.com/joelburget/easytest/issues/12
+  easytest = appendPatch super.easytest (pkgs.fetchpatch {
+    url = https://github.com/joelburget/easytest/pull/13.patch;
+    sha256 = "0gnsgga8x2yxyg27pya6rhmxfsxf167vsi4xdj98fn8v0j7zz1v1";
+  });
+
+  # https://github.com/jgm/pandoc/issues/4974
+  pandoc = doJailbreak super.pandoc_2_3_1;
+
+  # Break out of "yaml >=0.10.4.0 && <0.11".
+  stack = doJailbreak super.stack;
 
-  # https://github.com/jgm/texmath/pull/121
-  texmath = appendPatch (doJailbreak super.texmath) (pkgs.fetchpatch
-            { url = https://github.com/jgm/texmath/pull/121.patch;
-              sha256 = "14pz2cpz9rvmy7mlmnz8iz76rsdyv5v442ij2i8k9zrbxj6nai7l";
-            });
+  # https://github.com/vimus/libmpd-haskell/issues/109
+  xmobar = disableCabalFlag (super.xmobar.override { libmpd = null; }) "with_mpd";
 
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index f68270ba772e..8b469e6c0f5e 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -45,7 +45,7 @@ default-package-overrides:
   - base-compat-batteries ==0.10.1
   # Newer versions don't work in LTS-12.x
   - cassava-megaparsec < 2
-  # LTS Haskell 12.12
+  # LTS Haskell 12.13
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -313,7 +313,7 @@ default-package-overrides:
   - bson ==0.3.2.6
   - bson-lens ==0.1.1
   - btrfs ==0.1.2.3
-  - buffer-builder ==0.2.4.6
+  - buffer-builder ==0.2.4.7
   - buffer-pipe ==0.0
   - butcher ==1.3.2.0
   - butter ==0.1.0.6
@@ -354,7 +354,7 @@ default-package-overrides:
   - cast ==0.1.0.2
   - category ==0.2.0.1
   - cayley-client ==0.4.7
-  - cborg ==0.2.0.0
+  - cborg ==0.2.1.0
   - cereal ==0.5.7.0
   - cereal-conduit ==0.8.0
   - cereal-text ==0.1.0.2
@@ -439,7 +439,7 @@ default-package-overrides:
   - concurrent-split ==0.0.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
-  - conduit ==1.3.0.3
+  - conduit ==1.3.1
   - conduit-algorithms ==0.0.8.2
   - conduit-combinators ==1.3.0
   - conduit-connection ==0.1.0.4
@@ -461,6 +461,7 @@ default-package-overrides:
   - contravariant ==1.4.1
   - contravariant-extras ==0.3.4
   - control-bool ==0.2.1
+  - control-dsl ==0.2.1.1
   - control-monad-free ==0.6.2
   - control-monad-omega ==0.3.1
   - convertible ==1.1.1.0
@@ -516,7 +517,7 @@ default-package-overrides:
   - currency ==0.2.0.0
   - cutter ==0.0
   - cyclotomic ==0.5.1
-  - czipwith ==1.0.1.0
+  - czipwith ==1.0.1.1
   - darcs ==2.14.1
   - data-accessor ==0.2.2.8
   - data-accessor-mtl ==0.2.0.4
@@ -587,7 +588,7 @@ default-package-overrides:
   - diagrams-html5 ==1.4.1
   - diagrams-lib ==1.4.2.3
   - diagrams-postscript ==1.4.1
-  - diagrams-rasterific ==1.4.1
+  - diagrams-rasterific ==1.4.1.1
   - diagrams-solve ==0.1.1
   - diagrams-svg ==1.4.2
   - di-core ==1.0.3
@@ -813,7 +814,7 @@ default-package-overrides:
   - genvalidity-property ==0.2.1.1
   - genvalidity-scientific ==0.2.1.0
   - genvalidity-text ==0.5.1.0
-  - genvalidity-time ==0.2.1.0
+  - genvalidity-time ==0.2.1.1
   - genvalidity-unordered-containers ==0.2.0.3
   - genvalidity-uuid ==0.1.0.2
   - genvalidity-vector ==0.2.0.2
@@ -905,8 +906,8 @@ default-package-overrides:
   - hashmap ==1.3.3
   - hashtables ==1.2.3.1
   - haskeline ==0.7.4.3
-  - haskell-gi ==0.21.4
-  - haskell-gi-base ==0.21.3
+  - haskell-gi ==0.21.5
+  - haskell-gi-base ==0.21.4
   - haskell-gi-overloading ==1.0
   - haskell-lexer ==1.0.2
   - haskell-lsp ==0.2.2.0
@@ -1003,8 +1004,8 @@ default-package-overrides:
   - hsdns ==1.7.1
   - hsebaysdk ==0.4.0.0
   - hsemail ==2
-  - HSet ==0.0.1
   - hset ==2.2.0
+  - HSet ==0.0.1
   - hsexif ==0.6.1.6
   - hs-functors ==0.1.3.0
   - hs-GeoIP ==0.3
@@ -1266,7 +1267,7 @@ default-package-overrides:
   - llvm-hs-pretty ==0.5.0.0
   - llvm-hs-pure ==6.2.1
   - lmdb ==0.2.5
-  - load-env ==0.2.0.1
+  - load-env ==0.2.0.2
   - locators ==0.2.4.4
   - loch-th ==0.2.2
   - lockfree-queue ==0.2.3.1
@@ -1339,7 +1340,7 @@ default-package-overrides:
   - microstache ==1.0.1.1
   - midi ==0.2.2.2
   - mighty-metropolis ==1.2.0
-  - milena ==0.5.2.2
+  - milena ==0.5.2.3
   - mime-mail ==0.4.14
   - mime-mail-ses ==0.4.1
   - mime-types ==0.1.0.8
@@ -1502,7 +1503,7 @@ default-package-overrides:
   - OpenGL ==3.0.2.2
   - OpenGLRaw ==3.3.1.0
   - openpgp-asciiarmor ==0.1.1
-  - opensource ==0.1.0.0
+  - opensource ==0.1.1.0
   - openssl-streams ==1.2.1.3
   - open-witness ==0.4.0.1
   - operational ==0.2.3.5
@@ -1655,7 +1656,7 @@ default-package-overrides:
   - proto-lens ==0.3.1.0
   - proto-lens-arbitrary ==0.1.2.2
   - proto-lens-combinators ==0.1.0.11
-  - proto-lens-optparse ==0.1.1.3
+  - proto-lens-optparse ==0.1.1.4
   - proto-lens-protobuf-types ==0.3.0.1
   - proto-lens-protoc ==0.3.1.2
   - protolude ==0.2.2
@@ -1695,7 +1696,7 @@ default-package-overrides:
   - rank1dynamic ==0.4.0
   - rank2classes ==1.1.0.1
   - Rasterific ==0.7.4
-  - rasterific-svg ==0.3.3.1
+  - rasterific-svg ==0.3.3.2
   - ratel ==1.0.5
   - ratel-wai ==1.0.3
   - ratio-int ==0.1.2
@@ -1747,7 +1748,7 @@ default-package-overrides:
   - reroute ==0.5.0.0
   - resolv ==0.1.1.1
   - resource-pool ==0.2.3.2
-  - resourcet ==1.2.1
+  - resourcet ==1.2.2
   - rest-stringmap ==0.2.0.7
   - result ==0.2.6.0
   - rethinkdb-client-driver ==0.0.25
@@ -1775,7 +1776,7 @@ default-package-overrides:
   - safeio ==0.0.5.0
   - safe-money ==0.6
   - SafeSemaphore ==0.10.1
-  - saltine ==0.1.0.1
+  - saltine ==0.1.0.2
   - salve ==1.0.6
   - sample-frame ==0.0.3
   - sample-frame-np ==0.0.4.1
@@ -1784,8 +1785,8 @@ default-package-overrides:
   - sandman ==0.2.0.1
   - say ==0.1.0.1
   - sbp ==2.3.17
-  - scalendar ==1.2.0
   - SCalendar ==1.1.0
+  - scalendar ==1.2.0
   - scalpel ==0.5.1
   - scalpel-core ==0.5.1
   - scanner ==0.2
@@ -1881,8 +1882,8 @@ default-package-overrides:
   - siphash ==1.0.3
   - size-based ==0.1.1.0
   - skein ==1.0.9.4
-  - skylighting ==0.7.3
-  - skylighting-core ==0.7.3
+  - skylighting ==0.7.4
+  - skylighting-core ==0.7.4
   - slack-web ==0.2.0.6
   - slave-thread ==1.0.2
   - smallcheck ==1.1.5
@@ -1931,7 +1932,7 @@ default-package-overrides:
   - statestack ==0.2.0.5
   - StateVar ==1.1.1.1
   - static-canvas ==0.2.0.3
-  - static-text ==0.2.0.2
+  - static-text ==0.2.0.3
   - statistics ==0.14.0.2
   - stb-image-redux ==0.2.1.2
   - step-function ==0.2
@@ -1964,7 +1965,7 @@ default-package-overrides:
   - streams ==3.3
   - strict ==0.3.2
   - strict-base-types ==0.6.1
-  - strict-concurrency ==0.2.4.2
+  - strict-concurrency ==0.2.4.3
   - stringbuilder ==0.5.1
   - string-class ==0.1.7.0
   - string-combinators ==0.6.0.5
@@ -1981,7 +1982,7 @@ default-package-overrides:
   - superbuffer ==0.3.1.1
   - svg-builder ==0.1.1
   - SVGFonts ==1.7
-  - svg-tree ==0.6.2.2
+  - svg-tree ==0.6.2.3
   - swagger ==0.3.0
   - swagger2 ==2.2.2
   - swish ==0.9.2.1
@@ -2006,7 +2007,7 @@ default-package-overrides:
   - tar ==0.5.1.0
   - tar-conduit ==0.2.5
   - tardis ==0.4.1.0
-  - tasty ==1.1.0.3
+  - tasty ==1.1.0.4
   - tasty-ant-xml ==1.1.4
   - tasty-dejafu ==1.2.0.7
   - tasty-discover ==4.2.1
@@ -2074,7 +2075,7 @@ default-package-overrides:
   - thread-local-storage ==0.2
   - threads ==0.5.1.6
   - threads-extras ==0.1.0.2
-  - threepenny-gui ==0.8.2.4
+  - threepenny-gui ==0.8.3.0
   - th-reify-compat ==0.0.1.5
   - th-reify-many ==0.1.8
   - throttle-io-stream ==0.2.0.1
@@ -2174,7 +2175,7 @@ default-package-overrides:
   - unordered-containers ==0.2.9.0
   - unordered-intmap ==0.1.1
   - unsafe ==0.0
-  - uri-bytestring ==0.3.2.0
+  - uri-bytestring ==0.3.2.1
   - uri-encode ==1.5.0.5
   - uri-templater ==0.3.1.0
   - urlpath ==9.0.0
@@ -2339,7 +2340,7 @@ default-package-overrides:
   - yesod-auth-fb ==1.9.1
   - yesod-auth-hashdb ==1.7
   - yesod-bin ==1.6.0.3
-  - yesod-core ==1.6.6
+  - yesod-core ==1.6.8
   - yesod-csp ==0.2.4.0
   - yesod-eventsource ==1.6.0
   - yesod-fb ==0.5.0
@@ -2360,7 +2361,7 @@ default-package-overrides:
   - yi-language ==0.17.1
   - yi-rope ==0.11
   - yjtools ==0.9.18
-  - yoga ==0.0.0.2
+  - yoga ==0.0.0.5
   - youtube ==0.2.1.1
   - zero ==0.1.4
   - zeromq4-haskell ==0.7.0
@@ -2885,13 +2886,14 @@ dont-distribute-packages:
   ArrowVHDL:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   artery:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii-flatten:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
-  ascii-string:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ascii-string:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii-table:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii-vector-avc:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii85-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   ascii:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   asciidiagram:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   asic:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  asif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   asil:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   asn1-codec:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   asn:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2904,7 +2906,7 @@ dont-distribute-packages:
   ast-monad:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   astrds:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   astview:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  async-combinators:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  async-combinators:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   async-dejafu:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   async-manager:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   asynchronous-exceptions:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2930,11 +2932,13 @@ dont-distribute-packages:
   attoparsec-csv:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-data:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-enumerator:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  attoparsec-ip:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-iteratee:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-text-enumerator:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-text:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-time:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-trans:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  attoparsec-uri:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   attoparsec-varword:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   attosplit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Attrac:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2944,7 +2948,7 @@ dont-distribute-packages:
   augur:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   aur-api:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   aur:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
-  aura:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aura:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Aurochs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   authenticate-ldap:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   authoring:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2986,7 +2990,7 @@ dont-distribute-packages:
   aws-sign4:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-simple:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   aws-sns:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
-  axel:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  axel:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   axiom:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   azubi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   azure-service-api:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3023,6 +3027,7 @@ dont-distribute-packages:
   base-feature-macros:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   base-generics:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   base-io-access:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  base-noprelude:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   base64-conduit:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   baserock-schema:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   basic-sop:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3049,6 +3054,7 @@ dont-distribute-packages:
   bein:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   belka:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   bench-graph:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bench-show:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   BenchmarkHistory:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   benchpress:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   bencoding:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3286,6 +3292,7 @@ dont-distribute-packages:
   c2ats:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   c2hsc:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-audit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cabal-cargs:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-constraints:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-db:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabal-debian:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3354,6 +3361,7 @@ dont-distribute-packages:
   cao:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cap:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Capabilities:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  capability:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   capnp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   capped-list:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   capri:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3498,6 +3506,7 @@ dont-distribute-packages:
   clash-verilog:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash-vhdl:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   clash:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  classify-frog:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ClassLaws:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   classy-miso:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   classy-parallel:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3559,6 +3568,7 @@ dont-distribute-packages:
   CMQ:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cmv:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   cnc-spec-compiler:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  co-log:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   Coadjute:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   coalpit:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   codec-beam:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3701,6 +3711,7 @@ dont-distribute-packages:
   context-stack:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ContextAlgebra:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   contiguous-checked:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  contiguous-fft:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   contiguous:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   continue:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   continuum-client:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3826,6 +3837,8 @@ dont-distribute-packages:
   CurryDB:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   curryrs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   cursedcsv:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cursor-gen:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cursor:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   curve25519:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   curves:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   custom-prelude:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3913,6 +3926,7 @@ dont-distribute-packages:
   datetime:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dawdle:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbcleaner:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  DBFunctor:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbjava:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   DBlimited:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   dbm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4010,6 +4024,7 @@ dont-distribute-packages:
   dgim:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   dgs:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhall-check:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dhall-lex:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhall-to-cabal:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   dhcp-lease-parser:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   di-df1:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4262,6 +4277,7 @@ dont-distribute-packages:
   engine-io:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   entangle:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   EntrezHTTP:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  entwine:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   EnumContainers:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumerate-function:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   enumeration:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4348,8 +4364,10 @@ dont-distribute-packages:
   exif:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   exinst-aeson:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   exinst-bytes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  exinst-cereal:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   exinst-deepseq:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   exinst-hashable:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  exinst-serialise:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   exists:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   exitcode:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   expand:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4364,6 +4382,8 @@ dont-distribute-packages:
   explicit-sharing:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   explore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   exposed-containers:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  expressions-z3:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  expressions:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   extcore:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   extemp:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   extended-categories:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4576,6 +4596,7 @@ dont-distribute-packages:
   fractals:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   frag:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Frames-beam:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  Frames-dsv:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   Frames:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   franchise:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   Frank:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5053,6 +5074,7 @@ dont-distribute-packages:
   graphics-formats-collada:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicsFormats:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphicstools:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  graphmod-plugin:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   graphtype:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   graql:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   grasp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5195,6 +5217,7 @@ dont-distribute-packages:
   hakyll-contrib-links:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-contrib:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-convert:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hakyll-dhall:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-ogmarkup:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-R:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hakyll-shortcode:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5207,6 +5230,7 @@ dont-distribute-packages:
   halma-telegram-bot:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   halma:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   halves:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hamilton:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HaMinitel:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hampp:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hamsql:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5310,6 +5334,8 @@ dont-distribute-packages:
   haskell-abci:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-aliyun:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-awk:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-bitmex-client:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  haskell-bitmex-rest:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-brainfuck:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-cnc:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   haskell-coffee:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5566,6 +5592,7 @@ dont-distribute-packages:
   heterolist:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   hetris:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   heukarya:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hevm:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hevolisa-dph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hevolisa:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hexchat:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5690,6 +5717,8 @@ dont-distribute-packages:
   HLearn-datastructures:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   HLearn-distributions:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hledger-chart:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hledger-iadd:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hledger-irr:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hledger-vty:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlibBladeRF:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hlibev:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5715,6 +5744,7 @@ dont-distribute-packages:
   hmatrix-sundials:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-syntax:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmatrix-tests:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hmatrix-vector-sized:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmeap-utils:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmeap:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   hmenu:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5839,6 +5869,7 @@ dont-distribute-packages:
   HRay:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Hricket:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hricket:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hriemann:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT-core:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT-graf:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   HROOT-hist:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5953,6 +5984,7 @@ dont-distribute-packages:
   hsparql:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   HsParrot:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspear:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hspec-dirstream:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspec-expectations-match:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspec-expectations-pretty:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   hspec-experimental:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6078,6 +6110,7 @@ dont-distribute-packages:
   hVOIDP:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-dsv:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-json-lens:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hw-prim-bits:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   hw-simd:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   hwall-auth-iitk:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hweblib:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6254,6 +6287,8 @@ dont-distribute-packages:
   introduction:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   intset:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   invertible-hlist:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  invertible-hxt:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  invertible:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   io-capture:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   io-reactive:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   IOR:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6262,6 +6297,7 @@ dont-distribute-packages:
   iothread:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   iotransaction:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   ip2location:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ip:                                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipatch:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipc:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   ipopt-hs:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6424,6 +6460,7 @@ dont-distribute-packages:
   katip-syslog:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   katt:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   kawaii:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  kazura-queue:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   kd-tree:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   kdesrc-build-extra:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   keccak:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6646,6 +6683,7 @@ dont-distribute-packages:
   libxml-enumerator:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   libxslt:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   licensor:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  life-sync:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   lifted-base-tf:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   lifted-protolude:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   lifter:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6870,6 +6908,7 @@ dont-distribute-packages:
   markdown2svg:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   marked-pretty:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   markov-processes:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  markup:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   marmalade-upload:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   marquise:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   mars:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6991,6 +7030,7 @@ dont-distribute-packages:
   minirotate:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ministg:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   minst-idx:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mios:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   mirror-tweet:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   missing-py2:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   MissingPy:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7057,6 +7097,7 @@ dont-distribute-packages:
   MonadCatchIO-transformers:                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   MonadCompose:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   monadiccp-gecode:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  monadIO:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   Monadius:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   MonadLab:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   monadLib-compose:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7094,6 +7135,8 @@ dont-distribute-packages:
   morfeusz:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   morph:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   mosaico-lib:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  moto-postgresql:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  moto:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   motor-diagrams:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   motor-reflection:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   motor:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7266,6 +7309,7 @@ dont-distribute-packages:
   network-enumerator:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-hans:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-interfacerequest:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  network-messagepack-rpc-websocket:              [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-minihttp:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-msgpack-rpc:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   network-netpacket:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7450,6 +7494,7 @@ dont-distribute-packages:
   optional:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   optparse-applicative-simple:                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   optparse-helper:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  orc:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   orchestrate:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   OrchestrateDB:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   orchid-demo:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7616,6 +7661,7 @@ dont-distribute-packages:
   persistent-mysql-haskell:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-odbc:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-protobuf:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  persistent-qq:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-ratelimit:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-relational-record:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   persistent-vector:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7706,6 +7752,7 @@ dont-distribute-packages:
   plat:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   platinum-parsing:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PlayingCards:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  plex:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   plist-buddy:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   plivo:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   plocketed:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7772,6 +7819,7 @@ dont-distribute-packages:
   postgresql-simple-sop:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-typed:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-simple-url:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  postgresql-syntax:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-typed-lifted:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   postgresql-typed:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   PostgreSQL:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7834,6 +7882,7 @@ dont-distribute-packages:
   priority-queue:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   priority-sync:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   PriorityChansConverger:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  prizm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ProbabilityMonads:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   proc:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   process-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8189,6 +8238,7 @@ dont-distribute-packages:
   reproject:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   req-conduit:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   request-monad:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rerebase:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   reserve:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   reservoir:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   resin:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8233,6 +8283,7 @@ dont-distribute-packages:
   rfc-servant:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rfc3339:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rfc:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rhine-gloss:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   rhythm-game-tutorial:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   RichConditional:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   ridley-extras:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8402,6 +8453,7 @@ dont-distribute-packages:
   scrape-changes:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   ScratchFs:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   script-monad:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SCRIPTWriter:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   scrobble:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   scrz:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   Scurry:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8935,6 +8987,7 @@ dont-distribute-packages:
   streaming-cassava:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-concurrency:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-conduit:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  streaming-fft:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-osm:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-pcap:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   streaming-png:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8976,6 +9029,7 @@ dont-distribute-packages:
   suffixarray:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   SuffixStructures:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   suitable:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  summoner:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sump:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   sunlight:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   sunroof-compiler:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9225,6 +9279,7 @@ dont-distribute-packages:
   thrift:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   thrist:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   throttled-io-loop:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  throwable-exceptions:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   thumbnail-plus:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   tic-tac-toe:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   tickle:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9329,6 +9384,7 @@ dont-distribute-packages:
   translatable-intset:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   translate-cli:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   translate:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  trasa-client:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   trasa-server:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   travis-meta-yaml:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   travis:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9443,6 +9499,7 @@ dont-distribute-packages:
   types-compat:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   typesafe-precure:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   typescript-docs:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  typograffiti:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tyro:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   u2f:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   uAgda:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9463,6 +9520,7 @@ dont-distribute-packages:
   unboxed-containers:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   unbreak:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   unexceptionalio-trans:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  unfix-binders:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   uni-events:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   uni-graphs:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   uni-htk:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9515,6 +9573,7 @@ dont-distribute-packages:
   uri-enumerator:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   uri-parse:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   uri-template:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  uri:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   url-decoders:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   url-generic:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   URLb:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9522,6 +9581,7 @@ dont-distribute-packages:
   urldecode:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   urldisp-happstack:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   UrlDisp:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
+  urlpath:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   URLT:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn-random:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   urn:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9589,6 +9649,7 @@ dont-distribute-packages:
   vector-bytestring:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-clock:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  vector-extras:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-functorlazy:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-heterogenous:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   vector-instances-collections:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9696,10 +9757,12 @@ dont-distribute-packages:
   WaveFront:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   wavesurfer:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   wavy:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  weak-bag:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   weather-api:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-css:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-encodings:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-fpco:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  web-inv-route:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-mongrel2:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-output:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   web-page:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9783,6 +9846,7 @@ dont-distribute-packages:
   wrecker:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wreq-sb:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   wright:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ws:                                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   wsdl:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   wsedit:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wsjtx-udp:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -9893,6 +9957,7 @@ dont-distribute-packages:
   yahoo-web-search:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   yajl-enumerator:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   yajl:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  yak:                                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   yam-servant:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   yam-transaction-odbc:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   yam-web:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index e1fd8d13285f..590f7f0d9719 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -543,4 +543,8 @@ self: super: builtins.intersectAttrs super {
           --set NIX_CFLAGS_LINK "-L${ocl-icd}/lib"
       '';
     });
+
+  # The test suite has undeclared dependencies on git.
+  githash = dontCheck super.githash;
+
 }
diff --git a/pkgs/development/haskell-modules/generic-builder.nix b/pkgs/development/haskell-modules/generic-builder.nix
index 4c17581f9d51..8f230c92aaa1 100644
--- a/pkgs/development/haskell-modules/generic-builder.nix
+++ b/pkgs/development/haskell-modules/generic-builder.nix
@@ -194,7 +194,7 @@ let
                      optionals doBenchmark (benchmarkDepends ++ benchmarkHaskellDepends ++ benchmarkSystemDepends ++ benchmarkFrameworkDepends);
 
 
-  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild;
+  allBuildInputs = propagatedBuildInputs ++ otherBuildInputs ++ depsBuildBuild ++ nativeBuildInputs;
   isHaskellPartition =
     stdenv.lib.partition isHaskellPkg allBuildInputs;
 
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 352d97d497ab..fd19a506d15b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -3515,6 +3515,36 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "DBFunctor" = callPackage
+    ({ mkDerivation, base, bytestring, cassava, cereal, containers
+     , deepseq, either, MissingH, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "DBFunctor";
+       version = "0.1.0.0";
+       sha256 = "0add2hbk8jz8pmmk1in7z3rc4r7xgks0b5xqz113lzf4abnpiac7";
+       revision = "1";
+       editedCabalFile = "1gfadkmnf1c151kkcq41ca2vx36drp2kfhq74ybhvdz32kbrvwq3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cassava cereal containers deepseq either MissingH
+         text transformers unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         base bytestring cassava cereal containers deepseq either MissingH
+         text transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base bytestring cassava cereal containers deepseq either MissingH
+         text transformers unordered-containers vector
+       ];
+       description = "DBFunctor - Functional Data Management => ETL/ELT Data Processing in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "DBlimited" = callPackage
     ({ mkDerivation, base, containers, parsec }:
      mkDerivation {
@@ -5863,6 +5893,7 @@ self: {
        testHaskellDepends = [ base Frames hspec pipes ];
        description = "Alternative CSV parser for the Frames package";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "Frank" = callPackage
@@ -7281,15 +7312,18 @@ self: {
      }) {inherit (pkgs) unixODBC;};
 
   "HDBC-postgresql" = callPackage
-    ({ mkDerivation, base, bytestring, convertible, HDBC, mtl, old-time
-     , parsec, postgresql, time, utf8-string
+    ({ mkDerivation, base, bytestring, Cabal, convertible, HDBC, mtl
+     , old-time, parsec, postgresql, time, utf8-string
      }:
      mkDerivation {
        pname = "HDBC-postgresql";
        version = "2.3.2.5";
        sha256 = "0l9i7mkdcch7f1ajl0fma7rra3dc0llmlia0iqhqb4k0gcrpy7l8";
+       revision = "1";
+       editedCabalFile = "1myhqsn3kk21pchlwf9s6vxggl59s6vmhmbx2539ad4jvnfy2ijx";
        isLibrary = true;
        isExecutable = true;
+       setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bytestring convertible HDBC mtl old-time parsec time
          utf8-string
@@ -8598,8 +8632,8 @@ self: {
        pname = "HTTP";
        version = "4000.3.12";
        sha256 = "140r6qy1ay25piv0z3hih11zhigyi08nkwc32097j43pjff6mzx3";
-       revision = "1";
-       editedCabalFile = "108i60vy6r7k1yaraw9g6xc7r82nwb9h84vsk9q5s01z980c7kk4";
+       revision = "2";
+       editedCabalFile = "1gw6xzp1n4gsqwnbfr29ds8v4wpk78b2bha8i108dqav97viwm8c";
        libraryHaskellDepends = [
          array base bytestring mtl network network-uri parsec time
        ];
@@ -11838,8 +11872,8 @@ self: {
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
        pname = "MASMGen";
-       version = "0.5.0.0";
-       sha256 = "1fdskc92m5bv5m19irhv3b8mr4wyzv1xnwaxgnd3ynmjgrrb127c";
+       version = "0.7.0.0";
+       sha256 = "0b5vscpdf252gqi7qpsz9ia4101iik3bgrcdawz1mlinlv1zaccv";
        libraryHaskellDepends = [ base containers mtl ];
        testHaskellDepends = [ base containers mtl ];
        description = "Generate MASM code from haskell";
@@ -12281,6 +12315,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "MissingH_1_4_1_0" = callPackage
+    ({ mkDerivation, array, base, containers, directory
+     , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
+     , old-locale, old-time, parsec, process, QuickCheck, random
+     , regex-compat, testpack, time, unix
+     }:
+     mkDerivation {
+       pname = "MissingH";
+       version = "1.4.1.0";
+       sha256 = "1jp0vk6w9a7fzrbxfhx773105jp2s1n50klq9ak6spfl7bgx5v29";
+       libraryHaskellDepends = [
+         array base containers directory filepath hslogger HUnit mtl network
+         old-locale old-time parsec process random regex-compat time unix
+       ];
+       testHaskellDepends = [
+         array base containers directory errorcall-eq-instance filepath
+         hslogger HUnit mtl network old-locale old-time parsec process
+         QuickCheck random regex-compat testpack time unix
+       ];
+       description = "Large utility library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "MissingK" = callPackage
     ({ mkDerivation, base, glib, template-haskell }:
      mkDerivation {
@@ -15532,6 +15590,8 @@ self: {
        pname = "Rasterific";
        version = "0.7.4.1";
        sha256 = "1d0j7xf2xbgrlny30qwm52wby51ic2cqlhb867a7a03k02p7ib2b";
+       revision = "1";
+       editedCabalFile = "1lz8b9xcfcv0a762zvaksh7c80yryc9yhap198dlm60i0znpjdg2";
        libraryHaskellDepends = [
          base bytestring containers dlist FontyFruity free JuicyPixels mtl
          primitive transformers vector vector-algorithms
@@ -15634,8 +15694,8 @@ self: {
      }:
      mkDerivation {
        pname = "RepLib";
-       version = "0.5.4";
-       sha256 = "13c34k78fqvr3h1lvsa0kkwk2bv1cv3m27spp4429cafgbi4fr4q";
+       version = "0.5.4.1";
+       sha256 = "064avhz0x77yd5irvvs4sa1fcn8srb3n5sqbd4vmsjva6514jr9y";
        libraryHaskellDepends = [
          base containers mtl template-haskell transformers
        ];
@@ -15788,6 +15848,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "SCRIPTWriter" = callPackage
+    ({ mkDerivation, array, base, binary, bitcoin-hs, bitcoin-script
+     , bytestring, containers, mtl, uu-tc
+     }:
+     mkDerivation {
+       pname = "SCRIPTWriter";
+       version = "1.0.1";
+       sha256 = "0sipk7brfw42zq4ksp7gz23ghia9faffshc5zh8j0zb4f1497mwi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bitcoin-hs bitcoin-script bytestring containers
+         mtl uu-tc
+       ];
+       executableHaskellDepends = [ base ];
+       description = "ESCRIPT: a human friendly language for programming Bitcoin scripts";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "SCalendar" = callPackage
     ({ mkDerivation, base, containers, hspec, QuickCheck, scalendar
      , text, time
@@ -16767,8 +16847,8 @@ self: {
      }:
      mkDerivation {
        pname = "Slides";
-       version = "0.1.0.9";
-       sha256 = "0jfhbgk1i8gbpi2ka33r23q7336xnf6y4bxfszhs09bhvhsr95ia";
+       version = "0.1.0.10";
+       sha256 = "0w60zffs83d5xmhz0d12aip5xqgih495wfrah25d64f9fh6j4j0i";
        libraryHaskellDepends = [
          base colour diagrams-lib diagrams-svg file-embed regex-applicative
        ];
@@ -17370,15 +17450,15 @@ self: {
      }:
      mkDerivation {
        pname = "StrictCheck";
-       version = "0.1.1";
-       sha256 = "1mm1kyrrrwgxdjnafazggblcjlin3i8bjqrj6q0l7xrgllnqalv2";
+       version = "0.2.0";
+       sha256 = "11gr15c17134fddh3ms9m1z0hjsf8dqhk2z7vvd61gfzzpcx5xms";
        libraryHaskellDepends = [
          base bifunctors containers generics-sop QuickCheck template-haskell
        ];
        testHaskellDepends = [
          base deepseq generics-sop HUnit QuickCheck
        ];
-       description = "StrictCheck: Keep Your Laziness In Check";
+       description = "Keep Your Laziness In Check";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -20272,8 +20352,8 @@ self: {
        pname = "accelerate-io";
        version = "1.2.0.0";
        sha256 = "13pqqsd5pbxmgsxnp9w141mnwscnlmbhxaz6f5jx4ssipnma2pwf";
-       revision = "1";
-       editedCabalFile = "0n1bch7rb2pvfqajjzaxrlw06f7vr583ckvn2ldr6lv59w1jrk3l";
+       revision = "2";
+       editedCabalFile = "0w8y40p71c6c7cj49n4kanwmsa53s2nydigiiidqp93yxhw0virq";
        libraryHaskellDepends = [
          accelerate array base bmp bytestring primitive repa vector
        ];
@@ -21132,8 +21212,8 @@ self: {
        pname = "active";
        version = "0.2.0.13";
        sha256 = "1yw029rh0gb63bhwwjynbv173mny14is4cyjkrlvzvxwb0fi96jx";
-       revision = "6";
-       editedCabalFile = "0zq9j2hgapb9blvmd9y8kmczizw4a18kksnfqd1py1jzx7hr46n3";
+       revision = "7";
+       editedCabalFile = "0z4l6j1q3y5zq4941bsb6ypkhfg3pyvb5gcmasymh2nj9g952xkd";
        libraryHaskellDepends = [
          base lens linear semigroupoids semigroups vector
        ];
@@ -22105,7 +22185,7 @@ self: {
 
   "aeson-schema" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , directory, filepath, ghc-prim, hashable, hint, HUnit, mtl
+     , directory, fail, filepath, ghc-prim, hashable, hint, HUnit, mtl
      , QuickCheck, regex-base, regex-compat, regex-pcre, scientific, syb
      , template-haskell, temporary, test-framework, test-framework-hunit
      , test-framework-quickcheck2, text, th-lift, transformers
@@ -22113,15 +22193,14 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-schema";
-       version = "0.4.1.1";
-       sha256 = "1idw9bb1miw61vvyacrlnx98rl4p0wx750gnhc4blx4a07i5vs9h";
-       revision = "1";
-       editedCabalFile = "1rl9hm85r607iwigzg5y1rki8vl7943ws4j1zsz0hq8g3mcb5alf";
+       version = "0.4.1.2";
+       sha256 = "1afw0kf39myh4yqkkz8z1a7ji02j2iy7j66ch06pglvp5hzyi9dk";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring containers ghc-prim mtl QuickCheck
-         regex-base regex-compat regex-pcre scientific syb template-haskell
-         text th-lift transformers unordered-containers vector
+         aeson attoparsec base bytestring containers fail ghc-prim mtl
+         QuickCheck regex-base regex-compat regex-pcre scientific syb
+         template-haskell text th-lift transformers unordered-containers
+         vector
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring containers directory filepath
@@ -22526,23 +22605,22 @@ self: {
   "aip" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, checkers
      , Crypto, directory, exceptions, filepath, HTTP, lens, network-uri
-     , optparse-applicative, parsec, parsers, QuickCheck, tagsoup
-     , tagsoup-selection, tasty, tasty-hunit, tasty-quickcheck, time
-     , transformers, unordered-containers, utf8-string
+     , optparse-applicative, parsec, parsers, process, QuickCheck
+     , semigroupoids, semigroups, tagsoup, tagsoup-selection, tasty
+     , tasty-hunit, tasty-quickcheck, time, transformers
+     , unordered-containers, utf8-string
      }:
      mkDerivation {
        pname = "aip";
-       version = "0.1.0";
-       sha256 = "0b2jr4z0mdkpqzay2c8m2zbbsrs5ia1l5m7zy02nh63ifl5avw2k";
-       revision = "1";
-       editedCabalFile = "13n79gq17kj5q81512j51gz0ld772anyxixfdx1q8inay4araplx";
+       version = "0.1.1";
+       sha256 = "05pv8m5wjzpj5wxsad6rzka9fcch5aakd73697ndaiwasqajvx3d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring Crypto directory exceptions
          filepath HTTP lens network-uri optparse-applicative parsec parsers
-         tagsoup tagsoup-selection time transformers unordered-containers
-         utf8-string
+         process semigroupoids semigroups tagsoup tagsoup-selection time
+         transformers unordered-containers utf8-string
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
@@ -23069,6 +23147,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alg_0_2_8_0" = callPackage
+    ({ mkDerivation, base, util }:
+     mkDerivation {
+       pname = "alg";
+       version = "0.2.8.0";
+       sha256 = "1zw50da4wz8qdc62qlvg74k3g5n48xlzda2k7c3y9zb8xb2xbfrr";
+       libraryHaskellDepends = [ base util ];
+       description = "Algebraic structures";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "alga" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default, exceptions
      , file-embed, filepath, formatting, haskeline, hspec, hxt
@@ -27348,8 +27438,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.5.1.1";
-       sha256 = "1251i3nz2ipg21qyys34ilxi1bnchf4a2v4571l54kaysk8p8lhi";
+       version = "0.6.0.0";
+       sha256 = "03k752lws5whcr2kiiljhfvz9y7xiqp9a1y2hnhgh5sjwckpjyn9";
        libraryHaskellDepends = [
          base containers mtl template-haskell vector
        ];
@@ -27361,6 +27451,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "apecs-physics" = callPackage
+    ({ mkDerivation, apecs, base, Cabal, containers, inline-c, linear
+     , template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "apecs-physics";
+       version = "0.2.0.0";
+       sha256 = "17mbf06785mdn8pmy90hw92240zq889rh2dlv1sh45p44grr2h5c";
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         apecs base containers inline-c linear template-haskell vector
+       ];
+       description = "2D physics for apecs";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "apecs-physics-gloss" = callPackage
+    ({ mkDerivation, apecs, apecs-physics, base, gloss }:
+     mkDerivation {
+       pname = "apecs-physics-gloss";
+       version = "0.1.0.0";
+       sha256 = "075rpm4l1na7j79vkh7n5c806zj7vvj2qxrxq6pkb6k6364ff249";
+       libraryHaskellDepends = [ apecs apecs-physics base gloss ];
+       description = "Gloss rendering for apecs-physics";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "apelsin" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, deepseq
      , directory, filepath, glib, gtk, HTTP, mtl, network, process
@@ -28196,6 +28313,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {arbb_dev = null;};
 
+  "arbor-datadog" = callPackage
+    ({ mkDerivation, aeson, auto-update, base, buffer-builder
+     , bytestring, Cabal, dlist, generic-lens, hspec, lens, mtl, network
+     , random, resourcet, text, time, transformers, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "arbor-datadog";
+       version = "0.0.0.1";
+       sha256 = "0lc3c2jnn2kmfyg7xgsnkgzkfir1ycn6qyq1z44501g360wrq0cv";
+       libraryHaskellDepends = [
+         aeson auto-update base buffer-builder bytestring dlist generic-lens
+         lens mtl network random resourcet text time transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base Cabal generic-lens hspec lens network resourcet time
+         transformers
+       ];
+       description = "Datadog client for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "arbor-lru-cache" = callPackage
     ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
      , hw-hspec-hedgehog, lens, stm
@@ -28212,6 +28352,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "arbor-monad-counter" = callPackage
+    ({ mkDerivation, base, containers, generic-lens, hedgehog, hspec
+     , hw-hspec-hedgehog, lens, mtl, resourcet, stm, transformers
+     }:
+     mkDerivation {
+       pname = "arbor-monad-counter";
+       version = "2.0.0";
+       sha256 = "1pzgqxrsfaq9l6400ykv8gz34z90r0lwq93pzadsq5qpkhk55053";
+       libraryHaskellDepends = [
+         base containers generic-lens lens mtl resourcet stm transformers
+       ];
+       testHaskellDepends = [
+         base containers generic-lens hedgehog hspec hw-hspec-hedgehog lens
+         mtl resourcet stm transformers
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "arbor-postgres" = callPackage
     ({ mkDerivation, base, bytestring, generic-lens, lens, network-uri
      , optparse-applicative, postgresql-simple, text
@@ -29172,8 +29330,8 @@ self: {
      }:
      mkDerivation {
        pname = "asciidiagram";
-       version = "1.3.3.1";
-       sha256 = "194jdii485z0fif07nvjcj5468m53zgm2v9x1h3pj8xlmfh9rrly";
+       version = "1.3.3.2";
+       sha256 = "0kbf4jswdyvd0x4yk00ss4yjqla852rd64081lkf1xn7yi0k8d1b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -29207,36 +29365,37 @@ self: {
     ({ mkDerivation, attoparsec, base, binary, bytestring, conduit
      , conduit-combinators, conduit-extra, containers, cpu, directory
      , either, exceptions, generic-lens, hedgehog, hspec, hw-bits
-     , hw-hspec-hedgehog, hw-ip, iproute, lens, old-locale
+     , hw-hspec-hedgehog, hw-ip, iproute, lens, network, old-locale
      , optparse-applicative, resourcet, temporary-resourcet, text, thyme
      , vector
      }:
      mkDerivation {
        pname = "asif";
-       version = "3.0.0";
-       sha256 = "01ic071i7cgc888xqdjjq3srihnjxcqx33f9m97ilsp7dxi7a03q";
+       version = "3.1.0";
+       sha256 = "0z9i40xz7hnhqnxv79saj9wsigi25bxkn0v4p5fhvfqj3r06ms2l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu either exceptions generic-lens hw-bits
-         hw-ip iproute lens old-locale resourcet temporary-resourcet text
-         thyme vector
+         hw-ip iproute lens network old-locale resourcet temporary-resourcet
+         text thyme vector
        ];
        executableHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu directory either exceptions
-         generic-lens hw-bits hw-ip iproute lens old-locale
+         generic-lens hw-bits hw-ip iproute lens network old-locale
          optparse-applicative resourcet temporary-resourcet text thyme
          vector
        ];
        testHaskellDepends = [
          attoparsec base binary bytestring conduit conduit-combinators
          conduit-extra containers cpu either exceptions generic-lens
-         hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens
+         hedgehog hspec hw-bits hw-hspec-hedgehog hw-ip iproute lens network
          old-locale resourcet temporary-resourcet text thyme vector
        ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "asil" = callPackage
@@ -30233,8 +30392,8 @@ self: {
      }:
      mkDerivation {
        pname = "ats-pkg";
-       version = "3.2.2.0";
-       sha256 = "10xwgc7y324fgisqjkx2jk5bq226fj3ayl373m6m1nbnx2qax22w";
+       version = "3.2.2.3";
+       sha256 = "111lwv4461ij5z8z9n0kyvqcrjk0x5yjajfc3wyc3lklgc6ccjva";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -30509,16 +30668,17 @@ self: {
        testHaskellDepends = [ base ];
        description = "Parse IP data types with attoparsec";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "attoparsec-ip_0_0_3" = callPackage
+  "attoparsec-ip_0_0_4" = callPackage
     ({ mkDerivation, attoparsec, base, ip, QuickCheck, tasty
      , tasty-quickcheck, text, vector
      }:
      mkDerivation {
        pname = "attoparsec-ip";
-       version = "0.0.3";
-       sha256 = "02d66mm1rc00dswkl9ink4pxwy8h7lyi2k9zcqda6ywa7cllhgl0";
+       version = "0.0.4";
+       sha256 = "1q3nrr8ps5wsqq2bahx9wy7924ccq110wwlwkiycsz32pflcamr7";
        libraryHaskellDepends = [ attoparsec base ip vector ];
        testHaskellDepends = [
          attoparsec base ip QuickCheck tasty tasty-quickcheck text vector
@@ -30658,6 +30818,7 @@ self: {
        ];
        description = "URI parser / printer using attoparsec";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "attoparsec-uri_0_0_6" = callPackage
@@ -31358,6 +31519,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "avro_0_3_6_1" = callPackage
+    ({ mkDerivation, aeson, array, base, base16-bytestring, binary
+     , bytestring, containers, data-binary-ieee754, directory, entropy
+     , extra, fail, hashable, hspec, lens, lens-aeson, mtl, pure-zlib
+     , QuickCheck, scientific, semigroups, tagged, template-haskell
+     , text, transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "avro";
+       version = "0.3.6.1";
+       sha256 = "0b1pj47nfpbqvcp5vzraa1przq1c9ll8n76qbyg05fjfvamycbq3";
+       libraryHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         data-binary-ieee754 entropy fail hashable mtl pure-zlib scientific
+         semigroups tagged template-haskell text unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring binary bytestring containers
+         directory entropy extra fail hashable hspec lens lens-aeson mtl
+         pure-zlib QuickCheck scientific semigroups tagged template-haskell
+         text transformers unordered-containers vector
+       ];
+       description = "Avro serialization support for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "avwx" = callPackage
     ({ mkDerivation, attoparsec, base, HTTP, lens, optparse-applicative
      , parsers, pretty-show, text
@@ -32277,8 +32465,8 @@ self: {
      }:
      mkDerivation {
        pname = "b9";
-       version = "0.5.49";
-       sha256 = "0n9vci1wc2ws4nyzmmqi2npwkd3zz28znyqj4905y1hc126x0yi3";
+       version = "0.5.50";
+       sha256 = "1wsspzkcydad9akqj6n8s9xpm7id49dll5h12vv3xbmgjgj0pdhr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -32851,6 +33039,18 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "base-compat_0_10_5" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "base-compat";
+       version = "0.10.5";
+       sha256 = "0hgvlqcr852hfp52jp99snhbj550mvxxpi8qn15d8ml9aqhyl2lr";
+       libraryHaskellDepends = [ base unix ];
+       description = "A compatibility layer for base";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "base-compat-batteries" = callPackage
     ({ mkDerivation, base, base-compat, hspec, hspec-discover
      , QuickCheck
@@ -32866,14 +33066,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "base-compat-batteries_0_10_4" = callPackage
+  "base-compat-batteries_0_10_5" = callPackage
     ({ mkDerivation, base, base-compat, contravariant, hspec
      , hspec-discover, QuickCheck
      }:
      mkDerivation {
        pname = "base-compat-batteries";
-       version = "0.10.4";
-       sha256 = "11k4k2n88kyaa41431cmjwmnlnhjbqx95r67mgrdxfyqxxwnxwp8";
+       version = "0.10.5";
+       sha256 = "1vkhc639vqiv5p39jn1v312z32i7yk5q2lf0ap4jxl1v8p8wyp8p";
        libraryHaskellDepends = [ base base-compat contravariant ];
        testHaskellDepends = [ base hspec QuickCheck ];
        testToolDepends = [ hspec-discover ];
@@ -32960,6 +33160,7 @@ self: {
        doHaddock = false;
        description = "\"base\" package sans \"Prelude\" module";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "base-orphans" = callPackage
@@ -34026,6 +34227,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "bench-show" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, Chart, Chart-diagrams, csv
+     , directory, filepath, mwc-random, split, statistics, text
+     , transformers, vector
+     }:
+     mkDerivation {
+       pname = "bench-show";
+       version = "0.2.0";
+       sha256 = "17d7dk5r697r9fls14labciwp3rwykv6n5mkhljrjszf2z2c6j65";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
+         mwc-random split statistics transformers vector
+       ];
+       testHaskellDepends = [ base split text ];
+       description = "Show, plot and compare benchmark results";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "benchmark-function" = callPackage
     ({ mkDerivation, base, process, random, time }:
      mkDerivation {
@@ -34725,6 +34945,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "binary-conduit_1_3_1" = callPackage
+    ({ mkDerivation, base, binary, bytestring, conduit, exceptions
+     , hspec, QuickCheck, quickcheck-assertions, resourcet, vector
+     }:
+     mkDerivation {
+       pname = "binary-conduit";
+       version = "1.3.1";
+       sha256 = "17yj8rn6fwzbv0z6lczrddv7mkr8906xg2pf2dlvmnwb97zw7004";
+       libraryHaskellDepends = [
+         base binary bytestring conduit exceptions vector
+       ];
+       testHaskellDepends = [
+         base binary bytestring conduit hspec QuickCheck
+         quickcheck-assertions resourcet
+       ];
+       description = "data serialization/deserialization conduit library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "binary-derive" = callPackage
     ({ mkDerivation, base, binary, ghc-prim }:
      mkDerivation {
@@ -34983,10 +35223,8 @@ self: {
     ({ mkDerivation, base, bytestring, cborg, serialise }:
      mkDerivation {
        pname = "binary-serialise-cbor";
-       version = "0.2.0.0";
-       sha256 = "1kcqmxz77jmdkknpbjr860xmqrib3adh9rm99agidicg66ilsavv";
-       revision = "1";
-       editedCabalFile = "1dkranaa9fn81z0x75b1dblnph9d0pvzzz0jpz374lqsxaimqgp6";
+       version = "0.2.1.0";
+       sha256 = "0qdbz2qvvqiaqp859fn00470gzxpvw8k3v0wqclgqps3zj9g9854";
        libraryHaskellDepends = [ base bytestring cborg serialise ];
        description = "Yet Another Binary Serialisation Library (compatibility shim)";
        license = stdenv.lib.licenses.bsd3;
@@ -36143,10 +36381,8 @@ self: {
      }:
      mkDerivation {
        pname = "biohazard";
-       version = "1.0.4";
-       sha256 = "1gj5xr0b9s2zifknm10bynkh0gvsi0gmw2sa3zcp1if17ixndv2c";
-       revision = "2";
-       editedCabalFile = "0r1fz9h92zyb7ryk8lngqlyl75djr8ngbcfrr9bbmz8img2ipb2a";
+       version = "1.1.1";
+       sha256 = "1b9jba89l4jsyzxn3s40qp0njq4b5hdgvbs07vsrrbnlwlvshb7a";
        libraryHaskellDepends = [
          async attoparsec base base-prelude bytestring containers exceptions
          hashable primitive stm text transformers unix unordered-containers
@@ -38401,6 +38637,8 @@ self: {
        pname = "boolean-normal-forms";
        version = "0.0.1";
        sha256 = "12i0jarbv7gq2p8zw0jgh2gq3wqk6s0vsc9rd0g7c36srcmr944b";
+       revision = "1";
+       editedCabalFile = "1p31kqxp77xdhkszppmnzqgxp883vasrh5910qfif50lch39myfm";
        libraryHaskellDepends = [ base cond containers deepseq ];
        testHaskellDepends = [
          base cond containers QuickCheck tasty tasty-quickcheck
@@ -38743,6 +38981,17 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "bounded-array" = callPackage
+    ({ mkDerivation, array, base }:
+     mkDerivation {
+       pname = "bounded-array";
+       version = "0.1.0.0";
+       sha256 = "0zv5a82rm6hwikgls2hw9d18igvfgw655s5pw5h1xbwcv1d8d0ji";
+       libraryHaskellDepends = [ array base ];
+       description = "Arrays with a value for every index";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bounded-tchan" = callPackage
     ({ mkDerivation, base, stm }:
      mkDerivation {
@@ -38805,8 +39054,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "box-tuples";
-       version = "0.1.0.0";
-       sha256 = "1mksy2kiai1vwigpf45zxsq54wjwibib7974ydsv0sp1dhag6gki";
+       version = "0.1.1.0";
+       sha256 = "1j0s7pb9milrz5spqsxwwhva1zwa7ywwd8nbb5y0z97p84wvyy7k";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "A hack to use GHC.Prim primitives in GHCi";
        license = stdenv.lib.licenses.mit;
@@ -39684,8 +39933,8 @@ self: {
      }:
      mkDerivation {
        pname = "buffer-builder";
-       version = "0.2.4.6";
-       sha256 = "0r2xn5rc9kg99zcx5x8p15mm6isk0vdr4szc0vyywbj1k96kwf2l";
+       version = "0.2.4.7";
+       sha256 = "0n1zb12zm86rm3jqpdh7j15w6dd1mii0fmaihkdqm0b1rv2zm2dk";
        libraryHaskellDepends = [
          base bytestring mtl text unordered-containers vector
        ];
@@ -39780,8 +40029,8 @@ self: {
      }:
      mkDerivation {
        pname = "bugsnag-haskell";
-       version = "0.0.2.0";
-       sha256 = "0jkcfgs6ln3pcq5c0pz170wwphkx27ya2xj7li1avph5j5q42dxl";
+       version = "0.0.2.1";
+       sha256 = "09vvckg6advf47ciq3cv2g06g13d2az1kinby5fpfz1wma7s1zjg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39854,8 +40103,8 @@ self: {
      }:
      mkDerivation {
        pname = "buildbox";
-       version = "2.2.1.1";
-       sha256 = "19kyi8w3z3k3ydbzw5y57j6m4ffg6y9pachwzsfzjpkfczi7ds7z";
+       version = "2.2.1.2";
+       sha256 = "10kasyr2rk8zm1dh7c2ka1djlxmb20lriphd9sm18z4fw3w82cxz";
        libraryHaskellDepends = [
          base bytestring containers directory exceptions mtl old-locale
          process stm temporary text time
@@ -40266,8 +40515,8 @@ self: {
      }:
      mkDerivation {
        pname = "byline";
-       version = "0.3.1.0";
-       sha256 = "11kchyzm908ld3s3k8jh8phbryhp4zj5d3aq4sflfd8pkrns321d";
+       version = "0.3.2.0";
+       sha256 = "100s2f4w0lgnsjgjazck7hnbk3k9ibg1i4rdcyza9jphp67vjgar";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -41176,6 +41425,7 @@ self: {
        testHaskellDepends = [ base filepath tasty tasty-golden ];
        description = "A command line program for extracting compiler arguments from a cabal file";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cabal-constraints" = callPackage
@@ -42940,6 +43190,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "capability" = callPackage
+    ({ mkDerivation, base, containers, dlist, exceptions, generic-lens
+     , hspec, lens, monad-control, monad-unlift, mtl, mutable-containers
+     , primitive, safe-exceptions, silently, streaming, temporary, text
+     , transformers, unliftio, unliftio-core
+     }:
+     mkDerivation {
+       pname = "capability";
+       version = "0.1.0.0";
+       sha256 = "1aif560z65hmq0pyf6b30nj73685r85vgq440pmzgfhidbn4lf51";
+       libraryHaskellDepends = [
+         base dlist exceptions generic-lens lens monad-control monad-unlift
+         mtl mutable-containers primitive safe-exceptions streaming
+         transformers unliftio unliftio-core
+       ];
+       testHaskellDepends = [
+         base containers hspec lens mtl silently streaming temporary text
+         unliftio
+       ];
+       description = "Extensional capabilities and deriving combinators";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "capataz" = callPackage
     ({ mkDerivation, async, base, bytestring, pretty-show
      , prettyprinter, rio, tasty, tasty-hunit, tasty-smallcheck
@@ -43803,8 +44077,8 @@ self: {
      }:
      mkDerivation {
        pname = "cassava-streams";
-       version = "0.3.0.2";
-       sha256 = "09aiwcc9q768jz7xd7hxymrj3hw6g21imsh6ka4rrw059hi4lzna";
+       version = "0.3.0.3";
+       sha256 = "01s0h2mi9b4h3jy405jvz2an8w6fdvg370mizfk910anx7wsa3ix";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -44158,10 +44432,8 @@ self: {
      }:
      mkDerivation {
        pname = "cbor-tool";
-       version = "0.2.0.0";
-       sha256 = "0m8ic53vbzk06xw8rxs9vndnmbdjmcslc8zqa7lafhnl3lgqaybp";
-       revision = "1";
-       editedCabalFile = "08yd8qv9kalgr6hn2kwwzmqzaq4i05fp7d7pfmnkfm7jg6zm8kwy";
+       version = "0.2.1.0";
+       sha256 = "0cjgkl8az6qnq0b48ljw5yshkzq7lb7c6mb0gm07z2dpaxsk0rwm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -44173,19 +44445,24 @@ self: {
      }) {};
 
   "cborg" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, ghc-prim
-     , half, integer-gmp, primitive, text
+    ({ mkDerivation, aeson, array, base, base16-bytestring
+     , base64-bytestring, bytestring, containers, deepseq, fail
+     , ghc-prim, half, integer-gmp, primitive, QuickCheck, scientific
+     , tasty, tasty-hunit, tasty-quickcheck, text, vector
      }:
      mkDerivation {
        pname = "cborg";
-       version = "0.2.0.0";
-       sha256 = "1dvzqzk68ym1v1gxrx8kc59hj4jd2l0c8f2bqf67jgm5ld0bv340";
-       revision = "2";
-       editedCabalFile = "1fim6qbzimff8hpzv6bw558pzkh65cql8gdjinghc7w9c5my6y7l";
+       version = "0.2.1.0";
+       sha256 = "10vlv5mwg9625rmir7mi0zj5ygs3j3vlhm2h8lilkbj5frgp764i";
        libraryHaskellDepends = [
-         array base bytestring containers ghc-prim half integer-gmp
+         array base bytestring containers deepseq ghc-prim half integer-gmp
          primitive text
        ];
+       testHaskellDepends = [
+         aeson array base base16-bytestring base64-bytestring bytestring
+         deepseq fail half QuickCheck scientific tasty tasty-hunit
+         tasty-quickcheck text vector
+       ];
        description = "Concise Binary Object Representation";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -44196,10 +44473,8 @@ self: {
      }:
      mkDerivation {
        pname = "cborg-json";
-       version = "0.2.0.0";
-       sha256 = "09ps2lyvxg0qpki9f0lydag9hyys20q5ywgxim0jcaa0jky0j92x";
-       revision = "1";
-       editedCabalFile = "1v0brbq9ri5fx19kb2ijhd3h3ibqadfprgcisja0mx6amzkbqnrz";
+       version = "0.2.1.0";
+       sha256 = "01i0npbwf6cnjkwwk0l4fnwlbjhsj7vn3d4zd202hcnxdm7bbdiz";
        libraryHaskellDepends = [
          aeson aeson-pretty base cborg scientific text unordered-containers
          vector
@@ -46157,8 +46432,8 @@ self: {
        pname = "circle-packing";
        version = "0.1.0.6";
        sha256 = "06z8irwrjxxgk5xqlpy6a9mjl44kp9pgx2xpslhgxrd31nll9vk4";
-       revision = "1";
-       editedCabalFile = "10dh8jgjah1h54f83s9289abfqzc4ifykb01p5jljfac63yn42zs";
+       revision = "2";
+       editedCabalFile = "1ag213lv6yfzxdc4ghbywy165qblnqx5b3j9d23kc6fcyf19nfyk";
        libraryHaskellDepends = [ base ];
        description = "Simple heuristic for packing discs of varying radii in a circle";
        license = stdenv.lib.licenses.bsd3;
@@ -46778,6 +47053,7 @@ self: {
        ];
        description = "Classify sounds produced by Xenopus laevis";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "classy-influxdb-simple" = callPackage
@@ -46861,6 +47137,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "classy-prelude_1_5_0" = callPackage
+    ({ mkDerivation, async, base, basic-prelude, bifunctors, bytestring
+     , chunked-data, containers, deepseq, dlist, ghc-prim, hashable
+     , hspec, mono-traversable, mono-traversable-instances, mtl
+     , mutable-containers, primitive, QuickCheck, say, semigroups, stm
+     , stm-chans, text, time, transformers, unliftio
+     , unordered-containers, vector, vector-instances
+     }:
+     mkDerivation {
+       pname = "classy-prelude";
+       version = "1.5.0";
+       sha256 = "1nm4lygxqb1wq503maki6dsah2gpn5rd22jmbwjxfwyzgyqy9fnk";
+       libraryHaskellDepends = [
+         async base basic-prelude bifunctors bytestring chunked-data
+         containers deepseq dlist ghc-prim hashable mono-traversable
+         mono-traversable-instances mtl mutable-containers primitive say
+         semigroups stm stm-chans text time transformers unliftio
+         unordered-containers vector vector-instances
+       ];
+       testHaskellDepends = [
+         base containers hspec QuickCheck transformers unordered-containers
+       ];
+       description = "A typeclass-based Prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-conduit" = callPackage
     ({ mkDerivation, base, bytestring, classy-prelude, conduit, hspec
      , monad-control, QuickCheck, resourcet, transformers, void
@@ -46880,6 +47183,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "classy-prelude-conduit_1_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, classy-prelude, conduit, hspec
+     , monad-control, QuickCheck, resourcet, transformers, void
+     }:
+     mkDerivation {
+       pname = "classy-prelude-conduit";
+       version = "1.5.0";
+       sha256 = "007xz0yzp0bzbrx7arj7xmjlwrja120kwgxrbkm98sydjlsph9ys";
+       libraryHaskellDepends = [
+         base bytestring classy-prelude conduit monad-control resourcet
+         transformers void
+       ];
+       testHaskellDepends = [
+         base bytestring conduit hspec QuickCheck transformers
+       ];
+       description = "classy-prelude together with conduit functions";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classy-prelude-yesod" = callPackage
     ({ mkDerivation, aeson, base, classy-prelude
      , classy-prelude-conduit, data-default, http-conduit, http-types
@@ -46899,6 +47222,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "classy-prelude-yesod_1_5_0" = callPackage
+    ({ mkDerivation, aeson, base, classy-prelude
+     , classy-prelude-conduit, data-default, http-conduit, http-types
+     , persistent, yesod, yesod-newsfeed, yesod-static
+     }:
+     mkDerivation {
+       pname = "classy-prelude-yesod";
+       version = "1.5.0";
+       sha256 = "10wz09ksn537w5z9lmj4dsfi0ygk37d5khijr8qq3py2gr2c9ywz";
+       libraryHaskellDepends = [
+         aeson base classy-prelude classy-prelude-conduit data-default
+         http-conduit http-types persistent yesod yesod-newsfeed
+         yesod-static
+       ];
+       description = "Provide a classy prelude including common Yesod functionality";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "classyplate" = callPackage
     ({ mkDerivation, base, criterion, parallel, template-haskell
      , uniplate
@@ -48035,6 +48377,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cmark-gfm_0_1_6" = callPackage
+    ({ mkDerivation, base, blaze-html, bytestring, cheapskate
+     , criterion, discount, HUnit, markdown, sundown, text
+     }:
+     mkDerivation {
+       pname = "cmark-gfm";
+       version = "0.1.6";
+       sha256 = "0s39djd1j0rq63g4sy0cnras14m263anr56nvijcbcy9zg41dyf8";
+       libraryHaskellDepends = [ base bytestring text ];
+       testHaskellDepends = [ base HUnit text ];
+       benchmarkHaskellDepends = [
+         base blaze-html cheapskate criterion discount markdown sundown text
+       ];
+       description = "Fast, accurate GitHub Flavored Markdown parser and renderer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cmark-highlight" = callPackage
     ({ mkDerivation, base, blaze-html, cmark, highlighting-kate, text
      }:
@@ -48352,6 +48712,7 @@ self: {
        executableToolDepends = [ markdown-unlit ];
        description = "Logging library";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "co-log-core" = callPackage
@@ -49433,12 +49794,17 @@ self: {
      }) {};
 
   "comfort-array" = callPackage
-    ({ mkDerivation, base, utility-ht }:
+    ({ mkDerivation, base, guarded-allocation, QuickCheck, transformers
+     , utility-ht
+     }:
      mkDerivation {
        pname = "comfort-array";
-       version = "0.0.1.1";
-       sha256 = "1p6ba5yjpldhy5j7cml2i0i6597pjw87l6xpym1hccn6q1mkqxq5";
-       libraryHaskellDepends = [ base utility-ht ];
+       version = "0.1.1";
+       sha256 = "0kmqb7mcanx3n597nm8p6g76nc4v5smkl5srjmb2757fb3w68xmk";
+       libraryHaskellDepends = [
+         base guarded-allocation QuickCheck transformers utility-ht
+       ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "Arrays where the index type is a function of the shape type";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -50511,8 +50877,8 @@ self: {
      }:
      mkDerivation {
        pname = "concraft";
-       version = "0.13.0";
-       sha256 = "1b03h65ww3cb0vxjrvj8y7bn30ci0fdbjcf8gxnmyy34npgz1ihw";
+       version = "0.14.1";
+       sha256 = "0v7han8ps1ysxi929clkbx0c0vjd6dyxxhfp8q5k2jx58blwzxyg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -51078,8 +51444,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit";
-       version = "1.3.0.3";
-       sha256 = "1sangm0qqi9dzlq95746a3kl14k8b09592a423shxjf2a0b1yx5v";
+       version = "1.3.1";
+       sha256 = "1mi0ad2ha51lyx1sw15zkzbh2bvv1q7jcfrxd4xc91d7mmk9n4mf";
        libraryHaskellDepends = [
          base bytestring directory exceptions filepath mono-traversable mtl
          primitive resourcet text transformers unix unliftio-core vector
@@ -51530,6 +51896,62 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "confcrypt" = callPackage
+    ({ mkDerivation, amazonka, amazonka-kms, base, base64-bytestring
+     , bytestring, conduit, containers, crypto-pubkey-openssh
+     , crypto-pubkey-types, cryptonite, deepseq, HUnit, lens, megaparsec
+     , memory, mtl, optparse-applicative, parser-combinators, QuickCheck
+     , tasty, tasty-hunit, tasty-quickcheck, text, transformers
+     }:
+     mkDerivation {
+       pname = "confcrypt";
+       version = "0.1.0.2";
+       sha256 = "0iw47xz34f2dljsq6hm75046sy7wmzj4ndgfh9h3x4iixs5vidfw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         amazonka amazonka-kms base base64-bytestring bytestring conduit
+         containers crypto-pubkey-openssh crypto-pubkey-types cryptonite
+         deepseq lens megaparsec mtl optparse-applicative parser-combinators
+         text transformers
+       ];
+       executableHaskellDepends = [
+         amazonka amazonka-kms base base64-bytestring bytestring conduit
+         containers crypto-pubkey-openssh crypto-pubkey-types cryptonite
+         deepseq lens megaparsec mtl optparse-applicative parser-combinators
+         text transformers
+       ];
+       testHaskellDepends = [
+         amazonka amazonka-kms base base64-bytestring bytestring conduit
+         containers crypto-pubkey-openssh crypto-pubkey-types cryptonite
+         deepseq HUnit lens megaparsec memory mtl optparse-applicative
+         parser-combinators QuickCheck tasty tasty-hunit tasty-quickcheck
+         text transformers
+       ];
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "confetti" = callPackage
+    ({ mkDerivation, base, directory, filepath, MissingH, tasty
+     , tasty-hunit, tasty-smallcheck, text, time, unix, yaml
+     }:
+     mkDerivation {
+       pname = "confetti";
+       version = "0.3.2";
+       sha256 = "0ac1mrxwiyjwihywy7hclfymrixhb0mj8266sljzpmk1671qr4ym";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base directory filepath MissingH text time unix yaml
+       ];
+       executableHaskellDepends = [ base directory text ];
+       testHaskellDepends = [
+         base tasty tasty-hunit tasty-smallcheck text
+       ];
+       description = "A simple config file swapping tool";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "conffmt" = callPackage
     ({ mkDerivation, base, language-conf, megaparsec
      , optparse-applicative, pretty, text
@@ -51589,6 +52011,8 @@ self: {
        pname = "config-ini";
        version = "0.2.3.0";
        sha256 = "03sv2y9ax3jqcfydfzfvmsixl8qch2zym3sr065pjsh8qxrknkqc";
+       revision = "1";
+       editedCabalFile = "0q5lps38g92irp6hm8lvdjds6qi0nafxxlar5wjh0544v78z0d9q";
        libraryHaskellDepends = [
          base containers megaparsec text transformers unordered-containers
        ];
@@ -52558,6 +52982,7 @@ self: {
        ];
        description = "dft of contiguous memory structures";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "continue" = callPackage
@@ -52733,6 +53158,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "control-dsl_0_2_1_3" = callPackage
+    ({ mkDerivation, base, containers, doctest, doctest-discover
+     , temporary
+     }:
+     mkDerivation {
+       pname = "control-dsl";
+       version = "0.2.1.3";
+       sha256 = "0rv9wpjnr3y957vd6l8vmn87f9gi97nhk07bkgpr8083avi9biz8";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base containers doctest doctest-discover temporary
+       ];
+       description = "An alternative to monads for control flow DSLs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "control-event" = callPackage
     ({ mkDerivation, base, containers, stm, time }:
      mkDerivation {
@@ -54558,8 +55000,8 @@ self: {
      }:
      mkDerivation {
        pname = "crf-chain2-tiers";
-       version = "0.3.0";
-       sha256 = "1iv86nscnrvy2yskpx4xilzqbz7y2gv9kzvlgz2h44svhshnypar";
+       version = "0.5.0";
+       sha256 = "1gwfkvs9lc7ni68n2mxrqx0haawnc8dwx0b73q7a75ysx538f84x";
        libraryHaskellDepends = [
          array base binary comonad containers data-lens data-memocombinators
          logfloat monad-codec parallel pedestrian-dag sgd vector
@@ -54649,6 +55091,8 @@ self: {
        pname = "criterion";
        version = "1.5.2.0";
        sha256 = "03y4lqkrr08nbsjk6qkrhyai7zzv0rrknn6rgni184f18c091wsd";
+       revision = "1";
+       editedCabalFile = "0v42832227asv9qb1cyq8lg37ygi13956j11jcg4hzrc68ck39vv";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -55051,6 +55495,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "crypto-enigma_0_0_2_14" = callPackage
+    ({ mkDerivation, base, containers, HUnit, MissingH, mtl, QuickCheck
+     , split
+     }:
+     mkDerivation {
+       pname = "crypto-enigma";
+       version = "0.0.2.14";
+       sha256 = "12gvgpi7hichjq9ya77hm9q1x49qc1024zmr6pb1mv57nwwx599p";
+       libraryHaskellDepends = [ base containers MissingH mtl split ];
+       testHaskellDepends = [ base HUnit QuickCheck ];
+       description = "An Enigma machine simulator with display";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "crypto-multihash" = callPackage
     ({ mkDerivation, base, base58-bytestring, bytestring, containers
      , cryptonite, hspec, memory, QuickCheck, string-conversions
@@ -56309,6 +56768,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "curl-runnings_0_9_2" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive, cmdargs
+     , directory, hspec, hspec-expectations, http-conduit, http-types
+     , megaparsec, pretty-simple, regex-posix, tar, text
+     , unordered-containers, vector, yaml, zlib
+     }:
+     mkDerivation {
+       pname = "curl-runnings";
+       version = "0.9.2";
+       sha256 = "1xslp7zg6l3adljac6iga9c421cf0hab9zi4dyjbkws76imh1d0b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring case-insensitive directory hspec
+         hspec-expectations http-conduit http-types megaparsec pretty-simple
+         regex-posix text unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring cmdargs directory http-conduit tar text zlib
+       ];
+       testHaskellDepends = [ base directory hspec hspec-expectations ];
+       description = "A framework for declaratively writing curl based API tests";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "curlhs" = callPackage
     ({ mkDerivation, base, bytestring, hspec, rtld, time }:
      mkDerivation {
@@ -56511,6 +56996,7 @@ self: {
        ];
        description = "Purely Functional Cursors";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "cursor-gen" = callPackage
@@ -56533,6 +57019,7 @@ self: {
        ];
        description = "Generators for Purely Functional Cursors";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "curve25519" = callPackage
@@ -56706,25 +57193,12 @@ self: {
     ({ mkDerivation, base, template-haskell, transformers }:
      mkDerivation {
        pname = "czipwith";
-       version = "1.0.1.0";
-       sha256 = "0s1gz76789w5grm121fikgrxz1hjca6v6dwmds5zg63j6iir3f0p";
-       libraryHaskellDepends = [ base template-haskell ];
-       testHaskellDepends = [ base transformers ];
-       description = "CZipWith class and deriving via TH";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "czipwith_1_0_1_1" = callPackage
-    ({ mkDerivation, base, template-haskell, transformers }:
-     mkDerivation {
-       pname = "czipwith";
        version = "1.0.1.1";
        sha256 = "0hs296mwx62alp9fkpkhw9jsjqlygagvb911nx22b0pgyiwqa52a";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base transformers ];
        description = "CZipWith class and deriving via TH";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "d-bus" = callPackage
@@ -60277,6 +60751,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "decidable" = callPackage
+    ({ mkDerivation, base, singletons }:
+     mkDerivation {
+       pname = "decidable";
+       version = "0.1.2.0";
+       sha256 = "1dgxkwdazqdlnc6pvqwkx531xajl4ygjm5315dz9ilacgbbl2qss";
+       libraryHaskellDepends = [ base singletons ];
+       description = "Combinators for manipulating dependently-typed predicates";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "decimal-arithmetic" = callPackage
     ({ mkDerivation, base, binary, binary-bits, deepseq, doctest, hspec
      , mtl, QuickCheck
@@ -60955,6 +61440,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dense-linear-algebra" = callPackage
+    ({ mkDerivation, base, deepseq, hspec, math-functions, primitive
+     , QuickCheck, vector, vector-algorithms, vector-binary-instances
+     , vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "dense-linear-algebra";
+       version = "0.1.0.0";
+       sha256 = "1m7jjxahqxj7ilic3r9806mwp5rnnsmn8vvipkmk40xl65wplxzp";
+       libraryHaskellDepends = [
+         base deepseq math-functions primitive vector vector-algorithms
+         vector-binary-instances vector-th-unbox
+       ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       description = "Simple and incomplete pure haskell implementation of linear algebra";
+       license = stdenv.lib.licenses.bsd2;
+     }) {};
+
   "dependency" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, binary, containers
      , criterion, deepseq, hspec, microlens
@@ -61685,30 +62188,34 @@ self: {
     ({ mkDerivation, aeson, base, base16-bytestring, blake2
      , bloomfilter, BoundedChan, bytestring, cmdargs, concurrent-extra
      , conduit, containers, criterion, data-default-class, deepseq
-     , ghc-prim, lens-simple, leveldb-haskell, lmdb-simple, lrucaching
-     , mtl, QuickCheck, resourcet, semigroups, serialise, tasty
-     , tasty-hunit, tasty-quickcheck, temporary, text
+     , directory, dlist, filepath, ghc-prim, hashtables, lens-simple
+     , leveldb-haskell, lmdb-simple, lrucaching, mtl, QuickCheck
+     , reducers, resourcet, semigroups, serialise, stm, tasty
+     , tasty-hunit, tasty-quickcheck, temporary, text, transformers
      , unordered-containers
      }:
      mkDerivation {
        pname = "dfinity-radix-tree";
-       version = "0.4.0";
-       sha256 = "1bx82andqa7jd682ky0ga14jzfidkcsbgcb6md0wjyy8qgh18sg8";
+       version = "0.5.0";
+       sha256 = "0c721d4vcar7h5alrigi9q63pwwvp0xqwwrvfh6pa9p2y90p820b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          base base16-bytestring blake2 bloomfilter BoundedChan bytestring
          concurrent-extra conduit containers data-default-class deepseq
-         ghc-prim lens-simple leveldb-haskell lmdb-simple lrucaching mtl
-         resourcet semigroups serialise
+         directory dlist ghc-prim hashtables lens-simple leveldb-haskell
+         lmdb-simple lrucaching mtl reducers resourcet semigroups serialise
+         stm temporary transformers
        ];
        executableHaskellDepends = [
          base blake2 bytestring cmdargs criterion data-default-class
          leveldb-haskell lmdb-simple resourcet temporary
        ];
        testHaskellDepends = [
-         aeson base base16-bytestring bytestring containers mtl QuickCheck
-         tasty tasty-hunit tasty-quickcheck text unordered-containers
+         aeson base base16-bytestring blake2 BoundedChan bytestring
+         concurrent-extra conduit containers filepath leveldb-haskell mtl
+         QuickCheck resourcet tasty tasty-hunit tasty-quickcheck temporary
+         text transformers unordered-containers
        ];
        description = "A generic data integrity layer";
        license = stdenv.lib.licenses.gpl3;
@@ -61806,39 +62313,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "dhall_1_17_0" = callPackage
+  "dhall_1_18_0" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, case-insensitive
      , cborg, containers, contravariant, criterion, cryptonite, deepseq
-     , Diff, directory, doctest, exceptions, filepath, hashable
-     , haskeline, http-client, http-client-tls
-     , insert-ordered-containers, lens-family-core, megaparsec, memory
-     , mockery, mtl, optparse-applicative, parsers, prettyprinter
-     , prettyprinter-ansi-terminal, QuickCheck, quickcheck-instances
-     , repline, scientific, serialise, tasty, tasty-hunit
-     , tasty-quickcheck, template-haskell, text, transformers
-     , unordered-containers, vector
+     , Diff, directory, doctest, exceptions, filepath, haskeline
+     , http-client, http-client-tls, lens-family-core, megaparsec
+     , memory, mockery, mtl, optparse-applicative, parsers
+     , prettyprinter, prettyprinter-ansi-terminal, QuickCheck
+     , quickcheck-instances, repline, scientific, serialise, tasty
+     , tasty-hunit, tasty-quickcheck, template-haskell, text
+     , transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.17.0";
-       sha256 = "14a74zqsnv00hbv19lhmv78xzl36qnsznmncnzq7jji2aslgwad0";
+       version = "1.18.0";
+       sha256 = "155bmfk4ivjvffyj0zbd21hwg47blswgydhnys2s0zvm9zzyqa5m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          ansi-terminal base bytestring case-insensitive cborg containers
          contravariant cryptonite Diff directory exceptions filepath
-         hashable haskeline http-client http-client-tls
-         insert-ordered-containers lens-family-core megaparsec memory mtl
-         optparse-applicative parsers prettyprinter
+         haskeline http-client http-client-tls lens-family-core megaparsec
+         memory mtl optparse-applicative parsers prettyprinter
          prettyprinter-ansi-terminal repline scientific serialise
          template-haskell text transformers unordered-containers vector
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         base containers deepseq directory doctest filepath hashable
-         insert-ordered-containers mockery prettyprinter QuickCheck
-         quickcheck-instances serialise tasty tasty-hunit tasty-quickcheck
-         text transformers vector
+         base containers deepseq directory doctest filepath mockery
+         prettyprinter QuickCheck quickcheck-instances serialise tasty
+         tasty-hunit tasty-quickcheck text transformers vector
        ];
        benchmarkHaskellDepends = [
          base bytestring containers criterion directory serialise text
@@ -61870,6 +62374,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-bash_1_0_16" = callPackage
+    ({ mkDerivation, base, bytestring, containers, dhall
+     , neat-interpolation, optparse-generic, shell-escape, text
+     }:
+     mkDerivation {
+       pname = "dhall-bash";
+       version = "1.0.16";
+       sha256 = "0zaz38df08fyfil11906agmz7vfz9wapxszzizyvvp9zid5gx58g";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers dhall neat-interpolation shell-escape
+         text
+       ];
+       executableHaskellDepends = [
+         base bytestring dhall optparse-generic text
+       ];
+       description = "Compile Dhall to Bash";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-check" = callPackage
     ({ mkDerivation, base, containers, dhall, directory, filepath
      , fsnotify, text, trifecta
@@ -61912,6 +62438,32 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-json_1_2_4" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, dhall
+     , optparse-applicative, tasty, tasty-hunit, text
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "dhall-json";
+       version = "1.2.4";
+       sha256 = "1rv3vf5g3cwiy0ps1yn9jnhk56rbw7fci54xj9fj4iwc2rxb9575";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base dhall optparse-applicative text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty base bytestring dhall optparse-applicative text
+         vector yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring dhall tasty tasty-hunit text
+       ];
+       description = "Compile Dhall to JSON or YAML";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-lex" = callPackage
     ({ mkDerivation, alex, array, base, bytestring, criterion, deepseq
      , hspec, hspec-dirstream, scientific
@@ -61929,6 +62481,7 @@ self: {
        benchmarkHaskellDepends = [ base bytestring criterion ];
        description = "Lexer for the Dhall language";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dhall-nix" = callPackage
@@ -61968,6 +62521,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dhall-text_1_0_13" = callPackage
+    ({ mkDerivation, base, dhall, optparse-applicative, text }:
+     mkDerivation {
+       pname = "dhall-text";
+       version = "1.0.13";
+       sha256 = "09bwhc2wrwliwrvd565wr0rgdxmi0g4i9691b8nb32nybb20l1ah";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base dhall optparse-applicative text
+       ];
+       description = "Template text using Dhall";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dhall-to-cabal" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, contravariant
      , dhall, Diff, directory, filepath, hashable
@@ -62301,6 +62870,8 @@ self: {
        pname = "diagrams-contrib";
        version = "1.4.3";
        sha256 = "01r081rvxkb9i56iqi28zw4054nm62pf9f1szd9i0avmnxxsiyv5";
+       revision = "1";
+       editedCabalFile = "16ici9kx7cnva1ihhin5nyc1icif17yks3nwcxxzqxjjw556vpig";
        libraryHaskellDepends = [
          base circle-packing colour containers cubicbezier data-default
          data-default-class diagrams-core diagrams-lib diagrams-solve
@@ -62443,6 +63014,8 @@ self: {
        pname = "diagrams-lib";
        version = "1.4.2.3";
        sha256 = "175yzi5kw4yd8ykdkpf64q85c7j3p89l90m3h6qcsx9ipv6av9r5";
+       revision = "1";
+       editedCabalFile = "0zsigisgn6sjpfy2hm31zddnsyqm2a046nxb5drjqm7r0aa3vjff";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -62566,8 +63139,8 @@ self: {
      }:
      mkDerivation {
        pname = "diagrams-rasterific";
-       version = "1.4.1";
-       sha256 = "0zlpmmgn79jgckzzib758c82brci391r181hg43267s1lx463iih";
+       version = "1.4.1.1";
+       sha256 = "0raki8c20s40y5xy2ax8y38xl3y40fb9qv95ax3qgnmi46s8fapp";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
@@ -62620,8 +63193,8 @@ self: {
        pname = "diagrams-solve";
        version = "0.1.1";
        sha256 = "17agchqkmj14b17sw50kzxq4hm056g5d8yy0wnqn5w8h1d0my7x4";
-       revision = "2";
-       editedCabalFile = "1zgpx0jmgfr3mg77w3nz08cmgzlwfav2c6bcn68f53z829a6y5lf";
+       revision = "3";
+       editedCabalFile = "13vfs5k09c16q3dvqzgfca1kd93pgc4ll8mfl3wracanm5mn5rx7";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base deepseq tasty tasty-hunit tasty-quickcheck
@@ -62640,8 +63213,8 @@ self: {
        pname = "diagrams-svg";
        version = "1.4.2";
        sha256 = "1lnyxx45yawqas7hmvvannwaa3ycf1l9g40lsl2m8sl2ja6vcmal";
-       revision = "1";
-       editedCabalFile = "1mb2fdfvy0c1v7nahspq2cisfqrn37xjh4a6xhqr3b36pfz8rwnd";
+       revision = "2";
+       editedCabalFile = "15sn85xaachw4cj56w61bjcwrbf4qmnkfl8mbgdapxi5k0y4f2qv";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -63758,19 +64331,20 @@ self: {
      }) {};
 
   "discord-haskell" = callPackage
-    ({ mkDerivation, aeson, async, base, bytestring, containers
-     , data-default, http-client, iso8601-time, MonadRandom, req
-     , safe-exceptions, text, time, unordered-containers, vector
-     , websockets, wuss
+    ({ mkDerivation, aeson, async, base, base64-bytestring, bytestring
+     , containers, data-default, http-client, iso8601-time, JuicyPixels
+     , MonadRandom, req, safe-exceptions, text, time
+     , unordered-containers, vector, websockets, wuss
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "0.5.1";
-       sha256 = "0y4ha8zsds53bq330740a0m4wjxmsrdlnhf2fmhp5i3c7rjknka8";
+       version = "0.6.0";
+       sha256 = "1202zfh3lq0ci48ylp637hcih469awz6sfkp14lzq5psybiiynvw";
        libraryHaskellDepends = [
-         aeson async base bytestring containers data-default http-client
-         iso8601-time MonadRandom req safe-exceptions text time
-         unordered-containers vector websockets wuss
+         aeson async base base64-bytestring bytestring containers
+         data-default http-client iso8601-time JuicyPixels MonadRandom req
+         safe-exceptions text time unordered-containers vector websockets
+         wuss
        ];
        description = "Write bots for Discord in Haskell";
        license = stdenv.lib.licenses.mit;
@@ -65788,6 +66362,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dotenv_0_6_0_3" = callPackage
+    ({ mkDerivation, base, base-compat, containers, directory
+     , exceptions, hspec, hspec-megaparsec, megaparsec
+     , optparse-applicative, process, text, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "dotenv";
+       version = "0.6.0.3";
+       sha256 = "0dckfs69k3hqfjrpxkk30liq52pjd2424r8gp6i8xb0zk1xlsqgk";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base base-compat containers directory exceptions megaparsec process
+         text transformers yaml
+       ];
+       executableHaskellDepends = [
+         base base-compat megaparsec optparse-applicative process text
+         transformers yaml
+       ];
+       testHaskellDepends = [
+         base base-compat containers directory exceptions hspec
+         hspec-megaparsec megaparsec process text transformers yaml
+       ];
+       description = "Loads environment variables from dotenv files";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "dotfs" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , haskell-src, HFuse, HUnit, parsec, process, QuickCheck
@@ -66200,6 +66803,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "dragen" = callPackage
+    ({ mkDerivation, base, containers, extra, ghc-prim, matrix
+     , QuickCheck, split, template-haskell, text, transformers
+     }:
+     mkDerivation {
+       pname = "dragen";
+       version = "0.1.0.0";
+       sha256 = "079r8d3j5qm15cqg0d12iz4n6z0lxlmhbcqpv37dhdafjf12dyy7";
+       libraryHaskellDepends = [
+         base containers extra ghc-prim matrix QuickCheck split
+         template-haskell transformers
+       ];
+       testHaskellDepends = [
+         base containers extra ghc-prim matrix QuickCheck split
+         template-haskell text transformers
+       ];
+       description = "Automatic derivation of optimized QuickCheck random generators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "draw-poker" = callPackage
     ({ mkDerivation, base, random-shuffle, safe }:
      mkDerivation {
@@ -68345,8 +68968,8 @@ self: {
        pname = "ekg";
        version = "0.4.0.15";
        sha256 = "1k3d5kiqm034qs04k0pcisf4zbdmx2fcgl9a6c1lzzjw96zf6aj8";
-       revision = "3";
-       editedCabalFile = "05vyycpr627znm769ilyaah39npwa6p23sncgar2vyvxscchkzpi";
+       revision = "4";
+       editedCabalFile = "17b68p16hsh79jaya1jfncml5cjf8y1jbr8827r42acnf9jk4s23";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring ekg-core ekg-json filepath network snap-core
@@ -68574,6 +69197,8 @@ self: {
        pname = "ekg-statsd";
        version = "0.2.4.0";
        sha256 = "1nvsiblha1fzykvfaq1s0fyvfmhm32wvxdsfkn9pqd6dl5ivyx2y";
+       revision = "1";
+       editedCabalFile = "1iayg5ac94rgdz7shvvz7ff4saffww8dc6fy82hi0cpyk7kr2xy9";
        libraryHaskellDepends = [
          base bytestring ekg-core network text time unordered-containers
        ];
@@ -69246,6 +69871,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "email-validate_2_3_2_8" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, doctest, hspec
+     , QuickCheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "email-validate";
+       version = "2.3.2.8";
+       sha256 = "1lsf6x3hmic8anx9dw6dryvsdh128rprb6dxqkyjr17iqy5ww6yp";
+       libraryHaskellDepends = [
+         attoparsec base bytestring template-haskell
+       ];
+       testHaskellDepends = [ base bytestring doctest hspec QuickCheck ];
+       description = "Email address validation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "email-validate-json" = callPackage
     ({ mkDerivation, aeson, base, email-validate, text }:
      mkDerivation {
@@ -69732,6 +70374,7 @@ self: {
        ];
        description = "entwine - Concurrency tools";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "enum-subset-generate" = callPackage
@@ -70662,53 +71305,56 @@ self: {
   "espial" = callPackage
     ({ mkDerivation, aeson, base, bcrypt, bytestring, case-insensitive
      , classy-prelude, classy-prelude-conduit, classy-prelude-yesod
-     , conduit, containers, data-default, directory, esqueleto
-     , fast-logger, file-embed, foreign-store, hjsmin, hscolour, hspec
-     , http-conduit, iso8601-time, microlens, monad-control
-     , monad-logger, mtl, optparse-generic, persistent
-     , persistent-sqlite, persistent-template, pretty-show, safe
-     , shakespeare, template-haskell, text, time, transformers
-     , unordered-containers, vector, wai, wai-extra, wai-logger, warp
-     , yaml, yesod, yesod-auth, yesod-core, yesod-form, yesod-static
-     , yesod-test
+     , conduit, containers, data-default, directory, ekg, ekg-core
+     , esqueleto, fast-logger, file-embed, foreign-store, hjsmin
+     , hscolour, hspec, http-conduit, iso8601-time, microlens
+     , monad-control, monad-logger, monad-metrics, mtl, optparse-generic
+     , persistent, persistent-sqlite, persistent-template, pinboard
+     , pretty-show, safe, shakespeare, template-haskell, text, time
+     , transformers, unordered-containers, vector, wai, wai-extra
+     , wai-logger, wai-middleware-metrics, warp, yaml, yesod, yesod-auth
+     , yesod-core, yesod-form, yesod-static, yesod-test
      }:
      mkDerivation {
        pname = "espial";
-       version = "0.0.4";
-       sha256 = "15v0apj7mfb61jmbl806ak92h5a8qbp8cl05g07qnrp8hmh1g9fp";
+       version = "0.0.5.1";
+       sha256 = "010a809fmi6sxh2fwiwvjqk3d293cg5acj57lb1qbm6qjzn7ir37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bcrypt bytestring case-insensitive classy-prelude
          classy-prelude-conduit classy-prelude-yesod conduit containers
-         data-default directory esqueleto fast-logger file-embed
-         foreign-store hjsmin hscolour http-conduit iso8601-time
-         monad-control monad-logger mtl persistent persistent-sqlite
-         persistent-template pretty-show safe shakespeare template-haskell
-         text time transformers unordered-containers vector wai wai-extra
-         wai-logger warp yaml yesod yesod-auth yesod-core yesod-form
-         yesod-static
+         data-default directory ekg ekg-core esqueleto fast-logger
+         file-embed foreign-store hjsmin hscolour http-conduit iso8601-time
+         microlens monad-control monad-logger monad-metrics mtl persistent
+         persistent-sqlite persistent-template pinboard pretty-show safe
+         shakespeare template-haskell text time transformers
+         unordered-containers vector wai wai-extra wai-logger
+         wai-middleware-metrics warp yaml yesod yesod-auth yesod-core
+         yesod-form yesod-static
        ];
        executableHaskellDepends = [
          aeson base bcrypt bytestring case-insensitive classy-prelude
          classy-prelude-conduit classy-prelude-yesod conduit containers
-         data-default directory esqueleto fast-logger file-embed
-         foreign-store hjsmin hscolour http-conduit iso8601-time
-         monad-control monad-logger mtl optparse-generic persistent
-         persistent-sqlite persistent-template pretty-show safe shakespeare
-         template-haskell text time transformers unordered-containers vector
-         wai wai-extra wai-logger warp yaml yesod yesod-auth yesod-core
+         data-default directory ekg ekg-core esqueleto fast-logger
+         file-embed foreign-store hjsmin hscolour http-conduit iso8601-time
+         microlens monad-control monad-logger monad-metrics mtl
+         optparse-generic persistent persistent-sqlite persistent-template
+         pinboard pretty-show safe shakespeare template-haskell text time
+         transformers unordered-containers vector wai wai-extra wai-logger
+         wai-middleware-metrics warp yaml yesod yesod-auth yesod-core
          yesod-form yesod-static
        ];
        testHaskellDepends = [
          aeson base bcrypt bytestring case-insensitive classy-prelude
          classy-prelude-conduit classy-prelude-yesod conduit containers
-         data-default directory esqueleto fast-logger file-embed
-         foreign-store hjsmin hscolour hspec http-conduit iso8601-time
-         microlens monad-control monad-logger mtl persistent
-         persistent-sqlite persistent-template pretty-show safe shakespeare
-         template-haskell text time transformers unordered-containers vector
-         wai wai-extra wai-logger warp yaml yesod yesod-auth yesod-core
+         data-default directory ekg ekg-core esqueleto fast-logger
+         file-embed foreign-store hjsmin hscolour hspec http-conduit
+         iso8601-time microlens monad-control monad-logger monad-metrics mtl
+         persistent persistent-sqlite persistent-template pinboard
+         pretty-show safe shakespeare template-haskell text time
+         transformers unordered-containers vector wai wai-extra wai-logger
+         wai-middleware-metrics warp yaml yesod yesod-auth yesod-core
          yesod-form yesod-static yesod-test
        ];
        description = "Espial is an open-source, web-based bookmarking server";
@@ -72164,6 +72810,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "exinst-deepseq" = callPackage
@@ -72208,6 +72855,7 @@ self: {
        ];
        description = "Dependent pairs and their instances";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "existential" = callPackage
@@ -72298,8 +72946,8 @@ self: {
      }:
      mkDerivation {
        pname = "exp-cache";
-       version = "0.1.0.1";
-       sha256 = "0yg5p3682fgkb0cn8gyb01zr9qy7y5maqzc6ssc04w9ll06l66jd";
+       version = "0.1.0.2";
+       sha256 = "1r3k4l44hii964c2xm4zb981hi0pklzik62fxr3zwyzwdjzdd36a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -72617,6 +73265,7 @@ self: {
        testHaskellDepends = [ base singletons text ];
        description = "Expressions and Formulae a la carte";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "expressions-z3" = callPackage
@@ -72635,6 +73284,7 @@ self: {
        ];
        description = "Encode and Decode expressions from Z3 ASTs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "extcore" = callPackage
@@ -72795,19 +73445,19 @@ self: {
      }) {};
 
   "extensible-effects-concurrent" = callPackage
-    ({ mkDerivation, base, containers, deepseq, directory
+    ({ mkDerivation, base, containers, data-default, deepseq, directory
      , extensible-effects, filepath, HUnit, lens, logging-effect
      , monad-control, mtl, parallel, process, QuickCheck, random, stm
      , tagged, tasty, tasty-discover, tasty-hunit, time, transformers
      }:
      mkDerivation {
        pname = "extensible-effects-concurrent";
-       version = "0.4.0.0";
-       sha256 = "0asqibn8hf4i627k9ms8sak90wmyis919ggb41lra4rlv03r61rc";
+       version = "0.5.0.1";
+       sha256 = "00gr2x00byfc842p8b5apzc4qi8l0fx8cgrvsi73f1mshkiqs9sp";
        libraryHaskellDepends = [
-         base containers deepseq directory extensible-effects filepath lens
-         logging-effect monad-control mtl parallel process QuickCheck random
-         stm tagged time transformers
+         base containers data-default deepseq directory extensible-effects
+         filepath lens logging-effect monad-control mtl parallel process
+         QuickCheck random stm tagged time transformers
        ];
        testHaskellDepends = [
          base containers deepseq extensible-effects HUnit lens QuickCheck
@@ -72869,6 +73519,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "extra_1_6_13" = callPackage
+    ({ mkDerivation, base, clock, directory, filepath, process
+     , QuickCheck, time, unix
+     }:
+     mkDerivation {
+       pname = "extra";
+       version = "1.6.13";
+       sha256 = "0jc5g120ff97sayff10kqn66wz8aw2wymgwgh2livzkf7vqm5q50";
+       libraryHaskellDepends = [
+         base clock directory filepath process time unix
+       ];
+       testHaskellDepends = [ base directory filepath QuickCheck unix ];
+       description = "Extra functions I use";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "extract-dependencies" = callPackage
     ({ mkDerivation, async, base, Cabal, containers
      , package-description-remote
@@ -73328,8 +73995,8 @@ self: {
      }:
      mkDerivation {
        pname = "fast-arithmetic";
-       version = "0.6.2.2";
-       sha256 = "0rdlsl1k6kp766nm85afilwcvkdbi40kvqi5iy9a1ldkdk277vlk";
+       version = "0.6.3.0";
+       sha256 = "0f02fi63xq0x1r5qqagwzz6wbsxblz99jm2g994gs13ba11abix1";
        libraryHaskellDepends = [ base composition-prelude gmpint ];
        testHaskellDepends = [
          arithmoi base combinat-compat hspec QuickCheck
@@ -77043,6 +77710,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fmt-terminal-colors" = callPackage
+    ({ mkDerivation, ansi-terminal, base, fmt }:
+     mkDerivation {
+       pname = "fmt-terminal-colors";
+       version = "0.1.0.1";
+       sha256 = "0a8gs4m21c1b0xl7v6rm2j915yix3pks0vvy0n3c2298lpkj0z6b";
+       libraryHaskellDepends = [ ansi-terminal base fmt ];
+       testHaskellDepends = [ ansi-terminal base fmt ];
+       description = "ANSI terminal colors formatters for fmt library";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "fn" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, directory
      , filepath, hspec, http-types, resourcet, text
@@ -77513,8 +78192,8 @@ self: {
        pname = "force-layout";
        version = "0.4.0.6";
        sha256 = "17956k3mab2xhrmfy7fj5gh08h43yjlsryi5acjhnkmin5arhwpp";
-       revision = "3";
-       editedCabalFile = "0rp5ggzdqy9i8bsjz7i36l8l2b04vjy6sqm6gxmb4pqmakj1x8q6";
+       revision = "4";
+       editedCabalFile = "0hpr1z68lflgcdl9gbmva0i52wbgfhh4qj3iwdvzipsp8mwav7s7";
        libraryHaskellDepends = [
          base containers data-default-class lens linear
        ];
@@ -78348,8 +79027,8 @@ self: {
      }:
      mkDerivation {
        pname = "free-algebras";
-       version = "0.0.5.0";
-       sha256 = "1aqzah0c95mi9aqlvhl9r56im59jgjl38r199d7zb4lligfzvacr";
+       version = "0.0.5.1";
+       sha256 = "1h8966am7j0xdqq2vmfj2cyrzmkd70bs1kx9fpx1bgn1acdpg1xa";
        libraryHaskellDepends = [
          base constraints containers data-fix dlist free groups
          kan-extensions mtl natural-numbers transformers
@@ -79361,8 +80040,8 @@ self: {
      }:
      mkDerivation {
        pname = "ftp-client";
-       version = "0.5.0.1";
-       sha256 = "1mffpifpsp3l0nmpd6wabgxmz459ky47bzfizqbijxac24x69455";
+       version = "0.5.1.0";
+       sha256 = "1g48hkjvmiljjx2jmfb47ch0c4l3zz7vy8dpsg3wkqvzm9n78f1v";
        libraryHaskellDepends = [
          attoparsec base bytestring connection containers exceptions network
          transformers
@@ -79374,21 +80053,19 @@ self: {
 
   "ftp-client-conduit" = callPackage
     ({ mkDerivation, base, bytestring, conduit, connection, exceptions
-     , ftp-client, ftp-clientconduit, resourcet
+     , ftp-client, resourcet
      }:
      mkDerivation {
        pname = "ftp-client-conduit";
-       version = "0.5.0.2";
-       sha256 = "0hkipszpl6nkd8c79nvi591dqp7aaflvmpadf84r82n5agadf4ss";
+       version = "0.5.0.3";
+       sha256 = "148albjscl7c707c5r0xv7ki8wb26irfkjqdy46cmlmls2y5hvpv";
        libraryHaskellDepends = [
          base bytestring conduit connection exceptions ftp-client resourcet
        ];
-       testHaskellDepends = [ base ftp-clientconduit ];
+       testHaskellDepends = [ base ];
        description = "Transfer file with FTP and FTPS with Conduit";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {ftp-clientconduit = null;};
+     }) {};
 
   "ftp-conduit" = callPackage
     ({ mkDerivation, base, byteorder, bytestring, conduit, MissingH
@@ -81115,8 +81792,8 @@ self: {
      }:
      mkDerivation {
        pname = "generic-data";
-       version = "0.2.0.0";
-       sha256 = "0md52nnc8zhi26hywmqyfcxjzh4kvc0jl5ia005mi8c3dvr5l819";
+       version = "0.3.0.0";
+       sha256 = "0n53z9vmwfmb8h1x86wm9lcqrkfi1lvlfvm6kcw79d2xxx6l90jc";
        libraryHaskellDepends = [
          base base-orphans contravariant show-combinators
        ];
@@ -81337,8 +82014,8 @@ self: {
        pname = "generic-trie";
        version = "0.3.1";
        sha256 = "1x7f5bp7d13g737198l43y2mf9mzngg9vmhyh1yaxg8xfpzc3anh";
-       revision = "1";
-       editedCabalFile = "0rr6fncm17ff7z9jdb90gvd03smd8vlhmhzf5b9hzms7s2scnvh6";
+       revision = "2";
+       editedCabalFile = "1dxf7c66vncw8zn0848g0bk2i2msbrb4njzvkzwvlaiphq0gqg10";
        libraryHaskellDepends = [ base containers transformers ];
        description = "A map, where the keys may be complex structured data";
        license = stdenv.lib.licenses.bsd3;
@@ -81981,22 +82658,6 @@ self: {
      }:
      mkDerivation {
        pname = "genvalidity-time";
-       version = "0.2.1.0";
-       sha256 = "1r28jg9awlx1hzcfdhi0a9a6xlr0f33imqgqyxz4pm9zs4faag7s";
-       libraryHaskellDepends = [
-         base genvalidity QuickCheck time validity-time
-       ];
-       testHaskellDepends = [ base genvalidity-hspec hspec time ];
-       description = "GenValidity support for time";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "genvalidity-time_0_2_1_1" = callPackage
-    ({ mkDerivation, base, genvalidity, genvalidity-hspec, hspec
-     , QuickCheck, time, validity-time
-     }:
-     mkDerivation {
-       pname = "genvalidity-time";
        version = "0.2.1.1";
        sha256 = "0x3qddniy2a0qfyaxi1mfw9kqijky2gwyp19bcsp1gfxxl3c4mf5";
        libraryHaskellDepends = [
@@ -82005,7 +82666,6 @@ self: {
        testHaskellDepends = [ base genvalidity-hspec hspec time ];
        description = "GenValidity support for time";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "genvalidity-unordered-containers" = callPackage
@@ -82664,22 +83324,23 @@ self: {
      }) {};
 
   "ghc-events-analyze" = callPackage
-    ({ mkDerivation, base, containers, diagrams-lib, diagrams-svg
-     , filepath, ghc-events, lens, mtl, optparse-applicative, parsec
+    ({ mkDerivation, base, blaze-svg, bytestring, containers
+     , diagrams-lib, diagrams-svg, filepath, ghc-events, hashable, lens
+     , mtl, optparse-applicative, parsec, regex-base, regex-pcre-builtin
      , SVGFonts, template-haskell, th-lift, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "ghc-events-analyze";
-       version = "0.2.4";
-       sha256 = "1nad7n6kmp6g014fdgzzd4m1w357qm47qp16r24j499l394zaqb1";
-       revision = "1";
-       editedCabalFile = "1g32r4dmmrjx1ablgkpp8vhqfvwicklqnmcsl4c4qxxiad03291j";
+       version = "0.2.5";
+       sha256 = "087fjk6630fhln3srh0ah83kfdwjazwci8rxiai31nfsprsipvf8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers diagrams-lib diagrams-svg filepath ghc-events lens
-         mtl optparse-applicative parsec SVGFonts template-haskell th-lift
-         transformers
+         base blaze-svg bytestring containers diagrams-lib diagrams-svg
+         filepath ghc-events hashable lens mtl optparse-applicative parsec
+         regex-base regex-pcre-builtin SVGFonts template-haskell th-lift
+         transformers unordered-containers
        ];
        description = "Analyze and visualize event logs";
        license = stdenv.lib.licenses.bsd3;
@@ -82875,8 +83536,8 @@ self: {
     ({ mkDerivation, base, ghc, hashable, inspection-testing }:
      mkDerivation {
        pname = "ghc-justdoit";
-       version = "0.1";
-       sha256 = "0qr6ipsq7g1275svdgqcppcb37r387fvap5fyyn6fn4h84dhvkby";
+       version = "0.1.0.1";
+       sha256 = "1f52cq2c886djr59xmwdaby7diba7j687s20d48sxirvrk95wcmb";
        libraryHaskellDepends = [ base ghc hashable ];
        testHaskellDepends = [ base inspection-testing ];
        description = "A magic typeclass that just does it";
@@ -84761,8 +85422,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.8.0.1";
-       sha256 = "0ahd12y6qlnqi8wvhczn5hk2k7g48m6a0d2nxbvjx00iixs5dr34";
+       version = "0.8.1.0";
+       sha256 = "1l0gwi92jb38a8maq96xxfjvjqyhlh3v21xvgkqszqappjzabcpd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -84956,8 +85617,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20180926";
-       sha256 = "1251rj8h63y30sfqk0zh670yhz14p256y59n3590pg015pf3575d";
+       version = "6.20181011";
+       sha256 = "0k18vrk5g9fdlhvklg14fyjk7x9css18i82xzl8wsycjbcq9ncgf";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-f-s3"
@@ -85673,32 +86334,34 @@ self: {
   "gitit" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, blaze-html
      , bytestring, ConfigFile, containers, directory, feed, filepath
-     , filestore, ghc, ghc-paths, happstack-server, highlighting-kate
-     , hoauth2, hslogger, HStringTemplate, HTTP, http-client-tls
-     , http-conduit, json, mtl, network, network-uri, old-locale
-     , old-time, pandoc, pandoc-types, parsec, pretty, process, random
-     , recaptcha, safe, SHA, split, syb, tagsoup, text, time, uri, url
-     , utf8-string, uuid, xhtml, xml, xss-sanitize, zlib
+     , filestore, ghc, ghc-paths, happstack-server, hoauth2, hslogger
+     , HStringTemplate, HTTP, http-client-tls, http-conduit, json, mtl
+     , network, network-uri, old-locale, old-time, pandoc, pandoc-types
+     , parsec, pretty, process, random, recaptcha, safe, SHA
+     , skylighting, split, syb, tagsoup, text, time, uri, uri-bytestring
+     , url, utf8-string, uuid, xhtml, xml, xml-conduit, xss-sanitize
+     , zlib
      }:
      mkDerivation {
        pname = "gitit";
-       version = "0.12.2.1";
-       sha256 = "1x2kh1lsqiib7g4yp7g0yijsghl27k1axjx3zmhl7fwhkxc4w48m";
+       version = "0.12.3";
+       sha256 = "0jfi8rvvj2sh0dv19575fr781azsnahs7a828r1z2cql0dslkljl";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-html bytestring ConfigFile
          containers directory feed filepath filestore ghc ghc-paths
-         happstack-server highlighting-kate hoauth2 hslogger HStringTemplate
-         HTTP http-client-tls http-conduit json mtl network network-uri
+         happstack-server hoauth2 hslogger HStringTemplate HTTP
+         http-client-tls http-conduit json mtl network network-uri
          old-locale old-time pandoc pandoc-types parsec pretty process
-         random recaptcha safe SHA split syb tagsoup text time uri url
-         utf8-string uuid xhtml xml xss-sanitize zlib
+         random recaptcha safe SHA skylighting split syb tagsoup text time
+         uri uri-bytestring url utf8-string uuid xhtml xml xml-conduit
+         xss-sanitize zlib
        ];
        executableHaskellDepends = [
          base bytestring directory filepath hslogger HTTP mtl network
-         network-uri syb url utf8-string
+         network-uri syb text url utf8-string
        ];
        description = "Wiki using happstack, git or darcs, and pandoc";
        license = "GPL";
@@ -86360,16 +87023,16 @@ self: {
     ({ mkDerivation, async, attoparsec, base, base64-bytestring
      , bytestring, Cabal, config-schema, config-value, containers
      , directory, filepath, free, gitrev, hashable, hookup, HsOpenSSL
-     , HUnit, irc-core, kan-extensions, lens, network, process
+     , HUnit, irc-core, kan-extensions, lens, network, process, psqueues
      , regex-tdfa, semigroupoids, split, stm, template-haskell, text
      , time, transformers, unix, unordered-containers, vector, vty
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.28";
-       sha256 = "17z3lhb7ngvp0678ry5zk0jl7pmjhzypk2l6x9mp43m427ick1nk";
-       revision = "2";
-       editedCabalFile = "082abvc99w4pkv41dzbqbmz3kcyi3zl7i201vr2rdfpwjv8r40pa";
+       version = "2.29";
+       sha256 = "04i6dzb6fgvx1vxpn8syzc9pa4mq2m62mrgq4iraqwgkzl54ahgx";
+       revision = "1";
+       editedCabalFile = "0kjari98vcx5d1nfvxk8f6nx557hpy6njw7fj5p1lfdals81qifz";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -86377,8 +87040,8 @@ self: {
          async attoparsec base base64-bytestring bytestring config-schema
          config-value containers directory filepath free gitrev hashable
          hookup HsOpenSSL irc-core kan-extensions lens network process
-         regex-tdfa semigroupoids split stm template-haskell text time
-         transformers unix unordered-containers vector vty
+         psqueues regex-tdfa semigroupoids split stm template-haskell text
+         time transformers unix unordered-containers vector vty
        ];
        executableHaskellDepends = [ base lens text vty ];
        testHaskellDepends = [ base HUnit ];
@@ -89975,6 +90638,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "A reimplementation of graphmod as a source plugin";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "graphql" = callPackage
@@ -90015,6 +90679,17 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "graphql-w-persistent" = callPackage
+    ({ mkDerivation, base, containers, json, text }:
+     mkDerivation {
+       pname = "graphql-w-persistent";
+       version = "0.1.0.3";
+       sha256 = "0yinjcd74hdxfvph760cvf319hnrb5skkc174ih7fqjjllrp5din";
+       libraryHaskellDepends = [ base containers json text ];
+       description = "Haskell GraphQL query parser-interpreter-data processor";
+       license = stdenv.lib.licenses.isc;
+     }) {};
+
   "graphs" = callPackage
     ({ mkDerivation, array, base, containers, transformers
      , transformers-compat, void
@@ -90395,17 +91070,16 @@ self: {
      }) {};
 
   "grid" = callPackage
-    ({ mkDerivation, base, cereal, containers, QuickCheck
-     , test-framework, test-framework-quickcheck2
+    ({ mkDerivation, base, containers, QuickCheck, test-framework
+     , test-framework-quickcheck2
      }:
      mkDerivation {
        pname = "grid";
-       version = "7.8.9";
-       sha256 = "1gzf8k4v16aavz63fcl0byqxzha796g77dng7rsxjm8zsgzlicy0";
-       libraryHaskellDepends = [ base cereal containers ];
+       version = "7.8.10";
+       sha256 = "1470w214jk285jvb7hyzz539gi3jl52dpa97k5yyfcm2q7186pbj";
+       libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [
-         base containers QuickCheck test-framework
-         test-framework-quickcheck2
+         base QuickCheck test-framework test-framework-quickcheck2
        ];
        description = "Tools for working with regular grids (graphs, lattices)";
        license = stdenv.lib.licenses.bsd3;
@@ -90666,8 +91340,8 @@ self: {
      }:
      mkDerivation {
        pname = "groundhog-postgresql";
-       version = "0.9.0";
-       sha256 = "0r756ccnrwzwl6x9fkrvyws8l00sp9jjqlj5n42jkw7nwwx3i8gy";
+       version = "0.9.0.1";
+       sha256 = "0p88l85rsmbdpfnrh2411n68yy70g0iw7pqmp496b8n6gr0mmvl5";
        libraryHaskellDepends = [
          aeson attoparsec base blaze-builder bytestring containers groundhog
          monad-control postgresql-libpq postgresql-simple resource-pool
@@ -92042,6 +92716,56 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hOpenPGP_2_7_4_1" = callPackage
+    ({ mkDerivation, aeson, asn1-encoding, attoparsec, base
+     , base16-bytestring, base64-bytestring, bifunctors, binary
+     , binary-conduit, bytestring, bzlib, conduit, conduit-extra
+     , containers, criterion, crypto-cipher-types, cryptonite, errors
+     , hashable, incremental-parser, ixset-typed, lens, memory
+     , monad-loops, nettle, network, network-uri, newtype
+     , openpgp-asciiarmor, prettyprinter, QuickCheck
+     , quickcheck-instances, resourcet, semigroups, split, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, time-locale-compat
+     , transformers, unliftio-core, unordered-containers, zlib
+     }:
+     mkDerivation {
+       pname = "hOpenPGP";
+       version = "2.7.4.1";
+       sha256 = "0fcm87rkf1c94w68ad2zkd3r2pbxzqa82kh3d2ky87rc1wqnia0s";
+       libraryHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring
+         base64-bytestring bifunctors binary binary-conduit bytestring bzlib
+         conduit conduit-extra containers crypto-cipher-types cryptonite
+         errors hashable incremental-parser ixset-typed lens memory
+         monad-loops nettle network-uri newtype openpgp-asciiarmor
+         prettyprinter resourcet semigroups split text time
+         time-locale-compat transformers unliftio-core unordered-containers
+         zlib
+       ];
+       testHaskellDepends = [
+         aeson asn1-encoding attoparsec base base16-bytestring bifunctors
+         binary binary-conduit bytestring bzlib conduit conduit-extra
+         containers crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network network-uri newtype prettyprinter QuickCheck
+         quickcheck-instances resourcet semigroups split tasty tasty-hunit
+         tasty-quickcheck text time time-locale-compat transformers
+         unliftio-core unordered-containers zlib
+       ];
+       benchmarkHaskellDepends = [
+         aeson base base16-bytestring base64-bytestring bifunctors binary
+         binary-conduit bytestring bzlib conduit conduit-extra containers
+         criterion crypto-cipher-types cryptonite errors hashable
+         incremental-parser ixset-typed lens memory monad-loops nettle
+         network network-uri newtype openpgp-asciiarmor prettyprinter
+         resourcet semigroups split text time time-locale-compat
+         transformers unliftio-core unordered-containers zlib
+       ];
+       description = "native Haskell implementation of OpenPGP (RFC4880)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hPDB" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, directory
      , ghc-prim, iterable, linear, mmap, mtl, Octree, parallel
@@ -93201,15 +93925,15 @@ self: {
      }) {};
 
   "haddock" = callPackage
-    ({ mkDerivation, base, filepath, haddock-api, hspec }:
+    ({ mkDerivation, base, filepath, haddock-api }:
      mkDerivation {
        pname = "haddock";
-       version = "2.20.0";
-       sha256 = "0jfgd9n0gcbg9i2ifra5cnj0xh2nc5j65ns3b280482r65vnph9w";
+       version = "2.21.0";
+       sha256 = "1dkqhclhnjx6786vsmkw6k75kkq06cv1xcxkivm34l5pgnkwwqq8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base haddock-api ];
-       testHaskellDepends = [ base filepath hspec ];
+       testHaskellDepends = [ base filepath ];
        doCheck = false;
        preCheck = "unset GHC_PACKAGE_PATH";
        description = "A documentation-generation tool for Haskell libraries";
@@ -93285,8 +94009,8 @@ self: {
      }:
      mkDerivation {
        pname = "haddock-api";
-       version = "2.20.0";
-       sha256 = "02f6038djjbx2vshd5digk4rm16fl33m080s7v01nn5bzfak9g7j";
+       version = "2.21.0";
+       sha256 = "0j6ixhq64nhjmq2ymhzdgz49ixdbffrrh8a96awl89d2kwdv3bnw";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array base bytestring Cabal containers deepseq directory filepath
@@ -93378,24 +94102,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "haddock-library_1_6_0" = callPackage
+  "haddock-library_1_7_0" = callPackage
     ({ mkDerivation, base, base-compat, bytestring, containers, deepseq
-     , directory, filepath, hspec, hspec-discover, optparse-applicative
-     , QuickCheck, transformers, tree-diff
+     , hspec, hspec-discover, parsec, QuickCheck, text, transformers
      }:
      mkDerivation {
        pname = "haddock-library";
-       version = "1.6.0";
-       sha256 = "0h7721zw6kbm1vcr0kp69avfy3qfd9zsgmh24gy909kxgdp0k7v0";
+       version = "1.7.0";
+       sha256 = "04fhcjk0pvsaqvsgp2w06cv2qvshq1xs1bwc157q4lmkgr57khp7";
        libraryHaskellDepends = [
-         base bytestring containers deepseq transformers
+         base bytestring containers parsec text transformers
        ];
        testHaskellDepends = [
-         base base-compat bytestring containers deepseq directory filepath
-         hspec optparse-applicative QuickCheck transformers tree-diff
+         base base-compat bytestring containers deepseq hspec parsec
+         QuickCheck text transformers
        ];
        testToolDepends = [ hspec-discover ];
-       doHaddock = false;
        description = "Library exposing some functionality of Haddock";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -94070,6 +94792,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hakyll-dhall" = callPackage
+    ({ mkDerivation, base, binary, cborg, containers
+     , data-default-class, dhall, filepath, hakyll, lens-family-core
+     , mtl, prettyprinter, text, transformers
+     }:
+     mkDerivation {
+       pname = "hakyll-dhall";
+       version = "0.2.2.1";
+       sha256 = "03s1fs95mhaxwq79gf2qjlbzjfkimd3kkiksjmp42j8zxn0y9sbf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary cborg containers data-default-class dhall filepath
+         hakyll lens-family-core mtl prettyprinter text transformers
+       ];
+       executableHaskellDepends = [ base dhall hakyll ];
+       description = "Dhall compiler for Hakyll";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hakyll-dir-list" = callPackage
     ({ mkDerivation, base, containers, data-default, filepath, hakyll
      }:
@@ -94408,13 +95151,11 @@ self: {
     ({ mkDerivation, base, hedgehog, lens }:
      mkDerivation {
        pname = "halves";
-       version = "0.1.0.0";
-       sha256 = "06axsxkfja0p7vki4cnrf3rf3k255f5mk573pzn0zvzi4f8mmadn";
-       revision = "1";
-       editedCabalFile = "0hwp6fgnfmms2ckg0bzriklnshn7m39dxvj2vjrzm19spnf55fdn";
+       version = "0.1.0.1";
+       sha256 = "0mjxi7aq58k5aydslsihp66kabh0mr5wp2nngbzkvzbs0z7rrwma";
        libraryHaskellDepends = [ base lens ];
        testHaskellDepends = [ base hedgehog lens ];
-       description = "Splitting/combining data structures to/from halves, quarters, eighths";
+       description = "Split or combine data structures to and from halves, quarters, eighths";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -94474,6 +95215,7 @@ self: {
        ];
        description = "Physics on generalized coordinate systems using Hamiltonian Mechanics and AD";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hamlet" = callPackage
@@ -94847,6 +95589,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hapistrano_0_3_6_1" = callPackage
+    ({ mkDerivation, aeson, async, base, directory, filepath
+     , formatting, gitrev, hspec, mtl, optparse-applicative, path
+     , path-io, process, stm, temporary, time, transformers, yaml
+     }:
+     mkDerivation {
+       pname = "hapistrano";
+       version = "0.3.6.1";
+       sha256 = "0g0i0n952zjvysjrsp4srhqgrq5fyy7kdinixsxazpccf01f229y";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base filepath formatting gitrev mtl path process time transformers
+       ];
+       executableHaskellDepends = [
+         aeson async base formatting gitrev optparse-applicative path
+         path-io stm yaml
+       ];
+       testHaskellDepends = [
+         base directory filepath hspec mtl path path-io process temporary
+       ];
+       description = "A deployment library for Haskell applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "happindicator" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, glib, gtk
      , gtk2hs-buildtools, libappindicator-gtk2, mtl
@@ -95932,8 +96701,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasbolt-extras";
-       version = "0.0.0.11";
-       sha256 = "1x0dm5x4jr1k619s7ad78bb717c8572s8pakailf8g2wsyc340gr";
+       version = "0.0.0.12";
+       sha256 = "0rh4nn7dy9jfn4vhmf18fgyqhldj5lg46l35ka2m60ig86za9fkn";
        libraryHaskellDepends = [
          base containers free hasbolt lens mtl neat-interpolation
          template-haskell text th-lift-instances
@@ -96765,6 +97534,61 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "haskell-bitmex-client" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, bytestring-conversion
+     , cryptonite, haskell-bitmex-rest, http-client, http-client-tls
+     , http-types, katip, memory, microlens, mtl, network
+     , safe-exceptions, text, time, vector, websockets, wuss
+     }:
+     mkDerivation {
+       pname = "haskell-bitmex-client";
+       version = "0.1.0.1";
+       sha256 = "13qqi0ribc20p9h3nmfsjzhizyyz0nzsxfwx21i2r4v9md9j9n3c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring bytestring-conversion cryptonite
+         haskell-bitmex-rest http-client http-client-tls http-types katip
+         memory microlens mtl network safe-exceptions text time vector
+         websockets wuss
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring haskell-bitmex-rest http-client
+         http-client-tls katip mtl text time websockets
+       ];
+       description = "Complete BitMEX Client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "haskell-bitmex-rest" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , case-insensitive, containers, deepseq, exceptions, hspec
+     , http-api-data, http-client, http-client-tls, http-media
+     , http-types, iso8601-time, katip, microlens, mtl, network
+     , QuickCheck, random, safe-exceptions, semigroups, text, time
+     , transformers, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "haskell-bitmex-rest";
+       version = "0.1.0.0";
+       sha256 = "09xj9bf50wwq1xgy800wadm8jbnbs4qnjcxqx0gy3jmx1z7mgmmc";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         deepseq exceptions http-api-data http-client http-client-tls
+         http-media http-types iso8601-time katip microlens mtl network
+         random safe-exceptions text time transformers unordered-containers
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers hspec iso8601-time mtl QuickCheck
+         semigroups text time transformers unordered-containers vector
+       ];
+       description = "Auto-generated bitmex API Client";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "haskell-brainfuck" = callPackage
     ({ mkDerivation, base, bytestring, mtl, parsec, QuickCheck, tasty
      , tasty-quickcheck, tasty-th
@@ -97091,19 +97915,14 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-gi";
-       version = "0.21.4";
-       sha256 = "0rjb7pg8v0kjx115n0bksw705g6yg9vn8krxrakhvds5hvmb9caw";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.21.5";
+       sha256 = "1rvi9bmgxq7q6js8yb5yb156yxmnm9px9amgjwzxmr7sxz31dl8j";
        libraryHaskellDepends = [
          attoparsec base bytestring Cabal containers directory filepath
          haskell-gi-base mtl pretty-show process regex-tdfa safe text
          transformers xdg-basedir xml-conduit
        ];
        libraryPkgconfigDepends = [ glib gobjectIntrospection ];
-       executableHaskellDepends = [
-         base containers directory filepath haskell-gi-base pretty-show text
-       ];
        testHaskellDepends = [ base doctest process ];
        description = "Generate Haskell bindings for GObject Introspection capable libraries";
        license = stdenv.lib.licenses.lgpl21;
@@ -97114,8 +97933,8 @@ self: {
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.21.3";
-       sha256 = "1nh2cb8l0yvn6hp5bw273yyj0y15f1sd8115wi7sxyvas5h5q7m4";
+       version = "0.21.4";
+       sha256 = "0vrl0cqws1l0ba7avf16c9zyfsvq7gd8wv4sjzd7rjk6jmg38vds";
        libraryHaskellDepends = [ base bytestring containers text ];
        libraryPkgconfigDepends = [ glib ];
        description = "Foundation for libraries generated by haskell-gi";
@@ -97476,8 +98295,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-names";
-       version = "0.9.2";
-       sha256 = "1gfqyh0lgi4n20dmh6pavxixy3flw385fp2iisks99l30nzn0kyv";
+       version = "0.9.3";
+       sha256 = "1gr5sxjjkf7faiyc4y1sbiv06c5fiz7w5s8sxz7hh5k54w8nhs4c";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson base bytestring containers data-lens-light filepath
@@ -99146,22 +99965,20 @@ self: {
 
   "haskoin-core" = callPackage
     ({ mkDerivation, aeson, array, base, base16-bytestring, bytestring
-     , cereal, conduit, containers, cryptonite, deepseq, entropy
-     , hashable, hspec, hspec-discover, HUnit, memory, mtl, murmur3
-     , network, QuickCheck, safe, scientific, secp256k1-haskell, split
-     , string-conversions, text, time, transformers
-     , unordered-containers, vector
+     , cereal, conduit, containers, cryptonite, entropy, hashable, hspec
+     , hspec-discover, HUnit, memory, mtl, murmur3, network, QuickCheck
+     , safe, scientific, secp256k1-haskell, split, string-conversions
+     , text, time, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "haskoin-core";
-       version = "0.5.2";
-       sha256 = "1sjsni26m9f36v9zc3q6gkpv8d7bnwvn88s1v77d5z81jszfwq2b";
+       version = "0.8.1";
+       sha256 = "0wlsxxrb4a7dn19412gxkwlayrjzpawkpxxy7mww279i159zl7k8";
        libraryHaskellDepends = [
          aeson array base base16-bytestring bytestring cereal conduit
-         containers cryptonite deepseq entropy hashable memory mtl murmur3
-         network QuickCheck scientific secp256k1-haskell split
-         string-conversions text time transformers unordered-containers
-         vector
+         containers cryptonite entropy hashable memory mtl murmur3 network
+         QuickCheck scientific secp256k1-haskell split string-conversions
+         text time transformers unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base bytestring cereal containers hspec HUnit mtl QuickCheck
@@ -99198,23 +100015,26 @@ self: {
 
   "haskoin-node" = callPackage
     ({ mkDerivation, base, bytestring, cereal, conduit, conduit-extra
-     , haskoin-core, hspec, monad-logger, mtl, network, nqe, random
-     , resourcet, rocksdb-haskell, rocksdb-query, string-conversions
-     , time, unliftio
+     , data-default, hashable, haskoin-core, hspec, hspec-discover
+     , HUnit, monad-logger, mtl, network, nqe, random, resourcet
+     , rocksdb-haskell, rocksdb-query, safe, string-conversions, text
+     , time, transformers, unliftio, unordered-containers
      }:
      mkDerivation {
        pname = "haskoin-node";
-       version = "0.6.1";
-       sha256 = "06f1jmdgy5afkxcr06y1cp4jz21nby4snhnbpylj25d2y0dak8wy";
+       version = "0.9.2";
+       sha256 = "1aiqhw7fk6h70ps5svbhhhk577ai0rqk6s4bm00ii4yhnbdrdk60";
        libraryHaskellDepends = [
-         base bytestring cereal conduit conduit-extra haskoin-core
-         monad-logger mtl network nqe random resourcet rocksdb-haskell
-         rocksdb-query string-conversions time unliftio
+         base bytestring cereal conduit conduit-extra data-default hashable
+         haskoin-core monad-logger mtl network nqe random resourcet
+         rocksdb-haskell rocksdb-query string-conversions text time
+         transformers unliftio unordered-containers
        ];
        testHaskellDepends = [
-         base bytestring cereal haskoin-core hspec monad-logger mtl network
-         nqe random rocksdb-haskell unliftio
+         base bytestring cereal haskoin-core hspec HUnit monad-logger mtl
+         network nqe random rocksdb-haskell safe unliftio
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Haskoin Node P2P library for Bitcoin and Bitcoin Cash";
        license = stdenv.lib.licenses.publicDomain;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -101472,10 +102292,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdocs";
-       version = "0.5.3.0";
-       sha256 = "0gkv4xy7jr2ic22gn5fpj3vd6avgd1xqblv96gg1m0fhfsj92y5h";
-       revision = "1";
-       editedCabalFile = "0dy2jamwd0jxai8hcfq506xqczi0hn9c8p7z4dbmq62d29fm79yb";
+       version = "0.5.3.1";
+       sha256 = "0nxvkmhxpxx3500sy7kzpqyp45rq83hjm6gkj10vglxgjk32vzp4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -103002,6 +103820,7 @@ self: {
        testSystemDepends = [ secp256k1 ];
        description = "Ethereum virtual machine evaluator";
        license = stdenv.lib.licenses.agpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) secp256k1;};
 
   "hevolisa" = callPackage
@@ -105642,6 +106461,7 @@ self: {
        ];
        description = "A terminal UI as drop-in replacement for hledger add";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hledger-interest" = callPackage
@@ -105676,6 +106496,7 @@ self: {
        ];
        description = "computes the internal rate of return of an investment";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hledger-lib" = callPackage
@@ -106391,6 +107212,7 @@ self: {
        ];
        description = "Conversions between hmatrix and vector-sized types";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hmeap" = callPackage
@@ -108519,6 +109341,8 @@ self: {
        pname = "hpack-dhall";
        version = "0.3.0";
        sha256 = "0dplb37npz47cxya1c3dnj6bjcnprjph83yifb08a5qf6vnhcjyh";
+       revision = "3";
+       editedCabalFile = "1paz90nmir7hrwp9yf2aair14gyiw8ql7f9vj2ry8r7q00xbpfv2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -109275,6 +110099,7 @@ self: {
        ];
        description = "A Riemann Client for Haskell";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hruby" = callPackage
@@ -110298,6 +111123,8 @@ self: {
        pname = "hsc2hs";
        version = "0.68.4";
        sha256 = "07qzyr1j76gxrrsds65vivm5cx33paxpifvxdlmkxprrm3s4z7z6";
+       revision = "1";
+       editedCabalFile = "1wab9n4wy3bffxly0b0v1ppzf6sfn6aqc8pi1r8jnwb4rzy94c3i";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -110851,35 +111678,33 @@ self: {
      }) {};
 
   "hsdev" = callPackage
-    ({ mkDerivation, aeson, aeson-lens, aeson-pretty, array, async
-     , attoparsec, base, bytestring, Cabal, containers, cpphs
-     , data-default, deepseq, direct-sqlite, directory, exceptions
-     , filepath, fsnotify, ghc, ghc-boot, ghc-paths, ghc-syb-utils
-     , haddock-api, haddock-library, haskell-names, haskell-src-exts
-     , hdocs, hformat, hlint, hspec, HTTP, lens, lifted-base, mmorph
-     , monad-control, monad-loops, mtl, network, optparse-applicative
-     , process, regex-pcre-builtin, scientific, simple-log
-     , sqlite-simple, stm, syb, template-haskell, text, text-region
-     , time, transformers, transformers-base, traverse-with-class
-     , uniplate, unix, unordered-containers, vector
+    ({ mkDerivation, aeson, aeson-pretty, array, async, attoparsec
+     , base, bytestring, Cabal, containers, cpphs, data-default, deepseq
+     , direct-sqlite, directory, exceptions, filepath, fsnotify, ghc
+     , ghc-boot, ghc-paths, haddock-api, haddock-library, haskell-names
+     , haskell-src-exts, hdocs, hformat, hlint, hspec, HTTP, lens
+     , lens-aeson, lifted-base, mmorph, monad-control, monad-loops, mtl
+     , network, optparse-applicative, process, regex-pcre-builtin
+     , scientific, simple-log, sqlite-simple, stm, syb, template-haskell
+     , text, text-region, time, transformers, transformers-base
+     , traverse-with-class, uniplate, unix, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.3.1.4";
-       sha256 = "12mz6ahfs693yxi02765v4215dbs2pzqp17w49z38zz3y6kcwmb9";
+       version = "0.3.2.1";
+       sha256 = "01sfpd2dsqbbkxq5arb0gzllfyfcmjwcln91v02f5x1f6ksjlpzp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty array async attoparsec base bytestring Cabal
          containers cpphs data-default deepseq direct-sqlite directory
-         exceptions filepath fsnotify ghc ghc-boot ghc-paths ghc-syb-utils
-         haddock-api haddock-library haskell-names haskell-src-exts hdocs
-         hformat hlint HTTP lens lifted-base mmorph monad-control
-         monad-loops mtl network optparse-applicative process
-         regex-pcre-builtin scientific simple-log sqlite-simple stm syb
-         template-haskell text text-region time transformers
-         transformers-base traverse-with-class uniplate unix
-         unordered-containers vector
+         exceptions filepath fsnotify ghc ghc-boot ghc-paths haddock-api
+         haddock-library haskell-names haskell-src-exts hdocs hformat hlint
+         HTTP lens lifted-base mmorph monad-control monad-loops mtl network
+         optparse-applicative process regex-pcre-builtin scientific
+         simple-log sqlite-simple stm syb template-haskell text text-region
+         time transformers transformers-base traverse-with-class uniplate
+         unix unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson aeson-pretty base bytestring containers deepseq directory
@@ -110887,8 +111712,8 @@ self: {
          process text transformers unordered-containers
        ];
        testHaskellDepends = [
-         aeson aeson-lens async base containers data-default deepseq
-         directory filepath hformat hspec lens mtl text
+         aeson async base containers data-default deepseq directory filepath
+         hformat hspec lens lens-aeson mtl text
        ];
        description = "Haskell development library";
        license = stdenv.lib.licenses.bsd3;
@@ -112080,6 +112905,7 @@ self: {
        testHaskellDepends = [ base hspec ];
        description = "Helper functions to simplify adding integration tests";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hspec-discover_2_4_8" = callPackage
@@ -113259,25 +114085,29 @@ self: {
 
   "hstox" = callPackage
     ({ mkDerivation, async, base, base16-bytestring, binary
-     , binary-bits, bytestring, containers, data-msgpack, hspec
-     , integer-gmp, iproute, network, network-msgpack-rpc, process
-     , QuickCheck, saltine, tagged, text, transformers
+     , binary-bits, bytestring, clock, containers, data-msgpack
+     , data-msgpack-types, entropy, hspec, integer-gmp, iproute
+     , lens-family, MonadRandom, mtl, network, network-msgpack-rpc
+     , process, QuickCheck, random, saltine, semigroups, tagged, text
+     , transformers
      }:
      mkDerivation {
        pname = "hstox";
-       version = "0.0.1";
-       sha256 = "02ifk98jqnfc4dinf8g7zsls6vmb4kys2mw42qgp6grrkw5clqkd";
+       version = "0.0.2";
+       sha256 = "0dnz2kza50741gkhkclipd73wiqlfh0f40bsx9askl2sbj5zschg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base16-bytestring binary binary-bits bytestring containers
-         data-msgpack hspec integer-gmp iproute network network-msgpack-rpc
-         QuickCheck saltine tagged text transformers
+         base base16-bytestring binary binary-bits bytestring clock
+         containers data-msgpack data-msgpack-types entropy hspec
+         integer-gmp iproute lens-family MonadRandom mtl network
+         network-msgpack-rpc QuickCheck random saltine semigroups tagged
+         text transformers
        ];
        executableHaskellDepends = [ base process ];
        testHaskellDepends = [ async base ];
        description = "A Tox protocol implementation in Haskell";
-       license = stdenv.lib.licenses.agpl3;
+       license = stdenv.lib.licenses.gpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -113935,6 +114765,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "html-validator-cli" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, directory
+     , doctest, filepath, hspec, http-conduit, text, utf8-string
+     }:
+     mkDerivation {
+       pname = "html-validator-cli";
+       version = "0.1.0.5";
+       sha256 = "0f1af2zsg7vmirmdnh3fwvyk3m7gdd34nfgfkdygs4ridhv6hqxs";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       testHaskellDepends = [
+         aeson ansi-terminal base bytestring directory doctest filepath
+         hspec http-conduit text utf8-string
+       ];
+       description = "A command-line interface for https://validator.w3.org/";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "html2hamlet" = callPackage
     ({ mkDerivation, base, bytestring, containers, hamlet, html-conduit
      , http-conduit, mtl, optparse-declarative, regex-tdfa, text
@@ -115177,8 +116034,8 @@ self: {
        pname = "httpd-shed";
        version = "0.4.0.3";
        sha256 = "064jy1mqhnf1hvq6s04wlhmp916rd522x58djb9qixv13vc8gzxh";
-       revision = "1";
-       editedCabalFile = "159cjn9j8lq00gj2yvrzp81r37av25f83chsimp88h55zm9z8akw";
+       revision = "2";
+       editedCabalFile = "12y9qf8s0aq4dc80wrvh14cjvvm4mcygrqq72w4z8w9n8mp8jg9p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base network network-uri ];
@@ -116134,14 +116991,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hw-ip_0_2_1_1" = callPackage
+  "hw-ip_0_4_1" = callPackage
     ({ mkDerivation, attoparsec, base, generic-lens, hedgehog, hspec
      , hw-bits, hw-hspec-hedgehog, text
      }:
      mkDerivation {
        pname = "hw-ip";
-       version = "0.2.1.1";
-       sha256 = "1vcg2n0ar5j5w02caswjxi549qfkgy7p63vfasbq3a8w3d109931";
+       version = "0.4.1";
+       sha256 = "0kql3qvav2r0fsppiqa40s95938gfzkal5bkli3rhjiknj3vhbg7";
        libraryHaskellDepends = [
          attoparsec base generic-lens hw-bits text
        ];
@@ -116426,6 +117283,7 @@ self: {
        benchmarkHaskellDepends = [ base criterion vector ];
        description = "Primitive support for bit manipulation";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hw-rankselect" = callPackage
@@ -119549,8 +120407,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "inchworm";
-       version = "1.0.2.2";
-       sha256 = "0r8a8hg3fzfc619zsjdnid1la0njnfrijhqfgqjmis4ncivah52h";
+       version = "1.0.2.4";
+       sha256 = "0r4d3pqpkmfa6ksjzvm8kjzrrkvb0lv76cf6fcrciwm7dj5biz74";
        libraryHaskellDepends = [ base ];
        description = "Inchworm Lexer Framework";
        license = stdenv.lib.licenses.mit;
@@ -119653,6 +120511,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "incremental-parser_0_3_2" = callPackage
+    ({ mkDerivation, base, bytestring, checkers, criterion, deepseq
+     , monoid-subclasses, QuickCheck, tasty, tasty-quickcheck, text
+     }:
+     mkDerivation {
+       pname = "incremental-parser";
+       version = "0.3.2";
+       sha256 = "0rzm83mjbvaxa48yjs16c1v41l0yy1nfilc549z4vjgzqixy1pw6";
+       libraryHaskellDepends = [ base monoid-subclasses ];
+       testHaskellDepends = [
+         base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq monoid-subclasses text
+       ];
+       description = "Generic parser library capable of providing partial results from partial input";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "incremental-sat-solver" = callPackage
     ({ mkDerivation, base, containers, mtl }:
      mkDerivation {
@@ -119789,8 +120667,8 @@ self: {
      }:
      mkDerivation {
        pname = "indexation";
-       version = "0.6.4.1";
-       sha256 = "04xywlx0xngbycc77x14nfvjb8z0q7mmyab75l8z223fj1fh3c21";
+       version = "0.8";
+       sha256 = "111ikvrmxhqb1idpc1n70hds6slp3c9i15pigmpldj73jxinqihf";
        libraryHaskellDepends = [
          base bitvec bytestring cereal cereal-vector contravariant deepseq
          deferred-folds dense-int-set focus foldl hashable list-t mmorph
@@ -120056,6 +120934,26 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "inflections_0_4_0_4" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec
+     , hspec-megaparsec, megaparsec, QuickCheck, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "inflections";
+       version = "0.4.0.4";
+       sha256 = "0lspb0xpfj4q6wrzgss7pfjmr6xb5clj7y686vsairbkpcj3cfcl";
+       libraryHaskellDepends = [
+         base exceptions megaparsec text unordered-containers
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-megaparsec megaparsec QuickCheck text
+       ];
+       description = "Inflections library for Haskell";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "inflist" = callPackage
     ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
@@ -120476,16 +121374,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "inspection-testing_0_3" = callPackage
+  "inspection-testing_0_4" = callPackage
     ({ mkDerivation, base, containers, ghc, mtl, template-haskell
      , transformers
      }:
      mkDerivation {
        pname = "inspection-testing";
-       version = "0.3";
-       sha256 = "0drrfl1k9y7vm270iwr1l451vifffn3qmxjm92rmdq9sk3kij3al";
-       revision = "1";
-       editedCabalFile = "06lb7gkgv5hns2kpslabl1zhd4i45wnnhcd4kmcz0n7d3hdx35cg";
+       version = "0.4";
+       sha256 = "04km186267ssaqs18kxjzsbya4jhsbyfj51959clfzbi1bfj0yfb";
        libraryHaskellDepends = [
          base containers ghc mtl template-haskell transformers
        ];
@@ -120733,6 +121629,8 @@ self: {
        pname = "integer-logarithms";
        version = "1.0.2.2";
        sha256 = "1hvzbrh8fm1g9fbavdym52pr5n9f2bnfx1parkfizwqlbj6n51ms";
+       revision = "1";
+       editedCabalFile = "1684dkh8j2xqsd85bfsmhv3iam37hasjg4x79mvl6xh7scmpfdbw";
        libraryHaskellDepends = [ array base ghc-prim integer-gmp ];
        testHaskellDepends = [
          base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
@@ -121017,6 +121915,24 @@ self: {
        license = stdenv.lib.licenses.publicDomain;
      }) {};
 
+  "interpolatedstring-perl6_1_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, haskell-src-meta, process
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "interpolatedstring-perl6";
+       version = "1.0.1";
+       sha256 = "0n3j6qvzp6as5ji93rn0sy873w5hdsplik51lkrah42cl95vmbay";
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal process ];
+       libraryHaskellDepends = [
+         base bytestring haskell-src-meta template-haskell text
+       ];
+       description = "QuasiQuoter for Perl6-style multi-line interpolated strings";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "interpolatedstring-qq" = callPackage
     ({ mkDerivation, base, haskell-src-meta-mwotton, template-haskell
      }:
@@ -121355,6 +122271,7 @@ self: {
        testHaskellDepends = [ base QuickCheck transformers ];
        description = "bidirectional arrows, bijective functions, and invariant functors";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "invertible-grammar" = callPackage
@@ -121397,6 +122314,7 @@ self: {
        ];
        description = "invertible transformer instances for HXT Picklers";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "invertible-syntax" = callPackage
@@ -121559,8 +122477,8 @@ self: {
        pname = "io-streams-haproxy";
        version = "1.0.0.2";
        sha256 = "11nh9q158mgnvvb23s5ffg87lkhl5smk039yl43jghxmb214z0bp";
-       revision = "2";
-       editedCabalFile = "0jrasbn4s6ac0691bf88fbflpha2vn24bd45gk0s3znvl395dxgr";
+       revision = "3";
+       editedCabalFile = "03pwnb66mlx1b8z2d4mn262i2s5mprfr49m0crnssd2nlvm82ifa";
        libraryHaskellDepends = [
          attoparsec base bytestring io-streams network transformers
        ];
@@ -121716,6 +122634,7 @@ self: {
        ];
        description = "Library for IP and MAC addresses";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ip_1_4_1" = callPackage
@@ -121887,6 +122806,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "iproute_1_7_6" = callPackage
+    ({ mkDerivation, appar, base, byteorder, containers, doctest, hspec
+     , network, QuickCheck, safe
+     }:
+     mkDerivation {
+       pname = "iproute";
+       version = "1.7.6";
+       sha256 = "1svczhzy126w7pa5vyfg90xrvi2ym34f47nj4hhcpx13dv06g5wi";
+       libraryHaskellDepends = [
+         appar base byteorder containers network
+       ];
+       testHaskellDepends = [
+         appar base byteorder containers doctest hspec network QuickCheck
+         safe
+       ];
+       description = "IP Routing Table";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "iptables-helpers" = callPackage
     ({ mkDerivation, base, containers, mtl, parsec, QuickCheck, safe
      , syb, utf8-string
@@ -122764,6 +123703,46 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "iterm-show" = callPackage
+    ({ mkDerivation, base, base64-bytestring, bytestring }:
+     mkDerivation {
+       pname = "iterm-show";
+       version = "0.1.0.1";
+       sha256 = "1wlrn6q3v5a4pqmk3a3syir7szq97g658s1bzrq5p65frs7i7daw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base base64-bytestring bytestring ];
+       executableHaskellDepends = [ base bytestring ];
+       description = "Enable graphical display of images inline on some terminals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iterm-show-JuicyPixels" = callPackage
+    ({ mkDerivation, base, iterm-show, JuicyPixels }:
+     mkDerivation {
+       pname = "iterm-show-JuicyPixels";
+       version = "0.1.0.0";
+       sha256 = "1r4if1izanpz7kc2hl8vcn6iz7p0sk5dqq8rxvrpclcx3dklhh6z";
+       libraryHaskellDepends = [ base iterm-show JuicyPixels ];
+       description = "Orphan Show instances for JuciyPixels image types";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "iterm-show-diagrams" = callPackage
+    ({ mkDerivation, base, diagrams-lib, diagrams-rasterific
+     , iterm-show, JuicyPixels
+     }:
+     mkDerivation {
+       pname = "iterm-show-diagrams";
+       version = "0.1.0.0";
+       sha256 = "1szan9v24d8fksxcw3fqvzppf49664xm5y1zdk9yv007r5pfxr4c";
+       libraryHaskellDepends = [
+         base diagrams-lib diagrams-rasterific iterm-show JuicyPixels
+       ];
+       description = "Orphan Show instances for diagrams package that render inline in some terminals";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ival" = callPackage
     ({ mkDerivation, alg, base, smallcheck, tasty, tasty-smallcheck }:
      mkDerivation {
@@ -124412,6 +125391,8 @@ self: {
        pname = "json-autotype";
        version = "2.0.0";
        sha256 = "0mip3k489321sqzzwbv0sbcscv2q9n4lbc63sx8lslsy95da9x68";
+       revision = "1";
+       editedCabalFile = "00wbcq9bx6sq6i5756ja6pf016xbpk2kflq20ncdv76zycxdkqnm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125992,10 +126973,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip";
-       version = "0.6.1.0";
-       sha256 = "0mqx1dvq5v18sd2rqr2zlvmznj84vwml8zdf0hlhviw7kl9wjbah";
-       revision = "1";
-       editedCabalFile = "1znlk9jkrp3hl1frra563c61p49sp56nw1xps593w2qq9hr037rq";
+       version = "0.6.3.0";
+       sha256 = "0pjd81rp5rhf0nxgqi274zlffhcvd3v8nl60y5pj06wpyn55wx0g";
        libraryHaskellDepends = [
          aeson async auto-update base bytestring containers either hostname
          microlens microlens-th monad-control mtl old-locale resourcet
@@ -126259,6 +127238,7 @@ self: {
        ];
        description = "Fast concurrent queues much inspired by unagi-chan";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "kbq-gu" = callPackage
@@ -130417,6 +131397,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "leancheck_0_7_7" = callPackage
+    ({ mkDerivation, base, template-haskell }:
+     mkDerivation {
+       pname = "leancheck";
+       version = "0.7.7";
+       sha256 = "0ymzs3w7nfagpcyh4f57f1wi1gr72k7pbkh729jrxxqgqhd84bvd";
+       libraryHaskellDepends = [ base template-haskell ];
+       testHaskellDepends = [ base ];
+       description = "Enumerative property-based testing";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "leankit-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, colour, curl, split }:
      mkDerivation {
@@ -130941,12 +131934,12 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "lens-labels_0_3_0_0" = callPackage
+  "lens-labels_0_3_0_1" = callPackage
     ({ mkDerivation, base, ghc-prim, profunctors, tagged }:
      mkDerivation {
        pname = "lens-labels";
-       version = "0.3.0.0";
-       sha256 = "1kpbn9lsaxvw86w3r121rymrxcyihci7njpcw3f2663pb01v39rn";
+       version = "0.3.0.1";
+       sha256 = "0zz2w01knsj1zn9vj8g3dbhvh0sgnibr5wm9dn91qv0bmps745z7";
        libraryHaskellDepends = [ base ghc-prim profunctors tagged ];
        description = "Integration of lenses with OverloadedLabels";
        license = stdenv.lib.licenses.bsd3;
@@ -132211,6 +133204,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {xslt = null;};
 
+  "libyaml" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, resourcet }:
+     mkDerivation {
+       pname = "libyaml";
+       version = "0.1.0.0";
+       sha256 = "01vgzf05ad1v8h65n12fwd2whldnqhlv7cbcaf08m3ck2viqimlw";
+       libraryHaskellDepends = [ base bytestring conduit resourcet ];
+       description = "Low-level, streaming YAML interface";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "libzfs" = callPackage
     ({ mkDerivation, base, mtl, nvpair, transformers, zfs }:
      mkDerivation {
@@ -132287,6 +133291,7 @@ self: {
        ];
        testToolDepends = [ tasty-discover ];
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lift-generics" = callPackage
@@ -134598,8 +135603,8 @@ self: {
      }:
      mkDerivation {
        pname = "load-env";
-       version = "0.2.0.1";
-       sha256 = "1xkk72lfpb4fbnmm7wqxxl1v7jwk9b6da53i90k3dvypakl4gryb";
+       version = "0.2.0.2";
+       sha256 = "063zd2nbwbyndfy1hrir9x270f99wzbyarfj561r9dddak2754w1";
        libraryHaskellDepends = [ base directory filepath parsec ];
        testHaskellDepends = [
          base directory doctest hspec parsec temporary
@@ -138444,6 +139449,7 @@ self: {
        ];
        description = "Abstraction for HTML-embedded content";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "markup-preview" = callPackage
@@ -138665,6 +139671,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "massiv_0_2_2_0" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, data-default-class
+     , deepseq, ghc-prim, hspec, primitive, QuickCheck, safe-exceptions
+     , vector
+     }:
+     mkDerivation {
+       pname = "massiv";
+       version = "0.2.2.0";
+       sha256 = "1mw636d070icl2wanvgrr8k0a44fhzdmzkw3047442nvl3nyghbc";
+       libraryHaskellDepends = [
+         base bytestring data-default-class deepseq ghc-prim primitive
+         vector
+       ];
+       testHaskellDepends = [
+         base bytestring data-default deepseq hspec QuickCheck
+         safe-exceptions vector
+       ];
+       description = "Massiv (Массив) is an Array Library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "massiv-io" = callPackage
     ({ mkDerivation, base, bytestring, data-default, deepseq, directory
      , filepath, JuicyPixels, massiv, netpbm, process, vector
@@ -139037,22 +140065,21 @@ self: {
 
   "matrix-static" = callPackage
     ({ mkDerivation, base, deepseq, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, matrix, semigroups, tasty, tasty-hunit
-     , vector
+     , ghc-typelits-natnormalise, matrix, tasty, tasty-hunit, vector
      }:
      mkDerivation {
        pname = "matrix-static";
-       version = "0.1";
-       sha256 = "0l4p0ahlpgf39wjwrvr6ibxpj5b6kmyn2li6yjbddi0af137ii4q";
+       version = "0.2";
+       sha256 = "0g4vkzc6jw4sx2an86d20fv9b23jzly8dxsan7ygih1mp8rn5r07";
        libraryHaskellDepends = [
          base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         semigroups vector
+         vector
        ];
        testHaskellDepends = [
          base deepseq ghc-typelits-knownnat ghc-typelits-natnormalise matrix
-         semigroups tasty tasty-hunit vector
+         tasty tasty-hunit vector
        ];
-       description = "Wrapper around matrix that adds matrix sizes to the type-level";
+       description = "Type-safe matrix operations";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -141466,8 +142493,8 @@ self: {
      }:
      mkDerivation {
        pname = "milena";
-       version = "0.5.2.2";
-       sha256 = "0dag2r79wpq67ydd7blwha2jf8nd5311bxv3li3fm88m0kbqrni1";
+       version = "0.5.2.3";
+       sha256 = "0s3bxj6d3p0fng08da9y2qb8cl967lqhsqplhcwmaj3aai72rj5w";
        libraryHaskellDepends = [
          base bytestring cereal containers digest lens lifted-base
          monad-control mtl murmur-hash network random resource-pool
@@ -141938,6 +142965,7 @@ self: {
        ];
        description = "A Minisat-based CDCL SAT solver in Haskell";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mirror-tweet" = callPackage
@@ -143875,6 +144903,7 @@ self: {
        libraryHaskellDepends = [ base mtl stm ];
        description = "Overloading of concurrency variables";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "monadLib" = callPackage
@@ -144903,6 +145932,7 @@ self: {
        ];
        description = "General purpose migrations library";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "moto-postgresql" = callPackage
@@ -144918,6 +145948,7 @@ self: {
        ];
        description = "PostgreSQL-based migrations registry for moto";
        license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "motor" = callPackage
@@ -145108,6 +146139,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) mpg123;};
 
+  "mpi-hs" = callPackage
+    ({ mkDerivation, base, c2hs, criterion, monad-loops, openmpi, tasty
+     , tasty-hspec, tasty-hunit, unix
+     }:
+     mkDerivation {
+       pname = "mpi-hs";
+       version = "0.1.0.1";
+       sha256 = "19by906z7ccfai23dr61ckzcvv3ccd8l1slf21r7g07zlmjkdrvf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base ];
+       librarySystemDepends = [ openmpi ];
+       libraryToolDepends = [ c2hs ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base monad-loops tasty tasty-hspec tasty-hunit unix
+       ];
+       benchmarkHaskellDepends = [ base criterion ];
+       description = "MPI bindings for Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {inherit (pkgs) openmpi;};
+
   "mpppc" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, split, text }:
      mkDerivation {
@@ -149527,6 +150580,7 @@ self: {
        ];
        description = "WebSocket backend for MessagePack RPC";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "network-metrics" = callPackage
@@ -150375,8 +151429,8 @@ self: {
      }:
      mkDerivation {
        pname = "ngx-export";
-       version = "1.4.2";
-       sha256 = "10rfhx29b5l43i4fw7inp38i9a296gb0dsjs6jsm6g4d09pfjljs";
+       version = "1.5.0";
+       sha256 = "1lw1hf2xy86n6c8426zdvk1qbm43gsk5zxjrbfqcy28qlnvwcdpa";
        libraryHaskellDepends = [
          async base binary bytestring deepseq monad-loops template-haskell
          unix
@@ -150385,6 +151439,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ngx-export-tools" = callPackage
+    ({ mkDerivation, aeson, base, binary, bytestring, ngx-export, safe
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ngx-export-tools";
+       version = "0.1.2.0";
+       sha256 = "0vkcgj8y4jh63nwh0djxfjvkbpa66zpf32y5912lwj7xf6rm769q";
+       libraryHaskellDepends = [
+         aeson base binary bytestring ngx-export safe template-haskell
+       ];
+       description = "Extra tools for Nginx haskell module";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "niagra" = callPackage
     ({ mkDerivation, base, ghc-prim, HUnit, mtl, primitive, QuickCheck
      , text, transformers
@@ -151553,19 +152622,19 @@ self: {
      }) {};
 
   "nqe" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, conduit-extra
+    ({ mkDerivation, async, base, bytestring, conduit, conduit-extra
      , containers, exceptions, hashable, hspec, mtl, stm, stm-conduit
      , text, unique, unliftio
      }:
      mkDerivation {
        pname = "nqe";
-       version = "0.5.0";
-       sha256 = "0i5rp2nh4gr6isqvzkxmq31b7ycp2dhs885hn5ng6bc9q3nsjxly";
+       version = "0.6.1";
+       sha256 = "1l0dydhcqmgf6bamy29sgry8sjirvw3khzjkhpjlb12zl2y75xxd";
        libraryHaskellDepends = [
          base conduit containers hashable mtl stm unique unliftio
        ];
        testHaskellDepends = [
-         base bytestring conduit conduit-extra exceptions hspec stm
+         async base bytestring conduit conduit-extra exceptions hspec stm
          stm-conduit text unliftio
        ];
        description = "Concurrency library in the style of Erlang/OTP";
@@ -153899,10 +154968,8 @@ self: {
      }:
      mkDerivation {
        pname = "opensource";
-       version = "0.1.0.0";
-       sha256 = "09q1c9v27b7d482ccgv73fhvhk3jfq2fvxnrz6ywi3zvf37bcn9l";
-       revision = "1";
-       editedCabalFile = "02zb9m7d6fsjbqgwbjnkrpgqc93zm34bvzgasw903hhdkskshrp6";
+       version = "0.1.1.0";
+       sha256 = "10jlgk1rbpz5h1mbknq0i71k0n4ppp3yd498i7p2l79a9gi6pwqy";
        libraryHaskellDepends = [
          aeson base http-client http-client-tls text transformers
        ];
@@ -153956,8 +155023,8 @@ self: {
        pname = "openssl-streams";
        version = "1.2.1.3";
        sha256 = "0pwghr7ygv59k572xsj1j97rilkbjz66qaiyj0ra2wfg6pl70wfw";
-       revision = "1";
-       editedCabalFile = "0kvbb0sgli3h1yw229cllfrs2w1maapmvj1i472ywhpsgpz83362";
+       revision = "2";
+       editedCabalFile = "1004kgdryflpkp19dv4ikilhcn0xbfc5dsp6v3ib34580pcfj7wy";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL io-streams network
        ];
@@ -154637,6 +155704,7 @@ self: {
        ];
        description = "Orchestration-style co-ordination EDSL";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "orchestrate" = callPackage
@@ -154865,21 +155933,21 @@ self: {
 
   "orgmode-parse" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
-     , free, hashable, HUnit, neat-interpolation, old-locale, tasty
-     , tasty-hunit, text, thyme, unordered-containers
+     , free, hashable, HUnit, neat-interpolation, old-locale, semigroups
+     , tasty, tasty-hunit, text, thyme, unordered-containers
      }:
      mkDerivation {
        pname = "orgmode-parse";
-       version = "0.2.1";
-       sha256 = "1zpkj3f0gdi5ri39s7g532j2pgk5mgs97y2g1gj42q9aa5lm5hw5";
+       version = "0.2.2";
+       sha256 = "1f6wcxkln5ddaa2z7wbkp6wndgq38qv9h1wnn27gqcms02758v2r";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable
-         old-locale text thyme unordered-containers
+         old-locale semigroups text thyme unordered-containers
        ];
        testHaskellDepends = [
          aeson attoparsec base bytestring containers free hashable HUnit
-         neat-interpolation old-locale tasty tasty-hunit text thyme
-         unordered-containers
+         neat-interpolation old-locale semigroups tasty tasty-hunit text
+         thyme unordered-containers
        ];
        description = "A collection of Attoparsec combinators for parsing org-mode flavored documents";
        license = stdenv.lib.licenses.bsd3;
@@ -154887,27 +155955,27 @@ self: {
      }) {};
 
   "orgstat" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, boxes, bytestring, colour
-     , containers, data-default, diagrams-lib, diagrams-svg, directory
-     , exceptions, filepath, formatting, hashable, hspec, HUnit, lens
-     , linear, log-warper, mtl, optparse-simple, orgmode-parse
-     , QuickCheck, quickcheck-text, text, time, transformers, turtle
-     , universum, yaml
+    ({ mkDerivation, aeson, ansi-terminal, attoparsec, base, boxes
+     , bytestring, colour, containers, data-default, diagrams-lib
+     , diagrams-svg, directory, exceptions, filepath, fmt, formatting
+     , hashable, hspec, HUnit, lens, linear, mtl, optparse-simple
+     , orgmode-parse, QuickCheck, quickcheck-text, text, time
+     , transformers, turtle, universum, yaml
      }:
      mkDerivation {
        pname = "orgstat";
-       version = "0.1.4";
-       sha256 = "063iqrxcqj4mxlic934ksrl23alvpwr3q5k2w666sqc02nkmcv88";
+       version = "0.1.5";
+       sha256 = "00zkn7d45q9wbbpkygkz8fslals6z5d90hvg1jgna4vw87zqwkdz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base boxes bytestring colour containers
-         data-default diagrams-lib diagrams-svg directory exceptions
-         filepath formatting hashable lens linear log-warper mtl
+         aeson ansi-terminal attoparsec base boxes bytestring colour
+         containers data-default diagrams-lib diagrams-svg directory
+         exceptions filepath fmt formatting hashable lens linear mtl
          optparse-simple orgmode-parse text time turtle universum yaml
        ];
        executableHaskellDepends = [
-         base bytestring directory exceptions filepath formatting log-warper
+         base bytestring directory exceptions filepath formatting
          optparse-simple universum
        ];
        testHaskellDepends = [
@@ -155851,6 +156919,41 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "pandoc-citeproc_0_14_7" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
+     , Cabal, containers, data-default, directory, filepath, hs-bibutils
+     , mtl, old-locale, pandoc, pandoc-types, parsec, process, rfc5051
+     , setenv, split, syb, tagsoup, temporary, text, time
+     , unordered-containers, vector, xml-conduit, yaml
+     }:
+     mkDerivation {
+       pname = "pandoc-citeproc";
+       version = "0.14.7";
+       sha256 = "18r0pqv170yrsvgarj4xlpgmanydycqq9akxlnp1pkinqhs24iyd";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       setupHaskellDepends = [ base Cabal ];
+       libraryHaskellDepends = [
+         aeson base bytestring containers data-default directory filepath
+         hs-bibutils mtl old-locale pandoc pandoc-types parsec rfc5051
+         setenv split syb tagsoup text time unordered-containers vector
+         xml-conduit yaml
+       ];
+       executableHaskellDepends = [
+         aeson aeson-pretty attoparsec base bytestring filepath pandoc
+         pandoc-types syb text yaml
+       ];
+       testHaskellDepends = [
+         aeson base bytestring containers directory filepath mtl pandoc
+         pandoc-types process temporary text yaml
+       ];
+       doCheck = false;
+       description = "Supports using pandoc with citeproc";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "pandoc-citeproc-preamble" = callPackage
     ({ mkDerivation, base, directory, filepath, pandoc-types, process
      }:
@@ -156088,8 +157191,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-pyplot";
-       version = "1.0.0.1";
-       sha256 = "1sxksn2b7x1mrgla0c3dn5x9js0yhfg125259kh1iqzlkanj81px";
+       version = "1.0.2.0";
+       sha256 = "0q6qj45g8d95z86lqkwpxw7c929x7q68611602mp2ip31dib11xc";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -157040,8 +158143,8 @@ self: {
      }:
      mkDerivation {
        pname = "paripari";
-       version = "0.5.0.0";
-       sha256 = "0wk0b7vb3y2gs1sayd0sh5wa643q5vvc6s2cq9p1h8paxkhd3ypb";
+       version = "0.6.0.0";
+       sha256 = "1604py5ms14xhmvsxdqx56xfbs3g4wkhjd8f5gsmhpqwz7acy511";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -159450,6 +160553,38 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent_2_9_0" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , blaze-html, blaze-markup, bytestring, conduit, containers
+     , fast-logger, hspec, http-api-data, monad-control, monad-logger
+     , mtl, old-locale, path-pieces, resource-pool, resourcet
+     , scientific, silently, tagged, template-haskell, text, time
+     , transformers, unliftio-core, unordered-containers, vector, void
+     }:
+     mkDerivation {
+       pname = "persistent";
+       version = "2.9.0";
+       sha256 = "0qgjfydyhcyfr8mni0qjykn3jsh4r299yy2wqsl3rsd19bmmr1p7";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html blaze-markup
+         bytestring conduit containers fast-logger http-api-data
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific silently tagged template-haskell text time transformers
+         unliftio-core unordered-containers vector void
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base64-bytestring blaze-html bytestring
+         conduit containers fast-logger hspec http-api-data monad-control
+         monad-logger mtl old-locale path-pieces resource-pool resourcet
+         scientific tagged template-haskell text time transformers
+         unordered-containers vector
+       ];
+       description = "Type-safe, multi-backend data serialization";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-audit" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, bytestring
      , getopt-generics, hashable, hspec, mongoDB, persistent
@@ -159646,6 +160781,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "persistent-mysql_2_9_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-logger, mysql, mysql-simple, persistent
+     , resource-pool, resourcet, text, transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "persistent-mysql";
+       version = "2.9.0";
+       sha256 = "0aa1ia4r49vy5hfg59rbrfmfwdyaix0l32drdjnj9xxqbayifjzf";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit containers monad-logger
+         mysql mysql-simple persistent resource-pool resourcet text
+         transformers unliftio-core
+       ];
+       description = "Backend for the persistent library using MySQL database server";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-mysql-haskell" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, containers
      , io-streams, monad-logger, mysql-haskell, network, persistent
@@ -159725,6 +160879,29 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "persistent-postgresql_2_9_0" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
+     , containers, monad-logger, persistent, postgresql-libpq
+     , postgresql-simple, resource-pool, resourcet, text, time
+     , transformers, unliftio-core
+     }:
+     mkDerivation {
+       pname = "persistent-postgresql";
+       version = "2.9.0";
+       sha256 = "1rqlbdz7wwjl1d3xqp01sz5xnn8hff35hgkhx6c66lzrfyl9q0mx";
+       revision = "1";
+       editedCabalFile = "0xrnww7n6kwr2371fj5xklslbx0114yj3pxcpdzwalmin5wm8vah";
+       libraryHaskellDepends = [
+         aeson base blaze-builder bytestring conduit containers monad-logger
+         persistent postgresql-libpq postgresql-simple resource-pool
+         resourcet text time transformers unliftio-core
+       ];
+       description = "Backend for the persistent library using postgresql";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "persistent-protobuf" = callPackage
     ({ mkDerivation, base, bytestring, persistent, protocol-buffers
      , protocol-buffers-descriptor, template-haskell, text
@@ -159742,6 +160919,24 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "persistent-qq" = callPackage
+    ({ mkDerivation, base, haskell-src-meta, mtl, persistent
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "persistent-qq";
+       version = "2.9.0";
+       sha256 = "02dvsmlamfy93490qhb9qq25vq8wrqhzzza5q5shvak1n7wgjvh0";
+       revision = "1";
+       editedCabalFile = "15zkam90rfq33549kqpwyllrjpdvgkcpwnv16y6n439xd96vyyci";
+       libraryHaskellDepends = [
+         base haskell-src-meta mtl persistent template-haskell text
+       ];
+       description = "Provides a quasi-quoter for raw SQL for persistent";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistent-ratelimit" = callPackage
     ({ mkDerivation, base, time, yesod }:
      mkDerivation {
@@ -159871,6 +161066,35 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {inherit (pkgs) sqlite;};
 
+  "persistent-sqlite_2_9_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, conduit, containers
+     , hspec, microlens-th, monad-logger, old-locale, persistent
+     , persistent-template, resource-pool, resourcet, sqlite, temporary
+     , text, time, transformers, unliftio-core, unordered-containers
+     }:
+     mkDerivation {
+       pname = "persistent-sqlite";
+       version = "2.9.0";
+       sha256 = "0yn99m64p49x0bghpbnm77bk3ghk99w2w5d1772cmx15aq2d7w0y";
+       configureFlags = [ "-fsystemlib" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring conduit containers microlens-th monad-logger
+         old-locale persistent resource-pool resourcet text time
+         transformers unliftio-core unordered-containers
+       ];
+       librarySystemDepends = [ sqlite ];
+       testHaskellDepends = [
+         base hspec persistent persistent-template temporary text time
+         transformers
+       ];
+       description = "Backend for the persistent library using sqlite3";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {inherit (pkgs) sqlite;};
+
   "persistent-template" = callPackage
     ({ mkDerivation, aeson, aeson-compat, base, bytestring, containers
      , ghc-prim, hspec, http-api-data, monad-control, monad-logger
@@ -160583,6 +161807,17 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "physics" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "physics";
+       version = "0.1.2.1";
+       sha256 = "07ysi2xq73g29pv4c3zvwq9zf1yjl2aszb1zkim49n00f5bxfnqc";
+       libraryHaskellDepends = [ base ];
+       description = "dimensions, quantities and constants";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pi-calculus" = callPackage
     ({ mkDerivation, AES, base, binary, byteable, bytestring
      , containers, cryptohash, HTTP, io-streams, mtl, network, parsec
@@ -161106,6 +162341,8 @@ self: {
        pname = "pipes";
        version = "4.3.9";
        sha256 = "1jqs4x3xw2ya3834p36p1ycx8nxjgn2ypaibhdv97xcw3wsxlk2w";
+       revision = "1";
+       editedCabalFile = "0mkwbbn8vlrsvm3pl2cyaw1qr9hbjqfm831naj7cbrmiksf2l5aa";
        libraryHaskellDepends = [
          base exceptions mmorph mtl semigroups transformers void
        ];
@@ -162615,6 +163852,7 @@ self: {
        ];
        description = "run a subprocess, combining stdout and stderr";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "plist" = callPackage
@@ -164379,8 +165617,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-connector";
-       version = "0.2.6";
-       sha256 = "1nhsplb7s4k3y2450pr57fl39n1gjs2110vvr9v4pn0h6hwz1yl3";
+       version = "0.2.7";
+       sha256 = "1p5nqav8yxgj8knbrmfv1lgpflid338ka2a9xp3pixq0dwz7argk";
        libraryHaskellDepends = [
          base bytestring exceptions lens mtl postgresql-simple resource-pool
          resourcet time transformers-base
@@ -164561,6 +165799,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "postgresql-simple_0_6" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , bytestring, bytestring-builder, case-insensitive, containers
+     , cryptohash, filepath, hashable, HUnit, Only, postgresql-libpq
+     , scientific, tasty, tasty-golden, tasty-hunit, template-haskell
+     , text, time, transformers, uuid-types, vector
+     }:
+     mkDerivation {
+       pname = "postgresql-simple";
+       version = "0.6";
+       sha256 = "1jp08vg040p2qbgy2hldkac1qy1m2k1r6r67hh6dziw5ak1kjs69";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring bytestring-builder
+         case-insensitive containers hashable Only postgresql-libpq
+         scientific template-haskell text time transformers uuid-types
+         vector
+       ];
+       testHaskellDepends = [
+         aeson base base16-bytestring bytestring case-insensitive containers
+         cryptohash filepath HUnit tasty tasty-golden tasty-hunit text time
+         vector
+       ];
+       benchmarkHaskellDepends = [ base vector ];
+       description = "Mid-Level PostgreSQL client library";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "postgresql-simple-bind" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, data-default
      , exceptions, heredoc, hspec, postgresql-simple, template-haskell
@@ -164691,6 +165957,8 @@ self: {
        pname = "postgresql-simple-url";
        version = "0.2.1.0";
        sha256 = "1jg9gvpidrfy2hqixwqsym1l1mnkafmxwq58jpbzdmrbvryga1qk";
+       revision = "1";
+       editedCabalFile = "0ck0vrlsyj3vm8sk59jnyyqpvnv1l9mciifdnrzwr981pha147qp";
        libraryHaskellDepends = [
          base network-uri postgresql-simple split
        ];
@@ -164715,6 +165983,7 @@ self: {
        testHaskellDepends = [ rerebase ];
        description = "PostgreSQL SQL syntax utilities";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {pg_query = null;};
 
   "postgresql-transactional" = callPackage
@@ -165297,18 +166566,18 @@ self: {
     ({ mkDerivation, aeson, base, basic-prelude, exceptions
      , fast-logger, lens, lifted-base, monad-control, monad-logger
      , MonadRandom, mtl, network, resourcet, safe, template-haskell
-     , text, text-manipulate, time, transformers-base, unliftio-core
+     , text, text-manipulate, time, transformers-base
      , unordered-containers, uuid
      }:
      mkDerivation {
        pname = "preamble";
-       version = "0.0.64";
-       sha256 = "1h7px6kz2plp5fix7i0dviv0hg3nzq31pvwwayh4q747lh3xjwp4";
+       version = "0.0.65";
+       sha256 = "1i11d46rrnlsjipy74rb9yfq0d91lk7wjkiz4z9sl099pgmgc9lw";
        libraryHaskellDepends = [
          aeson base basic-prelude exceptions fast-logger lens lifted-base
          monad-control monad-logger MonadRandom mtl network resourcet safe
          template-haskell text text-manipulate time transformers-base
-         unliftio-core unordered-containers uuid
+         unordered-containers uuid
        ];
        description = "Yet another prelude";
        license = stdenv.lib.licenses.mit;
@@ -166156,6 +167425,8 @@ self: {
        pname = "prettyprinter-vty";
        version = "0.1.0.0";
        sha256 = "12nj0v9p5bjbhwmkknc2ybdw52m5hngnf7c53qfi3crbrx4maxrd";
+       revision = "1";
+       editedCabalFile = "120lhr6g3grsybq5bp0vg38cdb78dysq8nwa206ghzigaxs34vcd";
        libraryHaskellDepends = [ base prettyprinter vty ];
        description = "prettyprinter backend for vty";
        license = stdenv.lib.licenses.isc;
@@ -166401,13 +167672,18 @@ self: {
      }) {};
 
   "primitive-maybe" = callPackage
-    ({ mkDerivation, base, primitive }:
+    ({ mkDerivation, base, primitive, QuickCheck, quickcheck-classes
+     , tagged, tasty, tasty-quickcheck
+     }:
      mkDerivation {
        pname = "primitive-maybe";
-       version = "0.1.0";
-       sha256 = "0pxkgkwlpphk5x38f2jv9gl3n74l1spnfs15sb34hxgyggrz4k6j";
+       version = "0.1.1";
+       sha256 = "00p9xrvv32wcj3ln9z1dk31bb47r95y4w4ny4y28wl6vyc6vl0ln";
        libraryHaskellDepends = [ base primitive ];
-       testHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base primitive QuickCheck quickcheck-classes tagged tasty
+         tasty-quickcheck
+       ];
        description = "Arrays of Maybes";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -166671,6 +167947,7 @@ self: {
        ];
        description = "Convert colors to different color spaces, interpolate colors, and transform colors";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "probability" = callPackage
@@ -167862,15 +169139,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "proto-lens_0_4_0_0" = callPackage
+  "proto-lens_0_4_0_1" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, containers, deepseq
      , lens-family, lens-labels, parsec, pretty, text, transformers
      , void
      }:
      mkDerivation {
        pname = "proto-lens";
-       version = "0.4.0.0";
-       sha256 = "1yj86mnjc3509ad9g19fr9fdkblwfyilb5ydv1isn6xs7llq3c3r";
+       version = "0.4.0.1";
+       sha256 = "1ryz183ds1k28nvw6y1w84k29aq5mgrpv5yyqarj0g463gp137cm";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          attoparsec base bytestring containers deepseq lens-family
@@ -167896,14 +169173,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "proto-lens-arbitrary_0_1_2_3" = callPackage
+  "proto-lens-arbitrary_0_1_2_4" = callPackage
     ({ mkDerivation, base, bytestring, containers, lens-family
      , proto-lens, QuickCheck, text
      }:
      mkDerivation {
        pname = "proto-lens-arbitrary";
-       version = "0.1.2.3";
-       sha256 = "0ljr6iyqrdlfay0yd2j6q2wm5k79wnn4ay4kbmzmw2fdy0p73gyn";
+       version = "0.1.2.4";
+       sha256 = "0d17vkcv21qphs44ig5fdcvisxn20980m0lx693w52ikzsax5k4s";
        libraryHaskellDepends = [
          base bytestring containers lens-family proto-lens QuickCheck text
        ];
@@ -167934,15 +169211,15 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "proto-lens-combinators_0_4" = callPackage
+  "proto-lens-combinators_0_4_0_1" = callPackage
     ({ mkDerivation, base, Cabal, HUnit, lens-family, lens-family-core
      , proto-lens, proto-lens-runtime, proto-lens-setup, test-framework
      , test-framework-hunit, transformers
      }:
      mkDerivation {
        pname = "proto-lens-combinators";
-       version = "0.4";
-       sha256 = "1fc98ynjx0b9x4v56pzkf3h9y46a583aw3lf7l9ij4ck87y83q6b";
+       version = "0.4.0.1";
+       sha256 = "0dkd9jmmxf5r01di3q1r0qnyhkyxrjlnfxa40c2vq0fl16h68lkb";
        setupHaskellDepends = [ base Cabal proto-lens-setup ];
        libraryHaskellDepends = [
          base lens-family proto-lens transformers
@@ -167977,8 +169254,8 @@ self: {
     ({ mkDerivation, base, optparse-applicative, proto-lens, text }:
      mkDerivation {
        pname = "proto-lens-optparse";
-       version = "0.1.1.3";
-       sha256 = "0dciwsc1qa9iisym5702a0kjwfiikqgfijdzpf21q2aiffagkacd";
+       version = "0.1.1.4";
+       sha256 = "1dn5cjwbagcykh1fv99v6mmj7mlnl46nqlwpz1878fy7vl7i8lzh";
        libraryHaskellDepends = [
          base optparse-applicative proto-lens text
        ];
@@ -168021,14 +169298,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) protobuf;};
 
-  "proto-lens-protobuf-types_0_4_0_0" = callPackage
+  "proto-lens-protobuf-types_0_4_0_1" = callPackage
     ({ mkDerivation, base, Cabal, lens-labels, proto-lens
      , proto-lens-runtime, proto-lens-setup, protobuf, text
      }:
      mkDerivation {
        pname = "proto-lens-protobuf-types";
-       version = "0.4.0.0";
-       sha256 = "1h2ss8nn569g97cvq3lflgcc6sz3k9y3gx0ini69d1lrkccd8jmg";
+       version = "0.4.0.1";
+       sha256 = "091284pyp4b36hnvfjsrsg6zlgw1payzwfbsy66sgbbi285mwira";
        setupHaskellDepends = [ base Cabal proto-lens-setup ];
        libraryHaskellDepends = [
          base lens-labels proto-lens proto-lens-runtime text
@@ -168092,14 +169369,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {inherit (pkgs) protobuf;};
 
-  "proto-lens-protoc_0_4_0_0" = callPackage
+  "proto-lens-protoc_0_4_0_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, filepath
      , haskell-src-exts, lens-family, pretty, proto-lens, protobuf, text
      }:
      mkDerivation {
        pname = "proto-lens-protoc";
-       version = "0.4.0.0";
-       sha256 = "1w22278jjcyj9z4lwpkxws9v97maqrwacmd5d0pl8d2byh8jqry8";
+       version = "0.4.0.1";
+       sha256 = "1vigmy8aq65yaspgq803a4vxsq5v3zwlaq95yrf47zrvcx1lw3ni";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -168121,8 +169398,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-runtime";
-       version = "0.4.0.1";
-       sha256 = "0kyd2y4jhzb0isclk5gw98c4n49kjnl27rlywmajmbfwf2d6w4yc";
+       version = "0.4.0.2";
+       sha256 = "1k6biy5z890nn5b76sd3xr086sbrqr09rx1r2a7jxra2l2ymc4sr";
        libraryHaskellDepends = [
          base bytestring containers deepseq filepath lens-family lens-labels
          proto-lens text
@@ -168138,8 +169415,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-setup";
-       version = "0.4.0.0";
-       sha256 = "0j0a2jq9axq8v4h918lnrvjg0zyb0gvr5v3x9c6lajv8fb8bxmlf";
+       version = "0.4.0.1";
+       sha256 = "1x8lj5z2ih20757m0di0lg4kn3s3g90qpjpv5wkzj2xf097cwqjp";
        libraryHaskellDepends = [
          base bytestring Cabal containers deepseq directory filepath process
          proto-lens-protoc temporary text
@@ -168333,6 +169610,24 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "protolude_0_2_3" = callPackage
+    ({ mkDerivation, array, async, base, bytestring, containers
+     , deepseq, ghc-prim, hashable, mtl, mtl-compat, stm, text
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "protolude";
+       version = "0.2.3";
+       sha256 = "0zzkyxz0vmcbncpid7gp72fpjj0fla3gqhlfkij5c5lg12skjgfj";
+       libraryHaskellDepends = [
+         array async base bytestring containers deepseq ghc-prim hashable
+         mtl mtl-compat stm text transformers transformers-compat
+       ];
+       description = "A small prelude";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protolude-lifted" = callPackage
     ({ mkDerivation, async, base, lifted-async, lifted-base, protolude
      }:
@@ -171763,6 +173058,8 @@ self: {
        pname = "random-bytestring";
        version = "0.1.3.1";
        sha256 = "1d0f3y8n87fyyvlkn1c87d47xi50qn4cn11bnsn052860kyjda1k";
+       revision = "1";
+       editedCabalFile = "0gk5hcx1j06rklfd2cv63kh5dzjk8hr184riam784c7s9zg3s9a4";
        libraryHaskellDepends = [ base bytestring mwc-random pcg-random ];
        benchmarkHaskellDepends = [
          async base bytestring criterion cryptonite entropy ghc-prim
@@ -172442,10 +173739,8 @@ self: {
      }:
      mkDerivation {
        pname = "rasterific-svg";
-       version = "0.3.3.1";
-       sha256 = "110ivmmgajv232hyg9pc30lzg3l72q8ykyp1zrjs3k5n309ymdfn";
-       revision = "1";
-       editedCabalFile = "0mhg2k786zx1cmblijnz73cf12h1s5grmkc0wb63612hnxxz53i7";
+       version = "0.3.3.2";
+       sha256 = "1i0pl1hin1ipi3l0074ywd1khacpbvz3x0frx0j0hmbfiv4n3nq2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174480,8 +175775,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom-fragment-shader-canvas";
-       version = "0.1.0.1";
-       sha256 = "17b023xjz29n673q4a5bd9r5bj8hb7b1q6ms6qppmwdimk3glz4z";
+       version = "0.2";
+       sha256 = "08ayk3y22mmgrpd03128h60wmg698d0c1cxack9akm636hp83y7z";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176847,6 +178142,7 @@ self: {
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "reroute" = callPackage
@@ -177119,8 +178415,8 @@ self: {
      }:
      mkDerivation {
        pname = "resourcet";
-       version = "1.2.1";
-       sha256 = "0rzjzh34s36ssign7akqjnwnjxf11c3511wk7ky0xxy0dqmc2rg7";
+       version = "1.2.2";
+       sha256 = "1rfbfcv3r1h29y0yqr3x6a1s04lbc3vzm3jqnfg4f9rqp9d448qk";
        libraryHaskellDepends = [
          base containers exceptions mtl primitive transformers unliftio-core
        ];
@@ -177915,6 +179211,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rfc5051_0_1_0_4" = callPackage
+    ({ mkDerivation, base, bytestring, containers }:
+     mkDerivation {
+       pname = "rfc5051";
+       version = "0.1.0.4";
+       sha256 = "1lxkq414ni986ciml4gbvf463fn55z299knky7pq3ixb1qislpb1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring containers ];
+       description = "Simple unicode collation as per RFC5051";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rgb-color-model" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -177971,6 +179281,7 @@ self: {
        executableHaskellDepends = [ base ];
        description = "Gloss backend for Rhine";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rhythm-game-tutorial" = callPackage
@@ -178717,18 +180028,18 @@ self: {
      }) {inherit (pkgs) rocksdb;};
 
   "rocksdb-query" = callPackage
-    ({ mkDerivation, base, bytestring, cereal, conduit, hspec
-     , resourcet, rocksdb-haskell, unliftio
+    ({ mkDerivation, base, bytestring, cereal, conduit, data-default
+     , hspec, resourcet, rocksdb-haskell, unliftio
      }:
      mkDerivation {
        pname = "rocksdb-query";
-       version = "0.1.4";
-       sha256 = "1qk3l9plpid6i9xb1im3xkvsjvj3mk74wgxv9bpd3c3d8x83gwhb";
+       version = "0.2.0";
+       sha256 = "01n2zlbpldhx8rxvq89i9hsp99dvlhm6s4rwlygxd3y989an8bcf";
        libraryHaskellDepends = [
          base bytestring cereal conduit resourcet rocksdb-haskell unliftio
        ];
        testHaskellDepends = [
-         base cereal hspec rocksdb-haskell unliftio
+         base cereal data-default hspec rocksdb-haskell unliftio
        ];
        description = "RocksDB database querying library for Haskell";
        license = stdenv.lib.licenses.publicDomain;
@@ -179215,6 +180526,8 @@ self: {
        pname = "roundtrip";
        version = "0.2.0.5";
        sha256 = "10b57yfcnsgrkx4djgiinnyh46hwbysskmlh27bajp82p91v7xfa";
+       revision = "1";
+       editedCabalFile = "1kxlgbgwlrln9pal7yq4i487yy6jyf04s6fpb63w7z16anxly4bs";
        libraryHaskellDepends = [
          base containers pretty safe template-haskell text xml-types
        ];
@@ -179230,8 +180543,8 @@ self: {
      }:
      mkDerivation {
        pname = "roundtrip-aeson";
-       version = "0.2.0.0";
-       sha256 = "0m96447l2m0y4aapil077xpnzlkjla0yp2bzajfijik9gkjbiih4";
+       version = "0.3.0.2";
+       sha256 = "0qlsmmcidiagjyb3kfp1hplkkzpibgxw31j7cxhma3l2gs2yal6f";
        libraryHaskellDepends = [
          aeson base bytestring containers lens lens-aeson roundtrip
          scientific text unordered-containers vector
@@ -180139,8 +181452,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "safe-coerce";
-       version = "0.1.0.0";
-       sha256 = "0qv4a6p547cnyvchnjrya8paq39gqpnbska9v5l64lqn3a28yk8p";
+       version = "0.2.0.0";
+       sha256 = "059mn68pj57dvjzmv3vypv0askx02f4hlalbzsr34cn2h7ndw6df";
        libraryHaskellDepends = [ base ];
        description = "A friendly shorthand for an old friend";
        license = stdenv.lib.licenses.bsd3;
@@ -180704,8 +182017,8 @@ self: {
      }:
      mkDerivation {
        pname = "saltine";
-       version = "0.1.0.1";
-       sha256 = "05m3w0xibnhk3whzp7rzn2y2hv9f2i8pyvjnmzsxwbs8ws30cac5";
+       version = "0.1.0.2";
+       sha256 = "0253m8n6s39fnr8wz1z240kaizw3chfm1fgwp51dgqgk0nwrv67x";
        libraryHaskellDepends = [ base bytestring profunctors ];
        libraryPkgconfigDepends = [ libsodium ];
        testHaskellDepends = [
@@ -183082,21 +184395,21 @@ self: {
 
   "secp256k1-haskell" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, cereal
-     , entropy, hspec, hspec-discover, HUnit, mtl, QuickCheck, secp256k1
-     , string-conversions
+     , entropy, hashable, hspec, hspec-discover, HUnit, mtl, QuickCheck
+     , secp256k1, string-conversions
      }:
      mkDerivation {
        pname = "secp256k1-haskell";
-       version = "0.1.2";
-       sha256 = "1kap1jjhqqmp8f067z9z8dw39gswn37bkj5j3byyvv4cn077ihva";
+       version = "0.1.3";
+       sha256 = "0wdxz8vmk5yfhjrwpynk1zpmvgl1rnwz7zvkx7g7pxxvz3z8rpbz";
        libraryHaskellDepends = [
-         base base16-bytestring bytestring cereal entropy QuickCheck
-         string-conversions
+         base base16-bytestring bytestring cereal entropy hashable
+         QuickCheck string-conversions
        ];
        librarySystemDepends = [ secp256k1 ];
        testHaskellDepends = [
-         base base16-bytestring bytestring cereal entropy hspec HUnit mtl
-         QuickCheck string-conversions
+         base base16-bytestring bytestring cereal entropy hashable hspec
+         HUnit mtl QuickCheck string-conversions
        ];
        testToolDepends = [ hspec-discover ];
        description = "Bindings for secp256k1 library from Bitcoin Core";
@@ -183634,6 +184947,8 @@ self: {
        pname = "semiring-num";
        version = "1.6.0.1";
        sha256 = "1l9j59r0ph34fqkjw1gdf3yzyzk8p6362cznixzx6qnhphbkqjsi";
+       revision = "1";
+       editedCabalFile = "123jk59i4ziv6ghmy8349icpvzgw90xjd6dxzlnayf0qg01adzsr";
        libraryHaskellDepends = [
          base containers deepseq hashable log-domain scientific
          template-haskell time unordered-containers vector
@@ -184152,34 +185467,29 @@ self: {
      }) {};
 
   "serialise" = callPackage
-    ({ mkDerivation, aeson, array, base, base16-bytestring
-     , base64-bytestring, binary, bytestring, cborg, cereal
-     , cereal-vector, containers, criterion, deepseq, directory
+    ({ mkDerivation, aeson, array, base, binary, bytestring, cborg
+     , cereal, cereal-vector, containers, criterion, deepseq, directory
      , filepath, ghc-prim, half, hashable, pretty, primitive, QuickCheck
-     , quickcheck-instances, scientific, store, tar, tasty, tasty-hunit
+     , quickcheck-instances, semigroups, store, tar, tasty, tasty-hunit
      , tasty-quickcheck, text, time, unordered-containers, vector, zlib
      }:
      mkDerivation {
        pname = "serialise";
-       version = "0.2.0.0";
-       sha256 = "1iqkawxy946dhldam30cc1k9h4g2w4cp34fg57ln9k7507mvcns0";
-       revision = "2";
-       editedCabalFile = "1wvqzrbf80ry5xc2s9va24024gfgwi6xj1yvm7578f7mq0k1zqvf";
+       version = "0.2.1.0";
+       sha256 = "19ary6ivzk8z7wcxhm860qmh7pwqj0qjqzav1h42y85l608zqgh4";
        libraryHaskellDepends = [
          array base bytestring cborg containers ghc-prim half hashable
          primitive text time unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson array base base16-bytestring base64-bytestring binary
-         bytestring cborg containers deepseq directory filepath ghc-prim
-         half hashable primitive QuickCheck quickcheck-instances scientific
-         tasty tasty-hunit tasty-quickcheck text time unordered-containers
-         vector
+         base bytestring cborg containers directory filepath primitive
+         QuickCheck quickcheck-instances tasty tasty-hunit tasty-quickcheck
+         text time unordered-containers vector
        ];
        benchmarkHaskellDepends = [
          aeson array base binary bytestring cborg cereal cereal-vector
          containers criterion deepseq directory filepath ghc-prim half
-         pretty store tar text time vector zlib
+         pretty semigroups store tar text time vector zlib
        ];
        description = "A binary serialisation library for Haskell values";
        license = stdenv.lib.licenses.bsd3;
@@ -184316,6 +185626,8 @@ self: {
        pname = "servant";
        version = "0.14.1";
        sha256 = "083layvq76llq3y49k27cdqzxka6mjgw541jhzndxx4avlcjzym7";
+       revision = "1";
+       editedCabalFile = "1n9lwm77w0xi6jzqrhyn6akf71z140wngj4s5x2zkndq8wmg4rg4";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring case-insensitive
@@ -184809,8 +186121,8 @@ self: {
        pname = "servant-client";
        version = "0.14";
        sha256 = "0jr2057y7vp6d2jcnisawkajinnqm68h024crh929r9fdka0p1n6";
-       revision = "1";
-       editedCabalFile = "1ywyb3mycpfcvv7dfgd72ajnkqr8cyiyp84hsfxcfvppq8cigmms";
+       revision = "2";
+       editedCabalFile = "087ja0xbwm1yg38i5pc26fxsjx4pfdcgqmw0h1lvf0z1alz8rq05";
        libraryHaskellDepends = [
          base base-compat bytestring containers exceptions http-client
          http-media http-types monad-control mtl semigroupoids
@@ -184839,6 +186151,8 @@ self: {
        pname = "servant-client-core";
        version = "0.14.1";
        sha256 = "0qfpakwl6yj6l2br9wa9zs0v7nzmj4bngspw6p536swx39npnkn2";
+       revision = "1";
+       editedCabalFile = "04xr6zpslw7pyzxp22qd8k2w9azc3pds5gplnwni12waqahf410i";
        libraryHaskellDepends = [
          base base-compat base64-bytestring bytestring containers exceptions
          free generics-sop http-api-data http-media http-types network-uri
@@ -184941,8 +186255,8 @@ self: {
        pname = "servant-docs";
        version = "0.11.2";
        sha256 = "1x6lvpvlm1lh51y2pmldrjdjjrs5qnq44m2abczr75fjjy6hla3b";
-       revision = "5";
-       editedCabalFile = "10b463waaa75aawjdag52yjv2bhkpnp3xygb39zyifpaf6iix100";
+       revision = "6";
+       editedCabalFile = "0w9yi4rmfq4irmnia9rl9pb66ix086ic9nd0grspnk54ib7970cl";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185092,8 +186406,8 @@ self: {
        pname = "servant-foreign";
        version = "0.11.1";
        sha256 = "01cq938b4szvnapf8c4ir8j09aq25jwgnp3jbfxnja027c1v3735";
-       revision = "3";
-       editedCabalFile = "1ln18qi2bb9xfk3phydci5r2x0mf6dbgc9lc8k8qpx08bkid65x4";
+       revision = "4";
+       editedCabalFile = "1alal6ps1lwl8yd2vwkpmkn4a69blr1ws2cba7mc7a2w63lg1pyz";
        libraryHaskellDepends = [
          base base-compat http-types lens servant text
        ];
@@ -185109,8 +186423,8 @@ self: {
        pname = "servant-generate";
        version = "0.1";
        sha256 = "0i71d95yfrlj5m5wr8ksxq8nkvwbsj81d4qm3j24pcgf6a32rrcw";
-       revision = "2";
-       editedCabalFile = "00y5ji53sz59wys4nk2xcdpggydvkkqdxnm0aqj5raxzmakqnraq";
+       revision = "3";
+       editedCabalFile = "11hmn45fsl78kq6lladgz29yjycmr7lxmkswc8f41zbcb4m8rzyk";
        libraryHaskellDepends = [ base servant servant-server ];
        description = "Utilities for generating mock server implementations";
        license = stdenv.lib.licenses.bsd3;
@@ -185279,8 +186593,8 @@ self: {
        pname = "servant-js";
        version = "0.9.3.2";
        sha256 = "1p37520x85rg7rnhazby0x6qas2sh5d79gygmaa5f7jalhkyrq02";
-       revision = "2";
-       editedCabalFile = "1mz21yf77nzfb30hlqncyx3jwr50ab7qh0m0cv8pds6s76s6k9sj";
+       revision = "3";
+       editedCabalFile = "0j5kmqzhkyb1wmvyxz0r20473myzp9bqcdgjbi8i4k1lfvcjsigq";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185382,8 +186696,8 @@ self: {
        pname = "servant-mock";
        version = "0.8.4";
        sha256 = "1705fw63lrzw79w1ypcdlf35d8qxx247q8isiqh28wzmc4j3kmnr";
-       revision = "2";
-       editedCabalFile = "0brnvssfcg105kkkj646wih8apnhd5gvy25c576i93x0nxb0n39j";
+       revision = "3";
+       editedCabalFile = "13sbgnzr0yfrbrbvzc6v66lxrgvg3pb7h9alvmg77kmm95gmx8mm";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -185776,6 +187090,8 @@ self: {
        pname = "servant-server";
        version = "0.14.1";
        sha256 = "1fnxmy6k0ml11035ac4x2knvpraxpc0g076wx3a9k013xyqi0h02";
+       revision = "1";
+       editedCabalFile = "028vqbmqkc9gjsk34n74ssi0xfn085v26zdvpixgfi5yd7cvfg03";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -186040,6 +187356,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger_1_1_6" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , Cabal, cabal-doctest, directory, doctest, filepath, hspec
+     , hspec-discover, http-media, insert-ordered-containers, lens
+     , QuickCheck, servant, singleton-bool, swagger2, template-haskell
+     , text, time, unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "servant-swagger";
+       version = "1.1.6";
+       sha256 = "1gx61328ciprc6ps8xzawfj483s28h5z21zmqczqqh3wfvc8h77w";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring hspec http-media
+         insert-ordered-containers lens QuickCheck servant singleton-bool
+         swagger2 text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base base-compat directory doctest filepath hspec lens
+         QuickCheck servant swagger2 template-haskell text time utf8-string
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "Generate Swagger specification for your servant API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui" = callPackage
     ({ mkDerivation, base, bytestring, file-embed-lzma, servant
      , servant-server, servant-swagger-ui-core, swagger2, text
@@ -186058,6 +187401,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui_0_3_2_3_19_3" = callPackage
+    ({ mkDerivation, base, bytestring, file-embed-lzma, servant
+     , servant-server, servant-swagger-ui-core, swagger2, text
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui";
+       version = "0.3.2.3.19.3";
+       sha256 = "0s2y6fhm26gzs344ig86nh6d1sy2dxfqpwpgz6c2dcg65jcbbpc7";
+       libraryHaskellDepends = [
+         base bytestring file-embed-lzma servant servant-server
+         servant-swagger-ui-core swagger2 text
+       ];
+       description = "Servant swagger ui";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-core" = callPackage
     ({ mkDerivation, base, blaze-markup, bytestring, http-media
      , servant, servant-blaze, servant-server, swagger2, text
@@ -186078,16 +187438,33 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-swagger-ui-core_0_3_2" = callPackage
+    ({ mkDerivation, base, blaze-markup, bytestring, http-media
+     , servant, servant-blaze, servant-server, swagger2, text
+     , transformers, transformers-compat, wai-app-static
+     }:
+     mkDerivation {
+       pname = "servant-swagger-ui-core";
+       version = "0.3.2";
+       sha256 = "1a1wk90vm6mq8byxz4syr03l1rf6qj8zhda7lnp23pn5d270xkd2";
+       libraryHaskellDepends = [
+         base blaze-markup bytestring http-media servant servant-blaze
+         servant-server swagger2 text transformers transformers-compat
+         wai-app-static
+       ];
+       description = "Servant swagger ui core components";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-swagger-ui-jensoleg" = callPackage
     ({ mkDerivation, base, bytestring, file-embed-lzma, servant
      , servant-server, servant-swagger-ui-core, swagger2, text
      }:
      mkDerivation {
        pname = "servant-swagger-ui-jensoleg";
-       version = "0.3";
-       sha256 = "1ymw2lkfn0bkmddvpmv0ikv45fqac2zidnli8bfyp92jf0b5dnik";
-       revision = "2";
-       editedCabalFile = "1rghdc3gbwcrp2iz8xaw82y48asbb84fxj574p38pwsb3lwfxrw4";
+       version = "0.3.2";
+       sha256 = "1ybkwa6dyi9v1rcqd0gzl1hqkinkmsqwz0ang0cmsa6d8ym3zmii";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -186102,10 +187479,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui-redoc";
-       version = "0.3.0.1.21.2";
-       sha256 = "1p3mq7m5hvid7g7jwpf2jz923512wlprh6gikq5x2vcb14d40qwl";
-       revision = "2";
-       editedCabalFile = "0am6kh3r8av69n5778rr84k92xifi9gfgsrpfnw2vs9krq94gph8";
+       version = "0.3.2.1.22.2";
+       sha256 = "0d4r6rp48lkgd4903hfja14mlar1h17hrb4fhq05p3wga7kik6g0";
        libraryHaskellDepends = [
          base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core swagger2 text
@@ -186190,8 +187565,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "011jxvr2i65bf0kmdn0sxkqgfz628a0sfhzphr1rqsmh8sqdj5y9";
-       revision = "21";
-       editedCabalFile = "1xrlhbgh54ny4xiqcdbka7i86wkyyqndwwv3r3k47xdr5683iyc1";
+       revision = "22";
+       editedCabalFile = "1mi52j2c7960k0qmxqd7238yxgbccb0xgfj3ahh0zfckficn9bk7";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -186676,8 +188051,8 @@ self: {
     ({ mkDerivation, base, containers, deepseq }:
      mkDerivation {
        pname = "set-monad";
-       version = "0.2.0.0";
-       sha256 = "1nxgn8d0qff4s66gcvfrnxjh0aq5q5jk0s453km28457qh946azb";
+       version = "0.3.0.0";
+       sha256 = "0iv1mphhhqla4bbr2lhy6zj8bp963jlcxqkib2nnl7vyw1ya1cd1";
        libraryHaskellDepends = [ base containers deepseq ];
        description = "Set monad";
        license = stdenv.lib.licenses.bsd3;
@@ -187225,6 +188600,39 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "shake_0_17" = callPackage
+    ({ mkDerivation, base, binary, bytestring, deepseq, directory
+     , extra, filepath, hashable, heaps, js-flot, js-jquery, primitive
+     , process, QuickCheck, random, time, transformers, unix
+     , unordered-containers, utf8-string
+     }:
+     mkDerivation {
+       pname = "shake";
+       version = "0.17";
+       sha256 = "18nlnxd8vad5vs4399lz1875dvapmk4fimpz3sp4b6z590d68rs1";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         base binary bytestring deepseq directory extra filepath hashable
+         heaps js-flot js-jquery primitive process random time transformers
+         unix unordered-containers utf8-string
+       ];
+       executableHaskellDepends = [
+         base binary bytestring deepseq directory extra filepath hashable
+         heaps js-flot js-jquery primitive process random time transformers
+         unix unordered-containers utf8-string
+       ];
+       testHaskellDepends = [
+         base binary bytestring deepseq directory extra filepath hashable
+         heaps js-flot js-jquery primitive process QuickCheck random time
+         transformers unix unordered-containers utf8-string
+       ];
+       description = "Build system library, like Make, but more accurate dependencies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "shake-ats" = callPackage
     ({ mkDerivation, base, binary, dependency, directory, hs2ats
      , language-ats, microlens, shake, shake-c, shake-cabal, shake-ext
@@ -187465,8 +188873,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakers";
-       version = "0.0.49";
-       sha256 = "0zhysqnr5vbmj04ippyipyqpml2zx3av3d5ikprdwksrsjhfgbp3";
+       version = "0.0.50";
+       sha256 = "0n1cr2bn2ar0iifjzmg714wa55r5dr0q8ygrs0lrdvanbg9s0ml6";
        libraryHaskellDepends = [
          base basic-prelude directory lifted-base shake
        ];
@@ -187499,6 +188907,32 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ psibi ];
      }) {};
 
+  "shakespeare_2_0_19" = callPackage
+    ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
+     , containers, directory, exceptions, ghc-prim, hspec, HUnit, parsec
+     , process, scientific, template-haskell, text, time, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "shakespeare";
+       version = "2.0.19";
+       sha256 = "0h1nmdpizw4bvpkxlnrwq02r3wnk01z4jqid12hp30bi577yqd5l";
+       libraryHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim parsec process scientific template-haskell text
+         time transformers unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson base blaze-html blaze-markup bytestring containers directory
+         exceptions ghc-prim hspec HUnit parsec process template-haskell
+         text time transformers
+       ];
+       description = "A toolkit for making compile-time interpolated templates";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+       maintainers = with stdenv.lib.maintainers; [ psibi ];
+     }) {};
+
   "shakespeare-babel" = callPackage
     ({ mkDerivation, base, classy-prelude, data-default, directory
      , process, shakespeare, template-haskell
@@ -187852,10 +189286,8 @@ self: {
     ({ mkDerivation, base, containers, text, unix }:
      mkDerivation {
        pname = "shell-monad";
-       version = "0.6.4";
-       sha256 = "1wmihv2x4pbz9bkrjyyh4hqwsdmlldmyi5jlgxx6ry6z3jyx9i13";
-       revision = "1";
-       editedCabalFile = "0hm3nlr9a3n18f7y0pnw4q4x3s8y1jxz9mify7hplpj2fq23wpdm";
+       version = "0.6.5";
+       sha256 = "0vg2g65km3i963scyj7fn17g562wg0mh88syxqrf7favnljid1bk";
        libraryHaskellDepends = [ base containers text unix ];
        description = "shell monad";
        license = stdenv.lib.licenses.bsd3;
@@ -189001,8 +190433,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-log";
-       version = "0.9.7";
-       sha256 = "018rzapbmkkfhqzwdv2vgj4wbqi4wn2bgml0kd3khq3p06mhpnc5";
+       version = "0.9.8";
+       sha256 = "1yn2nnvmzfw4v7bi6jchsd8y27vpd8m4in0shydyyglpjmaq751k";
        libraryHaskellDepends = [
          async base base-unicode-symbols containers data-default deepseq
          directory exceptions filepath hformat microlens microlens-platform
@@ -189043,8 +190475,8 @@ self: {
      }:
      mkDerivation {
        pname = "simple-logging";
-       version = "0.2.0.4";
-       sha256 = "13f6562rhk5bb5b2rmn0zsw2pil6qis463kx9d684j2m0qnqifdm";
+       version = "0.2.0.5";
+       sha256 = "1xli7ypsqbqv0yx58z0g7fbg5i83rkwwgv65hlx5cpfip4ks3qnn";
        libraryHaskellDepends = [
          aeson base bytestring directory exceptions filepath hscolour
          iso8601-time lens mtl simple-effects string-conv text time uuid
@@ -189953,11 +191385,29 @@ self: {
        pname = "size-based";
        version = "0.1.1.0";
        sha256 = "1z6w3qdx34c6y4gbs0b9zshn5al55lxzc7mfyywm91vcwi361xki";
+       revision = "1";
+       editedCabalFile = "1rw9ddw1vyv9k47p0d79qbvngym005fmz00hqrg3p1rq2vlfjdv2";
+       libraryHaskellDepends = [
+         base dictionary-sharing template-haskell testing-type-modifiers
+       ];
+       description = "Sized functors, for size-based enumerations";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "size-based_0_1_2_0" = callPackage
+    ({ mkDerivation, base, dictionary-sharing, template-haskell
+     , testing-type-modifiers
+     }:
+     mkDerivation {
+       pname = "size-based";
+       version = "0.1.2.0";
+       sha256 = "06hmlic0n73ncwlkpx49xlv09bzsrr27ncnp5byhzlknak2gd7vp";
        libraryHaskellDepends = [
          base dictionary-sharing template-haskell testing-type-modifiers
        ];
        description = "Sized functors, for size-based enumerations";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sized" = callPackage
@@ -190199,6 +191649,8 @@ self: {
        pname = "skews";
        version = "0.1.0.1";
        sha256 = "03dn42hj50g4if1biln8m9rzf54iccqivkdciw06yrvx7q64hi5m";
+       revision = "1";
+       editedCabalFile = "0zvqfr9dfcap3ljpkq5hq95npmhrmndlh0gs4pa2zm8bwrh1nl66";
        libraryHaskellDepends = [ base bytestring deque websockets ];
        testHaskellDepends = [
          async base bytestring deque envy hspec network websockets
@@ -190266,8 +191718,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.7.3";
-       sha256 = "1pwawhfl2w9d06sv44lxa5hvh4lz9d5l0n8j7zjm08jibl30fc8g";
+       version = "0.7.4";
+       sha256 = "0w1cv21rm4ssmr2zbn7bamlfc2pkswxg5plvqzrf7rs4h1y43672";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -190290,8 +191742,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting-core";
-       version = "0.7.3";
-       sha256 = "0qk2g86b0avd24q7hbkdjj0l2r5ma7kbzf3cj4sjwmh7wmx0ss7c";
+       version = "0.7.4";
+       sha256 = "1awddq9cn5gyafz97ir21rncq97k2gzfxijn2xmxw35qhr2kbfl0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -190434,6 +191886,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "slack-web_0_2_0_7" = callPackage
+    ({ mkDerivation, aeson, base, containers, errors, hspec
+     , http-api-data, http-client, http-client-tls, megaparsec, mtl
+     , servant, servant-client, servant-client-core, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "slack-web";
+       version = "0.2.0.7";
+       sha256 = "1jd8ca2d4bhq08ddqv87bnj2wqad89cqmsawvffl8mqki3hrca9x";
+       libraryHaskellDepends = [
+         aeson base containers errors http-api-data http-client
+         http-client-tls megaparsec mtl servant servant-client
+         servant-client-core text time transformers
+       ];
+       testHaskellDepends = [
+         aeson base containers errors hspec http-api-data megaparsec text
+         time
+       ];
+       description = "Bindings for the Slack web API";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "slate" = callPackage
     ({ mkDerivation, base, directory, filepath, htoml
      , optparse-applicative, process, string-conversions
@@ -191347,8 +192823,8 @@ self: {
        pname = "snap-core";
        version = "1.0.3.2";
        sha256 = "136q7l4hd5yn5hb507q1ziqx124ma1lkzh5dx0n150p8dx3rhhsc";
-       revision = "1";
-       editedCabalFile = "08ll71h3rv9bppr7xrflg4y627vnmxgfhby1kli9cj0a7ryspam1";
+       revision = "2";
+       editedCabalFile = "0m0rjsgv0lkd0y9ragn478ibw98c9iys4mrj26x8ihasdnzgkqxq";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -191551,8 +193027,8 @@ self: {
        pname = "snap-server";
        version = "1.1.0.0";
        sha256 = "0vvw9n8xs272qdlrf3dxhnva41zh3awi7pf022rrjj75lj8a77i4";
-       revision = "1";
-       editedCabalFile = "1lyx51zr1cmjyvsfplxpzv87agvvv83v3ww8m01fdh7x31np1chc";
+       revision = "2";
+       editedCabalFile = "03jmxbz9bf0yr3vzf3xa7ajbz3q9i6cn7bzqan4vy5f26c0n6xld";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -192566,12 +194042,12 @@ self: {
      }) {};
 
   "snipcheck" = callPackage
-    ({ mkDerivation, base, containers, pandoc, process }:
+    ({ mkDerivation, base, containers, pandoc, process, text }:
      mkDerivation {
        pname = "snipcheck";
-       version = "0.1.0.2";
-       sha256 = "15n6dwkkbr7yh1xvl0xj1kba5s3qy4s8zq01px552fm1qqa8wdzk";
-       libraryHaskellDepends = [ base containers pandoc process ];
+       version = "0.1.0.3";
+       sha256 = "1x9jjfznvzz9pa4n54q6xja0axifnlgbp9aw93hvcr4w8f94gfp0";
+       libraryHaskellDepends = [ base containers pandoc process text ];
        description = "Markdown tester";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -194459,48 +195935,47 @@ self: {
      }) {};
 
   "sprinkles" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, array, base, bytestring
-     , Cabal, case-insensitive, cereal, classy-prelude, containers, curl
-     , data-default, directory, filepath, ginger, Glob, hashable, HDBC
+    ({ mkDerivation, aeson, aeson-pretty, array, async, base
+     , base64-bytestring, bcrypt, bytestring, Cabal, case-insensitive
+     , cereal, containers, css-syntax, curl, data-default, directory
+     , extra, file-embed, filepath, ginger, Glob, hashable, HDBC
      , HDBC-mysql, HDBC-postgresql, HDBC-sqlite3, heredoc, hsyslog, HTTP
-     , http-types, memcached-binary, mime-types, mtl, network-uri
-     , pandoc, pandoc-creole, pandoc-types, parsec, process
-     , random-shuffle, regex-base, regex-pcre, safe, scientific
-     , system-locale, tasty, tasty-hunit, tasty-quickcheck
+     , http-types, lens, memcache, mime-types, mtl, network-uri, nonce
+     , pandoc, pandoc-types, parsec, process, random, random-shuffle
+     , regex-base, regex-pcre, safe, scientific, SHA, split, stm
+     , system-locale, tagsoup, tasty, tasty-hunit, tasty-quickcheck
      , template-haskell, temporary, text, time, transformers
-     , unix-compat, unordered-containers, utf8-string, vector, wai
-     , wai-extra, wai-handler-fastcgi, warp, yaml
+     , unix-compat, unix-time, unordered-containers, utf8-string, vector
+     , wai, wai-extra, wai-handler-fastcgi, warp, yaml, yeshql-hdbc
      }:
      mkDerivation {
        pname = "sprinkles";
-       version = "0.3.5.0";
-       sha256 = "1xsq4rxslz53ki9ivjs7chfyqnrdy6q1yn1sb1bf4bcd09255rxn";
+       version = "0.6.0.0";
+       sha256 = "0kc4zg3brys6w7ccih74k4drsrahkbr66islgv1kjqpbkjfh5bk7";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty array base bytestring Cabal case-insensitive
-         cereal classy-prelude containers curl data-default directory
-         filepath ginger Glob hashable HDBC HDBC-mysql HDBC-postgresql
-         HDBC-sqlite3 hsyslog HTTP http-types memcached-binary mime-types
-         mtl network-uri pandoc pandoc-creole pandoc-types parsec process
-         random-shuffle regex-base regex-pcre safe scientific system-locale
-         template-haskell text time transformers unix-compat
-         unordered-containers utf8-string vector wai wai-extra
-         wai-handler-fastcgi warp yaml
+         aeson aeson-pretty array base base64-bytestring bcrypt bytestring
+         Cabal case-insensitive cereal containers css-syntax curl
+         data-default directory extra file-embed filepath ginger Glob
+         hashable HDBC HDBC-mysql HDBC-postgresql HDBC-sqlite3 heredoc
+         hsyslog HTTP http-types lens memcache mime-types mtl network-uri
+         nonce pandoc pandoc-types parsec process random random-shuffle
+         regex-base regex-pcre safe scientific SHA split stm system-locale
+         tagsoup template-haskell text time transformers unix-compat
+         unix-time unordered-containers utf8-string vector wai wai-extra
+         wai-handler-fastcgi warp yaml yeshql-hdbc
        ];
        executableHaskellDepends = [
-         base classy-prelude data-default parsec safe
+         async base data-default parsec safe text
        ];
        testHaskellDepends = [
-         base classy-prelude data-default directory filepath heredoc
-         regex-base regex-pcre tasty tasty-hunit tasty-quickcheck temporary
-         wai-extra
+         base data-default directory filepath heredoc regex-base regex-pcre
+         tasty tasty-hunit tasty-quickcheck temporary wai-extra
        ];
        description = "JSON API to HTML website wrapper";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
-       broken = true;
-     }) {pandoc-creole = null;};
+     }) {};
 
   "spritz" = callPackage
     ({ mkDerivation, base, lens, mtl, vector }:
@@ -195392,11 +196867,11 @@ self: {
      , Cabal, conduit, conduit-extra, containers, cryptonite
      , cryptonite-conduit, deepseq, directory, echo, exceptions, extra
      , file-embed, filelock, filepath, fsnotify, generic-deriving
-     , gitrev, hackage-security, hashable, hpack, hpc, hspec
-     , http-client, http-client-tls, http-conduit, http-types, memory
-     , microlens, mintty, monad-logger, mono-traversable, mtl, mustache
+     , hackage-security, hashable, hpack, hpc, hspec, http-client
+     , http-client-tls, http-conduit, http-types, memory, microlens
+     , mintty, monad-logger, mono-traversable, mtl, mustache
      , neat-interpolation, network-uri, open-browser
-     , optparse-applicative, optparse-simple, path, path-io, persistent
+     , optparse-applicative, path, path-io, persistent
      , persistent-sqlite, persistent-template, pretty, primitive
      , process, project-template, QuickCheck, regex-applicative-text
      , resourcet, retry, rio, semigroups, smallcheck, split, stm, store
@@ -195407,10 +196882,14 @@ self: {
      }:
      mkDerivation {
        pname = "stack";
-       version = "1.7.1";
-       sha256 = "17rjc9fz1hn56jz4bnhhm50h5x71r69jizlw6dx7kfvm57hg5i0r";
-       revision = "10";
-       editedCabalFile = "1985lm9m6pm9mi4h4m2nrn9v2rnnfh14slcnqgyxy6k934xqvg35";
+       version = "1.9.1";
+       sha256 = "0s4n7as8zfs1k1ay0h5rzw6r3q1fhf5fa9w7xrzh4a4p1k09ldhk";
+       revision = "2";
+       editedCabalFile = "0vl61spx2jmq2hzjvvw7a270s3lhg1m7faxlxpd4zkyabpwba9ky";
+       configureFlags = [
+         "-fdisable-git-info" "-fhide-dependency-versions"
+         "-fsupported-build"
+       ];
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal filepath ];
@@ -195436,15 +196915,15 @@ self: {
          base64-bytestring bindings-uname bytestring Cabal conduit
          conduit-extra containers cryptonite cryptonite-conduit deepseq
          directory echo exceptions extra file-embed filelock filepath
-         fsnotify generic-deriving gitrev hackage-security hashable hpack
-         hpc http-client http-client-tls http-conduit http-types memory
+         fsnotify generic-deriving hackage-security hashable hpack hpc
+         http-client http-client-tls http-conduit http-types memory
          microlens mintty monad-logger mono-traversable mtl mustache
          neat-interpolation network-uri open-browser optparse-applicative
-         optparse-simple path path-io persistent persistent-sqlite
-         persistent-template pretty primitive process project-template
-         regex-applicative-text resourcet retry rio semigroups split stm
-         store store-core streaming-commons tar template-haskell temporary
-         text text-metrics th-reify-many time tls transformers typed-process
+         path path-io persistent persistent-sqlite persistent-template
+         pretty primitive process project-template regex-applicative-text
+         resourcet retry rio semigroups split stm store store-core
+         streaming-commons tar template-haskell temporary text text-metrics
+         th-reify-many time tls transformers typed-process
          unicode-transforms unix unix-compat unliftio unordered-containers
          vector yaml zip-archive zlib
        ];
@@ -196365,8 +197844,8 @@ self: {
        pname = "statestack";
        version = "0.2.0.5";
        sha256 = "0rjzx9iy5mx5igir6gvslznnx3gpxlb1xy1n8h4cn54cn3wxrspl";
-       revision = "2";
-       editedCabalFile = "0c10cv107ls0wm7gs3gvknd8a1gqvrkk97frn8lp1ch697mz44rp";
+       revision = "3";
+       editedCabalFile = "0s9v88gcc5wnfj4c6xq86asadmh4y8z8ycv2wz5nwfwfazfgzcy3";
        libraryHaskellDepends = [
          base mtl transformers transformers-compat
        ];
@@ -196496,8 +197975,8 @@ self: {
      }:
      mkDerivation {
        pname = "static-text";
-       version = "0.2.0.2";
-       sha256 = "04sbf0zydgf18ajb20wd8wfbw4gdjmxx3f4h62w0qmafgvrr8w5c";
+       version = "0.2.0.3";
+       sha256 = "189x85skhzms3iydzh4gd5hmklx7ps2skzymls514drg8cz7m7ar";
        libraryHaskellDepends = [
          base bytestring template-haskell text vector
        ];
@@ -196549,6 +198028,34 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
+  "statistics_0_15_0_0" = callPackage
+    ({ mkDerivation, aeson, base, base-orphans, binary
+     , data-default-class, deepseq, dense-linear-algebra, erf, HUnit
+     , ieee754, math-functions, monad-par, mwc-random, primitive
+     , QuickCheck, test-framework, test-framework-hunit
+     , test-framework-quickcheck2, vector, vector-algorithms
+     , vector-binary-instances, vector-th-unbox
+     }:
+     mkDerivation {
+       pname = "statistics";
+       version = "0.15.0.0";
+       sha256 = "0wk4pv4fjpqq49vf8zanb9801lbgcbbfhhvlpp3ka6p8jmfc9scm";
+       libraryHaskellDepends = [
+         aeson base base-orphans binary data-default-class deepseq
+         dense-linear-algebra math-functions monad-par mwc-random primitive
+         vector vector-algorithms vector-binary-instances vector-th-unbox
+       ];
+       testHaskellDepends = [
+         aeson base binary dense-linear-algebra erf HUnit ieee754
+         math-functions mwc-random primitive QuickCheck test-framework
+         test-framework-hunit test-framework-quickcheck2 vector
+         vector-algorithms
+       ];
+       description = "A library of statistical types, data, and functions";
+       license = stdenv.lib.licenses.bsd2;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "statistics-dirichlet" = callPackage
     ({ mkDerivation, base, deepseq, hmatrix-special
      , nonlinear-optimization, vector
@@ -198139,6 +199646,7 @@ self: {
        ];
        description = "online streaming fft";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-histogram" = callPackage
@@ -198523,10 +200031,8 @@ self: {
     ({ mkDerivation, base, deepseq }:
      mkDerivation {
        pname = "strict-concurrency";
-       version = "0.2.4.2";
-       sha256 = "0vzqhd0sqcs2ci3zw7rm3ydmc9brl2sdc8k3jq47kd9l878xanmz";
-       revision = "1";
-       editedCabalFile = "12m1jbf01d4k7w1wiqcpdsbhlxi6ssbz9nx0ax2mrjjq2l0011ny";
+       version = "0.2.4.3";
+       sha256 = "1h2nk5fn6gclzkwn5mbkb7gcqisms8y5m3kr64hd9lska3n39n82";
        libraryHaskellDepends = [ base deepseq ];
        description = "Strict concurrency abstractions";
        license = stdenv.lib.licenses.bsd3;
@@ -198913,6 +200419,8 @@ self: {
        pname = "stringsearch";
        version = "0.3.6.6";
        sha256 = "0jpy9xjcjdbpi3wk6mg7xwd7wfi2mma70p97v1ij5i8bj9qijpr9";
+       revision = "1";
+       editedCabalFile = "0z5pz5dccapz9k39r2zmf056m0x2m2lj3jahhnw3mfxlmps07378";
        libraryHaskellDepends = [ array base bytestring containers ];
        description = "Fast searching, splitting and replacing of ByteStrings";
        license = stdenv.lib.licenses.bsd3;
@@ -199160,8 +200668,8 @@ self: {
      }:
      mkDerivation {
        pname = "structured-cli";
-       version = "0.9.4.1";
-       sha256 = "15dyr7a122d43ddkadn6syy356yccp0gk087bw5slv80isgp95zi";
+       version = "2.0.0.1";
+       sha256 = "1xgf49pd1dm80qp1h14f2nyqv71axrijrd8k66jmmqkczf24jah2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -199306,18 +200814,19 @@ self: {
 
   "stutter" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, conduit
-     , conduit-combinators, conduit-extra, mtl, optparse-applicative
-     , resourcet, snipcheck, tasty, tasty-ant-xml, tasty-hunit, text
+     , conduit-combinators, conduit-extra, exceptions, mtl
+     , optparse-applicative, resourcet, snipcheck, tasty, tasty-ant-xml
+     , tasty-hunit, text
      }:
      mkDerivation {
        pname = "stutter";
-       version = "0.1.0.1";
-       sha256 = "1s3bwwylbf7mcjzpnl8681aaw92q8kcyp074gns5cazsi0slfzl4";
+       version = "0.1.0.2";
+       sha256 = "1cha46fnx9balwkvwcc5b7irq410mr357rqvw85g91vv8ww209sj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          attoparsec base bytestring conduit conduit-combinators
-         conduit-extra mtl resourcet text
+         conduit-extra exceptions mtl resourcet text
        ];
        executableHaskellDepends = [
          attoparsec base conduit conduit-combinators optparse-applicative
@@ -199739,6 +201248,7 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "Tool for creating completely configured production Haskell projects";
        license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "sump" = callPackage
@@ -200251,6 +201761,8 @@ self: {
        pname = "svg-builder";
        version = "0.1.1";
        sha256 = "1k420f497lzkymmxin88ql6ib8dziic43avykv31yq65rgrf7l2g";
+       revision = "1";
+       editedCabalFile = "1bhp9gvid2iis411k1vvyj5krzc4ahxcqcd9cwx9h37jxg180xw1";
        libraryHaskellDepends = [
          base blaze-builder bytestring hashable text unordered-containers
        ];
@@ -200281,8 +201793,8 @@ self: {
      }:
      mkDerivation {
        pname = "svg-tree";
-       version = "0.6.2.2";
-       sha256 = "1iva5vb76z2laygvlh31zbhhcfzympk9s765499j7p356ycl0s1s";
+       version = "0.6.2.3";
+       sha256 = "0snvv2l7fpj7nl1sxnpxz5h2xpskjxxl0l2c7bqkwhcj7571br99";
        libraryHaskellDepends = [
          attoparsec base bytestring containers JuicyPixels lens linear mtl
          scientific text transformers vector xml
@@ -200510,19 +202022,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "swagger2_2_3" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, base-compat-batteries
-     , bytestring, Cabal, cabal-doctest, containers, doctest
-     , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
-     , HUnit, insert-ordered-containers, lens, mtl, network, QuickCheck
+  "swagger2_2_3_0_1" = callPackage
+    ({ mkDerivation, aeson, base, base-compat-batteries, bytestring
+     , Cabal, cabal-doctest, containers, doctest, generics-sop, Glob
+     , hashable, hspec, hspec-discover, http-media, HUnit
+     , insert-ordered-containers, lens, mtl, network, QuickCheck
      , quickcheck-instances, scientific, template-haskell, text, time
      , transformers, transformers-compat, unordered-containers
-     , uuid-types, vector
+     , utf8-string, uuid-types, vector
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.3";
-       sha256 = "0r1bkx667727h4wvcq1l6295c78s24s6qk9p62jdiafq3844bwm3";
+       version = "2.3.0.1";
+       sha256 = "1l8piv2phl8kq3rgna8wld80b569vazqk2ll1rgs5iakm42lxr1f";
+       revision = "1";
+       editedCabalFile = "12w7bsld9wp2nm61vwdwb6ndjd3g99i0g4hjr32mrycmf41yvs1a";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base base-compat-batteries bytestring containers generics-sop
@@ -200531,10 +202045,10 @@ self: {
          transformers-compat unordered-containers uuid-types vector
        ];
        testHaskellDepends = [
-         aeson aeson-qq base base-compat-batteries bytestring containers
-         doctest Glob hashable hspec HUnit insert-ordered-containers lens
-         mtl QuickCheck quickcheck-instances text time unordered-containers
-         vector
+         aeson base base-compat-batteries bytestring containers doctest Glob
+         hashable hspec HUnit insert-ordered-containers lens mtl QuickCheck
+         quickcheck-instances template-haskell text time
+         unordered-containers utf8-string vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "Swagger 2.0 data model";
@@ -203093,8 +204607,8 @@ self: {
      }:
      mkDerivation {
        pname = "tasty";
-       version = "1.1.0.3";
-       sha256 = "14riid753hjqr6lca1kgxpnvq0wykf0k3qc5jpag42hh8bszav22";
+       version = "1.1.0.4";
+       sha256 = "1gzf1gqi5p78m8rc21g9a8glc69r68igxr9n4qn4bs6wqyi3ykiv";
        libraryHaskellDepends = [
          ansi-terminal async base clock containers mtl optparse-applicative
          stm tagged unbounded-delays unix wcwidth
@@ -205611,6 +207125,8 @@ self: {
        pname = "texrunner";
        version = "0.0.1.2";
        sha256 = "1fxyxwgvn0rxhkl1fs2msr88jqwx5wwfnjsjlcankrwcn7gyk7jy";
+       revision = "1";
+       editedCabalFile = "137bbyxrrg9yn1060aqkamdk1mb7x12nwndradwp57057ix79fp4";
        libraryHaskellDepends = [
          attoparsec base bytestring directory filepath io-streams mtl
          process semigroups temporary
@@ -207294,8 +208810,8 @@ self: {
      }:
      mkDerivation {
        pname = "themoviedb";
-       version = "1.1.4.0";
-       sha256 = "0sx59hi3cv5b71x6gdm8vpj5hchw52vndhksnshblndm8kgxnfa6";
+       version = "1.1.5.0";
+       sha256 = "05za904yimkf9vpkksyxw6j488xyd0wigjdkj25hf2xx4nw36j0v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -207674,8 +209190,8 @@ self: {
      }:
      mkDerivation {
        pname = "threepenny-gui";
-       version = "0.8.2.4";
-       sha256 = "0fy8mwg4h78c7h1k6igc9i8k5r7avj59jkljbg47wlr0x8fs06yb";
+       version = "0.8.3.0";
+       sha256 = "173aacscvf2llk6n5nnxvww22673cg2hclkb3s18av3xk03b4qf6";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -207835,6 +209351,7 @@ self: {
        testToolDepends = [ tasty-discover ];
        description = "throwable-exceptions gives the easy way to throw exceptions";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "thumbnail" = callPackage
@@ -209893,10 +211410,11 @@ self: {
      }:
      mkDerivation {
        pname = "toodles";
-       version = "0.1.0.0";
-       sha256 = "0hbmnyym6hrwvacc783hl7s26yqbw8vcify4vna0mmp8y67rwjfx";
+       version = "0.1.0.9";
+       sha256 = "01gjxd4pclilm19iw7nkr23pmyavd7d9k0wa1c63hwhdzm1591f7";
        isLibrary = false;
        isExecutable = true;
+       enableSeparateDataOutput = true;
        executableHaskellDepends = [
          aeson base blaze-html bytestring cmdargs directory filepath
          http-types megaparsec MissingH regex-posix servant servant-blaze
@@ -210039,12 +211557,12 @@ self: {
      }) {};
 
   "total-map" = callPackage
-    ({ mkDerivation, base, containers }:
+    ({ mkDerivation, base, containers, semiring-num }:
      mkDerivation {
        pname = "total-map";
-       version = "0.0.7";
-       sha256 = "0chcnvsn3bzjmmp2bq6kxli1c73d477i49jbvnmqwz56an84ink1";
-       libraryHaskellDepends = [ base containers ];
+       version = "0.0.8";
+       sha256 = "0qzlpcczj5nh786070qp5ln1l8j5qbzdx7dmx08lmc69gf6dwf4i";
+       libraryHaskellDepends = [ base containers semiring-num ];
        description = "Finitely represented /total/ maps";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -210942,6 +212460,7 @@ self: {
        ];
        description = "Type safe http requests";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "trasa-reflex" = callPackage
@@ -213813,8 +215332,8 @@ self: {
      }:
      mkDerivation {
        pname = "typesafe-precure";
-       version = "0.7.0.1";
-       sha256 = "1v8kzhjyxznj9xj4x5n34ybhzy5nmldsscawnmcaqf96f4w0i178";
+       version = "0.7.1.1";
+       sha256 = "1csg945w81qqa5fipj9fyzqy1f2n6blf55cjcqg7gm1k1jln768k";
        libraryHaskellDepends = [
          aeson aeson-pretty autoexporter base bytestring dlist
          monad-skeleton template-haskell text th-data-compat
@@ -213857,6 +215376,33 @@ self: {
        license = "GPL";
      }) {};
 
+  "typograffiti" = callPackage
+    ({ mkDerivation, base, bytestring, containers, filepath, freetype2
+     , gl, linear, mtl, pretty-show, sdl2, stm, template-haskell, vector
+     }:
+     mkDerivation {
+       pname = "typograffiti";
+       version = "0.1.0.0";
+       sha256 = "0wd7p6hyn0v8rkvcpbqyjarhv47hi1r3fjzmrldfkylfwnhzj0lf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring containers freetype2 gl linear mtl pretty-show stm
+         template-haskell vector
+       ];
+       executableHaskellDepends = [
+         base bytestring containers filepath freetype2 gl linear mtl
+         pretty-show sdl2 stm template-haskell vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers freetype2 gl linear mtl pretty-show stm
+         template-haskell vector
+       ];
+       description = "Display TTF fonts in OpenGL. Includes caching for fast rendering.";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "typography-geometry" = callPackage
     ({ mkDerivation, base, containers, parallel, polynomials-bernstein
      , vector
@@ -213929,6 +215475,8 @@ self: {
        pname = "tzdata";
        version = "0.1.20180501.0";
        sha256 = "0nnzvkm6r7cq4g14zjxzgxx63sy8pxkg2whfgq6knpzhgran9n45";
+       revision = "1";
+       editedCabalFile = "19iqfzmh8xvd3cqlr1lp673232gk59z335xqbv18d4yy5qxc2fj0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base bytestring containers deepseq vector
@@ -214399,8 +215947,8 @@ self: {
      }:
      mkDerivation {
        pname = "unbound";
-       version = "0.5.1";
-       sha256 = "0cjfd6fdxpi94dac5aslgfggm81fdspbywfyl5m20ah5drgpsr12";
+       version = "0.5.1.1";
+       sha256 = "1pr06iii1pm6dkdm4rxc4cr817p5iri877573p06kj53w1xk5scj";
        libraryHaskellDepends = [
          base binary containers mtl RepLib transformers
        ];
@@ -214586,6 +216134,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "unfix-binders" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "unfix-binders";
+       version = "0.1.0";
+       sha256 = "0aw4ihkzwz220pgg84p47zp37i5dqn7cxqcqa2lfzi23y9sp5iss";
+       libraryHaskellDepends = [ base ];
+       description = "Unfixing and recursion schemes for data types with binders";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unfoldable" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, one-liner, QuickCheck
      , random, transformers
@@ -214952,6 +216512,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "union_0_1_2" = callPackage
+    ({ mkDerivation, base, criterion, deepseq, hashable, lens
+     , profunctors, tagged, vinyl
+     }:
+     mkDerivation {
+       pname = "union";
+       version = "0.1.2";
+       sha256 = "1i4fvlwkw1wx64a6l8342aqfqsdq7fqa4p24g3i5gn5704lxrsb3";
+       libraryHaskellDepends = [
+         base deepseq hashable profunctors tagged vinyl
+       ];
+       benchmarkHaskellDepends = [ base criterion deepseq lens ];
+       description = "Extensible type-safe unions";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "union-find" = callPackage
     ({ mkDerivation, base, containers, transformers }:
      mkDerivation {
@@ -215193,8 +216770,8 @@ self: {
      }:
      mkDerivation {
        pname = "units-parser";
-       version = "0.1.1.2";
-       sha256 = "06kmrqswlivsas183jswsnqi21rmdh6cqw392b3ycj2x5avghqqa";
+       version = "0.1.1.3";
+       sha256 = "0lyy8nh86b0nq2znkli8y1zcg87l6acaaxi8b1m6falb6xnfi0nw";
        libraryHaskellDepends = [ base containers mtl multimap parsec ];
        testHaskellDepends = [
          base containers mtl multimap parsec syb tasty tasty-hunit
@@ -216273,6 +217850,7 @@ self: {
        libraryHaskellDepends = [ base parsec safe utf8-string ];
        description = "Library for working with URIs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "uri-bytestring" = callPackage
@@ -216285,8 +217863,8 @@ self: {
      }:
      mkDerivation {
        pname = "uri-bytestring";
-       version = "0.3.2.0";
-       sha256 = "1q04j5ybvk37zk2m0bkjwyhblz0ymdj0cn4rvsvdca1ikn5xdv5c";
+       version = "0.3.2.1";
+       sha256 = "1z61l4l8sg8vyrf7cri0awj5pnpzly8gp7dw9j26v9pcs6z1dgb4";
        libraryHaskellDepends = [
          attoparsec base blaze-builder bytestring containers
          template-haskell th-lift-instances
@@ -216566,6 +218144,7 @@ self: {
        ];
        description = "Painfully simple URL deployment";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "urlpath_9_0_0_1" = callPackage
@@ -217591,6 +219170,8 @@ self: {
        pname = "validation";
        version = "1";
        sha256 = "08drmdvyzg2frbb26icy1mlz52xv0l6gi3v8gb7xp0vrcci5libh";
+       revision = "1";
+       editedCabalFile = "1x1g4nannz81j1h64l1m3ancc96zc57d1bjhj1wk7bwn1xxbi5h3";
        libraryHaskellDepends = [
          base bifunctors deepseq lens semigroupoids semigroups
        ];
@@ -218337,14 +219918,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vector-algorithms_0_8_0_0" = callPackage
+  "vector-algorithms_0_8_0_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, mwc-random
      , primitive, QuickCheck, vector
      }:
      mkDerivation {
        pname = "vector-algorithms";
-       version = "0.8.0.0";
-       sha256 = "1czili52fsjfz2d19c4v6p1qw8jya4gcqsfan1njiydrzplw18np";
+       version = "0.8.0.1";
+       sha256 = "1zip8r7hh5g12xrjvhbg38z6hfxy7l6h6pl88qcqc0ygdmwdxg0m";
        libraryHaskellDepends = [ base bytestring primitive vector ];
        testHaskellDepends = [
          base bytestring containers QuickCheck vector
@@ -218496,6 +220077,7 @@ self: {
        ];
        description = "Utilities for the \"vector\" library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "vector-fftw" = callPackage
@@ -218664,8 +220246,8 @@ self: {
     ({ mkDerivation, base, containers, doctest, vector-space }:
      mkDerivation {
        pname = "vector-space-map";
-       version = "0.2.0";
-       sha256 = "092lr61hi8sm0i4302r7zy2s08b4d97k5hyrbnkvnyhfi1529v6f";
+       version = "0.2.1.1";
+       sha256 = "1sg5jgk0kll0jbi66m70ymr085hgvz4kcbvcbn9427w1imbnjfdq";
        libraryHaskellDepends = [ base containers vector-space ];
        testHaskellDepends = [ base doctest ];
        description = "vector-space operations for finite maps using Data.Map";
@@ -219171,8 +220753,8 @@ self: {
      }:
      mkDerivation {
        pname = "vimeta";
-       version = "0.2.4.0";
-       sha256 = "1pa1l1rirj19cnvdaqkf5jscsfkfyam60yk3gqiypbpd102zas6d";
+       version = "0.2.5.0";
+       sha256 = "03ykd8pz7wn9dcj78zgq15ip04g8b4b7945g6fj5a7bfz0y9asbf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -219540,6 +221122,20 @@ self: {
        license = "GPL";
      }) {};
 
+  "vivid-osc_0_4_0_0" = callPackage
+    ({ mkDerivation, base, binary, bytestring, cereal, microspec, time
+     }:
+     mkDerivation {
+       pname = "vivid-osc";
+       version = "0.4.0.0";
+       sha256 = "10wbl11xwkahjsnvy14ysvkbylh615x7i8v4hwrji81rfy2bs29n";
+       libraryHaskellDepends = [ base binary bytestring cereal time ];
+       testHaskellDepends = [ base bytestring cereal microspec time ];
+       description = "Open Sound Control encode/decode";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vivid-supercollider" = callPackage
     ({ mkDerivation, base, binary, bytestring, cereal, microspec
      , QuickCheck, split, utf8-string, vivid-osc
@@ -219781,7 +221377,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "vty_5_24" = callPackage
+  "vty_5_25" = callPackage
     ({ mkDerivation, base, blaze-builder, bytestring, Cabal, containers
      , deepseq, directory, filepath, hashable, HUnit, microlens
      , microlens-mtl, microlens-th, mtl, parallel, parsec, QuickCheck
@@ -219792,8 +221388,8 @@ self: {
      }:
      mkDerivation {
        pname = "vty";
-       version = "5.24";
-       sha256 = "177yj12cgvmiq62z7kdkqbhmr98awyi3njp1xsbdr3p81k5arwrw";
+       version = "5.25";
+       sha256 = "1m37q8l4ynnhyln1hkwxrmgysslb5d6nvnvx667q4q004dhrcr91";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -221106,21 +222702,23 @@ self: {
      }) {};
 
   "wai-middleware-throttle" = callPackage
-    ({ mkDerivation, base, bytestring, bytestring-builder, containers
-     , hashable, hspec, http-types, HUnit, mtl, network, QuickCheck, stm
-     , text, token-bucket, transformers, wai, wai-extra
+    ({ mkDerivation, base, bytestring, bytestring-builder, cache, clock
+     , containers, hashable, hspec, http-types, HUnit, mtl, network
+     , QuickCheck, safe-exceptions, stm, text, token-bucket
+     , transformers, wai, wai-extra
      }:
      mkDerivation {
        pname = "wai-middleware-throttle";
-       version = "0.2.2.1";
-       sha256 = "1z4n7ja5kq7cl2117w8wx0kz3fjdzr3mlvx6m76jbgp0504vjgja";
+       version = "0.3.0.0";
+       sha256 = "16qhfqc0f5ahz2qc04a4by6iw1agxzcf14aqqkf1arf0hknvbvvv";
        libraryHaskellDepends = [
-         base bytestring bytestring-builder containers hashable http-types
-         mtl network stm text token-bucket transformers wai
+         base bytestring bytestring-builder cache clock containers hashable
+         http-types mtl network safe-exceptions stm text token-bucket
+         transformers wai
        ];
        testHaskellDepends = [
-         base bytestring hspec http-types HUnit QuickCheck stm transformers
-         wai wai-extra
+         base bytestring cache clock hspec http-types HUnit QuickCheck stm
+         transformers wai wai-extra
        ];
        description = "WAI Middleware for Request Throttling";
        license = stdenv.lib.licenses.bsd3;
@@ -221832,8 +223430,8 @@ self: {
      }:
      mkDerivation {
        pname = "warped";
-       version = "0.0.7";
-       sha256 = "04090z3sz551q604kkpaqwy2i0wsnzbqrnanvkw0wg3nikh9a3s6";
+       version = "0.0.8";
+       sha256 = "13s9z1vlgi29rb4ay5d508snh982gp04vclv6y4fsga2gia4sbhz";
        libraryHaskellDepends = [
          aeson base blaze-builder conduit http-types lifted-async
          monad-control preamble uuid wai wai-conduit wai-cors warp
@@ -221971,8 +223569,8 @@ self: {
      }:
      mkDerivation {
        pname = "wavefront";
-       version = "0.7.1.2";
-       sha256 = "047hdcvrkh4xwyp8i18w45qx7nhd59iii34nrh6ih9k77l6rr4qj";
+       version = "0.7.1.3";
+       sha256 = "1sly9gxq06n4x262fav0zvfzhgnxca1xwh4q7b4lq6g3gpwld9s5";
        libraryHaskellDepends = [
          attoparsec base dlist filepath mtl text transformers vector
        ];
@@ -222059,6 +223657,7 @@ self: {
        libraryHaskellDepends = [ base containers ];
        description = "Mutable bag backed by weak pointers to each item";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "weather-api" = callPackage
@@ -222154,6 +223753,7 @@ self: {
        testHaskellDepends = [ base bytestring HUnit network-uri text ];
        description = "Composable, reversible, efficient web routing using invertible invariants and bijections";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "web-mongrel2" = callPackage
@@ -224870,6 +226470,7 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ws-chans" = callPackage
@@ -224959,6 +226560,8 @@ self: {
        pname = "wss-client";
        version = "0.2.1.1";
        sha256 = "1wgqd8hh22ld72c1ccfr191ydqb5fija6c1l0vbg7n8pldhmi92w";
+       revision = "1";
+       editedCabalFile = "03q6mpdy93y8kjmjcxpjasg6q1mg64az28z99gm2w2iih3mqa702";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -227586,6 +229189,7 @@ self: {
        testHaskellDepends = [ base bytestring hspec ];
        description = "A strongly typed IRC library";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "yall" = callPackage
@@ -227797,7 +229401,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "yaml_0_10_2_0" = callPackage
+  "yaml_0_11_0_0" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
      , conduit, containers, directory, filepath, hspec, HUnit, libyaml
      , mockery, mtl, raw-strings-qq, resourcet, scientific
@@ -227806,27 +229410,26 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.10.2.0";
-       sha256 = "0yklc3fz18h9gawp00ff2qhmymh2g25dsf08si935rjd1wadhf23";
+       version = "0.11.0.0";
+       sha256 = "1gr72lb3zan7g9pxqzxn3zxcbnrkc0vapm2dvp1mdlm4576ncr76";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson attoparsec base bytestring conduit containers directory
-         filepath mtl resourcet scientific template-haskell text
+         filepath libyaml mtl resourcet scientific template-haskell text
          transformers unordered-containers vector
        ];
-       librarySystemDepends = [ libyaml ];
        testHaskellDepends = [
          aeson attoparsec base base-compat bytestring conduit containers
-         directory filepath hspec HUnit mockery mtl raw-strings-qq resourcet
-         scientific template-haskell temporary text transformers
+         directory filepath hspec HUnit libyaml mockery mtl raw-strings-qq
+         resourcet scientific template-haskell temporary text transformers
          unordered-containers vector
        ];
        description = "Support for parsing and rendering YAML documents";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) libyaml;};
+     }) {};
 
   "yaml-combinators" = callPackage
     ({ mkDerivation, aeson, base, bytestring, doctest, generics-sop
@@ -228029,8 +229632,8 @@ self: {
        pname = "yampa-canvas";
        version = "0.2.2";
        sha256 = "0g1yvb6snnsbvy2f74lrlqff5zgnvfh2f6r8xdwxi61dk71qsz0n";
-       revision = "5";
-       editedCabalFile = "18my271nsvb26sh5l45ng2zvwnm6fzw589cr9cipbpdaaqhyppfg";
+       revision = "6";
+       editedCabalFile = "05bfjzmfvy4ir1bkky8iq4m988z4yww2k7h8s1na5i9w60c26d20";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base blank-canvas stm time Yampa ];
@@ -228388,6 +229991,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yeshql-core_4_1_0_2" = callPackage
+    ({ mkDerivation, base, containers, convertible, filepath, parsec
+     , stm, tasty, tasty-hunit, tasty-quickcheck, template-haskell
+     }:
+     mkDerivation {
+       pname = "yeshql-core";
+       version = "4.1.0.2";
+       sha256 = "1zhpccdqy8y5ynyn2ax7p9l2lvz573f559iqkip26ijq84pjmny0";
+       libraryHaskellDepends = [
+         base containers convertible filepath parsec template-haskell
+       ];
+       testHaskellDepends = [
+         base containers stm tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "YesQL-style SQL database abstraction (core)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yeshql-hdbc" = callPackage
     ({ mkDerivation, base, containers, convertible, filepath, HDBC
      , parsec, stm, tasty, tasty-hunit, tasty-quickcheck
@@ -228408,6 +230030,27 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yeshql-hdbc_4_1_0_2" = callPackage
+    ({ mkDerivation, base, containers, convertible, filepath, HDBC
+     , parsec, stm, tasty, tasty-hunit, tasty-quickcheck
+     , template-haskell, yeshql-core
+     }:
+     mkDerivation {
+       pname = "yeshql-hdbc";
+       version = "4.1.0.2";
+       sha256 = "1p2j0fys7kdgb9882hiifnc1r4768c8jp7qy69ns1nbhd4f55b7l";
+       libraryHaskellDepends = [
+         base containers convertible filepath HDBC parsec template-haskell
+         yeshql-core
+       ];
+       testHaskellDepends = [
+         base containers HDBC stm tasty tasty-hunit tasty-quickcheck
+       ];
+       description = "YesQL-style SQL database abstraction (HDBC backend)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yeshql-postgresql-simple" = callPackage
     ({ mkDerivation, base, bytestring, containers, convertible
      , filepath, parsec, postgresql-simple, stm, tasty, tasty-hunit
@@ -228415,8 +230058,8 @@ self: {
      }:
      mkDerivation {
        pname = "yeshql-postgresql-simple";
-       version = "4.1.0.1";
-       sha256 = "09sypmx1w5shn8sazhll02a4yjdhrrxr3cic74vr7ch08pjpkkyq";
+       version = "4.1.0.2";
+       sha256 = "0mpha4lwb8z89cqlqly6ipssx37abpq10wbrhl979gm25s9yp4ab";
        libraryHaskellDepends = [
          base containers convertible filepath parsec postgresql-simple
          template-haskell yeshql-core
@@ -228580,6 +230223,35 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-auth_1_6_5" = callPackage
+    ({ mkDerivation, aeson, authenticate, base, base16-bytestring
+     , base64-bytestring, binary, blaze-builder, blaze-html
+     , blaze-markup, bytestring, conduit, conduit-extra, containers
+     , cryptonite, data-default, email-validate, file-embed, http-client
+     , http-client-tls, http-conduit, http-types, memory, network-uri
+     , nonce, persistent, random, safe, shakespeare, template-haskell
+     , text, time, transformers, unliftio, unliftio-core
+     , unordered-containers, wai, yesod-core, yesod-form
+     , yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-auth";
+       version = "1.6.5";
+       sha256 = "1crpqcx8zynwmas4ja5yv1jg4xvcv0hw7h11d5m8vld4fcs9dpdr";
+       libraryHaskellDepends = [
+         aeson authenticate base base16-bytestring base64-bytestring binary
+         blaze-builder blaze-html blaze-markup bytestring conduit
+         conduit-extra containers cryptonite data-default email-validate
+         file-embed http-client http-client-tls http-conduit http-types
+         memory network-uri nonce persistent random safe shakespeare
+         template-haskell text time transformers unliftio unliftio-core
+         unordered-containers wai yesod-core yesod-form yesod-persistent
+       ];
+       description = "Authentication for Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-auth-account" = callPackage
     ({ mkDerivation, base, blaze-html, bytestring, hspec, monad-logger
      , mtl, nonce, persistent, persistent-sqlite, pwstore-fast
@@ -228850,15 +230522,15 @@ self: {
 
   "yesod-auth-oauth" = callPackage
     ({ mkDerivation, authenticate-oauth, base, bytestring, text
-     , transformers, unliftio, yesod-auth, yesod-core, yesod-form
+     , unliftio, yesod-auth, yesod-core, yesod-form
      }:
      mkDerivation {
        pname = "yesod-auth-oauth";
-       version = "1.6.0";
-       sha256 = "1czm2zs9w8aicpqxmcn97c6skrhcy7g57q51vvnf40pffblvh33g";
+       version = "1.6.0.1";
+       sha256 = "0b9sp2rbj8yd343whcgg1ph4ybfk136d0ln09q7z56xqxn4brl3s";
        libraryHaskellDepends = [
-         authenticate-oauth base bytestring text transformers unliftio
-         yesod-auth yesod-core yesod-form
+         authenticate-oauth base bytestring text unliftio yesod-auth
+         yesod-core yesod-form
        ];
        description = "OAuth Authentication for Yesod";
        license = stdenv.lib.licenses.bsd3;
@@ -229115,20 +230787,20 @@ self: {
      , clientsession, conduit, conduit-extra, containers, cookie
      , deepseq, fast-logger, gauge, hspec, hspec-expectations
      , http-types, HUnit, monad-logger, mtl, network, parsec
-     , path-pieces, random, resourcet, rio, shakespeare
+     , path-pieces, primitive, random, resourcet, rio, shakespeare
      , streaming-commons, template-haskell, text, time, transformers
      , unix-compat, unliftio, unordered-containers, vector, wai
      , wai-extra, wai-logger, warp, word8
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.6";
-       sha256 = "0xahf6m5c7mkl74p0gimy4wb5w4s3lh92wwxmk517fbq666c92kb";
+       version = "1.6.8";
+       sha256 = "010wjhf053bhivxascvlrxfmsqirhx6mf54aph3xblrkq8sx64hy";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup byteable bytestring
          case-insensitive cereal clientsession conduit conduit-extra
          containers cookie deepseq fast-logger http-types monad-logger mtl
-         parsec path-pieces random resourcet rio shakespeare
+         parsec path-pieces primitive random resourcet rio shakespeare
          template-haskell text time transformers unix-compat unliftio
          unordered-containers vector wai wai-extra wai-logger warp word8
        ];
@@ -229145,7 +230817,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "yesod-core_1_6_7" = callPackage
+  "yesod-core_1_6_8_1" = callPackage
     ({ mkDerivation, aeson, async, auto-update, base, blaze-html
      , blaze-markup, byteable, bytestring, case-insensitive, cereal
      , clientsession, conduit, conduit-extra, containers, cookie
@@ -229158,8 +230830,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-core";
-       version = "1.6.7";
-       sha256 = "0smjkfidavm1iggdi4wd47ykbx7jw1qknj6glyjq8cc3p75zc3w7";
+       version = "1.6.8.1";
+       sha256 = "0kqgpcz1jihc80haidzx6cm75ak139q41195j8l3gz1vwbf94i9j";
        libraryHaskellDepends = [
          aeson auto-update base blaze-html blaze-markup byteable bytestring
          case-insensitive cereal clientsession conduit conduit-extra
@@ -229388,8 +231060,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-fay";
-       version = "0.8.0";
-       sha256 = "0inx11w4wdgnbxqghm9738qs19519dcdgyjmm3aah12wzv4i68gf";
+       version = "0.9.0";
+       sha256 = "186mxq6b5hl0ylsx9lajisywkc9klvbfbhq39pq497wk519ppc8s";
        libraryHaskellDepends = [
          aeson base bytestring data-default directory fay fay-dom filepath
          monad-loops process pureMD5 shakespeare template-haskell text
@@ -229462,6 +231134,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-form_1_6_3" = 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, text, time, transformers, wai
+     , xss-sanitize, yesod-core, yesod-persistent
+     }:
+     mkDerivation {
+       pname = "yesod-form";
+       version = "1.6.3";
+       sha256 = "15wvgrkqp57wrh8xv1ix86navy6llvagwp393w4b6azv758dims0";
+       libraryHaskellDepends = [
+         aeson attoparsec base blaze-builder blaze-html blaze-markup
+         byteable bytestring containers data-default email-validate
+         network-uri persistent resourcet semigroups shakespeare text time
+         transformers wai xss-sanitize yesod-core yesod-persistent
+       ];
+       testHaskellDepends = [ base hspec text time ];
+       description = "Form handling support for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-form-bootstrap4" = callPackage
     ({ mkDerivation, base, text, yesod-core, yesod-form }:
      mkDerivation {
@@ -229845,6 +231540,28 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-persistent_1_6_0_1" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, hspec, persistent
+     , persistent-sqlite, persistent-template, resource-pool, resourcet
+     , text, transformers, wai-extra, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-persistent";
+       version = "1.6.0.1";
+       sha256 = "0kxxm43d64lp4p7kmmpc9c0rany9nblf5dd1424m8wg3105cr2kl";
+       libraryHaskellDepends = [
+         base blaze-builder conduit persistent persistent-template
+         resource-pool resourcet transformers yesod-core
+       ];
+       testHaskellDepends = [
+         base blaze-builder conduit hspec persistent persistent-sqlite text
+         wai-extra yesod-core
+       ];
+       description = "Some helpers for using Persistent from Yesod";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-platform" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, asn1-encoding
      , asn1-parse, asn1-types, attoparsec-conduit, authenticate
@@ -230301,6 +232018,39 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-static_1_6_0_1" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, bytestring, conduit, containers, cryptonite
+     , cryptonite-conduit, css-text, data-default, directory, file-embed
+     , filepath, hashable, hjsmin, hspec, http-types, HUnit, memory
+     , mime-types, process, template-haskell, text, transformers
+     , unix-compat, unordered-containers, wai, wai-app-static, wai-extra
+     , yesod-core, yesod-test
+     }:
+     mkDerivation {
+       pname = "yesod-static";
+       version = "1.6.0.1";
+       sha256 = "1jd0ryfr2vyrwasyvbqmc6j4ngv1lgz78w427f169l7gyl1firxb";
+       libraryHaskellDepends = [
+         async attoparsec base base64-bytestring blaze-builder bytestring
+         conduit containers cryptonite cryptonite-conduit css-text
+         data-default directory file-embed filepath hashable hjsmin
+         http-types memory mime-types process template-haskell text
+         transformers unix-compat unordered-containers wai wai-app-static
+         yesod-core
+       ];
+       testHaskellDepends = [
+         async base base64-bytestring bytestring conduit containers
+         cryptonite cryptonite-conduit data-default directory file-embed
+         filepath hjsmin hspec http-types HUnit memory mime-types process
+         template-haskell text transformers unix-compat unordered-containers
+         wai wai-app-static wai-extra yesod-core yesod-test
+       ];
+       description = "Static file serving subsite for Yesod Web Framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-static-angular" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, blaze-markup
      , bytestring, data-default, directory, filepath, hamlet, hspec
@@ -230405,6 +232155,32 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-test_1_6_5_1" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , bytestring, case-insensitive, conduit, containers, cookie, hspec
+     , hspec-core, html-conduit, http-types, HUnit, network, pretty-show
+     , semigroups, text, time, transformers, unliftio, wai, wai-extra
+     , xml-conduit, xml-types, yesod-core, yesod-form
+     }:
+     mkDerivation {
+       pname = "yesod-test";
+       version = "1.6.5.1";
+       sha256 = "080m46nbjblna2b9gq8j4ngqsv0r5ww06p1v8cj3ia1qiqgjygsj";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html bytestring
+         case-insensitive conduit containers cookie hspec-core html-conduit
+         http-types HUnit network pretty-show semigroups text time
+         transformers wai wai-extra xml-conduit xml-types yesod-core
+       ];
+       testHaskellDepends = [
+         base bytestring containers hspec html-conduit http-types HUnit text
+         unliftio wai wai-extra xml-conduit yesod-core yesod-form
+       ];
+       description = "integration testing for WAI/Yesod Applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-test-json" = callPackage
     ({ mkDerivation, aeson, base, bytestring, conduit, hspec
      , http-types, HUnit, text, transformers, wai, wai-test
@@ -231188,8 +232964,8 @@ self: {
     ({ mkDerivation, base, bindings-DSL, ieee754 }:
      mkDerivation {
        pname = "yoga";
-       version = "0.0.0.2";
-       sha256 = "1gkql9c7dd7h0wfq98mfhgjmqlxkdf4b66qympc7r8vyx38jps1c";
+       version = "0.0.0.5";
+       sha256 = "14az05jh60ncsyw859b9v9m7lb5xcgsv2478pa3if93vxy1h40ih";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bindings-DSL ieee754 ];
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ef2c33c10915..5803e2946bff 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -194,19 +194,21 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
     callCabal2nix = name: src: args: self.callCabal2nixWithOptions name src "" args;
 
     # : { root : Path
+    #   , name : Defaulted String
     #   , source-overrides : Defaulted (Either Path VersionNumber)
     #   , overrides : Defaulted (HaskellPackageOverrideSet)
     #   , modifier : Defaulted
     #   , returnShellEnv : Defaulted
     #   } -> NixShellAwareDerivation
-    # Given a path to a haskell package directory whose cabal file is
-    # named the same as the directory name, an optional set of
-    # source overrides as appropriate for the 'packageSourceOverrides'
-    # function, an optional set of arbitrary overrides, and an optional
-    # haskell package modifier,  return a derivation appropriate
-    # for nix-build or nix-shell to build that package.
+    # Given a path to a haskell package directory, an optional package name
+    # which defaults to the base name of the path, an optional set of source
+    # overrides as appropriate for the 'packageSourceOverrides' function, an
+    # optional set of arbitrary overrides, and an optional haskell package
+    # modifier, return a derivation appropriate for nix-build or nix-shell to
+    # build that package.
     developPackage =
       { root
+      , name ? builtins.baseNameOf root
       , source-overrides ? {}
       , overrides ? self: super: {}
       , modifier ? drv: drv
@@ -216,7 +218,7 @@ in package-set { inherit pkgs stdenv callPackage; } self // {
            (pkgs.lib.composeExtensions
               (self.packageSourceOverrides source-overrides)
               overrides))
-        .callCabal2nix (builtins.baseNameOf root) root {};
+        .callCabal2nix name root {};
       in if returnShellEnv then (modifier drv).env else modifier drv;
 
     ghcWithPackages = selectFrom: withPackages (selectFrom self);
diff --git a/pkgs/development/interpreters/erlang/R21.nix b/pkgs/development/interpreters/erlang/R21.nix
index e9aa2a3dc426..381ffc75f8cf 100644
--- a/pkgs/development/interpreters/erlang/R21.nix
+++ b/pkgs/development/interpreters/erlang/R21.nix
@@ -1,8 +1,8 @@
 { mkDerivation }:
 
 mkDerivation rec {
-  version = "21.0";
-  sha256 = "0khprgawmbdpn9b8jw2kksmvs6b45mibpjralsc0ggxym1397vm8";
+  version = "21.1.1";
+  sha256 = "1kgny4nvw40d93jn5f4y5bcfhdlshg79n2w7lr0xj35kgwkyci39";
 
   prePatch = ''
     substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
diff --git a/pkgs/development/interpreters/perl/default.nix b/pkgs/development/interpreters/perl/default.nix
index b46bd20697eb..42cc2a518d62 100644
--- a/pkgs/development/interpreters/perl/default.nix
+++ b/pkgs/development/interpreters/perl/default.nix
@@ -40,19 +40,17 @@ let
     disallowedReferences = [ stdenv.cc ];
 
     patches =
-      [ ]
-      # Do not look in /usr etc. for dependencies.
-      ++ optional (versionOlder version "5.26") ./no-sys-dirs.patch
-      ++ optional (versionAtLeast version "5.26") ./no-sys-dirs-5.26.patch
-      ++ optional (versionAtLeast version "5.24") (
+      [
+        # Do not look in /usr etc. for dependencies.
+        ./no-sys-dirs-5.26.patch
         # Fix parallel building: https://rt.perl.org/Public/Bug/Display.html?id=132360
-        fetchurlBoot {
+        (fetchurlBoot {
           url = "https://rt.perl.org/Public/Ticket/Attachment/1502646/807252/0001-Fix-missing-build-dependency-for-pods.patch";
           sha256 = "1bb4mldfp8kq1scv480wm64n2jdsqa3ar46cjp1mjpby8h5dr2r0";
         })
+      ]
       ++ optional stdenv.isSunOS ./ld-shared.patch
-      ++ optional stdenv.isDarwin ./cpp-precomp.patch
-      ++ optional (stdenv.isDarwin && versionAtLeast version "5.24") ./sw_vers.patch
+      ++ optionals stdenv.isDarwin [ ./cpp-precomp.patch ./sw_vers.patch ]
       ++ optional crossCompiling ./MakeMaker-cross.patch;
 
     postPatch = ''
diff --git a/pkgs/development/interpreters/perl/no-sys-dirs.patch b/pkgs/development/interpreters/perl/no-sys-dirs.patch
deleted file mode 100644
index 1793273a76f9..000000000000
--- a/pkgs/development/interpreters/perl/no-sys-dirs.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/Configure perl-5.20.0/Configure
---- perl-5.20.0-orig/Configure	2014-05-26 15:34:18.000000000 +0200
-+++ perl-5.20.0/Configure	2014-06-25 10:43:35.368285986 +0200
-@@ -106,15 +106,7 @@
- fi
- 
- : Proper PATH setting
--paths='/bin /usr/bin /usr/local/bin /usr/ucb /usr/local /usr/lbin'
--paths="$paths /opt/bin /opt/local/bin /opt/local /opt/lbin"
--paths="$paths /usr/5bin /etc /usr/gnu/bin /usr/new /usr/new/bin /usr/nbin"
--paths="$paths /opt/gnu/bin /opt/new /opt/new/bin /opt/nbin"
--paths="$paths /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/ucb"
--paths="$paths /bsd4.3/usr/bin /usr/bsd /bsd43/bin /opt/ansic/bin /usr/ccs/bin"
--paths="$paths /etc /usr/lib /usr/ucblib /lib /usr/ccs/lib"
--paths="$paths /sbin /usr/sbin /usr/libexec"
--paths="$paths /system/gnu_library/bin"
-+paths=''
- 
- for p in $paths
- do
-@@ -1337,8 +1329,7 @@
- archname=''
- : Possible local include directories to search.
- : Set locincpth to "" in a hint file to defeat local include searches.
--locincpth="/usr/local/include /opt/local/include /usr/gnu/include"
--locincpth="$locincpth /opt/gnu/include /usr/GNU/include /opt/GNU/include"
-+locincpth=""
- :
- : no include file wanted by default
- inclwanted=''
-@@ -1349,17 +1340,12 @@
- 
- libnames=''
- : change the next line if compiling for Xenix/286 on Xenix/386
--xlibpth='/usr/lib/386 /lib/386'
-+xlibpth=''
- : Possible local library directories to search.
--loclibpth="/usr/local/lib /opt/local/lib /usr/gnu/lib"
--loclibpth="$loclibpth /opt/gnu/lib /usr/GNU/lib /opt/GNU/lib"
-+loclibpth=""
- 
- : general looking path for locating libraries
--glibpth="/lib /usr/lib $xlibpth"
--glibpth="$glibpth /usr/ccs/lib /usr/ucblib /usr/local/lib"
--test -f /usr/shlib/libc.so && glibpth="/usr/shlib $glibpth"
--test -f /shlib/libc.so     && glibpth="/shlib $glibpth"
--test -d /usr/lib64         && glibpth="$glibpth /lib64 /usr/lib64 /usr/local/lib64"
-+glibpth=""
- 
- : Private path used by Configure to find libraries.  Its value
- : is prepended to libpth. This variable takes care of special
-@@ -1391,8 +1377,6 @@
- libswanted="$libswanted m crypt sec util c cposix posix ucb bsd BSD"
- : We probably want to search /usr/shlib before most other libraries.
- : This is only used by the lib/ExtUtils/MakeMaker.pm routine extliblist.
--glibpth=`echo " $glibpth " | sed -e 's! /usr/shlib ! !'`
--glibpth="/usr/shlib $glibpth"
- : Do not use vfork unless overridden by a hint file.
- usevfork=false
- 
-@@ -2446,7 +2430,6 @@
- zip
- "
- pth=`echo $PATH | sed -e "s/$p_/ /g"`
--pth="$pth $sysroot/lib $sysroot/usr/lib"
- for file in $loclist; do
- 	eval xxx=\$$file
- 	case "$xxx" in
-@@ -4936,7 +4919,7 @@
- : Set private lib path
- case "$plibpth" in
- '') if ./mips; then
--	plibpth="$incpath/usr/lib $sysroot/usr/local/lib $sysroot/usr/ccs/lib"
-+	plibpth="$incpath/usr/lib"
-     fi;;
- esac
- case "$libpth" in
-@@ -8600,13 +8583,8 @@
- echo " "
- case "$sysman" in
- '')
--	syspath='/usr/share/man/man1 /usr/man/man1'
--	syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
--	syspath="$syspath /usr/man/u_man/man1"
--	syspath="$syspath /usr/catman/u_man/man1 /usr/man/l_man/man1"
--	syspath="$syspath /usr/local/man/u_man/man1 /usr/local/man/l_man/man1"
--	syspath="$syspath /usr/man/man.L /local/man/man1 /usr/local/man/man1"
--	sysman=`./loc . /usr/man/man1 $syspath`
-+	syspath=''
-+	sysman=''
- 	;;
- esac
- if $test -d "$sysman"; then
-@@ -19900,9 +19878,10 @@
- case "$full_ar" in
- '') full_ar=$ar ;;
- esac
-+full_ar=ar
- 
- : Store the full pathname to the sed program for use in the C program
--full_sed=$sed
-+full_sed=sed
- 
- : see what type gids are declared as in the kernel
- echo " "
-Only in perl-5.20.0/: Configure.orig
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/ext/Errno/Errno_pm.PL perl-5.20.0/ext/Errno/Errno_pm.PL
---- perl-5.20.0-orig/ext/Errno/Errno_pm.PL	2014-05-26 15:34:20.000000000 +0200
-+++ perl-5.20.0/ext/Errno/Errno_pm.PL	2014-06-25 10:31:24.317970047 +0200
-@@ -126,11 +126,7 @@
- 	if ($dep =~ /(\S+errno\.h)/) {
- 	     $file{$1} = 1;
- 	}
--    } elsif ($^O eq 'linux' &&
--	      $Config{gccversion} ne '' && 
--	      $Config{gccversion} !~ /intel/i
--	      # might be using, say, Intel's icc
--	     ) {
-+    } elsif (0) {
-     # When cross-compiling we may store a path for gcc's "sysroot" option:
-     my $sysroot = $Config{sysroot} || '';
- 	# Some Linuxes have weird errno.hs which generate
-Only in perl-5.20.0/ext/Errno: Errno_pm.PL.orig
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/freebsd.sh perl-5.20.0/hints/freebsd.sh
---- perl-5.20.0-orig/hints/freebsd.sh	2014-01-31 22:55:51.000000000 +0100
-+++ perl-5.20.0/hints/freebsd.sh	2014-06-25 10:25:53.263964680 +0200
-@@ -119,21 +119,21 @@
-         objformat=`/usr/bin/objformat`
-         if [ x$objformat = xaout ]; then
-             if [ -e /usr/lib/aout ]; then
--                libpth="/usr/lib/aout /usr/local/lib /usr/lib"
--                glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
-+                libpth=""
-+                glibpth=""
-             fi
-             lddlflags='-Bshareable'
-         else
--            libpth="/usr/lib /usr/local/lib"
--            glibpth="/usr/lib /usr/local/lib"
-+            libpth=""
-+            glibpth=""
-             ldflags="-Wl,-E "
-             lddlflags="-shared "
-         fi
-         cccdlflags='-DPIC -fPIC'
-         ;;
- *)
--       libpth="/usr/lib /usr/local/lib"
--       glibpth="/usr/lib /usr/local/lib"
-+       libpth=""
-+       glibpth=""
-        ldflags="-Wl,-E "
-         lddlflags="-shared "
-         cccdlflags='-DPIC -fPIC'
-diff -ru -x '*~' -x '*.rej' perl-5.20.0-orig/hints/linux.sh perl-5.20.0/hints/linux.sh
---- perl-5.20.0-orig/hints/linux.sh	2014-05-26 15:34:20.000000000 +0200
-+++ perl-5.20.0/hints/linux.sh	2014-06-25 10:33:47.354883843 +0200
-@@ -150,25 +150,6 @@
-     ;;
- esac
- 
--# Ubuntu 11.04 (and later, presumably) doesn't keep most libraries
--# (such as -lm) in /lib or /usr/lib.  So we have to ask gcc to tell us
--# where to look.  We don't want gcc's own libraries, however, so we
--# filter those out.
--# This could be conditional on Unbuntu, but other distributions may
--# follow suit, and this scheme seems to work even on rather old gcc's.
--# This unconditionally uses gcc because even if the user is using another
--# compiler, we still need to find the math library and friends, and I don't
--# know how other compilers will cope with that situation.
--# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
--# we don't want its libraries. So we try to prefer the system gcc
--# Still, as an escape hatch, allow Configure command line overrides to
--# plibpth to bypass this check.
--if [ -x /usr/bin/gcc ] ; then
--    gcc=/usr/bin/gcc
--else
--    gcc=gcc
--fi
--
- case "$plibpth" in
- '') plibpth=`LANG=C LC_ALL=C $gcc $ccflags $ldflags -print-search-dirs | grep libraries |
- 	cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
-@@ -178,32 +159,6 @@
-     ;;
- esac
- 
--case "$libc" in
--'')
--# If you have glibc, then report the version for ./myconfig bug reporting.
--# (Configure doesn't need to know the specific version since it just uses
--# gcc to load the library for all tests.)
--# We don't use __GLIBC__ and  __GLIBC_MINOR__ because they
--# are insufficiently precise to distinguish things like
--# libc-2.0.6 and libc-2.0.7.
--    for p in $plibpth
--    do
--        for trylib in libc.so.6 libc.so
--        do
--            if $test -e $p/$trylib; then
--                libc=`ls -l $p/$trylib | awk '{print $NF}'`
--                if $test "X$libc" != X; then
--                    break
--                fi
--            fi
--        done
--        if $test "X$libc" != X; then
--            break
--        fi
--    done
--    ;;
--esac
--
- # Are we using ELF?  Thanks to Kenneth Albanowski <kjahds@kjahds.com>
- # for this test.
- cat >try.c <<'EOM'
-@@ -367,33 +322,6 @@
- 	;;
- esac
- 
--# SuSE8.2 has /usr/lib/libndbm* which are ld scripts rather than
--# true libraries. The scripts cause binding against static
--# version of -lgdbm which is a bad idea. So if we have 'nm'
--# make sure it can read the file
--# NI-S 2003/08/07
--case "$nm" in
--    '') ;;
--    *)
--    for p in $plibpth
--    do
--        if $test -r $p/libndbm.so; then
--            if $nm $p/libndbm.so >/dev/null 2>&1 ; then
--                echo 'Your shared -lndbm seems to be a real library.'
--                _libndbm_real=1
--                break
--            fi
--        fi
--    done
--    if $test "X$_libndbm_real" = X; then
--        echo 'Your shared -lndbm is not a real library.'
--        set `echo X "$libswanted "| sed -e 's/ ndbm / /'`
--        shift
--        libswanted="$*"
--    fi
--    ;;
--esac
--
- # Linux on Synology.
- if [ -f /etc/synoinfo.conf -a -d /usr/syno ]; then
-     # Tested on Synology DS213 and DS413
diff --git a/pkgs/development/interpreters/wasm/default.nix b/pkgs/development/interpreters/proglodyte-wasm/default.nix
index 9a30ae7d8a85..9a30ae7d8a85 100644
--- a/pkgs/development/interpreters/wasm/default.nix
+++ b/pkgs/development/interpreters/proglodyte-wasm/default.nix
diff --git a/pkgs/development/interpreters/python/wrapper.nix b/pkgs/development/interpreters/python/wrapper.nix
index 8d4e68bf57ca..27d01e4e1f51 100644
--- a/pkgs/development/interpreters/python/wrapper.nix
+++ b/pkgs/development/interpreters/python/wrapper.nix
@@ -4,6 +4,8 @@
 , postBuild ? ""
 , ignoreCollisions ? false
 , requiredPythonModules
+# Wrap executables with the given argument.
+, makeWrapperArgs ? []
 , }:
 
 # Create a python executable that knows about additional packages.
@@ -32,7 +34,7 @@ let
             if [ -f "$prg" ]; then
               rm -f "$out/bin/$prg"
               if [ -x "$prg" ]; then
-                makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" --set PYTHONNOUSERSITE "true"
+                makeWrapper "$path/bin/$prg" "$out/bin/$prg" --set PYTHONHOME "$out" --set PYTHONNOUSERSITE "true" ${stdenv.lib.concatStringsSep " " makeWrapperArgs}
               fi
             fi
           done
diff --git a/pkgs/development/interpreters/renpy/default.nix b/pkgs/development/interpreters/renpy/default.nix
index 4dff7e6974ef..22b4f93b136c 100644
--- a/pkgs/development/interpreters/renpy/default.nix
+++ b/pkgs/development/interpreters/renpy/default.nix
@@ -7,7 +7,7 @@ with pythonPackages;
 
 stdenv.mkDerivation rec {
   name = "renpy-${version}";
-  version = "7.0.0";
+  version = "7.1.1";
 
   meta = with stdenv.lib; {
     description = "Ren'Py Visual Novel Engine";
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://www.renpy.org/dl/${version}/renpy-${version}-source.tar.bz2";
-    sha256 = "0yrwp5iw4fjg7kbd041qv8gh2p0dnbrnkrgmn0ndk5k10pjij82g";
+    sha256 = "1lmahwgy5jyak0bdbh4jlr23x35f87k7jcydkywns3mph6q7r01i";
   };
 
   patches = [
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 9e6d35b818f4..f1d48578541e 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -111,8 +111,8 @@ let
 
         postPatch = if isRuby25 then ''
           sed -i configure.ac -e '/config.guess/d'
-          cp ${config}/config.guess tool/
-          cp ${config}/config.sub tool/
+          cp --remove-destination ${config}/config.guess tool/
+          cp --remove-destination ${config}/config.sub tool/
         ''
         else opString useRailsExpress ''
           sed -i configure.in -e '/config.guess/d'
@@ -202,26 +202,26 @@ let
 
 in {
   ruby_2_3 = generic {
-    version = rubyVersion "2" "3" "7" "";
+    version = rubyVersion "2" "3" "8" "";
     sha256 = {
-      src = "0zvx5kdp1frjs9n95n7ba7dy0alax33wi3nj8034m3ppvnf39k9m";
-      git = "11wbzw2ywwfnvlkg3qjg0as2pzk5zyk63y2iis42d91lg1l2flrk";
+      src = "1gwsqmrhpx1wanrfvrsj3j76rv888zh7jag2si2r14qf8ihns0dm";
+      git = "0158fg1sx6l6applbq0831kl8kzx5jacfl9lfg0shfzicmjlys3f";
     };
   };
 
   ruby_2_4 = generic {
-    version = rubyVersion "2" "4" "4" "";
+    version = rubyVersion "2" "4" "5" "";
     sha256 = {
-      src = "0nmfr2lijik6cykk0zbj11zcapcrvmdvq83k3r6q3k74g4d1qkr5";
-      git = "103cs7hz1v0h84lbrippl87s4lawi20m406rs5dgxl2gr2wyjpy5";
+      src = "162izk7c72y73vmdgcbsh8kqihrbm65xvp53r1s139pzwqd78dv7";
+      git = "181za4h6bd2bkyzyknxc18i5gq0pnqag60ybc17p0ixw3q7pdj43";
     };
   };
 
   ruby_2_5 = generic {
-    version = rubyVersion "2" "5" "1" "";
+    version = rubyVersion "2" "5" "3" "";
     sha256 = {
-      src = "1c99k0fjaq7k09104h1b1cqx6mrk2b14ic1jjnxc6yav68i1ij6s";
-      git = "1j0fd16aq9x98n0kq9c3kfp2sh6xcsq8q4733p0wfqjh3vz50kyj";
+      src = "0v4442aqqlzxwc792kbkfs2k61qg97r680is6gx20z63a8wd0a4q";
+      git = "0r9mgvqk6gj8pc9q6qmy7j2kbln7drc8wy67sb2ij8ciclcw9nn2";
     };
   };
 }
diff --git a/pkgs/development/interpreters/ruby/patchsets.nix b/pkgs/development/interpreters/ruby/patchsets.nix
index ca180b3c2294..c87cb120b401 100644
--- a/pkgs/development/interpreters/ruby/patchsets.nix
+++ b/pkgs/development/interpreters/ruby/patchsets.nix
@@ -1,17 +1,17 @@
 { patchSet, useRailsExpress, ops, patchLevel }:
 
 rec {
-  "2.3.7" = ops useRailsExpress [
+  "2.3.8" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.3/head/railsexpress/01-skip-broken-tests.patch"
     "${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.4" = ops useRailsExpress [
+  "2.4.5" = 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"
   ];
-  "2.5.1" = ops useRailsExpress [
+  "2.5.3" = ops useRailsExpress [
     "${patchSet}/patches/ruby/2.5/head/railsexpress/01-fix-broken-tests-caused-by-ad.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/02-improve-gc-stats.patch"
     "${patchSet}/patches/ruby/2.5/head/railsexpress/03-more-detailed-stacktrace.patch"
diff --git a/pkgs/development/interpreters/supercollider/default.nix b/pkgs/development/interpreters/supercollider/default.nix
index 2737fd6fae04..7109ec68d3c8 100644
--- a/pkgs/development/interpreters/supercollider/default.nix
+++ b/pkgs/development/interpreters/supercollider/default.nix
@@ -34,6 +34,6 @@ stdenv.mkDerivation rec {
     description = "Programming language for real time audio synthesis";
     homepage = http://supercollider.sourceforge.net/;
     license = stdenv.lib.licenses.gpl3Plus;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = [ "x686-linux" "x86_64-linux" ];
   };
 }
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 53e3f5468abc..971637bc7870 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perl, perlXMLParser
+{ fetchurl, stdenv, pkgconfig, libdaemon, dbus, perlPackages
 , expat, gettext, intltool, glib, libiconv
 , qt4 ? null
 , qt4Support ? false
@@ -17,7 +17,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./no-mkdir-localstatedir.patch ];
 
-  buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
+  buildInputs = [ libdaemon dbus glib expat libiconv ]
+    ++ (with perlPackages; [ perl XMLParser ])
     ++ (stdenv.lib.optional qt4Support qt4);
 
   nativeBuildInputs = [ pkgconfig gettext intltool glib ];
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index 1e341d3124b4..027b86a97747 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.56";
+  name = "babl-0.1.58";
 
   src = fetchurl {
     url = "https://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "0a2dvihah1j7qi5dp1qzzlwklcqnndmxsm7lc7i78g7c2yknrlla";
+    sha256 = "0mgdii9v89ay0nra36cz9i0q7cqv8wi8hk01jsc4bf0rc1bsxjbr";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 1ab0718e7960..c79b874ecb69 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -101,21 +101,17 @@ stdenv.mkDerivation {
 
   inherit src;
 
-  patchFlags = optionalString (stdenv.hostPlatform.libc == "msvcrt") "-p0";
+  patchFlags = "";
+
   patches = patches
-    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch
-    ++ optional (stdenv.hostPlatform.libc == "msvcrt") (fetchurl {
-      url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/"
-          + "boost-mingw.patch";
-      sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
-    });
+    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch;
 
   meta = {
     homepage = http://boost.org/;
     description = "Collection of C++ libraries";
     license = stdenv.lib.licenses.boost;
 
-    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) platforms.unix;
+    platforms = (if versionOlder version "1.59" then remove "aarch64-linux" else id) (platforms.unix ++ platforms.windows);
     maintainers = with maintainers; [ peti wkennington ];
   };
 
@@ -139,7 +135,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ which buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ which ];
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   buildInputs = [ expat zlib bzip2 libiconv ]
     ++ optional (stdenv.hostPlatform == stdenv.buildPlatform) icu
     ++ optional stdenv.isDarwin fixDarwinDylibNames
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 1835356e627d..099d02c82639 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
   };
 
+  configureFlags = if stdenv.hostPlatform.isWindows then [ "--disable-shared" "--enable-static" ] else null;
+
   # ares_android.h header is missing
   # see issue https://github.com/c-ares/c-ares/issues/216
   postPatch = if stdenv.hostPlatform.isAndroid then ''
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index 397e80961e06..09c1560d6f60 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "actor-framework-${version}";
-  version = "0.15.7";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = "${version}";
-    sha256 = "0qmb18k162xdvf8z03mybjazkwb2vqda5xd1qh5bwkvxracwq3sb";
+    sha256 = "01i6sclxwa7k91ngi7jw9vlss8wjpv1hz4y5934jq0lx8hdf7s02";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/capnproto/default.nix b/pkgs/development/libraries/capnproto/default.nix
index 78fcad5c1fe2..b175250872f3 100644
--- a/pkgs/development/libraries/capnproto/default.nix
+++ b/pkgs/development/libraries/capnproto/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "capnproto-${version}";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchurl {
     url = "https://capnproto.org/capnproto-c++-${version}.tar.gz";
-    sha256 = "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0";
+    sha256 = "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/flatbuffers/default.nix b/pkgs/development/libraries/flatbuffers/default.nix
index fb74c4ff4d24..504b58b6aa4d 100644
--- a/pkgs/development/libraries/flatbuffers/default.nix
+++ b/pkgs/development/libraries/flatbuffers/default.nix
@@ -2,21 +2,24 @@
 
 stdenv.mkDerivation rec {
   name = "flatbuffers-${version}";
-  version = "1.8.0";
+  version = "1.10.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "flatbuffers";
     rev = "v${version}";
-    sha256 = "1qq8qbv8wkiiizj8s984f17bsbjsrhbs9q1nw1yjgrw0grcxlsi9";
+    sha256 = "1b32kc5jp83l43w2gs1dkw2vqm2j0wi7xfxqa86m18n3l41ca734";
   };
 
-  buildInputs = [ cmake ];
+  preConfigure = stdenv.lib.optional stdenv.buildPlatform.isDarwin ''
+    rm BUILD
+  '';
+
+  nativeBuildInputs = [ cmake ];
   enableParallelBuilding = true;
 
-  # Not sure how tests are supposed to be run.
-  # "make: *** No rule to make target 'check'.  Stop."
-  doCheck = false;
+  doCheck = true;
+  checkTarget = "test";
 
   meta = {
     description = "Memory Efficient Serialization Library.";
@@ -29,6 +32,6 @@ stdenv.mkDerivation rec {
     maintainers = [ stdenv.lib.maintainers.teh ];
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
-    homepage = http://google.github.io/flatbuffers;
+    homepage = https://google.github.io/flatbuffers/;
   };
 }
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index c8cd420f6e7b..dc77ab8601a8 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -4,7 +4,7 @@
 , libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, makeWrapper, gnome3 }:
 
 let
-  version = "1.0.2";
+  version = "1.0.4";
   desktop_schemas = gnome3.gsettings-desktop-schemas;
 in stdenv.mkDerivation rec {
   name = "flatpak-${version}";
@@ -14,7 +14,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0d0nnymb4p3njc24j0p6f74x7cdfi7jac714gxzzz5y5lrd651gn";
+    sha256 = "1x1vqz6k8hhgyr46wg05gwr4zdv313q2hwcwp4nb6n1f7whc7yx0";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/fmt/default.nix b/pkgs/development/libraries/fmt/default.nix
new file mode 100644
index 000000000000..c120f7c9b43f
--- /dev/null
+++ b/pkgs/development/libraries/fmt/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, enableShared ? true }:
+
+stdenv.mkDerivation rec {
+  version = "5.2.1";
+  name = "fmt-${version}";
+  src = fetchFromGitHub {
+    owner = "fmtlib";
+    repo = "fmt";
+    rev = "${version}";
+    sha256 = "1cd8yq8va457iir1hlf17ksx11fx2hlb8i4jml8gj1875pizm0pk";
+  };
+  nativeBuildInputs = [ cmake ];
+  doCheck = true;
+  # preCheckHook ensures the test binaries can find libfmt.so.5
+  preCheck = if enableShared
+             then "export LD_LIBRARY_PATH=\"$PWD\""
+             else "";
+  cmakeFlags = [ "-DFMT_TEST=yes"
+                 "-DBUILD_SHARED_LIBS=${if enableShared then "ON" else "OFF"}" ];
+  meta = with stdenv.lib; {
+    homepage = http://fmtlib.net/;
+    description = "Small, safe and fast formatting library";
+    longDescription = ''
+      fmt (formerly cppformat) is an open-source formatting library. It can be
+      used as a fast and safe alternative to printf and IOStreams.
+    '';
+    maintainers = [ maintainers.jdehaas ];
+    license = licenses.bsd2;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index fce052aeb223..5a11d03c5917 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl
+, buildPackages
 , pkgconfig, which, makeWrapper
 , zlib, bzip2, libpng, gnumake, glib
 
@@ -50,6 +51,9 @@ in stdenv.mkDerivation rec {
 
   configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
 
+  # native compiler to generate building tool
+  CC_BUILD = "${buildPackages.stdenv.cc}/bin/cc";
+
   # The asm for armel is written with the 'asm' keyword.
   CFLAGS = optionalString stdenv.isAarch32 "-std=gnu99";
 
diff --git a/pkgs/development/libraries/git2/0.27.nix b/pkgs/development/libraries/git2/0.27.nix
index bafd6be37df6..db627449e1ba 100644
--- a/pkgs/development/libraries/git2/0.27.nix
+++ b/pkgs/development/libraries/git2/0.27.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.27.4";
+  version = "0.27.5";
   name = "libgit2-${version}";
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "1cmc8ldhpyp62pswb7dmjjya3ng0ssaggcsxs1labvp6xyxjvp6s";
+    sha256 = "1f6jxgw4pf6jln439v1pj8a0kgym5sq5xry8x0gq18dr5gv3wims";
   };
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 8e7d10782157..44086538cd04 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
-, file, which
+, file, which, ncurses
 , autoreconfHook
 , git
 , texinfo
 , qtbase ? null
-, withPython ? false, swig2 ? null, python ? null
+, pythonSupport ? false, swig2 ? null, python ? null
 }:
 
 let
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     ++ lib.optional (qtbase != null) qtbase;
 
   nativeBuildInputs = [ file pkgconfig gnupg autoreconfHook git texinfo ]
-  ++ lib.optionals withPython [ python swig2 which ];
+  ++ lib.optionals pythonSupport [ python swig2 which ncurses ];
 
   postPatch =''
     substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-fixed-path=${gnupg}/bin"
     "--with-libgpg-error-prefix=${libgpgerror.dev}"
-  ] ++ lib.optional withPython "--enable-languages=python";
+  ] ++ lib.optional pythonSupport "--enable-languages=python";
 
   NIX_CFLAGS_COMPILE =
     # qgpgme uses Q_ASSERT which retains build inputs at runtime unless
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index b3ab9c7881a9..130bc6f97bf0 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -8,7 +8,7 @@
 }:
 
 let
-  version = "1.8.8";
+  version = "1.9.0";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "1ag3scnm1fcviqgx2p4858y433mr0ndqw6zccnccrqcr9mpcird8";
+    sha256 = "004b4j812wgfv8pmcypyrlwrjfa6149lwpz5df6rnm5cy0msdv0i";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 9d2088808c13..32743e617970 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     version = "1.1";
   };
 
-  PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1";
+  PERL_USE_UNSAFE_INC = "1";
 
   src = fetchurl {
     url = "${meta.homepage}${name}.tar.gz";
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index cf9c554d57f4..3c729f42320a 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.17";
+  version = "1.18";
   name    = "commons-compress-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
-    sha256 = "1ydm6mhy0kja47mns674iyrhz5mqlhhnh2l8rglzxnq5iawpi2m0";
+    sha256 = "0ciwzq134rqh1fp7qba091rajf2pdagfb665rarni7glb2x4lha1";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/java/commons/math/default.nix b/pkgs/development/libraries/java/commons/math/default.nix
index d43dcd2a91d5..10c39f037890 100644
--- a/pkgs/development/libraries/java/commons/math/default.nix
+++ b/pkgs/development/libraries/java/commons/math/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "3.3";
+  version = "3.6.1";
   name    = "commons-math-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/math/binaries/commons-math3-${version}-bin.tar.gz";
-    sha256 = "1xs71c4vbai6zr84982g4ggv6c18dhkilkzw9n1irjqnjbgm5kzc";
+    sha256 = "0x4nx5pngv2n4ga11c1s4w2mf6cwydwkgs7da6wwvcjraw57bhkz";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 1292d9cc7b33..43ead0391e46 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.50/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.51/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index e4e4c90bfe14..281778d9d07f 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -4,7 +4,7 @@
   karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kdbusaddons, ki18n, kiconthemes, kitemviews, kjobwidgets, knotifications,
   kservice, ktextwidgets, kwallet, kwidgetsaddons, kwindowsystem, kxmlgui,
-  qtbase, qtscript, qtx11extras, solid,
+  qtbase, qtscript, qtx11extras, solid, kcrash
 }:
 
 mkDerivation {
@@ -14,6 +14,7 @@ mkDerivation {
   buildInputs = [
     karchive kconfigwidgets kdbusaddons ki18n kiconthemes knotifications
     ktextwidgets kwallet kwidgetsaddons kwindowsystem qtscript qtx11extras
+    kcrash
   ];
   propagatedBuildInputs = [
     kbookmarks kcompletion kconfig kcoreaddons kitemviews kjobwidgets kservice
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 278de2d2a1ff..34d0317ea994 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,635 +3,635 @@
 
 {
   attica = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/attica-5.50.0.tar.xz";
-      sha256 = "0iyaxh92qsh25dl3y18235x9c39jvxgzvfmz96vs5rjkyjnnh88w";
-      name = "attica-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/attica-5.51.0.tar.xz";
+      sha256 = "1lxfrqw6b162sq9254y4hm3gd3w0ck0l4hbi7cgy32rdk0n16sy4";
+      name = "attica-5.51.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/baloo-5.50.0.tar.xz";
-      sha256 = "07n90b2mz1d0anknwf271dp2w9hn2kdb0903zqsqnhmix1jqpfy6";
-      name = "baloo-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/baloo-5.51.0.tar.xz";
+      sha256 = "1y10ccji9rlazj4h3zpzzcilf777907kizxlbynqya79h20nzjkq";
+      name = "baloo-5.51.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/bluez-qt-5.50.0.tar.xz";
-      sha256 = "028rdw97c042c1xcb2gwa6n4fcpn0wx4ilgh5j584afps6rg2k3b";
-      name = "bluez-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/bluez-qt-5.51.0.tar.xz";
+      sha256 = "1pjkngd9wx0355lv76y5cb7zhmwabinm2pxfz3mf708azml1gsxg";
+      name = "bluez-qt-5.51.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/breeze-icons-5.50.0.tar.xz";
-      sha256 = "1zhlylry01w3x72q8ipjgijkicjp3wyv9p183awvg3znkblghhgw";
-      name = "breeze-icons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/breeze-icons-5.51.0.tar.xz";
+      sha256 = "16wcmjaz25j0jqfcbfww5h873wxb19v36b8dvryhbv38ybx30v6i";
+      name = "breeze-icons-5.51.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/extra-cmake-modules-5.50.0.tar.xz";
-      sha256 = "1284gv6l1cck0y6phc9xphs1bl4ayk5a0nwzykhc8ncnkjqb0cyx";
-      name = "extra-cmake-modules-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/extra-cmake-modules-5.51.0.tar.xz";
+      sha256 = "151m4pw97sxwarlx67irrikpmy7183dx0dgg1vrmayssyzidvr4n";
+      name = "extra-cmake-modules-5.51.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/frameworkintegration-5.50.0.tar.xz";
-      sha256 = "14nq6v5xnznc7c7zdfvals4998cmlgdw4i7pz9hfbs35v0pswd03";
-      name = "frameworkintegration-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/frameworkintegration-5.51.0.tar.xz";
+      sha256 = "0bg4avnwxq06xyjxs1fqqb7scx7qpm2rbvcphz1n9mgg4lqwmgbl";
+      name = "frameworkintegration-5.51.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kactivities-5.50.0.tar.xz";
-      sha256 = "0jbri8whf91skxc0zg72bx0m7aym8ka801ncp9kxbjdcj1mbz451";
-      name = "kactivities-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kactivities-5.51.0.tar.xz";
+      sha256 = "0nfmfb1j56lc8ys99cslaz9d10l09mmky5gxvgchmsbm5lqg3abm";
+      name = "kactivities-5.51.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kactivities-stats-5.50.0.tar.xz";
-      sha256 = "0h6dl0522sl7glzk4rz7qj5642il2nr2jwmknbwv3ljhxba9qdrs";
-      name = "kactivities-stats-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kactivities-stats-5.51.0.tar.xz";
+      sha256 = "057lxj8i5rdnh0lr8gnb4b3k0bg3dm2xam3fmrfllm81pvq8bq7l";
+      name = "kactivities-stats-5.51.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kapidox-5.50.0.tar.xz";
-      sha256 = "11hp0qpndy9s8g6x95s8lk7abkp1yvqraa1cdvvsdhn71izmsmqz";
-      name = "kapidox-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kapidox-5.51.0.tar.xz";
+      sha256 = "0k7zlyr9gwq45vkzs3pvny5hgqkfd399fw7kwvi01lfkwha0d82n";
+      name = "kapidox-5.51.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/karchive-5.50.0.tar.xz";
-      sha256 = "1jh1cyvdg680swyq2nmcpk4cfqmy67v49jl76nm1b5399zcs282l";
-      name = "karchive-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/karchive-5.51.0.tar.xz";
+      sha256 = "1cr80dyxs0zq568x6ll30zr6dzym8pk27q1facw0nlyha4246rvn";
+      name = "karchive-5.51.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kauth-5.50.0.tar.xz";
-      sha256 = "15pk78a76897y4rym5ln1l5zm3n64rprl7k5bwkp4qzhwy7gzv7p";
-      name = "kauth-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kauth-5.51.0.tar.xz";
+      sha256 = "0pgrn9lkhgn9fifywlqqlrx4h295s8wnvjjn6a1saiib2pjaiyhm";
+      name = "kauth-5.51.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kbookmarks-5.50.0.tar.xz";
-      sha256 = "1lvsarcwjkmx14bni9akxrrr11zsvr9fv47ahw97kj9p3wdb1sy9";
-      name = "kbookmarks-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kbookmarks-5.51.0.tar.xz";
+      sha256 = "1xsy1n4di28aj53gmvks9ajqh96xnbjcg8rlmkxsyrs9facfm24l";
+      name = "kbookmarks-5.51.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcmutils-5.50.0.tar.xz";
-      sha256 = "1q9z8p20fn6k8yrhy0nq77yg4ra5vnpq6hq9mr7jkjqni9b0h3np";
-      name = "kcmutils-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcmutils-5.51.0.tar.xz";
+      sha256 = "018kc5ynz0554bwmpzb0npn3hznrccv2vik2vablhcc73rkx8f68";
+      name = "kcmutils-5.51.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcodecs-5.50.0.tar.xz";
-      sha256 = "13gh7vys0xxpfqzjbxwr65p6d6jgcg0wr9ir1xqbkc368kay4n7b";
-      name = "kcodecs-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcodecs-5.51.0.tar.xz";
+      sha256 = "15hwqzc10k53dldhm6sq854l7pqmkrkgyrlxhbnygn91wi14zg2m";
+      name = "kcodecs-5.51.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcompletion-5.50.0.tar.xz";
-      sha256 = "1n0frkk2phf6a0rcrsf011jb2f66sisjy9lmmiy1czy533y3iraz";
-      name = "kcompletion-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcompletion-5.51.0.tar.xz";
+      sha256 = "1am6bsxy3hnc2d8ssmrx6njyw35vrsszmlrd4szimm4qajkj63zk";
+      name = "kcompletion-5.51.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kconfig-5.50.0.tar.xz";
-      sha256 = "0jb4lq3k8lyjksgj728hgf0h81v6fxy1kyp17sv0cjrs6n3z8ry8";
-      name = "kconfig-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kconfig-5.51.0.tar.xz";
+      sha256 = "1h7iax57qxb08slf7dzs0dzmn9bhzb0hy3z0pwbc62bg6lvigcbq";
+      name = "kconfig-5.51.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kconfigwidgets-5.50.0.tar.xz";
-      sha256 = "102al35g2c6v091zm086lvhbym0j0f81zpn6wsk5wr0xc569lagj";
-      name = "kconfigwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kconfigwidgets-5.51.0.tar.xz";
+      sha256 = "10zgqv5l4178kkzcl0jw36l7f34cv6yfamk459jj8rbnkjncrhxw";
+      name = "kconfigwidgets-5.51.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcoreaddons-5.50.0.tar.xz";
-      sha256 = "1b7m4an322hk89n1svy3345106kphhn0ha7q21k5b3bwphszrx28";
-      name = "kcoreaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcoreaddons-5.51.0.tar.xz";
+      sha256 = "05xvf07z7f1qzz0h7kf987l4qhc75r26ckwv3a417h3aavgjpmqb";
+      name = "kcoreaddons-5.51.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kcrash-5.50.0.tar.xz";
-      sha256 = "00n2ynhp1dbp75wkx9wm4mlyf5q3cbrk7k563mdihw88mzmmyvl4";
-      name = "kcrash-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kcrash-5.51.0.tar.xz";
+      sha256 = "1yfph8ban1pcljzhyg8rq6pkmwlwk4qg3nsdskfrkcjq96za2732";
+      name = "kcrash-5.51.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdbusaddons-5.50.0.tar.xz";
-      sha256 = "0ijvg4j97j4fv063phg086s9db6nj5gfgic5gcqg99h9hznbqkym";
-      name = "kdbusaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdbusaddons-5.51.0.tar.xz";
+      sha256 = "1i54jdhci3w2929vlh43pqc1pzv0b17s5qx6fm2cwq2hbvpqd3kb";
+      name = "kdbusaddons-5.51.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdeclarative-5.50.0.tar.xz";
-      sha256 = "1fwfzvadqh4rfyklygs17mkikh5m0m4flka91wbhw6jg6w7bvc4c";
-      name = "kdeclarative-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdeclarative-5.51.0.tar.xz";
+      sha256 = "145hasi0g46bbdqyhvw6yfr086c1j73cy46k9vjfw7vx79ksixvj";
+      name = "kdeclarative-5.51.0.tar.xz";
     };
   };
   kded = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kded-5.50.0.tar.xz";
-      sha256 = "1hfh2l40s2mz4qh2wirfa8lnixvvl6y0agh3l5ii0jw93wvyci01";
-      name = "kded-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kded-5.51.0.tar.xz";
+      sha256 = "1g7wc5jbmpqjknbq0ax6gx0rqkrkq020ypcjmah40vv045wq9abk";
+      name = "kded-5.51.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kdelibs4support-5.50.0.tar.xz";
-      sha256 = "12ilp1cnpfhd8f4zsnwwq428cip43yq3xj0px91ndfrgq8chg05l";
-      name = "kdelibs4support-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kdelibs4support-5.51.0.tar.xz";
+      sha256 = "05mq7zzjy21a2wsd836n5zbz8cm035c9yph4fq61f723rr4840iq";
+      name = "kdelibs4support-5.51.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdesignerplugin-5.50.0.tar.xz";
-      sha256 = "00dhhars7ab7zjsz992yswcns5zijzyy84fpym2hg1avxinm31x5";
-      name = "kdesignerplugin-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdesignerplugin-5.51.0.tar.xz";
+      sha256 = "08n1q0ym6abj28k3ii3grr4qrj9gq8kq0vnygw2nv2q2yalvhvj0";
+      name = "kdesignerplugin-5.51.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdesu-5.50.0.tar.xz";
-      sha256 = "095vddhhlc8kyhrmygccvhzbhl6bkscnfrx3vf96anm68zyk4g3f";
-      name = "kdesu-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdesu-5.51.0.tar.xz";
+      sha256 = "11j0hl6fv4az1dhmv8nnrqb8ahqwf75l5gyimsx2lzabqr5qh5p9";
+      name = "kdesu-5.51.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdewebkit-5.50.0.tar.xz";
-      sha256 = "0p5h58mcwyjkrbyq66360blx001j4997dk7z85a3hf64hhv7k10h";
-      name = "kdewebkit-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdewebkit-5.51.0.tar.xz";
+      sha256 = "0zkg2qfhs60lmfx10kw30q6wvh01ldflcnzyngkmqrnlv28mwycg";
+      name = "kdewebkit-5.51.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdnssd-5.50.0.tar.xz";
-      sha256 = "05d2y205mvdbgmmm0h4agbg4xf48x1xc2lgfvjnpgx8ilb5136pi";
-      name = "kdnssd-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdnssd-5.51.0.tar.xz";
+      sha256 = "0bkxplw69a0lkwzqzqqpj46w6xgmkzac2mncxi9widla67c1ry0l";
+      name = "kdnssd-5.51.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kdoctools-5.50.0.tar.xz";
-      sha256 = "1zgjf7ib8qlgjkkhkgd3b679b672cgsbiqsshbp0f1hn25ig4dqy";
-      name = "kdoctools-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kdoctools-5.51.0.tar.xz";
+      sha256 = "127fmlq16zlm9ai4y09c9dyxnp5n9aj6bbpsg60yaarazfdgzhxw";
+      name = "kdoctools-5.51.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kemoticons-5.50.0.tar.xz";
-      sha256 = "194rhxwf7h3mmb990l0p6l6lrf181c0scikj4h2ngmnjklgvajsg";
-      name = "kemoticons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kemoticons-5.51.0.tar.xz";
+      sha256 = "1f0af48mxzq9690vf820ysvv6kb6sxhimlhmqwwqgn4b31mg0zrq";
+      name = "kemoticons-5.51.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kfilemetadata-5.50.0.tar.xz";
-      sha256 = "063148xbnrgplzfgqdiwyzdj2rix97xln1x72kn3qprxzc5y257l";
-      name = "kfilemetadata-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kfilemetadata-5.51.0.tar.xz";
+      sha256 = "04yyvdm1agpmrjifcphfirsrjl326z20qfvibx4nzxaxzzqkbnyn";
+      name = "kfilemetadata-5.51.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kglobalaccel-5.50.0.tar.xz";
-      sha256 = "1dwp9h7lf1lagwhm2yd2wx130s1kacjinw95f4sznxdw943vp1b3";
-      name = "kglobalaccel-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kglobalaccel-5.51.0.tar.xz";
+      sha256 = "1bq5g4ff0zkgrvwvy4zk6b03zr6syqz00hsldb3ki3gxld246gkh";
+      name = "kglobalaccel-5.51.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kguiaddons-5.50.0.tar.xz";
-      sha256 = "1apz11issmj8c8zw4l88grl38m6nhgwpxb1j9h9v6khjvkwxr987";
-      name = "kguiaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kguiaddons-5.51.0.tar.xz";
+      sha256 = "1p8db1sxh9n1pb4f96wc0b1rzgfyxafawfrcxflcbxxmfb4fj29f";
+      name = "kguiaddons-5.51.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kholidays-5.50.0.tar.xz";
-      sha256 = "0zjkmsjq4m7d2gmsa0m613ny92xcb3w9zbkbsvnh8ci7ghiscz1j";
-      name = "kholidays-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kholidays-5.51.0.tar.xz";
+      sha256 = "0nkmk7kb3jywc4p47k7hr5dzlzz47a20bjynvzx3rhn1rhfr0b5s";
+      name = "kholidays-5.51.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/khtml-5.50.0.tar.xz";
-      sha256 = "1r1qz3pyqifrzinjz83rhb5fgw5si8xmac7jkmn8w82j2kb41bxa";
-      name = "khtml-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/khtml-5.51.0.tar.xz";
+      sha256 = "1p61cn9wixs0zph79zlqsw9bqz0izysvag4b45jbxa8r9lfjr8cc";
+      name = "khtml-5.51.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ki18n-5.50.0.tar.xz";
-      sha256 = "1y6baizaynphbsfc2b93dh2nah23jh8a3rcbqn7whrdln0f31z19";
-      name = "ki18n-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ki18n-5.51.0.tar.xz";
+      sha256 = "14yk52r9zabnhy8hs2xw9iq325f2q13cv41rbss24l99iggxq6bj";
+      name = "ki18n-5.51.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kiconthemes-5.50.0.tar.xz";
-      sha256 = "0ip0py0lx3rhjg6wzhdxrbzckmq4n1pnfbzm996wqka6aa4dwzry";
-      name = "kiconthemes-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kiconthemes-5.51.0.tar.xz";
+      sha256 = "13swrvqsh9n9sp54kkmw3kj10z37ykf4185n3l3dsbfb7qm3m0c9";
+      name = "kiconthemes-5.51.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kidletime-5.50.0.tar.xz";
-      sha256 = "1kqghslwvis72h1sw6r4vrwsz0mwqzf5shj6m5mxqk6jv9wbfni1";
-      name = "kidletime-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kidletime-5.51.0.tar.xz";
+      sha256 = "08galc5l9a479fm1xmraic60gf0y5r614r3075az22af4hvn37d0";
+      name = "kidletime-5.51.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kimageformats-5.50.0.tar.xz";
-      sha256 = "0kndxzkcjm9syb6k7zzw2jxdfm1gw6gasq78issypxwc1zci5nvb";
-      name = "kimageformats-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kimageformats-5.51.0.tar.xz";
+      sha256 = "1g1xsy7n9bw7qjv74wchfdb1kibl1h81bf2f6w1j9d4pfdvks19z";
+      name = "kimageformats-5.51.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kinit-5.50.0.tar.xz";
-      sha256 = "1lgalvd81skdncdhd0pwng0vvy54f5wi2wwpqcil22y3860jfb4i";
-      name = "kinit-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kinit-5.51.0.tar.xz";
+      sha256 = "1ds4yqxicq659rdq1nmlvm74r50ibbyypfgp93nh5hv6j8m90r0l";
+      name = "kinit-5.51.0.tar.xz";
     };
   };
   kio = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kio-5.50.0.tar.xz";
-      sha256 = "1bnjal43rpsbabwq756xswj1cbhbrqxgjpjccjgxqml7csa3yhh1";
-      name = "kio-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kio-5.51.0.tar.xz";
+      sha256 = "1iqwj9fcrlvfish8pqx1wfg9cy9pv9jhddghf0vi83z56ysxz0y0";
+      name = "kio-5.51.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kirigami2-5.50.0.tar.xz";
-      sha256 = "0jc4xrs0il5b7s7hzi4ff7jn30r8kgg4fzqxrhwqix9rcxn3nrxl";
-      name = "kirigami2-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kirigami2-5.51.0.tar.xz";
+      sha256 = "1adsfvg7jffpvgcxiicwfxki6pgqp8fiiy0waklp5v6pw7ilfymx";
+      name = "kirigami2-5.51.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kitemmodels-5.50.0.tar.xz";
-      sha256 = "1c4yfqibizrm0zw9kijgkx4pq0r9f12nrw2dnw90g8q7s0pg7q36";
-      name = "kitemmodels-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kitemmodels-5.51.0.tar.xz";
+      sha256 = "02dh3bbjzm5mps2q9ngacwqs1lj6f77pfsgj6205nl4y2q19x0vf";
+      name = "kitemmodels-5.51.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kitemviews-5.50.0.tar.xz";
-      sha256 = "0wghvj5f1xkm9rf6rg50m399z25m1rfvd67ixr0lqwnhag1r32n8";
-      name = "kitemviews-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kitemviews-5.51.0.tar.xz";
+      sha256 = "1jarijishc1a84bvz70bq5sjnhr4hfk15dvbhs7lzrf7pnf8cac4";
+      name = "kitemviews-5.51.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kjobwidgets-5.50.0.tar.xz";
-      sha256 = "0jc7hiid2b2bpj0xw2clrzkplnqi7x1lhh5za2c37dlynndy609q";
-      name = "kjobwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kjobwidgets-5.51.0.tar.xz";
+      sha256 = "07lbnwmlrf09pwx123ccwafjkcf0kindxyh33icwld7bac2jaxip";
+      name = "kjobwidgets-5.51.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kjs-5.50.0.tar.xz";
-      sha256 = "1jfdcg725mwcfigqhp2srshvj7vhzxb3yhpwij8c0gwmzm0h1lxv";
-      name = "kjs-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kjs-5.51.0.tar.xz";
+      sha256 = "01g02m3frb4cq690wqr0f45848ghhyf2xrz3cizg93m70i5c393w";
+      name = "kjs-5.51.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kjsembed-5.50.0.tar.xz";
-      sha256 = "1iacz8x0idlswg0lwiv2i1k2qklhkk6ih6nhkajq4dy6ajnpbn7a";
-      name = "kjsembed-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kjsembed-5.51.0.tar.xz";
+      sha256 = "0ml07jbjhzd67f486dawb7hi6dybcya81hmz2ma1dqrxlbyv4kml";
+      name = "kjsembed-5.51.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kmediaplayer-5.50.0.tar.xz";
-      sha256 = "0wz8ln45wkslh5c7dq8dijj19xr1xqxi5svv58a3hr5vbcyw3sjm";
-      name = "kmediaplayer-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kmediaplayer-5.51.0.tar.xz";
+      sha256 = "09xa925zzqi3ga1rja81f7zzk6yfr3pflagr3i8k5z60m3gzalh6";
+      name = "kmediaplayer-5.51.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knewstuff-5.50.0.tar.xz";
-      sha256 = "1imh0hl056hpmrvdlmb68v0wclx3isr6l8sdqrzh3snmjm3jdwhd";
-      name = "knewstuff-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knewstuff-5.51.0.tar.xz";
+      sha256 = "1kj8hs8wzagbd7g9ryc5jgwfwk97m4q64yk0nz297jviakfdkcwa";
+      name = "knewstuff-5.51.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knotifications-5.50.0.tar.xz";
-      sha256 = "0xj62kbrlq4ib7kibwrmsbf84nv6klbh3v7rb34alacvvaf5lljs";
-      name = "knotifications-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knotifications-5.51.0.tar.xz";
+      sha256 = "0v37bi67r0i7bk3nk6hyvmz2jgf1hpfsy64qgg4c836l3bcfp8kz";
+      name = "knotifications-5.51.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/knotifyconfig-5.50.0.tar.xz";
-      sha256 = "01l4wn9khdd28rbi2qbpaqrgjp6achg6wbpaixwph2y2g9zgixdz";
-      name = "knotifyconfig-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/knotifyconfig-5.51.0.tar.xz";
+      sha256 = "0bnlgbpslsbzxfkwns5m8n5dydz61w50giyynl1yjjrkknz2qisn";
+      name = "knotifyconfig-5.51.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpackage-5.50.0.tar.xz";
-      sha256 = "0bx1hzjl5m9893s97mlhrrshagfkng36rxa0bwm7y8sbh4rnnj8p";
-      name = "kpackage-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpackage-5.51.0.tar.xz";
+      sha256 = "0zlpw2i6q470xrn9h8i9c7siwnm5z355li4c0q431hjj1nrmh6b8";
+      name = "kpackage-5.51.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kparts-5.50.0.tar.xz";
-      sha256 = "1zwa0pyy0sa3j0yrdggl33gx3a48zvz68nl8r7b7ak445iwmx821";
-      name = "kparts-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kparts-5.51.0.tar.xz";
+      sha256 = "0m7qrigy6hsrxfkcc17ciqnk5inikpw0ksaj1s31hjkgfpnp40hh";
+      name = "kparts-5.51.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpeople-5.50.0.tar.xz";
-      sha256 = "0vc81g2i5wznfav4nh5c8cp31aridiwg9ksg0gaa2q41882w560b";
-      name = "kpeople-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpeople-5.51.0.tar.xz";
+      sha256 = "0639adbg61drp58c6gz0xca0rhgqzk3ny3cz4p5w95r9c8mq4wvr";
+      name = "kpeople-5.51.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kplotting-5.50.0.tar.xz";
-      sha256 = "18xw8q426sapim7532f0syb5nwf0vhx9h6xp52lyljj98l88vydw";
-      name = "kplotting-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kplotting-5.51.0.tar.xz";
+      sha256 = "0dngxcaw49i05kz5rk48k7pd85bklbiinv3444xvz8rg1xq1vvhh";
+      name = "kplotting-5.51.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kpty-5.50.0.tar.xz";
-      sha256 = "0slk8nwh94p8xp3q91wmda2v3ipmsvd4fpdsdfz4w2j0kh6nd6w5";
-      name = "kpty-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kpty-5.51.0.tar.xz";
+      sha256 = "1wqg42a72gqgr94p780i2vhzl3m16dc0kf9nsqyaaalw9k31qk0p";
+      name = "kpty-5.51.0.tar.xz";
     };
   };
   kross = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/portingAids/kross-5.50.0.tar.xz";
-      sha256 = "1g0i34z4rhrsnq41plavq880r3c17fki69vs3wjvzmybfn0klha2";
-      name = "kross-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/portingAids/kross-5.51.0.tar.xz";
+      sha256 = "139kgp052zqy51r8fyv0d62ci01ampg8na1hkkvmz69x0wqgqwv1";
+      name = "kross-5.51.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/krunner-5.50.0.tar.xz";
-      sha256 = "03igg111n7c6ys0xm075hlr8k0g599pwgha7wi02k8dbbc2q20g8";
-      name = "krunner-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/krunner-5.51.0.tar.xz";
+      sha256 = "0ij0ql1v0263891kcbpg8bjgf3v73lx298qdjysr01ib3jpy7r7f";
+      name = "krunner-5.51.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kservice-5.50.0.tar.xz";
-      sha256 = "0y0yk1gr7nd0svk4vkbyy1igy2klmwmsv8wwx1bvfkkg3yshz199";
-      name = "kservice-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kservice-5.51.0.tar.xz";
+      sha256 = "1q0m9cvdb67dv81v4vsxql3cg7g7j6ibrb49c1y0wy3bxg7ahn7g";
+      name = "kservice-5.51.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ktexteditor-5.50.0.tar.xz";
-      sha256 = "00h75yy17npwzhz572k1784h2gw5gynhl9gxbj0i9zbis1nfi1m2";
-      name = "ktexteditor-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ktexteditor-5.51.0.tar.xz";
+      sha256 = "0gyb2sy759crw5xx9dhwk5wdrl3hxalab9c7v6aikfhn5c1jhd1w";
+      name = "ktexteditor-5.51.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/ktextwidgets-5.50.0.tar.xz";
-      sha256 = "18z108si2cr38np3wcd7hkjjqhs661j2xv0zf8837mm9di4bgjiz";
-      name = "ktextwidgets-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/ktextwidgets-5.51.0.tar.xz";
+      sha256 = "185pyxq97ggv2yxnhiw0kw8ykfvqgj2y4qbrhl2xji00fgmgbsb3";
+      name = "ktextwidgets-5.51.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kunitconversion-5.50.0.tar.xz";
-      sha256 = "0f37ap98rzc575vjf1hhh51bbjvgn00g9mdnp9x3lmi5l6npvwj4";
-      name = "kunitconversion-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kunitconversion-5.51.0.tar.xz";
+      sha256 = "0acnpnc1k1n1z4nfrnnr1jq4a301qdvsap19s3if6cahn1g9f1c6";
+      name = "kunitconversion-5.51.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwallet-5.50.0.tar.xz";
-      sha256 = "14hlcly6x9ybczxg63nwsgv7kah1sx0haxlyllma4rwmh8a85ji5";
-      name = "kwallet-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwallet-5.51.0.tar.xz";
+      sha256 = "1n5wzqk7cxssaxmw7ginl57gl0kg7ihzi57znzjzpffpfzl67faj";
+      name = "kwallet-5.51.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwayland-5.50.0.tar.xz";
-      sha256 = "021pqsv59svj6j4g6alcgrsdi5bybx8i1skpf1v5nf5fc6f17bqb";
-      name = "kwayland-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwayland-5.51.0.tar.xz";
+      sha256 = "1d5nbwyx6n17cbif9nmj9lxnxj1bvcs20hri8q6750h5x5ad7xp2";
+      name = "kwayland-5.51.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwidgetsaddons-5.50.0.tar.xz";
-      sha256 = "0yvd1b15vjk03jdwpyd97z1wn892amp3jkx3s7ff8nc8ax7fyc4m";
-      name = "kwidgetsaddons-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwidgetsaddons-5.51.0.tar.xz";
+      sha256 = "04ryzr9p08jw4azbnvdmvr6ac157vp5l5lng2dvk8fmsvda9nx2p";
+      name = "kwidgetsaddons-5.51.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kwindowsystem-5.50.0.tar.xz";
-      sha256 = "0gmk7hp4z7ly6hm0z479hv5vqlmzfr4c9p6r572agzbpc8m682v9";
-      name = "kwindowsystem-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kwindowsystem-5.51.0.tar.xz";
+      sha256 = "1hl1dh21rxq58k799iyfcr6mwmc8pgbd8w3mcav61ls0217apxx1";
+      name = "kwindowsystem-5.51.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kxmlgui-5.50.0.tar.xz";
-      sha256 = "1ga81jd0ad5jkb9wdh5hwzzq9axw6pcy4jz1vlc9s2xywyaq931l";
-      name = "kxmlgui-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kxmlgui-5.51.0.tar.xz";
+      sha256 = "0cj2rwbas6rs61hk5w8gklcdpxhsycdfhymg94cdkmdsmkrqvdnw";
+      name = "kxmlgui-5.51.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/kxmlrpcclient-5.50.0.tar.xz";
-      sha256 = "03xqxb08kbzs1m0sxpgq8lzf4809kkhl7yc17svq7y00xgq3h36r";
-      name = "kxmlrpcclient-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/kxmlrpcclient-5.51.0.tar.xz";
+      sha256 = "0fsfplx5dk0p327r0cncxv0b0mdqfbrj4778a5fbyh3zr17rgd47";
+      name = "kxmlrpcclient-5.51.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/modemmanager-qt-5.50.0.tar.xz";
-      sha256 = "1w7im3ihcpqvjiw7rj7iakxpyhzlaams0r900kh0mv4zfdyl9szs";
-      name = "modemmanager-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/modemmanager-qt-5.51.0.tar.xz";
+      sha256 = "0pvypijbwb95nzx58mhkcz06br6x7z5gagkxgwi5qbgkjg57nf0a";
+      name = "modemmanager-qt-5.51.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/networkmanager-qt-5.50.0.tar.xz";
-      sha256 = "168bzsvsh3i1w3840nickg7rv0hncaiiv6sc1sycg4n6v7773dzl";
-      name = "networkmanager-qt-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/networkmanager-qt-5.51.0.tar.xz";
+      sha256 = "15isj6gma8vb7kpaniq2qacfsl4qzdancxbbndbx4vz452wn8vdx";
+      name = "networkmanager-qt-5.51.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/oxygen-icons5-5.50.0.tar.xz";
-      sha256 = "1ajx9y4wqzi55dmz360j7ha987m3wzs2zbnrm49lipgd55c8n3nc";
-      name = "oxygen-icons5-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/oxygen-icons5-5.51.0.tar.xz";
+      sha256 = "0c6jbd5m3k98bsmapaaaqsrbk3d4ij0k41gb1j2dpc8hfni1i7gh";
+      name = "oxygen-icons5-5.51.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/plasma-framework-5.50.0.tar.xz";
-      sha256 = "01p0friqdhzjkssd655rdsfxp2hdqaf34ypqzx7xwnw3wj1971r8";
-      name = "plasma-framework-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/plasma-framework-5.51.0.tar.xz";
+      sha256 = "1ps40ch729fsn4g3mnjk0ka1jldj8lzg2mh3lh7afm0vkcxm9b4n";
+      name = "plasma-framework-5.51.0.tar.xz";
     };
   };
   prison = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/prison-5.50.0.tar.xz";
-      sha256 = "1v62dq44li0wwrgiiwad2hjj2vzcypa3i9qp0gwc8kkzg162b62d";
-      name = "prison-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/prison-5.51.0.tar.xz";
+      sha256 = "1km2zkj26ymc7lr32x1a001070jj12qnckb2spv67p5cakxrlhan";
+      name = "prison-5.51.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/purpose-5.50.0.tar.xz";
-      sha256 = "11m5391mjf4r89frvvdq9jlkylp67h87x0g3mx00yfc004bsyi6f";
-      name = "purpose-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/purpose-5.51.0.tar.xz";
+      sha256 = "0pmmwjxaplccc7shyb4199adg0gmm7w1jj4z21mds1mj37p4n0l8";
+      name = "purpose-5.51.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/qqc2-desktop-style-5.50.0.tar.xz";
-      sha256 = "0ml88m6hb1llzl7kaykkny7v717grvzh8jnlwdyla2lv4rvvz7d8";
-      name = "qqc2-desktop-style-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/qqc2-desktop-style-5.51.0.tar.xz";
+      sha256 = "1ahga7q6z1d9s2xm9fa4xvdikvywzpdk9098lms7cgzk3jrh0dxi";
+      name = "qqc2-desktop-style-5.51.0.tar.xz";
     };
   };
   solid = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/solid-5.50.0.tar.xz";
-      sha256 = "1y8sclp8lqf4hkqvbm1mmklrjvkxpvz3bb8qqbi5xhd5p9vf6z0h";
-      name = "solid-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/solid-5.51.0.tar.xz";
+      sha256 = "0rgsjz44jxqiy1nqxa03mymz7bjzcxf5xfyf0cnn0gkz4w8wc1bd";
+      name = "solid-5.51.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/sonnet-5.50.0.tar.xz";
-      sha256 = "13ddp5l9vnyqg05xadc4d1j0xfl8ain4qprq3iw82ygrchyrzm0d";
-      name = "sonnet-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/sonnet-5.51.0.tar.xz";
+      sha256 = "05srs168psqpsdlgx2b4f4ik613yl2cgn4zz495c0wd36500zza4";
+      name = "sonnet-5.51.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/syndication-5.50.0.tar.xz";
-      sha256 = "1i73blq2fdzvzfg1p6715fv5m40yd6vcvnbg1pfmbr3696qy4mb3";
-      name = "syndication-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/syndication-5.51.0.tar.xz";
+      sha256 = "0ngygkwmc8a9132a02x29k998i5l5a6lnk8j6lf0phpp6pvwi9yf";
+      name = "syndication-5.51.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/syntax-highlighting-5.50.0.tar.xz";
-      sha256 = "10iw8fhqgvsn4jgf81d9xy8aac07acn45rysnvj9wpm3cmxqxmd4";
-      name = "syntax-highlighting-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/syntax-highlighting-5.51.0.tar.xz";
+      sha256 = "0lhdm55x23289nmjk12g5f6l4glmw2jmi9cj7792scxqfrwnv8s7";
+      name = "syntax-highlighting-5.51.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.50.0";
+    version = "5.51.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.50/threadweaver-5.50.0.tar.xz";
-      sha256 = "11j82nq5pr7rk94bnfzanpj3b41dqjl9cgk2b3h326y7bphcrkyf";
-      name = "threadweaver-5.50.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.51/threadweaver-5.51.0.tar.xz";
+      sha256 = "17daaaj6p8bsmcllxqs2a1ywidcb6rg1s1ichn0isk69gzyv5xlm";
+      name = "threadweaver-5.51.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index b01d902fd91a..259975815d8e 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "1.5.0";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
-    sha256 = "1plx111mfci8z33mwy56y54n597gi8965s7bmnribkk8bvdn10dy";
+    sha256 = "0drn8wdl4mwqz84lwc7cjmc6pxj2jwpx7n2dxwzwj43ps624zhbj";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/lesstif/default.nix b/pkgs/development/libraries/lesstif/default.nix
index 04e8eab4d287..b678a0893867 100644
--- a/pkgs/development/libraries/lesstif/default.nix
+++ b/pkgs/development/libraries/lesstif/default.nix
@@ -14,12 +14,15 @@ stdenv.mkDerivation rec {
   # in Debian, so we assume they have been sent upstream.
   #
   patches = [
-    ./c-missing_xm_h.patch        
-    ./c-render_table_crash.patch 
+    ./c-missing_xm_h.patch
+    ./c-render_table_crash.patch
     ./c-xpmpipethrough.patch
     ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "An open source clone of the Motif widget set";
+    homepage = http://lesstif.sourceforge.net;
+    platforms = platforms.unix;
+    license = with licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libHX/default.nix b/pkgs/development/libraries/libHX/default.nix
index 7de72ed73a65..39f493d821c3 100644
--- a/pkgs/development/libraries/libHX/default.nix
+++ b/pkgs/development/libraries/libHX/default.nix
@@ -16,14 +16,15 @@ stdenv.mkDerivation rec {
     sh autogen.sh
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libhx.sourceforge.net/;
     longDescription = ''
       libHX is a C library (with some C++ bindings available) that provides data structures
       and functions commonly needed, such as maps, deques, linked lists, string formatting
       and autoresizing, option and config file parsing, type checking casts and more.
       '';
-    maintainers = [ stdenv.lib.maintainers.tstrobel ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = [ maintainers.tstrobel ];
+    platforms = platforms.linux;
+    license = with licenses; [ gpl3 lgpl21Plus wtfpl ];
   };
 }
diff --git a/pkgs/development/libraries/libaccounts-glib/default.nix b/pkgs/development/libraries/libaccounts-glib/default.nix
index 4bb806b91d8a..16e9f213ed48 100644
--- a/pkgs/development/libraries/libaccounts-glib/default.nix
+++ b/pkgs/development/libraries/libaccounts-glib/default.nix
@@ -25,7 +25,9 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # since glib-2.46
 
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
+  meta = with stdenv.lib; {
+    description = "Library for managing accounts which can be used from GLib applications";
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index b94c845479aa..a08a1e335232 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -18,5 +18,6 @@ stdenv.mkDerivation rec {
     homepage    = https://aomedia.org/av1-features/get-started/;
     maintainers = with maintainers; [ kiloreux ];
     platforms   = platforms.all;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libaosd/default.nix b/pkgs/development/libraries/libaosd/default.nix
new file mode 100644
index 000000000000..e63bfd20c797
--- /dev/null
+++ b/pkgs/development/libraries/libaosd/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cairo, pango,
+  libX11, libXcomposite, autoconf, automake }:
+
+stdenv.mkDerivation rec {
+  version = "0.2.7-9-g177589f";
+  name = "libaosd-${version}";
+
+  src = fetchFromGitHub {
+    owner  = "atheme-legacy";
+    repo   = "libaosd";
+    rev    = "${version}";
+    sha256 = "1cn7k0n74p6jp25kxwcyblhmbdvgw3mikvj0m2jh4c6xccfrgb9a";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+  buildInputs = [ cairo pango libX11 libXcomposite ];
+  enableParallelBuilding = true;
+
+  preConfigure = ''
+    ./autogen.sh
+  '';
+
+  meta = with stdenv.lib; {
+    longDescription = ''
+      libaosd is an advanced on screen display library.
+
+      It supports many modern features like anti-aliased text and
+      composited rendering via XComposite, as well as support for
+      rendering Cairo and Pango layouts.
+    '';
+    homepage = https://github.com/atheme-legacy/libaosd;
+    license = licenses.mit;
+    maintainers = with maintainers; [ unode ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/libbap/default.nix b/pkgs/development/libraries/libbap/default.nix
index 54fb89df0451..5153b63e91c5 100644
--- a/pkgs/development/libraries/libbap/default.nix
+++ b/pkgs/development/libraries/libbap/default.nix
@@ -20,10 +20,11 @@ stdenv.mkDerivation rec {
     mkdir -p $out/include
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/binaryanalysisplatform/bap-bindings;
     description = "A C library for interacting with BAP";
-    maintainers = [ stdenv.lib.maintainers.maurer ];
-    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ maintainers.maurer ];
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libcacard/default.nix b/pkgs/development/libraries/libcacard/default.nix
new file mode 100644
index 000000000000..f116360474e4
--- /dev/null
+++ b/pkgs/development/libraries/libcacard/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig, glib, nss }:
+
+stdenv.mkDerivation rec {
+  name = "libcacard-${version}";
+  version = "2.6.1";
+
+  src = fetchurl {
+    url = "https://www.spice-space.org/download/libcacard/${name}.tar.xz";
+    sha256 = "1w6y0kiakhg7dgyf8yqpm4jj6jiv17zhy9lp3d7z32q1pniccxk2";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ glib nss ];
+
+  meta = with stdenv.lib; {
+    description = "Smart card emulation library";
+    homepage = https://gitlab.freedesktop.org/spice/libcacard;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ yegortimoshenko ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 1342ee6773f7..72c3ca0e2b05 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
-    maintainers = [ ];
     inherit (qt4.meta) platforms;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 9c25757efb03..32b0c9758f73 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -1,12 +1,13 @@
-{ stdenv, fetchbzr, cmake, qtbase }:
+{ stdenv, fetchgit, cmake, qtbase }:
 
-stdenv.mkDerivation {
-  name = "libdbusmenu-qt-0.9.3+14";
+stdenv.mkDerivation rec {
+  name = "libdbusmenu-qt-${version}";
+  version = "0.9.3+16";
 
-  src = fetchbzr {
-    url = "https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
-    rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
-    sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
+  src = fetchgit {
+    url = https://git.launchpad.net/ubuntu/+source/libdbusmenu-qt;
+    rev = "import/${version}.04.20160218-1";
+    sha256 = "039yvklhbmfbcynrbqq9n5ywmj8bjfslnkzcnwpzyhnxdzb6yxlx";
   };
 
   buildInputs = [ qtbase ];
@@ -19,5 +20,6 @@ stdenv.mkDerivation {
     description = "Provides a Qt implementation of the DBusMenu spec";
     maintainers = [ maintainers.ttuegel ];
     inherit (qtbase.meta) platforms;
+    license = licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index 8d264c929a5b..7b3df42c24c3 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -8,9 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "An N-Gram-Based Text Categorization library primarily intended for language guessing";
     homepage = https://wiki.documentfoundation.org/Libexttextcat;
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index 5e94d00dcdb7..d54f9203d23d 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -34,7 +34,10 @@ stdenv.mkDerivation rec {
     ln -s $out/lib/libgdiplus.0.dylib $out/lib/libgdiplus.so
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems";
+    homepage = https://www.mono-project.com/docs/gui/libgdiplus/;
+    platforms = platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
index 29f346e9acfb..0af0a1227f32 100644
--- a/pkgs/development/libraries/libgksu/default.nix
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
-  libstartup_notification, libgtop, perl, perlXMLParser,
+  libstartup_notification, libgtop, perlPackages,
   autoreconfHook, intltool, docbook_xsl, xauth
 }:
 
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gtk2 gnome2.GConf libstartup_notification
-    gnome3.libgnome-keyring libgtop gnome2.libglade perl perlXMLParser
-  ];
+    gnome3.libgnome-keyring libgtop gnome2.libglade
+  ] ++ (with perlPackages; [ perl XMLParser ]);
 
   enableParallelBuilding = true;
 
@@ -30,26 +30,26 @@ stdenv.mkDerivation rec {
         # Patches from the gentoo ebuild
 
         # Fix compilation on bsdc
-	./libgksu-2.0.0-fbsd.patch
+        ./libgksu-2.0.0-fbsd.patch
 
         # Fix wrong usage of LDFLAGS, gentoo bug #226837
-	./libgksu-2.0.7-libs.patch
+        ./libgksu-2.0.7-libs.patch
 
         # Use po/LINGUAS
-	./libgksu-2.0.7-polinguas.patch
+        ./libgksu-2.0.7-polinguas.patch
 
         # Don't forkpty; gentoo bug #298289
-	./libgksu-2.0.12-revert-forkpty.patch
+        ./libgksu-2.0.12-revert-forkpty.patch
 
         # Make this gmake-3.82 compliant, gentoo bug #333961
-	./libgksu-2.0.12-fix-make-3.82.patch
+        ./libgksu-2.0.12-fix-make-3.82.patch
 
         # Do not build test programs that are never executed; also fixes gentoo bug #367397 (underlinking issues).
-	./libgksu-2.0.12-notests.patch
+        ./libgksu-2.0.12-notests.patch
 
         # Fix automake-1.11.2 compatibility, gentoo bug #397411
-	./libgksu-2.0.12-automake-1.11.2.patch
-	];
+        ./libgksu-2.0.12-automake-1.11.2.patch
+  ];
 
   postPatch = ''
     # gentoo bug #467026
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index e7157afbaee5..8dcbab95e976 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation {
 
   meta = {
     inherit (glib.meta) platforms maintainers;
+    license = with stdenv.lib.licenses; [ gpl2 lgpl2 ];
   };
 }
diff --git a/pkgs/development/libraries/libgnurl/default.nix b/pkgs/development/libraries/libgnurl/default.nix
index 33276b424e7c..752d2ce5a1e7 100644
--- a/pkgs/development/libraries/libgnurl/default.nix
+++ b/pkgs/development/libraries/libgnurl/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage    = https://gnunet.org/gnurl;
     maintainers = with maintainers; [ falsifian vrthra ];
     platforms = platforms.linux;
+    license = with licenses; [ bsdOriginal mit ];
   };
 }
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 74aee0f39c7e..f178af349088 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,4 +1,4 @@
-{stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
+{stdenv, lib, fetchurl, gettext, perlPackages, intltool, pkgconfig, glib,
   libxml2, sqlite, zlib, sg3_utils, gdk_pixbuf, taglib,
   libimobiledevice, pythonPackages, mutagen,
   monoSupport ? true, mono, gtk-sharp-2_0
@@ -25,8 +25,9 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
     gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ];
 
-  nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl] ++
-   lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
+  nativeBuildInputs = [ gettext intltool pkgconfig ]
+    ++ (with perlPackages; [ perl XMLParser ])
+    ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
diff --git a/pkgs/development/libraries/libicns/default.nix b/pkgs/development/libraries/libicns/default.nix
index 08d80bcf9856..298d6124505c 100644
--- a/pkgs/development/libraries/libicns/default.nix
+++ b/pkgs/development/libraries/libicns/default.nix
@@ -10,7 +10,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libpng jasper ];
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "Library for manipulation of the Mac OS icns resource format";
+    homepage = https://icns.sourceforge.io;
+    license = with licenses; [ gpl2 lgpl2 lgpl21 ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index 45649f944f51..faa070b3468c 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
       export NIX_LDFLAGS_BEFORE="-rpath $out/lib"
     '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "iODBC driver manager";
     homepage = http://www.iodbc.org;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 7580c1b092e2..0b00cf90ba00 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
     '';
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = with licenses; [ mit isc bsd2 bsd3 ];
   };
 }
 
diff --git a/pkgs/development/libraries/libjson/default.nix b/pkgs/development/libraries/libjson/default.nix
index a53918fd5f77..c83143dd6b13 100644
--- a/pkgs/development/libraries/libjson/default.nix
+++ b/pkgs/development/libraries/libjson/default.nix
@@ -11,10 +11,17 @@ in stdenv.mkDerivation rec {
   buildInputs = [ unzip ];
   makeFlags = [ "prefix=$(out)" ];
   preInstall = "mkdir -p $out/lib";
-  meta = {
+
+  meta = with stdenv.lib; {
     homepage = http://libjson.sourceforge.net/;
     description = "A JSON reader and writer";
-    longDescription = "A JSON reader and writer which is super-effiecient and usually runs circles around other JSON libraries. It's highly customizable to optimize for your particular project, and very lightweight. For Windows, OSX, or Linux. Works in any language.";
-    platforms = stdenv.lib.platforms.unix;
+    longDescription = ''
+      A JSON reader and writer which is super-efficient and
+      usually runs circles around other JSON libraries.
+      It's highly customizable to optimize for your particular project, and
+      very lightweight. For Windows, OSX, or Linux. Works in any language.
+    '';
+    platforms = platforms.unix;
+    license = licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
index 6c7e5881a784..7eff302397aa 100644
--- a/pkgs/development/libraries/libkate/default.nix
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libogg libpng ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A library for encoding and decoding Kate streams";
     longDescription = ''
       This is libkate, the reference implementation of a codec for the Kate
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       in an Ogg container. It can carry Unicode text, images, and animate
       them.'';
     homepage = https://code.google.com/archive/p/libkate/;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfm/default.nix b/pkgs/development/libraries/liblastfm/default.nix
index 331422dd8929..b7d90100837c 100644
--- a/pkgs/development/libraries/liblastfm/default.nix
+++ b/pkgs/development/libraries/liblastfm/default.nix
@@ -18,11 +18,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig which cmake ];
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.SystemConfiguration;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/lastfm/liblastfm;
     repositories.git = git://github.com/lastfm/liblastfm.git;
     description = "Official LastFM library";
     inherit (qt4.meta) platforms;
-    maintainers = with stdenv.lib.maintainers; [ phreedom ];
+    maintainers =  [ maintainers.phreedom ];
+    license = licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblastfmSF/default.nix b/pkgs/development/libraries/liblastfmSF/default.nix
index 73d996c5ec86..d9f460d44e8c 100644
--- a/pkgs/development/libraries/liblastfmSF/default.nix
+++ b/pkgs/development/libraries/liblastfmSF/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = http://liblastfm.sourceforge.net;
     description = "Unofficial C lastfm library";
+    license = stdenv.lib.licenses.gpl3;
   };
 }
diff --git a/pkgs/development/libraries/liblqr-1/default.nix b/pkgs/development/libraries/liblqr-1/default.nix
index 4b445c93175f..aa6922ea3421 100644
--- a/pkgs/development/libraries/liblqr-1/default.nix
+++ b/pkgs/development/libraries/liblqr-1/default.nix
@@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://liblqr.wikidot.com;
     description = "Seam-carving C/C++ library called Liquid Rescaling";
     platforms = platforms.all;
-    maintainers = [ ];
+    license = with licenses; [ gpl3 lgpl3 ];
   };
 }
diff --git a/pkgs/development/libraries/libmilter/default.nix b/pkgs/development/libraries/libmilter/default.nix
index bd0cd9fe9041..7e3c45634d9e 100644
--- a/pkgs/development/libraries/libmilter/default.nix
+++ b/pkgs/development/libraries/libmilter/default.nix
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     description = "Sendmail Milter mail filtering API library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.sendmail;
   };
 }
diff --git a/pkgs/development/libraries/libmms/default.nix b/pkgs/development/libraries/libmms/default.nix
index d1dd7860de4e..7f73fb09cd16 100644
--- a/pkgs/development/libraries/libmms/default.nix
+++ b/pkgs/development/libraries/libmms/default.nix
@@ -12,9 +12,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "Library for downloading (streaming) media files using the mmst and mmsh protocols";
     homepage = http://libmms.sourceforge.net;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
index af8297e98549..52072000115c 100644
--- a/pkgs/development/libraries/libmp3splt/default.nix
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
     description = "Utility to split mp3, ogg vorbis and FLAC files without decoding";
     maintainers = with maintainers; [ bosu ];
     platforms   = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index c3061626a6ae..1d8dd7e20f14 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   # tried to install files to /lib/udev, hopefully OK
   configureFlags = [ "--with-udev=$$bin/lib/udev" ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://libmtp.sourceforge.net;
     description = "An implementation of Microsoft's Media Transfer Protocol";
     longDescription = ''
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
       in the form of a library suitable primarily for POSIX compliant operating
       systems. We implement MTP Basic, the stuff proposed for standardization.
       '';
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/5.x.nix b/pkgs/development/libraries/libmusicbrainz/5.x.nix
index f197d5bcef98..2b59adf8f922 100644
--- a/pkgs/development/libraries/libmusicbrainz/5.x.nix
+++ b/pkgs/development/libraries/libmusicbrainz/5.x.nix
@@ -16,14 +16,14 @@ stdenv.mkDerivation rec {
 
   dontUseCmakeBuildDir=true;
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (5.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/default.nix b/pkgs/development/libraries/libmusicbrainz/default.nix
index 596399c4fa8f..5335b6577f0a 100644
--- a/pkgs/development/libraries/libmusicbrainz/default.nix
+++ b/pkgs/development/libraries/libmusicbrainz/default.nix
@@ -10,14 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "1i9qly13bwwmgj68vma766hgvsd1m75236haqsp9zgh5znlmkm3z";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://musicbrainz.org/doc/libmusicbrainz;
     description = "MusicBrainz Client Library (3.x version)";
     longDescription = ''
       The libmusicbrainz (also known as mb_client or MusicBrainz Client
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnatspec/default.nix b/pkgs/development/libraries/libnatspec/default.nix
index 9b692e9e3b2e..db4f6f5d4688 100644
--- a/pkgs/development/libraries/libnatspec/default.nix
+++ b/pkgs/development/libraries/libnatspec/default.nix
@@ -12,11 +12,11 @@ stdenv.mkDerivation (rec {
 
   buildInputs = [ popt ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://natspec.sourceforge.net/ ;
     description = "A library intended to smooth national specificities in using of programs";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ ];
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
   propagatedBuildInputs = [ libiconv ];
diff --git a/pkgs/development/libraries/libnetfilter_queue/default.nix b/pkgs/development/libraries/libnetfilter_queue/default.nix
index 12a45d088ef6..94b3dc90a0b6 100644
--- a/pkgs/development/libraries/libnetfilter_queue/default.nix
+++ b/pkgs/development/libraries/libnetfilter_queue/default.nix
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libmnl libnfnetlink ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.netfilter.org/projects/libnetfilter_queue/;
     description = "Userspace API to packets queued by the kernel packet filter";
-
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index 1f58545574cd..8582dc4e1d90 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://nice.freedesktop.org/wiki/;
     description = "The GLib ICE implementation";
     longDescription = ''
@@ -24,6 +24,7 @@ stdenv.mkDerivation rec {
 
       It provides a GLib-based library, libnice and a Glib-free library,
       libstun as well as GStreamer elements.'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = with licenses; [ lgpl21 mpl11 ];
   };
 }
diff --git a/pkgs/development/libraries/libnotify/default.nix b/pkgs/development/libraries/libnotify/default.nix
index fbde49a54d08..11f2731eb725 100644
--- a/pkgs/development/libraries/libnotify/default.nix
+++ b/pkgs/development/libraries/libnotify/default.nix
@@ -17,9 +17,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoreconfHook gobjectIntrospection ];
   buildInputs = [ glib gdk_pixbuf ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://developer.gnome.org/notification-spec/;
     description = "A library that sends desktop notifications to a notification daemon";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.lgpl21;
   };
 }
diff --git a/pkgs/development/libraries/libnova/default.nix b/pkgs/development/libraries/libnova/default.nix
index a66a1a88c743..cb70d803ac0c 100644
--- a/pkgs/development/libraries/libnova/default.nix
+++ b/pkgs/development/libraries/libnova/default.nix
@@ -2,15 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "libnova-0.12.3";
-	
+
   src = fetchurl {
     url = "mirror://sourceforge/libnova/${name}.tar.gz";
     sha256 = "18mkx79gyhccp5zqhf6k66sbhv97s7839sg15534ijajirkhw9dc";
   };
-  
-  meta = {
+
+  meta = with stdenv.lib; {
     description = "Celestial Mechanics, Astrometry and Astrodynamics Library";
     homepage = http://libnova.sf.net;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix
index 855d921206e9..ea792b007bae 100644
--- a/pkgs/development/libraries/liboauth/default.nix
+++ b/pkgs/development/libraries/liboauth/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     description = "C library implementing the OAuth secure authentication protocol";
     homepage = http://liboauth.sourceforge.net/;
     repositories.git = https://github.com/x42/liboauth.git;
+    license = licenses.mit;
   };
 
 }
diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix
index 531e30ba7552..8131420cfd65 100644
--- a/pkgs/development/libraries/libofa/default.nix
+++ b/pkgs/development/libraries/libofa/default.nix
@@ -27,12 +27,13 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ expat curl fftw ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://code.google.com/archive/p/musicip-libofa/;
     description = "Library Open Fingerprint Architecture";
     longDescription = ''
       LibOFA (Library Open Fingerprint Architecture) is an open-source audio
       fingerprint created and provided by MusicIP'';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/liboggz/default.nix b/pkgs/development/libraries/liboggz/default.nix
index f6fe9ecd03a0..d7c3b747924a 100644
--- a/pkgs/development/libraries/liboggz/default.nix
+++ b/pkgs/development/libraries/liboggz/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://xiph.org/oggz/;
     description = "A C library and tools for manipulating with Ogg files and streams";
     longDescription = ''
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       interleaving data container developed by Monty at Xiph.Org, originally to
       support the Ogg Vorbis audio format but now used for many free codecs
       including Dirac, FLAC, Speex and Theora.'';
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index f94f327ea02e..267859cb217c 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -50,5 +50,6 @@ stdenv.mkDerivation rec {
     description = "Packet Capture Library";
     platforms = platforms.unix;
     maintainers = with maintainers; [ fpletz ];
+    license = licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index 5afed2b2a2f5..fbee81ab677a 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libpqxx-${version}";
-  version = "6.2.4";
+  version = "6.2.5";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = "libpqxx";
     rev = version;
-    sha256 = "18fkyfa3a917ljmarf3jy8ycdhqzpc47cj87542sjpxnpaj9hy59";
+    sha256 = "15x9xlj2v66w81j90cb438qkrrcqaq4dqrvhllwyqfz4lprqnhh9";
   };
 
   nativeBuildInputs = [ gnused python2 ];
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 422ace462a94..30d8d8a94e9d 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -38,8 +38,10 @@ stdenv.mkDerivation rec {
 
   doCheck = false; # fails 1 out of 17 tests with a segmentation fault
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "C libraries that provide support for the Resource Description Framework (RDF)";
     homepage = http://librdf.org/;
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
index ea24c9da88b9..f91fa192c034 100644
--- a/pkgs/development/libraries/librealsense/default.nix
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "librealsense-${version}";
-  version = "2.15.0";
+  version = "2.16.1";
 
   src = fetchFromGitHub {
     owner = "IntelRealSense";
     repo = "librealsense";
     rev = "v${version}";
-    sha256 = "12918gcn0w5h6bqgx6s44w44bs1x2pcndn2833xzya69rddkdv6x";
+    sha256 = "0vs2vcfmsb574bvdqrfgdmam0p631c738apk0w9mjdqk59zy1bz2";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index 9b5c3d530ebf..1ec15e88f13d 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, cmake, zlib, openssl, libsodium }:
 
 stdenv.mkDerivation rec {
-  name = "libssh-0.7.5";
+  name = "libssh-0.7.6";
 
   src = fetchurl {
-    url = "https://red.libssh.org/attachments/download/218/${name}.tar.xz";
-    sha256 = "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l";
+    url = "https://www.libssh.org/files/0.7/libssh-0.7.6.tar.xz";
+    sha256 = "14hhdpn2hflywsi9d5bz2pfjxqkyi07znjij89cpakr7b4w7sq0x";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libtensorflow/default.nix b/pkgs/development/libraries/libtensorflow/default.nix
index e6cd140c4e4b..f41f6303e014 100644
--- a/pkgs/development/libraries/libtensorflow/default.nix
+++ b/pkgs/development/libraries/libtensorflow/default.nix
@@ -57,6 +57,17 @@ in stdenv.mkDerivation rec {
     ${patchLibs}
     chmod -w $out/lib/libtensorflow.so
     chmod -w $out/lib/libtensorflow_framework.so
+
+    # Write pkgconfig file.
+    mkdir $out/lib/pkgconfig
+    cat > $out/lib/pkgconfig/tensorflow.pc << EOF
+    Name: TensorFlow
+    Version: ${version}
+    Description: Library for computation using data flow graphs for scalable machine learning
+    Requires:
+    Libs: -L$out/lib -ltensorflow
+    Cflags: -I$out/include/tensorflow
+    EOF
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index 73d2db8e9993..e608ea300d1a 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.23.0";
+  version = "1.23.1";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "1yfx99f7qnq3qvcgbnih27dgwfg6c51xw6n6n2c3c1wb3mh95im0";
+    sha256 = "14h8dcyx81sbckbgmqhagncyz8s6z6qzpx0fy8p79whq5hb3f4jg";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 2d83955de696..d26b830e249a 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -6,13 +6,13 @@
 let
   inherit (pythonPackages) python pygobject2;
 in stdenv.mkDerivation rec {
-  name = "libvirt-glib-1.0.0";
+  name = "libvirt-glib-2.0.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://libvirt.org/sources/glib/${name}.tar.gz";
-    sha256 = "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa";
+    sha256 = "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l";
   };
 
   nativeBuildInputs = [ pkgconfig vala ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index c359ea10b665..36606999f534 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, fetchpatch
-, zlib, xz, python2, findXMLCatalogs
+, zlib, xz, python2, ncurses, findXMLCatalogs
 , pythonSupport ? stdenv.buildPlatform == stdenv.hostPlatform
 , icuSupport ? false, icu ? null
 , enableShared ? stdenv.hostPlatform.libc != "msvcrt"
@@ -37,6 +37,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
 
   buildInputs = lib.optional pythonSupport python
+    ++ lib.optional (pythonSupport && python?isPy3 && python.isPy3) ncurses
     # Libxml2 has an optional dependency on liblzma.  However, on impure
     # platforms, it may end up using that from /usr/lib, and thus lack a
     # RUNPATH for that, leading to undefined references for its users.
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index ad6d2df1d8bd..13fbe2b55b67 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, alsaLib, help2man, pkgconfig, xlibsWrapper, python3
-, libxslt, systemd, libusb, libftdi1 }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, help2man, python3,
+  alsaLib, xlibsWrapper, libxslt, systemd, libusb, libftdi1 }:
 
 stdenv.mkDerivation rec {
   name = "lirc-0.10.1";
@@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "1whlyifvvc7w04ahq07nnk1h18wc8j7c6wnvlb6mszravxh3qxcb";
   };
 
+  # Fix installation of Python bindings
+  patches = [ (fetchpatch {
+    url = "https://sourceforge.net/p/lirc/tickets/339/attachment/0001-Fix-Python-bindings.patch";
+    sha256 = "088a39x8c1qd81qwvbiqd6crb2lk777wmrs8rdh1ga06lglyvbly";
+  }) ];
+
   postPatch = ''
     patchShebangs .
 
@@ -24,17 +30,17 @@ stdenv.mkDerivation rec {
     touch lib/lirc/input_map.inc
   '';
 
-  nativeBuildInputs = [ pkgconfig help2man ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig help2man
+    (python3.withPackages (p: with p; [ pyyaml setuptools ])) ];
 
-  buildInputs = [ alsaLib xlibsWrapper libxslt systemd libusb libftdi1 ]
-  ++ (with python3.pkgs; [ python pyyaml setuptools ]);
+  buildInputs = [ alsaLib xlibsWrapper libxslt systemd libusb libftdi1 ];
 
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-systemdsystemunitdir=$(out)/lib/systemd/system"
-    "--enable-uinput" # explicite activation because build env has no uinput
-    "--enable-devinput" # explicite activation because build env has not /dev/input
+    "--enable-uinput" # explicit activation because build env has no uinput
+    "--enable-devinput" # explicit activation because build env has no /dev/input
   ];
 
   installFlags = [
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index ebae2a6c3be0..693260af1c76 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -8,12 +8,12 @@
 
 stdenv.mkDerivation rec {
   name = "mapnik-${version}";
-  version = "3.0.20";
+  version = "3.0.21";
 
   src = fetchzip {
     # this one contains all git submodules and is cheaper than fetchgit
     url = "https://github.com/mapnik/mapnik/releases/download/v${version}/mapnik-v${version}.tar.bz2";
-    sha256 = "05a2hvvk5s4x3wjvh4spd717vd5ri7h0sql7aarpi9jpc5h6xicc";
+    sha256 = "0cq2gbmf1sssg72sq4b5s3x1z6wvl1pzxliymm06flw5bpim5as2";
   };
 
   # a distinct dev output makes python-mapnik fail
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index aca9a237b0c7..ff45162c5a89 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -67,7 +67,7 @@ let
 in
 
 let
-  version = "18.2.1";
+  version = "18.2.2";
   branch  = head (splitString "." version);
 in
 
@@ -81,7 +81,7 @@ let self = stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "0mhhr1id11s1fbdxbvr4a81xjh1nsznpra9dl36bv2hq7mpxqdln";
+    sha256 = "1i3ky3d210vi3f5hlr9la1kspdyv093npndxsbzdklw95aqq5fn3";
   };
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/msgpack/generic.nix b/pkgs/development/libraries/msgpack/generic.nix
index 306becf0c180..de277329961b 100644
--- a/pkgs/development/libraries/msgpack/generic.nix
+++ b/pkgs/development/libraries/msgpack/generic.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
   cmakeFlags = []
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
                            "-DMSGPACK_BUILD_EXAMPLES=OFF"
-    ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "msvcrt")
-                           "-DCMAKE_SYSTEM_NAME=Windows"
     ;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/ndn-cxx/default.nix b/pkgs/development/libraries/ndn-cxx/default.nix
index 1040cb9a9343..a8d7f654a9ff 100644
--- a/pkgs/development/libraries/ndn-cxx/default.nix
+++ b/pkgs/development/libraries/ndn-cxx/default.nix
@@ -1,24 +1,24 @@
-{ stdenv, fetchgit, openssl, doxygen, boost, sqlite, cryptopp, pkgconfig, python, pythonPackages }:
+{ stdenv, fetchFromGitHub, openssl, doxygen, boost, sqlite, pkgconfig, python, pythonPackages }:
 let
-  version = "4c32e7";
+  version = "0.6.3";
 in
 stdenv.mkDerivation {
-  name = "ndn-cxx-0.1-${version}";
-  src = fetchgit {
-    url = "https://github.com/named-data/ndn-cxx.git";
-    rev = "4c32e748863d5165cc0e3d6b54a8383f4836cdf1";
-    sha256 = "18szs3j3ig8wlcqngran0daxaj7j2qsmch0212ids6fymj1hgax4";
+  name = "ndn-cxx-${version}";
+  src = fetchFromGitHub {
+    owner = "named-data";
+    repo = "ndn-cxx";
+    rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00";
+    sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h";
   };
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ openssl doxygen boost sqlite cryptopp python pythonPackages.sphinx];
+  buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx];
   preConfigure = ''
     patchShebangs waf
     ./waf configure \
-      --with-cryptopp=${cryptopp} \
+      --prefix=$out \
+      --with-openssl=${openssl.dev} \
       --boost-includes=${boost.dev}/include \
-      --boost-libs=${boost.out}/lib \
-      --with-examples \
-      --prefix=$out
+      --boost-libs=${boost.out}/lib
   '';
   buildPhase = ''
     ./waf
@@ -45,6 +45,5 @@ stdenv.mkDerivation {
     license = licenses.lgpl3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ maintainers.sjmackenzie ];
-    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index 68bffd4032d2..471684ea7ddc 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -6,6 +6,7 @@
 , enableAsioLib ? false, boost ? null
 , enableGetAssets ? false, libxml2 ? null
 , enableJemalloc ? false, jemalloc ? null
+, enableApp ? !stdenv.hostPlatform.isWindows
 }:
 
 assert enableHpack -> jansson != null;
@@ -35,8 +36,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  configureFlags = [ "--with-spdylay=no" "--disable-examples" "--disable-python-bindings" "--enable-app" ]
-    ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
+  configureFlags = [
+    "--with-spdylay=no"
+    "--disable-examples"
+    "--disable-python-bindings"
+    (stdenv.lib.enableFeature enableApp "app")
+  ] ++ optional enableAsioLib "--enable-asio-lib --with-boost-libdir=${boost}/lib";
 
   #doCheck = true;  # requires CUnit ; currently failing at test_util_localtime_date in util_test.cc
 
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 15bdbb1b48e8..25d4386cec2c 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "nlohmann_json-${version}";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "0585r6ai9x1bhspffn5w5620wxfl1q1gj476brsnaf7wwnr60hwk";
+    sha256 = "1plg9l1avnjsg6khrd88yj9cbzbbkwzpc5synmicqndb35wndn5h";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -18,8 +18,6 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DBuildTests=${if doCheck then "ON" else "OFF"}"
-  ] ++ stdenv.lib.optionals (stdenv.hostPlatform.libc == "msvcrt") [
-    "-DCMAKE_SYSTEM_NAME=Windows"
   ];
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 8d1a2876a375..aad6911036ed 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -10,12 +10,12 @@ assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.18.2";
+  version = "1.19.0";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz";
+    sha256 = "1mhf5bsb58s1xk6hvxl7ly7rd4rpl9z8h07xl1q94brywykg7bgi";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index 358c8cda592f..b47c9a8e5610 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "opencollada-${version}";
 
-  version = "1.6.63";
+  version = "1.6.65";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCOLLADA";
     rev = "v${version}";
-    sha256 = "1x8hz5nkz4lxsf17jv8sdl92dmbbpkqck8jkkc6g32d8gbs3gha1";
+    sha256 = "1vxb0b1dqcfwyhb36gjbn0fjdgn3hb03l68jbs0jzx6i2lh8bsh9";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index 0da66acbde2a..04fdeea1fa0b 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -42,8 +42,8 @@
 
 
 let
-  version = "2.4.5";
-  sha256 = "0saxj3w7j9yb9sa1ig3ccxvh2pk0bj47hp7m6199p1a1fpfjgrrg";
+  version = "2.5.0";
+  sha256 = "1m9n1shhqhjrhbq6fd9fyfccxcgpng37s3lffhlmyrp98zbsnwxy";
 in stdenv.mkDerivation rec {
   name = "postgis-${version}";
 
diff --git a/pkgs/development/libraries/protobuf/generic-v3.nix b/pkgs/development/libraries/protobuf/generic-v3.nix
index 79e4c387cdf5..883dff56f2ee 100644
--- a/pkgs/development/libraries/protobuf/generic-v3.nix
+++ b/pkgs/development/libraries/protobuf/generic-v3.nix
@@ -1,11 +1,12 @@
 { stdenv
 , fetchFromGitHub
-, autoreconfHook, zlib, gmock
+, autoreconfHook, zlib, gmock, which, buildPackages
 , version, sha256
 , ...
 }:
 
-stdenv.mkDerivation rec {
+let
+mkProtobufDerivation = buildProtobuf: stdenv: stdenv.mkDerivation rec {
   name = "protobuf-${version}";
 
   # make sure you test also -A pythonPackages.protobuf
@@ -28,8 +29,10 @@ stdenv.mkDerivation rec {
       --replace 'tmpnam(b)' '"'$TMPDIR'/foo"'
   '';
 
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook buildPackages.which buildPackages.stdenv.cc buildProtobuf ];
+
   buildInputs = [ zlib ];
+  configureFlags = if buildProtobuf == null then [] else [ "--with-protoc=${buildProtobuf}/bin/protoc" ];
 
   enableParallelBuilding = true;
 
@@ -54,4 +57,7 @@ stdenv.mkDerivation rec {
   };
 
   passthru.version = version;
-}
+};
+in mkProtobufDerivation(if (stdenv.buildPlatform != stdenv.hostPlatform)
+                        then (mkProtobufDerivation null buildPackages.stdenv)
+                        else null) stdenv
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 970ee2e5c807..6b61359c8aaa 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -1,5 +1,5 @@
 { qtModule, stdenv, lib, fetchurl
-, qtbase, qtdeclarative, qtlocation, qtsensors, qtwebchannel
+, qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
 , fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
 , bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
@@ -23,7 +23,9 @@ let
 in
 qtModule {
   name = "qtwebkit";
-  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ qtwebchannel ];
+  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ]
+    ++ optional (stdenv.isDarwin && lib.versionAtLeast qtbase.version "5.9.0") qtmultimedia
+    ++ optional (lib.versionAtLeast qtbase.version "5.11.0") qtwebchannel;
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
     ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ])
     ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ hyphen ];
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index cdb5297a6d87..7fe4b504a992 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "range-v3-${version}";
-  version = "0.3.7";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "1zhsz1i4jy97idydg7ay3wazp7v2353vckkli5w9g51jka43h5x2";
+    sha256 = "1s5gj799aa94nfg3r24whq7ck69g0zypf70w14wx64pgwg0424vf";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix
index d0a15e866f7a..bd79e3628a14 100644
--- a/pkgs/development/libraries/rarian/default.nix
+++ b/pkgs/development/libraries/rarian/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, gnome3}:
+{stdenv, fetchurl, pkgconfig, perlPackages, libxml2, libxslt, docbook_xml_dtd_42, gnome3}:
 let
   pname = "rarian";
   version = "0.8.1";
@@ -11,7 +11,8 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ perl perlXMLParser libxml2 libxslt];
+  buildInputs = [ libxml2 libxslt ]
+    ++ (with perlPackages; [ perl XMLParser ]);
   configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat" ];
 
   passthru = {
diff --git a/pkgs/development/libraries/sbc/default.nix b/pkgs/development/libraries/sbc/default.nix
index 0dc9c1afd2b4..b9830b65ffb7 100644
--- a/pkgs/development/libraries/sbc/default.nix
+++ b/pkgs/development/libraries/sbc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libsndfile }:
 
 stdenv.mkDerivation rec {
-  name = "sbc-1.3";
+  name = "sbc-1.4";
 
   src = fetchurl {
     url = "http://www.kernel.org/pub/linux/bluetooth/${name}.tar.xz";
-    sha256 = "02ckd2z51z0h85qgv7x8vv8ybp5czm9if1z78411j53gaz7j4476";
+    sha256 = "1jal98pnrjkzxlkiqy0ykh4qmgnydz9bmsp1jn581p5kddpg92si";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/science/math/cholmod-extra/default.nix b/pkgs/development/libraries/science/math/cholmod-extra/default.nix
new file mode 100644
index 000000000000..537fcb93a87e
--- /dev/null
+++ b/pkgs/development/libraries/science/math/cholmod-extra/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, gfortran, suitesparse, openblas }:
+let
+  suitesparse_ = suitesparse;
+in let
+  # SuiteSparse must use the same openblas
+  suitesparse = suitesparse_.override { inherit openblas; };
+in stdenv.mkDerivation rec {
+
+  name = "${pname}-${version}";
+  pname = "cholmod-extra";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "jluttine";
+    rev = version;
+    sha256 = "0hz1lfp0zaarvl0dv0zgp337hyd8np41kmdpz5rr3fc6yzw7vmkg";
+  };
+
+  buildInputs = [ suitesparse gfortran openblas ];
+
+  buildFlags = [
+    "BLAS=-lopenblas"
+  ];
+
+  installFlags = [
+    "INSTALL_LIB=$(out)/lib"
+    "INSTALL_INCLUDE=$(out)/include"
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/jluttine/cholmod-extra;
+    description = "A set of additional routines for SuiteSparse CHOLMOD Module";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ jluttine ];
+    platforms = with platforms; unix;
+  };
+
+}
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index 4a6aabb447f3..7e58a4c7c982 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipopt-${version}";
-  version = "3.12.10";
+  version = "3.12.11";
 
   src = fetchurl {
     url = "https://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
-    sha256 = "004pd90knnnzcx727knb7ffkabb1ggbskb8s607bfvfgdd7wlli9";
+    sha256 = "1qihlwwqsqpbwpp6zqfa7nrmb55dndppzmdy98897aiknaa2650h";
   };
 
   CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix
new file mode 100644
index 000000000000..37814047f975
--- /dev/null
+++ b/pkgs/development/libraries/science/math/mkl/default.nix
@@ -0,0 +1,85 @@
+{ stdenvNoCC, writeText, fetchurl, rpmextract, undmg }:
+/*
+  Some (but not all) mkl functions require openmp, but Intel does not add these
+  to SO_NEEDED and instructs users to put openmp on their LD_LIBRARY_PATH. If
+  you are using mkl and your library/application is using some of the functions
+  that require openmp, add a setupHook like this to your package:
+
+  setupHook = writeText "setup-hook.sh" ''
+    addOpenmp() {
+        addToSearchPath LD_LIBRARY_PATH ${openmp}/lib
+    }
+    addEnvHooks "$targetOffset" addOpenmp
+  '';
+
+  We do not add the setup hook here, because avoiding it allows this large
+  package to be a fixed-output derivation with better cache efficiency.
+ */
+
+stdenvNoCC.mkDerivation rec {
+  name = "mkl-${version}";
+  version = "${date}.${rel}";
+  date = "2019.0";
+  rel = "117";
+
+  src = if stdenvNoCC.isDarwin
+    then
+      (fetchurl {
+        url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13565/m_mkl_${version}.dmg";
+        sha256 = "1f1jppac7vqwn00hkws0p4njx38ajh0n25bsjyb5d7jcacwfvm02";
+      })
+    else
+      (fetchurl {
+        url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/13575/l_mkl_${version}.tgz";
+        sha256 = "1bf7i54iqlf7x7fn8kqwmi06g30sxr6nq3ac0r871i6g0p3y47sf";
+      });
+
+  buildInputs = if stdenvNoCC.isDarwin then [ undmg ] else [ rpmextract ];
+
+  buildPhase = if stdenvNoCC.isDarwin then ''
+      for f in Contents/Resources/pkg/*.tgz; do
+          tar xzvf $f
+      done
+  '' else ''
+    rpmextract rpm/intel-mkl-common-c-${date}-${rel}-${date}-${rel}.noarch.rpm
+    rpmextract rpm/intel-mkl-core-rt-${date}-${rel}-${date}-${rel}.x86_64.rpm
+  '';
+
+  installPhase = if stdenvNoCC.isDarwin then ''
+      mkdir -p $out/lib
+      cp -r compilers_and_libraries_${version}/mac/mkl/include $out/
+      cp -r compilers_and_libraries_${version}/mac/mkl/lib/* $out/lib/
+      cp -r compilers_and_libraries_${version}/licensing/mkl/en/license.txt $out/lib/
+  '' else ''
+      mkdir -p $out/lib
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/include $out/
+      cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/* $out/lib/
+      cp license.txt $out/lib/
+  '';
+
+  # Per license agreement, do not modify the binary
+  dontStrip = true;
+  dontPatchELF = true;
+
+  # Since these are unmodified binaries from Intel, they do not depend on stdenv
+  # and we can make them fixed-output derivations for cache efficiency.
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = if stdenvNoCC.isDarwin
+    then "1224dln7n8px1rk8biiggf77wjhxh8mzw0hd8zlyjm8i6j8w7i12"
+    else "0d8ai0wi8drp071acqkm1wv6vyg12010y843y56zzi1pql81xqvx";
+
+  meta = with stdenvNoCC.lib; {
+    description = "Intel Math Kernel Library";
+    longDescription = ''
+      Intel Math Kernel Library (Intel MKL) optimizes code with minimal effort
+      for future generations of Intel processors. It is compatible with your
+      choice of compilers, languages, operating systems, and linking and
+      threading models.
+    '';
+    homepage = https://software.intel.com/en-us/mkl;
+    license = [ licenses.issl licenses.unfreeRedistributable ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/suitesparse/4.4.nix b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
new file mode 100644
index 000000000000..1ce56d1e49f7
--- /dev/null
+++ b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
@@ -0,0 +1,100 @@
+{ stdenv, fetchurl, gfortran, openblas
+, enableCuda  ? false, cudatoolkit
+}:
+
+let
+  version = "4.4.4";
+  name = "suitesparse-${version}";
+
+  int_t = if openblas.blas64 then "int64_t" else "int32_t";
+  SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
+in
+stdenv.mkDerivation {
+  inherit name;
+
+  src = fetchurl {
+    url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
+    sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
+  };
+
+  preConfigure = ''
+    mkdir -p $out/lib
+    mkdir -p $out/include
+
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's/METIS .*$/METIS =/' \
+        -e 's/METIS_PATH .*$/METIS_PATH =/' \
+        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
+        -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
+  ''
+  + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's/^[[:space:]]*\(LIB = -lm\) -lrt/\1/'
+  ''
+  + stdenv.lib.optionalString enableCuda ''
+    sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
+        -e 's|^[[:space:]]*\(CUDA_ROOT     =\)|CUDA_ROOT = ${cudatoolkit}|' \
+        -e 's|^[[:space:]]*\(GPU_BLAS_PATH =\)|GPU_BLAS_PATH = $(CUDA_ROOT)|' \
+        -e 's|^[[:space:]]*\(GPU_CONFIG    =\)|GPU_CONFIG = -I$(CUDA_ROOT)/include -DGPU_BLAS -DCHOLMOD_OMP_NUM_THREADS=$(NIX_BUILD_CORES) |' \
+        -e 's|^[[:space:]]*\(CUDA_PATH     =\)|CUDA_PATH = $(CUDA_ROOT)|' \
+        -e 's|^[[:space:]]*\(CUDART_LIB    =\)|CUDART_LIB = $(CUDA_ROOT)/lib64/libcudart.so|' \
+        -e 's|^[[:space:]]*\(CUBLAS_LIB    =\)|CUBLAS_LIB = $(CUDA_ROOT)/lib64/libcublas.so|' \
+        -e 's|^[[:space:]]*\(CUDA_INC_PATH =\)|CUDA_INC_PATH = $(CUDA_ROOT)/include/|' \
+        -e 's|^[[:space:]]*\(NV20          =\)|NV20 = -arch=sm_20 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV30          =\)|NV30 = -arch=sm_30 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NV35          =\)|NV35 = -arch=sm_35 -Xcompiler -fPIC|' \
+        -e 's|^[[:space:]]*\(NVCC          =\) echo|NVCC = $(CUDA_ROOT)/bin/nvcc|' \
+        -e 's|^[[:space:]]*\(NVCCFLAGS     =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
+  '';
+
+  makeFlags = [
+    "PREFIX=\"$(out)\""
+    "INSTALL_LIB=$(out)/lib"
+    "INSTALL_INCLUDE=$(out)/include"
+    "BLAS=-lopenblas"
+    "LAPACK="
+  ];
+
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
+
+  postInstall = ''
+    # Build and install shared library
+    (
+        cd "$(mktemp -d)"
+        for i in "$out"/lib/lib*.a; do
+          ar -x $i
+        done
+        ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lopenblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
+    )
+    for i in umfpack cholmod amd camd colamd spqr; do
+      ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT}
+    done
+
+    # Install documentation
+    outdoc=$out/share/doc/${name}
+    mkdir -p $outdoc
+    cp -r AMD/Doc $outdoc/amd
+    cp -r BTF/Doc $outdoc/bft
+    cp -r CAMD/Doc $outdoc/camd
+    cp -r CCOLAMD/Doc $outdoc/ccolamd
+    cp -r CHOLMOD/Doc $outdoc/cholmod
+    cp -r COLAMD/Doc $outdoc/colamd
+    cp -r CXSparse/Doc $outdoc/cxsparse
+    cp -r KLU/Doc $outdoc/klu
+    cp -r LDL/Doc $outdoc/ldl
+    cp -r RBio/Doc $outdoc/rbio
+    cp -r SPQR/Doc $outdoc/spqr
+    cp -r UMFPACK/Doc $outdoc/umfpack
+  '';
+
+  nativeBuildInputs = [ gfortran ];
+  buildInputs = [ openblas ];
+
+  meta = with stdenv.lib; {
+    homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
+    description = "A suite of sparse matrix algorithms";
+    license = with licenses; [ bsd2 gpl2Plus lgpl21Plus ];
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = with platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index 1ce56d1e49f7..644b3545916c 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -1,31 +1,32 @@
-{ stdenv, fetchurl, gfortran, openblas
+{ stdenv, fetchurl, gfortran, openblas, cmake
 , enableCuda  ? false, cudatoolkit
 }:
 
 let
-  version = "4.4.4";
+  version = "5.3.0";
   name = "suitesparse-${version}";
 
-  int_t = if openblas.blas64 then "int64_t" else "int32_t";
   SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   inherit name;
 
   src = fetchurl {
     url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
-    sha256 = "1zdn1y0ij6amj7smmcslkqgbqv9yy5cwmbyzqc9v6drzdzllgbpj";
+    sha256 = "0gcn1xj3z87wpp26gxn11k8073bxv6jswfd8jmddlm64v09rgrlh";
   };
 
+  dontUseCmakeConfigure = true;
+
   preConfigure = ''
     mkdir -p $out/lib
     mkdir -p $out/include
+    mkdir -p $out/share/doc/${name}
 
     sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
         -e 's/METIS .*$/METIS =/' \
         -e 's/METIS_PATH .*$/METIS_PATH =/' \
-        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION -DLONGBLAS=${int_t}/' \
-        -e '/UMFPACK_CONFIG/ s/$/-DLONGBLAS=${int_t}/'
+        -e '/CHOLMOD_CONFIG/ s/$/-DNPARTITION/'
   ''
   + stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i "SuiteSparse_config/SuiteSparse_config.mk" \
@@ -47,48 +48,56 @@ stdenv.mkDerivation {
         -e 's|^[[:space:]]*\(NVCCFLAGS     =\)|NVCCFLAGS = $(NV20) -O3 -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_60,code=sm_60|'
   '';
 
-  makeFlags = [
-    "PREFIX=\"$(out)\""
-    "INSTALL_LIB=$(out)/lib"
-    "INSTALL_INCLUDE=$(out)/include"
-    "BLAS=-lopenblas"
-    "LAPACK="
-  ];
-
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
 
-  postInstall = ''
-    # Build and install shared library
+  buildPhase = ''
+    runHook preBuild
+
+    # Build individual shared libraries
+    make library        \
+        BLAS=-lopenblas \
+        LAPACK=""       \
+        ${stdenv.lib.optionalString openblas.blas64 "CFLAGS=-DBLAS64"}
+
+    # Build libsuitesparse.so which bundles all the individual libraries.
+    # Bundling is done by building the static libraries, extracting objects from
+    # them and combining the objects into one shared library.
+    mkdir -p static
+    make static AR_TARGET=$(pwd)/static/'$(LIBRARY).a'
     (
-        cd "$(mktemp -d)"
-        for i in "$out"/lib/lib*.a; do
+        cd static
+        for i in lib*.a; do
           ar -x $i
         done
-        ${if enableCuda then cudatoolkit else stdenv.cc.outPath}/bin/${if enableCuda then "nvcc" else "cc"} *.o ${if stdenv.isDarwin then "-dynamiclib" else "--shared"} -o "$out/lib/libsuitesparse${SHLIB_EXT}" -lopenblas ${stdenv.lib.optionalString enableCuda "-lcublas"}
     )
-    for i in umfpack cholmod amd camd colamd spqr; do
-      ln -s libsuitesparse${SHLIB_EXT} "$out"/lib/lib$i${SHLIB_EXT}
-    done
-
-    # Install documentation
-    outdoc=$out/share/doc/${name}
-    mkdir -p $outdoc
-    cp -r AMD/Doc $outdoc/amd
-    cp -r BTF/Doc $outdoc/bft
-    cp -r CAMD/Doc $outdoc/camd
-    cp -r CCOLAMD/Doc $outdoc/ccolamd
-    cp -r CHOLMOD/Doc $outdoc/cholmod
-    cp -r COLAMD/Doc $outdoc/colamd
-    cp -r CXSparse/Doc $outdoc/cxsparse
-    cp -r KLU/Doc $outdoc/klu
-    cp -r LDL/Doc $outdoc/ldl
-    cp -r RBio/Doc $outdoc/rbio
-    cp -r SPQR/Doc $outdoc/spqr
-    cp -r UMFPACK/Doc $outdoc/umfpack
+    ${if enableCuda then "${cudatoolkit}/bin/nvcc" else "${stdenv.cc.outPath}/bin/cc"} \
+        static/*.o                                                                     \
+        ${if stdenv.isDarwin then "-dynamiclib" else "--shared"}                       \
+        -o "lib/libsuitesparse${SHLIB_EXT}"                                            \
+        -lopenblas                                                                     \
+        ${stdenv.lib.optionalString enableCuda "-lcublas"}
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -r lib $out/
+    cp -r include $out/
+    cp -r share $out/
+
+    # Fix rpaths
+    cd $out
+    find -name \*.so\* -type f -exec \
+      patchelf --set-rpath "$out/lib:${stdenv.lib.makeLibraryPath buildInputs}" {} \;
+
+    runHook postInstall
   '';
 
-  nativeBuildInputs = [ gfortran ];
-  buildInputs = [ openblas ];
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ openblas gfortran.cc.lib ] ++ stdenv.lib.optionals enableCuda [cudatoolkit];
 
   meta = with stdenv.lib; {
     homepage = http://faculty.cse.tamu.edu/davis/suitesparse.html;
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index ba3791a8a8bd..e9b12d169849 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib
 , openssl, libXrandr, libXfixes, libXext, libXrender, libXinerama
 , libjpeg, zlib, spice-protocol, python, pyparsing, glib, cyrus_sasl
-, lz4 }:
+, libcacard, lz4 }:
 
 with stdenv.lib;
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
                   libXrandr libXfixes libXrender libXext libXinerama
-                  python pyparsing glib cyrus_sasl lz4 ];
+                  python pyparsing glib cyrus_sasl libcacard lz4 ];
 
   nativeBuildInputs = [ pkgconfig spice-protocol ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--with-sasl"
-    "--disable-smartcard"
+    "--enable-smartcard"
     "--enable-client"
     "--enable-lz4"
   ];
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 166ea39493bf..92574091558a 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -79,6 +79,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.sqlite.org/;
     license = licenses.publicDomain;
     maintainers = with maintainers; [ eelco np ];
-    platforms = platforms.unix;
+    platforms = platforms.unix ++ platforms.windows;
   };
 }
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index 7c4d275e05fe..636021f1368e 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "5.19.1";
+  version = "5.20";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="160gvz9xk4hvliwb75ry770qdf899kc89ij6r0y7fh60lbjz1far";
+    sha256 ="1c8g9kv4dxrnawnqi4spi2p10s2xs7x75pdfxhbqxgcc97dkgh0b";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index d348f877f722..fe1c275aeda5 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -82,4 +82,6 @@ stdenv.mkDerivation (rec {
   preConfigure = ''
     export CHOST=${stdenv.hostPlatform.config}
   '';
+} // stdenv.lib.optionalAttrs (stdenv.hostPlatform.libc == "msvcrt") {
+  configurePhase = ":";
 })
diff --git a/pkgs/development/node-packages/node-packages-v10.nix b/pkgs/development/node-packages/node-packages-v10.nix
index ae7130375524..e94e8bfff1ed 100644
--- a/pkgs/development/node-packages/node-packages-v10.nix
+++ b/pkgs/development/node-packages/node-packages-v10.nix
@@ -1246,13 +1246,13 @@ let
         sha512 = "mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==";
       };
     };
-    "minizlib-1.1.0" = {
+    "minizlib-1.1.1" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
-        sha512 = "4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz";
+        sha512 = "TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==";
       };
     };
     "mixin-deep-1.3.1" = {
@@ -1327,13 +1327,13 @@ let
         sha512 = "m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==";
       };
     };
-    "npm-packlist-1.1.11" = {
+    "npm-packlist-1.1.12" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "1.1.11";
+      version = "1.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz";
-        sha512 = "CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz";
+        sha512 = "WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==";
       };
     };
     "npmlog-4.1.2" = {
@@ -1719,17 +1719,17 @@ let
       packageName = "semver";
       version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
         sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
       };
     };
-    "semver-5.5.1" = {
+    "semver-5.6.0" = {
       name = "semver";
       packageName = "semver";
-      version = "5.5.1";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz";
-        sha512 = "PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==";
+        url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
+        sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -1831,13 +1831,13 @@ let
         sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     };
-    "sshpk-1.14.2" = {
+    "sshpk-1.15.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.14.2";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
-        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz";
+        sha512 = "mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==";
       };
     };
     "static-extend-0.1.2" = {
@@ -1872,7 +1872,7 @@ let
       packageName = "strip-ansi";
       version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
@@ -2475,7 +2475,7 @@ in
       sources."semver-5.3.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -2502,10 +2502,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.4.0";
+    version = "3.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz";
-      sha512 = "YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.5.0.tgz";
+      sha512 = "qjEE8eIWVyqZhkAFUzytGpOGvLHeX5kXBB6MYyTOCPZBrBlsLyXAAzTsp/hWMbVlg8kVpzDJCZZowIrnKpwmqQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -2555,13 +2555,13 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.3.4"
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."needle-2.2.4"
       sources."nopt-4.0.1"
       sources."npm-bundled-1.0.5"
-      sources."npm-packlist-1.1.11"
+      sources."npm-packlist-1.1.12"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -2581,7 +2581,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
@@ -2606,10 +2606,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "2.16.2";
+    version = "2.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.2.tgz";
-      sha512 = "MYb5lDNvYE3f0UfbZqV6HSMHWOiVveTRbT7+f3IocRgLaEIJTEy1QTuuXOUUuAmbSOkjJ11euYb+qy4HTNZaUg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.3.tgz";
+      sha512 = "W63qZOC9YGr+33JYvZjvhzvYL4YKT2gAywDJQrHvKTL6vmnnSh+GdM3ZdGIIZ6A57YB3NgvQaq/BJ2uYjwn3ZQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index 842e1a165314..dc028435ad0a 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -1246,13 +1246,13 @@ let
         sha512 = "mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==";
       };
     };
-    "minizlib-1.1.0" = {
+    "minizlib-1.1.1" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
-        sha512 = "4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz";
+        sha512 = "TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==";
       };
     };
     "mixin-deep-1.3.1" = {
@@ -1327,13 +1327,13 @@ let
         sha512 = "m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==";
       };
     };
-    "npm-packlist-1.1.11" = {
+    "npm-packlist-1.1.12" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
-      version = "1.1.11";
+      version = "1.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.11.tgz";
-        sha512 = "CxKlZ24urLkJk+9kCm48RTQ7L4hsmgSVzEk0TLGPzzyuFxD7VNgy5Sl24tOLMzQv773a/NeJ1ce1DKeacqffEA==";
+        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.12.tgz";
+        sha512 = "WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==";
       };
     };
     "npmlog-4.1.2" = {
@@ -1719,17 +1719,17 @@ let
       packageName = "semver";
       version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
         sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
       };
     };
-    "semver-5.5.1" = {
+    "semver-5.6.0" = {
       name = "semver";
       packageName = "semver";
-      version = "5.5.1";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz";
-        sha512 = "PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==";
+        url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
+        sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
       };
     };
     "set-blocking-2.0.0" = {
@@ -1831,13 +1831,13 @@ let
         sha512 = "NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==";
       };
     };
-    "sshpk-1.14.2" = {
+    "sshpk-1.15.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.14.2";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
-        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz";
+        sha512 = "mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==";
       };
     };
     "static-extend-0.1.2" = {
@@ -1872,7 +1872,7 @@ let
       packageName = "strip-ansi";
       version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+        url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
         sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
       };
     };
@@ -2475,7 +2475,7 @@ in
       sources."semver-5.3.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -2502,10 +2502,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.4.0";
+    version = "3.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz";
-      sha512 = "YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.5.0.tgz";
+      sha512 = "qjEE8eIWVyqZhkAFUzytGpOGvLHeX5kXBB6MYyTOCPZBrBlsLyXAAzTsp/hWMbVlg8kVpzDJCZZowIrnKpwmqQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -2555,13 +2555,13 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.3.4"
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."needle-2.2.4"
       sources."nopt-4.0.1"
       sources."npm-bundled-1.0.5"
-      sources."npm-packlist-1.1.11"
+      sources."npm-packlist-1.1.12"
       sources."npmlog-4.1.2"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -2581,7 +2581,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
@@ -2606,10 +2606,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "2.16.2";
+    version = "2.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.2.tgz";
-      sha512 = "MYb5lDNvYE3f0UfbZqV6HSMHWOiVveTRbT7+f3IocRgLaEIJTEy1QTuuXOUUuAmbSOkjJ11euYb+qy4HTNZaUg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.3.tgz";
+      sha512 = "W63qZOC9YGr+33JYvZjvhzvYL4YKT2gAywDJQrHvKTL6vmnnSh+GdM3ZdGIIZ6A57YB3NgvQaq/BJ2uYjwn3ZQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/node-packages/node-packages-v8.json b/pkgs/development/node-packages/node-packages-v8.json
index 779e6389bd39..f297614ec38f 100644
--- a/pkgs/development/node-packages/node-packages-v8.json
+++ b/pkgs/development/node-packages/node-packages-v8.json
@@ -125,6 +125,11 @@
 , "ungit"
 , "vue-cli"
 , "@vue/cli"
+, "@webassemblyjs/cli"
+, "@webassemblyjs/repl"
+, "@webassemblyjs/wasm-strip"
+, "@webassemblyjs/wasm-text-gen"
+, "@webassemblyjs/wast-refmt"
 , "webdrvr"
 , "webpack"
 , "webtorrent-cli"
diff --git a/pkgs/development/node-packages/node-packages-v8.nix b/pkgs/development/node-packages/node-packages-v8.nix
index de90e1d188c5..4a6c248e2952 100644
--- a/pkgs/development/node-packages/node-packages-v8.nix
+++ b/pkgs/development/node-packages/node-packages-v8.nix
@@ -49,6 +49,15 @@ let
         sha512 = "aOHQPhsEyaB6p2n+AK981+onHoc+Ork9rcAQVSUJR33wUkGiWRpu6/C685knRyIZVsKeSdG5Q4xMiYeFUhuLzA==";
       };
     };
+    "@babel/generator-7.1.3" = {
+      name = "_at_babel_slash_generator";
+      packageName = "@babel/generator";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.1.3.tgz";
+        sha512 = "ZoCZGcfIJFJuZBqxcY9OjC1KW2lWK64qrX1o4UYL3yshVhwKFYgzpWZ0vvtGMNJdTlvkw0W+HR1VnYN8q3QPFQ==";
+      };
+    };
     "@babel/highlight-7.0.0" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
@@ -58,6 +67,15 @@ let
         sha512 = "UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==";
       };
     };
+    "@babel/parser-7.1.3" = {
+      name = "_at_babel_slash_parser";
+      packageName = "@babel/parser";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz";
+        sha512 = "gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w==";
+      };
+    };
     "@babel/runtime-7.1.2" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
@@ -76,6 +94,15 @@ let
         sha512 = "drxaPByExlcRDKW4ZLubUO4ZkI8/8ax9k9wve1aEthdLKFzjB7XRkOQ0xoTIWGxqdDnWDElkjYq77bt7yrcYJQ==";
       };
     };
+    "@babel/template-7.1.2" = {
+      name = "_at_babel_slash_template";
+      packageName = "@babel/template";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/template/-/template-7.1.2.tgz";
+        sha512 = "SY1MmplssORfFiLDcOETrW7fCLl+PavlwMh92rrGcikQaRq4iWPVH0MpwPpY3etVMx6RnDjXtr6VZYr/IbP/Ag==";
+      };
+    };
     "@babel/types-7.0.0-beta.38" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
@@ -85,6 +112,15 @@ let
         sha512 = "SAtyEjmA7KiEoL2eAOAUM6M9arQJGWxJKK0S9x0WyPOosHS420RXoxPhn57u/8orRnK8Kxm0nHQQNTX203cP1Q==";
       };
     };
+    "@babel/types-7.1.3" = {
+      name = "_at_babel_slash_types";
+      packageName = "@babel/types";
+      version = "7.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.1.3.tgz";
+        sha512 = "RpPOVfK+yatXyn8n4PB1NW6k9qjinrXrRR8ugBN8fD6hCy5RXI6PSbVqpOJBO9oSaY7Nom4ohj35feb0UR9hSA==";
+      };
+    };
     "@cliqz-oss/firefox-client-0.3.1" = {
       name = "_at_cliqz-oss_slash_firefox-client";
       packageName = "@cliqz-oss/firefox-client";
@@ -103,13 +139,13 @@ let
         sha512 = "O/IyiB5pfztCdmxQZg0/xeq5w+YiP3gtJz8d4We2EpLPKzbDVjOrtfLKYgVfm6Ya6mbvDge1uLkSRwaoVCWKnA==";
       };
     };
-    "@commitlint/cli-7.2.0" = {
+    "@commitlint/cli-7.2.1" = {
       name = "_at_commitlint_slash_cli";
       packageName = "@commitlint/cli";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/cli/-/cli-7.2.0.tgz";
-        sha512 = "qFTXZoyi+XFkUXRj1pgcfRw5ao31kPkP/V3c7O8SU52GUVxFo2LM8sFiTF9WEqlgSd7WJA0SGl5tOX/VtCMYEA==";
+        url = "https://registry.npmjs.org/@commitlint/cli/-/cli-7.2.1.tgz";
+        sha512 = "PUHWGoQOx8m6ZSpZPSHb+YISFAvW7jiWvCJOQiViKHZC8CLKu4bjyc/AwP8gBte0RsTGAu1ekiitp5Q0NcLGcA==";
       };
     };
     "@commitlint/config-conventional-7.1.2" = {
@@ -139,40 +175,40 @@ let
         sha512 = "EP/SqX2U2L4AQHglZ2vGM1pvHJOh3sbYtHn1QhtllqEpsdmhuNpVPSGHP/r9OD2h4i90vtnWgZQoskt2MkbknA==";
       };
     };
-    "@commitlint/format-7.2.0" = {
+    "@commitlint/format-7.2.1" = {
       name = "_at_commitlint_slash_format";
       packageName = "@commitlint/format";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/format/-/format-7.2.0.tgz";
-        sha512 = "Vx10wFyP3yfE4tq1x0HWb/vqkZc5+79uWak91sARSu5wG5JVzBvQXxfqOhefOKbVqXGKXlP2yXrSq8fM6YUQ3w==";
+        url = "https://registry.npmjs.org/@commitlint/format/-/format-7.2.1.tgz";
+        sha512 = "1YcL+ZWB8V52oDFQBhSBJjiJOZDt4Vl06O5TkG70BMpre3EQru5KYIN16eEPqfihNw0bj8gSIWcf87Gvh3OrOw==";
       };
     };
-    "@commitlint/is-ignored-7.2.0" = {
+    "@commitlint/is-ignored-7.2.1" = {
       name = "_at_commitlint_slash_is-ignored";
       packageName = "@commitlint/is-ignored";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-7.2.0.tgz";
-        sha512 = "6HCkLSuh4hms72x0EJp9mt9UXq27MRpZtmf7exhBnYqNyd76vMMA7/nGjdULxldr2xyzlzKNjMbh2lpQRD4aog==";
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-7.2.1.tgz";
+        sha512 = "3DsEEKRnj8Bv9qImsxWcGf9BwerDnk5Vs+oK6ELzIwkndHaAZLHyATjmaz/rsc+U+DWiVjgKrrw3xvd/UsoazA==";
       };
     };
-    "@commitlint/lint-7.2.0" = {
+    "@commitlint/lint-7.2.1" = {
       name = "_at_commitlint_slash_lint";
       packageName = "@commitlint/lint";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-7.2.0.tgz";
-        sha512 = "aZAiQggpF638/XmY7EJe5yTEhg4C4GrxWktcdEDMQrRG1phFUPp+AKXBqljDYzrpmptiL9glY3fLO1m5XzA+BA==";
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-7.2.1.tgz";
+        sha512 = "rM7nUyNUJyuKw1MTwJG/wk4twB5YCAG2wzJMn5NqVpGD/qmLOzlZoBl0+CYmuOsbIRAA2rlEV6KZHBk9tTfAdQ==";
       };
     };
-    "@commitlint/load-7.2.0" = {
+    "@commitlint/load-7.2.1" = {
       name = "_at_commitlint_slash_load";
       packageName = "@commitlint/load";
-      version = "7.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/load/-/load-7.2.0.tgz";
-        sha512 = "+7rh1jeYhSMj6+zzZVbo5bMnuWx1nL4c5JJdEq3rMQT6ILI169xlL94sPdkz0to6dDmi4yLgC4/kipyLyynriA==";
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-7.2.1.tgz";
+        sha512 = "FnfmfhPGJqGwILVRznduBejOicNey6p/byfcyxtcBkN2+X96gDuNtqcnGcngCrzPIAgaIrQQcTQDA1/KMtW21A==";
       };
     };
     "@commitlint/message-7.1.2" = {
@@ -688,13 +724,13 @@ let
         sha512 = "eJhofrUCUaItMIH6et8kI7YqHfhjWqGZoTsE+40NRCfAraOMWx+pDzfRfeoAl3qeRAH2HhNj1bkYn70FbUOxuQ==";
       };
     };
-    "@lerna/publish-3.4.1" = {
+    "@lerna/publish-3.4.3" = {
       name = "_at_lerna_slash_publish";
       packageName = "@lerna/publish";
-      version = "3.4.1";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.4.1.tgz";
-        sha512 = "Nd5PT2Ksngo1GHqT6ccmGVfMvoA9MplBvqyzPFIjFIJOgODrJ9IGJAMobxgBQ6xXXShflQ/1dHWk8faTOYKLoQ==";
+        url = "https://registry.npmjs.org/@lerna/publish/-/publish-3.4.3.tgz";
+        sha512 = "baeRL8xmOR25p86cAaS9mL0jdRzdv4dUo04PlK2Wes+YlL705F55cSXeC9npNie+9rGwFyLzCTQe18WdbZyLuw==";
       };
     };
     "@lerna/resolve-symlink-3.3.0" = {
@@ -918,7 +954,7 @@ let
       packageName = "@types/accepts";
       version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz";
+        url = "http://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz";
         sha512 = "jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==";
       };
     };
@@ -927,7 +963,7 @@ let
       packageName = "@types/async";
       version = "2.0.49";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/async/-/async-2.0.49.tgz";
+        url = "http://registry.npmjs.org/@types/async/-/async-2.0.49.tgz";
         sha512 = "Benr3i5odUkvpFkOpzGqrltGdbSs+EVCkEBGXbuR7uT0VzhXKIkhem6PDzHdx5EonA+rfbB3QvP6aDOw5+zp5Q==";
       };
     };
@@ -958,15 +994,6 @@ let
         sha512 = "a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==";
       };
     };
-    "@types/commander-2.12.2" = {
-      name = "_at_types_slash_commander";
-      packageName = "@types/commander";
-      version = "2.12.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/commander/-/commander-2.12.2.tgz";
-        sha512 = "0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q==";
-      };
-    };
     "@types/connect-3.4.32" = {
       name = "_at_types_slash_connect";
       packageName = "@types/connect";
@@ -999,7 +1026,7 @@ let
       packageName = "@types/events";
       version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz";
+        url = "http://registry.npmjs.org/@types/events/-/events-1.2.0.tgz";
         sha512 = "KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==";
       };
     };
@@ -1039,22 +1066,22 @@ let
         sha512 = "A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA==";
       };
     };
-    "@types/node-10.11.4" = {
+    "@types/node-10.11.7" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "10.11.4";
+      version = "10.11.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-10.11.4.tgz";
-        sha512 = "ojnbBiKkZFYRfQpmtnnWTMw+rzGp/JiystjluW9jgN3VzRwilXddJ6aGQ9V/7iuDG06SBgn7ozW9k3zcAnYjYQ==";
+        url = "https://registry.npmjs.org/@types/node/-/node-10.11.7.tgz";
+        sha512 = "yOxFfkN9xUFLyvWaeYj90mlqTJ41CsQzWKS3gXdOMOyPVacUsymejKxJ4/pMW7exouubuEeZLJawGgcNGYlTeg==";
       };
     };
-    "@types/node-8.10.34" = {
+    "@types/node-8.10.36" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.10.34";
+      version = "8.10.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.10.34.tgz";
-        sha512 = "alypNiaAEd0RBGXoWehJ2gchPYCITmw4CYBoB5nDlji8l8on7FsklfdfIs4DDmgpKLSX3OF3ha6SV+0W7cTzUA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.10.36.tgz";
+        sha512 = "SL6KhfM7PTqiFmbCW3eVNwVBZ+88Mrzbuvn9olPsfv43mbiWaFY+nRcz/TGGku0/lc2FepdMbImdMY1JrQ+zbw==";
       };
     };
     "@types/range-parser-1.2.2" = {
@@ -1111,31 +1138,31 @@ let
         sha512 = "te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg==";
       };
     };
-    "@vue/cli-shared-utils-3.0.4" = {
+    "@vue/cli-shared-utils-3.0.5" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.0.4.tgz";
-        sha512 = "st6f/s1nCo45r3yZDYCuWaFME/ECB9Mz4bPxlC9cl/3McMSESJvhnJAlh75DVdsp5teNr8HSzHwfTRfmQtKKyw==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.0.5.tgz";
+        sha512 = "z5vPzUQGZJnRkojqVbDYar8NvGSvB0kUcO0O+Y+xkxVbjZxrq78e9bJFB4PR4QsqQbuBS9v3zawLWY4MhKwKOA==";
       };
     };
-    "@vue/cli-ui-3.0.4" = {
+    "@vue/cli-ui-3.0.5" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.0.4.tgz";
-        sha512 = "tdqcHDyXm/sqO7LQWJ8g1DItez6dJQyeiTn/xJIU/vsTOoUhi2s+PslTB7acPrzgya3j1ORDPJ9nHfkpE0xM8Q==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-3.0.5.tgz";
+        sha512 = "lQ/xdtX/p+yER6tLxAt1oeudsQ4el/BWKqqGolKKydv78nk8AQlcVVH5AsojqqICuDpHO20XFKIp45lXhJ4YnA==";
       };
     };
-    "@vue/cli-ui-addon-webpack-3.0.4" = {
+    "@vue/cli-ui-addon-webpack-3.0.5" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "3.0.4";
+      version = "3.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.0.4.tgz";
-        sha512 = "93cZaZxPUUg/hxxkFNUTrtMNP8Yk2KzI3ndX25yPi2THm5gNPYMXiDE/9s8lzs6kzX2VOO1bxbukOdkJ0ZdkNw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-3.0.5.tgz";
+        sha512 = "DhZ+wIaJnLzcVmkZMWxy0If9Rh68YWhsxeXuxIbcL4tpGBbIdd+44A5CqHWFkTkVma5zWlqckhVuTXUYdstEZw==";
       };
     };
     "@webassemblyjs/ast-1.7.8" = {
@@ -1183,6 +1210,15 @@ let
         sha512 = "TLQxyD9qGOIdX5LPQOPo0Ernd88U5rHkFb8WAjeMIeA0sPjCHeVPaGqUGGIXjUcblUkjuDAc07bruCcNHUrHDA==";
       };
     };
+    "@webassemblyjs/helper-flaten-ast-1.7.8" = {
+      name = "_at_webassemblyjs_slash_helper-flaten-ast";
+      packageName = "@webassemblyjs/helper-flaten-ast";
+      version = "1.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/helper-flaten-ast/-/helper-flaten-ast-1.7.8.tgz";
+        sha512 = "Z6U67Havfc1LsCysc2Wb7FKjSxBXgaEp39wfzjPA86mcctxYv6T+6udzmgD872/s24TZoV4cC65eC78JT0kaeg==";
+      };
+    };
     "@webassemblyjs/helper-fsm-1.7.8" = {
       name = "_at_webassemblyjs_slash_helper-fsm";
       packageName = "@webassemblyjs/helper-fsm";
@@ -1246,6 +1282,15 @@ let
         sha512 = "9X+f0VV+xNXW2ujfIRSXBJENGE6Qh7bNVKqu3yDjTFB3ar3nsThsGBBKdTG58aXOm2iUH6v28VIf88ymPXODHA==";
       };
     };
+    "@webassemblyjs/validation-1.7.8" = {
+      name = "_at_webassemblyjs_slash_validation";
+      packageName = "@webassemblyjs/validation";
+      version = "1.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@webassemblyjs/validation/-/validation-1.7.8.tgz";
+        sha512 = "UmEQX0TMA+uCbaQYA+Z8YwwIr+Y5W5UMaROEh4V+7Ef6HpkFZBn8sHRo5xNQORy2rxkkOSR25tjUK62n6iQlDA==";
+      };
+    };
     "@webassemblyjs/wasm-edit-1.7.8" = {
       name = "_at_webassemblyjs_slash_wasm-edit";
       packageName = "@webassemblyjs/wasm-edit";
@@ -1368,7 +1413,7 @@ let
       packageName = "JSONStream";
       version = "0.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-0.10.0.tgz";
+        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.10.0.tgz";
         sha1 = "74349d0d89522b71f30f0a03ff9bd20ca6f12ac0";
       };
     };
@@ -1377,17 +1422,17 @@ let
       packageName = "JSONStream";
       version = "0.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
+        url = "http://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
         sha1 = "91657dfe6ff857483066132b4618b62e8f4887bd";
       };
     };
-    "JSONStream-1.3.4" = {
+    "JSONStream-1.3.5" = {
       name = "JSONStream";
       packageName = "JSONStream";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz";
-        sha512 = "Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==";
+        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz";
+        sha512 = "E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==";
       };
     };
     "JSV-4.0.2" = {
@@ -1719,7 +1764,7 @@ let
       packageName = "adm-zip";
       version = "0.4.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz";
+        url = "http://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz";
         sha1 = "8606c2cbf1c426ce8c8ec00174447fd49b6eafc1";
       };
     };
@@ -3010,6 +3055,15 @@ let
         sha512 = "oJjo+5e7/vEc2FBK8gUalV0pba4L3VdBIs2EKhOLHLcOd2FgQIVQN9xb0eZ9IjEWyAL7vq6fGJxOvVvdCHNyMw==";
       };
     };
+    "ast-types-0.11.6" = {
+      name = "ast-types";
+      packageName = "ast-types";
+      version = "0.11.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.11.6.tgz";
+        sha512 = "nHiuV14upVGl7MWwFUYbzJ6YlfwWS084CU9EA8HajfYQjMSli5TQi3UTRygGF58LFWVkXxS1rbgRhROEqlQkXg==";
+      };
+    };
     "ast-types-0.9.6" = {
       name = "ast-types";
       packageName = "ast-types";
@@ -3262,13 +3316,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.330.0" = {
+    "aws-sdk-2.334.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.330.0";
+      version = "2.334.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.330.0.tgz";
-        sha512 = "biW3J8S9/b9uqeED2jbBHEbscwIclc0PBiylUkd3lJ5s226Yuv7mwSOfoI2Eogpyg/i97phK3uiUb/Q89/pCpQ==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.334.0.tgz";
+        sha512 = "JiqtB2t/PklHCfo86HA6g6a8CXu5SDNa8XiaQ0rYyVBlzDR41p/s/yNlva3D1/QGiBTojl2fd9ZxBUxKa2Q9cg==";
       };
     };
     "aws-sign-0.2.1" = {
@@ -3469,6 +3523,15 @@ let
         sha1 = "aa9a49fb9081a210f2f4cc6596ca4653b68306e6";
       };
     };
+    "azure-arm-resource-7.0.0" = {
+      name = "azure-arm-resource";
+      packageName = "azure-arm-resource";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/azure-arm-resource/-/azure-arm-resource-7.0.0.tgz";
+        sha512 = "LW1OmW49d5xQo/KDBK2BNfoFVOlP8Gq9yKqP2kz0e6RURl5UXhIfN65Y4GeJramuyGIOXeGPV+NrXrzl1k4d4g==";
+      };
+    };
     "azure-arm-servermanagement-1.1.0" = {
       name = "azure-arm-servermanagement";
       packageName = "azure-arm-servermanagement";
@@ -3496,13 +3559,13 @@ let
         sha1 = "b46cfcf7f1690e4739864dcdb5c8de322e82ec50";
       };
     };
-    "azure-arm-website-0.11.5" = {
+    "azure-arm-website-5.3.0" = {
       name = "azure-arm-website";
       packageName = "azure-arm-website";
-      version = "0.11.5";
+      version = "5.3.0";
       src = fetchurl {
-        url = "http://registry.npmjs.org/azure-arm-website/-/azure-arm-website-0.11.5.tgz";
-        sha1 = "51942423e1238ec19e551926353a8e9f73bc534a";
+        url = "https://registry.npmjs.org/azure-arm-website/-/azure-arm-website-5.3.0.tgz";
+        sha512 = "R2x44/SIGCuTBkRvnZuEjagIMAqcec38HnCl1AEO9NwpEh0HiD9eIa1XEM7j6wa7vHqyQdL7hNwYnCS0QRDkNQ==";
       };
     };
     "azure-asm-compute-0.18.0" = {
@@ -3631,13 +3694,13 @@ let
         sha512 = "ab0LlM5Q3pcKm+V6F6yx2ShzGOTYMcmJvLdL3PQsC9hF+hrYsBdkTCdNZdlPBgrSB8jp5vzhmK83qHGRs14hHw==";
       };
     };
-    "azure-keyvault-1.0.0" = {
+    "azure-keyvault-3.0.4" = {
       name = "azure-keyvault";
       packageName = "azure-keyvault";
-      version = "1.0.0";
+      version = "3.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-keyvault/-/azure-keyvault-1.0.0.tgz";
-        sha1 = "d630f98032aadbb5e72fb04d2da49b368e441c9e";
+        url = "https://registry.npmjs.org/azure-keyvault/-/azure-keyvault-3.0.4.tgz";
+        sha1 = "b7733d8f58d99a66f9ae766451556eb3b058dae5";
       };
     };
     "azure-monitoring-0.10.6" = {
@@ -3649,13 +3712,13 @@ let
         sha512 = "6HNA8VuC5qYvQMjcQt2/zlB7oyAJ7n6KGIYGstS6KS9Orux0peqxlrGPDeQRa4jDNq6ili83KiGc7RhWcgsE4Q==";
       };
     };
-    "azure-servicefabric-0.1.5" = {
+    "azure-servicefabric-2.0.0" = {
       name = "azure-servicefabric";
       packageName = "azure-servicefabric";
-      version = "0.1.5";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-servicefabric/-/azure-servicefabric-0.1.5.tgz";
-        sha1 = "bdc4b378292490ce77e788ee189f291ce5ae25a6";
+        url = "https://registry.npmjs.org/azure-servicefabric/-/azure-servicefabric-2.0.0.tgz";
+        sha512 = "SkMg4vVrQ7Vd7/h8h3qZzURQysV4KJqUIy4pjs/XRjVbCduSePlJ3EOgAl9ed739RWkT906xIAU3tu2Pf5RKFQ==";
       };
     };
     "azure-storage-2.10.1" = {
@@ -4297,13 +4360,13 @@ let
         sha512 = "DpLh5EzMR2kzvX1KIlVC0VkC3iZtHKTgdtZ0a3pglBZdaQFjt5S9g9xd1lE+YvXyfd6mtCeRnrUfOLYiTMlNSw==";
       };
     };
-    "binstall-1.2.0" = {
+    "binstall-1.2.1" = {
       name = "binstall";
       packageName = "binstall";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "http://registry.npmjs.org/binstall/-/binstall-1.2.0.tgz";
-        sha1 = "6b2c0f580b9e3c607f50ef7a22a54ce9fdc8d933";
+        url = "https://registry.npmjs.org/binstall/-/binstall-1.2.1.tgz";
+        sha512 = "mRTtOHr76uwiHuMjAxgK2TY10M99NgeXBFitGrOGXdGyTcAXOq5brPdzVz8y361TO3Chgnce9iQ9jVyv4xMW+Q==";
       };
     };
     "bitfield-0.1.0" = {
@@ -5935,15 +5998,6 @@ let
         sha512 = "Y5uI7Iq/Az6HgJEL6pdw7THVd7jbVOTPwsmcPOBjQL8e3N+pz872kzK5QxYGEy21iRys+iHWV0UZQXDFJo1hyA==";
       };
     };
-    "chokidar-1.6.0" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "http://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz";
-        sha1 = "90c32ad4802901d7713de532dc284e96a63ad058";
-      };
-    };
     "chokidar-1.7.0" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -6646,6 +6700,15 @@ let
         sha512 = "qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==";
       };
     };
+    "colornames-1.1.1" = {
+      name = "colornames";
+      packageName = "colornames";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz";
+        sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
+      };
+    };
     "colors-0.5.1" = {
       name = "colors";
       packageName = "colors";
@@ -6700,6 +6763,15 @@ let
         sha512 = "rhP0JSBGYvpcNQj4s5AdShMeE5ahMop96cTeDl/v9qQQm2fYClE2QXZRi8wLzc+GmXSxdIqqbOIAhyObEXDbfQ==";
       };
     };
+    "colorspace-1.1.1" = {
+      name = "colorspace";
+      packageName = "colorspace";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz";
+        sha512 = "pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==";
+      };
+    };
     "colour-0.7.1" = {
       name = "colour";
       packageName = "colour";
@@ -6772,13 +6844,13 @@ let
         sha512 = "brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==";
       };
     };
-    "command-exists-1.2.7" = {
+    "command-exists-1.2.8" = {
       name = "command-exists";
       packageName = "command-exists";
-      version = "1.2.7";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/command-exists/-/command-exists-1.2.7.tgz";
-        sha512 = "doWDvhXCcW5LK0cIUWrOQ8oMFXJv3lEQCkJpGVjM8v9SV0uhqYXB943538tEA2CiaWqSyuYUGAm5ezDwEx9xlw==";
+        url = "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz";
+        sha512 = "PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==";
       };
     };
     "commander-0.6.1" = {
@@ -6862,15 +6934,6 @@ let
         sha512 = "b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==";
       };
     };
-    "commander-2.13.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz";
-        sha512 = "MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==";
-      };
-    };
     "commander-2.14.1" = {
       name = "commander";
       packageName = "commander";
@@ -8843,13 +8906,13 @@ let
         sha512 = "OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==";
       };
     };
-    "debug-3.2.5" = {
+    "debug-3.2.6" = {
       name = "debug";
       packageName = "debug";
-      version = "3.2.5";
+      version = "3.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz";
-        sha512 = "D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==";
+        url = "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz";
+        sha512 = "mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==";
       };
     };
     "debug-4.1.0" = {
@@ -9464,6 +9527,15 @@ let
         sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
       };
     };
+    "diagnostics-1.1.1" = {
+      name = "diagnostics";
+      packageName = "diagnostics";
+      version = "1.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz";
+        sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
+      };
+    };
     "dicer-0.2.5" = {
       name = "dicer";
       packageName = "dicer";
@@ -9500,13 +9572,13 @@ let
         sha512 = "A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==";
       };
     };
-    "diff2html-2.3.3" = {
+    "diff2html-2.4.0" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "2.3.3";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-2.3.3.tgz";
-        sha1 = "31bb815881c975634c7f3907a5e789341e1560bc";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-2.4.0.tgz";
+        sha1 = "de632384eefa5a7f6b0e92eafb1fa25d22dc88ab";
       };
     };
     "diffie-hellman-5.0.3" = {
@@ -10013,13 +10085,13 @@ let
         sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
       };
     };
-    "duplexify-3.6.0" = {
+    "duplexify-3.6.1" = {
       name = "duplexify";
       packageName = "duplexify";
-      version = "3.6.0";
+      version = "3.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz";
-        sha512 = "fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==";
+        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz";
+        sha512 = "vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==";
       };
     };
     "dynamic-dijkstra-1.0.0" = {
@@ -10148,13 +10220,13 @@ let
         sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742";
       };
     };
-    "editorconfig-0.15.0" = {
+    "editorconfig-0.15.2" = {
       name = "editorconfig";
       packageName = "editorconfig";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.0.tgz";
-        sha512 = "j7JBoj/bpNzvoTQylfRZSc85MlLNKWQiq5y6gwKhmqD2h1eZ+tH4AXbkhEJD468gjDna/XMx2YtSkCxBRX9OGg==";
+        url = "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.2.tgz";
+        sha512 = "GWjSI19PVJAM9IZRGOS+YKI8LN+/sjkSjNyvxL5ucqP9/IqtYNXBaQ/6c/hkPNYQHyOHra2KoXZI/JVpuqwmcQ==";
       };
     };
     "ee-first-1.1.0" = {
@@ -10302,6 +10374,15 @@ let
         sha1 = "9eba6837d16d0982b59f87d889bf754443d52931";
       };
     };
+    "enabled-1.0.2" = {
+      name = "enabled";
+      packageName = "enabled";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz";
+        sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93";
+      };
+    };
     "encodeurl-1.0.2" = {
       name = "encodeurl";
       packageName = "encodeurl";
@@ -10518,6 +10599,15 @@ let
         sha1 = "4168133b42bb05c38a35b1ae4397c8298ab369e0";
       };
     };
+    "env-variable-0.0.5" = {
+      name = "env-variable";
+      packageName = "env-variable";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.5.tgz";
+        sha512 = "zoB603vQReOFvTg5xMl9I1P2PnHsHQQKTEowsKKD7nseUfJq6UWzK+4YtlWUO1nhiQUxe6XMkk+JleSZD1NZFA==";
+      };
+    };
     "envconf-0.0.4" = {
       name = "envconf";
       packageName = "envconf";
@@ -10869,13 +10959,13 @@ let
         sha512 = "D5nG2rErquLUstgUaxJlWB5+gu+U/3VDY0fk/Iuq8y9CUFy/7Y6oF4N2cR1tV8knzQvciIbfqfohd359xTLIKQ==";
       };
     };
-    "eslint-5.6.1" = {
+    "eslint-5.7.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "5.6.1";
+      version = "5.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-5.6.1.tgz";
-        sha512 = "hgrDtGWz368b7Wqf+v1Z69O3ZebNR0+GA7PtDdbmuz4rInFVUV9uw7whjZEiWyLzCjVb5Rs5WRN1TAS6eo7AYA==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-5.7.0.tgz";
+        sha512 = "zYCeFQahsxffGl87U2aJ7DPyH8CbWgxBC213Y8+TCanhUTf2gEvfq3EKpHmEcozTLyPmGe9LZdMAwC/CpJBM5A==";
       };
     };
     "eslint-plugin-no-unsafe-innerhtml-1.0.16" = {
@@ -11166,15 +11256,6 @@ let
         sha1 = "8c7ac44b87baab55cd50c828dc38778eac052ea5";
       };
     };
-    "eventemitter3-1.2.0" = {
-      name = "eventemitter3";
-      packageName = "eventemitter3";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
-        sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
-      };
-    };
     "eventemitter3-3.1.0" = {
       name = "eventemitter3";
       packageName = "eventemitter3";
@@ -11472,6 +11553,15 @@ let
         sha1 = "6af8a502350db3246ecc4becf6b5a34d22f7ed53";
       };
     };
+    "express-4.16.4" = {
+      name = "express";
+      packageName = "express";
+      version = "4.16.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.16.4.tgz";
+        sha512 = "j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==";
+      };
+    };
     "express-5.0.0-alpha.6" = {
       name = "express";
       packageName = "express";
@@ -11531,7 +11621,7 @@ let
       packageName = "express-session";
       version = "1.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz";
+        url = "http://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz";
         sha1 = "5cc98f3f5ff84ed835f91cbf0aabd0c7107400af";
       };
     };
@@ -11967,6 +12057,15 @@ let
         sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
       };
     };
+    "fecha-2.3.3" = {
+      name = "fecha";
+      packageName = "fecha";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz";
+        sha512 = "lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==";
+      };
+    };
     "feedparser-2.2.9" = {
       name = "feedparser";
       packageName = "feedparser";
@@ -12516,13 +12615,13 @@ let
         sha512 = "8QBannTFLICARmflhHpXNeR5hh6IzIyJz4XhKTofzmxq/hXEn1un7aF6P6dRQkOwthENDTbSB07eWKqwnYDKtw==";
       };
     };
-    "flumeview-query-7.0.0" = {
+    "flumeview-query-7.1.0" = {
       name = "flumeview-query";
       packageName = "flumeview-query";
-      version = "7.0.0";
+      version = "7.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flumeview-query/-/flumeview-query-7.0.0.tgz";
-        sha512 = "lk3Gs5wf6BwZKDafjE95/r0wv4nkMRsZULmulDCybFu1mPFeqUMR4H+ENcg+fgOpQBGaiNRTyHPQyg0OLur2wA==";
+        url = "https://registry.npmjs.org/flumeview-query/-/flumeview-query-7.1.0.tgz";
+        sha512 = "z/23qWuRW5dj7yNJ1i61R0RgnUWn4rdaf9Fr1Ckz3CzKpwJBWR1MqnABuGY3k1PZg1T11Busm2aRdb6oH1ZLsQ==";
       };
     };
     "flumeview-reduce-1.3.14" = {
@@ -12552,13 +12651,13 @@ let
         sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
       };
     };
-    "follow-redirects-1.5.8" = {
+    "follow-redirects-1.5.9" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.5.8";
+      version = "1.5.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.8.tgz";
-        sha512 = "sy1mXPmv7kLAMKW/8XofG7o9T+6gAjzdZK4AJF6ryqQYUa/hnzgiypoeUecZ53x7XiqKNEpNqLtS97MshW2nxg==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz";
+        sha512 = "Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==";
       };
     };
     "for-each-0.3.3" = {
@@ -14745,17 +14844,17 @@ let
       packageName = "highlight.js";
       version = "8.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz";
+        url = "http://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz";
         sha1 = "b8a9c5493212a9392f0222b649c9611497ebfb88";
       };
     };
-    "highlight.js-9.12.0" = {
+    "highlight.js-9.13.0" = {
       name = "highlight.js";
       packageName = "highlight.js";
-      version = "9.12.0";
+      version = "9.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz";
-        sha1 = "e6d9dbe57cbefe60751f02af336195870c90c01e";
+        url = "https://registry.npmjs.org/highlight.js/-/highlight.js-9.13.0.tgz";
+        sha512 = "2B90kcNnErqRTmzdZw6IPLEC9CdsiIMhj+r8L3LJKRCgtEJ+LY5yzWuQCVnADTI0wwocQinFzaaL/JjTQNqI/g==";
       };
     };
     "hiredis-0.4.1" = {
@@ -15028,15 +15127,6 @@ let
         sha1 = "08060ff2edb2189e57aa3a152d3ac63ed1af7254";
       };
     };
-    "http-proxy-1.16.2" = {
-      name = "http-proxy";
-      packageName = "http-proxy";
-      version = "1.16.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.16.2.tgz";
-        sha1 = "06dff292952bf64dbe8471fa9df73066d4f37742";
-      };
-    };
     "http-proxy-1.17.0" = {
       name = "http-proxy";
       packageName = "http-proxy";
@@ -15181,13 +15271,13 @@ let
         sha512 = "PH5GBkXqFxw5+4eKaKRIkD23y6vRd/IXSl7IldyJxEXpDH9SEIXRORkBtkGni/ae2P7RVOw6Wxypd2tGXhha1w==";
       };
     };
-    "hypercore-6.19.2" = {
+    "hypercore-6.20.2" = {
       name = "hypercore";
       packageName = "hypercore";
-      version = "6.19.2";
+      version = "6.20.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.19.2.tgz";
-        sha512 = "AQS6mtwI7RDKRT3u68EEcehtI1VpaavWXxfnGDyOrR/AVBDUMdIUw8wcYCZdiZZVHarh5xKS4+VRCdJjS67LuA==";
+        url = "https://registry.npmjs.org/hypercore/-/hypercore-6.20.2.tgz";
+        sha512 = "VALfzDCqS0cIxoRvlQmCn4QYnQcUDCazyOQq3c0lbp1AvzEjaq62BvYDH28pmWeASokBszuysgsrPFTn704DbA==";
       };
     };
     "hypercore-crypto-1.0.0" = {
@@ -15370,6 +15460,15 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
+    "ignore-5.0.2" = {
+      name = "ignore";
+      packageName = "ignore";
+      version = "5.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ignore/-/ignore-5.0.2.tgz";
+        sha512 = "ilxkgh36cTqJxlipxQdCOxkbQae5dIeCwo5fSw6pBDW8m8GiMTnadClKST2+aATqjs9BTHsi0IqOsTp0jiihAw==";
+      };
+    };
     "ignore-by-default-1.0.1" = {
       name = "ignore-by-default";
       packageName = "ignore-by-default";
@@ -15798,7 +15897,7 @@ let
       packageName = "into-stream";
       version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
+        url = "http://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz";
         sha1 = "96fb0a936c12babd6ff1752a17d05616abd094c6";
       };
     };
@@ -16981,13 +17080,13 @@ let
         sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
       };
     };
-    "jaeger-client-3.12.0" = {
+    "jaeger-client-3.13.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.12.0";
+      version = "3.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.12.0.tgz";
-        sha512 = "TRwzui1D0OdNREHKWGw0Iuz2EkyTmlPVnzpIEXgPeiEbr/8j164Xvpfc1eCpbfGjNStcWj7Ipcvba/JBSy+q8w==";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.13.0.tgz";
+        sha512 = "ykrXLxcmSHSdDXqK6/DY+IObekfj4kbONC3QPu/ln7sbY5bsA+Yu4LYVlW9/vLm0lxLlsz52mSyC+sjiqM8xCw==";
       };
     };
     "javascript-stringify-1.6.0" = {
@@ -17990,6 +18089,15 @@ let
         sha512 = "++ulra2RtdutmJhZZFohhF+kbccz2XdFTf23857x8X1M9Jfm54ZKY4kXPJKgPdMz6eTH1MBXWXh17RvGWxLNrw==";
       };
     };
+    "kuler-1.0.1" = {
+      name = "kuler";
+      packageName = "kuler";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
+        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
+      };
+    };
     "kvgraph-0.1.0" = {
       name = "kvgraph";
       packageName = "kvgraph";
@@ -18044,13 +18152,13 @@ let
         sha512 = "On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==";
       };
     };
-    "layered-graph-1.1.0" = {
+    "layered-graph-1.1.1" = {
       name = "layered-graph";
       packageName = "layered-graph";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/layered-graph/-/layered-graph-1.1.0.tgz";
-        sha512 = "PSQEdXbmwffcwZ0i7HNfJI/cGnUqVTyt2caanHH/ixxzBqapONxAWYlnj13r3Q79V5ALiCtGrkRnaUo3zwKfzA==";
+        url = "https://registry.npmjs.org/layered-graph/-/layered-graph-1.1.1.tgz";
+        sha512 = "YqnSwwiLxLdvJBi6ZrUEQEdjv+Z3S5fO1mT6ItWCfZu2tsBG22gr49Bj+hgtMeose/74apZeCx+/T9j4NgMDNA==";
       };
     };
     "lazy-1.0.11" = {
@@ -18602,15 +18710,6 @@ let
         sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
       };
     };
-    "lodash-4.13.1" = {
-      name = "lodash";
-      packageName = "lodash";
-      version = "4.13.1";
-      src = fetchurl {
-        url = "http://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz";
-        sha1 = "83e4b10913f48496d4d16fec4a560af2ee744b68";
-      };
-    };
     "lodash-4.14.2" = {
       name = "lodash";
       packageName = "lodash";
@@ -19700,6 +19799,15 @@ let
         sha512 = "ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==";
       };
     };
+    "logform-1.10.0" = {
+      name = "logform";
+      packageName = "logform";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/logform/-/logform-1.10.0.tgz";
+        sha512 = "em5ojIhU18fIMOw/333mD+ZLE2fis0EzXl1ZwHx4iQzmpQi6odNiY/t+ITNr33JZhT9/KEaH+UPIipr6a9EjWg==";
+      };
+    };
     "lokijs-1.5.3" = {
       name = "lokijs";
       packageName = "lokijs";
@@ -20591,13 +20699,13 @@ let
         sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
       };
     };
-    "merge2-1.2.2" = {
+    "merge2-1.2.3" = {
       name = "merge2";
       packageName = "merge2";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz";
-        sha512 = "bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==";
+        url = "https://registry.npmjs.org/merge2/-/merge2-1.2.3.tgz";
+        sha512 = "gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA==";
       };
     };
     "merkle-tree-stream-3.0.3" = {
@@ -20987,13 +21095,13 @@ let
         sha512 = "mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==";
       };
     };
-    "minizlib-1.1.0" = {
+    "minizlib-1.1.1" = {
       name = "minizlib";
       packageName = "minizlib";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz";
-        sha512 = "4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==";
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.1.1.tgz";
+        sha512 = "TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==";
       };
     };
     "mirror-folder-3.0.0" = {
@@ -21473,13 +21581,13 @@ let
         sha512 = "JHdEoxkA/5NgZRo91RNn4UT+HdcJV9XUo01DTkKC7vo1erNIngtuaw9Y0WI8RdTlyi+wMIbunflhghzVLuGJyw==";
       };
     };
-    "multer-1.4.0" = {
+    "multer-1.4.1" = {
       name = "multer";
       packageName = "multer";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multer/-/multer-1.4.0.tgz";
-        sha512 = "/JATgsDPdb/D9u8A2dFD8MhZYqgDKrWibpA9etSUt8CVzSHtsA13Y8LH9pR2/crsaYFua9g29UBgZB/g6nmOEg==";
+        url = "https://registry.npmjs.org/multer/-/multer-1.4.1.tgz";
+        sha512 = "zzOLNRxzszwd+61JFuAo0fxdQfvku12aNJgnla0AQ+hHxFmfc/B7jBVuPr5Rmvu46Jze/iJrFpSOsD7afO8SDw==";
       };
     };
     "multi-random-access-2.1.1" = {
@@ -21842,13 +21950,13 @@ let
         sha512 = "N1IBreECNaxmsaOLMqqm01K7XIp+sMvoVX8mvmT/p1VjM2FLcBU0lj0FalKooi2/2i+ph9WsEoEogOJevqQ6LQ==";
       };
     };
-    "nanoid-1.2.6" = {
+    "nanoid-1.3.0" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "1.2.6";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-1.2.6.tgz";
-        sha512 = "um9vXiM407BaRbBNa0aKPzFBSD2fDbVmmA9TzCWWlxZvEBzTbixM7ss6GDS4G/cNMYeZSNFx5SzAgWoG1uHU9g==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-1.3.0.tgz";
+        sha512 = "OP8SoC91Kyjl1sdSTEnM1xYh4gUEOSkUl6wRBUklWOPyfPRbeJbhvdhQYXEjVtZ1LI9amVMkIWQI2nO8O7DL9A==";
       };
     };
     "nanolru-1.0.0" = {
@@ -21945,13 +22053,13 @@ let
         sha1 = "20a318c30cb45f71fe7adfbf7b21c99c1472ef11";
       };
     };
-    "natives-1.1.5" = {
+    "natives-1.1.6" = {
       name = "natives";
       packageName = "natives";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/natives/-/natives-1.1.5.tgz";
-        sha512 = "1pJ+02gl2KJgCPFtpZGtuD4lGSJnIZvvFHCQTOeDRMSXjfu2GmYWuhI8NFMA4W2I5NNFRbfy/YCiVt4CgNpP8A==";
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz";
+        sha512 = "6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==";
       };
     };
     "natural-compare-1.4.0" = {
@@ -22144,13 +22252,13 @@ let
         sha256 = "243e90fbf6616ef39f3c71bbcd027799e35cbf2ef3f25203676f65b20f7f7394";
       };
     };
-    "neo-async-2.5.2" = {
+    "neo-async-2.6.0" = {
       name = "neo-async";
       packageName = "neo-async";
-      version = "2.5.2";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.5.2.tgz";
-        sha512 = "vdqTKI9GBIYcAEbFAcpKPErKINfPF5zIuz3/niBfq8WUZjpT2tytLlFVrBgWdOtqI4uaA/Rb6No0hux39XXDuw==";
+        url = "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz";
+        sha512 = "MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==";
       };
     };
     "net-browserify-alt-1.1.0" = {
@@ -22378,6 +22486,15 @@ let
         sha512 = "YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==";
       };
     };
+    "node-gyp-build-3.5.0" = {
+      name = "node-gyp-build";
+      packageName = "node-gyp-build";
+      version = "3.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.5.0.tgz";
+        sha512 = "qjEE8eIWVyqZhkAFUzytGpOGvLHeX5kXBB6MYyTOCPZBrBlsLyXAAzTsp/hWMbVlg8kVpzDJCZZowIrnKpwmqQ==";
+      };
+    };
     "node-int64-0.4.0" = {
       name = "node-int64";
       packageName = "node-int64";
@@ -22783,13 +22900,13 @@ let
         sha1 = "5b1d577e4c8869d6c8603bc89e9cd1637303e46e";
       };
     };
-    "npm-6.1.0" = {
+    "npm-6.4.1" = {
       name = "npm";
       packageName = "npm";
-      version = "6.1.0";
+      version = "6.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npm/-/npm-6.1.0.tgz";
-        sha512 = "e38cCtJ0lEjLXXpc4twEfj8Xw5hDLolc2Py87ueWnUhJfZ8GA/5RVIeD+XbSr1+aVRGsRsdtLdzUNO63PvQJ1w==";
+        url = "https://registry.npmjs.org/npm/-/npm-6.4.1.tgz";
+        sha512 = "mXJL1NTVU136PtuopXCUQaNWuHlXCTp4McwlSW8S9/Aj8OEPAlSBgo8og7kJ01MjCDrkmqFQTvN5tTEhBMhXQg==";
       };
     };
     "npm-bundled-1.0.5" = {
@@ -22900,6 +23017,15 @@ let
         sha512 = "7rjGF2eA7hKDidGyEWmHTiKfXkbrcQAsGL/Rh4Rt3x3YNRNHhwaTzVJfW3aNvvlhg4G62VCluif0sLCb/i51Hg==";
       };
     };
+    "npm-registry-client-8.6.0" = {
+      name = "npm-registry-client";
+      packageName = "npm-registry-client";
+      version = "8.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.6.0.tgz";
+        sha512 = "Qs6P6nnopig+Y8gbzpeN/dkt+n7IyVd8f45NTMotGk6Qo7GfBmzwYx6jRLoOOgKiMnaQfYxsuyQlD8Mc3guBhg==";
+      };
+    };
     "npm-registry-fetch-3.8.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
@@ -23441,6 +23567,15 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
+    "one-time-0.0.4" = {
+      name = "one-time";
+      packageName = "one-time";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz";
+        sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e";
+      };
+    };
     "onetime-1.1.0" = {
       name = "onetime";
       packageName = "onetime";
@@ -24058,7 +24193,7 @@ let
       packageName = "packet-stream";
       version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/packet-stream/-/packet-stream-2.0.4.tgz";
+        url = "http://registry.npmjs.org/packet-stream/-/packet-stream-2.0.4.tgz";
         sha512 = "7+oxHdMMs6VhLvvbrDUc8QNuelE9fPKLDdToXBIKLPKOlnoBeMim+/35edp+AnFTLzk3xcogVvQ/jrZyyGsEiw==";
       };
     };
@@ -24918,13 +25053,13 @@ let
         sha512 = "w7UohXesFggN77UyTnt0A7FqkEiq6TbeXgTvY7g1wFGXoGbxmF780uFm8oQKaWlFi7vnzDRkBnYHNaaHFUKEoQ==";
       };
     };
-    "pino-std-serializers-2.2.1" = {
+    "pino-std-serializers-2.3.0" = {
       name = "pino-std-serializers";
       packageName = "pino-std-serializers";
-      version = "2.2.1";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.2.1.tgz";
-        sha512 = "QqL7kkF7eMCpFG4hpZD8UPQga/kxkkh3E62HzMzTIL4OQyijyisAnBL8msBEAml8xcb/ioGhH7UUzGxuHqczhQ==";
+        url = "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-2.3.0.tgz";
+        sha512 = "klfGoOsP6sJH7ON796G4xoUSx2fkpFgKHO4YVVO2zmz31jR+etzc/QzGJILaOIiCD6HTCFgkPx+XN8nk+ruqPw==";
       };
     };
     "pkg-dir-2.0.0" = {
@@ -25274,7 +25409,7 @@ let
       packageName = "pretty-hrtime";
       version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
+        url = "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz";
         sha1 = "b7e3ea42435a4c9b2759d99e0f201eb195802ee1";
       };
     };
@@ -26628,15 +26763,6 @@ let
         sha1 = "1cfcb25c10a9b2b483053ff39f5dfc9233908cfe";
       };
     };
-    "qs-6.3.2" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.3.2.tgz";
-        sha1 = "e75bd5f6e268122a2a0e0bda630b2550c166502c";
-      };
-    };
     "qs-6.4.0" = {
       name = "qs";
       packageName = "qs";
@@ -26871,13 +26997,13 @@ let
         sha512 = "PPYLwZ63lXi6Tv2EZ8w3M4FzC0rVqvxivaOVS8pXSp5FMIHFnvi4MWHL3UdFLhwSy50aNtJsgjY0mBC6oFL26Q==";
       };
     };
-    "raven-js-3.26.4" = {
+    "raven-js-3.27.0" = {
       name = "raven-js";
       packageName = "raven-js";
-      version = "3.26.4";
+      version = "3.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raven-js/-/raven-js-3.26.4.tgz";
-        sha512 = "5VmC3IWhTQJkaiQaCY0S5V8za4bpUgbbuVT1MkDH7JVqgu8CPQ750XaFF8BVRbLV9F5nvoz7n0UT0CKteDuZAg==";
+        url = "https://registry.npmjs.org/raven-js/-/raven-js-3.27.0.tgz";
+        sha512 = "vChdOL+yzecfnGA+B5EhEZkJ3kY3KlMzxEhShKh6Vdtooyl0yZfYNFQfYzgMf2v4pyQa+OTZ5esTxxgOOZDHqw==";
       };
     };
     "raw-body-0.0.3" = {
@@ -27636,15 +27762,6 @@ let
         sha1 = "7693ca768bbb0ea5c8ce08c084a45efa05b892ab";
       };
     };
-    "request-2.79.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.79.0";
-      src = fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.79.0.tgz";
-        sha1 = "4dfe5bf6be8b8cdc37fcf93e04b65577722710de";
-      };
-    };
     "request-2.81.0" = {
       name = "request";
       packageName = "request";
@@ -28482,13 +28599,13 @@ let
         sha512 = "e4hiMTahaLiN5XKap1YrifoyT8yRu9yQEZrMTglTBgq8Lv8iChFKLpbmXYeNxy2rCnutuWaQDFbp3sBgl4NQ4g==";
       };
     };
-    "secret-stack-4.2.1" = {
+    "secret-stack-4.2.4" = {
       name = "secret-stack";
       packageName = "secret-stack";
-      version = "4.2.1";
+      version = "4.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-4.2.1.tgz";
-        sha512 = "R4pn1zVaspQUqpC3iKLvA476pfftzE8AZTfMnd7TQpuVdGML0wsLYp4wmU4NZERHYsr0g99JnwUH5ll9n0APjg==";
+        url = "https://registry.npmjs.org/secret-stack/-/secret-stack-4.2.4.tgz";
+        sha512 = "HUG0YujOk20t7CeQz75dz79XmQQl1qsxEVngF+3l5ZNEHNEO6TJHNKo0OAxAWGKzSWiJDkzKLSnHqqZFNKcrPA==";
       };
     };
     "secure-keys-1.0.0" = {
@@ -28500,13 +28617,13 @@ let
         sha1 = "f0c82d98a3b139a8776a8808050b824431087fca";
       };
     };
-    "secure-scuttlebutt-18.4.0" = {
+    "secure-scuttlebutt-18.5.0" = {
       name = "secure-scuttlebutt";
       packageName = "secure-scuttlebutt";
-      version = "18.4.0";
+      version = "18.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/secure-scuttlebutt/-/secure-scuttlebutt-18.4.0.tgz";
-        sha512 = "v74wJIcscPYRG+OF7cQPUi3wCBIy0lRT0e7w+bleFpAPvPL3LTlKtPqt9Stbjrtj5LKV7yWALjoLrkWT0eg+xg==";
+        url = "https://registry.npmjs.org/secure-scuttlebutt/-/secure-scuttlebutt-18.5.0.tgz";
+        sha512 = "b50xp0XAWtd6y4ygw2RRgDxaFNgGqC7XahRt/mC4XhiCe6HoTjpt6j07HVnTDcRtLzNiCPKlFJnYySFTFay2lQ==";
       };
     };
     "seek-bzip-1.0.5" = {
@@ -28541,7 +28658,7 @@ let
       packageName = "semver";
       version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
         sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
       };
     };
@@ -28550,7 +28667,7 @@ let
       packageName = "semver";
       version = "2.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
         sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
       };
     };
@@ -28559,7 +28676,7 @@ let
       packageName = "semver";
       version = "2.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
         sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
       };
     };
@@ -28568,7 +28685,7 @@ let
       packageName = "semver";
       version = "4.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
         sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
       };
     };
@@ -28577,7 +28694,7 @@ let
       packageName = "semver";
       version = "5.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
         sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
       };
     };
@@ -28586,7 +28703,7 @@ let
       packageName = "semver";
       version = "5.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.1.0.tgz";
         sha1 = "85f2cf8550465c4df000cf7d86f6b054106ab9e5";
       };
     };
@@ -28595,7 +28712,7 @@ let
       packageName = "semver";
       version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.1.1.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.1.1.tgz";
         sha1 = "a3292a373e6f3e0798da0b20641b9a9c5bc47e19";
       };
     };
@@ -28604,7 +28721,7 @@ let
       packageName = "semver";
       version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        url = "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
         sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
       };
     };
@@ -28626,6 +28743,15 @@ let
         sha512 = "PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==";
       };
     };
+    "semver-5.6.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
+        sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
+      };
+    };
     "semver-compare-1.0.0" = {
       name = "semver-compare";
       packageName = "semver-compare";
@@ -28671,13 +28797,13 @@ let
         sha1 = "57f41de69707a62709a7e0104ba2117109ea47e8";
       };
     };
-    "semver-utils-1.1.2" = {
+    "semver-utils-1.1.4" = {
       name = "semver-utils";
       packageName = "semver-utils";
-      version = "1.1.2";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.2.tgz";
-        sha512 = "+RvtdCZJdLJXN6ozVqbypYII/m4snihgWvmFHW8iWusxqGVdEP31QdUVVaC6GeJ9EYE0JCMdWiNlLF3edjifEw==";
+        url = "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.4.tgz";
+        sha512 = "EjnoLE5OGmDAVV/8YDoN5KiajNadjzIp9BAHOhYeQHt7j0UWxjmgsx4YD48wp4Ue1Qogq38F1GNUJNqF1kKKxA==";
       };
     };
     "send-0.0.3" = {
@@ -29211,13 +29337,13 @@ let
         sha512 = "Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==";
       };
     };
-    "simple-git-1.104.0" = {
+    "simple-git-1.105.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.104.0";
+      version = "1.105.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.104.0.tgz";
-        sha512 = "KTELLFyhLhN1qZGQkglx1e0YezYKNabCY4oKrTVb9y0BllkWwruK2qFCQDm2zpT7rE4IPd4/hzZt/6+0ykQIdA==";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.105.0.tgz";
+        sha512 = "ZrGcCPRIKCm6Q8gNJ+gx+leHqaokKpXae6K9lZpVD4sfeA2/rVvxcIR4KVVujNOmA6wHE2xaQ0GQWuIY88o6pA==";
       };
     };
     "simple-lru-cache-0.0.2" = {
@@ -29580,13 +29706,13 @@ let
         sha512 = "FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==";
       };
     };
-    "snyk-1.102.0" = {
+    "snyk-1.103.4" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.102.0";
+      version = "1.103.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.102.0.tgz";
-        sha512 = "OZfjEJeMdrYj7KVXaNhLwVi1vv5omRyrLv469BD6Bc6mvOK4/JVEcJGoNgn3MyWazgpOy8/4Xi9mMQvrdwfRfQ==";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.103.4.tgz";
+        sha512 = "ynLlsLDjAkzymd0qi1il6f34S4oNTfIgvFCFvkYxvqfBkedfOoDQT4TLU8gi+55MGM6iornf2iefC2FW92BwnQ==";
       };
     };
     "snyk-config-2.2.0" = {
@@ -29598,13 +29724,13 @@ let
         sha512 = "mq0wbP/AgjcmRq5i5jg2akVVV3iSYUPTowZwKn7DChRLDL8ySOzWAwan+ImXiyNbrWo87FNI/15O6MpOnTxOIg==";
       };
     };
-    "snyk-docker-plugin-1.11.0" = {
+    "snyk-docker-plugin-1.12.0" = {
       name = "snyk-docker-plugin";
       packageName = "snyk-docker-plugin";
-      version = "1.11.0";
+      version = "1.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.11.0.tgz";
-        sha512 = "rJrSj4FfGtaFGNybWTb0bULEqoQEeZfZBpGoDumiXsGqoSWf61Tr1V/Ck9NGcmHWNEVsLZLcE9CXp6Y6Kbo8qA==";
+        url = "https://registry.npmjs.org/snyk-docker-plugin/-/snyk-docker-plugin-1.12.0.tgz";
+        sha512 = "QqKq2bGdnf1L2PNGQrHoqcoaV/PIlJv1qjKIzwA93gfhToKGkgJ31oPXwfef/l9N+ui0Y44c4POBHFbFf8PlJw==";
       };
     };
     "snyk-go-plugin-1.5.2" = {
@@ -29643,13 +29769,13 @@ let
         sha512 = "9jAhZhv+7YcqtoQYCYlgMoxK+dWBKlk+wkX27Ebg3vNddNop9q5jZitRXTjsXwfSUZHRt+Ptw1f8vei9kjzZVg==";
       };
     };
-    "snyk-nodejs-lockfile-parser-1.5.1" = {
+    "snyk-nodejs-lockfile-parser-1.5.3" = {
       name = "snyk-nodejs-lockfile-parser";
       packageName = "snyk-nodejs-lockfile-parser";
-      version = "1.5.1";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.5.1.tgz";
-        sha512 = "rfFcW+ZrOEH3NxufUCpMBpNLSb4BPOxLbAM6MoRqfYH5DhSdTHsecwRDf1gU6XzQok/9Koav+1qtP8+welJC2A==";
+        url = "https://registry.npmjs.org/snyk-nodejs-lockfile-parser/-/snyk-nodejs-lockfile-parser-1.5.3.tgz";
+        sha512 = "hVUUxRm7f8mN3RdTbeZGJn+w4VMKb7ke4/OB8Qhr4O5S04AMb4YOcsZ80niur05VUykPT32IyFwyGRTBi99WUw==";
       };
     };
     "snyk-nuget-plugin-1.6.5" = {
@@ -29697,13 +29823,13 @@ let
         sha512 = "7+i+LLhtBo1Pkth01xv+RYJU8a67zmJ8WFFPvSxyCjdlKIcsps4hPQFebhz+0gC5rMemlaeIV6cqwqUf9PEDpw==";
       };
     };
-    "snyk-resolve-deps-4.0.1" = {
+    "snyk-resolve-deps-4.0.2" = {
       name = "snyk-resolve-deps";
       packageName = "snyk-resolve-deps";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.0.1.tgz";
-        sha512 = "gieaYoOuJLXzUmDDKfQJAqfwaxa43KmSqN2d9abRfgMXnLlX9IqyoZ1wqZMbd3WN7tsHSkpWvVwc4FHdQEkUKA==";
+        url = "https://registry.npmjs.org/snyk-resolve-deps/-/snyk-resolve-deps-4.0.2.tgz";
+        sha512 = "nlw62wiWhGOTw3BD3jVIwrUkRR4iNxEkkO4Y/PWs8BsUWseGu1H6QgLesFXJb3qx7ANJ5UbUCJMgV+eL0Lf9cA==";
       };
     };
     "snyk-sbt-plugin-2.0.0" = {
@@ -30048,13 +30174,13 @@ let
         sha1 = "558e7f57a5bf6baf6501baf2ae2c9076c4502006";
       };
     };
-    "source-list-map-2.0.0" = {
+    "source-list-map-2.0.1" = {
       name = "source-list-map";
       packageName = "source-list-map";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz";
-        sha512 = "I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==";
+        url = "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz";
+        sha512 = "qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==";
       };
     };
     "source-map-0.1.31" = {
@@ -30435,13 +30561,13 @@ let
         sha512 = "LyH5Y/U7xvafmAuG1puyhNv4G3Ew9xC67dYgRX0wwbUf5iT422WB1Cvat9qGFAu3/BQbdctXtdEQPxaAn0+hYA==";
       };
     };
-    "ssb-config-2.3.4" = {
+    "ssb-config-2.3.5" = {
       name = "ssb-config";
       packageName = "ssb-config";
-      version = "2.3.4";
+      version = "2.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-2.3.4.tgz";
-        sha512 = "Yp0DKsc9eSaU+9+5xMO4/NVdOFyBtHD+QgraZ+1Id2K4f0eUiKpJ2ogLNmGanTvkLVhm/vq27TLI27Fq83njWQ==";
+        url = "https://registry.npmjs.org/ssb-config/-/ssb-config-2.3.5.tgz";
+        sha512 = "lT30POSTXX6nsACYwMkNto0M74YMoEzLqpSpZqK+AwaRWlNvFqGmjEMwLb5G5jz7deCrXJFo87O3IubiQrwdGg==";
       };
     };
     "ssb-ebt-5.2.3" = {
@@ -30467,7 +30593,7 @@ let
       packageName = "ssb-git";
       version = "0.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-git/-/ssb-git-0.5.0.tgz";
+        url = "http://registry.npmjs.org/ssb-git/-/ssb-git-0.5.0.tgz";
         sha1 = "5f4f712e42a23b895b128d61bc70dfb3bd5b40b4";
       };
     };
@@ -30485,7 +30611,7 @@ let
       packageName = "ssb-issues";
       version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-issues/-/ssb-issues-1.0.0.tgz";
+        url = "http://registry.npmjs.org/ssb-issues/-/ssb-issues-1.0.0.tgz";
         sha1 = "9e857d170dff152c53a273eb9004a0a914a106e5";
       };
     };
@@ -30503,7 +30629,7 @@ let
       packageName = "ssb-links";
       version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-links/-/ssb-links-3.0.3.tgz";
+        url = "http://registry.npmjs.org/ssb-links/-/ssb-links-3.0.3.tgz";
         sha512 = "x09ShIMjwvdZI7aDZm8kc1v5YCGZa9ulCOoxrf/RYJ98s5gbTfO9CBCzeMBAeQ5kRwSuKjiOxJHdeEBkj4Y6hw==";
       };
     };
@@ -30557,7 +30683,7 @@ let
       packageName = "ssb-pull-requests";
       version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-pull-requests/-/ssb-pull-requests-1.0.0.tgz";
+        url = "http://registry.npmjs.org/ssb-pull-requests/-/ssb-pull-requests-1.0.0.tgz";
         sha1 = "dfd30cd50eecd8546bd4aa7f06e7c8f501c08118";
       };
     };
@@ -30588,13 +30714,13 @@ let
         sha512 = "mZPI9HKZtqPP7Qi26B0GR7HqYmmcELEaoj5zr8TlUcULg9BOZy7f4VSzcKZ36LIkvpuK2sfA6znxIlBLq78fjg==";
       };
     };
-    "ssb-ws-2.1.1" = {
+    "ssb-ws-3.0.0" = {
       name = "ssb-ws";
       packageName = "ssb-ws";
-      version = "2.1.1";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-ws/-/ssb-ws-2.1.1.tgz";
-        sha512 = "1fK/jXI6lKZadRJDr49t+6yMmWynp6PFrADs3Whmy8IslnYGl83ujhlpRIBvCn1EuVHjV7yLsIiJ8a0X2Kg0DQ==";
+        url = "https://registry.npmjs.org/ssb-ws/-/ssb-ws-3.0.0.tgz";
+        sha512 = "Qna9Oa9+MYhv+Xtqmidb6xww2JZAdO6ZzidJleWbOLJTSV2QkkB7aAFpWdYst/N78ZhThPqT/mdgEmWpaCqTbw==";
       };
     };
     "ssh-config-1.1.3" = {
@@ -30620,17 +30746,17 @@ let
       packageName = "sshpk";
       version = "1.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
+        url = "http://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz";
         sha1 = "130f5975eddad963f1d56f92b9ac6c51fa9f83eb";
       };
     };
-    "sshpk-1.14.2" = {
+    "sshpk-1.15.1" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.14.2";
+      version = "1.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz";
-        sha1 = "c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.15.1.tgz";
+        sha512 = "mSdgNUaidk+dRU5MhYtN9zebdzF2iG0cNPWy8HG+W8y+fT1JnSkh0fzzpjOa0L7P8i1Rscz38t0h4gPcKz43xA==";
       };
     };
     "sshpk-1.7.1" = {
@@ -30638,7 +30764,7 @@ let
       packageName = "sshpk";
       version = "1.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz";
+        url = "http://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz";
         sha1 = "565e386c42a77e6062fbd14c0472ff21cd53398c";
       };
     };
@@ -31506,6 +31632,15 @@ let
         sha512 = "GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==";
       };
     };
+    "superagent-4.0.0-beta.5" = {
+      name = "superagent";
+      packageName = "superagent";
+      version = "4.0.0-beta.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/superagent/-/superagent-4.0.0-beta.5.tgz";
+        sha512 = "v4FTm6kg6zJOfLcot9kCTcWy/wjD/hvtUXWcv0Pd8TlUqxKDctif2rtDPRb4gW6Df9MMXU1BHB+1z5U2VFVsYg==";
+      };
+    };
     "superagent-proxy-2.0.0" = {
       name = "superagent-proxy";
       packageName = "superagent-proxy";
@@ -31731,6 +31866,15 @@ let
         sha512 = "S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==";
       };
     };
+    "table-5.1.0" = {
+      name = "table";
+      packageName = "table";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/table/-/table-5.1.0.tgz";
+        sha512 = "e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==";
+      };
+    };
     "tabtab-1.3.2" = {
       name = "tabtab";
       packageName = "tabtab";
@@ -31939,13 +32083,22 @@ let
         sha1 = "a87ee424be01a1d28f2f301045043a5bcd679a05";
       };
     };
-    "text-extensions-1.8.0" = {
+    "text-extensions-1.9.0" = {
       name = "text-extensions";
       packageName = "text-extensions";
-      version = "1.8.0";
+      version = "1.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/text-extensions/-/text-extensions-1.8.0.tgz";
-        sha512 = "mVzjRxuWnDKs/qH1rbOJEVHLlSX9kty9lpi7lMvLgU9S74mQ8/Ozg9UPcKxShh0qG2NZ+NyPOPpcZU4C1Eld9A==";
+        url = "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz";
+        sha512 = "wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==";
+      };
+    };
+    "text-hex-1.0.0" = {
+      name = "text-hex";
+      packageName = "text-hex";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz";
+        sha512 = "uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==";
       };
     };
     "text-table-0.2.0" = {
@@ -32704,6 +32857,15 @@ let
         sha512 = "bWLv9BbWbbd7mlqqs2oQYnLD/U/ZqeJeJwbO0FG2zA1aTq+HTvxfHNKFa/HGCVyJpDiioUYaBhfiT6rgk+l4mg==";
       };
     };
+    "triple-beam-1.3.0" = {
+      name = "triple-beam";
+      packageName = "triple-beam";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz";
+        sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
+      };
+    };
     "truncate-2.0.1" = {
       name = "truncate";
       packageName = "truncate";
@@ -32938,13 +33100,13 @@ let
         sha512 = "kk80vLW9iGtjMnIv11qyxLqZm20UklzuR2tL0QAnDIygIUIemcZMxlMWudl9OOt76H3ntVzcTiddQ1/pAAJMYg==";
       };
     };
-    "typescript-3.1.1" = {
+    "typescript-3.1.3" = {
       name = "typescript";
       packageName = "typescript";
-      version = "3.1.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz";
-        sha512 = "Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-3.1.3.tgz";
+        sha512 = "+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA==";
       };
     };
     "typewise-1.0.3" = {
@@ -33181,13 +33343,13 @@ let
         sha512 = "4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==";
       };
     };
-    "unbzip2-stream-1.3.0" = {
+    "unbzip2-stream-1.3.1" = {
       name = "unbzip2-stream";
       packageName = "unbzip2-stream";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.0.tgz";
-        sha512 = "kE2WkurNnPUMcryNioS68DDbhoPB8Qxsd8btHSj+sd5Pjh2GsjmeHLzMSqV9HHziAo8FzVxVCJl9ZYhk7yY1pA==";
+        url = "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.3.1.tgz";
+        sha512 = "fIZnvdjblYs7Cru/xC6tCPVhz7JkYcVQQkePwMLyQELzYTds2Xn8QefPVnvdVhhZqubxNA1cASXEH5wcK0Bucw==";
       };
     };
     "unc-path-regex-0.1.2" = {
@@ -34639,6 +34801,15 @@ let
         sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
       };
     };
+    "webassemblyjs-1.7.8" = {
+      name = "webassemblyjs";
+      packageName = "webassemblyjs";
+      version = "1.7.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webassemblyjs/-/webassemblyjs-1.7.8.tgz";
+        sha512 = "7J64n2yTf2apgtRJypiHUFNRc2twQrMAFIWsm8u4qih7nG+sry2Bna1zq3qFI35fazIF1m42VGHHvdp9bBXmBA==";
+      };
+    };
     "webidl-conversions-2.0.1" = {
       name = "webidl-conversions";
       packageName = "webidl-conversions";
@@ -34972,6 +35143,24 @@ let
         sha512 = "NBo2Pepn4hK4V01UfcWcDlmiVTs7VTB1h7bgnB0rgP146bYhMxX0ypCz3lBOfNxCO4Zuek7yeT+y/zM1OfMw4Q==";
       };
     };
+    "winston-3.1.0" = {
+      name = "winston";
+      packageName = "winston";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston/-/winston-3.1.0.tgz";
+        sha512 = "FsQfEE+8YIEeuZEYhHDk5cILo1HOcWkGwvoidLrDgPog0r4bser1lEIOco2dN9zpDJ1M88hfDgZvxe5z4xNcwg==";
+      };
+    };
+    "winston-transport-4.2.0" = {
+      name = "winston-transport";
+      packageName = "winston-transport";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.2.0.tgz";
+        sha512 = "0R1bvFqxSlK/ZKTH86nymOuKv/cT1PQBMuDdA7k7f0S9fM44dNH6bXnuxwXPrN8lefJgtZq08BKdyZ0DZIy/rg==";
+      };
+    };
     "with-4.0.3" = {
       name = "with";
       packageName = "with";
@@ -35337,7 +35526,7 @@ let
       packageName = "xmlbuilder";
       version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
         sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
       };
     };
@@ -35346,7 +35535,7 @@ let
       packageName = "xmlbuilder";
       version = "0.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.3.tgz";
         sha1 = "c4614ba74e0ad196e609c9272cd9e1ddb28a8a58";
       };
     };
@@ -35355,7 +35544,7 @@ let
       packageName = "xmlbuilder";
       version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
         sha1 = "98b8f651ca30aa624036f127d11cc66dc7b907a3";
       };
     };
@@ -35364,7 +35553,7 @@ let
       packageName = "xmlbuilder";
       version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz";
         sha1 = "69248673410b4ba42e1a6136551d2922335aa773";
       };
     };
@@ -35373,7 +35562,7 @@ let
       packageName = "xmlbuilder";
       version = "9.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
+        url = "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz";
         sha1 = "132ee63d2ec5565c557e20f4c22df9aca686b10d";
       };
     };
@@ -35924,10 +36113,10 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.13.2";
+    version = "1.13.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.13.2.tgz";
-      sha512 = "XtcUf7n2nfz7tEyV2auK55d018ji3WIJYSQAowF9h69go3Jr68OPvhJiaCQikpbM5b+NNw7LBBkKUVJxA3LVsA==";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.13.3.tgz";
+      sha512 = "IU15/1dufp+iI9FmXshIo9z9x4HmDk5Wslo2VkHlA1k8pYzHQ3XapRflDkEdV1tZ9LXTEMJW40t8mnWLjZjDqg==";
     };
     dependencies = [
       sources."JSV-4.0.2"
@@ -35959,7 +36148,7 @@ in
       sources."chalk-1.1.3"
       sources."chmodr-1.2.0"
       sources."colors-1.3.2"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.6.0"
       sources."core-js-2.5.7"
@@ -36081,7 +36270,7 @@ in
       sources."chromium-pickle-js-0.2.0"
       sources."co-4.6.0"
       sources."combined-stream-1.0.7"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."concat-map-0.0.1"
       sources."core-util-is-1.0.2"
       sources."cuint-0.2.2"
@@ -36145,7 +36334,7 @@ in
       })
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string_decoder-0.10.31"
       sources."tmp-0.0.28"
       (sources."touch-0.0.3" // {
@@ -36173,13 +36362,13 @@ in
   azure-cli = nodeEnv.buildNodePackage {
     name = "azure-cli";
     packageName = "azure-cli";
-    version = "0.10.19";
+    version = "0.10.20";
     src = fetchurl {
-      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.19.tgz";
-      sha512 = "9OBihy+L53g9ALssKTY/vTWEiz8mGEJ1asWiCdfPdQ1Uf++tewiNrN7Fq2Eb6ZYtvK0BYvPZlh3bHguKmKO3yA==";
+      url = "https://registry.npmjs.org/azure-cli/-/azure-cli-0.10.20.tgz";
+      sha512 = "MMiK5sFfIocNMWCc5PshUCAe6aY4P13/GCmSwudOziA/pFdQMHU8jhu+jU2SSWFug4K1ugeuCwtMXe43oL0PhQ==";
     };
     dependencies = [
-      sources."@types/node-8.10.34"
+      sources."@types/node-8.10.36"
       sources."JSV-4.0.2"
       sources."adal-node-0.1.28"
       sources."ajv-5.5.2"
@@ -36202,6 +36391,7 @@ in
       (sources."azure-arm-datalake-analytics-1.0.2-preview" // {
         dependencies = [
           sources."async-0.2.7"
+          sources."azure-arm-resource-1.6.1-preview"
           sources."ms-rest-1.15.7"
           sources."ms-rest-azure-1.15.7"
           sources."request-2.74.0"
@@ -36210,6 +36400,7 @@ in
       (sources."azure-arm-datalake-store-1.0.2-preview" // {
         dependencies = [
           sources."async-0.2.7"
+          sources."azure-arm-resource-1.6.1-preview"
           sources."ms-rest-1.15.7"
           sources."ms-rest-azure-1.15.7"
           sources."request-2.74.0"
@@ -36225,6 +36416,7 @@ in
       (sources."azure-arm-powerbiembedded-0.1.1" // {
         dependencies = [
           sources."async-0.2.7"
+          sources."azure-arm-resource-1.6.1-preview"
           sources."ms-rest-1.15.7"
           sources."ms-rest-azure-1.15.7"
           sources."request-2.74.0"
@@ -36233,30 +36425,17 @@ in
       (sources."azure-arm-rediscache-0.2.3" // {
         dependencies = [
           sources."async-0.2.7"
+          sources."azure-arm-resource-1.6.1-preview"
           sources."ms-rest-1.15.7"
           sources."ms-rest-azure-1.15.7"
           sources."request-2.74.0"
         ];
       })
-      (sources."azure-arm-resource-1.6.1-preview" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
+      sources."azure-arm-resource-7.0.0"
       sources."azure-arm-servermanagement-1.1.0"
       sources."azure-arm-storage-5.2.0"
       sources."azure-arm-trafficmanager-1.1.0-preview"
-      (sources."azure-arm-website-0.11.5" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
+      sources."azure-arm-website-5.3.0"
       sources."azure-asm-compute-0.18.0"
       sources."azure-asm-hdinsight-0.10.2"
       sources."azure-asm-mgmt-0.10.1"
@@ -36284,27 +36463,13 @@ in
       })
       sources."azure-gallery-2.0.0-pre.18"
       sources."azure-graph-2.2.0"
-      (sources."azure-keyvault-1.0.0" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
+      sources."azure-keyvault-3.0.4"
       (sources."azure-monitoring-0.10.6" // {
         dependencies = [
           sources."underscore-1.9.1"
         ];
       })
-      (sources."azure-servicefabric-0.1.5" // {
-        dependencies = [
-          sources."async-0.2.7"
-          sources."ms-rest-1.15.7"
-          sources."ms-rest-azure-1.15.7"
-          sources."request-2.74.0"
-        ];
-      })
+      sources."azure-servicefabric-2.0.0"
       (sources."azure-storage-2.10.1" // {
         dependencies = [
           sources."extend-1.2.1"
@@ -36391,7 +36556,7 @@ in
       sources."har-schema-2.0.0"
       (sources."har-validator-2.0.6" // {
         dependencies = [
-          sources."commander-2.18.0"
+          sources."commander-2.19.0"
         ];
       })
       sources."has-ansi-2.0.0"
@@ -36536,7 +36701,7 @@ in
           sources."asn1-0.1.11"
         ];
       })
-      (sources."sshpk-1.14.2" // {
+      (sources."sshpk-1.15.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -36691,7 +36856,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."natives-1.1.5"
+      sources."natives-1.1.6"
       sources."normalize-package-data-2.4.0"
       sources."number-is-nan-1.0.1"
       sources."object-assign-4.1.1"
@@ -36719,7 +36884,7 @@ in
           sources."glob-7.1.3"
         ];
       })
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."signal-exit-3.0.2"
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
@@ -36757,7 +36922,7 @@ in
       sha512 = "zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==";
     };
     dependencies = [
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."acorn-6.0.2"
       sources."acorn-node-1.6.0"
       sources."acorn-walk-6.1.0"
@@ -36983,7 +37148,7 @@ in
       sources."codepage-1.4.0"
       sources."colour-0.7.1"
       sources."combined-stream-0.0.7"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."compact2string-1.4.0"
       sources."concat-map-0.0.1"
       (sources."concat-stream-1.6.2" // {
@@ -37079,7 +37244,7 @@ in
       sources."map-obj-1.0.1"
       (sources."mdns-js-1.0.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -37206,7 +37371,7 @@ in
       sources."rx-2.5.3"
       sources."safe-buffer-5.1.2"
       sources."sax-1.2.4"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
       sources."simple-get-2.8.1"
@@ -37351,10 +37516,10 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."colors-1.3.2"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."debug-3.1.0"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.5.8"
+      sources."follow-redirects-1.5.9"
       sources."has-flag-3.0.0"
       sources."humanize-plus-1.8.2"
       sources."is-buffer-1.1.6"
@@ -37384,27 +37549,60 @@ in
   configurable-http-proxy = nodeEnv.buildNodePackage {
     name = "configurable-http-proxy";
     packageName = "configurable-http-proxy";
-    version = "3.1.1";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-3.1.1.tgz";
-      sha512 = "e+fxBy5cCayuNpxt3tcigBIuFsU/+oN48eK3aQtCBV12glavbBMxJa3ut2AEDHhXa/g3pC8r2BorKthrofHGRw==";
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.0.1.tgz";
+      sha512 = "Agj3tsKjvXD53aSdy7rmEo35vYMSHm1MiW8NssH4+z+TpifPQwJxl0y72z+v4TbTg/K1xe5IUGrMfqZ00Z82zw==";
     };
     dependencies = [
-      sources."async-1.0.0"
-      sources."colors-1.0.3"
-      sources."commander-2.13.0"
-      sources."cycle-1.0.3"
-      sources."eventemitter3-1.2.0"
-      sources."eyes-0.1.8"
-      sources."http-proxy-1.16.2"
-      sources."isstream-0.1.2"
+      sources."async-2.6.1"
+      sources."color-3.0.0"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.5.3"
+      sources."colornames-1.1.1"
+      sources."colors-1.3.2"
+      sources."colorspace-1.1.1"
+      sources."commander-2.19.0"
+      sources."core-util-is-1.0.2"
+      sources."debug-3.1.0"
+      sources."diagnostics-1.1.1"
+      sources."enabled-1.0.2"
+      sources."env-variable-0.0.5"
+      sources."eventemitter3-3.1.0"
+      sources."fast-safe-stringify-2.0.6"
+      sources."fecha-2.3.3"
+      sources."follow-redirects-1.5.9"
+      sources."http-proxy-1.17.0"
+      sources."inherits-2.0.3"
+      sources."is-arrayish-0.3.2"
+      sources."is-stream-1.1.0"
+      sources."isarray-1.0.0"
+      sources."kuler-1.0.1"
+      sources."lodash-4.17.11"
+      (sources."logform-1.10.0" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
       sources."lynx-0.2.0"
       sources."mersenne-0.0.4"
+      sources."ms-2.0.0"
+      sources."one-time-0.0.4"
+      sources."process-nextick-args-2.0.0"
+      sources."readable-stream-2.3.6"
       sources."requires-port-1.0.0"
+      sources."safe-buffer-5.1.2"
+      sources."simple-swizzle-0.2.2"
       sources."stack-trace-0.0.10"
       sources."statsd-parser-0.0.4"
       sources."strftime-0.10.0"
-      sources."winston-2.4.4"
+      sources."string_decoder-1.1.1"
+      sources."text-hex-1.0.0"
+      sources."triple-beam-1.3.0"
+      sources."util-deprecate-1.0.2"
+      sources."winston-3.1.0"
+      sources."winston-transport-4.2.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -37424,7 +37622,7 @@ in
       sha512 = "IfslM3MP42CA/ebVJVlit6FhQ2P6Fercwx9NNQjkVs0wahEwqamL4bcqh1gKiTti7+/ZsDtBRSVmRv+y7LcTbg==";
     };
     dependencies = [
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.5"
       sources."acorn-5.7.3"
@@ -37465,7 +37663,7 @@ in
       sources."big-integer-1.6.36"
       sources."block-stream-0.0.9"
       sources."bn.js-4.11.8"
-      sources."body-parser-1.18.2"
+      sources."body-parser-1.18.3"
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -37612,11 +37810,7 @@ in
       sources."evp_bytestokey-1.0.3"
       sources."execa-0.7.0"
       sources."exit-hook-1.1.1"
-      (sources."express-4.16.3" // {
-        dependencies = [
-          sources."safe-buffer-5.1.1"
-        ];
-      })
+      sources."express-4.16.4"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."falafel-2.1.0"
@@ -37656,7 +37850,7 @@ in
       sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."https-browserify-1.0.0"
-      sources."iconv-lite-0.4.19"
+      sources."iconv-lite-0.4.23"
       sources."ieee754-1.1.12"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -37800,19 +37994,13 @@ in
       sources."public-encrypt-4.0.3"
       sources."punycode-1.4.1"
       sources."q-1.5.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."randombytes-2.0.6"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-          sources."http-errors-1.6.2"
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."raw-body-2.3.3"
       sources."rc-1.2.8"
       sources."read-1.0.7"
       sources."read-chunk-2.1.0"
@@ -37837,11 +38025,7 @@ in
       sources."rechoir-0.6.2"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."qs-6.5.2"
-        ];
-      })
+      sources."request-2.88.0"
       sources."resolve-1.8.1"
       sources."restore-cursor-1.0.1"
       (sources."rimraf-2.6.2" // {
@@ -37855,7 +38039,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-0.3.5"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       sources."send-0.16.2"
       sources."serve-static-1.13.2"
@@ -37881,7 +38065,7 @@ in
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.4.0"
       sources."stream-browserify-2.0.1"
       sources."stream-buffers-2.2.0"
@@ -37990,7 +38174,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.0"
-      sources."@types/node-10.11.4"
+      sources."@types/node-10.11.7"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.1.0"
       sources."ansi-regex-2.1.1"
@@ -38017,7 +38201,7 @@ in
       sources."custom-error-instance-2.1.1"
       sources."cycle-onionify-4.0.0"
       sources."d-1.0.0"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
       sources."es5-ext-0.10.46"
       sources."es6-iterator-2.0.3"
@@ -38121,10 +38305,10 @@ in
   create-react-app = nodeEnv.buildNodePackage {
     name = "create-react-app";
     packageName = "create-react-app";
-    version = "2.0.3";
+    version = "2.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-2.0.3.tgz";
-      sha512 = "HpApfnkI/kc8mfqN9JkPUZ0MmaqsKkvhJzUWjXg/PqeeGNrO4NKXmWzc2QUncszl/o+jfaqxy8ajgO0BQuRcow==";
+      url = "https://registry.npmjs.org/create-react-app/-/create-react-app-2.0.4.tgz";
+      sha512 = "8FP0i8GNAVADIH6zc1INmpkxDZADi+wWNOveq/ja/vjpkfgXcHd0bglNC5mg03cVmJUZWm/Am9qNY1IsUW+PGQ==";
     };
     dependencies = [
       sources."ansi-regex-2.1.1"
@@ -38232,7 +38416,7 @@ in
       sources."path-exists-3.0.0"
       sources."pseudomap-1.0.2"
       sources."regenerator-runtime-0.11.1"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."source-map-0.5.7"
@@ -38383,7 +38567,7 @@ in
       sources."dat-secret-storage-4.0.1"
       sources."dat-storage-1.1.1"
       sources."dat-swarm-defaults-1.0.1"
-      (sources."debug-3.2.5" // {
+      (sources."debug-3.2.6" // {
         dependencies = [
           sources."ms-2.1.1"
         ];
@@ -38411,7 +38595,7 @@ in
       sources."dom-walk-0.1.1"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
-      sources."duplexify-3.6.0"
+      sources."duplexify-3.6.1"
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-1.4.1"
       sources."escape-string-regexp-1.0.5"
@@ -38455,7 +38639,7 @@ in
       sources."has-flag-3.0.0"
       sources."http-methods-0.1.0"
       sources."http-signature-1.2.0"
-      (sources."hypercore-6.19.2" // {
+      (sources."hypercore-6.20.2" // {
         dependencies = [
           sources."process-nextick-args-1.0.7"
           sources."unordered-set-2.0.1"
@@ -38568,7 +38752,7 @@ in
       sources."neat-tasks-1.1.1"
       sources."nets-3.2.0"
       sources."network-address-1.1.2"
-      sources."node-gyp-build-3.4.0"
+      sources."node-gyp-build-3.5.0"
       sources."normalize-path-2.1.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
@@ -38631,7 +38815,7 @@ in
       sources."rusha-0.8.13"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -38651,7 +38835,7 @@ in
       sources."sorted-indexof-1.0.0"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.1.0"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stack-trace-0.0.10"
       sources."stream-collector-1.0.1"
       sources."stream-each-1.2.3"
@@ -38924,7 +39108,7 @@ in
       sources."cors-2.8.4"
       sources."deferred-leveldown-0.2.0"
       sources."docker-parse-image-3.0.1"
-      (sources."duplexify-3.6.0" // {
+      (sources."duplexify-3.6.1" // {
         dependencies = [
           sources."isarray-1.0.0"
           sources."readable-stream-2.3.6"
@@ -39068,13 +39252,13 @@ in
       sha512 = "Rxbsh4LWdIlMUO+NxET9g1xHZ9Q93i7jtPESYcCyEOnRiSsZXi/AF6UmCdvmM38IgHrklI2e4DwuG1OwRIGQAA==";
     };
     dependencies = [
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."ajv-5.5.2"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."async-2.6.1"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.330.0"
+      sources."aws-sdk-2.334.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."base64-js-1.3.0"
@@ -39137,7 +39321,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."through-2.3.8"
       (sources."tough-cookie-2.4.3" // {
         dependencies = [
@@ -39183,53 +39367,52 @@ in
   elm-test = nodeEnv.buildNodePackage {
     name = "elm-test";
     packageName = "elm-test";
-    version = "0.18.13-beta";
+    version = "0.18.13-beta3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.18.13-beta.tgz";
-      sha512 = "bD2euTGjq4GFHqG2AWOrXXYidqYgz/NU3RVZB3d0qvDwZ8GItlv2ReCtU4D2RuqY40+sCTUT4Tiq2gpV13GThg==";
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.18.13-beta3.tgz";
+      sha512 = "qKYcejb/fXOaZ1dg6N2JQqMc1QLuk1SKZHN2uP4eg+HQIlxWkQ7HQE2Kgo3bojMfdo0t0ZbGS6yhe06NmdeGmg==";
     };
     dependencies = [
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-2.2.1"
-      sources."anymatch-1.3.2"
-      sources."arr-diff-2.0.0"
+      sources."ajv-5.5.2"
+      sources."ansi-styles-3.2.1"
+      sources."anymatch-2.0.0"
+      sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
-      sources."array-unique-0.2.1"
+      sources."array-unique-0.3.2"
       sources."asn1-0.2.4"
-      sources."assert-plus-0.2.0"
+      sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."async-each-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      sources."aws-sign2-0.6.0"
+      sources."aws-sign2-0.7.0"
       sources."aws4-1.8.0"
       sources."balanced-match-1.0.0"
       (sources."base-0.11.2" // {
         dependencies = [
           sources."define-property-1.0.0"
-          sources."isobject-3.0.1"
         ];
       })
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.12.0"
-      sources."binstall-1.2.0"
+      sources."binstall-1.2.1"
       sources."block-stream-0.0.9"
-      sources."boom-2.10.1"
       sources."brace-expansion-1.1.11"
-      sources."braces-1.8.5"
-      (sources."cache-base-1.0.1" // {
+      (sources."braces-2.3.2" // {
         dependencies = [
-          sources."isobject-3.0.1"
+          sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
-      sources."caseless-0.11.0"
-      (sources."chalk-2.1.0" // {
+      sources."cache-base-1.0.1"
+      sources."caseless-0.12.0"
+      sources."chalk-2.1.0"
+      (sources."chokidar-2.0.4" // {
         dependencies = [
-          sources."ansi-styles-3.2.1"
+          sources."fsevents-1.2.4"
         ];
       })
-      sources."chokidar-1.6.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -39244,48 +39427,63 @@ in
             ];
           })
           sources."is-descriptor-0.1.6"
-          sources."isobject-3.0.1"
           sources."kind-of-5.1.0"
         ];
       })
+      sources."co-4.6.0"
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."combined-stream-1.0.7"
-      sources."commander-2.18.0"
       sources."component-emitter-1.2.1"
       sources."concat-map-0.0.1"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-4.0.0"
-      sources."cryptiles-2.0.5"
-      (sources."dashdash-1.14.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."dashdash-1.14.1"
       sources."debug-2.6.9"
       sources."decode-uri-component-0.2.0"
-      (sources."define-property-2.0.2" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
+      sources."define-property-2.0.2"
       sources."delayed-stream-1.0.0"
       sources."ecc-jsbn-0.1.2"
       sources."escape-string-regexp-1.0.5"
-      sources."expand-brackets-0.1.5"
-      sources."expand-range-1.8.2"
+      (sources."expand-brackets-2.1.4" // {
+        dependencies = [
+          sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
+          (sources."is-accessor-descriptor-0.1.6" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          (sources."is-data-descriptor-0.1.4" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
+          sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
+          sources."kind-of-5.1.0"
+        ];
+      })
       sources."extend-3.0.2"
-      (sources."extend-shallow-3.0.2" // {
+      sources."extend-shallow-3.0.2"
+      (sources."extglob-2.0.4" // {
         dependencies = [
-          sources."is-extendable-1.0.1"
+          sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
-      sources."extglob-0.3.2"
       sources."extsprintf-1.3.0"
-      sources."filename-regex-2.0.1"
-      sources."fill-range-2.2.4"
+      sources."fast-deep-equal-1.1.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      (sources."fill-range-4.0.0" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
+        ];
+      })
       (sources."find-elm-dependencies-1.0.2" // {
         dependencies = [
           sources."firstline-1.2.0"
@@ -39295,120 +39493,77 @@ in
       sources."find-parent-dir-0.3.0"
       sources."firstline-1.2.1"
       sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.1.4"
+      (sources."form-data-2.3.2" // {
+        dependencies = [
+          sources."combined-stream-1.0.6"
+        ];
+      })
       sources."fragment-cache-0.2.1"
       sources."fs-extra-0.30.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.1.2"
       sources."fstream-1.0.11"
-      sources."generate-function-2.3.1"
-      sources."generate-object-property-1.2.0"
       sources."get-value-2.0.6"
-      (sources."getpass-0.1.7" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."getpass-0.1.7"
       sources."glob-7.1.3"
-      sources."glob-base-0.3.0"
-      sources."glob-parent-2.0.0"
-      sources."graceful-fs-4.1.11"
-      (sources."har-validator-2.0.6" // {
+      (sources."glob-parent-3.1.0" // {
         dependencies = [
-          sources."chalk-1.1.3"
-          sources."supports-color-2.0.0"
+          sources."is-glob-3.1.0"
         ];
       })
-      sources."has-ansi-2.0.0"
+      sources."graceful-fs-4.1.11"
+      sources."har-schema-2.0.0"
+      sources."har-validator-5.1.0"
       sources."has-flag-2.0.0"
-      (sources."has-value-1.0.0" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
+      sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
           sources."kind-of-4.0.0"
         ];
       })
-      sources."hawk-3.1.3"
-      sources."hoek-2.16.3"
-      sources."http-signature-1.1.1"
+      sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      (sources."is-accessor-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
+      sources."is-accessor-descriptor-1.0.0"
       sources."is-binary-path-1.0.1"
       sources."is-buffer-1.1.6"
-      (sources."is-data-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
-      (sources."is-descriptor-1.0.2" // {
-        dependencies = [
-          sources."kind-of-6.0.2"
-        ];
-      })
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
-      sources."is-extendable-0.1.1"
-      sources."is-extglob-1.0.0"
-      sources."is-glob-2.0.1"
-      sources."is-my-ip-valid-1.0.0"
-      sources."is-my-json-valid-2.19.0"
-      sources."is-number-2.1.0"
-      (sources."is-plain-object-2.0.4" // {
+      sources."is-data-descriptor-1.0.0"
+      sources."is-descriptor-1.0.2"
+      sources."is-extendable-1.0.1"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.0"
+      (sources."is-number-3.0.0" // {
         dependencies = [
-          sources."isobject-3.0.1"
+          sources."kind-of-3.2.2"
         ];
       })
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
-      sources."is-property-1.0.2"
+      sources."is-plain-object-2.0.4"
       sources."is-typedarray-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-2.1.0"
+      sources."isobject-3.0.1"
       sources."isstream-0.1.2"
       sources."jsbn-0.1.1"
       sources."json-schema-0.2.3"
+      sources."json-schema-traverse-0.3.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
-      sources."jsonpointer-4.0.1"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."kind-of-3.2.2"
+      sources."jsprim-1.4.1"
+      sources."kind-of-6.0.2"
       sources."klaw-1.3.1"
-      sources."lodash-4.13.1"
+      sources."lodash-4.17.11"
+      sources."lodash.debounce-4.0.8"
       sources."lru-cache-4.1.3"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
-      sources."math-random-1.0.1"
-      sources."micromatch-2.3.11"
+      sources."micromatch-3.1.10"
       sources."mime-db-1.36.0"
       sources."mime-types-2.1.20"
       sources."minimatch-3.0.4"
       sources."minimist-1.2.0"
-      (sources."mixin-deep-1.3.1" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
+      sources."mixin-deep-1.3.1"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -39417,20 +39572,14 @@ in
       sources."ms-2.0.0"
       sources."murmur-hash-js-1.0.0"
       sources."nan-2.11.1"
-      (sources."nanomatch-1.2.13" // {
-        dependencies = [
-          sources."arr-diff-4.0.0"
-          sources."array-unique-0.3.2"
-          sources."kind-of-6.0.2"
-        ];
-      })
+      sources."nanomatch-1.2.13"
       (sources."node-elm-compiler-4.3.3" // {
         dependencies = [
           sources."lodash-4.14.2"
         ];
       })
       sources."normalize-path-2.1.1"
-      sources."oauth-sign-0.8.2"
+      sources."oauth-sign-0.9.0"
       (sources."object-copy-0.1.0" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -39441,96 +39590,30 @@ in
               sources."kind-of-5.1.0"
             ];
           })
+          sources."kind-of-3.2.2"
         ];
       })
-      (sources."object-visit-1.0.1" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."object.omit-2.0.1"
-      (sources."object.pick-1.3.0" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
+      sources."object-visit-1.0.1"
+      sources."object.pick-1.3.0"
       sources."once-1.4.0"
       sources."os-tmpdir-1.0.2"
-      sources."parse-glob-3.0.4"
       sources."pascalcase-0.1.1"
+      sources."path-dirname-1.0.2"
       sources."path-is-absolute-1.0.1"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
+      sources."performance-now-2.1.0"
       sources."posix-character-classes-0.1.1"
-      sources."preserve-0.2.0"
       sources."process-nextick-args-2.0.0"
       sources."pseudomap-1.0.2"
+      sources."psl-1.1.29"
       sources."punycode-1.4.1"
-      sources."qs-6.3.2"
-      (sources."randomatic-3.1.0" // {
-        dependencies = [
-          sources."is-number-4.0.0"
-          sources."kind-of-6.0.2"
-        ];
-      })
+      sources."qs-6.5.2"
       sources."readable-stream-2.3.6"
-      (sources."readdirp-2.2.1" // {
-        dependencies = [
-          sources."arr-diff-4.0.0"
-          sources."array-unique-0.3.2"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."expand-brackets-2.1.4" // {
-            dependencies = [
-              sources."define-property-0.2.5"
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."extglob-2.0.4" // {
-            dependencies = [
-              sources."define-property-1.0.0"
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."isobject-3.0.1"
-          sources."kind-of-6.0.2"
-          sources."micromatch-3.1.10"
-        ];
-      })
-      sources."regex-cache-0.4.4"
+      sources."readdirp-2.2.1"
       sources."regex-not-1.0.2"
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      sources."request-2.79.0"
+      sources."request-2.88.0"
       sources."resolve-url-0.2.1"
       sources."ret-0.1.15"
       sources."rimraf-2.6.2"
@@ -39540,6 +39623,7 @@ in
       (sources."set-value-2.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
         ];
       })
       (sources."snapdragon-0.8.2" // {
@@ -39557,27 +39641,26 @@ in
             ];
           })
           sources."is-descriptor-0.1.6"
+          sources."is-extendable-0.1.1"
           sources."kind-of-5.1.0"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
         dependencies = [
           sources."define-property-1.0.0"
-          sources."isobject-3.0.1"
         ];
       })
-      sources."snapdragon-util-3.0.1"
-      sources."sntp-1.0.9"
+      (sources."snapdragon-util-3.0.1" // {
+        dependencies = [
+          sources."kind-of-3.2.2"
+        ];
+      })
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
       sources."source-map-url-0.4.0"
       sources."split-1.0.1"
       sources."split-string-3.1.0"
-      (sources."sshpk-1.14.2" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -39596,8 +39679,6 @@ in
         ];
       })
       sources."string_decoder-1.1.1"
-      sources."stringstream-0.0.6"
-      sources."strip-ansi-3.0.1"
       sources."supports-color-4.2.0"
       sources."tar-2.2.1"
       (sources."temp-0.8.3" // {
@@ -39606,19 +39687,20 @@ in
         ];
       })
       sources."through-2.3.8"
-      sources."to-object-path-0.3.0"
-      sources."to-regex-3.0.2"
-      (sources."to-regex-range-2.1.1" // {
+      (sources."to-object-path-0.3.0" // {
         dependencies = [
-          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
         ];
       })
-      sources."tough-cookie-2.3.4"
-      sources."tunnel-agent-0.4.3"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-2.1.1"
+      sources."tough-cookie-2.4.3"
+      sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       (sources."union-value-1.0.0" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
+          sources."is-extendable-0.1.1"
           sources."set-value-0.4.3"
         ];
       })
@@ -39630,22 +39712,17 @@ in
             ];
           })
           sources."has-values-0.1.4"
-          sources."isobject-3.0.1"
         ];
       })
+      sources."upath-1.1.0"
       sources."urix-0.1.0"
       sources."use-3.1.1"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.3.2"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
       sources."xmlbuilder-8.2.2"
-      sources."xtend-4.0.1"
       sources."yallist-2.1.2"
     ];
     buildInputs = globalBuildInputs;
@@ -39841,7 +39918,7 @@ in
       sources."resolve-from-3.0.0"
       sources."restore-cursor-2.0.0"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -39896,10 +39973,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "5.6.1";
+    version = "5.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-5.6.1.tgz";
-      sha512 = "hgrDtGWz368b7Wqf+v1Z69O3ZebNR0+GA7PtDdbmuz4rInFVUV9uw7whjZEiWyLzCjVb5Rs5WRN1TAS6eo7AYA==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-5.7.0.tgz";
+      sha512 = "zYCeFQahsxffGl87U2aJ7DPyH8CbWgxBC213Y8+TCanhUTf2gEvfq3EKpHmEcozTLyPmGe9LZdMAwC/CpJBM5A==";
     };
     dependencies = [
       sources."@babel/code-frame-7.0.0"
@@ -39907,7 +39984,6 @@ in
       sources."acorn-5.7.3"
       sources."acorn-jsx-4.1.1"
       sources."ajv-6.5.4"
-      sources."ajv-keywords-3.2.0"
       sources."ansi-escapes-3.1.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
@@ -40006,7 +40082,7 @@ in
       sources."run-async-2.3.0"
       sources."rxjs-6.3.3"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -40016,7 +40092,7 @@ in
       sources."strip-ansi-4.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."table-4.0.3"
+      sources."table-5.1.0"
       sources."text-table-0.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -40051,7 +40127,6 @@ in
       sources."acorn-5.7.3"
       sources."acorn-jsx-4.1.1"
       sources."ajv-6.5.4"
-      sources."ajv-keywords-3.2.0"
       sources."ansi-escapes-3.1.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
@@ -40077,7 +40152,7 @@ in
       sources."del-2.2.2"
       sources."doctrine-2.1.0"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-5.6.1"
+      sources."eslint-5.7.0"
       sources."eslint-scope-4.0.0"
       sources."eslint-utils-1.3.1"
       sources."eslint-visitor-keys-1.0.0"
@@ -40154,7 +40229,7 @@ in
       sources."run-async-2.3.0"
       sources."rxjs-6.3.3"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -40164,7 +40239,7 @@ in
       sources."strip-ansi-4.0.0"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-5.5.0"
-      sources."table-4.0.3"
+      sources."table-5.1.0"
       sources."text-table-0.2.0"
       sources."through-2.3.8"
       sources."tmp-0.0.33"
@@ -40353,13 +40428,13 @@ in
       sources."restore-cursor-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."signal-exit-3.0.2"
       sources."spdx-correct-3.0.2"
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
       sources."strip-bom-2.0.0"
@@ -40848,7 +40923,7 @@ in
       sources."microee-0.0.6"
       sources."minilog-3.1.0"
       sources."ms-2.1.1"
-      sources."simple-git-1.104.0"
+      sources."simple-git-1.105.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
     ];
     buildInputs = globalBuildInputs;
@@ -40884,7 +40959,7 @@ in
       sources."git-remote-ssb-2.0.4"
       sources."git-ssb-web-2.8.0"
       sources."hashlru-2.2.1"
-      sources."highlight.js-9.12.0"
+      sources."highlight.js-9.13.0"
       sources."increment-buffer-1.0.1"
       sources."inherits-2.0.3"
       sources."ini-1.3.5"
@@ -40915,7 +40990,7 @@ in
       sources."multiserver-1.13.5"
       sources."muxrpc-6.4.1"
       sources."nan-2.11.1"
-      sources."node-gyp-build-3.4.0"
+      sources."node-gyp-build-3.5.0"
       sources."node-polyglot-1.0.0"
       sources."non-private-ip-1.4.4"
       sources."options-0.0.6"
@@ -40974,7 +41049,7 @@ in
       sources."remove-markdown-0.1.0"
       sources."safe-buffer-5.1.2"
       sources."secret-handshake-1.1.14"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."separator-escape-0.0.0"
       sources."sha.js-2.4.5"
       sources."smart-buffer-4.0.1"
@@ -40990,7 +41065,7 @@ in
       sources."split-buffer-1.0.0"
       sources."ssb-avatar-0.2.0"
       sources."ssb-client-4.6.0"
-      sources."ssb-config-2.3.4"
+      sources."ssb-config-2.3.5"
       sources."ssb-git-0.5.0"
       sources."ssb-git-repo-2.8.3"
       sources."ssb-issues-1.0.0"
@@ -41100,9 +41175,9 @@ in
       sources."balanced-match-1.0.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bluebird-3.5.2"
-      (sources."body-parser-1.18.2" // {
+      (sources."body-parser-1.18.3" // {
         dependencies = [
-          sources."iconv-lite-0.4.19"
+          sources."iconv-lite-0.4.23"
         ];
       })
       sources."boxen-1.3.0"
@@ -41137,8 +41212,8 @@ in
         ];
       })
       sources."combined-stream-1.0.7"
-      sources."command-exists-1.2.7"
-      sources."commander-2.18.0"
+      sources."command-exists-1.2.8"
+      sources."commander-2.19.0"
       sources."common-tags-1.8.0"
       sources."concat-map-0.0.1"
       sources."configstore-3.1.2"
@@ -41206,20 +41281,12 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      sources."express-4.16.3"
+      sources."express-4.16.4"
       (sources."express-request-proxy-2.2.2" // {
         dependencies = [
-          (sources."body-parser-1.18.3" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."debug-3.2.5"
-          sources."iconv-lite-0.4.23"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."path-to-regexp-1.7.0"
-          sources."qs-6.5.2"
-          sources."raw-body-2.3.3"
         ];
       })
       sources."extend-3.0.2"
@@ -41254,7 +41321,7 @@ in
       sources."graphcool-json-schema-1.2.1"
       (sources."graphcool-yml-0.4.15" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."dotenv-4.0.0"
           sources."fs-extra-4.0.3"
           sources."ms-2.1.1"
@@ -41300,7 +41367,7 @@ in
       sources."http-signature-1.2.0"
       (sources."https-proxy-agent-2.2.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -41350,7 +41417,7 @@ in
       sources."json-schema-0.2.3"
       (sources."json-schema-ref-parser-3.3.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -41455,7 +41522,7 @@ in
       sources."prisma-json-schema-0.1.1"
       (sources."prisma-yml-1.0.93" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."dotenv-4.0.0"
           sources."ms-2.1.1"
         ];
@@ -41467,14 +41534,11 @@ in
       sources."pseudomap-1.0.2"
       sources."psl-1.1.29"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.3.2" // {
+      (sources."raw-body-2.3.3" // {
         dependencies = [
-          sources."depd-1.1.1"
-          sources."http-errors-1.6.2"
-          sources."iconv-lite-0.4.19"
-          sources."setprototypeof-1.0.3"
+          sources."iconv-lite-0.4.23"
         ];
       })
       (sources."rc-1.2.8" // {
@@ -41493,12 +41557,7 @@ in
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
       sources."replaceall-0.1.6"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."qs-6.5.2"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."request-2.88.0"
       sources."request-promise-4.2.2"
       sources."request-promise-core-1.1.1"
       sources."require-directory-2.1.1"
@@ -41509,10 +41568,10 @@ in
       sources."rimraf-2.6.2"
       sources."run-async-2.3.0"
       sources."rxjs-5.5.12"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."scuid-1.1.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       sources."send-0.16.2"
       sources."sentence-case-2.1.1"
@@ -41536,7 +41595,7 @@ in
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.4.0"
       sources."stealthy-require-1.1.1"
       (sources."string-width-2.1.1" // {
@@ -42200,7 +42259,7 @@ in
       sources."ms-2.0.0"
       sources."multipipe-0.1.2"
       sources."nanomatch-1.2.13"
-      sources."natives-1.1.5"
+      sources."natives-1.1.6"
       sources."object-assign-3.0.0"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -42609,7 +42668,7 @@ in
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-greatest-satisfied-range-1.1.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.0" // {
@@ -42754,7 +42813,7 @@ in
       sources."asap-2.0.6"
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
-      sources."ast-types-0.11.5"
+      sources."ast-types-0.11.6"
       sources."async-2.6.1"
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
@@ -42800,7 +42859,7 @@ in
       sources."dashdash-1.14.1"
       sources."data-uri-to-buffer-1.2.0"
       sources."date-now-0.1.4"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."decamelize-1.2.0"
       sources."deep-is-0.1.3"
       sources."degenerator-1.0.4"
@@ -43043,7 +43102,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."secure-keys-1.0.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."setprototypeof-1.1.0"
       (sources."shallow-clone-0.1.2" // {
         dependencies = [
@@ -43053,14 +43112,14 @@ in
       sources."shelljs-0.3.0"
       sources."signal-exit-3.0.2"
       sources."smart-buffer-1.1.15"
-      sources."snyk-1.102.0"
+      sources."snyk-1.103.4"
       sources."snyk-config-2.2.0"
-      sources."snyk-docker-plugin-1.11.0"
+      sources."snyk-docker-plugin-1.12.0"
       sources."snyk-go-plugin-1.5.2"
       sources."snyk-gradle-plugin-2.1.0"
       sources."snyk-module-1.8.2"
       sources."snyk-mvn-plugin-2.0.0"
-      (sources."snyk-nodejs-lockfile-parser-1.5.1" // {
+      (sources."snyk-nodejs-lockfile-parser-1.5.3" // {
         dependencies = [
           sources."lodash-4.17.10"
         ];
@@ -43070,7 +43129,7 @@ in
       sources."snyk-policy-1.12.0"
       sources."snyk-python-plugin-1.8.2"
       sources."snyk-resolve-1.0.1"
-      sources."snyk-resolve-deps-4.0.1"
+      sources."snyk-resolve-deps-4.0.2"
       sources."snyk-sbt-plugin-2.0.0"
       sources."snyk-tree-1.0.0"
       sources."snyk-try-require-1.3.1"
@@ -43080,7 +43139,7 @@ in
       sources."source-map-support-0.5.9"
       sources."split-1.0.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
       sources."string-width-2.1.1"
@@ -43206,7 +43265,7 @@ in
       sources."debug-3.1.0"
       sources."ecstatic-3.3.0"
       sources."eventemitter3-3.1.0"
-      sources."follow-redirects-1.5.8"
+      sources."follow-redirects-1.5.9"
       sources."he-1.2.0"
       sources."http-proxy-1.17.0"
       sources."mime-1.6.0"
@@ -43261,7 +43320,7 @@ in
       sources."ansi-escapes-3.1.0"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."ast-types-0.11.5"
+      sources."ast-types-0.11.6"
       sources."async-limiter-1.0.0"
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.0"
@@ -43346,7 +43405,7 @@ in
       })
       (sources."https-proxy-agent-2.2.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
         ];
       })
       sources."iconv-lite-0.4.24"
@@ -43410,7 +43469,7 @@ in
           sources."yallist-3.0.2"
         ];
       })
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
           sources."minimist-0.0.8"
@@ -43430,7 +43489,7 @@ in
       sources."p-finally-1.0.0"
       (sources."pac-proxy-agent-3.0.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
         ];
       })
       sources."pac-resolver-3.0.0"
@@ -43444,7 +43503,7 @@ in
       sources."process-nextick-args-2.0.0"
       (sources."proxy-agent-3.0.3" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
         ];
       })
       sources."proxy-from-env-1.0.0"
@@ -43467,7 +43526,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.1.4"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       sources."setprototypeof-1.1.0"
       sources."shebang-command-1.2.0"
@@ -43497,12 +43556,12 @@ in
       sources."strip-json-comments-2.0.1"
       (sources."superagent-3.8.3" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
         ];
       })
       (sources."superagent-proxy-2.0.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
         ];
       })
       sources."supports-color-5.5.0"
@@ -43757,7 +43816,7 @@ in
       sha512 = "Kkal2i0jcXsgwgn61gnhVJuh0R0J+HqyzREVaeBvZHgMCAQVW02kYwVbY8xzpBfcZmDBYcT5LrPBBQa27C9tRA==";
     };
     dependencies = [
-      (sources."@commitlint/cli-7.2.0" // {
+      (sources."@commitlint/cli-7.2.1" // {
         dependencies = [
           sources."chalk-2.3.1"
         ];
@@ -43765,10 +43824,10 @@ in
       sources."@commitlint/config-conventional-7.1.2"
       sources."@commitlint/ensure-7.2.0"
       sources."@commitlint/execute-rule-7.1.2"
-      sources."@commitlint/format-7.2.0"
-      sources."@commitlint/is-ignored-7.2.0"
-      sources."@commitlint/lint-7.2.0"
-      sources."@commitlint/load-7.2.0"
+      sources."@commitlint/format-7.2.1"
+      sources."@commitlint/is-ignored-7.2.1"
+      sources."@commitlint/lint-7.2.1"
+      sources."@commitlint/load-7.2.1"
       sources."@commitlint/message-7.1.2"
       sources."@commitlint/parse-7.1.2"
       sources."@commitlint/read-7.1.2"
@@ -43777,7 +43836,7 @@ in
       sources."@commitlint/to-lines-7.1.2"
       sources."@commitlint/top-level-7.1.2"
       sources."@marionebl/sander-0.6.1"
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."ansi-color-0.2.1"
       sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
@@ -43806,7 +43865,7 @@ in
       sources."check-error-1.0.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."compare-func-1.3.2"
       sources."concat-map-0.0.1"
       sources."conventional-changelog-angular-1.6.6"
@@ -43860,7 +43919,7 @@ in
       sources."is-text-path-1.0.1"
       sources."isarray-1.0.0"
       sources."iterare-0.0.8"
-      (sources."jaeger-client-3.12.0" // {
+      (sources."jaeger-client-3.13.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -43938,7 +43997,7 @@ in
       sources."rxjs-5.5.12"
       sources."safe-buffer-5.1.2"
       sources."semaphore-async-await-1.5.1"
-      sources."semver-5.5.0"
+      sources."semver-5.6.0"
       sources."signal-exit-3.0.2"
       sources."spdx-correct-3.0.2"
       sources."spdx-exceptions-2.2.0"
@@ -43953,7 +44012,7 @@ in
       sources."strip-indent-2.0.0"
       sources."supports-color-5.5.0"
       sources."symbol-observable-1.0.1"
-      sources."text-extensions-1.8.0"
+      sources."text-extensions-1.9.0"
       sources."thenify-3.3.0"
       sources."thenify-all-1.6.0"
       sources."thriftrw-3.11.3"
@@ -44171,7 +44230,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."shelljs-0.3.0"
       sources."split-1.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stack-trace-0.0.10"
       sources."string_decoder-0.10.31"
       sources."strip-json-comments-1.0.4"
@@ -44218,18 +44277,18 @@ in
   js-beautify = nodeEnv.buildNodePackage {
     name = "js-beautify";
     packageName = "js-beautify";
-    version = "1.8.6";
+    version = "1.8.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.6.tgz";
-      sha512 = "TYDZa+lg8vEC5U0OmGQEEwiZ0XFBfvZAUeNOtqflLe+woKuIqF4JzlsBx/C1KVYW5lUewZy2ODL4Obq6sH7a4Q==";
+      url = "https://registry.npmjs.org/js-beautify/-/js-beautify-1.8.7.tgz";
+      sha512 = "yhAMCTv0L9GNg6Gql7i+g4C1z9rQhfHXy4J0TGYFoBzzHR4reWYS573gkRrPuE58dYOH451LmBeAb8L1pLEfdA==";
     };
     dependencies = [
-      sources."@types/commander-2.12.2"
+      sources."@types/node-10.11.7"
       sources."@types/semver-5.5.0"
       sources."abbrev-1.1.1"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."config-chain-1.1.12"
-      sources."editorconfig-0.15.0"
+      sources."editorconfig-0.15.2"
       sources."ini-1.3.5"
       sources."lru-cache-4.1.3"
       sources."minimist-0.0.8"
@@ -44240,7 +44299,7 @@ in
       sources."osenv-0.1.5"
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."sigmund-1.0.1"
       sources."yallist-2.1.2"
     ];
@@ -44334,7 +44393,7 @@ in
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.2"
       sources."core-util-is-1.0.2"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
@@ -44440,19 +44499,8 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-0.7.0"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
-          sources."safe-buffer-5.1.1"
           sources."statuses-1.4.0"
         ];
       })
@@ -44539,7 +44587,7 @@ in
       sources."minimist-1.2.0"
       sources."morgan-1.9.1"
       sources."ms-2.0.0"
-      sources."nanoid-1.2.6"
+      sources."nanoid-1.3.0"
       sources."negotiator-0.6.1"
       sources."npm-run-path-2.0.2"
       sources."number-is-nan-1.0.1"
@@ -44578,7 +44626,7 @@ in
       sources."require-main-filename-1.0.1"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-compare-1.0.0"
       sources."semver-diff-2.1.0"
       (sources."send-0.16.2" // {
@@ -44593,7 +44641,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.5.0"
       sources."steno-0.4.4"
       sources."string-width-2.1.1"
@@ -44821,7 +44869,7 @@ in
           sources."statuses-1.3.1"
         ];
       })
-      (sources."follow-redirects-1.5.8" // {
+      (sources."follow-redirects-1.5.9" // {
         dependencies = [
           sources."debug-3.1.0"
         ];
@@ -44879,7 +44927,7 @@ in
       sources."lodash.debounce-4.0.8"
       (sources."log4js-3.0.6" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -45024,7 +45072,7 @@ in
       sources."statuses-1.5.0"
       (sources."streamroller-0.7.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -45259,7 +45307,7 @@ in
       sources."convert-source-map-1.6.0"
       sources."core-util-is-1.0.2"
       sources."define-properties-1.1.3"
-      sources."duplexify-3.6.0"
+      sources."duplexify-3.6.1"
       sources."end-of-stream-1.4.1"
       sources."extend-3.0.2"
       sources."flush-write-stream-1.0.3"
@@ -45527,7 +45575,7 @@ in
       sources."sntp-2.1.0"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.1.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stack-trace-0.0.10"
       sources."string-width-1.0.2"
       sources."string_decoder-0.10.31"
@@ -45598,10 +45646,10 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "3.4.1";
+    version = "3.4.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-3.4.1.tgz";
-      sha512 = "00X2mYuwJk/bvxdjJceUxTjUgUg7MIMWllo2zGfDVGPijLadrg8QCtJASZqVE7HDQbBLDxLGPjswk29HF5JS2Q==";
+      url = "https://registry.npmjs.org/lerna/-/lerna-3.4.3.tgz";
+      sha512 = "tWq1LvpHqkyB+FaJCmkEweivr88yShDMmauofPVdh0M5gU1cVucszYnIgWafulKYu2LMQ3IfUMUU5Pp3+MvADQ==";
     };
     dependencies = [
       sources."@lerna/add-3.4.1"
@@ -45641,7 +45689,7 @@ in
       sources."@lerna/package-graph-3.1.2"
       sources."@lerna/project-3.0.0"
       sources."@lerna/prompt-3.3.1"
-      sources."@lerna/publish-3.4.1"
+      sources."@lerna/publish-3.4.3"
       sources."@lerna/resolve-symlink-3.3.0"
       sources."@lerna/rimraf-dir-3.3.0"
       sources."@lerna/run-3.3.2"
@@ -45654,7 +45702,7 @@ in
       sources."@lerna/write-log-file-3.0.0"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.2"
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."abbrev-1.1.1"
       sources."agent-base-4.2.1"
       sources."agentkeepalive-3.5.1"
@@ -45805,7 +45853,7 @@ in
       sources."dir-glob-2.0.0"
       sources."dot-prop-4.2.0"
       sources."duplexer-0.1.1"
-      sources."duplexify-3.6.0"
+      sources."duplexify-3.6.1"
       sources."ecc-jsbn-0.1.2"
       sources."encoding-0.1.12"
       sources."end-of-stream-1.4.1"
@@ -45942,7 +45990,7 @@ in
       sources."http-signature-1.2.0"
       (sources."https-proxy-agent-2.2.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -46040,7 +46088,7 @@ in
           sources."read-pkg-up-3.0.0"
         ];
       })
-      sources."merge2-1.2.2"
+      sources."merge2-1.2.3"
       sources."micromatch-3.1.10"
       sources."mime-db-1.36.0"
       sources."mime-types-2.1.20"
@@ -46053,7 +46101,7 @@ in
           sources."yallist-3.0.2"
         ];
       })
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.1" // {
         dependencies = [
@@ -46224,7 +46272,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.0" // {
         dependencies = [
@@ -46279,7 +46327,7 @@ in
       sources."split-string-3.1.0"
       sources."split2-2.2.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."ssri-6.0.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -46320,7 +46368,7 @@ in
       })
       sources."temp-dir-1.0.0"
       sources."temp-write-3.4.0"
-      sources."text-extensions-1.8.0"
+      sources."text-extensions-1.9.0"
       sources."through-2.3.8"
       sources."through2-2.0.3"
       sources."tmp-0.0.33"
@@ -46474,7 +46522,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."source-map-0.6.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."tough-cookie-2.4.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
@@ -47030,19 +47078,8 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
-          sources."safe-buffer-5.1.1"
           sources."statuses-1.4.0"
         ];
       })
@@ -47359,7 +47396,7 @@ in
       sources."source-map-url-0.4.0"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -47534,7 +47571,7 @@ in
         dependencies = [
           sources."glob-7.1.3"
           sources."minimatch-3.0.4"
-          sources."semver-5.5.1"
+          sources."semver-5.6.0"
           sources."uglify-js-2.8.29"
         ];
       })
@@ -47645,7 +47682,7 @@ in
       sources."debug-2.6.9"
       (sources."debug-fabulous-1.1.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -47665,7 +47702,7 @@ in
           sources."readable-stream-1.1.14"
         ];
       })
-      (sources."duplexify-3.6.0" // {
+      (sources."duplexify-3.6.1" // {
         dependencies = [
           sources."end-of-stream-1.4.1"
           sources."once-1.4.0"
@@ -47961,7 +47998,7 @@ in
       sources."ms-2.0.0"
       sources."multipipe-0.1.2"
       sources."nanomatch-1.2.13"
-      sources."natives-1.1.5"
+      sources."natives-1.1.6"
       sources."next-tick-1.0.0"
       sources."normalize-path-2.1.1"
       sources."now-and-later-2.0.0"
@@ -48088,7 +48125,7 @@ in
       sources."source-map-url-0.4.0"
       sources."sparkles-1.0.1"
       sources."split-string-3.1.0"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -48142,7 +48179,7 @@ in
       sources."tough-cookie-2.4.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."typescript-3.1.1"
+      sources."typescript-3.1.3"
       (sources."uglify-js-3.4.9" // {
         dependencies = [
           sources."source-map-0.6.1"
@@ -48261,11 +48298,11 @@ in
       sources."argparse-1.0.10"
       sources."asynckit-0.4.0"
       sources."combined-stream-1.0.6"
-      sources."commander-2.18.0"
+      sources."commander-2.19.0"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.2"
       sources."core-util-is-1.0.2"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."delayed-stream-1.0.0"
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
@@ -48408,7 +48445,7 @@ in
       sources."mime-types-2.1.20"
       sources."minimist-0.0.8"
       sources."minipass-2.3.4"
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       sources."mkdirp-0.5.1"
       sources."ncp-0.4.2"
       sources."nijs-0.0.25"
@@ -48452,7 +48489,7 @@ in
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."ssri-5.3.0"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
@@ -48577,7 +48614,7 @@ in
       sources."semver-5.3.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -48604,10 +48641,10 @@ in
   node-gyp-build = nodeEnv.buildNodePackage {
     name = "node-gyp-build";
     packageName = "node-gyp-build";
-    version = "3.4.0";
+    version = "3.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz";
-      sha512 = "YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==";
+      url = "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.5.0.tgz";
+      sha512 = "qjEE8eIWVyqZhkAFUzytGpOGvLHeX5kXBB6MYyTOCPZBrBlsLyXAAzTsp/hWMbVlg8kVpzDJCZZowIrnKpwmqQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -48648,7 +48685,7 @@ in
       sources."biased-opener-0.2.8"
       sources."big-integer-1.6.36"
       sources."block-stream-0.0.9"
-      sources."body-parser-1.18.2"
+      sources."body-parser-1.18.3"
       sources."boom-2.10.1"
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.11"
@@ -48691,7 +48728,7 @@ in
       sources."error-ex-1.3.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.16.3"
+      sources."express-4.16.4"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."finalhandler-1.1.1"
@@ -48721,7 +48758,7 @@ in
       sources."hosted-git-info-2.7.1"
       sources."http-errors-1.6.3"
       sources."http-signature-1.1.1"
-      sources."iconv-lite-0.4.19"
+      sources."iconv-lite-0.4.23"
       sources."indent-string-2.1.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -48773,7 +48810,7 @@ in
         dependencies = [
           sources."glob-7.1.3"
           sources."rimraf-2.6.2"
-          sources."semver-5.5.1"
+          sources."semver-5.6.0"
         ];
       })
       sources."nopt-4.0.1"
@@ -48803,15 +48840,9 @@ in
       sources."process-nextick-args-2.0.0"
       sources."proxy-addr-2.0.4"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-          sources."http-errors-1.6.2"
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."raw-body-2.3.3"
       sources."rc-1.2.8"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
@@ -48824,13 +48855,14 @@ in
         ];
       })
       sources."rimraf-2.2.8"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-4.3.6"
       sources."send-0.16.2"
       (sources."serve-favicon-2.5.0" // {
         dependencies = [
           sources."ms-2.1.1"
+          sources."safe-buffer-5.1.1"
         ];
       })
       sources."serve-static-1.13.2"
@@ -48842,7 +48874,7 @@ in
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
-      (sources."sshpk-1.14.2" // {
+      (sources."sshpk-1.15.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -48955,7 +48987,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."minipass-2.3.4"
-      sources."minizlib-1.1.0"
+      sources."minizlib-1.1.1"
       sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."needle-2.2.4"
@@ -48981,7 +49013,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."string-width-1.0.2"
@@ -49074,7 +49106,7 @@ in
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      (sources."debug-3.2.5" // {
+      (sources."debug-3.2.6" // {
         dependencies = [
           sources."ms-2.1.1"
         ];
@@ -49238,7 +49270,7 @@ in
       sources."ret-0.1.15"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       (sources."set-value-2.0.0" // {
         dependencies = [
@@ -49455,7 +49487,7 @@ in
       sources."domelementtype-1.3.0"
       sources."domhandler-2.4.2"
       sources."domutils-1.5.1"
-      sources."duplexify-3.6.0"
+      sources."duplexify-3.6.1"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."encodeurl-1.0.2"
@@ -49535,7 +49567,7 @@ in
       sources."http-signature-1.2.0"
       (sources."https-proxy-agent-2.2.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -49716,7 +49748,7 @@ in
       sources."source-map-0.6.1"
       sources."split2-2.2.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.5.0"
       sources."stream-shift-1.0.0"
       sources."streamsearch-0.1.2"
@@ -50022,7 +50054,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-0.0.8"
       sources."mkdirp-0.3.5"
-      sources."natives-1.1.5"
+      sources."natives-1.1.6"
       sources."ncp-0.4.2"
       sources."nopt-2.2.1"
       (sources."npm-registry-client-0.2.27" // {
@@ -50060,7 +50092,7 @@ in
       sources."set-blocking-2.0.0"
       sources."signal-exit-3.0.2"
       sources."slide-1.1.6"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -50131,7 +50163,7 @@ in
       sources."create-error-class-3.0.2"
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."deep-extend-0.6.0"
       sources."dot-prop-4.2.0"
       sources."duplexer3-0.1.4"
@@ -50201,9 +50233,9 @@ in
       sources."registry-url-3.1.0"
       sources."require-from-string-2.0.2"
       sources."safe-buffer-5.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
-      sources."semver-utils-1.1.2"
+      sources."semver-utils-1.1.4"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."signal-exit-3.0.2"
@@ -50274,7 +50306,7 @@ in
       sources."colors-1.3.2"
       sources."cross-spawn-5.1.0"
       sources."cvss-1.0.4"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."decamelize-1.2.0"
       sources."error-ex-1.3.2"
       sources."es6-promise-4.2.5"
@@ -50343,7 +50375,7 @@ in
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
@@ -50510,20 +50542,9 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
           sources."content-type-1.0.4"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
-          sources."safe-buffer-5.1.1"
           sources."statuses-1.4.0"
         ];
       })
@@ -50686,7 +50707,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-json-stringify-1.2.0"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       (sources."send-0.16.2" // {
         dependencies = [
           sources."statuses-1.4.0"
@@ -50709,7 +50730,7 @@ in
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.5.0"
       sources."streamsearch-0.1.2"
       sources."string-width-1.0.2"
@@ -50972,7 +50993,7 @@ in
       sources."rxjs-5.5.12"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."server-destroy-1.0.1"
       sources."signal-exit-3.0.2"
       sources."simple-concat-1.0.0"
@@ -51580,7 +51601,7 @@ in
       sources."rimraf-2.6.2"
       sources."safer-buffer-2.1.2"
       sources."sntp-1.0.9"
-      (sources."sshpk-1.14.2" // {
+      (sources."sshpk-1.15.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -51617,10 +51638,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "2.16.2";
+    version = "2.16.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.2.tgz";
-      sha512 = "MYb5lDNvYE3f0UfbZqV6HSMHWOiVveTRbT7+f3IocRgLaEIJTEy1QTuuXOUUuAmbSOkjJ11euYb+qy4HTNZaUg==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-2.16.3.tgz";
+      sha512 = "W63qZOC9YGr+33JYvZjvhzvYL4YKT2gAywDJQrHvKTL6vmnnSh+GdM3ZdGIIZ6A57YB3NgvQaq/BJ2uYjwn3ZQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -51657,7 +51678,7 @@ in
       sha512 = "Sm1XQg2h2JBVHWK3bxSHnmMdMoM0hEi5cbGfBBLpM6E2qU1vjJhDJsO/8bEkxC2RvNAAEOWROKMI3tTzmVxLbQ==";
     };
     dependencies = [
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."acorn-6.0.2"
       sources."acorn-node-1.6.0"
       sources."acorn-walk-6.1.0"
@@ -51913,7 +51934,7 @@ in
       sources."mute-stream-0.0.7"
       sources."nan-2.11.1"
       sources."nanomatch-1.2.13"
-      sources."neo-async-2.5.2"
+      sources."neo-async-2.6.0"
       sources."node-static-0.7.11"
       sources."normalize-path-2.1.1"
       (sources."object-copy-0.1.0" // {
@@ -52147,11 +52168,7 @@ in
       sources."babel-runtime-6.26.0"
       sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
-      (sources."basic-auth-2.0.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."basic-auth-2.0.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bindings-1.2.1"
       sources."bl-1.2.2"
@@ -52210,18 +52227,8 @@ in
       sources."etag-1.8.1"
       sources."eventemitter2-3.0.2"
       sources."expand-template-1.1.1"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
           sources."statuses-1.4.0"
         ];
       })
@@ -52364,9 +52371,9 @@ in
       })
       sources."resolve-1.8.1"
       sources."right-align-0.1.3"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       (sources."send-0.16.2" // {
         dependencies = [
           sources."statuses-1.4.0"
@@ -52386,7 +52393,7 @@ in
       sources."simple-get-1.4.3"
       sources."sntp-1.0.9"
       sources."source-map-0.5.7"
-      (sources."sshpk-1.14.2" // {
+      (sources."sshpk-1.15.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -52540,7 +52547,7 @@ in
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
       sources."rimraf-2.6.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."stack-trace-0.0.10"
       sources."strip-ansi-3.0.1"
       sources."supports-color-2.0.0"
@@ -52676,7 +52683,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."send-0.1.4"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stream-counter-0.2.0"
       sources."string-1.6.1"
       sources."string_decoder-0.10.31"
@@ -52699,10 +52706,10 @@ in
   scuttlebot = nodeEnv.buildNodePackage {
     name = "scuttlebot";
     packageName = "scuttlebot";
-    version = "12.2.3";
+    version = "13.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/scuttlebot/-/scuttlebot-12.2.3.tgz";
-      sha512 = "Y40HTj8B8DHdGUCbup//Ge/BiVcmp6fVPCGHnn5Jmq0QyQitlnFUaeMlv2fdqealM4xB3xuCTS2KChbiRJOWtw==";
+      url = "https://registry.npmjs.org/scuttlebot/-/scuttlebot-13.0.0.tgz";
+      sha512 = "niRO3ySzMcXXIrx88zBMdLZ53zvC3DALiFZL42hELL0nE3ohGlhSYQNYefgPB1KiVyMomuNvlhusw9yQsYs/dQ==";
     };
     dependencies = [
       sources."abstract-leveldown-4.0.3"
@@ -52991,7 +52998,7 @@ in
       sources."isobject-2.1.0"
       sources."json-buffer-2.0.11"
       sources."kind-of-3.2.2"
-      (sources."layered-graph-1.1.0" // {
+      (sources."layered-graph-1.1.1" // {
         dependencies = [
           sources."pull-cont-0.1.1"
         ];
@@ -53098,7 +53105,7 @@ in
       })
       sources."ncp-2.0.0"
       sources."node-abi-2.4.5"
-      sources."node-gyp-build-3.4.0"
+      sources."node-gyp-build-3.5.0"
       (sources."non-private-ip-1.4.4" // {
         dependencies = [
           sources."ip-1.1.5"
@@ -53320,17 +53327,17 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."secret-handshake-1.1.14"
-      (sources."secret-stack-4.2.1" // {
+      (sources."secret-stack-4.2.4" // {
         dependencies = [
           sources."ip-1.1.5"
         ];
       })
-      (sources."secure-scuttlebutt-18.4.0" // {
+      (sources."secure-scuttlebutt-18.5.0" // {
         dependencies = [
           sources."deep-equal-0.2.2"
         ];
       })
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."separator-escape-0.0.0"
       sources."set-blocking-2.0.0"
       (sources."set-value-2.0.0" // {
@@ -53391,7 +53398,7 @@ in
       sources."split-string-3.1.0"
       sources."ssb-blobs-1.1.5"
       sources."ssb-client-4.6.0"
-      sources."ssb-config-2.3.4"
+      sources."ssb-config-2.3.5"
       sources."ssb-ebt-5.2.3"
       (sources."ssb-friends-3.1.3" // {
         dependencies = [
@@ -53403,7 +53410,7 @@ in
       sources."ssb-msgs-5.2.0"
       (sources."ssb-query-2.3.0" // {
         dependencies = [
-          sources."flumeview-query-7.0.0"
+          sources."flumeview-query-7.1.0"
           sources."map-filter-reduce-3.2.1"
         ];
       })
@@ -53413,7 +53420,7 @@ in
         ];
       })
       sources."ssb-validate-3.0.11"
-      sources."ssb-ws-2.1.1"
+      sources."ssb-ws-3.0.0"
       sources."stack-0.1.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
@@ -53531,10 +53538,10 @@ in
   semver = nodeEnv.buildNodePackage {
     name = "semver";
     packageName = "semver";
-    version = "5.5.1";
+    version = "5.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz";
-      sha512 = "PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==";
+      url = "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz";
+      sha512 = "RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -53665,7 +53672,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-assert-1.0.2"
       sources."blob-0.0.2"
-      sources."body-parser-1.18.2"
+      sources."body-parser-1.18.3"
       sources."bytes-3.0.0"
       sources."callsite-1.0.0"
       sources."caseless-0.12.0"
@@ -53714,7 +53721,7 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."event-stream-3.3.6"
-      sources."express-4.16.3"
+      sources."express-4.16.4"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-1.1.0"
@@ -53744,7 +53751,7 @@ in
       })
       sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
-      sources."iconv-lite-0.4.19"
+      sources."iconv-lite-0.4.23"
       sources."indexof-0.0.1"
       sources."inherits-2.0.3"
       sources."ipaddr.js-1.8.0"
@@ -53788,24 +53795,13 @@ in
       sources."proxy-addr-2.0.4"
       sources."psl-1.1.29"
       sources."punycode-1.4.1"
-      sources."qs-6.5.1"
+      sources."qs-6.5.2"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-          sources."http-errors-1.6.2"
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."raw-body-2.3.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."qs-6.5.2"
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      sources."safe-buffer-5.1.1"
+      sources."request-2.88.0"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."send-0.16.2"
       sources."serve-static-1.13.2"
@@ -53839,7 +53835,7 @@ in
         ];
       })
       sources."split-1.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.4.0"
       sources."stream-combiner-0.2.2"
       sources."string_decoder-0.10.31"
@@ -53881,7 +53877,7 @@ in
       sha1 = "36bf5209356facbf6cef18fa32274d116043ed24";
     };
     dependencies = [
-      sources."JSONStream-1.3.4"
+      sources."JSONStream-1.3.5"
       sources."accepts-1.3.5"
       sources."ajv-5.5.2"
       sources."amdefine-1.0.1"
@@ -54098,7 +54094,7 @@ in
       sources."source-map-0.1.43"
       sources."sprintf-js-1.0.3"
       sources."srcset-1.0.0"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."statuses-1.3.1"
       sources."string_decoder-1.1.1"
       sources."supports-color-5.5.0"
@@ -54525,10 +54521,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.102.0";
+    version = "1.103.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.102.0.tgz";
-      sha512 = "OZfjEJeMdrYj7KVXaNhLwVi1vv5omRyrLv469BD6Bc6mvOK4/JVEcJGoNgn3MyWazgpOy8/4Xi9mMQvrdwfRfQ==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.103.4.tgz";
+      sha512 = "ynLlsLDjAkzymd0qi1il6f34S4oNTfIgvFCFvkYxvqfBkedfOoDQT4TLU8gi+55MGM6iornf2iefC2FW92BwnQ==";
     };
     dependencies = [
       sources."@yarnpkg/lockfile-1.1.0"
@@ -54541,7 +54537,7 @@ in
       sources."archy-1.0.0"
       sources."argparse-1.0.10"
       sources."asap-2.0.6"
-      sources."ast-types-0.11.5"
+      sources."ast-types-0.11.6"
       sources."async-1.5.2"
       sources."balanced-match-1.0.0"
       sources."brace-expansion-1.1.11"
@@ -54571,7 +54567,7 @@ in
       sources."core-util-is-1.0.2"
       sources."crypto-random-string-1.0.0"
       sources."data-uri-to-buffer-1.2.0"
-      sources."debug-3.2.5"
+      sources."debug-3.2.6"
       sources."decamelize-1.2.0"
       sources."deep-is-0.1.3"
       sources."degenerator-1.0.4"
@@ -54718,7 +54714,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."secure-keys-1.0.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."setprototypeof-1.1.0"
       (sources."shallow-clone-0.1.2" // {
         dependencies = [
@@ -54728,12 +54724,12 @@ in
       sources."signal-exit-3.0.2"
       sources."smart-buffer-1.1.15"
       sources."snyk-config-2.2.0"
-      sources."snyk-docker-plugin-1.11.0"
+      sources."snyk-docker-plugin-1.12.0"
       sources."snyk-go-plugin-1.5.2"
       sources."snyk-gradle-plugin-2.1.0"
       sources."snyk-module-1.8.2"
       sources."snyk-mvn-plugin-2.0.0"
-      (sources."snyk-nodejs-lockfile-parser-1.5.1" // {
+      (sources."snyk-nodejs-lockfile-parser-1.5.3" // {
         dependencies = [
           sources."lodash-4.17.10"
         ];
@@ -54743,7 +54739,7 @@ in
       sources."snyk-policy-1.12.0"
       sources."snyk-python-plugin-1.8.2"
       sources."snyk-resolve-1.0.1"
-      sources."snyk-resolve-deps-4.0.1"
+      sources."snyk-resolve-deps-4.0.2"
       sources."snyk-sbt-plugin-2.0.0"
       sources."snyk-tree-1.0.0"
       sources."snyk-try-require-1.3.1"
@@ -55409,14 +55405,14 @@ in
       })
       sources."mpath-0.2.1"
       sources."ms-2.0.0"
-      sources."multer-1.4.0"
+      sources."multer-1.4.1"
       sources."mute-stream-0.0.5"
       sources."nan-2.11.1"
       sources."nanomatch-1.2.13"
       sources."native-promise-only-0.8.1"
       (sources."nodemon-1.18.4" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."supports-color-5.5.0"
         ];
@@ -55455,7 +55451,7 @@ in
       sources."path-key-2.0.1"
       (sources."path-loader-1.0.9" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."qs-6.5.2"
           sources."superagent-3.8.3"
@@ -55506,7 +55502,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."sanitize-filename-1.6.1"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       (sources."send-0.16.2" // {
         dependencies = [
@@ -55863,7 +55859,7 @@ in
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.9"
       sources."sprintf-0.1.5"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stack-trace-0.0.10"
       sources."temp-0.8.3"
       sources."tough-cookie-2.3.4"
@@ -56077,10 +56073,10 @@ in
   typescript = nodeEnv.buildNodePackage {
     name = "typescript";
     packageName = "typescript";
-    version = "3.1.1";
+    version = "3.1.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-3.1.1.tgz";
-      sha512 = "Veu0w4dTc/9wlWNf2jeRInNodKlcdLgemvPsrNpfu5Pq39sgfFjvIIgTsvUHCoLBnMhPoUA+tFxsXjU6VexVRQ==";
+      url = "https://registry.npmjs.org/typescript/-/typescript-3.1.3.tgz";
+      sha512 = "+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -56221,7 +56217,7 @@ in
       sources."p-finally-1.0.0"
       (sources."package-json-4.0.1" // {
         dependencies = [
-          sources."semver-5.5.1"
+          sources."semver-5.6.0"
         ];
       })
       sources."parse-json-2.2.0"
@@ -56332,10 +56328,10 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.4.32";
+    version = "1.4.34";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.32.tgz";
-      sha512 = "qPsvjAYgdeO2Zrx5KvW8oxI8Vof3iK+x/0SfHxKbs+CJjbY5nzpaGI2wCoyiS8nWykcxAmy3RjZKpzOpzBnW0A==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.4.34.tgz";
+      sha512 = "7sgDDNaWakL7tzp5NwENWHV0SekB6LzcW99nVv0CLthggQnw7wWDnSFAz9iHbBINNj14Sh3gscO7nd73qBtlgA==";
     };
     dependencies = [
       sources."abbrev-1.1.1"
@@ -56427,7 +56423,7 @@ in
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-3.5.0"
-      sources."diff2html-2.3.3"
+      sources."diff2html-2.4.0"
       sources."dnd-page-scroll-0.0.4"
       (sources."eachr-3.2.0" // {
         dependencies = [
@@ -56459,18 +56455,8 @@ in
       sources."etag-1.8.1"
       sources."eve-0.5.4"
       sources."execa-0.10.0"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
           sources."statuses-1.4.0"
         ];
       })
@@ -56527,7 +56513,7 @@ in
       sources."http-errors-1.6.3"
       sources."http-signature-1.2.0"
       sources."iconv-lite-0.4.23"
-      sources."ignore-3.3.10"
+      sources."ignore-5.0.2"
       sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -56589,9 +56575,9 @@ in
       sources."node-cache-4.2.0"
       sources."nopt-1.0.10"
       sources."normalize-package-data-2.4.0"
-      sources."npm-6.1.0"
+      sources."npm-6.4.1"
       sources."npm-package-arg-6.1.0"
-      sources."npm-registry-client-8.5.1"
+      sources."npm-registry-client-8.6.0"
       sources."npm-run-path-2.0.2"
       sources."npmlog-4.1.2"
       sources."nprogress-0.2.0"
@@ -56603,7 +56589,7 @@ in
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.1"
       sources."once-1.4.0"
-      sources."opn-5.3.0"
+      sources."opn-5.4.0"
       sources."os-homedir-1.0.2"
       sources."os-locale-3.0.1"
       sources."os-tmpdir-1.0.2"
@@ -56634,7 +56620,7 @@ in
       sources."qs-6.5.2"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.0"
-      sources."raven-js-3.26.4"
+      sources."raven-js-3.27.0"
       sources."raw-body-2.3.3"
       (sources."rc-1.2.8" // {
         dependencies = [
@@ -56653,14 +56639,13 @@ in
               sources."combined-stream-1.0.6"
             ];
           })
-          sources."safe-buffer-5.1.2"
         ];
       })
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."retry-0.10.1"
       sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."semver-5.5.1"
       (sources."send-0.16.2" // {
@@ -56701,7 +56686,7 @@ in
       sources."spdx-exceptions-2.2.0"
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."ssri-5.3.0"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
@@ -56710,19 +56695,18 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-eof-1.0.0"
       sources."strip-json-comments-2.0.1"
-      (sources."superagent-3.8.3" // {
+      (sources."superagent-4.0.0-beta.5" // {
         dependencies = [
           sources."combined-stream-1.0.6"
           sources."component-emitter-1.2.1"
           sources."cookiejar-2.1.2"
-          sources."debug-3.2.5"
+          sources."debug-4.1.0"
           sources."delayed-stream-1.0.0"
-          sources."extend-3.0.2"
           sources."form-data-2.3.2"
           sources."formidable-1.2.1"
-          sources."isarray-1.0.0"
+          sources."mime-2.3.1"
           sources."ms-2.1.1"
-          sources."readable-stream-2.3.6"
+          sources."readable-stream-3.0.6"
           sources."string_decoder-1.1.1"
         ];
       })
@@ -57010,11 +56994,11 @@ in
           sources."commander-2.8.1"
         ];
       })
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."signal-exit-3.0.2"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       sources."stat-mode-0.2.2"
       sources."string-width-2.1.1"
       sources."string_decoder-1.1.1"
@@ -57042,7 +57026,7 @@ in
         ];
       })
       sources."uid-0.0.2"
-      sources."unbzip2-stream-1.3.0"
+      sources."unbzip2-stream-1.3.1"
       sources."unyield-0.0.1"
       sources."unzip-response-2.0.1"
       sources."url-parse-lax-1.0.0"
@@ -57073,10 +57057,10 @@ in
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "3.0.4";
+    version = "3.0.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.0.4.tgz";
-      sha512 = "HC7u3pIjzPV7/5vdZYRpY1VtBsp8xpTxzZLVF61ijQ61bt+cTpF17qOdPW0Tu1muRzD1Qc5d6K15USvtvWg5YQ==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-3.0.5.tgz";
+      sha512 = "wNwK6oosaMY5gCmzONatVAVLf8dMmpGqxoT1Z6ne0aBRg6gOUZ+XrLN6MiF34tlETvQ/XhHUC5d+YVWoBVlllQ==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
@@ -57106,18 +57090,18 @@ in
       sources."@types/express-serve-static-core-4.16.0"
       sources."@types/long-4.0.0"
       sources."@types/mime-2.0.0"
-      sources."@types/node-10.11.4"
+      sources."@types/node-10.11.7"
       sources."@types/range-parser-1.2.2"
       sources."@types/serve-static-1.13.2"
       sources."@types/ws-5.1.2"
       sources."@types/zen-observable-0.8.0"
-      sources."@vue/cli-shared-utils-3.0.4"
-      (sources."@vue/cli-ui-3.0.4" // {
+      sources."@vue/cli-shared-utils-3.0.5"
+      (sources."@vue/cli-ui-3.0.5" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-3.0.4"
+      sources."@vue/cli-ui-addon-webpack-3.0.5"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.5"
       sources."ajv-5.5.2"
@@ -57274,7 +57258,7 @@ in
       sources."cross-spawn-5.1.0"
       sources."crypto-random-string-1.0.0"
       sources."dashdash-1.14.1"
-      (sources."debug-3.2.5" // {
+      (sources."debug-3.2.6" // {
         dependencies = [
           sources."ms-2.1.1"
         ];
@@ -57362,19 +57346,9 @@ in
         ];
       })
       sources."expand-tilde-2.0.2"
-      (sources."express-4.16.3" // {
+      (sources."express-4.16.4" // {
         dependencies = [
-          sources."body-parser-1.18.2"
           sources."debug-2.6.9"
-          (sources."http-errors-1.6.2" // {
-            dependencies = [
-              sources."depd-1.1.1"
-              sources."setprototypeof-1.0.3"
-            ];
-          })
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
           sources."statuses-1.4.0"
         ];
       })
@@ -57564,7 +57538,7 @@ in
       sources."media-typer-0.3.0"
       sources."merge-1.2.0"
       sources."merge-descriptors-1.0.1"
-      sources."merge2-1.2.2"
+      sources."merge2-1.2.3"
       sources."methods-1.1.2"
       (sources."micromatch-3.1.10" // {
         dependencies = [
@@ -57592,7 +57566,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.7"
       sources."nan-2.11.1"
-      sources."nanoid-1.2.6"
+      sources."nanoid-1.3.0"
       (sources."nanomatch-1.2.13" // {
         dependencies = [
           sources."extend-shallow-3.0.2"
@@ -57702,11 +57676,7 @@ in
       sources."remove-trailing-separator-1.1.0"
       sources."repeat-element-1.1.3"
       sources."repeat-string-1.6.1"
-      (sources."request-2.88.0" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
+      sources."request-2.88.0"
       sources."request-promise-core-1.1.1"
       sources."request-promise-native-1.0.5"
       sources."resolve-1.8.1"
@@ -57717,7 +57687,7 @@ in
       sources."rimraf-2.6.2"
       sources."run-async-2.3.0"
       sources."rxjs-6.3.3"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       (sources."seek-bzip-1.0.5" // {
@@ -57726,7 +57696,7 @@ in
         ];
       })
       sources."select-1.1.2"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       (sources."send-0.16.2" // {
         dependencies = [
@@ -57788,7 +57758,7 @@ in
         ];
       })
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -57865,7 +57835,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.16"
-      sources."unbzip2-stream-1.3.0"
+      sources."unbzip2-stream-1.3.1"
       (sources."undefsafe-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -57934,6 +57904,196 @@ in
     production = true;
     bypassCache = true;
   };
+  "@webassemblyjs/cli" = nodeEnv.buildNodePackage {
+    name = "_at_webassemblyjs_slash_cli";
+    packageName = "@webassemblyjs/cli";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@webassemblyjs/cli/-/cli-1.7.8.tgz";
+      sha512 = "/zEE5vL2lVlZVv3XYLo6+yeEU5pqi8AByBWBVYSuPSRBu0bY9cTCRU4exS/Jd7bdbF9I3s1Moa1FRG1wCQErfA==";
+    };
+    dependencies = [
+      sources."@webassemblyjs/ast-1.7.8"
+      sources."@webassemblyjs/floating-point-hex-parser-1.7.8"
+      sources."@webassemblyjs/helper-api-error-1.7.8"
+      sources."@webassemblyjs/helper-code-frame-1.7.8"
+      sources."@webassemblyjs/helper-flaten-ast-1.7.8"
+      sources."@webassemblyjs/helper-fsm-1.7.8"
+      sources."@webassemblyjs/helper-module-context-1.7.8"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.7.8"
+      sources."@webassemblyjs/ieee754-1.7.8"
+      sources."@webassemblyjs/leb128-1.7.8"
+      sources."@webassemblyjs/utf8-1.7.8"
+      sources."@webassemblyjs/validation-1.7.8"
+      sources."@webassemblyjs/wasm-parser-1.7.8"
+      sources."@webassemblyjs/wast-parser-1.7.8"
+      sources."@webassemblyjs/wast-printer-1.7.8"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.1"
+      sources."webassemblyjs-1.7.8"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Toolbox for WebAssembly";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  "@webassemblyjs/repl" = nodeEnv.buildNodePackage {
+    name = "_at_webassemblyjs_slash_repl";
+    packageName = "@webassemblyjs/repl";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@webassemblyjs/repl/-/repl-1.7.8.tgz";
+      sha512 = "IClmDKT+XgTiJ3lNaaXbHBAt2LqabugJmsabtF8TIlulG5Y5NEOOeJGjm56/rmwuW3/ul/zvaLQ1pFpU3WEIXg==";
+    };
+    dependencies = [
+      sources."@webassemblyjs/ast-1.7.8"
+      sources."@webassemblyjs/floating-point-hex-parser-1.7.8"
+      sources."@webassemblyjs/helper-api-error-1.7.8"
+      sources."@webassemblyjs/helper-code-frame-1.7.8"
+      sources."@webassemblyjs/helper-flaten-ast-1.7.8"
+      sources."@webassemblyjs/helper-fsm-1.7.8"
+      sources."@webassemblyjs/helper-module-context-1.7.8"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.7.8"
+      sources."@webassemblyjs/ieee754-1.7.8"
+      sources."@webassemblyjs/leb128-1.7.8"
+      sources."@webassemblyjs/utf8-1.7.8"
+      sources."@webassemblyjs/validation-1.7.8"
+      sources."@webassemblyjs/wasm-parser-1.7.8"
+      sources."@webassemblyjs/wast-parser-1.7.8"
+      sources."@webassemblyjs/wast-printer-1.7.8"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.1"
+      sources."webassemblyjs-1.7.8"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "WebAssembly REPL";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  "@webassemblyjs/wasm-strip" = nodeEnv.buildNodePackage {
+    name = "_at_webassemblyjs_slash_wasm-strip";
+    packageName = "@webassemblyjs/wasm-strip";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@webassemblyjs/wasm-strip/-/wasm-strip-1.7.8.tgz";
+      sha512 = "ZhPzbEX3UKaLjJ7hjPVjNG3tNjiD7B8eriTR11yrctdyD5vAOVoyrUEsBPX0WadxDOzOsGZmSbFD1SHBjJT8jQ==";
+    };
+    dependencies = [
+      sources."@webassemblyjs/ast-1.7.8"
+      sources."@webassemblyjs/floating-point-hex-parser-1.7.8"
+      sources."@webassemblyjs/helper-api-error-1.7.8"
+      sources."@webassemblyjs/helper-buffer-1.7.8"
+      sources."@webassemblyjs/helper-code-frame-1.7.8"
+      sources."@webassemblyjs/helper-fsm-1.7.8"
+      sources."@webassemblyjs/helper-module-context-1.7.8"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.7.8"
+      sources."@webassemblyjs/helper-wasm-section-1.7.8"
+      sources."@webassemblyjs/ieee754-1.7.8"
+      sources."@webassemblyjs/leb128-1.7.8"
+      sources."@webassemblyjs/utf8-1.7.8"
+      sources."@webassemblyjs/wasm-gen-1.7.8"
+      sources."@webassemblyjs/wasm-parser-1.7.8"
+      sources."@webassemblyjs/wast-parser-1.7.8"
+      sources."@webassemblyjs/wast-printer-1.7.8"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "> Strips custom sections";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  "@webassemblyjs/wasm-text-gen" = nodeEnv.buildNodePackage {
+    name = "_at_webassemblyjs_slash_wasm-text-gen";
+    packageName = "@webassemblyjs/wasm-text-gen";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@webassemblyjs/wasm-text-gen/-/wasm-text-gen-1.7.8.tgz";
+      sha512 = "cDzQh/rniwchQfzGQriAg7Io2xqEu5s1Po29jMkRfJse4OFbh54aWcbKk2DO0ph+9lbNQZ0VYTPBP5NGIKqNmw==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.0.0"
+      sources."@babel/generator-7.1.3"
+      sources."@babel/highlight-7.0.0"
+      sources."@babel/parser-7.1.3"
+      sources."@babel/template-7.1.2"
+      sources."@babel/types-7.1.3"
+      sources."@webassemblyjs/ast-1.7.8"
+      sources."@webassemblyjs/floating-point-hex-parser-1.7.8"
+      sources."@webassemblyjs/helper-api-error-1.7.8"
+      sources."@webassemblyjs/helper-code-frame-1.7.8"
+      sources."@webassemblyjs/helper-fsm-1.7.8"
+      sources."@webassemblyjs/helper-module-context-1.7.8"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.7.8"
+      sources."@webassemblyjs/ieee754-1.7.8"
+      sources."@webassemblyjs/leb128-1.7.8"
+      sources."@webassemblyjs/utf8-1.7.8"
+      sources."@webassemblyjs/wasm-parser-1.7.8"
+      sources."@webassemblyjs/wast-parser-1.7.8"
+      sources."@webassemblyjs/wast-printer-1.7.8"
+      sources."@xtuc/ieee754-1.2.0"
+      sources."@xtuc/long-4.2.1"
+      sources."ansi-styles-3.2.1"
+      sources."chalk-2.4.1"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."commander-2.19.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."esutils-2.0.2"
+      sources."has-flag-3.0.0"
+      sources."js-tokens-4.0.0"
+      sources."jsesc-2.5.1"
+      sources."lodash-4.17.11"
+      sources."source-map-0.5.7"
+      sources."supports-color-5.5.0"
+      sources."to-fast-properties-2.0.0"
+      sources."trim-right-1.0.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Emit documentation/code for your WASM binary Edit";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
+  "@webassemblyjs/wast-refmt" = nodeEnv.buildNodePackage {
+    name = "_at_webassemblyjs_slash_wast-refmt";
+    packageName = "@webassemblyjs/wast-refmt";
+    version = "1.7.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@webassemblyjs/wast-refmt/-/wast-refmt-1.7.8.tgz";
+      sha512 = "eSkc1/NnfbMYQP/DQaC2W0/DEY/TO4reAS/F/v2cnafFMBrwJ8xQCQwr9IAMiez1aKKYZmL4kyRRbU/0Q9Qbtg==";
+    };
+    dependencies = [
+      sources."@webassemblyjs/ast-1.7.8"
+      sources."@webassemblyjs/floating-point-hex-parser-1.7.8"
+      sources."@webassemblyjs/helper-api-error-1.7.8"
+      sources."@webassemblyjs/helper-code-frame-1.7.8"
+      sources."@webassemblyjs/helper-fsm-1.7.8"
+      sources."@webassemblyjs/helper-module-context-1.7.8"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.7.8"
+      sources."@webassemblyjs/wast-parser-1.7.8"
+      sources."@webassemblyjs/wast-printer-1.7.8"
+      sources."@xtuc/long-4.2.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "WAST refmt";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+  };
   webdrvr = nodeEnv.buildNodePackage {
     name = "webdrvr";
     packageName = "webdrvr";
@@ -58062,7 +58222,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-2.3.2"
       sources."sntp-1.0.9"
-      (sources."sshpk-1.14.2" // {
+      (sources."sshpk-1.15.1" // {
         dependencies = [
           sources."assert-plus-1.0.0"
         ];
@@ -58221,7 +58381,7 @@ in
       sources."des.js-1.0.0"
       sources."diffie-hellman-5.0.3"
       sources."domain-browser-1.2.0"
-      sources."duplexify-3.6.0"
+      sources."duplexify-3.6.1"
       sources."elliptic-6.4.1"
       sources."emojis-list-2.1.0"
       sources."end-of-stream-1.4.1"
@@ -58349,7 +58509,7 @@ in
       sources."ms-2.0.0"
       sources."nan-2.11.1"
       sources."nanomatch-1.2.13"
-      sources."neo-async-2.5.2"
+      sources."neo-async-2.6.0"
       (sources."node-libs-browser-2.1.0" // {
         dependencies = [
           sources."punycode-1.4.1"
@@ -58451,7 +58611,7 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      sources."source-list-map-2.0.0"
+      sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.2"
       sources."source-map-url-0.4.0"
@@ -58573,21 +58733,21 @@ in
       sources."bitfield-2.0.0"
       (sources."bittorrent-dht-9.0.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
       sources."bittorrent-peerid-1.3.0"
       (sources."bittorrent-protocol-3.0.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."readable-stream-2.3.6"
         ];
       })
       (sources."bittorrent-tracker-9.10.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."simple-get-3.0.3"
         ];
@@ -58769,7 +58929,7 @@ in
       sources."record-cache-1.1.0"
       (sources."render-media-3.1.3" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -58785,7 +58945,7 @@ in
       sources."simple-get-2.8.1"
       (sources."simple-peer-9.1.2" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."readable-stream-2.3.6"
         ];
@@ -58793,7 +58953,7 @@ in
       sources."simple-sha1-2.1.1"
       (sources."simple-websocket-7.2.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."readable-stream-2.3.6"
         ];
@@ -58811,7 +58971,7 @@ in
       sources."to-arraybuffer-1.0.1"
       (sources."torrent-discovery-9.1.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -58826,7 +58986,7 @@ in
       sources."url-join-2.0.5"
       (sources."ut_metadata-3.3.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -58837,7 +58997,7 @@ in
       sources."vlc-command-1.1.2"
       (sources."webtorrent-0.102.4" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
           sources."simple-get-3.0.3"
         ];
@@ -58870,7 +59030,7 @@ in
     dependencies = [
       sources."@cliqz-oss/firefox-client-0.3.1"
       sources."@cliqz-oss/node-firefox-connect-1.2.1"
-      sources."@types/node-10.11.4"
+      sources."@types/node-10.11.7"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."JSONSelect-0.2.1"
       sources."abbrev-1.1.1"
@@ -58935,7 +59095,7 @@ in
       sources."asn1-0.2.4"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."ast-types-0.11.5"
+      sources."ast-types-0.11.6"
       sources."async-0.2.10"
       sources."async-each-1.0.1"
       sources."asynckit-0.4.0"
@@ -59142,7 +59302,7 @@ in
       (sources."eslint-5.0.1" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."globals-11.8.0"
           sources."ms-2.1.1"
           sources."strip-ansi-4.0.0"
@@ -59344,7 +59504,7 @@ in
       sources."http-signature-1.2.0"
       (sources."https-proxy-agent-2.2.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -59564,7 +59724,7 @@ in
       })
       sources."ncp-2.0.0"
       sources."needle-2.2.4"
-      sources."neo-async-2.5.2"
+      sources."neo-async-2.6.0"
       sources."netmask-1.0.6"
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
@@ -59615,7 +59775,7 @@ in
       sources."p-try-2.0.0"
       (sources."pac-proxy-agent-2.0.2" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -59639,7 +59799,7 @@ in
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."pino-5.0.4"
-      sources."pino-std-serializers-2.2.1"
+      sources."pino-std-serializers-2.3.0"
       sources."pluralize-7.0.0"
       sources."po2json-0.4.5"
       sources."posix-character-classes-0.1.1"
@@ -59661,7 +59821,7 @@ in
       sources."promise-7.3.1"
       (sources."proxy-agent-2.3.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -59798,12 +59958,12 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      (sources."snyk-1.102.0" // {
+      (sources."snyk-1.103.4" // {
         dependencies = [
           sources."ansi-regex-3.0.0"
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.1"
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."inquirer-3.3.0"
           sources."ms-2.1.1"
           sources."rx-lite-4.0.8"
@@ -59815,13 +59975,13 @@ in
       })
       (sources."snyk-config-2.2.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
-      (sources."snyk-docker-plugin-1.11.0" // {
+      (sources."snyk-docker-plugin-1.12.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -59829,12 +59989,12 @@ in
       sources."snyk-gradle-plugin-2.1.0"
       (sources."snyk-module-1.8.2" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
       sources."snyk-mvn-plugin-2.0.0"
-      (sources."snyk-nodejs-lockfile-parser-1.5.1" // {
+      (sources."snyk-nodejs-lockfile-parser-1.5.3" // {
         dependencies = [
           sources."lodash-4.17.10"
           sources."source-map-0.6.1"
@@ -59843,41 +60003,41 @@ in
       })
       (sources."snyk-nuget-plugin-1.6.5" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
       (sources."snyk-php-plugin-1.5.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
       (sources."snyk-policy-1.12.0" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
       sources."snyk-python-plugin-1.8.2"
       (sources."snyk-resolve-1.0.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
-      (sources."snyk-resolve-deps-4.0.1" // {
+      (sources."snyk-resolve-deps-4.0.2" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
-          sources."semver-5.5.1"
+          sources."semver-5.6.0"
         ];
       })
       sources."snyk-sbt-plugin-2.0.0"
       sources."snyk-tree-1.0.0"
       (sources."snyk-try-require-1.3.1" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
@@ -59900,7 +60060,7 @@ in
       sources."split-0.3.3"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -60472,7 +60632,7 @@ in
           sources."read-pkg-up-1.0.1"
         ];
       })
-      sources."merge2-1.2.2"
+      sources."merge2-1.2.3"
       sources."micromatch-3.1.10"
       sources."mime-db-1.36.0"
       sources."mime-types-2.1.20"
@@ -60622,7 +60782,7 @@ in
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."scoped-regex-1.0.0"
-      sources."semver-5.5.1"
+      sources."semver-5.6.0"
       sources."semver-diff-2.1.0"
       sources."semver-regex-1.0.0"
       sources."semver-truncate-1.1.2"
@@ -60675,7 +60835,7 @@ in
       sources."spdx-expression-parse-3.0.0"
       sources."spdx-license-ids-3.0.1"
       sources."split-string-3.1.0"
-      sources."sshpk-1.14.2"
+      sources."sshpk-1.15.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -60823,7 +60983,7 @@ in
       sources."yeoman-doctor-3.0.2"
       (sources."yeoman-environment-2.3.3" // {
         dependencies = [
-          sources."debug-3.2.5"
+          sources."debug-3.2.6"
           sources."ms-2.1.1"
         ];
       })
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 3eecb9b45b7d..fd42cbe20c7f 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-elpi-${version}";
-  version = "1.0.5";
+  version = "1.1.0";
   src = fetchFromGitHub {
     owner = "LPCIC";
     repo = "elpi";
     rev = "v${version}";
-    sha256 = "1n1m183l4ms949m2l24w0887m1rmvc9b3j8alnbw8ckn6wwnhpmk";
+    sha256 = "1fd4mqggdcnbhqwrg8r0ikb1j2lv0fc9hv9xfbyjzbzxbjggf5zc";
   };
 
   buildInputs = [ ocaml findlib ppx_tools_versioned ];
diff --git a/pkgs/development/ocaml-modules/ppxlib/default.nix b/pkgs/development/ocaml-modules/ppxlib/default.nix
index 656b650b13f7..589eb9133370 100644
--- a/pkgs/development/ocaml-modules/ppxlib/default.nix
+++ b/pkgs/development/ocaml-modules/ppxlib/default.nix
@@ -3,14 +3,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.0";
+  version = "0.3.1";
   name = "ocaml${ocaml.version}-ppxlib-${version}";
 
   src = fetchFromGitHub {
     owner = "ocaml-ppx";
     repo = "ppxlib";
     rev = version;
-    sha256 = "0csp49jh7zgjnqh46mxbf322whlbmgy7v1a12nvxh97qg6i5fvsy";
+    sha256 = "0qpjl84x8abq9zivifb0k8ld7fa1lrhkbajmmccvfv06ja3as1v4";
   };
 
   buildInputs = [ ocaml findlib dune ];
diff --git a/pkgs/development/ocaml-modules/zmq/default.nix b/pkgs/development/ocaml-modules/zmq/default.nix
new file mode 100644
index 000000000000..a792877e0590
--- /dev/null
+++ b/pkgs/development/ocaml-modules/zmq/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, ocaml, findlib, dune, czmq, stdint }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-zmq-${version}";
+  version = "20180726";
+  src = fetchFromGitHub {
+    owner = "issuu";
+    repo = "ocaml-zmq";
+    rev = "d312a8458d6b688f75470248f11875fbbfa5bb1a";
+    sha256 = "1f5l4bw78y4drabhyvmpj3z8k30bill33ca7bzhr02m55yf6gqpf";
+  };
+
+  patches = [
+    ./ocaml-zmq-issue43.patch
+  ];
+
+  buildInputs = [ ocaml findlib dune czmq ];
+
+  propagatedBuildInputs = [ stdint ];
+
+  buildPhase = "dune build -p zmq";
+
+  inherit (dune) installPhase;
+
+  meta = with stdenv.lib; {
+    description = "ZeroMQ bindings for OCaml";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ akavel ];
+    inherit (src.meta) homepage;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/ocaml-modules/zmq/lwt.nix b/pkgs/development/ocaml-modules/zmq/lwt.nix
new file mode 100644
index 000000000000..80c934b44d64
--- /dev/null
+++ b/pkgs/development/ocaml-modules/zmq/lwt.nix
@@ -0,0 +1,12 @@
+{ stdenv, ocaml, findlib, dune, zmq, ocaml_lwt }:
+
+stdenv.mkDerivation rec {
+  name = "ocaml${ocaml.version}-zmq-lwt-${version}";
+  inherit (zmq) version src installPhase meta;
+
+  buildInputs = [ ocaml findlib dune ];
+
+  propagatedBuildInputs = [ zmq ocaml_lwt ];
+
+  buildPhase = "dune build -p zmq-lwt";
+}
diff --git a/pkgs/development/ocaml-modules/zmq/ocaml-zmq-issue43.patch b/pkgs/development/ocaml-modules/zmq/ocaml-zmq-issue43.patch
new file mode 100644
index 000000000000..0d01e8b45f39
--- /dev/null
+++ b/pkgs/development/ocaml-modules/zmq/ocaml-zmq-issue43.patch
@@ -0,0 +1,11 @@
+--- source/zmq/src/caml_zmq_stubs.c	1970-01-01 01:00:01.000000000 +0100
++++ source/zmq/src/caml_zmq_stubs.c	1970-01-01 01:00:01.000000000 +0100
+@@ -35,7 +35,7 @@
+ #include "socket.h"
+ #include "msg.h"
+ 
+-#include <uint64.h>
++#include <ocaml_stdint/uint64.h>
+ 
+ /**
+  * Version
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 1d7e6d17ffb7..a44c7ac6568b 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation (
 
     # current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it
     # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
-    PERL_USE_UNSAFE_INC = lib.optionalString (lib.versionAtLeast (lib.getVersion perl) "5.26") "1";
+    PERL_USE_UNSAFE_INC = "1";
 
     meta.homepage = "https://metacpan.org/release/${(builtins.parseDrvName name).name}";
   }
@@ -33,7 +33,7 @@ stdenv.mkDerivation (
   )
   //
   {
-    name = "perl${lib.getVersion perl}-${name}";
+    name = "perl${perl.version}-${name}";
     builder = ./builder.sh;
     nativeBuildInputs = nativeBuildInputs ++ [ (perl.dev or perl) ];
     inherit perl;
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index de5eaea842b2..53e9ec270acf 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -25,11 +25,11 @@ let
 
 in buildPythonPackage rec {
   pname = "Cython";
-  version = "0.28.3";
+  version = "0.28.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1aae6d6e9858888144cea147eb5e677830f45faaff3d305d77378c3cba55f526";
+    sha256 = "b64575241f64f6ec005a4d4137339fb0ba5e156e826db2fdb5f458060d9979e0";
   };
 
   nativeBuildInputs = [
@@ -50,15 +50,6 @@ in buildPythonPackage rec {
 
   doCheck = !stdenv.isDarwin;
 
-  patches = [
-    # The following is in GitHub in 0.28.3 but not in the `sdist`.
-    # https://github.com/cython/cython/issues/2319
-    (fetchpatch {
-      url = https://github.com/cython/cython/commit/c485b1b77264c3c75d090a3c526de24966830d42.patch;
-      sha256 = "1p6jj9rb097kqvhs5j5127sj5zy18l7x9v0p478cjyzh41khh9r0";
-    })
-  ];
-
   meta = {
     description = "An optimising static compiler for both the Python programming language and the extended Cython programming language";
     homepage = http://cython.org;
diff --git a/pkgs/development/python-modules/Fabric/default.nix b/pkgs/development/python-modules/Fabric/default.nix
new file mode 100644
index 000000000000..ed89c26943f8
--- /dev/null
+++ b/pkgs/development/python-modules/Fabric/default.nix
@@ -0,0 +1,36 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, invoke
+, paramiko
+, cryptography
+, pytest
+, mock
+, pytest-relaxed
+}:
+
+buildPythonPackage rec {
+  pname = "fabric";
+  version = "2.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "93684ceaac92e0b78faae551297e29c48370cede12ff0f853cdebf67d4b87068";
+  };
+
+  propagatedBuildInputs = [ invoke paramiko cryptography ];
+  checkInputs = [ pytest mock pytest-relaxed ];
+
+  # ignore subprocess main errors (1) due to hardcoded /bin/bash
+  checkPhase = ''
+    rm tests/main.py
+    pytest tests
+  '';
+
+  meta = with pkgs.lib; {
+    description = "Pythonic remote execution";
+    homepage    = https://www.fabfile.org/;
+    license     = licenses.bsd2;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/Logbook/default.nix b/pkgs/development/python-modules/Logbook/default.nix
new file mode 100644
index 000000000000..711f0f5457ba
--- /dev/null
+++ b/pkgs/development/python-modules/Logbook/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, isPy3k, pytest, mock, brotli }:
+
+buildPythonPackage rec {
+  pname = "Logbook";
+  version = "1.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1n8wzm2nc99gbvb44y2fbb59sy3c4awkwfgy4pbwv7z892ykw2iw";
+  };
+
+  checkInputs = [ pytest ] ++ lib.optionals (!isPy3k) [ mock ];
+
+  propagatedBuildInputs = [ brotli ];
+
+  checkPhase = ''
+    find tests -name \*.pyc -delete
+    py.test tests
+  '';
+
+  meta = {
+    homepage = https://pythonhosted.org/Logbook/;
+    description = "A logging replacement for Python";
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/Nikola/default.nix b/pkgs/development/python-modules/Nikola/default.nix
index d0045c9fb7fd..bf4171dd3f97 100644
--- a/pkgs/development/python-modules/Nikola/default.nix
+++ b/pkgs/development/python-modules/Nikola/default.nix
@@ -25,30 +25,39 @@
 , markdown
 , phpserialize
 , jinja2
+, Babel
+, freezegun
+, pyyaml
+, toml
+, notebook
 }:
 
 buildPythonPackage rec {
   pname = "Nikola";
-  version = "7.8.15";
+  version = "8.0.1";
 
   # Nix contains only Python 3 supported version of doit, which is a dependency
   # of Nikola. Python 2 support would require older doit 0.29.0 (which on the
   # other hand doesn't support Python 3.3). So, just disable Python 2.
   disabled = !isPy3k;
 
-  checkInputs = [ pytest pytestcov mock glibcLocales ];
+  checkInputs = [ pytest pytestcov mock glibcLocales freezegun ];
 
   propagatedBuildInputs = [
     pygments pillow dateutil docutils Mako unidecode lxml Yapsy PyRSS2Gen
     Logbook blinker setuptools natsort requests piexif markdown phpserialize
-    jinja2 doit
+    jinja2 doit Babel pyyaml toml notebook
   ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "182b4b9254f0d710603ba491853429ad6ef3f955f3e718191336b44cfd649000";
+    sha256 = "18bq68f9v7xk9ahjl6x4k77yysq5g6g07ng2ndbg35kcsdnw4nk6";
   };
 
+  checkPhase = ''
+    LANG="en_US.UTF-8" LC_ALL="en_US.UTF-8" py.test .
+  '';
+
   meta = {
     homepage = https://getnikola.com/;
     description = "A modular, fast, simple, static website and blog generator";
diff --git a/pkgs/development/python-modules/Theano/default.nix b/pkgs/development/python-modules/Theano/default.nix
index 793488f0b136..a9799807a279 100644
--- a/pkgs/development/python-modules/Theano/default.nix
+++ b/pkgs/development/python-modules/Theano/default.nix
@@ -45,13 +45,13 @@ let
 
 in buildPythonPackage rec {
   pname = "Theano";
-  version = "1.0.2";
+  version = "1.0.3";
 
   disabled = isPyPy || pythonOlder "2.6" || (isPy3k && pythonOlder "3.3");
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6768e003d328a17011e6fca9126fbb8a6ffd3bb13cb21c450f3e724cca29abde";
+    sha256 = "637f3b34d40ef5e0d54dd4c40618475aaa085c26d2491e925c98e2ad4bc2115a";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/alabaster/default.nix b/pkgs/development/python-modules/alabaster/default.nix
index a2a35f852a3d..e5aaa9a6c769 100644
--- a/pkgs/development/python-modules/alabaster/default.nix
+++ b/pkgs/development/python-modules/alabaster/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "alabaster";
-  version = "0.7.11";
+  version = "0.7.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b63b1f4dc77c074d386752ec4a8a7517600f6c0db8cd42980cae17ab7b3275d7";
+    sha256 = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02";
   };
 
   propagatedBuildInputs = [ pygments ];
diff --git a/pkgs/development/python-modules/autobahn/default.nix b/pkgs/development/python-modules/autobahn/default.nix
index f618b05373a7..01922f98c402 100644
--- a/pkgs/development/python-modules/autobahn/default.nix
+++ b/pkgs/development/python-modules/autobahn/default.nix
@@ -4,11 +4,11 @@
 }:
 buildPythonPackage rec {
   pname = "autobahn";
-  version = "18.8.1";
+  version = "18.8.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b69858e0be4bff8437b0bd82a0db1cbef7405e16bd9354ba587c043d6d5e1ad9";
+    sha256 = "448df2e241011ea2948799918930042d81e63d26b01912c472f5a9a37f42f319";
   };
 
   propagatedBuildInputs = [ six txaio twisted zope_interface cffi ] ++
diff --git a/pkgs/development/python-modules/backports_os/default.nix b/pkgs/development/python-modules/backports_os/default.nix
new file mode 100644
index 000000000000..9d0ddc2cad9a
--- /dev/null
+++ b/pkgs/development/python-modules/backports_os/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, setuptools_scm
+, future
+, isPy3k
+, python
+, hypothesis
+}:
+
+buildPythonPackage rec {
+  version = "0.1.1";
+  pname = "backports.os";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b472c4933094306ca08ec90b2a8cbb50c34f1fb2767775169a1c1650b7b74630";
+  };
+
+  buildInputs = [ setuptools_scm ];
+  checkInputs = [ hypothesis ];
+  propagatedBuildInputs = [ future ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pjdelport/backports.os;
+    description = "Backport of new features in Python's os module";
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index 195a1ccad766..1a005d9e42d7 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -4,14 +4,14 @@
 , nose, requests }:
 
 buildPythonPackage rec {
-  version = "2.1.2";
+  version = "2.1.3";
   pname = "beancount";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d0d5f7088cb6b699cc4d030dad42d20b8228232cdb445bb1330d4ef5e3581f52";
+    sha256 = "4b7b0d3633c82ca88d3cb3d31ad2fd2e45a42401cfa94eaa1cb938ffece34f22";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/bedup/default.nix b/pkgs/development/python-modules/bedup/default.nix
new file mode 100644
index 000000000000..13aa48f7f8f3
--- /dev/null
+++ b/pkgs/development/python-modules/bedup/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, btrfs-progs
+, contextlib2
+, pyxdg
+, pycparser
+, alembic
+, cffi
+, pythonOlder
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  version = "0.10.1";
+  pname = "bedup";
+  disabled = pythonOlder "3.3";
+
+  src = fetchFromGitHub {
+    owner = "g2p";
+    repo = "bedup";
+    rev = "v${version}";
+    sha256 = "0sp8pmjkxcqq0alianfp41mwq7qj10rk1qy31pjjp9kiph1rn0x6";
+  };
+
+  buildInputs = [ btrfs-progs ];
+  propagatedBuildInputs = [ contextlib2 pyxdg pycparser alembic ]
+    ++ stdenv.lib.optionals (!isPyPy) [ cffi ];
+
+  meta = with stdenv.lib; {
+    description = "Deduplication for Btrfs";
+    longDescription = ''
+      Deduplication for Btrfs. bedup looks for new and changed files,
+      making sure that multiple copies of identical files share space
+      on disk. It integrates deeply with btrfs so that scans are
+      incremental and low-impact.
+    '';
+    homepage = https://github.com/g2p/bedup;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ bluescreen303 ];
+  };
+}
diff --git a/pkgs/development/python-modules/binwalk/default.nix b/pkgs/development/python-modules/binwalk/default.nix
new file mode 100644
index 000000000000..9bd7e586820d
--- /dev/null
+++ b/pkgs/development/python-modules/binwalk/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, zlib
+, xz
+, ncompress
+, gzip
+, bzip2
+, gnutar
+, p7zip
+, cabextract
+, lzma
+, pycrypto
+, pyqtgraph ? null }:
+
+let visualizationSupport = (pyqtgraph != null);
+in
+buildPythonPackage rec {
+  name = "binwalk-${version}";
+  version = "2.1.1";
+
+  src = fetchFromGitHub {
+    owner = "devttys0";
+    repo = "binwalk";
+    rev = "291a03595d17f848c73b74cb6ca508da782cd8f7";
+    sha256 = "0grid93yz6i6jb2zggrqncp5awdf7qi88j5y2k7dq0k9r6b8zydw";
+  };
+
+  propagatedBuildInputs = [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma pycrypto ]
+    ++ stdenv.lib.optional visualizationSupport pyqtgraph;
+
+  meta = with stdenv.lib; {
+    homepage = "http://binwalk.org";
+    description = "A tool for searching a given binary image for embedded files";
+    maintainers = [ maintainers.koral ];
+  };
+}
diff --git a/pkgs/development/python-modules/blivet/default.nix b/pkgs/development/python-modules/blivet/default.nix
index 9d2485711d0c..1c86c02f7a88 100644
--- a/pkgs/development/python-modules/blivet/default.nix
+++ b/pkgs/development/python-modules/blivet/default.nix
@@ -31,7 +31,7 @@ in buildPythonPackage rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock pyudev selinuxWithPython cryptsetupWithPython
+    pykickstart pyparted pyblock pyudev selinuxWithPython.py cryptsetupWithPython
     six
   ];
 
diff --git a/pkgs/development/python-modules/boltztrap2/default.nix b/pkgs/development/python-modules/boltztrap2/default.nix
new file mode 100644
index 000000000000..56036fc97b34
--- /dev/null
+++ b/pkgs/development/python-modules/boltztrap2/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, spglib
+, numpy
+, scipy
+, matplotlib
+, ase
+, netcdf4
+, pytest
+, pythonOlder
+, cython
+, cmake
+}:
+
+buildPythonPackage rec {
+  version = "18.9.1";
+  pname = "BoltzTraP2";
+  disabled = pythonOlder "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b828ad2b3b3a40956ef866e462e4c82faf83be79348af3945d4e7cede8a53913";
+  };
+
+  buildInputs = [ cython cmake ];
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ spglib numpy scipy matplotlib ase netcdf4 ];
+
+  # pypi release does no include files for tests
+  doCheck = false;
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.boltztrap.org/;
+    description = "Band-structure interpolator and transport coefficient calculator";
+    license = licenses.gpl3;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/bootstrapped-pip/default.nix b/pkgs/development/python-modules/bootstrapped-pip/default.nix
index 613be1f7d6b7..d482b7a8c88b 100644
--- a/pkgs/development/python-modules/bootstrapped-pip/default.nix
+++ b/pkgs/development/python-modules/bootstrapped-pip/default.nix
@@ -3,26 +3,26 @@
 let
   wheel_source = fetchPypi {
     pname = "wheel";
-    version = "0.31.1";
+    version = "0.32.1";
     format = "wheel";
-    sha256 = "80044e51ec5bbf6c894ba0bc48d26a8c20a9ba629f4ca19ea26ecfcf87685f5f";
+    sha256 = "15hizylh761jcaz8zfdc3wg30jf33izaakyv1p82ppx2y5rgg8cz";
   };
   setuptools_source = fetchPypi {
     pname = "setuptools";
-    version = "40.2.0";
+    version = "40.4.3";
     format = "wheel";
-    sha256 = "ea3796a48a207b46ea36a9d26de4d0cc87c953a683a7b314ea65d666930ea8e6";
+    sha256 = "1zzryv1fqx4nk7hzv4afxpl8k7f60lc0qkhxlc8sqjs4igakfhff";
   };
 
 in stdenv.mkDerivation rec {
   pname = "pip";
-  version = "18.0";
+  version = "18.1";
   name = "${python.libPrefix}-bootstrapped-${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     format = "wheel";
-    sha256 = "070e4bf493c7c2c9f6a08dd797dd3c066d64074c38e9e8a0fb4e6541f266d96c";
+    sha256 = "7909d0a0932e88ea53a7014dfd14522ffef91a464daaaf5c573343852ef98550";
   };
 
   unpackPhase = ''
diff --git a/pkgs/development/python-modules/box2d/default.nix b/pkgs/development/python-modules/box2d/default.nix
new file mode 100644
index 000000000000..f1bd87126795
--- /dev/null
+++ b/pkgs/development/python-modules/box2d/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, swig2
+, pkgs-box2d
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "Box2D";
+  version = "2.3.2";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d1557dffdf9c1d6c796ec5df53e3d93227bb026c14b8411d22c295edaa2fb225";
+  };
+
+  postPatch = ''
+    sed -i "s/'Box2D.tests' : 'tests'//" setup.py
+  '';
+
+  buildInputs = [ swig2 pkgs-box2d ];
+
+  # tests not included with pypi release
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/pybox2d/pybox2d;
+    description = ''
+      A 2D game physics library for Python under
+      the very liberal zlib license
+    '';
+    license = licenses.zlib;
+    maintainers = with maintainers; [ sepi ];
+  };
+}
diff --git a/pkgs/development/python-modules/box2d/disable-test.patch b/pkgs/development/python-modules/box2d/disable-test.patch
deleted file mode 100644
index bc2897a8b100..000000000000
--- a/pkgs/development/python-modules/box2d/disable-test.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Common subdirectories: Box2D-2.3b0/Box2D and Box2D-2.3b0.new/Box2D
-Common subdirectories: Box2D-2.3b0/examples and Box2D-2.3b0.new/examples
-Common subdirectories: Box2D-2.3b0/library and Box2D-2.3b0.new/library
-diff -u Box2D-2.3b0/setup.py Box2D-2.3b0.new/setup.py
---- Box2D-2.3b0/setup.py	2013-02-02 18:09:34.000000000 +0100
-+++ Box2D-2.3b0.new/setup.py	2014-10-25 13:32:07.136922343 +0200
-@@ -176,7 +176,6 @@
-     package_dir      = {'Box2D': library_path, 

-                         'Box2D.b2': os.path.join(library_path, 'b2'),

-                         'Box2D.tests' : 'tests'},

--    test_suite       = 'tests',

-     options          = { 'build_ext': { 'swig_opts' : swig_arguments },

-                          'egg_info' : { 'egg_base' : library_base },

-                         },

diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix
new file mode 100644
index 000000000000..5366eeb9c232
--- /dev/null
+++ b/pkgs/development/python-modules/brotli/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
+
+buildPythonPackage rec {
+  pname = "brotli";
+  version = "1.0.5";
+
+  # PyPI doesn't contain tests so let's use GitHub
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "0ssj7mnhpdpk7qnwr49qfd4gxhkmvbli5mhs274pz55cx1xp7xja";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest python/tests
+  '';
+
+  meta = {
+    homepage = https://github.com/google/brotli;
+    description = "Generic-purpose lossless compression algorithm";
+    license = lib.licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/bsddb3/default.nix b/pkgs/development/python-modules/bsddb3/default.nix
new file mode 100644
index 000000000000..971aac70ad8e
--- /dev/null
+++ b/pkgs/development/python-modules/bsddb3/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "bsddb3";
+  version = "6.2.6";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "42d621f4037425afcb16b67d5600c4556271a071a9a7f7f2c2b1ba65bc582d05";
+  };
+
+  buildInputs = [ pkgs.db ];
+
+  # Judging from SyntaxError in test
+  doCheck = false; # test suite breaks python3 compatibility
+
+  # Path to database need to be set.
+  # Somehow the setup.py flag is not propagated.
+  #setupPyBuildFlags = [ "--berkeley-db=${pkgs.db}" ];
+  # We can also use a variable
+  preConfigure = ''
+    export BERKELEYDB_DIR=${pkgs.db.dev};
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for Oracle Berkeley DB";
+    homepage = https://www.jcea.es/programacion/pybsddb.htm;
+    license = with licenses; [ agpl3 ]; # License changed from bsd3 to agpl3 since 6.x
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/bugz/default.nix b/pkgs/development/python-modules/bugz/default.nix
new file mode 100644
index 000000000000..4af8b247fcf3
--- /dev/null
+++ b/pkgs/development/python-modules/bugz/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "bugz-0.9.3";
+  version = "0.13";
+
+  src = fetchFromGitHub {
+    owner = "williamh";
+    repo = "pybugz";
+    rev = "0.13";
+    sha256 = "1nw07q7r078dp82rcrhvvnhmnaqjx6f8a6cdjgrsiy6fryrx9dwz";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.liquidx.net/pybugz/;
+    description = "Command line interface for Bugzilla";
+    license = licenses.gpl2;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/buildout-nix/default.nix b/pkgs/development/python-modules/buildout-nix/default.nix
index 5a1bc4485b71..c76a930c9655 100644
--- a/pkgs/development/python-modules/buildout-nix/default.nix
+++ b/pkgs/development/python-modules/buildout-nix/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.12.1";
+  version = "2.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e180b62fd129a68cb3a9ec8eb0ef457e18921269a93e87ef2cc34519415332d";
+    sha256 = "ff5d7e8a1361da8dfe1025d35ef6ce55e929dd8518d2a811a1cf2c948950a043";
   };
 
   patches = [ ./nix.patch ];
diff --git a/pkgs/development/python-modules/buildout/default.nix b/pkgs/development/python-modules/buildout/default.nix
index c75b9fdb6ccb..ede09373f90f 100644
--- a/pkgs/development/python-modules/buildout/default.nix
+++ b/pkgs/development/python-modules/buildout/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "zc.buildout";
-  version = "2.12.1";
+  version = "2.12.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1e180b62fd129a68cb3a9ec8eb0ef457e18921269a93e87ef2cc34519415332d";
+    sha256 = "ff5d7e8a1361da8dfe1025d35ef6ce55e929dd8518d2a811a1cf2c948950a043";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/bumps/default.nix b/pkgs/development/python-modules/bumps/default.nix
index 469b449483af..d8fc3d992352 100644
--- a/pkgs/development/python-modules/bumps/default.nix
+++ b/pkgs/development/python-modules/bumps/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "bumps";
-  version = "0.7.10";
+  version = "0.7.11";
 
   propagatedBuildInputs = [six];
 
@@ -12,7 +12,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07917abf7e598f2a42456ca4f704c6da2a5489eaea0b9a7c61ed8a26506737c8";
+    sha256 = "16d24a7f965592d9b02f96e68e6aa70d6fb59abe4db37bb14c4b60c509a3c2ef";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/caldavclientlibrary-asynk/default.nix b/pkgs/development/python-modules/caldavclientlibrary-asynk/default.nix
new file mode 100644
index 000000000000..7f4857a95319
--- /dev/null
+++ b/pkgs/development/python-modules/caldavclientlibrary-asynk/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  version = "asynkdev";
+  pname = "caldavclientlibrary-asynk";
+
+  src = fetchgit {
+    url = "https://github.com/skarra/CalDAVClientLibrary.git";
+    rev = "06699b08190d50cc2636b921a654d67db0a967d1";
+    sha256 = "157q32251ac9x3gdshgrjwsy48nq74vrzviswvph56h9wa8ksnnk";
+  };
+
+  disabled = isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "A Python library and tool for CalDAV";
+
+    longDescription = ''
+      CalDAVCLientLibrary is a Python library and tool for CalDAV.
+
+      This package is the unofficial CalDAVCLientLibrary Python
+      library maintained by the author of Asynk and is needed for
+      that package.
+    '';
+
+    homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/;
+    maintainers = with maintainers; [ pjones ];
+    broken = true; # 2018-04-11
+  };
+
+}
diff --git a/pkgs/development/python-modules/capstone/default.nix b/pkgs/development/python-modules/capstone/default.nix
new file mode 100644
index 000000000000..91e00ed7e43c
--- /dev/null
+++ b/pkgs/development/python-modules/capstone/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+}:
+
+buildPythonPackage rec {
+  pname = "capstone";
+  version = "3.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "945d3b8c3646a1c3914824c416439e2cf2df8969dd722c8979cdcc23b40ad225";
+  };
+
+  patches = [
+    (fetchpatch {
+      stripLen = 2;
+      url = "https://patch-diff.githubusercontent.com/raw/aquynh/capstone/pull/783/commits/23fe9f36622573c747e2bab6119ff245437bf276.patch";
+      sha256 = "0yizqrdlxqxn16873593kdx2vrr7gvvilhgcf9xy6hr0603d3m5r";
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs src/make.sh
+  '';
+
+  preCheck = ''
+    mv src/libcapstone.so capstone
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://www.capstone-engine.org/";
+    license = licenses.bsdOriginal;
+    description = "Capstone disassembly engine";
+    maintainers = with maintainers; [ bennofs ];
+  };
+}
diff --git a/pkgs/development/python-modules/carbon/default.nix b/pkgs/development/python-modules/carbon/default.nix
index df14f44f0b00..0398782900d5 100644
--- a/pkgs/development/python-modules/carbon/default.nix
+++ b/pkgs/development/python-modules/carbon/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "carbon";
-  version = "1.1.3";
+  version = "1.1.4";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1s7327p30w4l9ak4gc7m5ga521233179n2lr3j0ggfbmfhd6blky";
+    sha256 = "1b70e34ac0f0bd32a03ee14eaf1ed2c857e208984fc9761f59a95c21c5264513";
   };
 
   propagatedBuildInputs = [ twisted whisper txamqp cachetools urllib3 ];
diff --git a/pkgs/development/python-modules/cassandra-driver/default.nix b/pkgs/development/python-modules/cassandra-driver/default.nix
new file mode 100644
index 000000000000..110cd1e0bd5b
--- /dev/null
+++ b/pkgs/development/python-modules/cassandra-driver/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+, cython
+, futures
+, six
+, python
+, scales
+, eventlet
+, twisted
+, mock
+, gevent
+, nose
+, pytz
+, pyyaml
+, sure
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "cassandra-driver";
+  version = "3.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1aqmy3psn12lxgp659d0zsxkirxzy5lnbnzxf9xjq1a93s3qm704";
+  };
+
+  buildInputs = [ pkgs.libev cython ];
+
+  propagatedBuildInputs = [ six ]
+    ++ stdenv.lib.optionals (pythonOlder "3.4") [ futures ];
+
+  postPatch = ''
+    sed -i "s/<=1.0.1//" setup.py
+  '';
+
+  checkPhase = ''
+    ${python.interpreter} setup.py gevent_nosetests
+    ${python.interpreter} setup.py eventlet_nosetests
+  '';
+
+  checkInputs = [ scales eventlet twisted mock gevent nose pytz pyyaml sure ];
+
+  # Could not get tests running
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://datastax.github.io/python-driver/;
+    description = "A Python client driver for Apache Cassandra";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/cddb/default.nix b/pkgs/development/python-modules/cddb/default.nix
new file mode 100644
index 000000000000..f40ff08fcf42
--- /dev/null
+++ b/pkgs/development/python-modules/cddb/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, pkgs
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  name = "CDDB-1.4";
+  disabled = isPy3k;
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.IOKit ];
+
+  src = pkgs.fetchurl {
+    url = "http://cddb-py.sourceforge.net/${name}.tar.gz";
+    sha256 = "098xhd575ibvdx7i3dny3lwi851yxhjg2hn5jbbgrwj833rg5l5w";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://cddb-py.sourceforge.net/;
+    description = "CDDB and FreeDB audio CD track info access";
+    license = licenses.gpl2Plus;
+  };
+
+}
diff --git a/pkgs/development/python-modules/chameleon/default.nix b/pkgs/development/python-modules/chameleon/default.nix
new file mode 100644
index 000000000000..1a2811b50b67
--- /dev/null
+++ b/pkgs/development/python-modules/chameleon/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "Chameleon";
+  version = "2.25";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0va95cml7wfjpvgj3dc9xdn8psyjh3zbk6v51b0hcqv2fzh409vb";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://chameleon.readthedocs.io/;
+    description = "Fast HTML/XML Template Compiler";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/click-plugins/default.nix b/pkgs/development/python-modules/click-plugins/default.nix
index 74d64d8390cf..a5124ac86134 100644
--- a/pkgs/development/python-modules/click-plugins/default.nix
+++ b/pkgs/development/python-modules/click-plugins/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "click-plugins";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ifphgaw5mmcdnqd0qfnmrbm62q3k6p573aff4cxgpyjxmz5xk3s";
+    sha256 = "dfed74b5063546a137de99baaaf742b4de4337ad2b3e1df5ec7c8a256adc0847";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cligj/default.nix b/pkgs/development/python-modules/cligj/default.nix
index c47a15d64bbc..0ec82efed8b2 100644
--- a/pkgs/development/python-modules/cligj/default.nix
+++ b/pkgs/development/python-modules/cligj/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "cligj";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "cligj";
     rev = version;
-    sha256 = "0fclxagxv23v75yiypb29a8sja23dakhvmx3blmxyhg2sci92sx8";
+    sha256 = "13vlibbn86dhh6iy8k831vsa249746jnk419wcr9vvr3pqxml6g2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/closure-linter/default.nix b/pkgs/development/python-modules/closure-linter/default.nix
new file mode 100644
index 000000000000..f6c94ace1fad
--- /dev/null
+++ b/pkgs/development/python-modules/closure-linter/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy3k
+, gflags
+}:
+
+/* There is a project called "closure-linter" on PyPI that is the
+   same as this, but it does not appear to be owned by Google.
+   So we're pulling from Google's GitHub repo instead. */
+buildPythonPackage rec {
+  pname = "closure-linter";
+  version = "2.3.19";
+
+  /* This project has no Python 3 support, as noted by
+     https://github.com/google/closure-linter/issues/81 */
+  disabled = isPy3k;
+
+  src = fetchgit {
+    url = "https://github.com/google/closure-linter";
+    rev = "5c27529075bb88bdc45e73008f496dec8438d658";
+    sha256 = "076c7q7pr7akfvq5y8lxr1ab81wwps07gw00igdkcxnc5k9dzxwc";
+  };
+
+  propagatedBuildInputs = [ gflags ];
+
+  meta = with stdenv.lib; {
+    description = "Checks JavaScript files against Google's style guide.";
+    homepage = "https://developers.google.com/closure/utilities/";
+    license = with licenses; [ asl20 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/cloudpickle/default.nix b/pkgs/development/python-modules/cloudpickle/default.nix
index f70ebee411ab..b00d210a464a 100644
--- a/pkgs/development/python-modules/cloudpickle/default.nix
+++ b/pkgs/development/python-modules/cloudpickle/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "cloudpickle";
-  version = "0.5.5";
+  version = "0.5.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6ea4b548f61a4f616b065182716318c7dced8c053517f35ac59cec22802daf3d";
+    sha256 = "0390ecb3731ac035d74c34651460f4a683e9ef7443861712b8d56c20c2f92113";
   };
 
   buildInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/cmd2/default.nix b/pkgs/development/python-modules/cmd2/default.nix
index 4217d193cfea..019ab4e6cdd8 100644
--- a/pkgs/development/python-modules/cmd2/default.nix
+++ b/pkgs/development/python-modules/cmd2/default.nix
@@ -1,15 +1,16 @@
 { stdenv, fetchPypi, buildPythonPackage, pythonOlder, isPy3k
 , pyperclip, six, pyparsing, vim, wcwidth, colorama
-, contextlib2 ? null, setuptools_scm
-, pytest, mock, which, glibcLocales
+, contextlib2 ? null, typing ? null, setuptools_scm
+, pytest, mock ? null, pytest-mock
+, which, glibcLocales
 }:
 buildPythonPackage rec {
   pname = "cmd2";
-  version = "0.9.4";
+  version = "0.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0037dcf92331c63ae43e7e644536e646fff8be2fd5a83da06b3482f910f929c6";
+    sha256 = "0279p76n6yny6psys9fc6yjdrqiisbpmrl59a2vxy56hi7094kaw";
   };
 
   LC_ALL="en_US.UTF-8";
@@ -23,12 +24,6 @@ buildPythonPackage rec {
     export PATH=$(realpath bin):$PATH
   '';
 
-  checkInputs= [ pytest mock which vim glibcLocales ];
-  checkPhase = ''
-    # test_path_completion_user_expansion might be fixed in the next release
-    py.test -k 'not test_path_completion_user_expansion'
-  '';
-  doCheck = !stdenv.isDarwin;
   disabled = !isPy3k;
 
   buildInputs = [
@@ -42,9 +37,20 @@ buildPythonPackage rec {
     pyparsing
     wcwidth
   ]
-  ++ stdenv.lib.optional (pythonOlder "3.5") contextlib2
+  ++ stdenv.lib.optionals (pythonOlder "3.5") [contextlib2 typing]
   ;
 
+
+  doCheck = !stdenv.isDarwin;
+  # pytest-cov
+  # argcomplete  will generate errors
+  checkInputs= [ pytest mock which vim glibcLocales pytest-mock ]
+        ++ stdenv.lib.optional (pythonOlder "3.6") [ mock ];
+  checkPhase = ''
+    # test_path_completion_user_expansion might be fixed in the next release
+    py.test -k 'not test_path_completion_user_expansion'
+  '';
+
   meta = with stdenv.lib; {
     description = "Enhancements for standard library's cmd module";
     homepage = https://github.com/python-cmd2/cmd2;
diff --git a/pkgs/development/python-modules/cntk/default.nix b/pkgs/development/python-modules/cntk/default.nix
new file mode 100644
index 000000000000..2bcb7165ca1c
--- /dev/null
+++ b/pkgs/development/python-modules/cntk/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, pkgs
+, numpy
+, scipy
+, enum34
+, protobuf
+, pip
+, python
+}:
+
+buildPythonPackage rec {
+  inherit (pkgs.cntk) name version src meta;
+
+  buildInputs = [ pkgs.cntk pkgs.swig pkgs.openmpi ];
+  propagatedBuildInputs = [ numpy scipy enum34 protobuf pip ];
+
+  CNTK_LIB_PATH = "${pkgs.cntk}/lib";
+  CNTK_COMPONENT_VERSION = pkgs.cntk.version;
+
+  postPatch = ''
+    cd bindings/python
+    sed -i 's,"libmpi.so.12","${pkgs.openmpi}/lib/libmpi.so",g' cntk/train/distributed.py
+  '';
+
+  postInstall = ''
+    rm -rf $out/${python.sitePackages}/cntk/libs
+    ln -s ${pkgs.cntk}/lib $out/${python.sitePackages}/cntk/libs
+    # It's not installed for some reason.
+    cp cntk/cntk_py.py $out/${python.sitePackages}/cntk
+  '';
+
+  # Actual tests are broken.
+  checkPhase = ''
+    cd $NIX_BUILD_TOP
+    ${python.interpreter} -c "import cntk"
+  '';
+}
diff --git a/pkgs/development/python-modules/colanderalchemy/default.nix b/pkgs/development/python-modules/colanderalchemy/default.nix
new file mode 100644
index 000000000000..78f0f6fe371f
--- /dev/null
+++ b/pkgs/development/python-modules/colanderalchemy/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, unittest2
+, colander
+, sqlalchemy
+}:
+
+buildPythonPackage rec {
+  pname = "ColanderAlchemy";
+  version = "0.3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11wcni2xmfmy001rj62q2pwf305vvngkrfm5c4zlwvgbvlsrvnnw";
+  };
+
+  patches = [
+    (fetchpatch {
+        url = "https://github.com/stefanofontanelli/ColanderAlchemy/commit/b45fe35f2936a5ccb705e9344075191e550af6c9.patch";
+        sha256 = "1kf278wjq49zd6fhpp55vdcawzdd107767shzfck522sv8gr6qvx";
+    })
+  ];
+
+  buildInputs = [ unittest2 ];
+  propagatedBuildInputs = [ colander sqlalchemy ];
+
+  meta = with stdenv.lib; {
+    description = "Autogenerate Colander schemas based on SQLAlchemy models";
+    homepage = https://github.com/stefanofontanelli/ColanderAlchemy;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/colored/default.nix b/pkgs/development/python-modules/colored/default.nix
new file mode 100644
index 000000000000..a32c9ebb429c
--- /dev/null
+++ b/pkgs/development/python-modules/colored/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "colored";
+  version = "1.1.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1r1vsypk8v7az82d66bidbxlndx1h7xd4m43hpg1a6hsjr30wrm3";
+  };
+
+  # No proper test suite
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://gitlab.com/dslackw/colored;
+    description = "Simple library for color and formatting to terminal";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/cornice/default.nix b/pkgs/development/python-modules/cornice/default.nix
new file mode 100644
index 000000000000..dc7c9c334d3c
--- /dev/null
+++ b/pkgs/development/python-modules/cornice/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyramid
+, simplejson
+, six
+, venusian
+}:
+
+buildPythonPackage rec {
+  pname = "cornice";
+  version = "3.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a7f8db903ba06c2584c7db4474459de3565d90b5e4ae4b97c687840e11d5b7fd";
+  };
+
+  propagatedBuildInputs = [ pyramid simplejson six venusian ];
+
+  # tests not packaged with pypi release
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mozilla-services/cornice;
+    description = "Build Web Services with Pyramid";
+    license = licenses.mpl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/cupy/default.nix b/pkgs/development/python-modules/cupy/default.nix
index 9a836e88752a..f9f400408a78 100644
--- a/pkgs/development/python-modules/cupy/default.nix
+++ b/pkgs/development/python-modules/cupy/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "cupy";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fca0e3d3fdad4c825197ea421bed0d253224b44daf738d82af5cba856c1c0b3e";
+    sha256 = "d46a3eea628a17b9c3f446e4b13513a1f0cc0b9930214417b41c90dcf0bb427f";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/cvxopt/default.nix b/pkgs/development/python-modules/cvxopt/default.nix
index e17bd38da02b..f0de39edd0d2 100644
--- a/pkgs/development/python-modules/cvxopt/default.nix
+++ b/pkgs/development/python-modules/cvxopt/default.nix
@@ -15,13 +15,13 @@
 
 buildPythonPackage rec {
   pname = "cvxopt";
-  version = "1.2.0";
+  version = "1.2.1";
 
   disabled = isPyPy; # hangs at [translation:info]
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3296c9d49b7dcb894b20db5d7d1c1a443912b4d82358e03f836575e8398e0d60";
+    sha256 = "12e3cfda982576b0b9b597d297aaf3172efa765a20fbed6f3c066aa0c48ee817";
   };
 
   # similar to Gsl, glpk, fftw there is also a dsdp interface
diff --git a/pkgs/development/python-modules/cymem/default.nix b/pkgs/development/python-modules/cymem/default.nix
index 8033fa96113e..6862d6447e5f 100644
--- a/pkgs/development/python-modules/cymem/default.nix
+++ b/pkgs/development/python-modules/cymem/default.nix
@@ -6,20 +6,25 @@
 }:
 buildPythonPackage rec {
   pname = "cymem";
-  version = "1.31.2";
+  version = "2.0.2";
   name = pname + "-" + version;
 
   src = fetchFromGitHub {
     owner = "explosion";
     repo = "cymem";
-    rev = "1.31.2";
-    sha256 = "0miznr4kbdzw8yik3m96jmrlmln4qv7z3i3qdp7wjqr51zpqfm1k";
+    rev = "v${version}";
+    sha256 = "109i67vwgql9za8mfvgbrd6rgraz4djkvpzb4gqvzl13214s6ava";
   };
 
   propagatedBuildInputs = [
    cython
   ];
 
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "wheel>=0.32.0,<0.33.0" "wheel>=0.31.0"
+  '';
+
   checkPhase = ''
     cd cymem/tests
     ${python.interpreter} -m unittest discover -p "*test*"
diff --git a/pkgs/development/python-modules/cypari2/default.nix b/pkgs/development/python-modules/cypari2/default.nix
index 6df19e4c94be..a77e98dae4c8 100644
--- a/pkgs/development/python-modules/cypari2/default.nix
+++ b/pkgs/development/python-modules/cypari2/default.nix
@@ -11,11 +11,12 @@
 
 buildPythonPackage rec {
   pname = "cypari2";
-  version = "1.2.1";
+  # upgrade may break sage, please test the sage build or ping @timokau on upgrade
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v2kikwf0advq8j76nwzhlacwj1yys9cvajm4fqgmasjdsnf1q4k";
+    sha256 = "04f00xp8aaz37v00iqg1mv5wjq00a5qhk8cqa93s13009s9x984r";
   };
 
   # This differs slightly from the default python installPhase in that it pip-installs
diff --git a/pkgs/development/python-modules/dask-image/default.nix b/pkgs/development/python-modules/dask-image/default.nix
index 15a13b2ff714..ed576bcc02bb 100644
--- a/pkgs/development/python-modules/dask-image/default.nix
+++ b/pkgs/development/python-modules/dask-image/default.nix
@@ -10,12 +10,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.1";
+  version = "0.1.2";
   pname = "dask-image";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e6294ac577a8fc0abec2b97a2c42d404f599feac61d6899bdf1bf2b7cfb0e015";
+    sha256 = "401e2c345a582eb2859a4a2a4a6fcfbc85beece59705f3ead9b6708a0cd183e7";
   };
 
   checkInputs = [ pytest scikitimage ];
diff --git a/pkgs/development/python-modules/ddt/default.nix b/pkgs/development/python-modules/ddt/default.nix
new file mode 100644
index 000000000000..2fb9e9e990b6
--- /dev/null
+++ b/pkgs/development/python-modules/ddt/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ddt";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e24ecb7e2cf0bf43fa9d4255d3ae2bd0b7ce30b1d1b89ace7aa68aca1152f37a";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Data-Driven/Decorated Tests, a library to multiply test cases";
+    homepage = https://github.com/txels/ddt;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/deprecation/default.nix b/pkgs/development/python-modules/deprecation/default.nix
index 10e0d79dddf5..600fe8887514 100644
--- a/pkgs/development/python-modules/deprecation/default.nix
+++ b/pkgs/development/python-modules/deprecation/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deprecation";
-  version = "2.0.5";
+  version = "2.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbe7d15006bc339709be5e02b14884ecc479639c1a3714a908de3a8ca13b5ca9";
+    sha256 = "68071e5ae7cd7e9da6c7dffd750922be4825c7c3a6780d29314076009cc39c35";
   };
 
   propagatedBuildInputs = [ packaging ];
diff --git a/pkgs/development/python-modules/deskcon/default.nix b/pkgs/development/python-modules/deskcon/default.nix
new file mode 100644
index 000000000000..05fa3aa835a3
--- /dev/null
+++ b/pkgs/development/python-modules/deskcon/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, buildPythonPackage
+, pyopenssl
+, pkgs
+, isPy3k
+, python
+}:
+
+buildPythonPackage rec {
+  name = "deskcon-0.3";
+  disabled = isPy3k;
+
+  src = pkgs.fetchFromGitHub {
+    owner= "screenfreeze";
+    repo = "deskcon-desktop";
+    rev = "267804122188fa79c37f2b21f54fe05c898610e6";
+    sha256 ="0i1dd85ls6n14m9q7lkympms1w3x0pqyaxvalq82s4xnjdv585j3";
+  };
+
+  phases = [ "unpackPhase" "installPhase" ];
+
+  pythonPath = [ pyopenssl pkgs.gtk3 ];
+
+  installPhase = ''
+    substituteInPlace server/deskcon-server --replace "python2" "python"
+
+    mkdir -p $out/bin
+    mkdir -p $out/lib/${python.libPrefix}/site-packages
+    cp -r "server/"* $out/lib/${python.libPrefix}/site-packages
+    mv $out/lib/${python.libPrefix}/site-packages/deskcon-server $out/bin/deskcon-server
+
+    wrapPythonProgramsIn $out/bin "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Integrates an Android device into a desktop";
+    homepage = https://github.com/screenfreeze/deskcon-desktop;
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index 694bc2ce4f94..65d0b1ab77f1 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -26,12 +26,12 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "1.23.1";
+  version = "1.23.3";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9d4693442efe40e05e4304fe6d8174989c6eb4bad1afe70480c98263ef8e1cdb";
+    sha256 = "2d48a4de280fd7243ca76f9b12db5fe2486fc89dcdb510c77fa51f51733a04cc";
   };
 
   checkInputs = [ pytest pytest-repeat pytest-faulthandler pytest-timeout mock joblib ];
diff --git a/pkgs/development/python-modules/distutils_extra/default.nix b/pkgs/development/python-modules/distutils_extra/default.nix
new file mode 100644
index 000000000000..52b3b41b02bc
--- /dev/null
+++ b/pkgs/development/python-modules/distutils_extra/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+}:
+
+buildPythonPackage rec {
+  pname = "distutils-extra";
+  version = "2.39";
+
+  src = fetchurl {
+    url = "http://launchpad.net/python-distutils-extra/trunk/${version}/+download/python-${pname}-${version}.tar.gz";
+    sha256 = "1bv3h2p9ffbzyddhi5sccsfwrm3i6yxzn0m06fdxkj2zsvs28gvj";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://launchpad.net/python-distutils-extra;
+    description = "Enhancements to Python's distutils";
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django/1_8.nix b/pkgs/development/python-modules/django/1_8.nix
new file mode 100644
index 000000000000..e87a9cbad027
--- /dev/null
+++ b/pkgs/development/python-modules/django/1_8.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  name = "Django-${version}";
+  version = "1.8.18";
+  disabled = pythonOlder "2.7";
+
+  src = fetchurl {
+    url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz";
+    sha256 = "1ishvbihr9pain0486qafb18dnb7v2ppq34nnx1s8f95bvfiqqf7";
+  };
+
+  # too complicated to setup
+  doCheck = false;
+
+  # patch only $out/bin to avoid problems with starter templates (see #3134)
+  postFixup = ''
+    wrapPythonProgramsIn $out/bin "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A high-level Python Web framework";
+    homepage = https://www.djangoproject.com/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_classytags/default.nix b/pkgs/development/python-modules/django_classytags/default.nix
new file mode 100644
index 000000000000..022709bacbe0
--- /dev/null
+++ b/pkgs/development/python-modules/django_classytags/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-classy-tags";
+  version = "0.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  # tests appear to be broken on 0.6.1 at least
+  doCheck = ( version != "0.6.1" );
+
+  meta = with stdenv.lib; {
+    description = "Class based template tags for Django";
+    homepage = https://github.com/ojii/django-classy-tags;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_colorful/default.nix b/pkgs/development/python-modules/django_colorful/default.nix
new file mode 100644
index 000000000000..7da878880dab
--- /dev/null
+++ b/pkgs/development/python-modules/django_colorful/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-colorful";
+  version = "1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y34hzvfrm1xbxrd8frybc9yzgqvz4c07frafipjikw7kfjsw8az";
+  };
+
+  # Tests aren't run
+  doCheck = false;
+
+  # Requires Django >= 1.8
+  buildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "Django extension that provides database and form color fields";
+    homepage = https://github.com/charettes/django-colorful;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_contrib_comments/default.nix b/pkgs/development/python-modules/django_contrib_comments/default.nix
new file mode 100644
index 000000000000..f850350ee168
--- /dev/null
+++ b/pkgs/development/python-modules/django_contrib_comments/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-contrib-comments";
+  version = "1.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "689f3f80ff7ea8ab9f712ae5fe17ffa2ee8babbf8d75229ee8acc7bad461dfef";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/django/django-contrib-comments;
+    description = "The code formerly known as django.contrib.comments";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_environ/default.nix b/pkgs/development/python-modules/django_environ/default.nix
new file mode 100644
index 000000000000..15eafa6dd855
--- /dev/null
+++ b/pkgs/development/python-modules/django_environ/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "django-environ";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0i32vsgk1xmwpi7i6f6v5hg653y9dl0fsz5qmv94skz6hwgm5kvh";
+  };
+
+  # The testsuite fails to modify the base environment
+  doCheck = false;
+  propagatedBuildInputs = [ django six ];
+
+  meta = with stdenv.lib; {
+    description = "Utilize environment variables to configure your Django application";
+    homepage = https://github.com/joke2k/django-environ/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_evolution/default.nix b/pkgs/development/python-modules/django_evolution/default.nix
new file mode 100644
index 000000000000..92ed3d572a1e
--- /dev/null
+++ b/pkgs/development/python-modules/django_evolution/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django_evolution";
+  version = "0.7.5";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1qbcx54hq8iy3n2n6cki3bka1m9rp39np4hqddrm9knc954fb7nv";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "A database schema evolution tool for the Django web framework";
+    homepage = http://code.google.com/p/django-evolution/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_modelcluster/default.nix b/pkgs/development/python-modules/django_modelcluster/default.nix
new file mode 100644
index 000000000000..3a2aad16ba5f
--- /dev/null
+++ b/pkgs/development/python-modules/django_modelcluster/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytz
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "django-modelcluster";
+  version = "0.6.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1plsdi44dvsj2sfx79lsrccjfg0ymajcsf5n0mln4cwd4qi5mwpx";
+  };
+
+  doCheck = false;
+
+  propagatedBuildInputs = [ pytz six ];
+
+  meta = with stdenv.lib; {
+    description = "Django extension to allow working with 'clusters' of models as a single unit, independently of the database";
+    homepage = https://github.com/torchbox/django-modelcluster/;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ desiderius ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_nose/default.nix b/pkgs/development/python-modules/django_nose/default.nix
new file mode 100644
index 000000000000..9d16ee343d6a
--- /dev/null
+++ b/pkgs/development/python-modules/django_nose/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-nose";
+  version = "1.4.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fm47fkza2lk0xgc6qpi9vs78zg7q8cgl6mdan69sbycgy909ff0";
+  };
+
+  # vast dependency list
+  doCheck = false;
+
+  propagatedBuildInputs = [ django nose ];
+
+  meta = with stdenv.lib; {
+    description = "Provides all the goodness of nose in your Django tests";
+    homepage = https://github.com/django-nose/django-nose;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_reversion/default.nix b/pkgs/development/python-modules/django_reversion/default.nix
new file mode 100644
index 000000000000..038a3d439fac
--- /dev/null
+++ b/pkgs/development/python-modules/django_reversion/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-reversion";
+  version = "1.10.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01iv8w6lmmq98qjhxmnp8ddjxifmhxcmp612ijd91wc8nv8lk12w";
+  };
+
+  propagatedBuildInputs = [ django ];
+
+  meta = with stdenv.lib; {
+    description = "An extension to the Django web framework that provides comprehensive version control facilities";
+    homepage = https://github.com/etianen/django-reversion;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_silk/default.nix b/pkgs/development/python-modules/django_silk/default.nix
new file mode 100644
index 000000000000..ad8d0bee7f45
--- /dev/null
+++ b/pkgs/development/python-modules/django_silk/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, pygments
+, simplejson
+, dateutil
+, requests
+, sqlparse
+, jinja2
+, autopep8
+, pytz
+, pillow
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "django-silk";
+  version = "0.5.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "845abc688738858ce06e993c4b7dbbcfcecf33029e828f143463ff96f9a78947";
+  };
+
+  doCheck = false;
+
+  buildInputs = [ mock ];
+  propagatedBuildInputs = [ django pygments simplejson dateutil requests sqlparse jinja2 autopep8 pytz pillow ];
+
+  meta = with stdenv.lib; {
+    description = "Silky smooth profiling for the Django Framework";
+    homepage = https://github.com/mtford90/silk;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_taggit/default.nix b/pkgs/development/python-modules/django_taggit/default.nix
new file mode 100644
index 000000000000..276097802e70
--- /dev/null
+++ b/pkgs/development/python-modules/django_taggit/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "django-taggit";
+  version = "0.17.0";
+  disabled = pythonOlder "2.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1xy4mm1y6z6bpakw907859wz7fiw7jfm586dj89w0ggdqlb0767b";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "django-taggit is a reusable Django application for simple tagging";
+    homepage = https://github.com/alex/django-taggit/tree/master/;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ desiderius ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/django_treebeard/default.nix b/pkgs/development/python-modules/django_treebeard/default.nix
new file mode 100644
index 000000000000..5c45b18be640
--- /dev/null
+++ b/pkgs/development/python-modules/django_treebeard/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, django
+}:
+
+buildPythonPackage rec {
+  pname = "django-treebeard";
+  version = "4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c21db06a8d4943bf2a28d9d7a119058698fb76116df2679ecbf15a46a501de42";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ django ];
+
+  # tests fail  "AppRegistryNotReady("Apps aren't loaded yet.")"
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Efficient tree implementations for Django 1.6+";
+    homepage = https://tabo.pe/projects/django-treebeard/;
+    maintainers = with maintainers; [ desiderius ];
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/dominate/default.nix b/pkgs/development/python-modules/dominate/default.nix
index 86b3271990d5..4e918968f44a 100644
--- a/pkgs/development/python-modules/dominate/default.nix
+++ b/pkgs/development/python-modules/dominate/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "dominate";
-  version = "2.3.1";
+  version = "2.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0s9s9j9xmhkzw7apqx170fyvc0f800fd4a5jfn8xvj9k6vryd32b";
+    sha256 = "8dfcca2bde3937a2d03db6e55efcb0c0dea0d4ab0923dc983d794b19e9247328";
   };
 
   doCheck = !isPy3k;
diff --git a/pkgs/development/python-modules/dopy/default.nix b/pkgs/development/python-modules/dopy/default.nix
new file mode 100644
index 000000000000..beaca0757507
--- /dev/null
+++ b/pkgs/development/python-modules/dopy/default.nix
@@ -0,0 +1,26 @@
+{ pkgs
+, buildPythonPackage
+, requests
+, six
+}:
+
+buildPythonPackage rec {
+  version = "2016-01-04";
+  pname = "dopy";
+
+  src = pkgs.fetchFromGitHub {
+    owner = "Wiredcraft";
+    repo = "dopy";
+    rev = "cb443214166a4e91b17c925f40009ac883336dc3";
+    sha256 ="0ams289qcgna96aak96jbz6wybs6qb95h2gn8lb4lmx2p5sq4q56";
+  };
+
+  propagatedBuildInputs = [ requests six ];
+
+  meta = with pkgs.lib; {
+    description = "Digital Ocean API python wrapper";
+    homepage = "https://github.com/Wiredcraft/dopy";
+    license = licenses.mit;
+    maintainers = with maintainers; [ lihop ];
+  };
+}
diff --git a/pkgs/development/python-modules/dtopt/default.nix b/pkgs/development/python-modules/dtopt/default.nix
new file mode 100644
index 000000000000..601ebf6d9a99
--- /dev/null
+++ b/pkgs/development/python-modules/dtopt/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "dtopt";
+  version = "0.1";
+  # Test contain Python 2 print
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06ae07a12294a7ba708abaa63f838017d1a2faf6147a1e7a14ca4fa28f86da7f";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Add options to doctest examples while they are running";
+    homepage = https://pypi.python.org/pypi/dtopt;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/dynd/default.nix b/pkgs/development/python-modules/dynd/default.nix
new file mode 100644
index 000000000000..8d8fbf7a7cef
--- /dev/null
+++ b/pkgs/development/python-modules/dynd/default.nix
@@ -0,0 +1,43 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPyPy
+, isPy3k
+, cython
+, numpy
+, pkgs
+}:
+
+buildPythonPackage rec {
+  version = "0.7.2";
+  pname = "dynd";
+  disabled = isPyPy || !isPy3k; # tests fail on python2, 2018-04-11
+
+  src = pkgs.fetchFromGitHub {
+    owner = "libdynd";
+    repo = "dynd-python";
+    rev = "v${version}";
+    sha256 = "19igd6ibf9araqhq9bxmzbzdz05vp089zxvddkiik3b5gb7l17nh";
+  };
+
+  # setup.py invokes git on build but we're fetching a tarball, so
+  # can't retrieve git version. We hardcode:
+  preConfigure = ''
+    substituteInPlace setup.py --replace "ver = check_output(['git', 'describe', '--dirty'," "ver = '${version}'"
+    substituteInPlace setup.py --replace "'--always', '--match', 'v*']).decode('ascii').strip('\n')" ""
+  '';
+
+  # Python 3 works but has a broken import test that I couldn't
+  # figure out.
+  doCheck = !isPy3k;
+  buildInputs = [ pkgs.cmake pkgs.libdynd.dev cython ];
+  propagatedBuildInputs = [ numpy pkgs.libdynd ];
+
+  meta = with stdenv.lib; {
+    homepage = http://libdynd.org;
+    license = licenses.bsd2;
+    description = "Python exposure of dynd";
+    maintainers = with maintainers; [ teh ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ecdsa/default.nix b/pkgs/development/python-modules/ecdsa/default.nix
new file mode 100644
index 000000000000..e9fdc71cd64a
--- /dev/null
+++ b/pkgs/development/python-modules/ecdsa/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "ecdsa";
+  version = "0.13";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4";
+  };
+
+  # Only needed for tests
+  buildInputs = [ pkgs.openssl ];
+
+  meta = with stdenv.lib; {
+    description = "ECDSA cryptographic signature library";
+    homepage = "https://github.com/warner/python-ecdsa";
+    license = licenses.mit;
+    maintainers = with maintainers; [ aszlig ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/editorconfig/default.nix b/pkgs/development/python-modules/editorconfig/default.nix
new file mode 100644
index 000000000000..97e486a0532b
--- /dev/null
+++ b/pkgs/development/python-modules/editorconfig/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, cmake
+}:
+
+buildPythonPackage rec {
+  pname = "EditorConfig";
+  version = "0.12.1";
+
+  # fetchgit used to ensure test submodule is available
+  src = fetchgit {
+    url = "https://github.com/editorconfig/editorconfig-core-py";
+    rev = "refs/tags/v${version}";
+    sha256 = "0svk7id7ncygj2rnxhm7602xizljyidk4xgrl6i0xgq3829cz4bl";
+  };
+
+  buildInputs = [ cmake ];
+  checkPhase = ''
+    cmake .
+    # utf_8_char fails with python3
+    ctest -E "utf_8_char" .
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://editorconfig.org;
+    description = "EditorConfig File Locator and Interpreter for Python";
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/elpy/default.nix b/pkgs/development/python-modules/elpy/default.nix
new file mode 100644
index 000000000000..79ec94a2c828
--- /dev/null
+++ b/pkgs/development/python-modules/elpy/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, rope
+, flake8
+, autopep8
+, jedi
+, importmagic
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "elpy";
+  version = "1.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "419f7b05b19182bc1aedde1ae80812c1534e59a0493476aa01ea819e76ba26f0";
+  };
+
+  propagatedBuildInputs = [ flake8 autopep8 jedi importmagic ]
+    ++ stdenv.lib.optionals isPy27 [ rope ];
+
+  doCheck = false; # there are no tests
+
+  meta = with stdenv.lib; {
+    description = "Backend for the elpy Emacs mode";
+    homepage = "https://github.com/jorgenschaefer/elpy";
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/emoji/default.nix b/pkgs/development/python-modules/emoji/default.nix
index 2c3b7cc05523..082958fcce19 100644
--- a/pkgs/development/python-modules/emoji/default.nix
+++ b/pkgs/development/python-modules/emoji/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "emoji";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "001b92b9c8a157e1ca49187745fa450513bc8b31c87328dfd83d674b9d7dfa63";
+    sha256 = "a9e9c08be9907c0042212c86dfbea0f61f78e9897d4df41a1d6307017763ad3e";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/enum/default.nix b/pkgs/development/python-modules/enum/default.nix
new file mode 100644
index 000000000000..70462e5f4033
--- /dev/null
+++ b/pkgs/development/python-modules/enum/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "enum";
+  version = "0.4.4";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9bdfacf543baf2350df7613eb37f598a802f346985ca0dc1548be6494140fdff";
+  };
+
+  doCheck = !isPyPy;
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/enum/;
+    description = "Robust enumerated type support in Python";
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/enum34/default.nix b/pkgs/development/python-modules/enum34/default.nix
new file mode 100644
index 000000000000..a5175eba49d8
--- /dev/null
+++ b/pkgs/development/python-modules/enum34/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonAtLeast
+, python
+}:
+
+if pythonAtLeast "3.4" then null else buildPythonPackage rec {
+  pname = "enum34";
+  version = "1.1.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/enum34;
+    description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/epc/default.nix b/pkgs/development/python-modules/epc/default.nix
new file mode 100644
index 000000000000..621f450f2eb0
--- /dev/null
+++ b/pkgs/development/python-modules/epc/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, sexpdata
+}:
+
+buildPythonPackage rec {
+  pname = "epc";
+  version = "0.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "30b594bd4a4acbd5bda0d3fa3d25b4e8117f2ff8f24d2d1e3e36c90374f3c55e";
+  };
+
+  propagatedBuildInputs = [ sexpdata ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "EPC (RPC stack for Emacs Lisp) implementation in Python";
+    homepage = "https://github.com/tkf/python-epc";
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/et_xmlfile/default.nix b/pkgs/development/python-modules/et_xmlfile/default.nix
new file mode 100644
index 000000000000..619b0e0c77c8
--- /dev/null
+++ b/pkgs/development/python-modules/et_xmlfile/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, lxml
+, pytest
+}:
+
+buildPythonPackage rec {
+  version = "1.0.1";
+  pname = "et_xmlfile";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256="0nrkhcb6jdrlb6pwkvd4rycw34y3s931hjf409ij9xkjsli9fkb1";
+  };
+
+  buildInputs = [ lxml pytest ];
+  checkPhase = ''
+    py.test $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An implementation of lxml.xmlfile for the standard library";
+    longDescription = ''
+      et_xmlfile is a low memory library for creating large XML files.
+
+      It is based upon the xmlfile module from lxml with the aim of
+      allowing code to be developed that will work with both
+      libraries. It was developed initially for the openpyxl project
+      but is now a standalone module.
+
+      The code was written by Elias Rabel as part of the Python
+      Düsseldorf openpyxl sprint in September 2014.
+    '';
+    homepage = "https://pypi.python.org/pypi/et_xmlfile";
+    license = licenses.mit;
+    maintainers = with maintainers; [ sjourdois ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/etcd/default.nix b/pkgs/development/python-modules/etcd/default.nix
new file mode 100644
index 000000000000..1e6e1e70944d
--- /dev/null
+++ b/pkgs/development/python-modules/etcd/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, simplejson
+, pytz
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "etcd";
+  version = "2.0.8";
+
+  # PyPI package is incomplete
+  src = fetchurl {
+    url = "https://github.com/dsoprea/PythonEtcdClient/archive/${version}.tar.gz";
+    sha256 = "0fi6rxa1yxvz7nwrc7dw6fax3041d6bj3iyhywjgbkg7nadi9i8v";
+  };
+
+  patchPhase = ''
+    sed -i -e '13,14d;37d' setup.py
+  '';
+
+  propagatedBuildInputs = [ simplejson pytz requests ];
+
+  # No proper tests are available
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python etcd client that just works";
+    homepage = https://github.com/dsoprea/PythonEtcdClient;
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/eve/default.nix b/pkgs/development/python-modules/eve/default.nix
index b145f1b2e2b8..4d85add4e3e5 100644
--- a/pkgs/development/python-modules/eve/default.nix
+++ b/pkgs/development/python-modules/eve/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "Eve";
-  version = "0.8";
+  version = "0.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9f926c715f88c7a92dc2b950ccc09cccd91f72fe0e93cde806b85d25b947df2f";
+    sha256 = "88105080e8a2567a1a8d50a5cded0d7d95e95f704b310c8107ef2ff7696f5316";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/eventlet/default.nix b/pkgs/development/python-modules/eventlet/default.nix
new file mode 100644
index 000000000000..afc880b2ba28
--- /dev/null
+++ b/pkgs/development/python-modules/eventlet/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, httplib2
+, pyopenssl
+, greenlet
+, enum-compat
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "eventlet";
+  version = "0.20.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15bq5ybbigxnp5xwkps53zyhlg15lmcnq3ny2dppj0r0bylcs5rf";
+  };
+
+  buildInputs = [ nose httplib2 pyopenssl ];
+
+  doCheck = false;  # too much transient errors to bother
+
+  propagatedBuildInputs = [ enum-compat ]
+    ++ stdenv.lib.optionals (!isPyPy) [ greenlet ];
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/eventlet/;
+    description = "A concurrent networking library for Python";
+  };
+
+}
diff --git a/pkgs/development/python-modules/eventlib/default.nix b/pkgs/development/python-modules/eventlib/default.nix
new file mode 100644
index 000000000000..147e18d45f42
--- /dev/null
+++ b/pkgs/development/python-modules/eventlib/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, fetchdarcs
+, greenlet
+}:
+
+buildPythonPackage rec {
+  pname = "python-eventlib";
+  version = "0.2.2";
+  # Judging from SyntaxError
+  disabled = isPy3k;
+
+  src = fetchdarcs {
+    url = "http://devel.ag-projects.com/repositories/${pname}";
+    rev = "release-${version}";
+    sha256 = "1zxhpq8i4jwsk7wmfncqfm211hqikj3hp38cfv509924bi76wak8";
+  };
+
+  propagatedBuildInputs = [ greenlet ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Eventlib bindings for python";
+    homepage    = "http://ag-projects.com/";
+    license     = licenses.lgpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/execnet/default.nix b/pkgs/development/python-modules/execnet/default.nix
new file mode 100644
index 000000000000..8c2ff6d82f41
--- /dev/null
+++ b/pkgs/development/python-modules/execnet/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, setuptools_scm
+, apipkg
+}:
+
+buildPythonPackage rec {
+  pname = "execnet";
+  version = "1.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn";
+  };
+
+  buildInputs = [ pytest setuptools_scm ];
+  propagatedBuildInputs = [ apipkg ];
+
+  # remove vbox tests
+  postPatch = ''
+    rm -v testing/test_termination.py
+    rm -v testing/test_channel.py
+    rm -v testing/test_xspec.py
+    rm -v testing/test_gateway.py
+  '';
+
+  checkPhase = ''
+    py.test testing
+  '';
+
+  __darwinAllowLocalNetworking = true;
+
+  meta = with stdenv.lib; {
+    description = "Rapid multi-Python deployment";
+    license = licenses.gpl2;
+    homepage = "http://codespeak.net/execnet";
+    maintainers = with maintainers; [ nand0p ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/exifread/default.nix b/pkgs/development/python-modules/exifread/default.nix
new file mode 100644
index 000000000000..61593b625f72
--- /dev/null
+++ b/pkgs/development/python-modules/exifread/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ExifRead";
+  version = "2.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b90jf6m9vxh9nanhpyvqdq7hmfx5iggw1l8kq10jrs6xgr49qkr";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Easy to use Python module to extract Exif metadata from tiff and jpeg files";
+    homepage    = "https://github.com/ianare/exif-py";
+    license     = licenses.bsd0;
+    maintainers = with maintainers; [ vozz ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/eyed3/default.nix b/pkgs/development/python-modules/eyed3/default.nix
new file mode 100644
index 000000000000..e42d7956dd56
--- /dev/null
+++ b/pkgs/development/python-modules/eyed3/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, paver
+, python
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  version = "0.7.8";
+  pname    = "eyeD3";
+  disabled = isPyPy;
+
+  src = fetchurl {
+    url = "http://eyed3.nicfit.net/releases/${pname}-${version}.tar.gz";
+    sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86";
+  };
+
+  buildInputs = [ paver ];
+
+  postInstall = ''
+    for prog in "$out/bin/"*; do
+      wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \
+                          --prefix PATH : ${python}/bin
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python module and command line program for processing ID3 tags";
+    homepage    = http://eyed3.nicfit.net/;
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+    longDescription = ''
+      eyeD3 is a Python module and command line program for processing ID3
+      tags. Information about mp3 files (i.e bit rate, sample frequency, play
+      time, etc.) is also provided. The formats supported are ID3 v1.0/v1.1
+      and v2.3/v2.4.
+    '';
+  };
+
+}
diff --git a/pkgs/development/python-modules/factory_boy/default.nix b/pkgs/development/python-modules/factory_boy/default.nix
new file mode 100644
index 000000000000..1e5da699894e
--- /dev/null
+++ b/pkgs/development/python-modules/factory_boy/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, fake_factory
+}:
+
+buildPythonPackage rec {
+  pname = "factory_boy";
+  version = "2.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0a21f8kq917fj8xgmyp6gy8vcrlzzgwn80qas0d76h3vjbdy0bdq";
+  };
+
+  propagatedBuildInputs = [ fake_factory ];
+
+  meta = with stdenv.lib; {
+    description = "A Python package to create factories for complex objects";
+    homepage    = https://github.com/rbarrois/factory_boy;
+    license     = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/fake_factory/default.nix b/pkgs/development/python-modules/fake_factory/default.nix
new file mode 100644
index 000000000000..26dd14b73adf
--- /dev/null
+++ b/pkgs/development/python-modules/fake_factory/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+, six
+, dateutil
+, ipaddress
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "fake-factory";
+  version = "0.6.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09sgk0kylsshs64a1xsz3qr187sbnqrbf4z8k3dgsy32lsgyffv2";
+  };
+
+  propagatedBuildInputs = [ six dateutil ipaddress mock ];
+  checkPhase = ''
+    ${python.interpreter} -m unittest faker.tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python package that generates fake data for you";
+    homepage    = https://pypi.python.org/pypi/fake-factory;
+    license     = licenses.mit;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/falcon/default.nix b/pkgs/development/python-modules/falcon/default.nix
new file mode 100644
index 000000000000..1bca7eddde04
--- /dev/null
+++ b/pkgs/development/python-modules/falcon/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, coverage
+, ddt
+, nose
+, pyyaml
+, requests
+, testtools
+, six
+, python_mimeparse
+}:
+
+buildPythonPackage rec {
+  pname = "falcon";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ddce23a2dd0abba6d19775e9bf7ba64e184b15a0e7163e65f62af63354193f63";
+  };
+
+  checkInputs = [coverage ddt nose pyyaml requests testtools];
+  propagatedBuildInputs = [ six python_mimeparse ];
+
+  # The travis build fails since the migration from multiprocessing to threading for hosting the API under test.
+  # OSError: [Errno 98] Address already in use
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An unladen web framework for building APIs and app backends";
+    homepage = http://falconframework.org;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ desiderius ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/fdroidserver/default.nix b/pkgs/development/python-modules/fdroidserver/default.nix
new file mode 100644
index 000000000000..b9b936ae83e8
--- /dev/null
+++ b/pkgs/development/python-modules/fdroidserver/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitLab
+, libcloud
+, pyyaml
+, paramiko
+, pyasn1
+, pyasn1-modules
+, pillow
+, mwclient
+, GitPython
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  version = "2016-05-31";
+  pname = "fdroidserver-git";
+  disabled = ! isPy3k;
+
+  src = fetchFromGitLab {
+    owner = "fdroid";
+    repo = "fdroidserver";
+    rev = "401649e0365e6e365fc48ae8a3af94768af865f3";
+    sha256 = "1mmi2ffpym1qw694yj938kc7b4xhq0blri7wkjaqddcyykjyr94d";
+  };
+
+  propagatedBuildInputs = [ libcloud pyyaml paramiko pyasn1 pyasn1-modules pillow mwclient GitPython ];
+
+  meta = with stdenv.lib; {
+    homepage = https://f-droid.org;
+    description = "Server and tools for F-Droid, the Free Software repository system for Android";
+    license = licenses.agpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/feedparser/default.nix b/pkgs/development/python-modules/feedparser/default.nix
new file mode 100644
index 000000000000..ac91fe51d899
--- /dev/null
+++ b/pkgs/development/python-modules/feedparser/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "feedparser";
+  version = "5.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ycva69bqssalhqg45rbrfipz3l6hmycszy26k0351fhq990c0xx";
+  };
+
+  # lots of networking failures
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/feedparser/;
+    description = "Universal feed parser";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/filebrowser_safe/default.nix b/pkgs/development/python-modules/filebrowser_safe/default.nix
new file mode 100644
index 000000000000..8e95d1e413e4
--- /dev/null
+++ b/pkgs/development/python-modules/filebrowser_safe/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+}:
+
+buildPythonPackage rec {
+  version = "0.5.0";
+  pname = "filebrowser_safe";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5dcd31dd79684025139b43841f6515af1da5a4bb0de15bc4d88003db1970648e";
+  };
+
+  buildInputs = [ django ];
+
+  # There is no test embedded
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A snapshot of django-filebrowser for the Mezzanine CMS";
+    longDescription = ''
+      filebrowser_safe was created to provide a snapshot of the
+      FileBrowser asset manager for Django, to be referenced as a
+      dependency for the Mezzanine CMS for Django.
+
+      At the time of filebrowser_safe's creation, FileBrowser was
+      incorrectly packaged on PyPI, and had also dropped compatibility
+      with Django 1.1 - filebrowser_safe was therefore created to
+      address these specific issues.
+    '';
+    homepage = https://github.com/stephenmcd/filebrowser-safe;
+    downloadPage = https://pypi.python.org/pypi/filebrowser_safe/;
+    license = licenses.free;
+    maintainers = with maintainers; [ prikhi ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/filebytes/default.nix b/pkgs/development/python-modules/filebytes/default.nix
new file mode 100644
index 000000000000..3dbcbe594425
--- /dev/null
+++ b/pkgs/development/python-modules/filebytes/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "filebytes";
+  version = "0.9.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6cd1c4ca823f6541c963a317e55382609789802dedad08209f4d038369e3f0ac";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://scoding.de/filebytes-introduction";
+    license = licenses.gpl2;
+    description = "Scripts to parse ELF, PE, Mach-O and OAT (Android Runtime)";
+    maintainers = with maintainers; [ bennofs ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix
index cfa0e1be74f5..80e3429b644a 100644
--- a/pkgs/development/python-modules/filelock/default.nix
+++ b/pkgs/development/python-modules/filelock/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "3.0.6";
+  version = "3.0.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "59ccab92fe118da7e5ce5a9fcd95506ade58d9d5f606db4922192524edfac820";
+    sha256 = "97694f181bdf58f213cca0a7cb556dc7bf90e2f8eb9aa3151260adac56701afb";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/flaky/default.nix b/pkgs/development/python-modules/flaky/default.nix
new file mode 100644
index 000000000000..192b4829a41d
--- /dev/null
+++ b/pkgs/development/python-modules/flaky/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "flaky";
+  version = "3.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1x9ixika7wqjj52x8wnsh1vk7jadkdqpx01plj7mlh8slwyq4s41";
+  };
+
+  buildInputs = [ mock pytest ];
+
+  # waiting for feedback https://github.com/box/flaky/issues/97
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/box/flaky;
+    description = "Plugin for nose or py.test that automatically reruns flaky tests";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/flask-autoindex/default.nix b/pkgs/development/python-modules/flask-autoindex/default.nix
index 0c353a34c385..afd3db60ffcf 100644
--- a/pkgs/development/python-modules/flask-autoindex/default.nix
+++ b/pkgs/development/python-modules/flask-autoindex/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "Flask-AutoIndex";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0v87sa073hmj64f47sazbiw08kyxsxay100bd5084jwq7c1y92d7";
+    sha256 = "af2cdb34eefe6edbf43ce19200880829e8c2df3598000e75dc63c9b7e3478706";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/flowlogs_reader/default.nix b/pkgs/development/python-modules/flowlogs_reader/default.nix
new file mode 100644
index 000000000000..1f2984990bb9
--- /dev/null
+++ b/pkgs/development/python-modules/flowlogs_reader/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, botocore
+, boto3
+, docutils
+, unittest2
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "flowlogs_reader";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0158aki6m3pkf98hpd60088qyhrfxkmybdf8hv3qfl8nb61vaiwf";
+  };
+
+  propagatedBuildInputs = [ botocore boto3 docutils ];
+  buildInputs = [ unittest2 mock ];
+
+  meta = with stdenv.lib; {
+    description = "Python library to make retrieving Amazon VPC Flow Logs from CloudWatch Logs a bit easier";
+    homepage = "https://github.com/obsrvbl/flowlogs-reader";
+    maintainers = with maintainers; [ cransom ];
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/flup/default.nix b/pkgs/development/python-modules/flup/default.nix
new file mode 100644
index 000000000000..8256f5a1063d
--- /dev/null
+++ b/pkgs/development/python-modules/flup/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "flup";
+  version = "1.0.3";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5eb09f26eb0751f8380d8ac43d1dfb20e1d42eca0fa45ea9289fa532a79cd159";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "http://trac.saddi.com/flup";
+    description = "FastCGI Python module set";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/fonttools/default.nix b/pkgs/development/python-modules/fonttools/default.nix
index 4759e9d3c837..ed0b508a8acf 100644
--- a/pkgs/development/python-modules/fonttools/default.nix
+++ b/pkgs/development/python-modules/fonttools/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "fonttools";
-  version = "3.29.0";
+  version = "3.29.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "aab38c8c131670684321437d4857dcb4de1c775efd152a9ca9c4d81f1cb97fe7";
+    sha256 = "a687ca070daddb7ee25e3472b631acd0e53dbf11ecdf8e76248ee556472ede9d";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/foolscap/default.nix b/pkgs/development/python-modules/foolscap/default.nix
new file mode 100644
index 000000000000..94b90a25d137
--- /dev/null
+++ b/pkgs/development/python-modules/foolscap/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+, twisted
+, pyopenssl
+, service-identity
+}:
+
+buildPythonPackage rec {
+  pname = "foolscap";
+  version = "0.12.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1bpmqq6485mmr5jza9q2c55l9m1bfsvsbd9drsip7p5qcsi22jrz";
+  };
+
+  propagatedBuildInputs = [ mock twisted pyopenssl service-identity ];
+
+  checkPhase = ''
+    # Either uncomment this, or remove this custom check phase entirely, if
+    # you wish to do battle with the foolscap tests. ~ C.
+    # trial foolscap
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://foolscap.lothar.com/;
+    description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model";
+    longDescription = ''
+      "Foolscap" is the name for the next-generation RPC protocol,
+      intended to replace Perspective Broker (part of Twisted).
+      Foolscap is a protocol to implement a distributed
+      object-capabilities model in Python.
+    '';
+    # See http://foolscap.lothar.com/trac/browser/LICENSE.
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/forbiddenfruit/default.nix b/pkgs/development/python-modules/forbiddenfruit/default.nix
new file mode 100644
index 000000000000..4d2f656b36a3
--- /dev/null
+++ b/pkgs/development/python-modules/forbiddenfruit/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "forbiddenfruit";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0xra2kw6m8ag29ifwmhi5zqksh4cr0yy1waqd488rm59kcr3zl79";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Patch python built-in objects";
+    homepage = https://pypi.python.org/pypi/forbiddenfruit;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/fs/default.nix b/pkgs/development/python-modules/fs/default.nix
new file mode 100644
index 000000000000..9d5de0c73ea2
--- /dev/null
+++ b/pkgs/development/python-modules/fs/default.nix
@@ -0,0 +1,53 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, six
+, nose
+, appdirs
+, scandir
+, backports_os
+, typing
+, pytz
+, enum34
+, pyftpdlib
+, psutil
+, mock
+, pythonAtLeast
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "fs";
+  version = "2.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b20a4aeac9079b194f0160957d4265bb6c99ce68f1b12e980b0fb96f74aafb70";
+  };
+
+  buildInputs = [ pkgs.glibcLocales ];
+  checkInputs = [ nose pyftpdlib mock psutil ];
+  propagatedBuildInputs = [ six appdirs pytz ]
+    ++ pkgs.lib.optionals (!isPy3k) [ backports_os ]
+    ++ pkgs.lib.optionals (!pythonAtLeast "3.6") [ typing ]
+    ++ pkgs.lib.optionals (!pythonAtLeast "3.5") [ scandir ]
+    ++ pkgs.lib.optionals (!pythonAtLeast "3.5") [ enum34 ];
+
+  postPatch = ''
+    # required for installation
+    touch LICENSE
+    # tests modify home directory results in (4 tests failing) / 1600
+    rm tests/test_appfs.py tests/test_opener.py
+  '';
+
+  LC_ALL="en_US.utf-8";
+
+  meta = with pkgs.lib; {
+    description = "Filesystem abstraction";
+    homepage    = https://github.com/PyFilesystem/pyfilesystem2;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/fudge/default.nix b/pkgs/development/python-modules/fudge/default.nix
new file mode 100644
index 000000000000..0f6d10c3c523
--- /dev/null
+++ b/pkgs/development/python-modules/fudge/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, nosejs
+, sphinx
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "fudge";
+  version = "1.1.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "eba59a926fa1df1ab6dddd69a7a8af21865b16cad800cb4d1af75070b0f52afb";
+  };
+
+  buildInputs = [ nose nosejs ];
+  propagatedBuildInputs = [ sphinx ];
+
+  checkPhase = ''
+    nosetests -v
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/fudge-py/fudge;
+    description = "Replace real objects with fakes (mocks, stubs, etc) while testing";
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/funcparserlib/default.nix b/pkgs/development/python-modules/funcparserlib/default.nix
new file mode 100644
index 000000000000..6c3f5f6d0186
--- /dev/null
+++ b/pkgs/development/python-modules/funcparserlib/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "funcparserlib";
+  version = "0.3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  # Tests are Python 2.x only judging from SyntaxError
+  doCheck = !(isPy3k);
+
+  meta = with stdenv.lib; {
+    description = "Recursive descent parsing library based on functional combinators";
+    homepage = https://code.google.com/p/funcparserlib/;
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/functools32/default.nix b/pkgs/development/python-modules/functools32/default.nix
new file mode 100644
index 000000000000..fea79db3d05b
--- /dev/null
+++ b/pkgs/development/python-modules/functools32/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+if isPy3k then null else buildPythonPackage rec {
+  pname = "functools32";
+  version = "3.2.3-2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
+  };
+
+  meta = with stdenv.lib; {
+    description = "This is a backport of the functools standard library module from";
+    homepage = "https://github.com/MiCHiLU/python-functools32";
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/fusepy/default.nix b/pkgs/development/python-modules/fusepy/default.nix
new file mode 100644
index 000000000000..74ab0fc01a69
--- /dev/null
+++ b/pkgs/development/python-modules/fusepy/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "fusepy";
+  version = "2.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0v5grm4zyf58hsplwsxfbihddw95lz9w8cy3rpzbyha287swgx8h";
+  };
+
+  propagatedBuildInputs = [ pkgs.fuse ];
+
+  # No tests included
+  doCheck = false;
+
+  patchPhase = ''
+    substituteInPlace fuse.py --replace \
+      "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple ctypes bindings for FUSE";
+    longDescription = ''
+      Python module that provides a simple interface to FUSE and MacFUSE.
+      It's just one file and is implemented using ctypes.
+    '';
+    homepage = https://github.com/terencehonles/fusepy;
+    license = licenses.isc;
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gateone/default.nix b/pkgs/development/python-modules/gateone/default.nix
new file mode 100644
index 000000000000..136c089ee4b6
--- /dev/null
+++ b/pkgs/development/python-modules/gateone/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, tornado
+, futures
+, html5lib
+, pkgs
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  name = "gateone-1.2-0d57c3";
+  disabled = isPy3k;
+
+  src = pkgs.fetchFromGitHub {
+    rev = "1d0e8037fbfb7c270f3710ce24154e24b7031bea";
+    owner= "liftoff";
+    repo = "GateOne";
+    sha256 = "1ghrawlqwv7wnck6alqpbwy9mpv0y21cw2jirrvsxaracmvgk6vv";
+  };
+
+  propagatedBuildInputs = [tornado futures html5lib pkgs.openssl pkgs.cacert pkgs.openssh];
+
+  postInstall=''
+    cp -R "$out/gateone/"* $out/lib/python2.7/site-packages/gateone
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://liftoffsoftware.com/;
+    description = "GateOne is a web-based terminal emulator and SSH client";
+    maintainers = with maintainers; [ tomberek ];
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gcovr/default.nix b/pkgs/development/python-modules/gcovr/default.nix
new file mode 100644
index 000000000000..4812744bfa85
--- /dev/null
+++ b/pkgs/development/python-modules/gcovr/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "gcovr";
+  version = "2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2c878e03c2eff2282e64035bec0a30532b2b1173aadf08486401883b79e4dab1";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A Python script for summarizing gcov data";
+    license = licenses.bsd0;
+    homepage = http://gcovr.com/;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gcutil/default.nix b/pkgs/development/python-modules/gcutil/default.nix
new file mode 100644
index 000000000000..85c0fbb4d609
--- /dev/null
+++ b/pkgs/development/python-modules/gcutil/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, gflags
+, iso8601
+, ipaddr
+, httplib2
+, google_apputils
+, google_api_python_client
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  name = "gcutil-1.16.1";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.16.1.tar.gz;
+    sha256 = "00jaf7x1ji9y46fbkww2sg6r6almrqfsprydz3q2swr4jrnrsx9x";
+  };
+
+  propagatedBuildInputs = [ gflags iso8601 ipaddr httplib2 google_apputils google_api_python_client ];
+
+  prePatch = ''
+    sed -i -e "s|google-apputils==0.4.0|google-apputils==0.4.1|g" setup.py
+    substituteInPlace setup.py \
+      --replace "httplib2==0.8" "httplib2" \
+      --replace "iso8601==0.1.4" "iso8601" \
+      --replace "ipaddr==2.1.10" "ipaddr" \
+      --replace "google-api-python-client==1.2" "google-api-python-client" \
+      --replace "python-gflags==2.0" "python-gflags"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Command-line tool for interacting with Google Compute Engine";
+    homepage = "https://cloud.google.com/compute/docs/gcutil/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ phreedom ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/gdrivefs/default.nix b/pkgs/development/python-modules/gdrivefs/default.nix
new file mode 100644
index 000000000000..7cbf09fa49fa
--- /dev/null
+++ b/pkgs/development/python-modules/gdrivefs/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, isPy3k
+, gipc
+, greenlet
+, httplib2
+, six
+, dateutil
+, fusepy
+, google_api_python_client
+}:
+
+buildPythonPackage rec {
+  version = "0.14.9";
+  pname = "gdrivefs";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://github.com/dsoprea/GDriveFS/archive/${version}.tar.gz";
+    sha256 = "1mc2r35nf5k8vzwdcdhi0l9rb97amqd5xb53lhydj8v8f4rndk7a";
+  };
+
+  buildInputs = [ gipc greenlet httplib2 six ];
+  propagatedBuildInputs = [ dateutil fusepy google_api_python_client ];
+
+  patchPhase = ''
+    substituteInPlace gdrivefs/resources/requirements.txt \
+      --replace "==" ">="
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mount Google Drive as a local file system";
+    longDescription = ''
+      GDriveFS is a FUSE wrapper for Google Drive developed. Design goals:
+      - Thread for monitoring changes via "changes" functionality of API.
+      - Complete stat() implementation.
+      - Seamlessly work around duplicate-file allowances in Google Drive.
+      - Seamlessly manage file-type versatility in Google Drive
+        (Google Doc files do not have a particular format).
+      - Allow for the same file at multiple paths.
+    '';
+    homepage = https://github.com/dsoprea/GDriveFS;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/genanki/default.nix b/pkgs/development/python-modules/genanki/default.nix
index bcc462e7237d..45906c3c434d 100644
--- a/pkgs/development/python-modules/genanki/default.nix
+++ b/pkgs/development/python-modules/genanki/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "genanki";
-  version = "0.6.0";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xj8yd3acl8h457sh42balvcd0z4mg5idd4q63f7qlfzc5wgbb74";
+    sha256 = "2408f7d9955c8963fd9b1ecbb873f5d18dee786e060dcb083aef5dd86c736773";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/genshi/default.nix b/pkgs/development/python-modules/genshi/default.nix
new file mode 100644
index 000000000000..ad6f4ee1b21e
--- /dev/null
+++ b/pkgs/development/python-modules/genshi/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "Genshi";
+  version = "0.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0d87ae62cf2ed92133f35725da51e02d09f79bb4cb986f0d948408a0279dd3f8";
+  };
+
+  # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase)
+  # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase)
+  doCheck = false;
+
+  buildInputs = [ setuptools ];
+
+  meta = with stdenv.lib; {
+    description = "Python components for parsing HTML, XML and other textual content";
+    longDescription = ''
+      Python library that provides an integrated set of components for
+      parsing, generating, and processing HTML, XML or other textual
+      content for output generation on the web.
+    '';
+    homepage = https://genshi.edgewall.org/;
+    license = licenses.bsd0;
+  };
+}
diff --git a/pkgs/development/python-modules/genzshcomp/default.nix b/pkgs/development/python-modules/genzshcomp/default.nix
new file mode 100644
index 000000000000..87ca3aaeff44
--- /dev/null
+++ b/pkgs/development/python-modules/genzshcomp/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "genzshcomp";
+  version = "0.5.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c77d007cc32cdff836ecf8df6192371767976c108a75b055e057bb6f4a09cd42";
+  };
+
+  buildInputs = [ setuptools ];
+
+  meta = with stdenv.lib; {
+    description = "Automatically generated zsh completion function for Python's option parser modules";
+    homepage = http://bitbucket.org/hhatto/genzshcomp/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gevent-socketio/default.nix b/pkgs/development/python-modules/gevent-socketio/default.nix
new file mode 100644
index 000000000000..e95519a346c5
--- /dev/null
+++ b/pkgs/development/python-modules/gevent-socketio/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, versiontools
+, gevent-websocket
+, mock
+, pytest
+, gevent
+}:
+
+buildPythonPackage rec {
+  pname = "gevent-socketio";
+  version = "0.3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak";
+  };
+
+  buildInputs = [ versiontools gevent-websocket mock pytest ];
+  propagatedBuildInputs = [ gevent ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/abourget/gevent-socketio;
+    description = "SocketIO server based on the Gevent pywsgi server, a Python network library";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gevent-websocket/default.nix b/pkgs/development/python-modules/gevent-websocket/default.nix
new file mode 100644
index 000000000000..28dab3a257f0
--- /dev/null
+++ b/pkgs/development/python-modules/gevent-websocket/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, gevent
+}:
+
+buildPythonPackage rec {
+  pname = "gevent-websocket";
+  version = "0.9.3";
+  # SyntaxError in tests.
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4";
+  };
+
+  propagatedBuildInputs = [ gevent ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.gitlab.com/noppo/gevent-websocket;
+    description = "Websocket handler for the gevent pywsgi server, a Python network library";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
new file mode 100644
index 000000000000..6a78d60544db
--- /dev/null
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, gevent
+, certifi
+, six
+, backports_ssl_match_hostname
+}:
+
+buildPythonPackage rec {
+  pname = "geventhttpclient";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bd87af8854f5fb05738916c8973671f7035568aec69b7c842887d6faf9c0a01d";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ gevent certifi six backports_ssl_match_hostname ];
+
+  # Several tests fail that require network
+  doCheck = false;
+  checkPhase = ''
+    py.test $out
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/gwik/geventhttpclient;
+    description = "HTTP client library for gevent";
+    license = licenses.mit;
+    maintainers = with maintainers; [ koral ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/gidgethub/default.nix b/pkgs/development/python-modules/gidgethub/default.nix
new file mode 100644
index 000000000000..2a06ae1cb6df
--- /dev/null
+++ b/pkgs/development/python-modules/gidgethub/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, setuptools
+, pytestrunner
+, pytest
+, pytest-asyncio
+, twisted
+, treq
+, tornado
+, aiohttp
+, uritemplate
+}:
+
+buildPythonPackage rec {
+  pname = "gidgethub";
+  version = "2.5.0";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d37fdfd149bc0efa21d3899c737d9b5c7ff6348a9b3f03bf3aa0e9f8ca345483";
+  };
+
+  buildInputs = [ setuptools pytestrunner ];
+  checkInputs = [ pytest pytest-asyncio twisted treq tornado aiohttp ];
+  propagatedBuildInputs = [ uritemplate ];
+
+  # requires network (reqests github.com)
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An async GitHub API library";
+    homepage = https://github.com/brettcannon/gidgethub;
+    license = licenses.asl20;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/gipc/default.nix b/pkgs/development/python-modules/gipc/default.nix
new file mode 100644
index 000000000000..9780b46fa5a0
--- /dev/null
+++ b/pkgs/development/python-modules/gipc/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, gevent
+}:
+
+buildPythonPackage rec {
+  pname = "gipc";
+  version = "0.5.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc";
+  };
+
+  propagatedBuildInputs = [ gevent ];
+
+  meta = with stdenv.lib; {
+    description = "gevent-cooperative child processes and IPC";
+    longDescription = ''
+      Usage of Python's multiprocessing package in a gevent-powered
+      application may raise problems and most likely breaks the application
+      in various subtle ways. gipc (pronunciation "gipsy") is developed with
+      the motivation to solve many of these issues transparently. With gipc,
+      multiprocessing. Process-based child processes can safely be created
+      anywhere within your gevent-powered application.
+    '';
+    homepage = http://gehrcke.de/gipc;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/git-sweep/default.nix b/pkgs/development/python-modules/git-sweep/default.nix
new file mode 100644
index 000000000000..e2182892e851
--- /dev/null
+++ b/pkgs/development/python-modules/git-sweep/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, GitPython
+}:
+
+buildPythonPackage rec {
+  pname = "git-sweep";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1csp0zd049d643d409rfivbswwzrayb4i6gkypp5mc27fb1z2afd";
+  };
+
+  propagatedBuildInputs = [ GitPython ];
+
+  meta = with stdenv.lib; {
+    description = "A command-line tool that helps you clean up Git branches";
+    homepage = https://github.com/arc90/git-sweep;
+    license = licenses.mit;
+    maintainers = with maintainers; [ pSub ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/github-webhook/default.nix b/pkgs/development/python-modules/github-webhook/default.nix
new file mode 100644
index 000000000000..99af2830167f
--- /dev/null
+++ b/pkgs/development/python-modules/github-webhook/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, flask
+}:
+
+buildPythonPackage rec {
+  pname = "github-webhook";
+  version = "unstable-2016-03-11";
+
+  # There is a PyPI package but an older one.
+  src = fetchgit {
+    url = "https://github.com/bloomberg/python-github-webhook.git";
+    rev = "ca1855479ee59c4373da5425dbdce08567605d49";
+    sha256 = "0mqwig9281iyzbphp1d21a4pqdrf98vs9k8lqpqx6spzgqaczx5f";
+  };
+
+  propagatedBuildInputs = [ flask ];
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A framework for writing webhooks for GitHub";
+    license = licenses.mit;
+    homepage = https://github.com/bloomberg/python-github-webhook;
+  };
+
+}
diff --git a/pkgs/development/python-modules/github3_py/default.nix b/pkgs/development/python-modules/github3_py/default.nix
new file mode 100644
index 000000000000..8968585d9cdd
--- /dev/null
+++ b/pkgs/development/python-modules/github3_py/default.nix
@@ -0,0 +1,45 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, unittest2
+, pytest
+, mock
+, betamax
+, betamax-matchers
+, dateutil
+, requests
+, pyopenssl
+, uritemplate_py
+, ndg-httpsclient
+, requests_toolbelt
+, pyasn1
+}:
+
+buildPythonPackage rec {
+  pname = "github3.py";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cxaqdqmz9w2afc0cw2jyv783fp0grydbik0frzj79azzkhyg4gf";
+  };
+
+  buildInputs = [ unittest2 pytest mock betamax betamax-matchers dateutil ];
+  propagatedBuildInputs = [ requests pyopenssl uritemplate_py ndg-httpsclient requests_toolbelt pyasn1 ];
+
+  postPatch = ''
+    sed -i -e 's/mock ==1.0.1/mock>=1.0.1/' setup.py
+    sed -i -e 's/unittest2 ==0.5.1/unittest2>=0.5.1/' setup.py
+  '';
+
+  # TODO: only disable the tests that require network
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://github3py.readthedocs.org/en/master/;
+    description = "A wrapper for the GitHub API written in python";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ pSub ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/gmusicapi/default.nix b/pkgs/development/python-modules/gmusicapi/default.nix
new file mode 100644
index 000000000000..f96e94a34a04
--- /dev/null
+++ b/pkgs/development/python-modules/gmusicapi/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, validictory
+, decorator
+, mutagen
+, protobuf
+, setuptools
+, requests
+, dateutil
+, proboscis
+, mock
+, appdirs
+, oauth2client
+, pyopenssl
+, gpsoauth
+, MechanicalSoup
+, future
+}:
+
+buildPythonPackage rec {
+  pname = "gmusicapi";
+  version = "10.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0smlrafh1bjzrcjzl7im8pf8f04gcnx92lf3g5qr7yzgq8k20xa2";
+  };
+
+  propagatedBuildInputs = [ validictory decorator mutagen protobuf setuptools requests dateutil proboscis mock appdirs oauth2client pyopenssl gpsoauth MechanicalSoup future ];
+
+  meta = with stdenv.lib; {
+    description = "An unofficial API for Google Play Music";
+    homepage = https://pypi.python.org/pypi/gmusicapi/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python-modules/gnureadline/default.nix b/pkgs/development/python-modules/gnureadline/default.nix
new file mode 100644
index 000000000000..2feab78f6a83
--- /dev/null
+++ b/pkgs/development/python-modules/gnureadline/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, pkgs
+}:
+
+buildPythonPackage rec {
+  version = "6.3.3";
+  pname = "gnureadline";
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ghck2zz4xbqa3wz73brgjhrqj55p9hc1fq6c9zb09dnyhwb0nd2";
+  };
+
+  buildInputs = [ pkgs.ncurses ];
+  patchPhase = ''
+    substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "The standard Python readline extension statically linked against the GNU readline library";
+    homepage = http://github.com/ludwigschwardt/python-gnureadline;
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gnutls/default.nix b/pkgs/development/python-modules/gnutls/default.nix
new file mode 100644
index 000000000000..a58177e7544c
--- /dev/null
+++ b/pkgs/development/python-modules/gnutls/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "python-gnutls";
+  version = "3.0.0";
+
+  # https://github.com/AGProjects/python-gnutls/issues/2
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yrdxcj5rzvz8iglircz6icvyggz5fmdcd010n6w3j60yp4p84kc";
+  };
+
+  propagatedBuildInputs = [ pkgs.gnutls ];
+  patchPhase = ''
+    substituteInPlace gnutls/library/__init__.py --replace "/usr/local/lib" "${pkgs.gnutls.out}/lib"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Python wrapper for the GnuTLS library";
+    homepage = https://github.com/AGProjects/python-gnutls;
+    license = licenses.lgpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/goobook/default.nix b/pkgs/development/python-modules/goobook/default.nix
new file mode 100644
index 000000000000..91a99103af57
--- /dev/null
+++ b/pkgs/development/python-modules/goobook/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, oauth2client
+, gdata
+, simplejson
+, httplib2
+, keyring
+, six
+, rsa
+}:
+
+buildPythonPackage rec {
+  pname = "goobook";
+  version = "1.9";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02xmq8sjavza17av44ks510934wrshxnsm6lvhvazs45s92b671i";
+  };
+
+  propagatedBuildInputs = [ oauth2client gdata simplejson httplib2 keyring six rsa ];
+
+  preConfigure = ''
+    sed -i '/distribute/d' setup.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Search your google contacts from the command-line or mutt";
+    homepage    = https://pypi.python.org/pypi/goobook;
+    license     = licenses.gpl3;
+    maintainers = with maintainers; [ lovek323 hbunke ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/google_apputils/default.nix b/pkgs/development/python-modules/google_apputils/default.nix
new file mode 100644
index 000000000000..66bad999dfb0
--- /dev/null
+++ b/pkgs/development/python-modules/google_apputils/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytz
+, gflags
+, dateutil
+, mox
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "google-apputils";
+  version = "0.4.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sxsm5q9vr44qzynj8l7p3l7ffb0zl1jdqhmmzmalkx941nbnj1b";
+  };
+
+  preConfigure = ''
+    sed -i '/ez_setup/d' setup.py
+  '';
+
+  propagatedBuildInputs = [ pytz gflags dateutil mox ];
+
+  checkPhase = ''
+    ${python.executable} setup.py google_test
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Google Application Utilities for Python";
+    homepage = http://code.google.com/p/google-apputils-python;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gpapi/default.nix b/pkgs/development/python-modules/gpapi/default.nix
index da3bbcf28db3..13ba4f934e89 100644
--- a/pkgs/development/python-modules/gpapi/default.nix
+++ b/pkgs/development/python-modules/gpapi/default.nix
@@ -1,12 +1,12 @@
 { stdenv, buildPythonPackage, fetchPypi, requests, protobuf, pycryptodome }:
 
 buildPythonPackage rec {
-  version = "0.4.2";
+  version = "0.4.3";
   pname = "gpapi";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "1fv2y3xbwn512fjxrdwgq6cz0xjd7mh54nq1f18wyz8w40vcznns";
+    sha256 = "9fd1351eb29c4da92d3a0ed2cd4e3c1634ea16afddbca133f6acc54766d61b02";
   };
 
   propagatedBuildInputs = [ requests protobuf pycryptodome ];
diff --git a/pkgs/development/python-modules/gpsoauth/default.nix b/pkgs/development/python-modules/gpsoauth/default.nix
new file mode 100644
index 000000000000..68dce423390a
--- /dev/null
+++ b/pkgs/development/python-modules/gpsoauth/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, cffi
+, cryptography
+, enum34
+, idna
+, ipaddress
+, ndg-httpsclient
+, pyopenssl
+, pyasn1
+, pycparser
+, pycryptodome
+, requests
+, six
+}:
+
+buildPythonPackage rec {
+  version = "0.2.0";
+  pname = "gpsoauth";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01zxw8rhml8xfwda7ba8983890bzwkfa55ijd6qf8qrdy6ja1ncn";
+  };
+
+  propagatedBuildInputs = [ cffi cryptography enum34 idna ipaddress ndg-httpsclient pyopenssl pyasn1 pycparser pycryptodome requests six ];
+
+  meta = with stdenv.lib; {
+    description = "A python client library for Google Play Services OAuth";
+    homepage = "https://github.com/simon-weber/gpsoauth";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jgillich ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/gpy/default.nix b/pkgs/development/python-modules/gpy/default.nix
index 72415879b412..0b9717b3feed 100644
--- a/pkgs/development/python-modules/gpy/default.nix
+++ b/pkgs/development/python-modules/gpy/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "GPy";
-  version = "1.9.2";
+  version = "1.9.5";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "372e43d41df5c90e0958d3073070994b351a7409c2e5fbd349cffe13bc24c10a";
+    sha256 = "97519bea69e7d7a703d9575c31d68a7c6f974ae125ee9d4a3e1fb510eadfb97e";
   };
 
   # running tests produces "ImportError: cannot import name 'linalg_cython'"
diff --git a/pkgs/development/python-modules/graphite-web/default.nix b/pkgs/development/python-modules/graphite-web/default.nix
index 791eb1b8cf0f..51a7fd9b5d26 100644
--- a/pkgs/development/python-modules/graphite-web/default.nix
+++ b/pkgs/development/python-modules/graphite-web/default.nix
@@ -6,13 +6,13 @@ if django.version != "1.8.18"
 then throw "graphite-web should be build with django_1_8 and django_tagging_0_4_3"
 else buildPythonPackage rec {
   pname = "graphite-web";
-  version = "1.1.3";
+  version = "1.1.4";
 
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0nvyq1859abdch2l90avsjk9vb03s7wgxgrjsqvjhf2b9c1ncsfh";
+    sha256 = "4430929f954998d77aa0a61246c62d64a00a2f9464320f9a462294dd3448e522";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphviz/default.nix b/pkgs/development/python-modules/graphviz/default.nix
new file mode 100644
index 000000000000..42a698906814
--- /dev/null
+++ b/pkgs/development/python-modules/graphviz/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "graphviz";
+  version = "0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "14r9brj4r31b3qy1nnn34v3l4h0n39bqxg9sn2fz4p3pp5mglnl6";
+  };
+
+  propagatedBuildInputs = [ pkgs.graphviz ];
+
+  meta = with stdenv.lib; {
+    description = "Simple Python interface for Graphviz";
+    homepage = https://github.com/xflr6/graphviz;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/grappelli_safe/default.nix b/pkgs/development/python-modules/grappelli_safe/default.nix
new file mode 100644
index 000000000000..bbba074b3f52
--- /dev/null
+++ b/pkgs/development/python-modules/grappelli_safe/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.5.1";
+  pname = "grappelli_safe";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "27660faa628186d74258781edfa03ef812555d49b4925cfe19c05bcd3da85e40";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A snapshot of django-grappelli for the Mezzanine CMS";
+    longDescription = ''
+      grappelli_safe was created to provide a snapshot of the
+      Grappelli admin skin for Django, to be referenced as a
+      dependency for the Mezzanine CMS for Django.
+
+      At the time of grappelli_safe's creation, Grappelli was
+      incorrectly packaged on PyPI, and had also dropped compatibility
+      with Django 1.1 - grappelli_safe was therefore created to
+      address these specific issues.
+    '';
+    homepage = https://github.com/stephenmcd/grappelli-safe;
+    downloadPage = http://pypi.python.org/pypi/grappelli_safe/;
+    license = licenses.free;
+    maintainers = with maintainers; [ prikhi ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/greenlet/default.nix b/pkgs/development/python-modules/greenlet/default.nix
index 58b240297cfd..3754f08c28be 100644
--- a/pkgs/development/python-modules/greenlet/default.nix
+++ b/pkgs/development/python-modules/greenlet/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "greenlet";
-  version = "0.4.14";
+  version = "0.4.15";
   disabled = isPyPy;  # builtin for pypy
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f1cc268a15ade58d9a0c04569fe6613e19b8b0345b64453064e2c3c6d79051af";
+    sha256 = "9416443e219356e3c31f1f918a91badf2e37acf297e2fa13d24d1cc2380f8fbc";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/grpcio-tools/default.nix b/pkgs/development/python-modules/grpcio-tools/default.nix
index c111e5f75a73..7c58c866f52e 100644
--- a/pkgs/development/python-modules/grpcio-tools/default.nix
+++ b/pkgs/development/python-modules/grpcio-tools/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "grpcio-tools";
-  version = "1.14.1";
+  version = "1.14.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4ce5aa660d7884f23aac1eafa93b97a4c3e2b512edff871e91fdb6ee86ebd5ea";
+    sha256 = "b3fd64a5b8c1d981f6d68a331449109633710a346051c44e0f0cca1812e2b4b0";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/python-modules/gspread/default.nix b/pkgs/development/python-modules/gspread/default.nix
new file mode 100644
index 000000000000..1a07e7ecfc06
--- /dev/null
+++ b/pkgs/development/python-modules/gspread/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.2.3";
+  pname = "gspread";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "dba45ef9e652dcd8cf561ae65569bd6ecd18fcc77b991521490698fb2d847106";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Google Spreadsheets client library";
+    homepage = "https://github.com/burnash/gspread";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gtimelog/default.nix b/pkgs/development/python-modules/gtimelog/default.nix
new file mode 100644
index 000000000000..40115f398c62
--- /dev/null
+++ b/pkgs/development/python-modules/gtimelog/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, pkgs
+, python
+, pygobject3
+}:
+
+buildPythonPackage rec {
+  pname = "gtimelog";
+  version = "0.9.1";
+
+  src = pkgs.fetchurl {
+    url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz";
+    sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj";
+  };
+
+  buildInputs = [ pkgs.glibcLocales ];
+
+  LC_ALL="en_US.UTF-8";
+
+  # TODO: AppIndicator
+  propagatedBuildInputs = [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
+
+  checkPhase = ''
+    substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}"
+    ./runtests
+  '';
+
+  preFixup = ''
+      wrapProgram $out/bin/gtimelog \
+        --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
+        --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3.out}/lib" \
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible";
+    homepage = https://mg.pov.lt/gtimelog/;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ ocharles ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/gyp/default.nix b/pkgs/development/python-modules/gyp/default.nix
new file mode 100644
index 000000000000..46b0dde636af
--- /dev/null
+++ b/pkgs/development/python-modules/gyp/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "gyp";
+  version = "2015-06-11";
+  disabled = isPy3k;
+
+  src = fetchgit {
+    url = "https://chromium.googlesource.com/external/gyp.git";
+    rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043";
+    sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
+  };
+
+  prePatch = stdenv.lib.optionals stdenv.isDarwin ''
+    sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' pylib/gyp/xcode_emulation.py
+  '';
+
+  patches = stdenv.lib.optionals stdenv.isDarwin [
+    ./no-darwin-cflags.patch
+    ./no-xcode.patch
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A tool to generate native build files";
+    homepage = https://chromium.googlesource.com/external/gyp/+/master/README.md;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ codyopel ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/hawkauthlib/default.nix b/pkgs/development/python-modules/hawkauthlib/default.nix
new file mode 100644
index 000000000000..46e49ba6b88b
--- /dev/null
+++ b/pkgs/development/python-modules/hawkauthlib/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, requests
+, webob
+}:
+
+buildPythonPackage rec {
+  pname = "hawkauthlib";
+  version = "0.1.1";
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/hawkauthlib.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "0mr1mpx4j9q7sch9arwfvpysnpf2p7ijy7072wilxm8pnj0bwvsi";
+  };
+
+  propagatedBuildInputs = [ requests webob ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mozilla-services/hawkauthlib;
+    description = "Hawk Access Authentication protocol";
+    license = licenses.mpl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hdbscan/default.nix b/pkgs/development/python-modules/hdbscan/default.nix
index 3c86563adac2..27d83d9c6c23 100644
--- a/pkgs/development/python-modules/hdbscan/default.nix
+++ b/pkgs/development/python-modules/hdbscan/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "hdbscan";
-  version = "0.8.15";
+  version = "0.8.18";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "446f98e1ea622a39c1f396d839fa2b1c35db98234e373336de61c3bd6ffaec78";
+    sha256 = "4d6782f08872f4c54983873a41759daae680d6247b0db363f3510cb001108f02";
   };
 
   checkInputs = [ nose ];
diff --git a/pkgs/development/python-modules/helper/default.nix b/pkgs/development/python-modules/helper/default.nix
index 15dadd0bf114..8aa6e1e921fb 100644
--- a/pkgs/development/python-modules/helper/default.nix
+++ b/pkgs/development/python-modules/helper/default.nix
@@ -1,21 +1,20 @@
 { stdenv, buildPythonPackage, fetchPypi, pyyaml, mock }:
- 
+
 buildPythonPackage rec {
   pname = "helper";
   version = "2.4.2";
-  name = "${pname}-${version}";
-  
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "0p56dvjpaz9wnr0ik2wmvgqjf9ji180bhjky7q272l5dan94lgd6";
   };
-  
-  buildInputs = [ mock ];
+
+  checkInputs = [ mock ];
   propagatedBuildInputs = [ pyyaml ];
-  
+
   # No tests in the pypi tarball
   doCheck = false;
-  
+
   meta = with stdenv.lib; {
     description = "Development library for quickly writing configurable applications and daemons";
     homepage = https://helper.readthedocs.org/;
diff --git a/pkgs/development/python-modules/hetzner/default.nix b/pkgs/development/python-modules/hetzner/default.nix
new file mode 100644
index 000000000000..ccf4e1a5ba7f
--- /dev/null
+++ b/pkgs/development/python-modules/hetzner/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "hetzner";
+  version = "0.8.1";
+
+  src = fetchFromGitHub {
+    repo = "hetzner";
+    owner = "aszlig";
+    rev = "v${version}";
+    sha256 = "1xd1klvjskv0pg8ginih597jkk491a55b8dq80dsm61m5sbsx3vq";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/RedMoonStudios/hetzner";
+    description = "High-level Python API for accessing the Hetzner robot";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ aszlig ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/hg-git/default.nix b/pkgs/development/python-modules/hg-git/default.nix
new file mode 100644
index 000000000000..2b32afc2f824
--- /dev/null
+++ b/pkgs/development/python-modules/hg-git/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, dulwich
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "hg-git";
+  version = "0.8.11";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08kw1sj3sq1q1571hwkc51w20ks9ysmlg93pcnmd6gr66bz02dyn";
+  };
+
+  propagatedBuildInputs = [ dulwich ];
+
+  meta = with stdenv.lib; {
+    description = "Push and pull from a Git server using Mercurial";
+    homepage = http://hg-git.github.com/;
+    maintainers = with maintainers; [ koral ];
+    license = stdenv.lib.licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hkdf/default.nix b/pkgs/development/python-modules/hkdf/default.nix
new file mode 100644
index 000000000000..3a159e6d3493
--- /dev/null
+++ b/pkgs/development/python-modules/hkdf/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "hkdf";
+  version = "0.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1jhxk5vhxmxxjp3zj526ry521v9inzzl8jqaaf0ma65w6k332ak2";
+  };
+
+  buildInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)";
+    homepage = "https://github.com/casebeer/python-hkdf";
+    license = licenses.bsd2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hovercraft/default.nix b/pkgs/development/python-modules/hovercraft/default.nix
new file mode 100644
index 000000000000..e598fd41bab1
--- /dev/null
+++ b/pkgs/development/python-modules/hovercraft/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, docutils
+, lxml
+, manuel
+, pygments
+, svg-path
+, watchdog
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "hovercraft";
+  version = "2.0";
+  disabled = ! isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0lqxr816lymgnywln8bbv9nrmkyahjjcjkm9kjyny9bflayz4f1g";
+  };
+
+  propagatedBuildInputs = [ docutils lxml manuel pygments svg-path watchdog ];
+
+  # one test assumes we have docutils 0.12
+  # TODO: enable tests after upgrading docutils to 0.12
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A tool to make impress.js presentations from reStructuredText";
+    homepage = https://github.com/regebro/hovercraft;
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/hpack/default.nix b/pkgs/development/python-modules/hpack/default.nix
new file mode 100644
index 000000000000..5e85dd51e768
--- /dev/null
+++ b/pkgs/development/python-modules/hpack/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "hpack";
+  version = "2.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ad0fx4d7a52zf441qzhjc7vwy9v3qdrk1zyf06ikz8y2nl9mgai";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Pure-Python HPACK header compression";
+    homepage = "http://hyper.rtfd.org";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hsaudiotag/default.nix b/pkgs/development/python-modules/hsaudiotag/default.nix
new file mode 100644
index 000000000000..d08d9e06b719
--- /dev/null
+++ b/pkgs/development/python-modules/hsaudiotag/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "hsaudiotag";
+  version = "1.1.1";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "15hgm128p8nysfi0jb127awga3vlj0iw82l50swjpvdh01m7rda8";
+  };
+
+  # no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A pure Python library that lets one to read metadata from media files";
+    homepage = http://hg.hardcoded.net/hsaudiotag/;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hsaudiotag3k/default.nix b/pkgs/development/python-modules/hsaudiotag3k/default.nix
new file mode 100644
index 000000000000..06f89f733331
--- /dev/null
+++ b/pkgs/development/python-modules/hsaudiotag3k/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "hsaudiotag3k";
+  version = "1.1.3";
+  disabled = !isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0bv5k5594byr2bmhh77xv10fkdpckcmxg3w380yp30aqf83rcsx3";
+  };
+
+  # no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A pure Python library that lets one to read metadata from media files";
+    homepage = http://hg.hardcoded.net/hsaudiotag/;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/htmllaundry/default.nix b/pkgs/development/python-modules/htmllaundry/default.nix
new file mode 100644
index 000000000000..787163d477e3
--- /dev/null
+++ b/pkgs/development/python-modules/htmllaundry/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi, nose
+, six
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "htmllaundry";
+  version = "2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e428cba78d5a965e959f5dac2eb7d5f7d627dd889990d5efa8d4e03f3dd768d9";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ six lxml ];
+
+  # some tests fail, probably because of changes in lxml
+  # not relevant for me, if releavnt for you, fix it...
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Simple HTML cleanup utilities";
+    license = licenses.bsd3;
+    homepage = https://pypi.org/project/htmllaundry/;
+  };
+
+}
diff --git a/pkgs/development/python-modules/http_signature/default.nix b/pkgs/development/python-modules/http_signature/default.nix
new file mode 100644
index 000000000000..48f06db1ba5d
--- /dev/null
+++ b/pkgs/development/python-modules/http_signature/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pycrypto
+}:
+
+buildPythonPackage rec {
+  pname = "http_signature";
+  version = "0.1.4";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14acc192ef20459d5e11b4e800dd3a4542f6bd2ab191bf5717c696bf30936c62";
+  };
+
+  propagatedBuildInputs = [ pycrypto ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/atl/py-http-signature;
+    description = "Simple secure signing for HTTP requests using http-signature";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/httpauth/default.nix b/pkgs/development/python-modules/httpauth/default.nix
new file mode 100644
index 000000000000..f1afd41ebed5
--- /dev/null
+++ b/pkgs/development/python-modules/httpauth/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.3";
+  pname = "httpauth";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qas7876igyz978pgldp5r7n7pis8n4vf0v87gxr9l7p7if5lr3l";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "WSGI HTTP Digest Authentication middleware";
+    homepage = https://github.com/jonashaag/httpauth;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/httpretty/default.nix b/pkgs/development/python-modules/httpretty/default.nix
new file mode 100644
index 000000000000..1f135255bc04
--- /dev/null
+++ b/pkgs/development/python-modules/httpretty/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, tornado
+, requests
+, httplib2
+, sure
+, nose
+, coverage
+, certifi
+, urllib3
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "httpretty";
+  version = "0.8.10";
+  doCheck = false;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1nmdk6d89z14x3wg4yxywlxjdip16zc8bqnfb471z1365mr74jj7";
+  };
+
+  buildInputs = [ tornado requests httplib2 sure nose coverage certifi ];
+  propagatedBuildInputs = [ urllib3 ];
+
+  postPatch = ''
+    sed -i -e 's/==.*$//' *requirements.txt
+    # XXX: Drop this after version 0.8.4 is released.
+    patch httpretty/core.py <<DIFF
+    ***************
+    *** 566 ****
+    !                 'content-length': len(self.body)
+    --- 566 ----
+    !                 'content-length': str(len(self.body))
+    DIFF
+
+    # Explicit encoding flag is required with python3, unless locale is set.
+    ${if !isPy3k then "" else
+      "patch -p0 -i ${./setup.py.patch}"}
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://falcao.it/HTTPretty/";
+    description = "HTTP client request mocking tool";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/hug/default.nix b/pkgs/development/python-modules/hug/default.nix
new file mode 100644
index 000000000000..4aeffc75823b
--- /dev/null
+++ b/pkgs/development/python-modules/hug/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, falcon
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "hug";
+  version = "2.1.2";
+  disabled = isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "93325e13706594933a9afb0d4f0b0748134494299038f07df41152baf6f89f4c";
+  };
+
+  propagatedBuildInputs = [ falcon requests ];
+
+  # tests are not shipped in the tarball
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python framework that makes developing APIs as simple as possible, but no simpler";
+    homepage = https://github.com/timothycrosley/hug;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/humanize/default.nix b/pkgs/development/python-modules/humanize/default.nix
new file mode 100644
index 000000000000..25c335c0016f
--- /dev/null
+++ b/pkgs/development/python-modules/humanize/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "0.5.1";
+  pname = "humanize";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19";
+  };
+
+  buildInputs = [ mock ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python humanize utilities";
+    homepage = https://github.com/jmoiron/humanize;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.linux; # can only test on linux
+  };
+
+}
diff --git a/pkgs/development/python-modules/hupper/default.nix b/pkgs/development/python-modules/hupper/default.nix
index 5131e64a3c2b..5f6a4a35ce11 100644
--- a/pkgs/development/python-modules/hupper/default.nix
+++ b/pkgs/development/python-modules/hupper/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "hupper";
-  version = "1.3";
+  version = "1.3.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20387760e4d32bd4813c2cabc8e51d92b2c22c546102a0af182c33c152cd7ede";
+    sha256 = "899a1da85b71b62d903b5732703cad7454425b4ba9a6453930ad9168ec08ae0e";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/hvac/default.nix b/pkgs/development/python-modules/hvac/default.nix
index 310bd91b22bf..7bc0d9d21074 100644
--- a/pkgs/development/python-modules/hvac/default.nix
+++ b/pkgs/development/python-modules/hvac/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "hvac";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54672a93f75453a7de13c7c10c6d8a51630e2559a8e2a563d8e272e9e188443f";
+    sha256 = "d7f23883c44458078359142608d0bc6373c4bcec107bdb609c827ee1dda61431";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/i3-py/default.nix b/pkgs/development/python-modules/i3-py/default.nix
new file mode 100644
index 000000000000..e433cd51c20c
--- /dev/null
+++ b/pkgs/development/python-modules/i3-py/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.6.4";
+  pname = "i3-py";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1sgl438jrb4cdyl7hbc3ymwsf7y3zy09g1gh7ynilxpllp37jc8y";
+  };
+
+  # no tests in tarball
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Tools for i3 users and developers";
+    homepage =  "https://github.com/ziberna/i3-py";
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/icalendar/default.nix b/pkgs/development/python-modules/icalendar/default.nix
new file mode 100644
index 000000000000..b83785211f88
--- /dev/null
+++ b/pkgs/development/python-modules/icalendar/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, setuptools
+, dateutil
+, pytz
+}:
+
+buildPythonPackage rec {
+  version = "3.9.0";
+  pname = "icalendar";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "93d0b94eab23d08f62962542309916a9681f16de3d5eca1c75497f30f1b07792";
+  };
+
+  buildInputs = [ setuptools ];
+  propagatedBuildInputs = [ dateutil pytz ];
+
+  meta = with stdenv.lib; {
+    description = "A parser/generator of iCalendar files";
+    homepage = "http://icalendar.readthedocs.org/";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ olcai ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index b4b5d9c87275..1d6b1ed0b193 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "1.1.4";
+  version = "1.1.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hvwfpf6fmgn93abrvj88pi7sbcib32s4c5r99lw67kbziq5x129";
+    sha256 = "5e956558a9a1e3b3891d7c6609fc9709657a11878af288ace484d1a46a93922b";
   };
 
   # Tests not included in PyPI tarball
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
new file mode 100644
index 000000000000..cdbcfee7180f
--- /dev/null
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, pytest
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "imageio";
+  version = "1.6";
+
+  src = fetchurl {
+    url = "https://github.com/imageio/imageio/archive/v${version}.tar.gz";
+    sha256 = "195snkk3fsbjqd5g1cfsd9alzs5q45gdbi2ka9ph4yxqb31ijrbv";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ numpy ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Tries to write in /var/tmp/.imageio
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";
+    homepage = http://imageio.github.io/;
+    license = licenses.bsd2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/imagesize/default.nix b/pkgs/development/python-modules/imagesize/default.nix
new file mode 100644
index 000000000000..32a8310334ae
--- /dev/null
+++ b/pkgs/development/python-modules/imagesize/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "imagesize";
+  version = "0.7.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0msgz4ncp2nb5nbsxnf8kvxsl6nhwvc3b46ik097fvznl3y10gdv";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Getting image size from png/jpeg/jpeg2000/gif file";
+    homepage = https://github.com/shibukawa/imagesize_py;
+    license = with licenses; [ mit ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/imread/default.nix b/pkgs/development/python-modules/imread/default.nix
new file mode 100644
index 000000000000..9a67568d9e52
--- /dev/null
+++ b/pkgs/development/python-modules/imread/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, nose
+, pkgs
+, numpy
+}:
+
+buildPythonPackage rec {
+  pname = "python-imread";
+  version = "0.6";
+
+  src = pkgs.fetchurl {
+    url = "https://github.com/luispedro/imread/archive/release-${version}.tar.gz";
+    sha256 = "0i14bc67200zhzxc41g5dfp2m0pr1zaa2gv59p2va1xw0ji2dc0f";
+  };
+
+  nativeBuildInputs = [ pkgs.pkgconfig ];
+  buildInputs = [ nose pkgs.libjpeg pkgs.libpng pkgs.libtiff pkgs.libwebp ];
+  propagatedBuildInputs = [ numpy ];
+
+  meta = with stdenv.lib; {
+    description = "Python package to load images as numpy arrays";
+    homepage = https://imread.readthedocs.io/en/latest/;
+    maintainers = with maintainers; [ luispedro ];
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/inflect/default.nix b/pkgs/development/python-modules/inflect/default.nix
index 94b0fc801fa9..8c58a4f9de76 100644
--- a/pkgs/development/python-modules/inflect/default.nix
+++ b/pkgs/development/python-modules/inflect/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "inflect";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0ll34l5b2wsbcw9i2hvkhmq6szxrp7fzc2hjmpz1cvny81bhg3kx";
+    sha256 = "ec42f5d5d2baa54ba6e3fa23698554c09362dd478cc66b3c28c5d0b76d7d0581";
   };
 
   buildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/influxdb/default.nix b/pkgs/development/python-modules/influxdb/default.nix
new file mode 100644
index 000000000000..100ca5b0ff9a
--- /dev/null
+++ b/pkgs/development/python-modules/influxdb/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, requests
+, dateutil
+, pytz
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "influxdb";
+  version = "4.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0injsml6zmb3hkgc03117fdlg573kbfgjbijpd5npf0vsy0xnpvz";
+  };
+
+  # ImportError: No module named tests
+  doCheck = false;
+  propagatedBuildInputs = [ requests dateutil pytz six ];
+
+  meta = with stdenv.lib; {
+    description = "Python client for InfluxDB";
+    homepage = https://github.com/influxdb/influxdb-python;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/infoqscraper/default.nix b/pkgs/development/python-modules/infoqscraper/default.nix
new file mode 100644
index 000000000000..f9ced7e63daf
--- /dev/null
+++ b/pkgs/development/python-modules/infoqscraper/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, six
+, beautifulsoup4
+, pkgs
+}:
+
+buildPythonPackage rec {
+  version = "0.1.0";
+  pname = "infoqscraper";
+
+  src = pkgs.fetchFromGitHub {
+    owner = "cykl";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "07mxp4mla7fwfc032f3mxrhjarnhkjqdxxibf9ba87c93z3dq8jj";
+  };
+
+  # requires network
+  doCheck = false;
+
+  buildInputs = [ html5lib ];
+  propagatedBuildInputs = [ six beautifulsoup4 pkgs.ffmpeg pkgs.swftools pkgs.rtmpdump ];
+
+  meta = with stdenv.lib; {
+    description = "Discover presentations and/or create a movie consisting of slides and audio track from an infoq url";
+    homepage = "https://github.com/cykl/infoqscraper/wiki";
+    license = licenses.mit;
+    maintainers = with maintainers; [ edwtjo ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/inifile/default.nix b/pkgs/development/python-modules/inifile/default.nix
new file mode 100644
index 000000000000..e64ef76356d1
--- /dev/null
+++ b/pkgs/development/python-modules/inifile/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "inifile";
+  version = "0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zgd53czc1irwx6b5zip8xlmyfr40hz2pd498d8yv61znj6lm16h";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A small INI library for Python";
+    homepage    = "https://github.com/mitsuhiko/python-inifile";
+    license     = licenses.bsd0;
+    maintainers = with maintainers; [ vozz ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/iniparse/default.nix b/pkgs/development/python-modules/iniparse/default.nix
new file mode 100644
index 000000000000..e0c2fd765c98
--- /dev/null
+++ b/pkgs/development/python-modules/iniparse/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "iniparse";
+  version = "0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0m60k46vr03x68jckachzsipav0bwhhnqb8715hm1cngs89fxhdb";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} runtests.py
+  '';
+
+  # Does not install tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Accessing and Modifying INI files";
+    homepage = http://code.google.com/p/iniparse/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ danbst ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipaddr/default.nix b/pkgs/development/python-modules/ipaddr/default.nix
new file mode 100644
index 000000000000..4325e6ea8844
--- /dev/null
+++ b/pkgs/development/python-modules/ipaddr/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "ipaddr";
+  version = "2.1.11";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dwq3ngsapjc93fw61rp17fvzggmab5x1drjzvd4y4q0i255nm8v";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Google's IP address manipulation library";
+    homepage = http://code.google.com/p/ipaddr-py/;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipaddress/default.nix b/pkgs/development/python-modules/ipaddress/default.nix
new file mode 100644
index 000000000000..5052c3dc2f4e
--- /dev/null
+++ b/pkgs/development/python-modules/ipaddress/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonAtLeast
+, python
+}:
+
+if (pythonAtLeast "3.3") then null else buildPythonPackage rec {
+  pname = "ipaddress";
+  version = "1.0.18";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q8klj9d84cmxgz66073x1j35cplr3r77vx1znhxiwl5w74391ax";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} test_ipaddress.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Port of the 3.3+ ipaddress module to 2.6, 2.7, and 3.2";
+    homepage = https://github.com/phihag/ipaddress;
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipdb/default.nix b/pkgs/development/python-modules/ipdb/default.nix
new file mode 100644
index 000000000000..3203963b29da
--- /dev/null
+++ b/pkgs/development/python-modules/ipdb/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, ipython
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "ipdb";
+  version = "0.8.1";
+  disabled = isPyPy;  # setupterm: could not find terminfo database
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "1763d1564113f5eb89df77879a8d3213273c4d7ff93dcb37a3070cdf0c34fd7c";
+  };
+
+  propagatedBuildInputs = [ ipython ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/gotcha/ipdb;
+    description = "IPython-enabled pdb";
+    license = licenses.bsd0;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipdbplugin/default.nix b/pkgs/development/python-modules/ipdbplugin/default.nix
new file mode 100644
index 000000000000..1f5435461abc
--- /dev/null
+++ b/pkgs/development/python-modules/ipdbplugin/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, ipython
+}:
+
+buildPythonPackage rec {
+  pname = "ipdbplugin";
+  version = "1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4778d78b5d0af1a2a6d341aed9e72eb73b1df6b179e145b4845d3a209137029c";
+  };
+
+  propagatedBuildInputs = [ nose ipython ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/flavioamieiro/nose-ipdb/tree/master;
+    description = "Nose plugin to use iPdb instead of Pdb when tests fail";
+    license = licenses.lgpl2;
+    maintainers = [ maintainers.costrouc ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipfsapi/default.nix b/pkgs/development/python-modules/ipfsapi/default.nix
new file mode 100644
index 000000000000..377ed8549cff
--- /dev/null
+++ b/pkgs/development/python-modules/ipfsapi/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPy27
+, six
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "ipfsapi";
+  version = "0.4.2.post1";
+  disabled = isPy27;
+
+  src = fetchFromGitHub {
+    owner = "ipfs";
+    repo = "py-ipfs-api";
+    rev = "0c485544a114f580c65e2ffbb5782efbf7fd9f61";
+    sha256 = "1v7f77cv95yv0v80gisdh71mj7jcq41xcfip6bqm57zfdbsa0xpn";
+  };
+
+  propagatedBuildInputs = [ six requests ];
+
+  meta = with stdenv.lib; {
+    description = "A python client library for the IPFS API";
+    license = licenses.mit;
+    maintainers = with maintainers; [ mguentner ];
+    homepage = "https://pypi.python.org/pypi/ipfsapi";
+  };
+
+}
diff --git a/pkgs/development/python-modules/iptools/default.nix b/pkgs/development/python-modules/iptools/default.nix
new file mode 100644
index 000000000000..e5c5d298b431
--- /dev/null
+++ b/pkgs/development/python-modules/iptools/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  version = "0.6.1";
+  pname = "iptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f03875a5bed740ba4bf44decb6a78679cca914a1ee8a6cc468114485c4d98e3";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting";
+    homepage = https://pypi.python.org/pypi/iptools;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ipywidgets/default.nix b/pkgs/development/python-modules/ipywidgets/default.nix
index dde041140b94..b91b5d7a775b 100644
--- a/pkgs/development/python-modules/ipywidgets/default.nix
+++ b/pkgs/development/python-modules/ipywidgets/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "ipywidgets";
-  version = "7.4.0";
+  version = "7.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd24a66d82f2ea49e281da7714a7c656340d3ec24dff376b17590fa59469b817";
+    sha256 = "a3e224f430163f767047ab9a042fc55adbcab0c24bbe6cf9f306c4f89fdf0ba3";
   };
 
   # Tests are not distributed
diff --git a/pkgs/development/python-modules/itsdangerous/default.nix b/pkgs/development/python-modules/itsdangerous/default.nix
new file mode 100644
index 000000000000..385708f436ec
--- /dev/null
+++ b/pkgs/development/python-modules/itsdangerous/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "itsdangerous";
+  version = "0.24";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Helpers to pass trusted data to untrusted environments and back";
+    homepage = "https://pypi.python.org/pypi/itsdangerous/";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/j2cli/default.nix b/pkgs/development/python-modules/j2cli/default.nix
new file mode 100644
index 000000000000..d8da0d8f1291
--- /dev/null
+++ b/pkgs/development/python-modules/j2cli/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, nose
+, jinja2
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "j2cli";
+  version = "0.3.1-0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0y3w1x9935qzx8w6m2r6g4ghyjmxn33wryiif6xb56q7cj9w1433";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ jinja2 pyyaml ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kolypto/j2cli;
+    description = "Jinja2 Command-Line Tool";
+    license = licenses.bsd3;
+    longDescription = ''
+      J2Cli is a command-line tool for templating in shell-scripts,
+      leveraging the Jinja2 library.
+    '';
+    maintainers = with maintainers; [ rushmorem ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
index a7c362231cab..03aa9d0d0f81 100644
--- a/pkgs/development/python-modules/jdatetime/default.nix
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.0.0";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07cdb02e8d6610c38e8ae7746b12cbc39068cc5d54fb2baa915579b60d781b5b";
+    sha256 = "21824ab1e29e9ccbca85e77562a090067882976880603c41af8d9c4cffc1d4fc";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jinja2_time/default.nix b/pkgs/development/python-modules/jinja2_time/default.nix
new file mode 100644
index 000000000000..69fbffa92b2f
--- /dev/null
+++ b/pkgs/development/python-modules/jinja2_time/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, arrow
+, jinja2
+}:
+
+buildPythonPackage rec {
+  version = "0.2.0";
+  pname = "jinja2-time";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni";
+  };
+
+  propagatedBuildInputs = [ arrow jinja2 ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/hackebrot/jinja2-time;
+    description = "Jinja2 Extension for Dates and Times";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/jmespath/default.nix b/pkgs/development/python-modules/jmespath/default.nix
new file mode 100644
index 000000000000..c4755b45eec3
--- /dev/null
+++ b/pkgs/development/python-modules/jmespath/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, ply
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "jmespath";
+  version = "0.9.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ ply ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/boto/jmespath;
+    description = "JMESPath allows you to declaratively specify how to extract elements from a JSON document";
+    license = "BSD";
+  };
+
+}
diff --git a/pkgs/development/python-modules/jsonpath_rw/default.nix b/pkgs/development/python-modules/jsonpath_rw/default.nix
new file mode 100644
index 000000000000..a109404c06f5
--- /dev/null
+++ b/pkgs/development/python-modules/jsonpath_rw/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, ply
+, six
+, decorator
+}:
+
+buildPythonPackage rec {
+  pname = "jsonpath-rw";
+  version = "1.4.0";
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05c471281c45ae113f6103d1268ec7a4831a2e96aa80de45edc89b11fac4fbec";
+  };
+
+  propagatedBuildInputs = [ ply six decorator ];
+
+  # ImportError: No module named tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/kennknowles/python-jsonpath-rw;
+    description = "A robust and significantly extended implementation of JSONPath for Python, with a clear AST for metaprogramming";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/jsonpointer/default.nix b/pkgs/development/python-modules/jsonpointer/default.nix
new file mode 100644
index 000000000000..c07a4bf3a358
--- /dev/null
+++ b/pkgs/development/python-modules/jsonpointer/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "jsonpointer";
+  version = "1.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "39403b47a71aa782de6d80db3b78f8a5f68ad8dfc9e674ca3bb5b32c15ec7308";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Resolve JSON Pointers in Python";
+    homepage = "https://github.com/stefankoegl/python-json-pointer";
+    license = stdenv.lib.licenses.bsd2; # "Modified BSD license, says pypi"
+  };
+
+}
diff --git a/pkgs/development/python-modules/jsonrpclib/default.nix b/pkgs/development/python-modules/jsonrpclib/default.nix
new file mode 100644
index 000000000000..81dcdc074739
--- /dev/null
+++ b/pkgs/development/python-modules/jsonrpclib/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cjson
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "jsonrpclib";
+  version = "0.1.7";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z";
+  };
+
+  propagatedBuildInputs = [ cjson ];
+
+  meta = with lib; {
+    description = "JSON RPC client library";
+    homepage = https://pypi.python.org/pypi/jsonrpclib/;
+    license = lib.licenses.asl20;
+    maintainers = [ lib.maintainers.joachifm ];
+  };
+}
diff --git a/pkgs/development/python-modules/jsonwatch/default.nix b/pkgs/development/python-modules/jsonwatch/default.nix
new file mode 100644
index 000000000000..177b0d4cfee9
--- /dev/null
+++ b/pkgs/development/python-modules/jsonwatch/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, six
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "jsonwatch";
+  version = "0.2.0";
+  disabled = isPyPy; # doesn't find setuptools
+
+  src = fetchurl {
+    url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz";
+    sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  meta = with stdenv.lib; {
+    description = "Like watch -d but for JSON";
+    longDescription = ''
+      jsonwatch is a command line utility with which you can track
+      changes in JSON data delivered by a shell command or a web
+      (HTTP/HTTPS) API.  jsonwatch requests data from the designated
+      source repeatedly at a set interval and displays the
+      differences when the data changes. It is similar in its
+      behavior to how watch(1) with the -d switch works for
+      plain-text data.
+    '';
+    homepage = "https://github.com/dbohdan/jsonwatch";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/python-modules/jupyter/default.nix b/pkgs/development/python-modules/jupyter/default.nix
new file mode 100644
index 000000000000..14f836725536
--- /dev/null
+++ b/pkgs/development/python-modules/jupyter/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, notebook
+, qtconsole
+, jupyter_console
+, nbconvert
+, ipykernel
+, ipywidgets
+}:
+
+buildPythonPackage rec {
+  version = "1.0.0";
+  pname = "jupyter";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f";
+  };
+
+  propagatedBuildInputs = [ notebook qtconsole jupyter_console nbconvert ipykernel ipywidgets ];
+
+  # Meta-package, no tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Installs all the Jupyter components in one go";
+    homepage = "http://jupyter.org/";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    priority = 100; # This is a metapackage which is unimportant
+  };
+
+}
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 23aaff8a7281..f0bd058271a9 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, isPy3k, fetchPypi, ipython_genutils, jupyterlab_launcher, notebook }:
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "0.34.6";
+  version = "0.34.12";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6e5a3855a0d55e6aa4ab704379da5da3db2e652442e79acfa2e9d14ef50ccb3";
+    sha256 = "7d8378d19a0ae173e91a493db996c37828b410b7ee556da21a153486168ecf87";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/kajiki/default.nix b/pkgs/development/python-modules/kajiki/default.nix
new file mode 100644
index 000000000000..2391b334d617
--- /dev/null
+++ b/pkgs/development/python-modules/kajiki/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, Babel
+, pytz
+, nine
+}:
+
+buildPythonPackage rec {
+  pname = "Kajiki";
+  version = "0.5.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "effcae388e25c3358eb0bbd733448509d11a1ec500e46c69241fc673021f0517";
+  };
+
+  propagatedBuildInputs = [ Babel pytz nine ];
+
+  meta = with stdenv.lib; {
+    description = "Kajiki provides fast well-formed XML templates";
+    homepage = "https://github.com/nandoflorestan/kajiki";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/kaptan/default.nix b/pkgs/development/python-modules/kaptan/default.nix
new file mode 100644
index 000000000000..af24471d68de
--- /dev/null
+++ b/pkgs/development/python-modules/kaptan/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "kaptan";
+  version = "0.5.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b8r86yyvdvyxd6f10mhkl6cr2jhxm80jjqr4zch96w9hs9rh5vq";
+  };
+
+  propagatedBuildInputs = [ pyyaml ];
+
+  meta = with stdenv.lib; {
+    description = "Configuration manager for python applications";
+    homepage = https://emre.github.io/kaptan/;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ jgeerds ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/kazoo/default.nix b/pkgs/development/python-modules/kazoo/default.nix
new file mode 100644
index 000000000000..ae9d15dd7866
--- /dev/null
+++ b/pkgs/development/python-modules/kazoo/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, six
+, eventlet
+, gevent
+, nose
+, mock
+, coverage
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "kazoo";
+  version = "2.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "10pb864if9qi2pq9lfb9m8f7z7ss6rml80gf1d9h64lap5crjnjj";
+  };
+
+  propagatedBuildInputs = [ six ];
+  buildInputs = [ eventlet gevent nose mock coverage pkgs.openjdk8 ];
+
+  # not really needed
+  preBuild = ''
+    sed -i '/flake8/d' setup.py
+  '';
+
+  preCheck = ''
+    sed -i 's/test_unicode_auth/noop/' kazoo/tests/test_client.py
+  '';
+
+  # tests take a long time to run and leave threads hanging
+  doCheck = false;
+  #ZOOKEEPER_PATH = "${pkgs.zookeeper}";
+
+  meta = with stdenv.lib; {
+    homepage = "https://kazoo.readthedocs.org";
+    description = "Higher Level Zookeeper Client";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/keepalive/default.nix b/pkgs/development/python-modules/keepalive/default.nix
new file mode 100644
index 000000000000..c53bc25d198d
--- /dev/null
+++ b/pkgs/development/python-modules/keepalive/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "keepalive";
+  version = "0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3c6b96f9062a5a76022f0c9d41e9ef5552d80b1cadd4fccc1bf8f183ba1d1ec1";
+  };
+
+  # No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An HTTP handler for `urllib2` that supports HTTP 1.1 and keepalive";
+    homepage = "https://github.com/wikier/keepalive";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/keras-applications/default.nix b/pkgs/development/python-modules/keras-applications/default.nix
index f9617f03d8e4..a069c205144d 100644
--- a/pkgs/development/python-modules/keras-applications/default.nix
+++ b/pkgs/development/python-modules/keras-applications/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Keras_Applications";
-  version = "1.0.5";
+  version = "1.0.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "26a7318b9d8d5be80d75ab08a1284aaf4b94125dd8271b18ca89791e16eb2cfc";
+    sha256 = "a03af60ddc9c5afdae4d5c9a8dd4ca857550e0b793733a5072e0725829b87017";
   };
 
   # Cyclic dependency: keras-applications requires keras, which requires keras-applications
diff --git a/pkgs/development/python-modules/keras-preprocessing/default.nix b/pkgs/development/python-modules/keras-preprocessing/default.nix
index 45ce1d7f61d5..a57b6f7dfa38 100644
--- a/pkgs/development/python-modules/keras-preprocessing/default.nix
+++ b/pkgs/development/python-modules/keras-preprocessing/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "Keras_Preprocessing";
-  version = "1.0.3";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "02ba0a3b31ed89c4b0c21d55ba7d87529097d56f394e3850b6d3c9e6c63ce7ae";
+    sha256 = "ef2e482c4336fcf7180244d06f4374939099daa3183816e82aee7755af35b754";
   };
 
   # Cyclic dependency: keras-preprocessing requires keras, which requires keras-preprocessing
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index 43f3bd935d24..83ef23282797 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.2.2";
+  version = "2.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "468d98da104ec5c3dbb10c2ef6bb345ab154f6ca2d722d4c250ef4d6105de17a";
+    sha256 = "90b610a3dbbf6d257b20a079eba3fdf2eed2158f64066a7c6f7227023fd60bc9";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/kerberos/default.nix b/pkgs/development/python-modules/kerberos/default.nix
new file mode 100644
index 000000000000..fdaec0d817df
--- /dev/null
+++ b/pkgs/development/python-modules/kerberos/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "kerberos";
+  version = "1.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "11q9jhzdl88jh8jgn7cycq034m36g2ncxds7mr3vqkngpcirkx6n";
+  };
+
+  buildInputs = [ pkgs.kerberos ];
+
+  meta = with stdenv.lib; {
+    description = "Kerberos high-level interface";
+    homepage = https://pypi.python.org/pypi/kerberos;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
new file mode 100644
index 000000000000..f72e71fd4bd6
--- /dev/null
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "lazy-object-proxy";
+  version = "1.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "22ed751a2c63c6cf718674fd7461b1dfc45215bab4751ca32b6c9b8cb2734cb3";
+  };
+
+  buildInputs = [ pytest ];
+  checkPhase = ''
+    py.test tests
+  '';
+
+  # Broken tests. Seem to be fixed upstream according to Travis.
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A fast and thorough lazy object proxy";
+    homepage = https://github.com/ionelmc/python-lazy-object-proxy;
+    license = with licenses; [ bsd2 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/le/default.nix b/pkgs/development/python-modules/le/default.nix
new file mode 100644
index 000000000000..cb0a8bc63481
--- /dev/null
+++ b/pkgs/development/python-modules/le/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, isPy3k
+, simplejson
+, psutil
+}:
+
+buildPythonPackage rec {
+  pname = "le";
+  version = "1.4.29";
+
+  src = fetchurl {
+    url = "https://github.com/logentries/le/archive/v${version}.tar.gz";
+    sha256 = "d29738937cb6e714b6ec2ae74b66b1983482ffd54b4faa40767af18509521d4c";
+  };
+
+  disabled = isPy3k;
+
+  doCheck = false;
+
+  propagatedBuildInputs = [ simplejson psutil ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/rapid7/le;
+    description = "Logentries agent";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ledgerblue/default.nix b/pkgs/development/python-modules/ledgerblue/default.nix
index d324afcc647a..52d7cba3f958 100644
--- a/pkgs/development/python-modules/ledgerblue/default.nix
+++ b/pkgs/development/python-modules/ledgerblue/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "ledgerblue";
-  version = "0.1.19";
+  version = "0.1.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3969b3c375c0f3fb60ff1645621ebf2f39fb697a53851620705f27ed7b283097";
+    sha256 = "fb7ac6389ad13d3c9baa149b527e2cb5798e749e2b6729e5fe8437092ece6164";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
new file mode 100644
index 000000000000..6eb84043d784
--- /dev/null
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, click
+, watchdog
+, exifread
+, requests
+, mistune
+, inifile
+, Babel
+, jinja2
+, flask
+, pyopenssl
+, ndg-httpsclient
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "lektor";
+  version = "2.3";
+
+  src = fetchgit {
+    url = "https://github.com/lektor/lektor";
+    rev = "refs/tags/${version}";
+    sha256 = "1n0ylh1sbpvi9li3g6a7j7m28njfibn10y6s2gayjxwm6fpphqxy";
+  };
+
+  buildInputs = [ pkgs.glibcLocales ];
+  propagatedBuildInputs = [
+    click watchdog exifread requests mistune inifile Babel jinja2
+    flask pyopenssl ndg-httpsclient
+  ];
+
+  LC_ALL="en_US.UTF-8";
+
+  # No tests included in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A static content management system";
+    homepage    = "https://www.getlektor.com/";
+    license     = licenses.bsd0;
+    maintainers = with maintainers; [ vozz ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/libcloud/default.nix b/pkgs/development/python-modules/libcloud/default.nix
new file mode 100644
index 000000000000..90688d8e4ea2
--- /dev/null
+++ b/pkgs/development/python-modules/libcloud/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+, pycrypto
+}:
+
+buildPythonPackage rec {
+  pname = "apache-libcloud";
+  version = "1.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qlhyz5f32xg8i10biyzqscks8d28vklk63hvj45vzy1amw60kqz";
+  };
+
+  buildInputs = [ mock ];
+  propagatedBuildInputs = [ pycrypto ];
+
+  preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
+
+  # failing tests for 26 and 27
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A unified interface to many cloud providers";
+    homepage = http://incubator.apache.org/libcloud/;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix
new file mode 100644
index 000000000000..adc740fbcf00
--- /dev/null
+++ b/pkgs/development/python-modules/librosa/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, joblib
+, matplotlib
+, six
+, scikitlearn
+, decorator
+, audioread
+, resampy
+}:
+
+buildPythonPackage rec {
+  pname = "librosa";
+  version = "0.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "209626c53556ca3922e52d2fae767bf5b398948c867fcc8898f948695dacb247";
+  };
+
+  propagatedBuildInputs = [ joblib matplotlib six scikitlearn decorator audioread resampy ];
+
+  # No tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python module for audio and music processing";
+    homepage = http://librosa.github.io/;
+    license = licenses.isc;
+  };
+
+}
diff --git a/pkgs/development/python-modules/libthumbor/default.nix b/pkgs/development/python-modules/libthumbor/default.nix
new file mode 100644
index 000000000000..6c9987a5b8e8
--- /dev/null
+++ b/pkgs/development/python-modules/libthumbor/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, django
+, six
+, pycrypto
+}:
+
+buildPythonPackage rec {
+  pname = "libthumbor";
+  version = "1.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1vjhszsf8wl9k16wyg2rfjycjnawzl7z8j39bhiysbz5x4lqg91b";
+  };
+
+  buildInputs = [ django ];
+  propagatedBuildInputs = [ six pycrypto ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "libthumbor is the python extension to thumbor";
+    homepage = https://github.com/heynemann/libthumbor;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lightblue/default.nix b/pkgs/development/python-modules/lightblue/default.nix
new file mode 100644
index 000000000000..f826bbecb0a3
--- /dev/null
+++ b/pkgs/development/python-modules/lightblue/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, pkgs
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "lightblue";
+  version = "0.4";
+  disabled = isPy3k; # build fails, 2018-04-11
+
+  src = fetchurl {
+    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
+    sha256 = "016h1mlhpqxjj25lcvl4fqc19k8ifmsv6df7rhr12fyfcrp5i14d";
+  };
+
+  buildInputs = [ pkgs.bluez pkgs.openobex ];
+
+  meta = with stdenv.lib; {
+    homepage = http://lightblue.sourceforge.net;
+    description = "Cross-platform Bluetooth API for Python";
+    maintainers = with maintainers; [ leenaars ];
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lightning/default.nix b/pkgs/development/python-modules/lightning/default.nix
new file mode 100644
index 000000000000..d0e1a10ae008
--- /dev/null
+++ b/pkgs/development/python-modules/lightning/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, jinja2
+, matplotlib
+, numpy
+, requests
+, six
+}:
+
+buildPythonPackage rec {
+  version = "1.2.1";
+  pname = "lightning-python";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3987d7d4a634bdb6db9bcf212cf4d2f72bab5bc039f4f6cbc02c9d01c4ade792";
+  };
+
+  buildInputs = [ pytest ];
+  propagatedBuildInputs = [ jinja2 matplotlib numpy requests six ];
+
+  meta = with stdenv.lib; {
+    description = "A Python client library for the Lightning data visualization server";
+    homepage = http://lightning-viz.org;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/limnoria/default.nix b/pkgs/development/python-modules/limnoria/default.nix
new file mode 100644
index 000000000000..96490c8f0a01
--- /dev/null
+++ b/pkgs/development/python-modules/limnoria/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "limnoria";
+  version = "2016.05.06";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09kbii5559d09jjb6cryj8rva1050r54dvb67hlcvxhy8g3gr1y3";
+  };
+
+  patchPhase = ''
+    sed -i 's/version=version/version="${version}"/' setup.py
+  '';
+  buildInputs = [ pkgs.git ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A modified version of Supybot, an IRC bot";
+    homepage = http://supybot.fr.cr;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/linode/default.nix b/pkgs/development/python-modules/linode/default.nix
new file mode 100644
index 000000000000..d0c8b0ff7943
--- /dev/null
+++ b/pkgs/development/python-modules/linode/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "linode";
+  version = "0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "db3c2a7fab8966d903a63f16c515bff241533e4ef2d746aa7aae4a49bba5e573";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/ghickman/linode";
+    description = "A thin python wrapper around Linode's API";
+    license = licenses.mit;
+    maintainers = with maintainers; [ nslqqq ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/livestreamer-curses/default.nix b/pkgs/development/python-modules/livestreamer-curses/default.nix
new file mode 100644
index 000000000000..bf3b2cc1164c
--- /dev/null
+++ b/pkgs/development/python-modules/livestreamer-curses/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, isPyPy
+, livestreamer
+}:
+
+buildPythonPackage rec {
+  version = "1.5.2";
+  pname = "livestreamer-curses";
+  disabled = isPyPy;
+
+  src = fetchurl {
+    url = "https://github.com/gapato/livestreamer-curses/archive/v${version}.tar.gz";
+    sha256 = "1v49sym6mrci9dxy0a7cpbp4bv6fg2ijj6rwk4wzg18c2x4qzkhn";
+  };
+
+  propagatedBuildInputs = [ livestreamer ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/gapato/livestreamer-curses;
+    description = "Curses frontend for livestreamer";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/livestreamer/default.nix b/pkgs/development/python-modules/livestreamer/default.nix
new file mode 100644
index 000000000000..94394c11e04e
--- /dev/null
+++ b/pkgs/development/python-modules/livestreamer/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, pkgs
+, isPyPy
+, pycrypto
+, requests
+, singledispatch
+, futures
+, isPy27
+, isPy33
+}:
+
+buildPythonPackage rec {
+  version = "1.12.2";
+  pname = "livestreamer";
+  disabled = isPyPy;
+
+  src = pkgs.fetchurl {
+    url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
+    sha256 = "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd";
+  };
+
+  buildInputs = [ pkgs.makeWrapper ];
+
+  propagatedBuildInputs = [ pkgs.rtmpdump pycrypto requests ]
+    ++ stdenv.lib.optionals isPy27 [ singledispatch futures ]
+    ++ stdenv.lib.optionals isPy33 [ singledispatch ];
+
+  postInstall = ''
+    wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://livestreamer.tanuki.se;
+    description = ''
+      Livestreamer is CLI program that extracts streams from various
+      services and pipes them into a video player of choice.
+    '';
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fuuzetsu ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/llfuse/default.nix b/pkgs/development/python-modules/llfuse/default.nix
index 7eac54d84d87..78daa85ea806 100644
--- a/pkgs/development/python-modules/llfuse/default.nix
+++ b/pkgs/development/python-modules/llfuse/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "llfuse";
-  version = "1.3.4";
+  version = "1.3.5";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/l/llfuse/${name}.tar.bz2";
-    sha256 = "50396c5f3c49c3145e696e5b62df4fcca8b66634788020fba7b6932a858c78c2";
+    sha256 = "6e412a3d9be69162d49b8a4d6fb3c343d1c1fba847f4535d229e0ece2548ead8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/python-modules/lmdb/default.nix b/pkgs/development/python-modules/lmdb/default.nix
new file mode 100644
index 000000000000..d46b51e27d3f
--- /dev/null
+++ b/pkgs/development/python-modules/lmdb/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "lmdb";
+  version = "0.92";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01nw6r08jkipx6v92kw49z34wmwikrpvc5j9xawdiyg1n2526wrx";
+  };
+
+  # Some sort of mysterious failure with lmdb.tool
+  doCheck = !isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "Universal Python binding for the LMDB 'Lightning' Database";
+    homepage = "https://github.com/dw/py-lmdb";
+    license = licenses.openldap;
+    maintainers = with maintainers; [ copumpkin ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/logilab_astng/default.nix b/pkgs/development/python-modules/logilab_astng/default.nix
new file mode 100644
index 000000000000..53284d122287
--- /dev/null
+++ b/pkgs/development/python-modules/logilab_astng/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, logilab_common
+}:
+
+buildPythonPackage rec {
+  pname = "logilab-astng";
+  version = "0.24.3";
+
+  src = fetchurl {
+    url = "http://download.logilab.org/pub/astng/${pname}-${version}.tar.gz";
+    sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn";
+  };
+
+  propagatedBuildInputs = [ logilab_common ];
+
+  meta = with stdenv.lib; {
+    homepage = https://www.logilab.org/project/logilab-astng;
+    description = "Python Abstract Syntax Tree New Generation";
+    license = licenses.lgpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/logutils/default.nix b/pkgs/development/python-modules/logutils/default.nix
new file mode 100644
index 000000000000..d6595b19db6f
--- /dev/null
+++ b/pkgs/development/python-modules/logutils/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "logutils";
+  version = "0.3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "173w55fg3hp5dhx7xvssmgqkcv5fjlaik11w5dah2fxygkjvhhj0";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Logging utilities";
+    homepage = http://code.google.com/p/logutils/;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lpod/default.nix b/pkgs/development/python-modules/lpod/default.nix
new file mode 100644
index 000000000000..dd40ac851865
--- /dev/null
+++ b/pkgs/development/python-modules/lpod/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, lxml
+, docutils
+, pillow
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  version = "1.1.7";
+  pname = "python-lpod";
+  # lpod library currently does not support Python 3.x
+  disabled = isPy3k;
+
+  propagatedBuildInputs = [ lxml docutils pillow ];
+
+  src = fetchFromGitHub {
+    owner = "lpod";
+    repo = "lpod-python";
+    rev = "dee32120ee582ff337b0c52a95a9a87cca71fd67";
+    sha256 = "1mikvzp27wxkzpr2lii4wg1hhx8h610agckqynvsrdc8v3nw9ciw";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lpod/lpod-python/;
+    description = "Library implementing the ISO/IEC 26300 OpenDocument Format standard (ODF) ";
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lsi/default.nix b/pkgs/development/python-modules/lsi/default.nix
new file mode 100644
index 000000000000..ebf98d9e7b26
--- /dev/null
+++ b/pkgs/development/python-modules/lsi/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, colored
+, boto
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "lsi";
+  version = "0.2.2";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0429iilb06yhsmvj3xp6wyhfh1rp4ndxlhwrm80r97z0w7plrk94";
+  };
+
+  propagatedBuildInputs = [ colored boto pkgs.openssh pkgs.which ];
+
+  meta = with stdenv.lib; {
+    description = "CLI for querying and SSHing onto AWS EC2 instances";
+    homepage = https://github.com/NarrativeScience/lsi;
+    maintainers = [maintainers.adnelson];
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/lxc/default.nix b/pkgs/development/python-modules/lxc/default.nix
new file mode 100644
index 000000000000..a078d33a8895
--- /dev/null
+++ b/pkgs/development/python-modules/lxc/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "python-lxc-unstable";
+  version = "2016-08-25";
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "lxc";
+    repo = "python2-lxc";
+    rev = "0553f05d23b56b59bf3015fa5e45bfbfab9021ef";
+    sha256 = "0p9kb20xvq91gx2wfs3vppb7vsp8kmd90i3q95l4nl1y4aismdn4";
+  };
+
+  buildInputs = [ pkgs.lxc ];
+
+  meta = with stdenv.lib; {
+    description = "Out of tree python 2.7 binding for liblxc";
+    homepage = https://github.com/lxc/python2-lxc;
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ mic92 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/lxml/default.nix b/pkgs/development/python-modules/lxml/default.nix
index 3778098922a8..5672fce602e7 100644
--- a/pkgs/development/python-modules/lxml/default.nix
+++ b/pkgs/development/python-modules/lxml/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lxml";
-  version = "4.2.4";
+  version = "4.2.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2afbe403090f5893e254958d02875e0732975e73c4c0cdd33c1f009a61963ca";
+    sha256 = "36720698c29e7a9626a0dc802ef8885f8f0239bfd1689628ecd459a061f2807f";
   };
 
   buildInputs = [ libxml2 libxslt ];
diff --git a/pkgs/development/python-modules/m2crypto/default.nix b/pkgs/development/python-modules/m2crypto/default.nix
new file mode 100644
index 000000000000..87a74c79f553
--- /dev/null
+++ b/pkgs/development/python-modules/m2crypto/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+
+buildPythonPackage rec {
+  version = "0.24.0";
+  pname = "M2Crypto";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1s2y0pf2zg7xf4nfwrw7zhwbk615r5a7bgi5wwkwzh6jl50n99c0";
+  };
+
+  buildInputs = [ pkgs.swig2 pkgs.openssl ];
+
+  preConfigure = ''
+    substituteInPlace setup.py --replace "self.openssl = '/usr'" "self.openssl = '${pkgs.openssl.dev}'"
+  '';
+
+  doCheck = false; # another test that depends on the network.
+
+  meta = with stdenv.lib; {
+    description = "A Python crypto and SSL toolkit";
+    homepage = http://chandlerproject.org/Projects/MeTooCrypto;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/magic/default.nix b/pkgs/development/python-modules/magic/default.nix
new file mode 100644
index 000000000000..41c932ed1117
--- /dev/null
+++ b/pkgs/development/python-modules/magic/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, pkgs
+}:
+
+buildPythonPackage rec {
+  name = "${pkgs.file.name}";
+
+  src = pkgs.file.src;
+
+  patchPhase = ''
+    substituteInPlace python/magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
+  '';
+
+  buildInputs = [ pkgs.file ];
+
+  preConfigure = "cd python";
+
+  # No test suite
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python wrapper around libmagic";
+    homepage = http://www.darwinsys.com/file/;
+    license = licenses.lgpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mailchimp/default.nix b/pkgs/development/python-modules/mailchimp/default.nix
new file mode 100644
index 000000000000..b9640a4ab5d5
--- /dev/null
+++ b/pkgs/development/python-modules/mailchimp/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, docopt
+, requests
+}:
+
+buildPythonPackage rec {
+  version = "2.0.9";
+  pname = "mailchimp";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0351ai0jqv3dzx0xxm1138sa7mb42si6xfygl5ak8wnfc95ff770";
+  };
+
+  buildInputs = [ docopt ];
+  propagatedBuildInputs = [ requests ];
+  patchPhase = ''
+    sed -i 's/==/>=/' setup.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A CLI client and Python API library for the MailChimp email platform";
+    homepage = "http://apidocs.mailchimp.com/api/2.0/";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/manuel/default.nix b/pkgs/development/python-modules/manuel/default.nix
new file mode 100644
index 000000000000..1030ee215562
--- /dev/null
+++ b/pkgs/development/python-modules/manuel/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, six
+, zope_testing
+}:
+
+buildPythonPackage rec {
+  pname = "manuel";
+  version = "1.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59";
+  };
+
+  propagatedBuildInputs = [ six zope_testing ];
+
+  meta = with stdenv.lib; {
+    description = "A documentation builder";
+    homepage = https://pypi.python.org/pypi/manuel;
+    license = licenses.zpl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mapsplotlib/default.nix b/pkgs/development/python-modules/mapsplotlib/default.nix
new file mode 100644
index 000000000000..861f3069bb02
--- /dev/null
+++ b/pkgs/development/python-modules/mapsplotlib/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, matplotlib
+, scipy
+, pandas
+, requests
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "mapsplotlib";
+  version = "1.0.6";
+
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "09gpws3x0jd88n636baxx5izjffrpjy4j6jl8l7vj29yzvrdr2bp";
+  };
+
+  propagatedBuildInputs = [ matplotlib scipy pandas requests pillow ];
+
+  meta = with stdenv.lib; {
+    description = "Custom Python plots on a Google Maps background";
+    homepage = https://github.com/tcassou/mapsplotlib;
+    license = licenses.mit;
+    maintainers = [ maintainers.rob ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/markdown-macros/default.nix b/pkgs/development/python-modules/markdown-macros/default.nix
new file mode 100644
index 000000000000..98dce9130464
--- /dev/null
+++ b/pkgs/development/python-modules/markdown-macros/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, fetchpatch
+, markdown
+}:
+
+buildPythonPackage rec {
+  pname = "markdown-macros";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lzvrb7nci22yp21ab2qqc9p0fhkazqj29vw0wln2r4ckb2nbawv";
+  };
+
+  patches = [
+    # Fixes a bug with markdown>2.4
+    (fetchpatch {
+      url = "https://github.com/wnielson/markdown-macros/pull/1.patch";
+      sha256 = "17njbgq2srzkf03ar6yn92frnsbda3g45cdi529fdh0x8mmyxci0";
+    })
+  ];
+
+  prePatch = ''
+    substituteInPlace setup.py --replace "distribute" "setuptools"
+  '';
+
+  propagatedBuildInputs = [ markdown ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An extension for python-markdown that makes writing trac-like macros easy";
+    homepage = https://github.com/wnielson/markdown-macros;
+    license = licenses.mit;
+    maintainers = [ maintainers.abigailbuccaneer ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/markdown2/default.nix b/pkgs/development/python-modules/markdown2/default.nix
index f49b2630b6c7..a07e0b14fdce 100644
--- a/pkgs/development/python-modules/markdown2/default.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "markdown2";
-  version = "2.3.5";
+  version = "2.3.6";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "8bb9a24eb2aa02f1427aabe46483f0f0215ab18c8a345315ae8e2ee3c3a09c03";
+    sha256 = "08a124043aa0ad36ba2136239547d5011a2b770278abb11a5609611e0040ea05";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/markupsafe/default.nix b/pkgs/development/python-modules/markupsafe/default.nix
new file mode 100644
index 000000000000..069b71de00d3
--- /dev/null
+++ b/pkgs/development/python-modules/markupsafe/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "MarkupSafe";
+  version = "1.0";
+
+ src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Implements a XML/HTML/XHTML Markup safe string";
+    homepage = http://dev.pocoo.org;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ domenkozar garbas ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/marshmallow/default.nix b/pkgs/development/python-modules/marshmallow/default.nix
index 20543faeb16b..cd4e86d4687a 100644
--- a/pkgs/development/python-modules/marshmallow/default.nix
+++ b/pkgs/development/python-modules/marshmallow/default.nix
@@ -4,7 +4,7 @@
 
 buildPythonPackage rec {
   pname = "marshmallow";
-  version = "2.15.4";
+  version = "2.15.6";
 
   meta = {
     homepage = "https://github.com/marshmallow-code/marshmallow";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0f3776aa5b5405f6000c9304841abe6d4d708bb08207fc89a5ecd86622ec9e54";
+    sha256 = "485ac6ed0dff5e1af6ea1e3a54425a448968f581b065424c89a5375e4d4866fd";
   };
 
   propagatedBuildInputs = [ dateutil simplejson ];
diff --git a/pkgs/development/python-modules/mathics/default.nix b/pkgs/development/python-modules/mathics/default.nix
new file mode 100644
index 000000000000..b20cc0709092
--- /dev/null
+++ b/pkgs/development/python-modules/mathics/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, django
+, python
+, cython
+, sympy
+, ply
+, mpmath
+, dateutil
+, colorama
+, six
+, pexpect
+}:
+
+if (stdenv.lib.versionOlder django.version "1.8") ||
+   (stdenv.lib.versionAtLeast django.version "1.9")
+   then throw "mathics only supports django-1.8.x"
+   else buildPythonPackage rec {
+  pname = "mathics";
+  version = "0.9";
+
+  src = fetchFromGitHub {
+    owner = "mathics";
+    repo = "Mathics";
+    rev = "v${version}";
+    sha256 = "0xzz7j8xskj5y6as178mjmm0i2xbhd4q4mwmdnvghpd2aqq3qx1c";
+  };
+
+  buildInputs = [ pexpect ];
+
+  prePatch = ''
+    substituteInPlace setup.py --replace "sympy==0.7.6" "sympy"
+  '';
+
+  postFixup = ''
+    wrapPythonProgramsIn $out/bin $out
+    patchPythonScript $out/${python.sitePackages}/mathics/manage.py
+  '';
+
+  propagatedBuildInputs = [ cython sympy django ply mpmath dateutil colorama six ];
+
+  meta = with stdenv.lib; {
+    description = "A general-purpose computer algebra system";
+    homepage = http://www.mathics.org;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.benley ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/mechanize/default.nix b/pkgs/development/python-modules/mechanize/default.nix
new file mode 100644
index 000000000000..d797190cb896
--- /dev/null
+++ b/pkgs/development/python-modules/mechanize/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, html5lib
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "mechanize";
+  version = "0.3.5";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0rki9nl4y42q694parafcsdcdqvkdjckrbg6n0691302lfsrkyfl";
+  };
+
+  propagatedBuildInputs = [ html5lib ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Stateful programmatic web browsing in Python";
+    homepage = http://wwwsearch.sourceforge.net/;
+    license = "BSD-style";
+  };
+
+}
diff --git a/pkgs/development/python-modules/meld3/default.nix b/pkgs/development/python-modules/meld3/default.nix
new file mode 100644
index 000000000000..12b518484bc2
--- /dev/null
+++ b/pkgs/development/python-modules/meld3/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "meld3";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "57b41eebbb5a82d4a928608962616442e239ec6d611fe6f46343e765e36f0b2b";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "An HTML/XML templating engine used by supervisor";
+    homepage = https://github.com/supervisor/meld3;
+    license = licenses.free;
+  };
+
+}
diff --git a/pkgs/development/python-modules/memcached/default.nix b/pkgs/development/python-modules/memcached/default.nix
new file mode 100644
index 000000000000..854f7440daa1
--- /dev/null
+++ b/pkgs/development/python-modules/memcached/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "memcached-1.51";
+  version = "1.51";
+
+  src = if isPy3k then fetchPypi {
+    inherit pname version;
+    sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw";
+  } else fetchurl {
+    url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${pname}-${version}.tar.gz";
+    sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python API for communicating with the memcached distributed memory object cache daemon";
+    homepage = http://www.tummy.com/Community/software/python-memcached/;
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/memory_profiler/default.nix b/pkgs/development/python-modules/memory_profiler/default.nix
new file mode 100644
index 000000000000..5f40ce0f1aad
--- /dev/null
+++ b/pkgs/development/python-modules/memory_profiler/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "memory_profiler";
+  version = "0.41";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "dce6e931c281662a500b142595517d095267216472c2926e5ec8edab89898d10";
+  };
+
+  # Tests don't import profile
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A module for monitoring memory usage of a python program";
+    homepage = https://pypi.python.org/pypi/memory_profiler;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mezzanine/default.nix b/pkgs/development/python-modules/mezzanine/default.nix
new file mode 100644
index 000000000000..1a7478b266ab
--- /dev/null
+++ b/pkgs/development/python-modules/mezzanine/default.nix
@@ -0,0 +1,70 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, pyflakes
+, pep8
+, django
+, django_contrib_comments
+, filebrowser_safe
+, grappelli_safe
+, bleach
+, tzlocal
+, beautifulsoup4
+, requests
+, requests_oauthlib
+, future
+, pillow
+, chardet
+}:
+
+buildPythonPackage rec {
+  version = "4.3.1";
+  pname = "Mezzanine";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "42c7909953cc5aea91921b47d804b61e14893bf48a2a476ce49a96559a0fa1d3";
+  };
+
+  disabled = isPyPy;
+
+  buildInputs = [ pyflakes pep8 ];
+  propagatedBuildInputs = [ django django_contrib_comments filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4 requests requests_oauthlib future pillow chardet ];
+
+  # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+
+  doCheck = false;
+  # sed calls will be unecessary in v3.1.11+
+  preConfigure = ''
+    sed -i 's/==/>=/' setup.py
+  '';
+
+  LC_ALL="en_US.UTF-8";
+
+  meta = with stdenv.lib; {
+    description = ''
+      A content management platform built using the Django framework
+    '';
+    longDescription = ''
+      Mezzanine is a powerful, consistent, and flexible content
+      management platform. Built using the Django framework, Mezzanine
+      provides a simple yet highly extensible architecture that
+      encourages diving in and hacking on the code. Mezzanine is BSD
+      licensed and supported by a diverse and active community.
+
+      In some ways, Mezzanine resembles tools such as Wordpress that
+      provide an intuitive interface for managing pages, blog posts,
+      form data, store products, and other types of content. But
+      Mezzanine is also different.  Unlike many other platforms that
+      make extensive use of modules or reusable applications,
+      Mezzanine provides most of its functionality by default. This
+      approach yields a more integrated and efficient platform.
+    '';
+    homepage = http://mezzanine.jupo.org/;
+    downloadPage = https://github.com/stephenmcd/mezzanine/releases;
+    license = licenses.free;
+    maintainers = with maintainers; [ prikhi ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mezzanine/writable_settings.patch b/pkgs/development/python-modules/mezzanine/writable_settings.patch
deleted file mode 100644
index 4b5be7b5950c..000000000000
--- a/pkgs/development/python-modules/mezzanine/writable_settings.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur mezzanine-3.1.10/mezzanine/bin/mezzanine_project.py mezzanine-3.1.10-patched/mezzanine/bin/mezzanine_project.py
---- mezzanine-3.1.10/mezzanine/bin/mezzanine_project.py	2014-08-30 07:12:19.000000000 +0200
-+++ mezzanine-3.1.10-patched/mezzanine/bin/mezzanine_project.py	2016-10-31 14:47:30.982401818 +0100
-@@ -5,6 +5,7 @@
- from distutils.dir_util import copy_tree
- from optparse import OptionParser
- import os
-+import stat
- from shutil import move
- from uuid import uuid4
- 
-@@ -61,6 +62,9 @@
-         copy_tree(os.path.join(package_path, "project_template"), project_path)
-         move(local_settings_path + ".template", local_settings_path)
- 
-+    os.chmod(local_settings_path,
-+             os.stat(local_settings_path).st_mode | stat.S_IWRITE)
-+
-     # Generate a unique SECRET_KEY for the project's setttings module.
-     with open(local_settings_path, "r") as f:
-         data = f.read()
diff --git a/pkgs/development/python-modules/micawber/default.nix b/pkgs/development/python-modules/micawber/default.nix
index 5e3afe05ea79..3425440390dd 100644
--- a/pkgs/development/python-modules/micawber/default.nix
+++ b/pkgs/development/python-modules/micawber/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "micawber";
-  version = "0.3.5";
+  version = "0.3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pnq6j8f144virhri0drgf0058x6qcxfd5yrb0ynbwr8djh326yn";
+    sha256 = "2e128db870cf3a351f5c680b6d1ae7e097a7ff6c70c8ba78c7d3be8e3d3c20bd";
   };
 
   propagatedBuildInputs = [ beautifulsoup4 ];
diff --git a/pkgs/development/python-modules/minidb/default.nix b/pkgs/development/python-modules/minidb/default.nix
new file mode 100644
index 000000000000..209ecf998ccf
--- /dev/null
+++ b/pkgs/development/python-modules/minidb/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "minidb";
+  version = "2.0.2";
+
+  src = fetchurl {
+    url = "https://github.com/thp/minidb/archive/${version}.tar.gz";
+    sha256 = "17rvkpq8v7infvbgsi48vnxamhxb3f635nqn0sln7yyvh4i9k8a0";
+  };
+
+  checkInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple SQLite3-based store for Python objects";
+    homepage = https://thp.io/2010/minidb/;
+    license = stdenv.lib.licenses.isc;
+    maintainers = [ stdenv.lib.maintainers.tv ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/minimock/default.nix b/pkgs/development/python-modules/minimock/default.nix
new file mode 100644
index 000000000000..71409785b77d
--- /dev/null
+++ b/pkgs/development/python-modules/minimock/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, nose
+}:
+
+buildPythonPackage rec {
+  version = "1.2.8";
+  pname = "minimock";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/jab/minimock/get/${version}.zip";
+    sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a";
+  };
+
+  buildInputs = [ nose ];
+
+  checkPhase = "./test";
+
+  meta = with stdenv.lib; {
+    description = "A minimalistic mocking library for python";
+    homepage = https://pypi.python.org/pypi/MiniMock;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mixpanel/default.nix b/pkgs/development/python-modules/mixpanel/default.nix
new file mode 100644
index 000000000000..6a99913c6c8b
--- /dev/null
+++ b/pkgs/development/python-modules/mixpanel/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchzip
+, pytest
+, mock
+, six
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  version = "4.0.2";
+  pname = "mixpanel";
+  disabled = isPy3k;
+
+  src = fetchzip {
+    url = "https://github.com/mixpanel/mixpanel-python/archive/${version}.zip";
+    sha256 = "0yq1bcsjzsz7yz4rp69izsdn47rvkld4wki2xmapp8gg2s9i8709";
+  };
+
+  buildInputs = [ pytest mock ];
+  propagatedBuildInputs = [ six ];
+  checkPhase = "py.test tests.py";
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mixpanel/mixpanel-python;
+    description = ''This is the official Mixpanel Python library'';
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mock/default.nix b/pkgs/development/python-modules/mock/default.nix
new file mode 100644
index 000000000000..142383b8db7e
--- /dev/null
+++ b/pkgs/development/python-modules/mock/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, unittest2
+, funcsigs
+, six
+, pbr
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "mock";
+  version = "2.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i";
+  };
+
+  buildInputs = [ unittest2 ];
+  propagatedBuildInputs = [ funcsigs six pbr ];
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mock objects for Python";
+    homepage = http://python-mock.sourceforge.net/;
+    license = stdenv.lib.licenses.bsd2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/modestmaps/default.nix b/pkgs/development/python-modules/modestmaps/default.nix
new file mode 100644
index 000000000000..f0918e4bdb6f
--- /dev/null
+++ b/pkgs/development/python-modules/modestmaps/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pillow
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "ModestMaps";
+  version = "1.4.6";
+  disabled = !isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0vyi1m9q4pc34i6rq5agb4x3qicx5sjlbxwmxfk70k2l5mnbjca3";
+  };
+
+  propagatedBuildInputs = [ pillow ];
+
+  meta = with stdenv.lib; {
+    description = "A library for building interactive maps";
+    homepage = http://modestmaps.com;
+    license = stdenv.lib.licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/monotonic/default.nix b/pkgs/development/python-modules/monotonic/default.nix
new file mode 100644
index 000000000000..b736301e5efb
--- /dev/null
+++ b/pkgs/development/python-modules/monotonic/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "monotonic";
+  version = "1.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06vw7jwq96106plhlc5vz1v1xvjismdgw9wjyzvzf0ylglnrwiib";
+  };
+
+  __propagatedImpureHostDeps = stdenv.lib.optional stdenv.isDarwin "/usr/lib/libc.dylib";
+
+  patchPhase = stdenv.lib.optionalString stdenv.isLinux ''
+    substituteInPlace monotonic.py --replace \
+      "ctypes.util.find_library('c')" "'${stdenv.glibc.out}/lib/libc.so.6'"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "An implementation of time.monotonic() for Python 2 & < 3.3";
+    homepage = https://github.com/atdt/monotonic;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index f9d1fee8973b..4a32c5e3e373 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.3.5";
+  version = "1.3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52426f2567e51ba73fdc7c7d617236b7e7918dca2421caabe13e5290942b53d8";
+    sha256 = "58fe0a0d55cbd9a001c02c146c15790cfcebf010c6648cb9990e6c3204709cbb";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/moviepy/default.nix b/pkgs/development/python-modules/moviepy/default.nix
new file mode 100644
index 000000000000..63613b516868
--- /dev/null
+++ b/pkgs/development/python-modules/moviepy/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+, decorator
+, imageio
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "moviepy";
+  version = "0.2.2.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d937d817e534efc54eaee2fc4c0e70b48fcd81e1528cd6425f22178704681dc3";
+  };
+
+  # No tests
+  doCheck = false;
+  propagatedBuildInputs = [ numpy decorator imageio tqdm ];
+
+  meta = with stdenv.lib; {
+    description = "Video editing with Python";
+    homepage = http://zulko.github.io/moviepy/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mox/default.nix b/pkgs/development/python-modules/mox/default.nix
new file mode 100644
index 000000000000..d9b5a5aa111e
--- /dev/null
+++ b/pkgs/development/python-modules/mox/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+}:
+
+buildPythonPackage rec {
+  pname = "mox";
+  version = "0.5.3";
+
+  src = fetchurl {
+    url = "http://pymox.googlecode.com/files/${pname}-${version}.tar.gz";
+    sha256 = "4d18a4577d14da13d032be21cbdfceed302171c275b72adaa4c5997d589a5030";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/pymox/;
+    description = "A mock object framework for Python";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mozsvc/default.nix b/pkgs/development/python-modules/mozsvc/default.nix
new file mode 100644
index 000000000000..b7fed9e6ad98
--- /dev/null
+++ b/pkgs/development/python-modules/mozsvc/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, fetchurl
+, pyramid
+, simplejson
+, konfig
+}:
+
+buildPythonPackage rec {
+  pname = "mozsvc";
+  version = "0.8";
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/mozservices.git;
+    rev = "refs/tags/${version}";
+    sha256 = "1zci2ikk83mf7va88c83dr6snfh4ddjqw0lsg3y29qk5nxf80vx2";
+  };
+
+  patches = stdenv.lib.singleton (fetchurl {
+    url = https://github.com/nbp/mozservices/commit/f86c0b0b870cd8f80ce90accde9e16ecb2e88863.diff;
+    sha256 = "1lnghx821f6dqp3pa382ka07cncdz7hq0mkrh44d0q3grvrlrp9n";
+  });
+
+  doCheck = false; # lazy packager
+  propagatedBuildInputs = [ pyramid simplejson konfig ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mozilla-services/mozservices;
+    description = "Various utilities for Mozilla apps";
+    license = licenses.mpl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mpd/default.nix b/pkgs/development/python-modules/mpd/default.nix
new file mode 100644
index 000000000000..48693293458e
--- /dev/null
+++ b/pkgs/development/python-modules/mpd/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "python-mpd";
+  version = "0.3.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02812eba1d2e0f46e37457f5a6fa23ba203622e4bcab0a19b265e66b08cd21b4";
+  };
+
+  meta = with stdenv.lib; {
+    description = "An MPD (Music Player Daemon) client library written in pure Python";
+    homepage = http://jatreuman.indefero.net/p/python-mpd/;
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix
new file mode 100644
index 000000000000..3669b8dddbf8
--- /dev/null
+++ b/pkgs/development/python-modules/mpd2/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "mpd2";
+  version = "0.5.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1gfrxf71xll1w6zb69znqg5c9j0g7036fsalkvqprh2id640cl3a";
+  };
+
+  buildInputs = [ mock ];
+  patchPhase = ''
+    sed -i -e '/tests_require/d' \
+        -e 's/cmdclass.*/test_suite="mpd_test",/' setup.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python client module for the Music Player Daemon";
+    homepage = "https://github.com/Mic92/python-mpd2";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ rvl mic92 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/mpmath/default.nix b/pkgs/development/python-modules/mpmath/default.nix
new file mode 100644
index 000000000000..50e68352e782
--- /dev/null
+++ b/pkgs/development/python-modules/mpmath/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "mpmath";
+  version = "0.19";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage    = http://mpmath.googlecode.com;
+    description = "A pure-Python library for multiprecision floating arithmetic";
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mpv/default.nix b/pkgs/development/python-modules/mpv/default.nix
new file mode 100644
index 000000000000..cd9ca9451b8b
--- /dev/null
+++ b/pkgs/development/python-modules/mpv/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "mpv";
+  version = "0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0b9kd70mshdr713f3l1lbnz1q0vlg2y76h5d8liy1bzqm7hjcgfw";
+  };
+
+  buildInputs = [ pkgs.mpv ];
+  patchPhase = "substituteInPlace mpv.py --replace libmpv.so ${pkgs.mpv}/lib/libmpv.so";
+
+  meta = with stdenv.lib; {
+    description = "A python interface to the mpv media player";
+    homepage = "https://github.com/jaseg/python-mpv";
+    license = licenses.agpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/msgpack-numpy/default.nix b/pkgs/development/python-modules/msgpack-numpy/default.nix
index e04e9d1e802d..06063fd8b998 100644
--- a/pkgs/development/python-modules/msgpack-numpy/default.nix
+++ b/pkgs/development/python-modules/msgpack-numpy/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "msgpack-numpy";
-  version = "0.4.3.1";
+  version = "0.4.4.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "31fd5dd009bbee7f8b107db8c859e3a0a2793acc196f25ffbbae1e71b4c63ca5";
+    sha256 = "ac15d3a7b9e29d3e10a2683dc00ea495891b9b4cbb502ab0b0d2e516bd0b2eab";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/msrplib/default.nix b/pkgs/development/python-modules/msrplib/default.nix
new file mode 100644
index 000000000000..32a759a6a49e
--- /dev/null
+++ b/pkgs/development/python-modules/msrplib/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchdarcs
+, eventlib
+, application
+, gnutls
+}:
+
+buildPythonPackage rec {
+  pname = "python-msrplib";
+  version = "0.19";
+
+  src = fetchdarcs {
+    url = "http://devel.ag-projects.com/repositories/${pname}";
+    rev = "release-${version}";
+    sha256 = "0jqvvssbwzq7bwqn3wrjfnpj8zb558mynn2visnlrcma6b57yhwd";
+  };
+
+  propagatedBuildInputs = [ eventlib application gnutls ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/AGProjects/python-msrplib;
+    description = "Client library for MSRP protocol and its relay extension (RFC 4975 and RFC4976)";
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/multi_key_dict/default.nix b/pkgs/development/python-modules/multi_key_dict/default.nix
new file mode 100644
index 000000000000..a094b373f8f3
--- /dev/null
+++ b/pkgs/development/python-modules/multi_key_dict/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "multi_key_dict";
+  version = "2.0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "17lkx4rf4waglwbhc31aak0f28c63zl3gx5k5i1iq2m3gb0xxsyy";
+  };
+
+  meta = with stdenv.lib; {
+    description = "multi_key_dict";
+    homepage = "https://github.com/formiaczek/multi_key_dict";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/munch/default.nix b/pkgs/development/python-modules/munch/default.nix
new file mode 100644
index 000000000000..490ff9033ed1
--- /dev/null
+++ b/pkgs/development/python-modules/munch/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "munch";
+  version = "2.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1420683a94f3a2ffc77935ddd28aa9ccb540dd02b75e02ed7ea863db437ab8b2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A dot-accessible dictionary (a la JavaScript objects)";
+    license = licenses.mit;
+    homepage = https://github.com/Infinidat/munch;
+  };
+
+}
diff --git a/pkgs/development/python-modules/munkres/default.nix b/pkgs/development/python-modules/munkres/default.nix
new file mode 100644
index 000000000000..af69834dd6f6
--- /dev/null
+++ b/pkgs/development/python-modules/munkres/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "munkres";
+  version = "1.0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c78f803b9b776bfb20a25c9c7bb44adbf0f9202c2024d51aa5969d21e560208d";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://bmc.github.com/munkres/;
+    description = "Munkres algorithm for the Assignment Problem";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/musicbrainzngs/default.nix b/pkgs/development/python-modules/musicbrainzngs/default.nix
new file mode 100644
index 000000000000..fd8cd516a922
--- /dev/null
+++ b/pkgs/development/python-modules/musicbrainzngs/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "musicbrainzngs";
+  version = "0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "281388ab750d2996e9feca4580fd4215d616a698e02cd6719cb9b8562945c489";
+  };
+
+  buildInputs = [ pkgs.glibcLocales ];
+
+  LC_ALL="en_US.UTF-8";
+
+  meta = with stdenv.lib; {
+    homepage = http://alastair/python-musicbrainz-ngs;
+    description = "Python bindings for musicbrainz NGS webservice";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/mutag/default.nix b/pkgs/development/python-modules/mutag/default.nix
new file mode 100644
index 000000000000..3fbb36a37188
--- /dev/null
+++ b/pkgs/development/python-modules/mutag/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy3k
+, pyparsing
+}:
+
+buildPythonPackage rec {
+  name = "mutag-0.0.2-2ffa0258ca";
+  disabled = ! isPy3k;
+
+  src = fetchgit {
+    url = "https://github.com/aroig/mutag.git";
+    sha256 = "0axdnwdypfd74a9dnw0g25m16xx1yygyl828xy0kpj8gyqdc6gb1";
+    rev = "2ffa0258cadaf79313241f43bf2c1caaf197d9c2";
+  };
+
+  propagatedBuildInputs = [ pyparsing ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/aroig/mutag;
+    description = "A script to change email tags in a mu indexed maildir";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/muttils/default.nix b/pkgs/development/python-modules/muttils/default.nix
new file mode 100644
index 000000000000..904284e5b332
--- /dev/null
+++ b/pkgs/development/python-modules/muttils/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "muttils";
+  version = "1.3";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = https://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2;
+    sha256 = "1a4kxa0fpgg6rdj5p4kggfn8xpniqh8v5kbiaqc6wids02m7kag6";
+  };
+
+  # Tests don't work
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Utilities for use with console mail clients, like mutt";
+    homepage = https://www.blacktrash.org/hg/muttils;
+    license = licenses.gpl2Plus;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mwclient/default.nix b/pkgs/development/python-modules/mwclient/default.nix
index 186bc26f002f..3544bd631a54 100644
--- a/pkgs/development/python-modules/mwclient/default.nix
+++ b/pkgs/development/python-modules/mwclient/default.nix
@@ -23,8 +23,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python client library to the MediaWiki API";
-    maintainers = with maintainers; [ ];
     license = licenses.mit;
     homepage = https://github.com/mwclient/mwclient;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/mwlib-ext/default.nix b/pkgs/development/python-modules/mwlib-ext/default.nix
new file mode 100644
index 000000000000..cfcbdc2d0ac3
--- /dev/null
+++ b/pkgs/development/python-modules/mwlib-ext/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  version = "0.13.2";
+  pname = "mwlib.ext";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "9229193ee719568d482192d9d913b3c4bb96af7c589d6c31ed4a62caf5054278";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Dependencies for mwlib markup";
+    homepage = "http://pediapress.com/code/";
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mwlib-rl/default.nix b/pkgs/development/python-modules/mwlib-rl/default.nix
new file mode 100644
index 000000000000..21820d95c7fa
--- /dev/null
+++ b/pkgs/development/python-modules/mwlib-rl/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mwlib
+, mwlib-ext
+, pygments
+}:
+
+buildPythonPackage rec {
+  version = "0.14.5";
+  pname = "mwlib.rl";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "dddf9603ea0ca5aa87890217709eb5a5b16baeca547db3daad43c3ace73b6bc1";
+  };
+
+  buildInputs = [ mwlib mwlib-ext pygments ];
+
+  meta = with stdenv.lib; {
+    description = "Generate pdfs from mediawiki markup";
+    homepage = "http://pediapress.com/code/";
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/mwlib/default.nix b/pkgs/development/python-modules/mwlib/default.nix
new file mode 100644
index 000000000000..55a19e1a6da3
--- /dev/null
+++ b/pkgs/development/python-modules/mwlib/default.nix
@@ -0,0 +1,55 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, apipkg
+, bottle
+, gevent
+, lxml
+, odfpy
+, pillow
+, py
+, pyPdf
+, pyparsing
+, qserve
+, roman
+, simplejson
+, sqlite3dbm
+, timelib
+, pytest
+}:
+
+buildPythonPackage rec {
+  version = "0.16.1";
+  pname = "mwlib";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1dnmnkc21zdfaypskbpvkwl0wpkpn0nagj1fc338w64mbxrk8ny7";
+  };
+
+  propagatedBuildInputs = [ apipkg bottle gevent lxml odfpy pillow py pyPdf pyparsing qserve roman simplejson sqlite3dbm timelib ];
+
+  checkInputs = [ pytest ];
+
+  postPatch = ''
+    sed -i "s/odfpy>=0.9, <0.10/odfpy/" setup.py
+    sed -i "s/pyparsing>=1.4.11,<1.6/pyparsing/" setup.py
+  '';
+
+  checkPhase = ''
+    py.test
+  '';
+
+  # Tests are in build directory but we need extension modules that are in $out
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Library for parsing MediaWiki articles and converting them to different output formats";
+    homepage = "http://pediapress.com/code/";
+    license = licenses.bsd3;
+    # broken = true; # Requires different versions of packages
+  };
+
+}
diff --git a/pkgs/development/python-modules/mxnet/default.nix b/pkgs/development/python-modules/mxnet/default.nix
new file mode 100644
index 000000000000..317f79ebe081
--- /dev/null
+++ b/pkgs/development/python-modules/mxnet/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, pkgs
+, requests
+, numpy
+, graphviz
+, python
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  inherit (pkgs.mxnet) name version src meta;
+
+  buildInputs = [ pkgs.mxnet ];
+  propagatedBuildInputs = [ requests numpy graphviz ];
+
+  LD_LIBRARY_PATH = stdenv.lib.makeLibraryPath [ pkgs.mxnet ];
+
+  doCheck = !isPy3k;
+
+  postPatch = ''
+    substituteInPlace python/setup.py \
+    --replace "graphviz<0.9.0" "graphviz<0.10.0" \
+    --replace "numpy<=1.15.0" "numpy<1.16.0" \
+    --replace "requests<2.19.0" "requests<2.20.0"
+  '';
+
+  preConfigure = ''
+    cd python
+  '';
+
+  postInstall = ''
+    rm -rf $out/mxnet
+    ln -s ${pkgs.mxnet}/lib/libmxnet.so $out/${python.sitePackages}/mxnet
+  '';
+
+}
diff --git a/pkgs/development/python-modules/mysql_python/default.nix b/pkgs/development/python-modules/mysql_python/default.nix
new file mode 100644
index 000000000000..a38f7e02e1cd
--- /dev/null
+++ b/pkgs/development/python-modules/mysql_python/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, nose
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "MySQL-python";
+  version = "1.2.5";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
+  };
+
+  buildInputs = [ nose ];
+  propagatedBuildInputs = [ pkgs.mysql.connector-c ];
+
+  # plenty of failing tests
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "MySQL database binding for Python";
+    homepage = https://sourceforge.net/projects/mysql-python;
+    license = licenses.gpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/namebench/default.nix b/pkgs/development/python-modules/namebench/default.nix
new file mode 100644
index 000000000000..a930f250d80c
--- /dev/null
+++ b/pkgs/development/python-modules/namebench/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, buildPythonPackage
+, isPy3k
+, isPyPy
+, fetchurl
+, tkinter
+}:
+
+buildPythonPackage rec {
+  pname = "namebench";
+  version = "1.3.1";
+  disabled = isPy3k || isPyPy;
+
+  src = fetchurl {
+    url = "http://namebench.googlecode.com/files/${pname}-${version}-source.tgz";
+    sha256 = "09clbcd6wxgk4r6qw7hb78h818mvca7lijigy1mlq5y1f3lgkk1h";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  propagatedBuildInputs = [ tkinter ];
+
+  # namebench expects to be run from its own source tree (it uses relative
+  # paths to various resources), make it work.
+  postInstall = ''
+    sed -i "s|import os|import os; os.chdir(\"$out/namebench\")|" "$out/bin/namebench.py"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://namebench.googlecode.com/;
+    description = "Find fastest DNS servers available";
+    license = with licenses; [
+      asl20
+      # third-party program licenses (embedded in the sources)
+      "LGPL" # Crystal_Clear
+      free # dns
+      asl20 # graphy
+      "BSD" # jinja2
+    ];
+    longDescription = ''
+      It hunts down the fastest DNS servers available for your computer to
+      use. namebench runs a fair and thorough benchmark using your web
+      browser history, tcpdump output, or standardized datasets in order
+      to provide an individualized recommendation. namebench is completely
+      free and does not modify your system in any way.
+    '';
+  };
+
+}
diff --git a/pkgs/development/python-modules/nameparser/default.nix b/pkgs/development/python-modules/nameparser/default.nix
new file mode 100644
index 000000000000..a3e67fa7b985
--- /dev/null
+++ b/pkgs/development/python-modules/nameparser/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "nameparser";
+  version = "0.3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zi94m99ziwwd6kkip3w2xpnl05r2cfv9iq68inz7np81c3g8vag";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A simple Python module for parsing human names into their individual components";
+    homepage = https://github.com/derek73/python-nameparser;
+    license = licenses.lgpl21Plus;
+  };
+
+}
diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix
index 9933e849d0be..24016ef8b104 100644
--- a/pkgs/development/python-modules/ncclient/default.nix
+++ b/pkgs/development/python-modules/ncclient/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "ncclient";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6616828f9c5d318906dae22378a78342bbfa5983f1775c1af8bfecc779434c38";
+    sha256 = "3ab58ee0d71069cb5b0e2f29a4e605d1d8417bd10af45b73ee3e817fe389fadc";
   };
 
   checkInputs = [ nose rednose ];
diff --git a/pkgs/development/python-modules/ndg-httpsclient/default.nix b/pkgs/development/python-modules/ndg-httpsclient/default.nix
new file mode 100644
index 000000000000..780f2c330860
--- /dev/null
+++ b/pkgs/development/python-modules/ndg-httpsclient/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  version = "0.4.2";
+  pname = "ndg-httpsclient";
+
+  propagatedBuildInputs = [ pyopenssl ];
+
+  src = fetchFromGitHub {
+    owner = "cedadev";
+    repo = "ndg_httpsclient";
+    rev = version;
+    sha256 = "1kk4knv029j0cicfiv23c1rayc1n3f1j3rhl0527gxiv0qv4jw8h";
+  };
+
+  # uses networking
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/cedadev/ndg_httpsclient/;
+    description = "Provide enhanced HTTPS support for httplib and urllib2 using PyOpenSSL";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/netaddr/default.nix b/pkgs/development/python-modules/netaddr/default.nix
new file mode 100644
index 000000000000..eed3d758054b
--- /dev/null
+++ b/pkgs/development/python-modules/netaddr/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "netaddr";
+  version = "0.7.19";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd";
+  };
+
+  LC_ALL = "en_US.UTF-8";
+  buildInputs = [ pkgs.glibcLocales pytest ];
+
+  checkPhase = ''
+    py.test netaddr/tests
+  '';
+
+  patches = [
+    (pkgs.fetchpatch {
+      url = https://github.com/drkjam/netaddr/commit/2ab73f10be7069c9412e853d2d0caf29bd624012.patch;
+      sha256 = "0s1cdn9v5alpviabhcjmzc0m2pnpq9dh2fnnk2x96dnry1pshg39";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/drkjam/netaddr/;
+    description = "A network address manipulation library for Python";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/netifaces/default.nix b/pkgs/development/python-modules/netifaces/default.nix
new file mode 100644
index 000000000000..8f762fb0c3d5
--- /dev/null
+++ b/pkgs/development/python-modules/netifaces/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.10.6";
+  pname = "netifaces";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1q7bi5k2r955rlcpspx4salvkkpk28jky67fjbpz2dkdycisak8c";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://alastairs-place.net/projects/netifaces/;
+    description = "Portable access to network interfaces from Python";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/neuronpy/default.nix b/pkgs/development/python-modules/neuronpy/default.nix
new file mode 100644
index 000000000000..1d258effda7d
--- /dev/null
+++ b/pkgs/development/python-modules/neuronpy/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, numpy
+, matplotlib
+, scipy
+, isPy27
+}:
+
+buildPythonPackage rec {
+  pname = "neuronpy";
+  version = "0.1.6";
+  disabled = !isPy27;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1clhc2b5fy2l8nfrji4dagmj9419nj6kam090yqxhq5c28sngk25";
+  };
+
+  propagatedBuildInputs = [ numpy matplotlib scipy ];
+
+  #No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Interfaces and utilities for the NEURON simulator and analysis of neural data";
+    maintainers = [ maintainers.nico202 ];
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nine/default.nix b/pkgs/development/python-modules/nine/default.nix
new file mode 100644
index 000000000000..a6b163ed456f
--- /dev/null
+++ b/pkgs/development/python-modules/nine/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "nine";
+  version = "0.3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1zrsbm0hajfvklkhgysp81hy632a3bdakp31m0lcpd9xbp5265zy";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Let's write Python 3 right now!";
+    homepage = "https://github.com/nandoflorestan/nine";
+    license = licenses.free;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nipy/default.nix b/pkgs/development/python-modules/nipy/default.nix
new file mode 100644
index 000000000000..8ff7bbe24167
--- /dev/null
+++ b/pkgs/development/python-modules/nipy/default.nix
@@ -0,0 +1,49 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, nose
+, matplotlib
+, nibabel
+, numpy
+, scipy
+, sympy
+, python
+}:
+
+buildPythonPackage rec {
+  version = "0.4.0";
+  pname = "nipy";
+  disabled = pythonOlder "2.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1hnbn2i4fjxflaaz082s2c57hfp59jfra1zayz1iras5p2dy21nr";
+  };
+
+  buildInputs = stdenv.lib.optional doCheck [ nose ];
+  propagatedBuildInputs = [ matplotlib nibabel numpy scipy sympy ];
+
+  checkPhase = ''    # wants to be run in a different directory
+    mkdir nosetests
+    cd nosetests
+    ${python.interpreter} -c "import nipy; nipy.test()"
+    rm -rf .
+  '';
+
+  # failing test:
+  # nipy.algorithms.statistics.models.tests.test_olsR.test_results(11.593139639404727, 11.593140144880794, 6)  # disagrees by 1 at 6th decimal place
+  # erroring tests:
+  # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_altprotocol
+  # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_agreement
+  # nipy.tests.test_scripts.test_nipy_4d_realign   # because `nipy_4d_realign` script isn't found at test time; works from nix-shell, so could be patched
+  # nipy.tests.test_scripts.test_nipy_3_4d         # ditto re.: `nipy_3_4d` script
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://nipy.org/nipy/;
+    description = "Software for structural and functional neuroimaging analysis";
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nipype/default.nix b/pkgs/development/python-modules/nipype/default.nix
index a092123da826..3d8258aeb7bb 100644
--- a/pkgs/development/python-modules/nipype/default.nix
+++ b/pkgs/development/python-modules/nipype/default.nix
@@ -36,11 +36,11 @@ assert !isPy3k -> configparser != null;
 
 buildPythonPackage rec {
   pname = "nipype";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f2fe29bf863cb643bd5c8d2bdeaaf488308c293c9fb9913bc7a9504dc3bf8db6";
+    sha256 = "c14856f3d4823aa5d63d0c19e8f04d70c74e156361ce607d86694046bab06806";
   };
 
   # see https://github.com/nipy/nipype/issues/2240
diff --git a/pkgs/development/python-modules/nixpkgs/default.nix b/pkgs/development/python-modules/nixpkgs/default.nix
new file mode 100644
index 000000000000..71c142436d9f
--- /dev/null
+++ b/pkgs/development/python-modules/nixpkgs/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pbr
+, pythonix
+, pythonAtLeast
+}:
+
+buildPythonPackage rec {
+  pname = "nixpkgs";
+  version = "0.2.2";
+  disabled = ! pythonAtLeast "3.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0gsrd99kkv99jsrh3hckz7ns1zwndi9vvh4465v4gnpz723dd6fj";
+  };
+
+  buildInputs = [ pbr ];
+  propagatedBuildInputs = [ pythonix ];
+
+  meta = with stdenv.lib; {
+    description = "Allows to `from nixpkgs import` stuff in interactive Python sessions";
+    homepage = http://github.com/t184256/nixpkgs-python-importer;
+    license = licenses.mit;
+    maintainers = with maintainers; [ t184256 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/nose-cover3/default.nix b/pkgs/development/python-modules/nose-cover3/default.nix
new file mode 100644
index 000000000000..273c0ab042f9
--- /dev/null
+++ b/pkgs/development/python-modules/nose-cover3/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "nose-cover3";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1";
+  };
+
+  propagatedBuildInputs = [ nose ];
+
+  # No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Coverage 3.x support for Nose";
+    homepage = https://github.com/ask/nosecover3;
+    license = licenses.lgpl21;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nose-cprof/default.nix b/pkgs/development/python-modules/nose-cprof/default.nix
new file mode 100644
index 000000000000..efafd6333dbb
--- /dev/null
+++ b/pkgs/development/python-modules/nose-cprof/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+
+buildPythonPackage rec {
+  pname = "nose-cprof";
+  version = "0.1.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ayy5mbjly9aa9dkgpz0l06flspnxmnj6wxdl6zr59byrrr8fqhw";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler";
+    homepage = https://github.com/msherry/nose-cprof;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nose/default.nix b/pkgs/development/python-modules/nose/default.nix
new file mode 100644
index 000000000000..bec5156d22e0
--- /dev/null
+++ b/pkgs/development/python-modules/nose/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+, coverage
+}:
+
+buildPythonPackage rec {
+  version = "1.3.7";
+  pname = "nose";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98";
+  };
+
+  propagatedBuildInputs = [ coverage ];
+
+  doCheck = false;  # lot's of transient errors, too much hassle
+  checkPhase = if python.is_py3k or false then ''
+    ${python}/bin/${python.executable} setup.py build_tests
+  '' else "" + ''
+    rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062
+    ${python}/bin/${python.executable} selftest.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A unittest-based testing framework for python that makes writing and running tests easier";
+    homepage = http://readthedocs.org/docs/nose/;
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
new file mode 100644
index 000000000000..9d5c1675359e
--- /dev/null
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "nose2";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0595rh6b6dncbj0jigsyrgrh6h8fsl6w1fr69h76mxv9nllv0rlr";
+  };
+
+  propagatedBuildInputs = [ six ];
+  # AttributeError: 'module' object has no attribute 'collector'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "nose2 is the next generation of nicer testing for Python";
+    homepage = https://github.com/nose-devs/nose2;
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nosejs/default.nix b/pkgs/development/python-modules/nosejs/default.nix
new file mode 100644
index 000000000000..82c01e8643f9
--- /dev/null
+++ b/pkgs/development/python-modules/nosejs/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "NoseJS";
+  version = "0.9.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy";
+  };
+
+  buildInputs = [ nose ];
+
+  checkPhase = ''
+    nosetests -v
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.org/project/NoseJS/;
+    description = "A Nose plugin for integrating JavaScript tests into a Python test suite";
+    license = licenses.free;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nosexcover/default.nix b/pkgs/development/python-modules/nosexcover/default.nix
new file mode 100644
index 000000000000..aa238bce79ad
--- /dev/null
+++ b/pkgs/development/python-modules/nosexcover/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, coverage
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "nosexcover";
+  version = "1.0.10";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "f5b3a7c936c4f703f15418c1f325775098184b69fa572f868edb8a99f8f144a8";
+  };
+
+  propagatedBuildInputs = [ coverage nose ];
+
+  meta = with stdenv.lib; {
+    description = "Extends nose.plugins.cover to add Cobertura-style XML reports";
+    homepage = https://github.com/cmheisel/nose-xcover/;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/notify/default.nix b/pkgs/development/python-modules/notify/default.nix
new file mode 100644
index 000000000000..f87424b439c6
--- /dev/null
+++ b/pkgs/development/python-modules/notify/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, fetchurl
+, python
+, pygobject2
+, pygtk
+, pkgs
+}:
+
+stdenv.mkDerivation rec {
+  name = "python-notify-${version}";
+  version = "0.1.1";
+
+  src = fetchurl {
+    url = http://www.galago-project.org/files/releases/source/notify-python/notify-python-0.1.1.tar.bz2;
+    sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx";
+  };
+
+  patches = stdenv.lib.singleton (fetchurl {
+    name = "libnotify07.patch";
+    url = "http://src.fedoraproject.org/cgit/notify-python.git/plain/"
+        + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
+    sha256 = "1lqdli13mfb59xxbq4rbq1f0znh6xr17ljjhwmzqb79jl3dig12z";
+  });
+
+  postPatch = ''
+    sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${pygtk}/bin/pygtk-codegen-2.0"|' \
+      configure
+  '';
+
+  nativeBuildInputs = [ pkgs.pkgconfig ];
+  buildInputs = [ python pygobject2 pygtk pkgs.libnotify pkgs.glib pkgs.gtk2 pkgs.dbus-glib ];
+
+  postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify .";
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for libnotify";
+    homepage = http://www.galago-project.org/;
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/notmuch/default.nix b/pkgs/development/python-modules/notmuch/default.nix
new file mode 100644
index 000000000000..207e59b85011
--- /dev/null
+++ b/pkgs/development/python-modules/notmuch/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, pkgs
+, python
+}:
+
+buildPythonPackage rec {
+  name = "python-${pkgs.notmuch.name}";
+
+  src = pkgs.notmuch.src;
+
+  sourceRoot = pkgs.notmuch.pythonSourceRoot;
+
+  buildInputs = [ python pkgs.notmuch ];
+
+  postPatch = ''
+    sed -i -e '/CDLL/s@"libnotmuch\.@"${pkgs.notmuch}/lib/libnotmuch.@' \
+      notmuch/globals.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python wrapper around notmuch";
+    homepage = https://notmuchmail.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ garbas ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ntfy/default.nix b/pkgs/development/python-modules/ntfy/default.nix
new file mode 100644
index 000000000000..5d54b0928b6f
--- /dev/null
+++ b/pkgs/development/python-modules/ntfy/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, appdirs
+, pyyaml
+, requests
+, dbus-python
+, emoji
+, sleekxmpp
+, mock
+}:
+
+buildPythonPackage rec {
+  version = "1.2.0";
+  pname = "ntfy";
+
+  src = fetchFromGitHub {
+    owner = "dschep";
+    repo = "ntfy";
+    rev = "v${version}";
+    sha256 = "0yjxwisxpxy3vpnqk9nw5k3db3xx6wyf6sk1px9m94s30glcq2cc";
+  };
+
+  propagatedBuildInputs = [ appdirs pyyaml requests dbus-python emoji sleekxmpp mock ];
+
+  meta = with stdenv.lib; {
+    description = "A utility for sending notifications, on demand and when commands finish";
+    homepage = http://ntfy.rtfd.org/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ kamilchm ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/ntplib/default.nix b/pkgs/development/python-modules/ntplib/default.nix
new file mode 100644
index 000000000000..d6506ae4b4ad
--- /dev/null
+++ b/pkgs/development/python-modules/ntplib/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ntplib";
+  version = "0.3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede";
+  };
+
+  # Require networking
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python NTP library";
+    homepage = http://code.google.com/p/ntplib/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/nuitka/default.nix b/pkgs/development/python-modules/nuitka/default.nix
new file mode 100644
index 000000000000..55eb4e7c97eb
--- /dev/null
+++ b/pkgs/development/python-modules/nuitka/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, vmprof
+, pyqt4
+, scons
+, isPyPy
+, pkgs
+}:
+
+let
+  # scons is needed but using it requires Python 2.7
+  # Therefore we create a separate env for it.
+  scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
+in buildPythonPackage rec {
+  version = "0.5.25";
+  pname = "Nuitka";
+
+  # Latest version is not yet on PyPi
+  src = fetchurl {
+    url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
+    sha256 = "11psz0pyj56adv4b3f47hl8jakvp2mc2c85s092a5rsv1la1a0aa";
+  };
+
+  buildInputs = stdenv.lib.optionals doCheck [ vmprof pyqt4 ];
+
+  propagatedBuildInputs = [ scons ];
+
+  postPatch = ''
+    patchShebangs tests/run-tests
+  '' + stdenv.lib.optionalString stdenv.isLinux ''
+    substituteInPlace nuitka/plugins/standard/ImplicitImports.py --replace 'locateDLL("uuid")' '"${pkgs.utillinux.out}/lib/libuuid.so"'
+  '';
+
+  # We do not want any wrappers here.
+  postFixup = '''';
+
+  checkPhase = ''
+    tests/run-tests
+  '';
+
+  # Problem with a subprocess (parts)
+  doCheck = false;
+
+  # Requires CPython
+  disabled = isPyPy;
+
+  meta = with stdenv.lib; {
+    description = "Python compiler with full language support and CPython compatibility";
+    license = licenses.asl20;
+    homepage = http://nuitka.net/;
+  };
+
+}
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index c66650c0abf2..87428f4563d9 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "numpy";
-  version = "1.15.1";
+  version = "1.15.2";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "7b9e37f194f8bcdca8e9e6af92e2cbad79e360542effc2dd6b98d63955d8d8a3";
+    sha256 = "27a0d018f608a3fe34ac5e2b876f4c23c47e38295c47dd0775cc294cd2614bc1";
   };
 
   disabled = isPyPy;
diff --git a/pkgs/development/python-modules/nxt-python/default.nix b/pkgs/development/python-modules/nxt-python/default.nix
new file mode 100644
index 000000000000..c9b523a266b9
--- /dev/null
+++ b/pkgs/development/python-modules/nxt-python/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, isPy3k
+, pyusb
+, pybluez
+, pyfantom
+, git
+}:
+
+buildPythonPackage rec {
+  version = "unstable-20160819";
+  pname = "nxt-python";
+  disabled = isPy3k;
+
+  src = fetchgit {
+    url = "http://github.com/Eelviny/nxt-python";
+    rev = "479e20b7491b28567035f4cee294c4a2af629297";
+    sha256 = "0mcsajhgm2wy4iy2lhmyi3xibgmbixbchanzmlhsxk6qyjccn9r9";
+    branchName= "pyusb";
+  };
+
+  propagatedBuildInputs = [ pyusb pybluez pyfantom git ];
+
+  # Tests fail on Mac dependency
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python driver/interface for Lego Mindstorms NXT robot";
+    homepage = https://github.com/Eelviny/nxt-python;
+    license = licenses.gpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ leenaars ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/oauth/default.nix b/pkgs/development/python-modules/oauth/default.nix
new file mode 100644
index 000000000000..a8e5c8bf53d2
--- /dev/null
+++ b/pkgs/development/python-modules/oauth/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "oauth";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0pdgi35hczsslil4890xqawnbpdazkgf2v1443847h5hy2gq2sg7";
+  };
+
+  # No tests included in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://code.google.com/p/oauth;
+    description = "Library for OAuth version 1.0a";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/oauth2/default.nix b/pkgs/development/python-modules/oauth2/default.nix
new file mode 100644
index 000000000000..e01ef7c902d9
--- /dev/null
+++ b/pkgs/development/python-modules/oauth2/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, httplib2
+, mock
+, coverage
+}:
+
+buildPythonPackage rec {
+  pname = "oauth2";
+  version = "1.9.0.post1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c006a85e7c60107c7cc6da1b184b5c719f6dd7202098196dfa6e55df669b59bf";
+  };
+
+  propagatedBuildInputs = [ httplib2 ];
+  buildInputs = [ mock coverage ];
+
+  # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/simplegeo/python-oauth2";
+    description = "Library for OAuth version 1.0";
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/oauth2client/default.nix b/pkgs/development/python-modules/oauth2client/default.nix
index 81742a99da8d..8500b53b244c 100644
--- a/pkgs/development/python-modules/oauth2client/default.nix
+++ b/pkgs/development/python-modules/oauth2client/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "oauth2client";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bd3062c06f8b10c6ef7a890b22c2740e5f87d61b6e1f4b1c90d069cdfc9dadb5";
+    sha256 = "d486741e451287f69568a4d26d70d9acd73a2bbfa275746c535b4209891cccc6";
   };
 
   propagatedBuildInputs = [ six httplib2 pyasn1-modules rsa ];
diff --git a/pkgs/development/python-modules/oauthlib/default.nix b/pkgs/development/python-modules/oauthlib/default.nix
new file mode 100644
index 000000000000..61259764becf
--- /dev/null
+++ b/pkgs/development/python-modules/oauthlib/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, mock
+, nose
+, unittest2
+, cryptography
+, blinker
+, pyjwt
+}:
+
+buildPythonPackage rec {
+  version = "2.0.0";
+  pname = "oauthlib";
+
+  src = fetchurl {
+    url = "https://github.com/idan/oauthlib/archive/v${version}.tar.gz";
+    sha256 = "02b645a8rqh4xfs1cmj8sss8wqppiadd1ndq3av1cdjz2frfqcjf";
+  };
+
+  buildInputs = [ mock nose unittest2 ];
+  propagatedBuildInputs = [ cryptography blinker pyjwt ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/idan/oauthlib;
+    downloadPage = https://github.com/idan/oauthlib/releases;
+    description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
+    maintainers = with maintainers; [ prikhi ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/obfsproxy/default.nix b/pkgs/development/python-modules/obfsproxy/default.nix
new file mode 100644
index 000000000000..2f435201d21d
--- /dev/null
+++ b/pkgs/development/python-modules/obfsproxy/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, pyptlib
+, argparse
+, twisted
+, pycrypto
+, pyyaml
+}:
+
+buildPythonPackage rec {
+  pname = "obfsproxy";
+  version = "0.2.13";
+
+  src = fetchgit {
+    url = meta.repositories.git;
+    rev = "refs/tags/${pname}-${version}";
+    sha256 = "04ja1cl8xzqnwrd2gi6nlnxbmjri141bzwa5gybvr44d8h3k2nfa";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "version=versioneer.get_version()" "version='${version}'"
+    substituteInPlace setup.py --replace "argparse" ""
+  '';
+
+  propagatedBuildInputs = [ pyptlib argparse twisted pycrypto pyyaml ];
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A pluggable transport proxy";
+    homepage = https://www.torproject.org/projects/obfsproxy;
+    repositories.git = https://git.torproject.org/pluggable-transports/obfsproxy.git;
+    maintainers = with maintainers; [ phreedom thoughtpolice ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/objgraph/default.nix b/pkgs/development/python-modules/objgraph/default.nix
new file mode 100644
index 000000000000..6d26d71141dc
--- /dev/null
+++ b/pkgs/development/python-modules/objgraph/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "objgraph";
+  version = "2.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "841de52715774ec1d0e97d9b4462d6e3e10406155f9b61f54ba7db984c45442a";
+  };
+
+  # Tests fail with PyPy.
+  disabled = isPyPy;
+
+  propagatedBuildInputs = [pkgs.graphviz];
+
+  meta = with stdenv.lib; {
+    description = "Draws Python object reference graphs with graphviz";
+    homepage = https://mg.pov.lt/objgraph/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/offtrac/default.nix b/pkgs/development/python-modules/offtrac/default.nix
new file mode 100644
index 000000000000..e098ecc8c31d
--- /dev/null
+++ b/pkgs/development/python-modules/offtrac/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "offtrac";
+  version = "0.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://fedorahosted.org/offtrac;
+    description = "Trac xmlrpc library";
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/openant/default.nix b/pkgs/development/python-modules/openant/default.nix
new file mode 100644
index 000000000000..9b88a71c5cc0
--- /dev/null
+++ b/pkgs/development/python-modules/openant/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pyusb
+}:
+
+buildPythonPackage rec {
+  pname = "openant-unstable";
+  version = "2017-02-11";
+
+  src = fetchFromGitHub {
+    owner = "Tigge";
+    repo = "openant";
+    rev = "ed89281e37f65d768641e87356cef38877952397";
+    sha256 = "1g81l9arqdy09ijswn3sp4d6i3z18d44lzyb78bwnvdb14q22k19";
+  };
+
+  # Removes some setup.py hacks intended to install udev rules.
+  # We do the job ourselves in postInstall below.
+  postPatch = ''
+    sed -i -e '/cmdclass=.*/d' setup.py
+  '';
+
+  postInstall = ''
+    install -dm755 "$out/etc/udev/rules.d"
+    install -m644 resources/ant-usb-sticks.rules "$out/etc/udev/rules.d/99-ant-usb-sticks.rules"
+  '';
+
+  propagatedBuildInputs = [ pyusb ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Tigge/openant";
+    description = "ANT and ANT-FS Python Library";
+    license = licenses.mit;
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/openpyxl/default.nix b/pkgs/development/python-modules/openpyxl/default.nix
index 6445201c40b4..034fa8e67917 100644
--- a/pkgs/development/python-modules/openpyxl/default.nix
+++ b/pkgs/development/python-modules/openpyxl/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "openpyxl";
-  version = "2.5.6";
+  version = "2.5.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04091e034911a0afc531c3a15e5ae0b1b6a43654dbf63c187f47d20cdfefac1c";
+    sha256 = "22904d7bdfaaab33d65d50a0915a65eeb2f29c85d9ec53081563850678a29927";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ordered-set/default.nix b/pkgs/development/python-modules/ordered-set/default.nix
index 4044ad3f2fd1..233a4d44c437 100644
--- a/pkgs/development/python-modules/ordered-set/default.nix
+++ b/pkgs/development/python-modules/ordered-set/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "ordered-set";
-  version = "3.0.1";
+  version = "3.0.2";
 
   buildInputs = [ pytest pytestrunner ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0yyfkkfzpwlx4jlfqzb7p1xpzmn2jyzq2qlakqx62pxizfzxfvrx";
+    sha256 = "7d292b866fa44f339ac6e624e3d338accfb415ce0a8431595d51990fbdf61d3b";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/ordereddict/default.nix b/pkgs/development/python-modules/ordereddict/default.nix
new file mode 100644
index 000000000000..27bdd728bbe6
--- /dev/null
+++ b/pkgs/development/python-modules/ordereddict/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "ordereddict";
+  version = "1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07qvy11nvgxpzarrni3wrww3vpc9yafgi2bch4j2vvvc42nb8d8w";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ garbas ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/osc/default.nix b/pkgs/development/python-modules/osc/default.nix
new file mode 100644
index 000000000000..87bd6ee258c0
--- /dev/null
+++ b/pkgs/development/python-modules/osc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, pkgs
+, urlgrabber
+, m2crypto
+, pyyaml
+, lxml
+}:
+
+buildPythonPackage {
+  pname = "osc";
+  version = "0.162.0-55-gb730f88";
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "openSUSE";
+    repo = "osc";
+    rev = "b730f880cfe85a8547f569355a21706f27ebfa78";
+    sha256 = "0hh9j5zd2kc0804d2jmf1q3w5xm9l9s69hhgysbncrv5fw0414lh";
+  };
+
+  buildInputs = [ pkgs.bashInteractive ]; # needed for bash-completion helper
+  propagatedBuildInputs = [ urlgrabber m2crypto pyyaml lxml ];
+
+  postInstall = ''
+    ln -s $out/bin/osc-wrapper.py $out/bin/osc
+    install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
+    install -D -m555 dist/osc.complete $out/share/bash-completion/helpers/osc-helper
+    mkdir -p $out/share/bash-completion/completions
+    cat >>$out/share/bash-completion/completions/osc <<EOF
+    test -z "\$BASH_VERSION" && return
+    complete -o default _nullcommand >/dev/null 2>&1 || return
+    complete -r _nullcommand >/dev/null 2>&1         || return
+    complete -o default -C $out/share/bash-completion/helpers/osc-helper osc
+    EOF
+  '';
+
+  meta = with stdenv.lib; {
+    description = "opensuse-commander with svn like handling";
+    maintainers = [ maintainers.peti ];
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/paho-mqtt/default.nix b/pkgs/development/python-modules/paho-mqtt/default.nix
new file mode 100644
index 000000000000..d58b31ffc04b
--- /dev/null
+++ b/pkgs/development/python-modules/paho-mqtt/default.nix
@@ -0,0 +1,29 @@
+{ lib, buildPythonPackage, fetchFromGitHub, isPy3k
+, pytestrunner, pytest, mock }:
+
+buildPythonPackage rec {
+  pname = "paho-mqtt";
+  version = "1.4.0";
+
+  # No tests in PyPI tarball
+  src = fetchFromGitHub {
+    owner = "eclipse";
+    repo = "paho.mqtt.python";
+    rev = "v${version}";
+    sha256 = "1xg9ppz2lqacd9prsrx93q2wfkjjyla03xlfw74aj1alz9ki5hrs";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "pylama" ""
+    substituteInPlace setup.cfg --replace "--pylama" ""
+  '';
+
+  checkInputs = [ pytestrunner pytest ] ++ lib.optional (!isPy3k) mock;
+
+  meta = with lib; {
+    homepage = https://eclipse.org/paho;
+    description = "MQTT version 3.1.1 client class";
+    license = licenses.epl10;
+    maintainers = with maintainers; [ mog dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pamela/default.nix b/pkgs/development/python-modules/pamela/default.nix
new file mode 100644
index 000000000000..05254e4fd43e
--- /dev/null
+++ b/pkgs/development/python-modules/pamela/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "pamela";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0ssxbqsshrm8p642g3h6wsq20z1fsqhpdvqdm827gn6dlr38868y";
+  };
+
+  postUnpack = ''
+    substituteInPlace $sourceRoot/pamela.py --replace \
+      'find_library("pam")' \
+      '"${stdenv.lib.getLib pkgs.pam}/lib/libpam.so"'
+  '';
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "PAM interface using ctypes";
+    homepage = "https://github.com/minrk/pamela";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
new file mode 100644
index 000000000000..e41ec9689d28
--- /dev/null
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -0,0 +1,48 @@
+{ pkgs
+, buildPythonPackage
+, fetchPypi
+, cryptography
+, bcrypt
+, pynacl
+, pyasn1
+, python
+, pytest
+, pytest-relaxed
+, mock
+, isPyPy
+, isPy33
+}:
+
+buildPythonPackage rec {
+  pname = "paramiko";
+  version = "2.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a8975a7df3560c9f1e2b43dc54ebd40fd00a7017392ca5445ce7df409f900fcb";
+  };
+
+  checkInputs = [ pytest mock pytest-relaxed ];
+  propagatedBuildInputs = [ bcrypt cryptography pynacl pyasn1 ];
+
+  __darwinAllowLocalNetworking = true;
+
+  # 2 sftp tests fail (skip for now)
+  checkPhase = ''
+    pytest tests --ignore=tests/test_sftp.py
+  '';
+
+  meta = with pkgs.lib; {
+    homepage = "https://github.com/paramiko/paramiko/";
+    description = "Native Python SSHv2 protocol library";
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ aszlig ];
+
+    longDescription = ''
+      This is a library for making SSH2 connections (client or server).
+      Emphasis is on using SSH2 as an alternative to SSL for making secure
+      connections between python scripts. All major ciphers and hash methods
+      are supported. SFTP client and server mode are both supported too.
+    '';
+  };
+}
diff --git a/pkgs/development/python-modules/paramz/default.nix b/pkgs/development/python-modules/paramz/default.nix
index 718393b5e1e1..f537b8d8e314 100644
--- a/pkgs/development/python-modules/paramz/default.nix
+++ b/pkgs/development/python-modules/paramz/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "paramz";
-  version = "0.9.2";
+  version = "0.9.4";
   name  = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b38c2487602c423ac402214c3b3fa6bbe22b294e2f9e5f9f3842182e1541599";
+    sha256 = "179ca77a965e6e724217257793e3c8c022285ea2190a85e0826ac98dea316219";
   };
 
   propagatedBuildInputs = [ numpy scipy six decorator ];
diff --git a/pkgs/development/python-modules/path-and-address/default.nix b/pkgs/development/python-modules/path-and-address/default.nix
new file mode 100644
index 000000000000..55d7afd9fa46
--- /dev/null
+++ b/pkgs/development/python-modules/path-and-address/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pytest
+}:
+
+buildPythonPackage rec {
+  version = "2.0.1";
+  pname = "path-and-address";
+
+  src = fetchFromGitHub {
+    owner = "joeyespo";
+    repo = "path-and-address";
+    rev = "v${version}";
+    sha256 = "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Functions for server CLI applications used by humans";
+    homepage = https://github.com/joeyespo/path-and-address;
+    license = licenses.mit;
+    maintainers = with maintainers; [ koral];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pathlib2/default.nix b/pkgs/development/python-modules/pathlib2/default.nix
index 412186e6075b..c85b29eac858 100644
--- a/pkgs/development/python-modules/pathlib2/default.nix
+++ b/pkgs/development/python-modules/pathlib2/default.nix
@@ -8,7 +8,7 @@
 , mock
 }:
 
-if !(pythonOlder "3.4") then null else buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "pathlib2";
   version = "2.3.2";
 
diff --git a/pkgs/development/python-modules/pathspec/default.nix b/pkgs/development/python-modules/pathspec/default.nix
index 15ff1b322415..39a2789a360f 100644
--- a/pkgs/development/python-modules/pathspec/default.nix
+++ b/pkgs/development/python-modules/pathspec/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname   = "pathspec";
-  version = "0.5.7";
+  version = "0.5.9";
   name    = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "69ac7869c9ce308cfe631e29c09f9da60fae02baf31418885bbbb0c75adcd8c5";
+    sha256 = "54a5eab895d89f342b52ba2bffe70930ef9f8d96e398cccf530d21fa0516a873";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pathtools/default.nix b/pkgs/development/python-modules/pathtools/default.nix
new file mode 100644
index 000000000000..8709662e6a18
--- /dev/null
+++ b/pkgs/development/python-modules/pathtools/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pathtools";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Pattern matching and various utilities for file systems paths";
+    homepage = https://github.com/gorakhargosh/pathtools;
+    license = licenses.mit;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/paver/default.nix b/pkgs/development/python-modules/paver/default.nix
new file mode 100644
index 000000000000..acdb68c0281d
--- /dev/null
+++ b/pkgs/development/python-modules/paver/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, cogapp
+, mock
+, virtualenv
+}:
+
+buildPythonPackage rec {
+  version = "1.2.2";
+  pname   = "Paver";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy";
+  };
+
+  buildInputs = [ cogapp mock virtualenv ];
+
+  propagatedBuildInputs = [ nose ];
+
+  # the tests do not pass
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A Python-based build/distribution/deployment scripting tool";
+    homepage    = https://github.com/paver/paver;
+    maintainers = with maintainers; [ lovek323 ];
+    platforms   = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/python-modules/peppercorn/default.nix b/pkgs/development/python-modules/peppercorn/default.nix
new file mode 100644
index 000000000000..5a07fc217a95
--- /dev/null
+++ b/pkgs/development/python-modules/peppercorn/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "peppercorn";
+  version = "0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "921cba5d51fa211e6da0fbd2120b9a98d663422a80f5bb669ad81ffb0909774b";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library for converting a token stream into a data structure for use in web form posts";
+    homepage = https://docs.pylonsproject.org/projects/peppercorn/en/latest/;
+    maintainers = with maintainers; [ garbas domenkozar ];
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
new file mode 100644
index 000000000000..f7efec5c70ef
--- /dev/null
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pex";
+  version = "1.2.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1m0gx9182w1dybkyjwwjyd6i87x2dzv252ks2fj8yn6avlcp5z4q";
+  };
+
+  prePatch = ''
+    substituteInPlace setup.py --replace 'SETUPTOOLS_REQUIREMENT,' '"setuptools"'
+  '';
+
+  # A few more dependencies I don't want to handle right now...
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A library and tool for generating .pex (Python EXecutable) files";
+    homepage = "https://github.com/pantsbuild/pex";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ copumpkin ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index a6ca8fae7cbd..01c387928f59 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.9.12";
+  version = "8.9.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "39cd0c67a17a9ca4c2851ab8fad5272948d811ccd2a8e52ddcc8d275a802af70";
+    sha256 = "8e9664ce0a838c81f4fb3e4d271c76859d26bde57242d64fe1632ab636f5319f";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pillowfight/default.nix b/pkgs/development/python-modules/pillowfight/default.nix
new file mode 100644
index 000000000000..e32051bc26f9
--- /dev/null
+++ b/pkgs/development/python-modules/pillowfight/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pillow
+}:
+
+buildPythonPackage rec {
+  pname = "pillowfight";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1mh1nhcjjgv7x134sv0krri59ng8bp2w6cwsxc698rixba9f3g0m";
+  };
+
+  propagatedBuildInputs = [ pillow ];
+
+  meta = with stdenv.lib; {
+    description = "Pillow Fight";
+    homepage = "https://github.com/beanbaginc/pillowfight";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pint/default.nix b/pkgs/development/python-modules/pint/default.nix
new file mode 100644
index 000000000000..74b6dd78bb35
--- /dev/null
+++ b/pkgs/development/python-modules/pint/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pint";
+  version = "0.7.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1bbp5s34gcb9il2wyz4spznshahwbjvwi5bhjm7bnxk358spvf9q";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Physical quantities module";
+    license = licenses.bsd3;
+    homepage = "https://github.com/hgrecco/pint/";
+  };
+
+}
diff --git a/pkgs/development/python-modules/pip/default.nix b/pkgs/development/python-modules/pip/default.nix
index f5732d2cb953..7fc5adee7fbc 100644
--- a/pkgs/development/python-modules/pip/default.nix
+++ b/pkgs/development/python-modules/pip/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pip";
-  version = "18.0";
+  version = "18.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a0e11645ee37c90b40c46d607070c4fd583e2cd46231b1c06e389c5e814eed76";
+    sha256 = "c0a292bd977ef590379a3f05d7b7f65135487b67470f6281289a94e015650ea1";
   };
 
   # pip detects that we already have bootstrapped_pip "installed", so we need
diff --git a/pkgs/development/python-modules/plyvel/default.nix b/pkgs/development/python-modules/plyvel/default.nix
new file mode 100644
index 000000000000..21561fab0351
--- /dev/null
+++ b/pkgs/development/python-modules/plyvel/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+, pytest
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "plyvel";
+  version = "0.9";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1scq75qyks9vmjd19bx57f2y60mkdr44ajvb12p3cjg439l96zaq";
+  };
+
+  buildInputs = [ pkgs.leveldb ] ++ stdenv.lib.optional isPy3k pytest;
+
+  # no tests for python2
+  doCheck = isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "Fast and feature-rich Python interface to LevelDB";
+    homepage = https://github.com/wbolster/plyvel;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pocket/default.nix b/pkgs/development/python-modules/pocket/default.nix
new file mode 100644
index 000000000000..e351d26ca481
--- /dev/null
+++ b/pkgs/development/python-modules/pocket/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "pocket";
+  version = "0.3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1fc9vc5nyzf1kzmnrs18dmns7nn8wjfrg7br1w4c5sgs35mg2ywh";
+  };
+
+  buildInputs = [ requests ];
+
+  meta = with stdenv.lib; {
+    description = "Wrapper for the pocket API";
+    homepage    = "https://github.com/tapanpandita/pocket";
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ ericsagnes ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/poezio/fix_gnupg_import.patch b/pkgs/development/python-modules/poezio/fix_gnupg_import.patch
deleted file mode 100644
index d75e09b722bf..000000000000
--- a/pkgs/development/python-modules/poezio/fix_gnupg_import.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Nur poezio-0.10.orig/plugins/gpg/__init__.py poezio-0.10/plugins/gpg/__init__.py
---- poezio-0.10.orig/plugins/gpg/__init__.py	2016-07-27 19:02:41.000000000 +0200
-+++ poezio-0.10/plugins/gpg/__init__.py	2016-11-16 14:17:06.011128631 +0100
-@@ -105,7 +105,7 @@
- .. _XEP-0027: http://xmpp.org/extensions/xep-0027.html
- 
- """
--from gpg import gnupg
-+import slixmpp.thirdparty.gnupg as gnupg
- from slixmpp.xmlstream.stanzabase import JID
- 
- from xml.etree import cElementTree as ET
diff --git a/pkgs/development/python-modules/poyo/default.nix b/pkgs/development/python-modules/poyo/default.nix
new file mode 100644
index 000000000000..5a05f2dcafa4
--- /dev/null
+++ b/pkgs/development/python-modules/poyo/default.nix
@@ -0,0 +1,21 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "0.4.0";
+  pname = "poyo";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f48ffl0j1f2lmgabajps7v8w90ppxbp5168gh8kh27bjd8xk5ca";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/hackebrot/poyo;
+    description = "A lightweight YAML Parser for Python";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/preshed/default.nix b/pkgs/development/python-modules/preshed/default.nix
index 14baf995e6b9..287b1294b5fe 100644
--- a/pkgs/development/python-modules/preshed/default.nix
+++ b/pkgs/development/python-modules/preshed/default.nix
@@ -8,21 +8,27 @@
 }:
 buildPythonPackage rec {
   pname = "preshed";
-  version = "1.0.1";
+  version = "2.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b99ace606143a922163a7ff7ad4969b296288f5b20b9c9bda328caec3b92f71";
+    sha256 = "1rd943zp4gyspajqm5qxzndxziyh51grx0zcw23w8r9r65s1rq6s";
   };
 
   propagatedBuildInputs = [
    cython
    cymem
   ];
+
   buildInputs = [
     pytest
   ];
 
+  prePatch = ''
+    substituteInPlace setup.py \
+      --replace "wheel>=0.32.0,<0.33.0" "wheel>=0.31.0"
+  '';
+
   checkPhase = ''
     ${python.interpreter} setup.py test
   '';
diff --git a/pkgs/development/python-modules/pudb/default.nix b/pkgs/development/python-modules/pudb/default.nix
new file mode 100644
index 000000000000..0c76974e5d99
--- /dev/null
+++ b/pkgs/development/python-modules/pudb/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pygments
+, urwid
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "pudb";
+  version = "2016.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0njhi49d9fxbwh5p8yjx8m3jlfyzfm00b5aff6bz473pn7vxfn79";
+  };
+
+  propagatedBuildInputs = [ pygments urwid ];
+
+  # Tests fail on python 3 due to writes to the read-only home directory
+  doCheck = !isPy3k;
+
+  meta = with stdenv.lib; {
+    description = "A full-screen, console-based Python debugger";
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pvlib/default.nix b/pkgs/development/python-modules/pvlib/default.nix
index 296b20fac4a2..34134546f56d 100644
--- a/pkgs/development/python-modules/pvlib/default.nix
+++ b/pkgs/development/python-modules/pvlib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pvlib";
-  version = "0.5.2";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1897v9qq97nk5n0hfm9089yz8pffd42795mnhcyq48g9bsyap1xi";
+    sha256 = "1j2p6w41hv7k604jbcpxvs5f04y8dsfdvd3d202l60ks0fc0agyj";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pyaxmlparser/default.nix b/pkgs/development/python-modules/pyaxmlparser/default.nix
index 7f9cbf9518e3..9f4f6627e2c8 100644
--- a/pkgs/development/python-modules/pyaxmlparser/default.nix
+++ b/pkgs/development/python-modules/pyaxmlparser/default.nix
@@ -1,12 +1,12 @@
 { buildPythonPackage, stdenv, lxml, click, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "0.3.10";
+  version = "0.3.11";
   pname = "pyaxmlparser";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5c1f569f4dc2232d7f146eb190bc513373ff6555f97ae904740f966f0fb2dd77";
+    sha256 = "dbe5ca9ddcf2f5041f6e5e3acc81d2940c696db89de4f840535a256e78f5e489";
   };
 
   propagatedBuildInputs = [ lxml click ];
diff --git a/pkgs/development/python-modules/pybluez/default.nix b/pkgs/development/python-modules/pybluez/default.nix
new file mode 100644
index 000000000000..6ceca20fdd17
--- /dev/null
+++ b/pkgs/development/python-modules/pybluez/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, pkgs
+}:
+
+buildPythonPackage rec {
+  version = "unstable-20160819";
+  pname = "pybluez";
+
+  propagatedBuildInputs = [ pkgs.bluez ];
+
+  src = fetchFromGitHub {
+    owner = "karulis";
+    repo = "${pname}";
+    rev = "a0b226a61b166e170d48539778525b31e47a4731";
+    sha256 = "104dm5ngfhqisv1aszdlr3szcav2g3bhsgzmg4qfs09b3i5zj047";
+  };
+
+  # the tests do not pass
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Bluetooth Python extension module";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ leenaars ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pycallgraph/default.nix b/pkgs/development/python-modules/pycallgraph/default.nix
new file mode 100644
index 000000000000..9a6a3f4be2e9
--- /dev/null
+++ b/pkgs/development/python-modules/pycallgraph/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "pycallgraph";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0w8yr43scnckqcv5nbyd2dq4kpv74ai856lsdsf8iniik07jn9mi";
+  };
+
+  buildInputs = [ pytest ];
+
+  # Tests do not work due to this bug: https://github.com/gak/pycallgraph/issues/118
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://pycallgraph.slowchop.com;
+    description = "Call graph visualizations for Python applications";
+    maintainers = with maintainers; [ auntie ];
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pycares/default.nix b/pkgs/development/python-modules/pycares/default.nix
new file mode 100644
index 000000000000..bf863fae57b9
--- /dev/null
+++ b/pkgs/development/python-modules/pycares/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "pycares";
+  version = "1.0.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a18341ea030e2cc0743acdf4aa72302bdf6b820938b36ce4bd76e43faa2276a3";
+  };
+
+  propagatedBuildInputs = [ pkgs.c-ares ];
+
+  # No tests included
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/saghul/pycares;
+    description = "Interface for c-ares";
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pycountry/default.nix b/pkgs/development/python-modules/pycountry/default.nix
new file mode 100644
index 000000000000..90d573aaaa77
--- /dev/null
+++ b/pkgs/development/python-modules/pycountry/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+,
+}:
+
+buildPythonPackage rec {
+  pname = "pycountry";
+  version = "1.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1qvhq0c9xsh6d4apcvjphfzl6xnwhnk4jvhr8x2fdfnmb034lc26";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = https://bitbucket.org/flyingcircus/pycountry;
+    description = "ISO country, subdivision, language, currency and script definitions and their translations";
+    license = licenses.lgpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pycuda/default.nix b/pkgs/development/python-modules/pycuda/default.nix
index 2d1da5339af5..5f58101a8b53 100644
--- a/pkgs/development/python-modules/pycuda/default.nix
+++ b/pkgs/development/python-modules/pycuda/default.nix
@@ -22,11 +22,11 @@ let
 in
 buildPythonPackage rec {
   pname = "pycuda";
-  version = "2018.1";
+  version = "2018.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7079f7738e83ee79ae26f0827ada29fe55921fec9760201199cc2bfb69446c92";
+    sha256 = "49d575fca3fd3c95467c3b0fb51967ad17d0c4cc18e078a6748309af4de36a8d";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/python-modules/pyfribidi/default.nix b/pkgs/development/python-modules/pyfribidi/default.nix
new file mode 100644
index 000000000000..a5caca40650d
--- /dev/null
+++ b/pkgs/development/python-modules/pyfribidi/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  version = "0.11.0";
+  pname = "pyfribidi";
+  disabled = isPy3k || isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "6f7d83c09eae0cb98a40b85ba3dedc31af4dbff8fc4425f244c1e9f44392fded";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A simple wrapper around fribidi";
+    homepage = https://github.com/pediapress/pyfribidi;
+    license = stdenv.lib.licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyftpdlib/default.nix b/pkgs/development/python-modules/pyftpdlib/default.nix
new file mode 100644
index 000000000000..b8f483d3a1dc
--- /dev/null
+++ b/pkgs/development/python-modules/pyftpdlib/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+, psutil
+, pyopenssl
+, pysendfile
+, python
+}:
+
+buildPythonPackage rec {
+  version = "1.5.4";
+  pname = "pyftpdlib";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "e5fca613978743d41c3bfc68e25a811d646a3b8a9eee9eb07021daca89646a0f";
+  };
+
+  checkInputs = [ mock psutil ];
+  propagatedBuildInputs = [ pyopenssl pysendfile ];
+
+  checkPhase = ''
+    ${python.interpreter} pyftpdlib/test/runner.py
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/giampaolo/pyftpdlib/;
+    description = "Very fast asynchronous FTP server library";
+    license = licenses.mit;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pygal/default.nix b/pkgs/development/python-modules/pygal/default.nix
new file mode 100644
index 000000000000..d1a25caabbee
--- /dev/null
+++ b/pkgs/development/python-modules/pygal/default.nix
@@ -0,0 +1,36 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+, flask
+, pyquery
+, pytest
+, cairosvg
+, tinycss
+, cssselect
+, lxml
+}:
+
+buildPythonPackage rec {
+  pname = "pygal";
+  version = "2.3.1";
+
+  doCheck = !isPyPy;  # one check fails with pypy
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "7ba5a191233d0c2d8bf4b4d26b06e42bd77483a59ba7d3e5b884d81d1a870667";
+  };
+
+  buildInputs = [ flask pyquery pytest ];
+  propagatedBuildInputs = [ cairosvg tinycss cssselect ]
+    ++ stdenv.lib.optionals (!isPyPy) [ lxml ];
+
+  meta = with stdenv.lib; {
+    description = "Sexy and simple python charting";
+    homepage = http://www.pygal.org;
+    license = licenses.lgpl3;
+    maintainers = with maintainers; [ sjourdois ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyhepmc/default.nix b/pkgs/development/python-modules/pyhepmc/default.nix
new file mode 100644
index 000000000000..e776749dd7ef
--- /dev/null
+++ b/pkgs/development/python-modules/pyhepmc/default.nix
@@ -0,0 +1,47 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, fetchurl
+, pkgs
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "pyhepmc";
+  version = "0.5.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rbi8gqgclfvaibv9kzhfis11gw101x8amc93qf9y08ny4jfyr1d";
+  };
+
+  patches = [
+    # merge PR https://bitbucket.org/andybuckley/pyhepmc/pull-requests/1/add-incoming-outgoing-generators-for/diff
+    ./pyhepmc_export_edges.patch
+    # add bindings to Flow class
+    ./pyhepmc_export_flow.patch
+  ];
+
+  # regenerate python wrapper
+  preConfigure = ''
+    rm hepmc/hepmcwrap.py
+    swig -c++ -I${pkgs.hepmc}/include -python hepmc/hepmcwrap.i
+  '';
+
+  buildInputs = [ pkgs.swig pkgs.hepmc ];
+
+  HEPMCPATH = pkgs.hepmc;
+
+  checkPhase = ''
+    ${python.interpreter} test/test1.py
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple wrapper on the main classes of the HepMC event simulation representation, making it possible to create, read and manipulate HepMC events from Python code";
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ veprbl ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyhepmc_export_edges.patch b/pkgs/development/python-modules/pyhepmc/pyhepmc_export_edges.patch
index 5c6e56566a34..5c6e56566a34 100644
--- a/pkgs/development/python-modules/pyhepmc_export_edges.patch
+++ b/pkgs/development/python-modules/pyhepmc/pyhepmc_export_edges.patch
diff --git a/pkgs/development/python-modules/pyhepmc_export_flow.patch b/pkgs/development/python-modules/pyhepmc/pyhepmc_export_flow.patch
index 85e26a1a1607..85e26a1a1607 100644
--- a/pkgs/development/python-modules/pyhepmc_export_flow.patch
+++ b/pkgs/development/python-modules/pyhepmc/pyhepmc_export_flow.patch
diff --git a/pkgs/development/python-modules/pyhomematic/default.nix b/pkgs/development/python-modules/pyhomematic/default.nix
index cd10edd2b64c..95dc4798357f 100644
--- a/pkgs/development/python-modules/pyhomematic/default.nix
+++ b/pkgs/development/python-modules/pyhomematic/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyhomematic";
-  version = "0.1.47";
+  version = "0.1.50";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bdac91dc6810b3d9f53d26daf6e6f26480c556fc3b43890e376aa23c17afd60b";
+    sha256 = "d1b13b2786784b197e279e82fb0fbdb11cb55df91b48c12160d85de435fd4046";
   };
 
   # PyPI tarball does not include tests/ directory
diff --git a/pkgs/development/python-modules/pyls-black/default.nix b/pkgs/development/python-modules/pyls-black/default.nix
index 60f6af287652..10c34dd8353c 100644
--- a/pkgs/development/python-modules/pyls-black/default.nix
+++ b/pkgs/development/python-modules/pyls-black/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "pyls-black";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "rupert";
     repo = "pyls-black";
     rev = "v${version}";
-    sha256 = "0xa3iv8nhnj0lw0dh41qb0dqp55sb6rdxalbk60v8jll6qyc0si8";
+    sha256 = "1pagbafb9r9glzy7nbvrq19msjy4wqahrvmc0wll0a0r4msqpi1d";
   };
 
   disabled = !isPy3k;
@@ -19,9 +19,6 @@ buildPythonPackage rec {
     pytest
   '';
 
-  # Enable when https://github.com/rupert/pyls-black/pull/6 is merged.
-  doCheck = false;
-
   checkInputs = [ pytest ];
 
   propagatedBuildInputs = [ black toml python-language-server ];
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index 523e7f808064..1365cc4aeb64 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2018.9.1";
+  version = "2018.9.30";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dee5dbd8008081de9f27759c20c550d09a07136eeebfe941e3d05fd88ccace18";
+    sha256 = "08c8da84beec153c0ad7acc47e67245e2d6598169e9803b82bd53131a67293be";
   };
 
   nativeBuildInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/pymediainfo/default.nix b/pkgs/development/python-modules/pymediainfo/default.nix
index 3245c3d3c48f..2169f23295a7 100644
--- a/pkgs/development/python-modules/pymediainfo/default.nix
+++ b/pkgs/development/python-modules/pymediainfo/default.nix
@@ -22,6 +22,11 @@ buildPythonPackage rec {
                 'CDLL("${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}")' \
       --replace 'CDLL("libmediainfo.so.0")' \
                 'CDLL("${libmediainfo}/lib/libmediainfo${stdenv.hostPlatform.extensions.sharedLibrary}.0")'
+
+    # Fix test, remove after version 2.3.0
+    substituteInPlace tests/test_pymediainfo.py \
+      --replace 'codec, "AVC"'    'format, "AVC"' \
+      --replace 'codec, "AAC LC"' 'format, "AAC"'
   '';
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/pympler/default.nix b/pkgs/development/python-modules/pympler/default.nix
new file mode 100644
index 000000000000..1a3eb0475105
--- /dev/null
+++ b/pkgs/development/python-modules/pympler/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "Pympler";
+  version = "0.4.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0mhyxqlkha98y8mi5zqcjg23r30mgdjdzs05lghbmqfdyvzjh1a3";
+  };
+
+ # Remove test asizeof.flatsize(), broken and can be missed as
+ # test is only useful on python 2.5, see https://github.com/pympler/pympler/issues/22
+ patchPhase = ''
+   substituteInPlace ./test/asizeof/test_asizeof.py --replace "n, e = test_flatsize" "#n, e = test_flatsize"
+   substituteInPlace ./test/asizeof/test_asizeof.py --replace "self.assert_(n," "#self.assert_(n,"
+   substituteInPlace ./test/asizeof/test_asizeof.py --replace "self.assert_(not e" "#self.assert_(not e"
+  '';
+
+  doCheck = stdenv.hostPlatform.isLinux;
+
+  meta = with stdenv.lib; {
+    description = "Tool to measure, monitor and analyze memory behavior";
+    homepage = https://pythonhosted.org/Pympler/;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pymysqlsa/default.nix b/pkgs/development/python-modules/pymysqlsa/default.nix
new file mode 100644
index 000000000000..0167fe00ea7c
--- /dev/null
+++ b/pkgs/development/python-modules/pymysqlsa/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pymysql
+, sqlalchemy
+}:
+
+buildPythonPackage rec {
+  pname = "pymysqlsa";
+  version = "1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a2676bce514a29b2d6ab418812259b0c2f7564150ac53455420a20bd7935314a";
+  };
+
+  propagatedBuildInputs = [ pymysql sqlalchemy ];
+
+  meta = with stdenv.lib; {
+    description = "PyMySQL dialect for SQL Alchemy";
+    homepage = https://pypi.python.org/pypi/pymysql_sa;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix
index 51500281abb6..5861288926f0 100644
--- a/pkgs/development/python-modules/pyparsing/default.nix
+++ b/pkgs/development/python-modules/pyparsing/default.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPythonPackage, fetchPypi }:
 buildPythonPackage rec {
     pname = "pyparsing";
-    version = "2.2.0";
+    version = "2.2.2";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "016b9gh606aa44sq92jslm89bg874ia0yyiyb643fa6dgbsbqch8";
+      sha256 = "bc6c7146b91af3f567cf6daeaec360bc07d45ffec4cf5353f4d7a208ce7ca30a";
     };
 
     # Not everything necessary to run the tests is included in the distribution
diff --git a/pkgs/development/python-modules/pyperclip/default.nix b/pkgs/development/python-modules/pyperclip/default.nix
index 0b0737992547..762603315216 100644
--- a/pkgs/development/python-modules/pyperclip/default.nix
+++ b/pkgs/development/python-modules/pyperclip/default.nix
@@ -1,12 +1,12 @@
 { lib, buildPythonPackage, fetchPypi }:
 
 buildPythonPackage rec {
-  version = "1.6.4";
+  version = "1.6.5";
   pname = "pyperclip";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f70e83d27c445795b6bf98c2bc826bbf2d0d63d4c7f83091c8064439042ba0dc";
+    sha256 = "406bc020d4b8e60d8673876271b815befc4c02fd8d919e4aacc667d69fab99ea";
   };
 
   doCheck = false;
diff --git a/pkgs/development/python-modules/pypoppler/default.nix b/pkgs/development/python-modules/pypoppler/default.nix
new file mode 100644
index 000000000000..ccda4f2631d2
--- /dev/null
+++ b/pkgs/development/python-modules/pypoppler/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+, pycairo
+, pygobject2
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "pypoppler";
+  version = "0.12.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "47e6ac99e5b114b9abf2d1dd1bca06f22c028d025432512989f659142470810f";
+  };
+
+  NIX_CFLAGS_COMPILE="-I${pkgs.poppler.dev}/include/poppler/";
+  nativeBuildInputs = [ pkgs.pkgconfig ];
+  buildInputs = [ pkgs.poppler.dev ];
+  propagatedBuildInputs = [ pycairo pygobject2 ];
+
+  patches = [
+    ./pypoppler-0.39.0.patch
+    ./pypoppler-poppler.c.patch
+  ];
+
+  # Not supported.
+  disabled = isPy3k;
+
+  # No tests in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://code.launchpad.net/~mriedesel/poppler-python/main;
+    description = "Python bindings for poppler-glib, unofficial branch including bug fixes, and removal of gtk dependencies";
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pypoppler-0.39.0.patch b/pkgs/development/python-modules/pypoppler/pypoppler-0.39.0.patch
index b9e02242e003..b9e02242e003 100644
--- a/pkgs/development/python-modules/pypoppler-0.39.0.patch
+++ b/pkgs/development/python-modules/pypoppler/pypoppler-0.39.0.patch
diff --git a/pkgs/development/python-modules/pypoppler-poppler.c.patch b/pkgs/development/python-modules/pypoppler/pypoppler-poppler.c.patch
index 1104097cd3e7..1104097cd3e7 100644
--- a/pkgs/development/python-modules/pypoppler-poppler.c.patch
+++ b/pkgs/development/python-modules/pypoppler/pypoppler-poppler.c.patch
diff --git a/pkgs/development/python-modules/pyramid/default.nix b/pkgs/development/python-modules/pyramid/default.nix
new file mode 100644
index 000000000000..060b6b77f870
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, docutils
+, virtualenv
+, webtest
+, zope_component
+, hupper
+, PasteDeploy
+, plaster
+, plaster-pastedeploy
+, repoze_lru
+, repoze_sphinx_autointerface
+, translationstring
+, venusian
+, webob
+, zope_deprecation
+, zope_interface
+, isPy35
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid";
+  version = "1.9.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0dhbzc4q0vsnv3aihy728aczg56xs6h9s1rmvr096q4lb6yln3w4";
+  };
+
+  checkInputs = [ docutils virtualenv webtest zope_component ];
+
+  propagatedBuildInputs = [ hupper PasteDeploy plaster plaster-pastedeploy repoze_lru repoze_sphinx_autointerface translationstring venusian webob zope_deprecation zope_interface ];
+
+  # Failing tests
+  # https://github.com/Pylons/pyramid/issues/1899
+  doCheck = !isPy35;
+
+  meta = with stdenv.lib; {
+    description = "The Pyramid Web Framework, a Pylons project";
+    homepage = https://trypyramid.com/;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_chameleon/default.nix b/pkgs/development/python-modules/pyramid_chameleon/default.nix
new file mode 100644
index 000000000000..257be31f32d9
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_chameleon/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, chameleon
+, pyramid
+, zope_interface
+, setuptools
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid_chameleon";
+  version = "0.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "d176792a50eb015d7865b44bd9b24a7bd0489fa9a5cebbd17b9e05048cef9017";
+  };
+
+  propagatedBuildInputs = [ chameleon pyramid zope_interface setuptools ];
+
+  meta = with stdenv.lib; {
+    description = "Chameleon template compiler for pyramid";
+    homepage = https://github.com/Pylons/pyramid_chameleon;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_exclog/default.nix b/pkgs/development/python-modules/pyramid_exclog/default.nix
new file mode 100644
index 000000000000..dfdea42b02c4
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_exclog/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyramid
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid_exclog";
+  version = "0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a58c82866c3e1a350684e6b83b440d5dc5e92ca5d23794b56d53aac06fb65a2c";
+  };
+
+  propagatedBuildInputs = [ pyramid ];
+
+  meta = with stdenv.lib; {
+    description = "A package which logs to a Python logger when an exception is raised by a Pyramid application";
+    homepage = http://docs.pylonsproject.org/;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_hawkauth/default.nix b/pkgs/development/python-modules/pyramid_hawkauth/default.nix
new file mode 100644
index 000000000000..a27232550571
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_hawkauth/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, pyramid
+, hawkauthlib
+, tokenlib
+, webtest
+}:
+
+buildPythonPackage rec {
+  pname = "pyramidhawkauth";
+  version = "0.1.0";
+
+  src = fetchgit {
+    url = https://github.com/mozilla-services/pyramid_hawkauth.git;
+    rev = "refs/tags/v${version}";
+    sha256 = "038ign7qlavlmvrhb2y8bygbxvy4j7bx2k1zg0i3wblg2ja50w7h";
+  };
+
+  propagatedBuildInputs = [ pyramid hawkauthlib tokenlib ];
+  buildInputs = [ webtest ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/mozilla-services/pyramid_hawkauth;
+    description = "A Pyramid authentication plugin for HAWK";
+    license = licenses.mpl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_jinja2/default.nix b/pkgs/development/python-modules/pyramid_jinja2/default.nix
new file mode 100644
index 000000000000..d211b9daf334
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_jinja2/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, webtest
+, jinja2
+, pyramid
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid_jinja2";
+  version = "2.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "93c86e3103b454301f4d66640191aba047f2ab85ba75647aa18667b7448396bd";
+  };
+
+  buildInputs = [ webtest ];
+  propagatedBuildInputs = [ jinja2 pyramid ];
+
+  meta = with stdenv.lib; {
+    description = "Jinja2 template bindings for the Pyramid web framework";
+    homepage = https://github.com/Pylons/pyramid_jinja2;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_mako/default.nix b/pkgs/development/python-modules/pyramid_mako/default.nix
new file mode 100644
index 000000000000..2752ba7641eb
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_mako/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, webtest
+, pyramid
+, Mako
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid_mako";
+  version = "0.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6";
+  };
+
+  buildInputs = [ webtest ];
+  propagatedBuildInputs = [ pyramid Mako ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/Pylons/pyramid_mako;
+    description = "Mako template bindings for the Pyramid web framework";
+    license = licenses.bsd0;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyramid_multiauth/default.nix b/pkgs/development/python-modules/pyramid_multiauth/default.nix
new file mode 100644
index 000000000000..7130e8b499f3
--- /dev/null
+++ b/pkgs/development/python-modules/pyramid_multiauth/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pyramid
+}:
+
+buildPythonPackage rec {
+  pname = "pyramid_multiauth";
+  version = "0.8.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lq292qakrm4ixi4vaif8dqywzj08pn6qy0wi4gw28blh39p0msk";
+  };
+
+  propagatedBuildInputs = [ pyramid ];
+
+  meta = with stdenv.lib; {
+    description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
+    homepage = https://github.com/mozilla-services/pyramid_multiauth;
+    license = licenses.mpl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyrfc3339/default.nix b/pkgs/development/python-modules/pyrfc3339/default.nix
new file mode 100644
index 000000000000..ddc47dfc2959
--- /dev/null
+++ b/pkgs/development/python-modules/pyrfc3339/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytz
+, nose
+}:
+
+buildPythonPackage rec {
+  pname = "pyRFC3339";
+  version = "0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1pp648xsjaw9h1xq2mgwzda5wis2ypjmzxlksc1a8grnrdmzy155";
+  };
+
+  propagatedBuildInputs = [ pytz ];
+  buildInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    description = "Generate and parse RFC 3339 timestamps";
+    homepage = https://github.com/kurtraschke/pyRFC3339;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index e9c48cbb8b40..16805ac58c04 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42bf74495d95a0196a74dd171357f660175aba2bfc23f9b5f63e3830ccbef9ac";
+    sha256 = "79f7b4286be773c46914df0201dabaf92717a9c06e341e0c420603b2dd31c6bf";
   };
 
   # requires root priviledges
diff --git a/pkgs/development/python-modules/pyspark/default.nix b/pkgs/development/python-modules/pyspark/default.nix
index b333ca27143c..29dd344a34cb 100644
--- a/pkgs/development/python-modules/pyspark/default.nix
+++ b/pkgs/development/python-modules/pyspark/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyspark";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "52d77a7ef43088b0235742cfcafc83435d0d98c5fdded1d8c600f1887e9e0213";
+    sha256 = "7fb3b4fe47edb0fb78cecec37e0f2a728590f17ef6a49eae55141a7a374c07c8";
   };
 
   # pypandoc is broken with pandoc2, so we just lose docs.
diff --git a/pkgs/development/python-modules/pysrim/default.nix b/pkgs/development/python-modules/pysrim/default.nix
index 90dfc1f56045..dc6c09f7b703 100644
--- a/pkgs/development/python-modules/pysrim/default.nix
+++ b/pkgs/development/python-modules/pysrim/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pysrim";
-  version = "0.5.8";
+  version = "0.5.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c297b4ea6f037946c72e94ddd9a7624cf2fd97c488acbee9409001c970754f1";
+    sha256 = "071c5be48e58fa019f7848588f88ce0a09bfe6493c9ff5987829d162c0f4a497";
   };
 
   buildInputs = [ pytestrunner ];
diff --git a/pkgs/development/python-modules/pytest-isort/default.nix b/pkgs/development/python-modules/pytest-isort/default.nix
index 758a2f194b25..23cd76679925 100644
--- a/pkgs/development/python-modules/pytest-isort/default.nix
+++ b/pkgs/development/python-modules/pytest-isort/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-isort";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d4d195ecfe33d81e258d251b2679b32216bad84131fb41984da22d9d0328a6fe";
+    sha256 = "c70d0f900f4647bb714f0843dd82d7f7b759904006de31254efdb72ce88e0c0e";
   };
 
   propagatedBuildInputs = [ pytestcache pytest isort ];
diff --git a/pkgs/development/python-modules/pytest-relaxed/default.nix b/pkgs/development/python-modules/pytest-relaxed/default.nix
new file mode 100644
index 000000000000..bd92577d5bac
--- /dev/null
+++ b/pkgs/development/python-modules/pytest-relaxed/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+, six
+, decorator
+}:
+
+buildPythonPackage rec {
+  version = "1.1.4";
+  pname = "pytest-relaxed";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "511ac473252baa67d5451f7864516e2e8f1acedf0cef71f79d2ed916ee04e146";
+  };
+
+  propagatedBuildInputs = [ pytest six decorator ];
+
+  patchPhase = ''
+    sed -i "s/pytest>=3,<3.3/pytest/g" setup.py
+  '';
+
+  # skip tests due to dir requirements
+  doCheck = false;
+
+  checkPhase = ''
+    pytest tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://pytest-relaxed.readthedocs.io/;
+    description = "Relaxed test discovery/organization for pytest";
+    license = licenses.bsd0;
+    maintainers = [ maintainers.costrouc ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytest-xdist/default.nix b/pkgs/development/python-modules/pytest-xdist/default.nix
index 46d505b3801b..71d4df4a0c55 100644
--- a/pkgs/development/python-modules/pytest-xdist/default.nix
+++ b/pkgs/development/python-modules/pytest-xdist/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-xdist";
-  version = "1.23.0";
+  version = "1.23.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "28e25e79698b2662b648319d3971c0f9ae0e6500f88258ccb9b153c31110ba9b";
+    sha256 = "1ef0d05c905cfa0c5442c90e9e350e65c6ada120e33a00a066ca51c89f5f869a";
   };
 
   nativeBuildInputs = [ setuptools_scm ];
diff --git a/pkgs/development/python-modules/pytest/default.nix b/pkgs/development/python-modules/pytest/default.nix
index deb9cbdb7d0a..cdfdb8a64c95 100644
--- a/pkgs/development/python-modules/pytest/default.nix
+++ b/pkgs/development/python-modules/pytest/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi, attrs, hypothesis, py
+{ stdenv, buildPythonPackage, pythonOlder, fetchPypi, attrs, hypothesis, py
 , setuptools_scm, setuptools, six, pluggy, funcsigs, isPy3k, more-itertools
 , atomicwrites, mock, writeText, pathlib2
 }:
@@ -19,7 +19,8 @@ buildPythonPackage rec {
   checkInputs = [ hypothesis mock ];
   buildInputs = [ setuptools_scm ];
   propagatedBuildInputs = [ attrs py setuptools six pluggy more-itertools atomicwrites]
-    ++ stdenv.lib.optionals (!isPy3k) [ funcsigs pathlib2 ];
+    ++ stdenv.lib.optionals (!isPy3k) [ funcsigs ]
+    ++ stdenv.lib.optionals (pythonOlder "3.6") [ pathlib2 ];
 
   checkPhase = ''
     runHook preCheck
diff --git a/pkgs/development/python-modules/python-ldap-test/default.nix b/pkgs/development/python-modules/python-ldap-test/default.nix
new file mode 100644
index 000000000000..3ba81cacfd41
--- /dev/null
+++ b/pkgs/development/python-modules/python-ldap-test/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, py4j }:
+
+buildPythonPackage rec {
+  pname = "python-ldap-test";
+  version = "0.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1qh9x3lncaldnw79fgpqbayichs8pbz8abr6pxb5qxbs7zrnyrwf";
+  };
+
+  propagatedBuildInputs = [ py4j ];
+
+  # Tests needs java to be present in path
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Tool for testing code speaking with LDAP server";
+    homepage = https://github.com/zoldar/python-ldap-test;
+    license = licenses.mit;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/python-levenshtein/default.nix b/pkgs/development/python-modules/python-levenshtein/default.nix
new file mode 100644
index 000000000000..7a16621da0a5
--- /dev/null
+++ b/pkgs/development/python-modules/python-levenshtein/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "python-Levenshtein";
+  version = "0.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3";
+  };
+
+  # No tests included in archive
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Functions for fast computation of Levenshtein distance and string similarity";
+    homepage    = "https://github.com/ztane/python-Levenshtein";
+    license     = licenses.gpl2;
+    maintainers = with maintainers; [ aske ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/python-mapnik/default.nix b/pkgs/development/python-modules/python-mapnik/default.nix
new file mode 100644
index 000000000000..692bbe4bcd89
--- /dev/null
+++ b/pkgs/development/python-modules/python-mapnik/default.nix
@@ -0,0 +1,58 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPyPy
+, python
+, pkgs
+, pillow
+, pycairo
+}:
+
+buildPythonPackage rec {
+  pname = "python-mapnik";
+  version = "3.0.16";
+
+  src = pkgs.fetchFromGitHub {
+    owner = "mapnik";
+    repo = "python-mapnik";
+    rev = "v${version}";
+    sha256 = "1gqs4kvmjawdgl80j0ab5r8y0va9kw0rvwix3093xsv4hwd00lcc";
+  };
+
+  disabled = isPyPy;
+  doCheck = false; # doesn't find needed test data files
+  preBuild = let
+    pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}";
+  in ''
+    export BOOST_PYTHON_LIB="boost_python${pythonVersion}"
+    export BOOST_THREAD_LIB="boost_thread"
+    export BOOST_SYSTEM_LIB="boost_system"
+  '';
+  buildInputs = with pkgs; [
+      (boost.override {
+        enablePython = true;
+        inherit python;
+      })
+      (mapnik.override {
+        inherit python;
+        boost = (boost.override { enablePython = true; inherit python; });
+      })
+      cairo
+      harfbuzz
+      icu
+      libjpeg
+      libpng
+      libtiff
+      libwebp
+      proj
+      zlib
+    ];
+  propagatedBuildInputs = [ pillow pycairo ];
+
+  meta = with stdenv.lib; {
+    description = "Python bindings for Mapnik";
+    homepage = http://mapnik.org;
+    license  = licenses.lgpl21;
+  };
+
+}
diff --git a/pkgs/development/python-modules/python-otr/default.nix b/pkgs/development/python-modules/python-otr/default.nix
new file mode 100644
index 000000000000..2b08bbffa450
--- /dev/null
+++ b/pkgs/development/python-modules/python-otr/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+, isPy3k
+, zope_interface
+, cryptography
+, application
+, gmpy2
+}:
+
+buildPythonPackage rec {
+  pname = "python-otr";
+  version = "1.2.0";
+  disabled = isPy3k;
+
+  src = fetchFromGitHub {
+    owner = "AGProjects";
+    repo = pname;
+    rev = "release-${version}";
+    sha256 = "0p3b1n8jlxwd65gbk2k5007fkhdyjwcvr4982s42hncivxvabzzy";
+  };
+
+  propagatedBuildInputs = [ zope_interface cryptography application gmpy2 ];
+
+  meta = with stdenv.lib; {
+    description = "A pure python implementation of OTR";
+    homepage = https://github.com/AGProjects/otr;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ edwtjo ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/python-packer/default.nix b/pkgs/development/python-modules/python-packer/default.nix
new file mode 100644
index 000000000000..3f0c1f8138f9
--- /dev/null
+++ b/pkgs/development/python-modules/python-packer/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonPackage, fetchPypi, sh }:
+
+buildPythonPackage rec {
+  pname = "python-packer";
+  version = "0.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fd363dae9bd2efd447739bbf7a4f29c1e4741596ae7b02d252fe525b2b4176e7";
+  };
+
+  propagatedBuildInputs = [ sh ];
+  
+  # Tests requires network connections
+  doCheck = false;
+  
+  meta = with stdenv.lib; {
+    description = "An interface for packer.io";
+    homepage = https://github.com/nir0s/python-packer;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ psyanticy ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/python-slugify/default.nix b/pkgs/development/python-modules/python-slugify/default.nix
index 9c8cc68af3d0..b3e3de0285a9 100644
--- a/pkgs/development/python-modules/python-slugify/default.nix
+++ b/pkgs/development/python-modules/python-slugify/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
     pname = "python-slugify";
-    version = "1.2.5";
+    version = "1.2.6";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "5dbb360b882b2dabe0471a1a92f604504d83c2a73c71f2098d004ab62e695534";
+      sha256 = "7723daf30996db26573176bddcdf5fcb98f66dc70df05c9cb29f2c79b8193245";
     };
     doCheck = !isPy3k;
     # (only) on python3 unittest loader (loadTestsFromModule) fails
diff --git a/pkgs/development/python-modules/python2-pythondialog/default.nix b/pkgs/development/python-modules/python2-pythondialog/default.nix
new file mode 100644
index 000000000000..33e63460d874
--- /dev/null
+++ b/pkgs/development/python-modules/python2-pythondialog/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "python2-pythondialog";
+  version = "3.3.0";
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry";
+  };
+
+  patchPhase = ''
+    substituteInPlace dialog.py --replace ":/bin:/usr/bin" ":$out/bin"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A Python interface to the UNIX dialog utility and mostly-compatible programs (Python 2 backport)";
+    homepage = "http://pythondialog.sourceforge.net/";
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/python_openzwave/default.nix b/pkgs/development/python-modules/python_openzwave/default.nix
index e04915a503db..a7973501bf74 100644
--- a/pkgs/development/python-modules/python_openzwave/default.nix
+++ b/pkgs/development/python-modules/python_openzwave/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "python_openzwave";
-  version = "0.4.9";
+  version = "0.4.10";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "97ddd104f52e3a4d7115c3de5d2136631d1f66627fc9b45d56956c3f2b6e0cdb";
+    sha256 = "4bde7afd6c97637b59ee37a1c432c285daf179e535eb9a0d5dd95a65600b0cc8";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/pythonirclib/default.nix b/pkgs/development/python-modules/pythonirclib/default.nix
new file mode 100644
index 000000000000..35873d301be4
--- /dev/null
+++ b/pkgs/development/python-modules/pythonirclib/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, paver
+, isPy3k
+}:
+
+buildPythonPackage rec {
+  pname = "irclib";
+  version = "0.4.8";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "mirror://sourceforge/python-irclib/python-irclib-${version}.tar.gz";
+    sha256 = "1x5456y4rbxmnw4yblhb4as5791glcw394bm36px3x6l05j3mvl1";
+  };
+
+  patches = [(fetchurl {
+    url = "http://trac.uwc.ac.za/trac/python_tools/browser/xmpp/resources/irc-transport/irclib.py.diff?rev=387&format=raw";
+    name = "irclib.py.diff";
+    sha256 = "5fb8d95d6c95c93eaa400b38447c63e7a176b9502bc49b2f9b788c9905f4ec5e";
+  })];
+
+  patchFlags = "irclib.py";
+
+  propagatedBuildInputs = [ paver ];
+
+  meta = with stdenv.lib; {
+    description = "Python IRC library";
+    homepage = https://bitbucket.org/jaraco/irc;
+    license = with licenses; [ lgpl21 ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/pytun/default.nix b/pkgs/development/python-modules/pytun/default.nix
new file mode 100644
index 000000000000..32e3b683e410
--- /dev/null
+++ b/pkgs/development/python-modules/pytun/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchFromGitHub
+}:
+
+buildPythonPackage rec {
+  pname = "pytun";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "montag451";
+    repo = "pytun";
+    sha256 = "1bxk0z0v8m0b01xg94f039j3bsclkshb7girvjqfzk5whbd2nryh";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/montag451/pytun;
+    description = "Linux TUN/TAP wrapper for Python";
+    license = licenses.mit;
+    maintainers = with maintainers; [ montag451 ];
+    platforms = platforms.linux;
+  };
+
+}
diff --git a/pkgs/development/python-modules/pyxdg/default.nix b/pkgs/development/python-modules/pyxdg/default.nix
new file mode 100644
index 000000000000..31b2ff4e9883
--- /dev/null
+++ b/pkgs/development/python-modules/pyxdg/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pyxdg";
+  version = "0.25";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "81e883e0b9517d624e8b0499eb267b82a815c0b7146d5269f364988ae031279d";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://freedesktop.org/wiki/Software/pyxdg;
+    description = "Contains implementations of freedesktop.org standards";
+    license = licenses.lgpl2;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/rainbowstream/default.nix b/pkgs/development/python-modules/rainbowstream/default.nix
new file mode 100644
index 000000000000..53c0c148eea4
--- /dev/null
+++ b/pkgs/development/python-modules/rainbowstream/default.nix
@@ -0,0 +1,54 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, python
+, pkgs
+, pillow
+, twitter
+, pyfiglet
+, requests
+, arrow
+, dateutil
+, pysocks
+, pocket
+}:
+
+buildPythonPackage rec {
+  pname = "rainbowstream";
+  version = "1.3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zpi1x3b535pwx8rkq57nnrb5d5ma65vvlalar9vi6ilp124x1w2";
+  };
+
+  patches = [ ./image.patch ];
+
+  postPatch = ''
+    clib=$out/${python.sitePackages}/rainbowstream/image.so
+    substituteInPlace rainbowstream/c_image.py \
+      --replace @CLIB@ $clib
+    sed -i 's/requests.*"/requests"/' setup.py
+  '';
+
+  LC_ALL="en_US.UTF-8";
+
+  postInstall = ''
+    mkdir -p $out/lib
+    cc -fPIC -shared -o $clib rainbowstream/image.c
+    for prog in "$out/bin/"*; do
+      wrapProgram "$prog" \
+        --prefix PYTHONPATH : "$PYTHONPATH"
+    done
+  '';
+
+  buildInputs =  [ pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales pillow twitter pyfiglet requests arrow dateutil pysocks pocket ];
+
+  meta = with stdenv.lib; {
+    description = "Streaming command-line twitter client";
+    homepage    = "http://www.rainbowstream.org/";
+    license     = licenses.mit;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/random2/default.nix b/pkgs/development/python-modules/random2/default.nix
new file mode 100644
index 000000000000..ecc049b34f46
--- /dev/null
+++ b/pkgs/development/python-modules/random2/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, isPyPy
+}:
+
+buildPythonPackage rec {
+  pname = "random2";
+  version = "1.0.1";
+  doCheck = !isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "34ad30aac341039872401595df9ab2c9dc36d0b7c077db1cea9ade430ed1c007";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://pypi.python.org/pypi/random2;
+    description = "Python 3 compatible Python 2 `random` Module";
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index 760ca0056ff6..2e828a2a8e82 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "reikna";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0afc5d502cc9ba0dadd88c15d72e2fdaa09fee31faaae5064889732de7940953";
+    sha256 = "c52f5ae13e35284feda8f6b67c0d6223c02c0292b1495969cf7a42f547b3fc18";
   };
 
   checkInputs = [ sphinx pytestcov pytest ];
diff --git a/pkgs/development/python-modules/relatorio/default.nix b/pkgs/development/python-modules/relatorio/default.nix
index dbc28263b06d..e9f4b8e2bd6c 100644
--- a/pkgs/development/python-modules/relatorio/default.nix
+++ b/pkgs/development/python-modules/relatorio/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "relatorio";
-  version = "0.8.0";
+  version = "0.8.1";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bddf85d029c5c85a0f976d73907e14e4c3093065fe8527170c91abf0218546d9";
+    sha256 = "149a1c4c2a35d9b9e634fe80cac405bc9b4c03a42f818302362183515e7e835d";
   };
   propagatedBuildInputs = [
     genshi
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index e2f2a7814aa5..82d2889364f1 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.5.6";
+  version = "3.5.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3836a49e7ea7bce458f437cbc094633c7fd4ac027180565875c18ecc726f261e";
+    sha256 = "f92f81314807cd860f29fe07a1a4100b03910ae6bbfca20a07e02c3b460f4f20";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/repoze_lru/default.nix b/pkgs/development/python-modules/repoze_lru/default.nix
new file mode 100644
index 000000000000..c08120d24128
--- /dev/null
+++ b/pkgs/development/python-modules/repoze_lru/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "repoze.lru";
+  version = "0.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0f7a323bf716d3cb6cb3910cd4fccbee0b3d3793322738566ecce163b01bbd31";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A tiny LRU cache implementation and decorator";
+    homepage = http://www.repoze.org/;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/repoze_sphinx_autointerface/default.nix b/pkgs/development/python-modules/repoze_sphinx_autointerface/default.nix
new file mode 100644
index 000000000000..96a893edd7c0
--- /dev/null
+++ b/pkgs/development/python-modules/repoze_sphinx_autointerface/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, zope_interface
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "repoze.sphinx.autointerface";
+  version = "0.7.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "97ef5fac0ab0a96f1578017f04aea448651fa9f063fc43393a8253bff8d8d504";
+  };
+
+  propagatedBuildInputs = [ zope_interface sphinx ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/repoze/repoze.sphinx.autointerface;
+    description = "Auto-generate Sphinx API docs from Zope interfaces";
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/rethinkdb/default.nix b/pkgs/development/python-modules/rethinkdb/default.nix
new file mode 100644
index 000000000000..f6d816d37c0e
--- /dev/null
+++ b/pkgs/development/python-modules/rethinkdb/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "rethinkdb";
+  version = "2.3.0.post6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "05qwkmq6kn437ywyjs02jxbry720gw39q4z4jdb0cnbbi76lwddm";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python driver library for the RethinkDB database server";
+    homepage = "https://pypi.python.org/pypi/rethinkdb";
+    license = licenses.agpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/rlp/default.nix b/pkgs/development/python-modules/rlp/default.nix
index 150234a3dd29..d9b55c852192 100644
--- a/pkgs/development/python-modules/rlp/default.nix
+++ b/pkgs/development/python-modules/rlp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "rlp";
-  version = "1.0.2";
+  version = "1.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "040fb5172fa23d27953a886c40cac989fc031d0629db934b5a9edcd2fb28df1e";
+    sha256 = "b0ad3f3173dedf416565299f684717d4ae7620207d562d3ef94b818a40a48781";
   };
 
   checkInputs = [ pytest hypothesis ];
diff --git a/pkgs/development/python-modules/roman/default.nix b/pkgs/development/python-modules/roman/default.nix
new file mode 100644
index 000000000000..52d45d728752
--- /dev/null
+++ b/pkgs/development/python-modules/roman/default.nix
@@ -0,0 +1,22 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  version = "2.0.0";
+  pname = "roman";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "90e83b512b44dd7fc83d67eb45aa5eb707df623e6fc6e66e7f273abd4b2613ae";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Integer to Roman numerals converter";
+    homepage = "https://pypi.python.org/pypi/roman";
+    license = licenses.psfl;
+  };
+
+}
diff --git a/pkgs/development/python-modules/safe/default.nix b/pkgs/development/python-modules/safe/default.nix
new file mode 100644
index 000000000000..f7f6f7eabf91
--- /dev/null
+++ b/pkgs/development/python-modules/safe/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+}:
+
+buildPythonPackage rec {
+  version = "0.4";
+  pname = "Safe";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "a2fdac9fe8a9dcf02b438201d6ce0b7be78f85dc6492d03edfb89be2adf489de";
+  };
+
+  buildInputs = [ nose ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/lepture/safe";
+    license = licenses.bsd3;
+    description = "Check password strength";
+  };
+
+}
diff --git a/pkgs/development/python-modules/samplerate/default.nix b/pkgs/development/python-modules/samplerate/default.nix
new file mode 100644
index 000000000000..432e2194b098
--- /dev/null
+++ b/pkgs/development/python-modules/samplerate/default.nix
@@ -0,0 +1,37 @@
+{ stdenv
+, buildPythonPackage
+, fetchgit
+, numpy
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "scikits.samplerate";
+  version = "0.3.3";
+
+  src = pkgs.fetchgit {
+    url = https://github.com/cournape/samplerate;
+    rev = "a536c97eb2d6195b5f266ea3cc3a35364c4c2210";
+    sha256 = "0mgic7bs5zv5ji05vr527jlxxlb70f9dg93hy1lzyz2plm1kf7gg";
+  };
+
+  buildInputs =  [ pkgs.libsamplerate ];
+  propagatedBuildInputs = [ numpy ];
+
+  preConfigure = ''
+     cat > site.cfg << END
+     [samplerate]
+     library_dirs=${pkgs.libsamplerate.out}/lib
+     include_dirs=${pkgs.libsamplerate.dev}/include
+     END
+  '';
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/cournape/samplerate;
+    description = "High quality sampling rate convertion from audio data in numpy arrays";
+    license = licenses.gpl2;
+  };
+
+}
diff --git a/pkgs/development/python-modules/sasmodels/default.nix b/pkgs/development/python-modules/sasmodels/default.nix
index d84e83299039..88cdbf8a8fd8 100644
--- a/pkgs/development/python-modules/sasmodels/default.nix
+++ b/pkgs/development/python-modules/sasmodels/default.nix
@@ -3,14 +3,14 @@
 }:
 
 buildPythonPackage rec {
-  pname = "sasmodels-unstable";
-  version = "2018-04-27";
+  pname = "sasmodels";
+  version = "0.98";
 
   src = fetchFromGitHub {
     owner = "SasView";
     repo = "sasmodels";
-    rev = "33969b656596e8b6cc8ce934cd1f8062f7b11cf2";
-    sha256 = "00rvhafg08qvx0k9mzn1ppdkc9i5yfn2gr3hidrf416srf8zgb85";
+    rev = "v${version}";
+    sha256 = "02y4lpjwaa73pr46ylk0pw0kbill4nfzqgnfv16v5m0z9smd76ir";
   };
 
   buildInputs = [ opencl-headers ];
diff --git a/pkgs/development/python-modules/schedule/default.nix b/pkgs/development/python-modules/schedule/default.nix
new file mode 100644
index 000000000000..79ad778e048a
--- /dev/null
+++ b/pkgs/development/python-modules/schedule/default.nix
@@ -0,0 +1,24 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "schedule";
+  version = "0.3.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1h0waw4jd5ql68y5kxb9irwapkbkwfs1w0asvbl24fq5f8czdijm";
+  };
+
+  buildInputs = [ mock ];
+
+  meta = with stdenv.lib; {
+    description = "Python job scheduling for humans";
+    homepage = https://github.com/dbader/schedule;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/scikit-image/default.nix b/pkgs/development/python-modules/scikit-image/default.nix
index 1a07e001caec..5d8399d6267c 100644
--- a/pkgs/development/python-modules/scikit-image/default.nix
+++ b/pkgs/development/python-modules/scikit-image/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-image";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "325f75eb80fbc5371136e37f323445309ca9f65b6c6f718d0d0e2189e5de1224";
+    sha256 = "86a9b3b4f74f231e0a6bcfd3235dcf3f0118df25dac21201da5e064d681e2c50";
   };
 
   buildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/seekpath/default.nix b/pkgs/development/python-modules/seekpath/default.nix
index dfca0a5fa2ea..5aa34a442059 100644
--- a/pkgs/development/python-modules/seekpath/default.nix
+++ b/pkgs/development/python-modules/seekpath/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "seekpath";
-  version = "1.8.2";
+  version = "1.8.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8fb22231ed6fc6aa12e2f2cc6c8ca67b82648e16c1c85ddac2e2237ac4553d83";
+    sha256 = "b61dadba82acc0838402981b7944155adc092b114ca81f53f61b1d498a512e3a";
   };  
 
   LC_ALL = "en_US.utf-8";
diff --git a/pkgs/development/python-modules/setuptools-git/default.nix b/pkgs/development/python-modules/setuptools-git/default.nix
new file mode 100644
index 000000000000..c68ba10a3209
--- /dev/null
+++ b/pkgs/development/python-modules/setuptools-git/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "setuptools-git";
+  version = "1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "047d7595546635edebef226bc566579d422ccc48a8a91c7d32d8bd174f68f831";
+  };
+
+  propagatedBuildInputs = [ pkgs.git ];
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Setuptools revision control system plugin for Git";
+    homepage = https://pypi.python.org/pypi/setuptools-git;
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/shippai/default.nix b/pkgs/development/python-modules/shippai/default.nix
index ac035061692b..ffb221ffdc51 100644
--- a/pkgs/development/python-modules/shippai/default.nix
+++ b/pkgs/development/python-modules/shippai/default.nix
@@ -3,11 +3,11 @@
 buildPythonPackage rec {
   pname = "shippai";
   # Please make sure that vdirsyncer still builds if you update this package.
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ppwywzg4d12h658682ssmingm6ls6a96p4ak26i2w9d4lf8pfsc";
+    sha256 = "87cc9899212d917031853becd7cb14808181289c3c329b1418e9b4b6aae93c80";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/sleekxmpp/default.nix b/pkgs/development/python-modules/sleekxmpp/default.nix
index 37ecc8bbb1c4..426019fc8a97 100644
--- a/pkgs/development/python-modules/sleekxmpp/default.nix
+++ b/pkgs/development/python-modules/sleekxmpp/default.nix
@@ -20,4 +20,5 @@ buildPythonPackage rec {
     license = licenses.mit;
     homepage = "http://sleekxmpp.com/";
   };
+
 }
diff --git a/pkgs/development/python-modules/slixmpp/default.nix b/pkgs/development/python-modules/slixmpp/default.nix
new file mode 100644
index 000000000000..88c43bce2970
--- /dev/null
+++ b/pkgs/development/python-modules/slixmpp/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildPythonPackage, fetchPypi, pythonOlder, fetchurl, aiodns, pyasn1, pyasn1-modules, gnupg }:
+
+buildPythonPackage rec {
+  pname = "slixmpp";
+  version = "1.4.0";
+
+  disabled = pythonOlder "3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "155qxx4xlkkjb4hphc09nsi2mi4xi3m2akg0z7064kj3nbzkwjn2";
+  };
+
+  patchPhase = ''
+    substituteInPlace slixmpp/thirdparty/gnupg.py \
+      --replace "gpgbinary='gpg'" "gpgbinary='${gnupg}/bin/gpg'"
+  '';
+
+  propagatedBuildInputs = [ aiodns pyasn1 pyasn1-modules gnupg ];
+
+  meta = {
+    description = "Elegant Python library for XMPP";
+    license = lib.licenses.mit;
+    homepage = https://dev.louiz.org/projects/slixmpp;
+  };
+}
diff --git a/pkgs/development/python-modules/sortedcollections/default.nix b/pkgs/development/python-modules/sortedcollections/default.nix
new file mode 100644
index 000000000000..b80e5655ff99
--- /dev/null
+++ b/pkgs/development/python-modules/sortedcollections/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, sortedcontainers
+}:
+
+buildPythonPackage rec {
+  pname = "sortedcollections";
+  version = "0.4.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12dlzln9gyv8smsy2k6d6dmr0ywrpwyrr1cjy649ia5h1g7xdvwa";
+  };
+
+  buildInputs = [ sortedcontainers ];
+
+  # wants to test all python versions with tox:
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python Sorted Collections";
+    homepage = http://www.grantjenks.com/docs/sortedcollections/;
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/sortedcontainers/default.nix b/pkgs/development/python-modules/sortedcontainers/default.nix
index 1252c676646d..5362e0b00375 100644
--- a/pkgs/development/python-modules/sortedcontainers/default.nix
+++ b/pkgs/development/python-modules/sortedcontainers/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "sortedcontainers";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "607294c6e291a270948420f7ffa1fb3ed47384a4c08db6d1e9c92d08a6981982";
+    sha256 = "b74f2756fb5e23512572cc76f0fe0832fd86310f77dfee54335a35fb33f6b950";
   };
 
   # pypi tarball does not come with tests
diff --git a/pkgs/development/python-modules/sounddevice/default.nix b/pkgs/development/python-modules/sounddevice/default.nix
index 5b8c4a46b2be..bdb003467f56 100644
--- a/pkgs/development/python-modules/sounddevice/default.nix
+++ b/pkgs/development/python-modules/sounddevice/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "sounddevice";
-  version = "0.3.11";
+  version = "0.3.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0pfcbgbl77nggchxb2i5rb78m7hpgn65aqpz99yfx1fgfbmy9yg1";
+    sha256 = "f59ae4e2ec12cb1e5940f06f08804ecca855d959de25ca45a3938de45d0f81a2";
   };
 
   propagatedBuildInputs = [ cffi numpy portaudio ];
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 0667565c0de8..035d0f705494 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -23,22 +23,19 @@
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "2.0.12";
+  version = "2.0.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b220ebee412c19613c26b2c1870b60473834bd686cec49553ce5f184164d3359";
+    sha256 = "1ghgbv819ff4777904p1kzayq1dj34i7853anvg859sak59r7pj1";
   };
 
   prePatch = ''
     substituteInPlace setup.py \
-      --replace "html5lib==" "html5lib>=" \
       --replace "regex==" "regex>=" \
-      --replace "ftfy==" "ftfy>=" \
-      --replace "msgpack-python==" "msgpack-python>=" \
-      --replace "msgpack-numpy==" "msgpack-numpy>=" \
-      --replace "thinc>=6.10.3,<6.11.0" "thinc>=6.10.3" \
-      --replace "plac<1.0.0,>=0.9.6" "plac>=0.9.6"
+      --replace "plac<1.0.0,>=0.9.6" "plac>=0.9.6" \
+      --replace "thinc>=6.12.0,<6.13.0" "thinc>=6.12.0" \
+      --replace "wheel>=0.32.0,<0.33.0" "wheel>=0.31.0"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sparqlwrapper/default.nix b/pkgs/development/python-modules/sparqlwrapper/default.nix
new file mode 100644
index 000000000000..44f16fbdfc6c
--- /dev/null
+++ b/pkgs/development/python-modules/sparqlwrapper/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, six
+, isodate
+, pyparsing
+, html5lib
+, keepalive
+}:
+
+buildPythonPackage rec {
+  pname = "SPARQLWrapper";
+  version = "1.7.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1y12hpsfjd779yi29bhvl6g4vszadjvd8jw38z5rg77b034vxjnw";
+  };
+
+  # break circular dependency loop
+  patchPhase = ''
+    sed -i '/rdflib/d' requirements.txt
+  '';
+
+  # Doesn't actually run tests
+  doCheck = false;
+
+  propagatedBuildInputs = [ six isodate pyparsing html5lib keepalive ];
+
+  meta = with stdenv.lib; {
+    description = "This is a wrapper around a SPARQL service. It helps in creating the query URI and, possibly, convert the result into a more manageable format";
+    homepage = "http://rdflib.github.io/sparqlwrapper";
+    license = licenses.w3c;
+  };
+}
diff --git a/pkgs/development/python-modules/speedtest-cli/default.nix b/pkgs/development/python-modules/speedtest-cli/default.nix
new file mode 100644
index 000000000000..f2c38a3414ba
--- /dev/null
+++ b/pkgs/development/python-modules/speedtest-cli/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+# cannot be built as pythonApplication because the library functions are
+# required for home-assistant
+buildPythonPackage rec {
+  pname = "speedtest-cli";
+  version = "2.0.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "2f3d5aa1086d9b367c03b99db6e3207525af174772d877c6b982289b8d2bdefe";
+  };
+
+  # tests require working internet connection
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Command line interface for testing internet bandwidth using speedtest.net";
+    homepage = https://github.com/sivel/speedtest-cli;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ makefu domenkozar ndowens ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphfile/default.nix b/pkgs/development/python-modules/sphfile/default.nix
index 8ee4ce76069f..3309f1e9978f 100644
--- a/pkgs/development/python-modules/sphfile/default.nix
+++ b/pkgs/development/python-modules/sphfile/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "sphfile";
-  version = "1.0.0";
+  version = "1.0.1";
   name = pname + "-" + version;
 
   src = fetchurl {
     url = "mirror://pypi/s/sphfile/${name}.tar.gz";
-    sha256 = "1ly9746xrzbiax9cxr5sxlg0wvf6fdxcrgwsqqxckk3wnqfypfrd";
+    sha256 = "422b0704107b02ef3ca10e55ccdc80b0bb5ad8e2613b6442f8e2ea372c7cf5d8";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 9e71766065c5..e4e9bfaba1cf 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -26,10 +26,10 @@
 
 buildPythonPackage rec {
   pname = "Sphinx";
-  version = "1.7.8";
+  version = "1.7.9";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a07050845cc9a2f4026a6035cc8ed795a5ce7be6528bbc82032385c10807dfe7";
+    sha256 = "217a7705adcb573da5bbe1e0f5cab4fa0bd89fd9342c9159121746f593c2d5a4";
   };
   LC_ALL = "en_US.UTF-8";
 
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 2f755869d796..e1c576f94276 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.2.11";
+  version = "1.2.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef6569ad403520ee13e180e1bfd6ed71a0254192a934ec1dbd3dbf48f4aa9524";
+    sha256 = "c5951d9ef1d5404ed04bae5a16b60a0779087378928f997a294d1229c6ca4d3e";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 5713d7591dc6..2aeaa068a43b 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.2.8";
+  version = "1.2.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d261d93e7abed20543c261327d30b9f9936f0bed3c1a595f39218eeb66094526";
+    sha256 = "e64efce7f3b50cab02c8da968e00c1b456f59aff193d3dae2446d7c117723d53";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/ssdeep/default.nix b/pkgs/development/python-modules/ssdeep/default.nix
new file mode 100644
index 000000000000..f06138b4c255
--- /dev/null
+++ b/pkgs/development/python-modules/ssdeep/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pkgs
+, cffi
+, six
+, pytest
+, pytestrunner
+}:
+
+buildPythonPackage rec {
+  pname = "ssdeep";
+  version = "3.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "255de1f034652b3ed21920221017e70e570b1644f9436fea120ae416175f4ef5";
+  };
+
+  buildInputs = [ pkgs.ssdeep pytestrunner ];
+  checkInputs = [ pytest ];
+  propagatedBuildInputs = [ cffi six ];
+
+  # tests repository does not include required files
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/DinoTools/python-ssdeep;
+    description = "Python wrapper for the ssdeep library";
+    license = licenses.lgpl3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/statsd/default.nix b/pkgs/development/python-modules/statsd/default.nix
new file mode 100644
index 000000000000..6d5d9df0a6fb
--- /dev/null
+++ b/pkgs/development/python-modules/statsd/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "statsd";
+  version = "3.2.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "3fa92bf0192af926f7a0d9be031fe3fd0fbaa1992d42cf2f07e68f76ac18288e";
+  };
+
+  buildInputs = [ nose mock ];
+
+  patchPhase = ''
+    # Failing test: ERROR: statsd.tests.test_ipv6_resolution_udp
+    sed -i 's/test_ipv6_resolution_udp/noop/' statsd/tests.py
+    # well this is a noop, but so it was before
+    sed -i 's/assert_called_once()/called/' statsd/tests.py
+  '';
+
+  meta = with stdenv.lib; {
+    maintainers = with maintainers; [ domenkozar ];
+    description = "A simple statsd client";
+    license = licenses.mit;
+    homepage = https://github.com/jsocol/pystatsd;
+  };
+
+}
diff --git a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
index 5cd0e9266022..7f2c2539a738 100644
--- a/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
+++ b/pkgs/development/python-modules/tensorflow-tensorboard/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tensorflow-tensorboard";
-  version = "1.9.0";
+  version = "1.11.0";
   format = "wheel";
 
   src = fetchPypi ({
@@ -22,10 +22,10 @@ buildPythonPackage rec {
     format = "wheel";
   } // (if isPy3k then {
     python = "py3";
-    sha256 = "42a04637a636e16054b065907c81396b83a9702948ecd14218f19dc5cf85de98";
+    sha256 = "1nkd37zq9mk0gc9x6d4x8whahbx2cn0wl94lir3g1pibdzx9hc4v";
   } else {
     python = "py2";
-    sha256 = "97661706fbe857c372405e0f5bd7c3db2197b5e70cec88f6924b726fde65c2c1";
+    sha256 = "1mkyb5gn952i4s7fmc9ay4yh74ysrqbiqna6dl1qmahjpbaavbf5";
   }));
 
   propagatedBuildInputs = [ numpy werkzeug protobuf markdown grpcio ] ++ lib.optional (!isPy3k) futures;
diff --git a/pkgs/development/python-modules/tensorflow/bin.nix b/pkgs/development/python-modules/tensorflow/bin.nix
index cad2a93640ae..b925b74e03b5 100644
--- a/pkgs/development/python-modules/tensorflow/bin.nix
+++ b/pkgs/development/python-modules/tensorflow/bin.nix
@@ -22,6 +22,8 @@
 , zlib
 , python
 , symlinkJoin
+, keras-applications
+, keras-preprocessing
 }:
 
 # We keep this binary build for two reasons:
@@ -39,7 +41,7 @@ let
 
 in buildPythonPackage rec {
   pname = "tensorflow";
-  version = "1.9.0";
+  version = "1.11.0";
   format = "wheel";
 
   src = let
@@ -48,12 +50,11 @@ in buildPythonPackage rec {
     platform = if stdenv.isDarwin then "mac" else "linux";
     unit = if cudaSupport then "gpu" else "cpu";
     key = "${platform}_py_${pyver}_${unit}";
-    dls = import ./tf1.9.0-hashes.nix;
+    dls = import ./tf1.11.0-hashes.nix;
   in fetchurl dls.${key};
 
-  propagatedBuildInputs = [  protobuf numpy termcolor grpcio six astor absl-py gast tensorflow-tensorboard ]
-                 ++ lib.optional (!isPy3k) mock
-                 ++ lib.optionals (pythonOlder "3.4") [ backports_weakref enum34 ];
+  propagatedBuildInputs = [  protobuf numpy termcolor grpcio six astor absl-py gast tensorflow-tensorboard keras-applications keras-preprocessing ]
+                 ++ lib.optional (!isPy3k) mock;
 
   # Upstream has a pip hack that results in bin/tensorboard being in both tensorflow
   # and the propageted input tensorflow-tensorboard which causes environment collisions.
diff --git a/pkgs/development/python-modules/tensorflow/prefetcher.sh b/pkgs/development/python-modules/tensorflow/prefetcher.sh
index 6b98ece974eb..0954a3810057 100644
--- a/pkgs/development/python-modules/tensorflow/prefetcher.sh
+++ b/pkgs/development/python-modules/tensorflow/prefetcher.sh
@@ -1,4 +1,4 @@
-version=1.9.0
+version=1.11.0
 hashfile=tf${version}-hashes.nix
 rm -f $hashfile
 echo "{" >> $hashfile
diff --git a/pkgs/development/python-modules/tensorflow/tf1.11.0-hashes.nix b/pkgs/development/python-modules/tensorflow/tf1.11.0-hashes.nix
new file mode 100644
index 000000000000..47cd25ef7571
--- /dev/null
+++ b/pkgs/development/python-modules/tensorflow/tf1.11.0-hashes.nix
@@ -0,0 +1,34 @@
+{
+linux_py_27_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.11.0-cp27-none-linux_x86_64.whl";
+  sha256 = "0s3ar2jzz2m9ilqfl4aigfi4bq8k5n04grnfqy4nyii2y98xjy14";
+};
+linux_py_35_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.11.0-cp35-cp35m-linux_x86_64.whl";
+  sha256 = "0vfw2v033h8wdgjlbwjx2i9fdqqnxxc3r085irq9nzkdmwzw2jl8";
+};
+linux_py_36_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.11.0-cp36-cp36m-linux_x86_64.whl";
+  sha256 = "0zmr5bw3ki5l6jb19h70kmq3k3xnq60jkw6wqqr6par1c7b4i9c3";
+};
+linux_py_27_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.11.0-cp27-none-linux_x86_64.whl";
+  sha256 = "1pcacy4ky7zhq7h7d93s4xp213q1yj2zxn2khlyll389lq0bcbax";
+};
+linux_py_35_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.11.0-cp35-cp35m-linux_x86_64.whl";
+  sha256 = "04ggz7jzbhl41alnj526rp0vz88h68mcv3rbs5pmrwyg0j2cqjz3";
+};
+linux_py_36_gpu = {
+  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.11.0-cp36-cp36m-linux_x86_64.whl";
+  sha256 = "1ywpq3n51pn7jrr231immi2s6ghdy9s0bnkk7dg4dbbxrisxg33a";
+};
+mac_py_2_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py2-none-any.whl";
+  sha256 = "1rjb6gm0spj0l5zl02zsr6x3qagf2khrjw02z7znmsshb5xhsx8j";
+};
+mac_py_3_cpu = {
+  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.11.0-py3-none-any.whl";
+  sha256 = "16la41a2d29wa4i7h1g32d94g23ixzc3wc69kd9w82w45bwfv4xl";
+};
+}
diff --git a/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix b/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix
deleted file mode 100644
index 504ed7b5b957..000000000000
--- a/pkgs/development/python-modules/tensorflow/tf1.9.0-hashes.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{
-linux_py_27_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp27-none-linux_x86_64.whl";
-  sha256 = "1dvmajv5ddgzrazdnxpfhk9dkj0lfiviw4jmvk00d4q5v68z6ihg";
-};
-linux_py_35_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl";
-  sha256 = "07ilrxbhz9p3xwqhl2p8c40y1gsq68x10f34pzayrvcg2i52bvpv";
-};
-linux_py_36_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl";
-  sha256 = "0x2l64ab7i8nr0dzvsryblhn869qyjb85xkhy69nwahqswb68hxl";
-};
-linux_py_27_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp27-none-linux_x86_64.whl";
-  sha256 = "0q7i82jgy0mzn2mw8i1z0pvv7ssi6m7zqkkjg2i4zxpk8djg8k6z";
-};
-linux_py_35_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp35-cp35m-linux_x86_64.whl";
-  sha256 = "0nhq2s8fanm095x1sc9h40dvqcv9bc2aj47crv3c2sajbj7dn43g";
-};
-linux_py_36_gpu = {
-  url = "https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.9.0-cp36-cp36m-linux_x86_64.whl";
-  sha256 = "1m4b9cd8ghghqxaqrlzq7j9499ddidgr78bx0c20pgyrzg38jiz1";
-};
-mac_py_2_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.9.0-py2-none-any.whl";
-  sha256 = "1djj0xahzrmxhfc6kyjx1lkyfh7jhq3ix0gz9j3iq4smb3ca9z01";
-};
-mac_py_3_cpu = {
-  url = "https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.9.0-py3-none-any.whl";
-  sha256 = "0igffy7r0d8mhkn4pybp19jmc25alfpfl4k4fxh2s3rvgii8gk22";
-};
-}
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index 6217a4200574..cdf2de9e7302 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -26,21 +26,13 @@
 
 buildPythonPackage rec {
   pname = "thinc";
-  version = "6.11.2";
+  version = "6.12.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "028a014192e1914c151222794781d14e1c9fddf47a859aa36077f07871d0c30a";
+    sha256 = "0lfdf08v7rrj9b29z2vf8isaqa0zh16acw9im8chkqsh8bay4ykm";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "msgpack-python==" "msgpack-python>=" \
-      --replace "msgpack-numpy==" "msgpack-numpy>=" \
-      --replace "plac>=0.9,<1.0" "plac>=0.9" \
-      --replace "hypothesis>=2,<3" "hypothesis>=2"
-  '';
-
   buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     Accelerate CoreFoundation CoreGraphics CoreVideo
   ]);
@@ -71,13 +63,10 @@ buildPythonPackage rec {
   ];
 
   prePatch = ''
-    substituteInPlace setup.py --replace \
-      "'pathlib>=1.0.0,<2.0.0'," \
-      "\"pathlib>=1.0.0,<2.0.0; python_version<'3.4'\","
-
-    substituteInPlace setup.py --replace \
-      "'cytoolz>=0.8,<0.9'," \
-      "'cytoolz>=0.8',"
+    substituteInPlace setup.py \
+      --replace "pathlib==1.0.1" "pathlib>=1.0.0,<2.0.0" \
+      --replace "plac>=0.9.6,<1.0.0" "plac>=0.9.6" \
+      --replace "wheel>=0.32.0,<0.33.0" "wheel>=0.31.0"
   '';
 
   # Cannot find cython modules.
diff --git a/pkgs/development/python-modules/toml/default.nix b/pkgs/development/python-modules/toml/default.nix
index a80657dc4b45..9e408f2cb169 100644
--- a/pkgs/development/python-modules/toml/default.nix
+++ b/pkgs/development/python-modules/toml/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "toml";
-  version = "0.9.4";
+  version = "0.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bdbpbip67wdm6c7xwc6mmbmskyradj4cdxn1iibj4fcx1nbv1lf";
+    sha256 = "380178cde50a6a79f9d2cf6f42a62a5174febe5eea4126fe4038785f1d888d42";
   };
 
   # This package has a test script (built for Travis) that involves a)
diff --git a/pkgs/development/python-modules/uncompyle6/default.nix b/pkgs/development/python-modules/uncompyle6/default.nix
new file mode 100644
index 000000000000..89edc8f184ca
--- /dev/null
+++ b/pkgs/development/python-modules/uncompyle6/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, spark_parser
+, xdis
+}:
+
+buildPythonPackage rec {
+  pname = "uncompyle6";
+  version = "2.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0hx5sji6qjvnq1p0zhvyk5hgracpv2w6iar1j59qwllxv115ffi1";
+  };
+
+  propagatedBuildInputs = [ spark_parser xdis ];
+
+  meta = with stdenv.lib; {
+    description = "Python cross-version byte-code deparser";
+    homepage = https://github.com/rocky/python-uncompyle6/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/validictory/default.nix b/pkgs/development/python-modules/validictory/default.nix
new file mode 100644
index 000000000000..10808bffaab2
--- /dev/null
+++ b/pkgs/development/python-modules/validictory/default.nix
@@ -0,0 +1,23 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "validictory";
+  version = "1.0.0a2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "c02388a70f5b854e71e2e09bd6d762a2d8c2a017557562e866d8ffafb0934b07";
+  };
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Validate dicts against a schema";
+    homepage = https://github.com/sunlightlabs/validictory;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/venusian/default.nix b/pkgs/development/python-modules/venusian/default.nix
new file mode 100644
index 000000000000..14d678be892d
--- /dev/null
+++ b/pkgs/development/python-modules/venusian/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "venusian";
+  version = "1.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "9902e492c71a89a241a18b2f9950bea7e41d025cc8f3af1ea8d8201346f8577d";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    pytest
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library for deferring decorator actions";
+    homepage = http://pylonsproject.org/;
+    license = licenses.bsd0;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+}
diff --git a/pkgs/development/python-modules/voluptuous-serialize/default.nix b/pkgs/development/python-modules/voluptuous-serialize/default.nix
index e2796ee2a74e..05d372ec47df 100644
--- a/pkgs/development/python-modules/voluptuous-serialize/default.nix
+++ b/pkgs/development/python-modules/voluptuous-serialize/default.nix
@@ -1,17 +1,14 @@
-{ stdenv, buildPythonPackage, isPy3k, fetchFromGitHub, voluptuous, pytest }:
+{ stdenv, buildPythonPackage, isPy3k, fetchPypi, voluptuous, pytest }:
 
 buildPythonPackage rec  {
   pname = "voluptuous-serialize";
-  version = "2018-03-10";
+  version = "2.0.0";
 
   disabled = !isPy3k;
 
-  # no tests in PyPI tarball
-  src = fetchFromGitHub {
-    owner = "balloob";
-    repo = pname;
-    rev = "567f0d96f928cf6c30c9f1b8bdee729e651aac82";
-    sha256 = "0b16f1bxlqyvi1hy8wmzp2k0rzqcycmdhs8zwsyx0swnvkgwnv50";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "44be04d87aec34bd7d31ab539341fadc505205f2299031ed9be985112c21aa41";
   };
 
   propagatedBuildInputs = [
@@ -26,6 +23,9 @@ buildPythonPackage rec  {
     py.test
   '';
 
+  # no tests in PyPI tarball
+  doCheck = false;
+
   meta = with stdenv.lib; {
     homepage = https://github.com/balloob/voluptuous-serialize;
     license = licenses.asl20;
diff --git a/pkgs/development/python-modules/warlock/default.nix b/pkgs/development/python-modules/warlock/default.nix
new file mode 100644
index 000000000000..0f75be8be177
--- /dev/null
+++ b/pkgs/development/python-modules/warlock/default.nix
@@ -0,0 +1,27 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, six
+, jsonpatch
+, jsonschema
+, jsonpointer
+}:
+
+buildPythonPackage rec {
+  pname = "warlock";
+  version = "1.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0npgi4ks0nww2d6ci791iayab0j6kz6dx3jr7bhpgkql3s4if3bw";
+  };
+
+  propagatedBuildInputs = [ six jsonpatch jsonschema jsonpointer ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bcwaldon/warlock;
+    description = "Python object model built on JSON schema and JSON patch";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/watchdog/default.nix b/pkgs/development/python-modules/watchdog/default.nix
new file mode 100644
index 000000000000..1e5e5653b9d8
--- /dev/null
+++ b/pkgs/development/python-modules/watchdog/default.nix
@@ -0,0 +1,32 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, argh
+, pathtools
+, pyyaml
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "watchdog";
+  version = "0.8.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0qj1vqszxwfx6d1s66s96jmfmy2j94bywxiqdydh6ikpvcm8hrby";
+  };
+
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin
+    [ pkgs.darwin.apple_sdk.frameworks.CoreServices pkgs.darwin.cf-private ];
+  propagatedBuildInputs = [ argh pathtools pyyaml ];
+
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "Python API and shell utilities to monitor file system events";
+    homepage = https://github.com/gorakhargosh/watchdog;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ goibhniu ];
+  };
+
+}
diff --git a/pkgs/development/python-modules/whisper/default.nix b/pkgs/development/python-modules/whisper/default.nix
index 4d48b63da54a..1fb9dd6da16a 100644
--- a/pkgs/development/python-modules/whisper/default.nix
+++ b/pkgs/development/python-modules/whisper/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "whisper";
-  version = "1.1.3";
+  version = "1.1.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ahzsxk52ws8k3kdq52qbsbsx2r9z350j8gg9adw4x5fjwksz4r8";
+    sha256 = "ee9128873b5f9c97d258d35d0a32ef8e62c9da473fbbd056982df1f36f0b37aa";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/widgetsnbextension/default.nix b/pkgs/development/python-modules/widgetsnbextension/default.nix
index db992c7b932c..ab2bd9c4eb18 100644
--- a/pkgs/development/python-modules/widgetsnbextension/default.nix
+++ b/pkgs/development/python-modules/widgetsnbextension/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "widgetsnbextension";
-  version = "3.4.0";
+  version = "3.4.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c9d6e426a1d79d132b57b93b368feba2c66eb7b0fd34bdb901716b4b88e94497";
+    sha256 = "fa618be8435447a017fd1bf2c7ae922d0428056cfc7449f7a8641edf76b48265";
   };
 
   propagatedBuildInputs = [ notebook ];
diff --git a/pkgs/development/python-modules/wtforms/default.nix b/pkgs/development/python-modules/wtforms/default.nix
new file mode 100644
index 000000000000..40f0b6554515
--- /dev/null
+++ b/pkgs/development/python-modules/wtforms/default.nix
@@ -0,0 +1,29 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, Babel
+}:
+
+buildPythonPackage rec {
+  version = "2.1";
+  pname = "wtforms";
+
+  src = fetchPypi {
+    inherit pname version;
+    extension = "zip";
+    sha256 = "0vyl26y9cg409cfyj8rhqxazsdnd0jipgjw06civhrd53yyi1pzz";
+  };
+
+  # Django tests are broken "django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet."
+  # This is fixed in master I believe but not yet in 2.1;
+  doCheck = false;
+
+  propagatedBuildInputs = [ Babel ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/wtforms/wtforms;
+    description = "A flexible forms validation and rendering library for Python";
+    license = licenses.bsd3;
+  };
+
+}
diff --git a/pkgs/development/python-modules/xarray/default.nix b/pkgs/development/python-modules/xarray/default.nix
index c443c8fc880a..7a54b1f33ed1 100644
--- a/pkgs/development/python-modules/xarray/default.nix
+++ b/pkgs/development/python-modules/xarray/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "xarray";
-  version = "0.10.8";
+  version = "0.10.9";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6a1f2c5dc5f639f8343f70ed08d0afbb477a3867298ef38f0d9bf4aafa0fb750";
+    sha256 = "cb3028ba157e1953fd279bbe17c07bb5faa459ddf555bbe687c927e4cdfeecc3";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
new file mode 100644
index 000000000000..5973414f8dc5
--- /dev/null
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, nose
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "xdis";
+  version = "3.2.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0g2lh70837vigcbc1i58349wp2xzrhlsg2ahc92sn8d3jwxja4dk";
+  };
+
+  propagatedBuildInputs = [ nose six ];
+
+  meta = with stdenv.lib; {
+    description = "Python cross-version byte-code disassembler and marshal routines";
+    homepage = https://github.com/rocky/python-xdis/;
+    license = licenses.mit;
+  };
+
+}
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index 291b981bf475..1338de7e67cd 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "2.10.0";
+  version = "2.10.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "dc62e1d2fea896855ee0681f02bcb7596e3b6b5aa559348b8520a4eb0c793282";
+    sha256 = "ace45039e9d71713b4bb09ea199644797a7d884fbdd940e4c02559b4bccb01a1";
   };
 
   propagatedBuildInputs = [ intervaltree pyflakes requests lxml ];
diff --git a/pkgs/development/python-modules/xstatic-bootbox/default.nix b/pkgs/development/python-modules/xstatic-bootbox/default.nix
index 68c81157eb08..1f60a0fbe6cf 100644
--- a/pkgs/development/python-modules/xstatic-bootbox/default.nix
+++ b/pkgs/development/python-modules/xstatic-bootbox/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-Bootbox";
-  version = "4.3.0.1";
+  version = "4.4.0.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0wks1lsqngn3gvlhzrvaan1zj8w4wr58xi0pfqhrzckbghvvr0gj";
+    sha256 = "1g00q38g1k576lxjlwglv4w3fj4z0z8lxlwpc66wyhjglj4r4bwd";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic-bootstrap/default.nix b/pkgs/development/python-modules/xstatic-bootstrap/default.nix
index 757c2cc240ed..a474bf84d0fd 100644
--- a/pkgs/development/python-modules/xstatic-bootstrap/default.nix
+++ b/pkgs/development/python-modules/xstatic-bootstrap/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-Bootstrap";
-  version = "3.3.5.1";
+  version = "3.3.7.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0jzjq3d4vp2shd2n20f9y53jnnk1cvphkj1v0awgrf18qsy2bmin";
+    sha256 = "0c949e78e8cd77983fd803a68a98df0124e0c3a872fddb9ac8e6e5b4a487f131";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix b/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
index 0cf029c68a59..3b9c7affe161 100644
--- a/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
+++ b/pkgs/development/python-modules/xstatic-jquery-file-upload/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-jQuery-File-Upload";
-  version = "9.7.0.1";
+  version = "9.22.0.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0d5za18lhzhb54baxq8z73wazq801n3qfj5vgcz7ri3ngx7nb0cg";
+    sha256 = "0jy7xnww0177fv0asssxvv8l1032jcnbkvz39z16yd6k34v53fzf";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic-jquery-ui/default.nix b/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
index 1b884a97eb22..3424c8fcf6f2 100644
--- a/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
+++ b/pkgs/development/python-modules/xstatic-jquery-ui/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-jquery-ui";
-  version = "1.12.0.1";
+  version = "1.12.1.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0w7mabv6qflpd47g33j3ggp5rv17mqk0xz3bsdswcj97wqpga2l2";
+    sha256 = "d6ba48bb474420a8bcb2be02eef6ae96281ec24eff6befa54f04ebc9e4cc8910";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic-jquery/default.nix b/pkgs/development/python-modules/xstatic-jquery/default.nix
index d884f12bdbf1..8e3f084ca7f0 100644
--- a/pkgs/development/python-modules/xstatic-jquery/default.nix
+++ b/pkgs/development/python-modules/xstatic-jquery/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-jQuery";
-  version = "1.10.2.1";
+  version = "3.3.1.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "018kx4zijflcq8081xx6kmiqf748bsjdq7adij2k91bfp1mnlhc3";
+    sha256 = "0xlgs4rlabzfcp8p2zspwpsljycb0djyrk7qy4qh76i7zkfhwn8j";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic-pygments/default.nix b/pkgs/development/python-modules/xstatic-pygments/default.nix
index 8ec9b77860c2..956d331e7b89 100644
--- a/pkgs/development/python-modules/xstatic-pygments/default.nix
+++ b/pkgs/development/python-modules/xstatic-pygments/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic-Pygments";
-  version = "1.6.0.1";
+  version = "2.2.0.1";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "0fjqgg433wfdnswn7fad1g6k2x6mf24wfnay2j82j0fwgkdxrr7m";
+    sha256 = "1rm073ag1hgwlazl52mng62wvnayz7ckr5ki341shvp9db1x2n51";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/xstatic/default.nix b/pkgs/development/python-modules/xstatic/default.nix
index 02931215b8d3..bbfcce54d890 100644
--- a/pkgs/development/python-modules/xstatic/default.nix
+++ b/pkgs/development/python-modules/xstatic/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "XStatic";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchPypi {
     inherit version pname;
-    sha256 = "09npcsyf1ccygjs0qc8kdsv4qqy8gm1m6iv63g9y1fgbcry3vj8f";
+    sha256 = "80b78dfe37bce6dee4343d64c65375a80bcf399b46dd47c0c7d56161568a23a8";
   };
 
   # no tests implemented
diff --git a/pkgs/development/python-modules/zake/default.nix b/pkgs/development/python-modules/zake/default.nix
new file mode 100644
index 000000000000..143f609d8338
--- /dev/null
+++ b/pkgs/development/python-modules/zake/default.nix
@@ -0,0 +1,31 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, kazoo
+, six
+, testtools
+, python
+}:
+
+buildPythonPackage rec {
+  pname = "zake";
+  version = "0.2.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1rp4xxy7qp0s0wnq3ig4ji8xsl31g901qkdp339ndxn466cqal2s";
+  };
+
+  propagatedBuildInputs = [ kazoo six ];
+  buildInputs = [ testtools ];
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover zake/tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/yahoo/Zake";
+    description = "A python package that works to provide a nice set of testing utilities for the kazoo library";
+    license = licenses.asl20;
+  };
+
+}
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index 8fc15c5da6fa..99d05a359631 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "zetup";
-  version = "0.2.43";
+  version = "0.2.45";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ee92ba93a03336962525536f237ae0decf99a9b5d484ba34a3cf06ef017dae8e";
+    sha256 = "f1cde33d0ef3bedaf697e432201fa86da698dadd3445c0efd2a114753853c675";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/zope_deprecation/default.nix b/pkgs/development/python-modules/zope_deprecation/default.nix
new file mode 100644
index 000000000000..ddc486918fb2
--- /dev/null
+++ b/pkgs/development/python-modules/zope_deprecation/default.nix
@@ -0,0 +1,25 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, zope_testing
+}:
+
+buildPythonPackage rec {
+  pname = "zope.deprecation";
+  version = "4.1.2";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "fed622b51ffc600c13cc5a5b6916b8514c115f34f7ea2730409f30c061eb0b78";
+  };
+
+  buildInputs = [ zope_testing ];
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/zopefoundation/zope.deprecation;
+    description = "Zope Deprecation Infrastructure";
+    license = licenses.zpl20;
+    maintainers = with maintainers; [ garbas domenkozar ];
+  };
+
+}
diff --git a/pkgs/development/ruby-modules/bundler/default.nix b/pkgs/development/ruby-modules/bundler/default.nix
index 7f89d1ffa87c..65cde9815029 100644
--- a/pkgs/development/ruby-modules/bundler/default.nix
+++ b/pkgs/development/ruby-modules/bundler/default.nix
@@ -4,8 +4,8 @@ buildRubyGem rec {
   inherit ruby;
   name = "${gemName}-${version}";
   gemName = "bundler";
-  version = "1.16.3";
-  source.sha256 = "0spddjiq6yscl4sywwcj5zrjk3lq02zacigrz2fh78yfdzyi34fq";
+  version = "1.16.4";
+  source.sha256 = "15zrxqv817w4vawc23lx3miigir36ba59wkykkr6l1nkf0iy013d";
   dontPatchShebangs = true;
 
   postFixup = ''
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 690db9a30e1a..d99ab3df75ef 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "8.12";
+  version = "8.13";
   name = "checkstyle-${version}";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "000048flqhkwnjn37bh07wgn6q4m12s3h3p9piqgvxswrjc95x3y";
+    sha256 = "05w60yg5ghjdg36k4xd8m0yyfia9viyz51j053030b74bq65yvai";
   };
 
   nativeBuildInputs = [ makeWrapper jre ];
diff --git a/pkgs/development/tools/analysis/egypt/default.nix b/pkgs/development/tools/analysis/egypt/default.nix
index 07bcd57a121a..defc39a9f749 100644
--- a/pkgs/development/tools/analysis/egypt/default.nix
+++ b/pkgs/development/tools/analysis/egypt/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPerlPackage }:
+{ stdenv, fetchurl, perlPackages }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "egypt-${version}";
   version = "1.10";
 
diff --git a/pkgs/development/tools/analysis/radare2/cutter.nix b/pkgs/development/tools/analysis/radare2/cutter.nix
index 659d6a94f5eb..25c6d6d58792 100644
--- a/pkgs/development/tools/analysis/radare2/cutter.nix
+++ b/pkgs/development/tools/analysis/radare2/cutter.nix
@@ -8,7 +8,7 @@
 , python3 }:
 
 let
-  version = "1.7.1";
+  version = "1.7.2";
 in
 stdenv.mkDerivation rec {
   name = "radare2-cutter-${version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     owner = "radareorg";
     repo = "cutter";
     rev = "v${version}";
-    sha256 = "0dfi6f016jnh3swppvks5qkvmk0j2hvggh9sd1f40kg9pg5p08hy";
+    sha256 = "09cqfz66r3830jkz1rwyfqw1xl1jfj6xg4pcccd2ml456kddh9dn";
   };
 
   postUnpack = "export sourceRoot=$sourceRoot/src";
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index f10b820a73ea..2f0878da8c6f 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -2,6 +2,7 @@
 , callPackage
 , ninja, meson , pkgconfig
 , libusb, readline, libewf, perl, zlib, openssl
+, libuv
 , gtk2 ? null, vte ? null, gtkdialog ? null
 , python ? null
 , ruby ? null
@@ -62,12 +63,15 @@ let
         "-Dr2_gittip=${gittip}"
         # 2.8.0 expects this, but later it becomes an option with default=false.
         "-Dcapstone_in_builddir=true"
+
+        "-Duse_sys_openssl=true"
+        "-Duse_sys_zlib=true"
       ];
 
       enableParallelBuilding = true;
 
       nativeBuildInputs = [ pkgconfig ninja meson ];
-      buildInputs = [ readline libusb libewf perl zlib openssl]
+      buildInputs = [ readline libusb libewf perl zlib openssl libuv ]
         ++ optional useX11 [gtkdialog vte gtk2]
         ++ optional rubyBindings [ruby]
         ++ optional pythonBindings [python]
@@ -86,24 +90,24 @@ in {
   #<generated>
   # DO NOT EDIT! Automatically generated by ./update.py
   radare2 = generic {
-    version_commit = "19349";
-    gittap = "2.9.0";
-    gittip = "d5e9539ec8068ca2ab4759dc3b0697781ded4cc8";
-    rev = "2.9.0";
-    version = "2.9.0";
-    sha256 = "0zz6337p9095picfvjrcnqaxdi2a2b68h9my523ilnw8ynwfhdzw";
-    cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a";
-    cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4";
+    version_commit = "19720";
+    gittap = "3.0.0";
+    gittip = "13e3ebd2aa6653eb5b6bdd65a93dcddf3550fcfa";
+    rev = "3.0.0";
+    version = "3.0.0";
+    sha256 = "0awbk9v7qjkarscaqzyly310f04dxgndxvxwxbjrsswqlp206b40";
+    cs_tip = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
+    cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
   };
   r2-for-cutter = generic {
-    version_commit = "19349";
-    gittap = "2.8.0-189-gf82b28982";
-    gittip = "f82b289822825e4c7403734f3b95dfd7f5e4f725";
-    rev = "f82b289822825e4c7403734f3b95dfd7f5e4f725";
-    version = "2018-08-14";
-    sha256 = "0zc2a09xmwbxphxd1b0ia0zm8323wfcmxwwx6k239681jj9qwgr1";
-    cs_tip = "782ea67e17a391ca0d3faafdc365b335a1a8930a";
-    cs_sha256 = "1maww4ir78a193pm3f8lr2kdkizi7rywn68ffa65ipyr7j4pl6i4";
+    version_commit = "19720";
+    gittap = "2.9.0-310-gcb62c376b";
+    gittip = "cb62c376bef6c7427019a7c28910c33c364436dd";
+    rev = "cb62c376bef6c7427019a7c28910c33c364436dd";
+    version = "2018-10-07";
+    sha256 = "0z4nr1d2ca8ibq34441j15pj22wh46brcbr00j5hcqvn8y2lh96l";
+    cs_tip = "e2c1cd46c06744beaceff42dd882de3a90f0a37c";
+    cs_sha256 = "1czzqj8zdjgh7h2ixi26ij3mm4bgm4xw2slin6fv73nic8yaw722";
   };
   #</generated>
 }
diff --git a/pkgs/development/tools/analysis/radare2/update.py b/pkgs/development/tools/analysis/radare2/update.py
index 45920fd1e4bf..684d70bc0bc4 100755
--- a/pkgs/development/tools/analysis/radare2/update.py
+++ b/pkgs/development/tools/analysis/radare2/update.py
@@ -38,10 +38,9 @@ def get_radare2_rev() -> str:
 
 def get_cutter_version() -> str:
     version_expr = """
-(with import <nixpkgs> {}; (builtins.parseDrvName (qt5.callPackage ./cutter.nix {}).name).version)
+(with import <nixpkgs> {}; (builtins.parseDrvName (qt5.callPackage <radare2/cutter.nix> {}).name).version)
 """
-    with SCRIPT_DIR:
-        return sh("nix", "eval", "--raw", version_expr.strip())
+    return sh("nix", "eval", "--raw", version_expr.strip(), "-I", "radare2={0}".format(SCRIPT_DIR))
 
 
 def get_r2_cutter_rev() -> str:
@@ -109,7 +108,7 @@ def main() -> None:
             "https://github.com/radare/radare2",
             ".",
         )
-        nix_file = str(Path(__file__).parent.joinpath("default.nix"))
+        nix_file = str(SCRIPT_DIR.joinpath("default.nix"))
 
         radare2_info = get_repo_info(dirname, radare2_rev)
 
diff --git a/pkgs/development/tools/analysis/rr/default.nix b/pkgs/development/tools/analysis/rr/default.nix
index 9c2419b53589..cd2fb21209c4 100644
--- a/pkgs/development/tools/analysis/rr/default.nix
+++ b/pkgs/development/tools/analysis/rr/default.nix
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  # TODO: remove this preConfigure hook after 5.2.0 since it is fixed upstream
+  # see https://github.com/mozilla/rr/issues/2269
+  preConfigure = ''substituteInPlace CMakeLists.txt --replace "std=c++11" "std=c++14"'';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     cmake libpfm zlib python2Packages.python python2Packages.pexpect which procps gdb capnproto
@@ -49,7 +53,7 @@ stdenv.mkDerivation rec {
       time the same execution is replayed.
     '';
 
-    license = "custom";
+    license = with stdenv.lib.licenses; [ mit bsd2 ];
     maintainers = with stdenv.lib.maintainers; [ pierron thoughtpolice ];
     platforms = stdenv.lib.platforms.x86;
   };
diff --git a/pkgs/development/tools/analysis/snowman/default.nix b/pkgs/development/tools/analysis/snowman/default.nix
index 638423ed5972..e965acc746cc 100644
--- a/pkgs/development/tools/analysis/snowman/default.nix
+++ b/pkgs/development/tools/analysis/snowman/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "snowman-${version}";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "yegord";
     repo = "snowman";
     rev = "v${version}";
-    sha256 = "1ry14n8jydg6rzl52gyn0qhmv6bvivk7iwssp89lq5qk8k183x3k";
+    sha256 = "1mrmhj2nddi0d47c266vsg5vbapbqbcpj5ld4v1qcwnnk6z2zn0j";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index e9f005f79917..19836b412c04 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -13,8 +13,8 @@
 let
   srcDeps = lib.singleton (
     fetchurl {
-      url = "https://github.com/google/desugar_jdk_libs/archive/f5e6d80c6b4ec6b0a46603f72b015d45cf3c11cd.zip";
-      sha256 = "c80f3f3d442d8a6ca7adc83f90ecd638c3864087fdd6787ffac070b6f1cc8f9b";
+      url = "https://github.com/google/desugar_jdk_libs/archive/fd937f4180c1b557805219af4482f1a27eb0ff2b.zip";
+      sha256 = "04hs399340xfwcdajbbcpywnb2syp6z5ydwg966if3hqdb2zrf23";
     }
   );
 
@@ -28,7 +28,7 @@ let
 in
 stdenv.mkDerivation rec {
 
-  version = "0.17.1";
+  version = "0.18.0";
 
   meta = with lib; {
     homepage = "https://github.com/bazelbuild/bazel/";
@@ -42,19 +42,13 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/bazelbuild/bazel/releases/download/${version}/bazel-${version}-dist.zip";
-    sha256 = "081z40vsxvw6ndiinik4pn09gxmv140k6l9zv93dgjr86qf2ir13";
+    sha256 = "0mbi4n4wp1x73l8qksg4vyh2sba52xh9hfl2m518gv41g0pnvs6h";
   };
 
   sourceRoot = ".";
 
   patches =
-    lib.optional enableNixHacks ./nix-hacks.patch
-    # patch perl out of the bash completions
-    # should land in 0.18
-    ++ [(fetchpatch {
-           url = "https://github.com/bazelbuild/bazel/commit/27be70979b54d7510bf401d9581fb4075737ef34.patch";
-           sha256 = "04rip46lnibrsdyzjpi29wf444b49cbwb1xjcbrr3kdqsdj4d8h5";
-       })];
+    lib.optional enableNixHacks ./nix-hacks.patch;
 
   # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
 
@@ -137,10 +131,10 @@ stdenv.mkDerivation rec {
       echo "build --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\"" >> .bazelrc
       echo "build --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\"" >> .bazelrc
       echo "build --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\"" >> .bazelrc
-      sed -i -e "362 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "362 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "362 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
-      sed -i -e "362 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
+      sed -i -e "378 a --copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
+      sed -i -e "378 a --host_copt=\"$(echo $NIX_CFLAGS_COMPILE | sed -e 's/ /" --host_copt=\"/g')\" \\\\" scripts/bootstrap/compile.sh
+      sed -i -e "378 a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
+      sed -i -e "378 a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" scripts/bootstrap/compile.sh
 
       # --experimental_strict_action_env (which will soon become the
       # default, see bazelbuild/bazel#2574) hardcodes the default
diff --git a/pkgs/development/tools/build-managers/sbt/default.nix b/pkgs/development/tools/build-managers/sbt/default.nix
index 60f342db12aa..dce19a1d8395 100644
--- a/pkgs/development/tools/build-managers/sbt/default.nix
+++ b/pkgs/development/tools/build-managers/sbt/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "sbt-${version}";
-  version = "1.2.4";
+  version = "1.2.6";
 
   src = fetchurl {
     urls = [
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
       "https://github.com/sbt/sbt/releases/download/v${version}/sbt-${version}.tgz"
       "https://cocl.us/sbt-${version}.tgz"
     ];
-    sha256 = "06zv1mm4rhl0h6qa7m4w5lbwjcyqp43r183q36q9zlyip965mnrn";
+    sha256 = "1nv8r3j2vhp38qbb123n86wfhb6mvwz7vgrrsjp344zg211psncn";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index 942748a38106..8d0f85e24847 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, gtk2 }:
+{ stdenv, libXScrnSaver, makeWrapper, fetchurl, unzip, atomEnv, gtk2, at-spi2-atk }:
 
 let
-  version = "1.8.2";
+  version = "3.0.5";
   name = "electron-${version}";
 
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
@@ -20,19 +20,19 @@ let
     src = {
       i686-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-ia32.zip";
-        sha256 = "12q5h6gh9zzhndg6yfka821rblq3l80d2qzqrq4nbq6rlsshjp9d";
+        sha256 = "1jrvvjx9q1aklp09fk9g5yg0qnq2gx8837d45aaig2ycy0srhdif";
       };
       x86_64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-x64.zip";
-        sha256 = "07ggq9wgfz3z5z0lwzzgs6im0qs83pz0pcfwr0r42zgmwg7j78b8";
+        sha256 = "1bgi980zwarmxmp98nwdlfy9qnid4y65aadl66n6wwvb6hs4zjmz";
       };
       armv7l-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-armv7l.zip";
-        sha256 = "1b0p5x9zigyd6d8gz2hxc4scllrpnbx1dzzwlsvw6ilqbj1ypc7i";
+        sha256 = "1ayfcy7jm7mymmbdq08id9wpjj6cja2cyix1sw2r3m8gpn4l6ih2";
       };
       aarch64-linux = fetchurl {
         url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-linux-arm64.zip";
-        sha256 = "0k4np2d4y15x1qfay8y9m8v9y223vdpbq5fdxa3ywbbyf8j361zd";
+        sha256 = "18cqg9zb98c0rfrdg7ri26dvhjwrwzj41jn8dfra9131xc84nl3i";
       };
     }.${stdenv.hostPlatform.system} or throwSystem;
 
@@ -47,7 +47,7 @@ let
 
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${atomEnv.libPath}:${gtk2}/lib:$out/lib/electron" \
+        --set-rpath "${atomEnv.libPath}:${gtk2}/lib:${at-spi2-atk}/lib:$out/lib/electron" \
         $out/lib/electron/electron
 
       wrapProgram $out/lib/electron/electron \
@@ -60,7 +60,7 @@ let
 
     src = fetchurl {
       url = "https://github.com/electron/electron/releases/download/v${version}/electron-v${version}-darwin-x64.zip";
-      sha256 = "0pq587vr1i87jdwcpbf6n136i9dp6i39dp5s95kihnm9qglxr42b";
+      sha256 = "18sjgb93hs73bx8wa0i8r64wdh927jdwpcsxd6pfq68lfw38g2ks";
     };
 
     buildInputs = [ unzip ];
diff --git a/pkgs/development/tools/flatpak-builder/default.nix b/pkgs/development/tools/flatpak-builder/default.nix
index d2052bc0e8e2..530e80f4fae6 100644
--- a/pkgs/development/tools/flatpak-builder/default.nix
+++ b/pkgs/development/tools/flatpak-builder/default.nix
@@ -37,7 +37,7 @@
 }:
 
 let
-  version = "1.0.0";
+  version = "1.0.1";
 in stdenv.mkDerivation rec {
   name = "flatpak-builder-${version}";
 
@@ -45,7 +45,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak-builder/releases/download/${version}/${name}.tar.xz";
-    sha256 = "0ysnz0dwc8wfd31afwssg9prvaqdga7z4mybnrzy8sgm0hi5p2l5";
+    sha256 = "01p3j8ndk9bimnqibw3dyny0ysv6nw2f7z5im19s9jlhlzdqb48w";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/global-platform-pro/default.nix b/pkgs/development/tools/global-platform-pro/default.nix
index 7c697bc5e576..ab32216de80d 100644
--- a/pkgs/development/tools/global-platform-pro/default.nix
+++ b/pkgs/development/tools/global-platform-pro/default.nix
@@ -3,50 +3,20 @@
 # TODO: This is quite a bit of duplicated logic with gephi. Factor it out?
 stdenv.mkDerivation rec {
   pname = "global-platform-pro";
-  version = "0.3.10-rc11"; # Waiting for release https://github.com/martinpaljak/GlobalPlatformPro/issues/128
-  describeVersion = "v0.3.10-rc11-0-g8923747"; # git describe --tags --always --long --dirty
+  version = "18.09.14";
+  GPPRO_VERSION = "18.09.14-0-gb439b52"; # git describe --tags --always --long --dirty
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "martinpaljak";
     repo = "GlobalPlatformPro";
-    rev = "v${version}";
-    sha256 = "0rk81x2y7vx1caxm6wa59fjrfxmjn7s8yxaxm764p8m2qxk3m4y2";
+    rev = "${version}";
+    sha256 = "1vws6cbgm3mrwc2xz9j1y262vw21x3hjc9m7rqc4hn3m7gjpwsvg";
   };
 
-  # This patch hardcodes the return of a git command the build system tries to
-  # run. As `fetchFromGitHub` doesn't fetch a full-fledged git repository,
-  # this command can only fail at build-time. As a consequence, we include the
-  # `describeVersion` variable defined above here.
-  #
-  # See upstream issue https://github.com/martinpaljak/GlobalPlatformPro/issues/129
-  patches = [ (writeText "${name}-version.patch" ''
-    diff --git a/pom.xml b/pom.xml
-    index 1e5a82d..1aa01fe 100644
-    --- a/pom.xml
-    +++ b/pom.xml
-    @@ -121,14 +121,10 @@
-                         </execution>
-                     </executions>
-                     <configuration>
-    -                    <executable>git</executable>
-    +                    <executable>echo</executable>
-                         <outputFile>target/generated-resources/pro/javacard/gp/pro_version.txt</outputFile>
-                         <arguments>
-    -                        <argument>describe</argument>
-    -                        <argument>--tags</argument>
-    -                        <argument>--always</argument>
-    -                        <argument>--long</argument>
-    -                        <argument>--dirty</argument>
-    +                        <argument>${describeVersion}</argument>
-                         </arguments>
-                     </configuration>
-                 </plugin>
-  '') ];
-
   deps = stdenv.mkDerivation {
     name = "${name}-deps";
-    inherit src patches;
+    inherit src;
     nativeBuildInputs = [ jdk maven ];
     installPhase = ''
       # Download the dependencies
@@ -62,7 +32,7 @@ stdenv.mkDerivation rec {
     '';
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "15bbi7z9v601all9vr2azh8nk8rpz2vd91yvvw8id6birnbhn3if";
+    outputHash = "1qwgvz6l5wia8q5824c9f3iwyapfskljhqf1z09fw6jjj1jy3b15";
   };
 
   nativeBuildInputs = [ jdk maven makeWrapper ];
@@ -75,7 +45,6 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p "$out/lib/java" "$out/share/java"
-    cp -R target/apidocs "$out/doc"
     cp target/gp.jar "$out/share/java"
     makeWrapper "${jre_headless}/bin/java" "$out/bin/gp" \
       --add-flags "-jar '$out/share/java/gp.jar'" \
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index 585f10336567..36634423fdbc 100644
--- a/pkgs/development/tools/go2nix/default.nix
+++ b/pkgs/development/tools/go2nix/default.nix
@@ -3,7 +3,7 @@
 
 buildGoPackage rec {
   name = "go2nix-${version}";
-  version = "1.2.1";
+  version = "1.3.0";
   rev = "v${version}";
 
   goPackagePath = "github.com/kamilchm/go2nix";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "kamilchm";
     repo = "go2nix";
-    sha256 = "0fr9aa50yvchfhv6h6zqblx8ynxk41i2hmv87b344zr2rz6rms72";
+    sha256 = "1q61mgngvyl2bnmrqahh3bji402n76c7xwv29lwk007gymzgff0n";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/hcloud/default.nix b/pkgs/development/tools/hcloud/default.nix
index b3fa6f852f76..527737855bda 100644
--- a/pkgs/development/tools/hcloud/default.nix
+++ b/pkgs/development/tools/hcloud/default.nix
@@ -2,16 +2,19 @@
 
 buildGoPackage rec {
   name = "hcloud-${version}";
-  version = "1.6.1";
+  version = "1.9.1";
+  
   goPackagePath = "github.com/hetznercloud/cli";
 
   src = fetchFromGitHub {
     owner = "hetznercloud";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "0v5n7y8vb23iva51kb15da198yk7glc1fix193icrk3pvcbj5bjr";
+    sha256 = "0qc4mzjd1q3xv1j0dxv5qvk443bdhh5hlbv3i3444v36wycj3171";
   };
 
+  goDeps = ./deps.nix;
+
   buildFlagsArray = [ "-ldflags=" "-w -X github.com/hetznercloud/cli/cli.Version=${version}" ];
 
   postInstall = ''
diff --git a/pkgs/development/tools/hcloud/deps.nix b/pkgs/development/tools/hcloud/deps.nix
new file mode 100644
index 000000000000..66612d54daf7
--- /dev/null
+++ b/pkgs/development/tools/hcloud/deps.nix
@@ -0,0 +1,102 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/dustin/go-humanize";
+    fetch = {
+      type = "git";
+      url = "https://github.com/dustin/go-humanize";
+      rev = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e";
+      sha256 = "1kqf1kavdyvjk7f8kx62pnm7fbypn9z1vbf8v2qdh3y7z7a0cbl3";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/structs";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/structs";
+      rev = "878a968ab22548362a09bdb3322f98b00f470d46";
+      sha256 = "15nkffa8ylr5kkv52gyry675l8bzv3c0xx39j0fzz0vp2kcjyy8x";
+    };
+  }
+  {
+    goPackagePath = "github.com/gosuri/uilive";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gosuri/uilive";
+      rev = "ac356e6e42cd31fcef8e6aec13ae9ed6fe87713e";
+      sha256 = "1k28zbc14p1yqzhamp9rcagjdw6wsdb55m08nx758jwlr31az6jy";
+    };
+  }
+  {
+    goPackagePath = "github.com/gosuri/uiprogress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gosuri/uiprogress";
+      rev = "d0567a9d84a1c40dd7568115ea66f4887bf57b33";
+      sha256 = "1m7rxf71mn8w2yysc8wmf2703avhci6f4nkiijjl1f2cx4kzykck";
+    };
+  }
+  {
+    goPackagePath = "github.com/hetznercloud/hcloud-go";
+    fetch = {
+      type = "git";
+      url = "https://github.com/hetznercloud/hcloud-go";
+      rev = "eaf050e4f37028d2ca5f99a2fb38ead2c9b293d3";
+      sha256 = "0ki4vk02da4dj6prx3gz8cvrfkj6xb72sjkwqcrbdp4n4klasngi";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "81a861c69d25a841d0c4394f0e6f84bc8c5afae0";
+      sha256 = "1sk301rm7rm5hfcx7z7vgask5i80wx3mhyxjr3xnm5q1rvdj6vsl";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/cobra";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/cobra";
+      rev = "8d114be902bc9f08717804830a55c48378108a28";
+      sha256 = "1ipmdjwqxyvj6cv33xm1m4ngyx49jsnp8n9jd8fjbkng8aw3q4al";
+    };
+  }
+  {
+    goPackagePath = "github.com/spf13/pflag";
+    fetch = {
+      type = "git";
+      url = "https://github.com/spf13/pflag";
+      rev = "298182f68c66c05229eb03ac171abe6e309ee79a";
+      sha256 = "1cj3cjm7d3zk0mf1xdybh0jywkbbw7a6yr3y22x9sis31scprswd";
+    };
+  }
+  {
+    goPackagePath = "github.com/thcyron/uiprogress";
+    fetch = {
+      type = "git";
+      url = "https://github.com/thcyron/uiprogress";
+      rev = "25e98ffb0e98b5192b475d8f2fd78083bfe9a67e";
+      sha256 = "1avb0jykn3qbjrvhc8i50ahisf9rsfy74ysrwfqbqqkpvhdxv12i";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "0c41d7ab0a0ee717d4590a44bcb987dfd9e183eb";
+      sha256 = "1mff9l49dffsak7vxg3dzxlzkgm5nqfksh9cbsjpmngpc5pk0fbc";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "fa43e7bc11baaae89f3f902b2b4d832b68234844";
+      sha256 = "1z96xhgw930jpd53g1sy9x6wiijgz751czbvr2zzgc55y0md1mfw";
+    };
+  }
+]
diff --git a/pkgs/development/tools/jbake/default.nix b/pkgs/development/tools/jbake/default.nix
index 9c3094fb4fec..c11e6f15ce96 100644
--- a/pkgs/development/tools/jbake/default.nix
+++ b/pkgs/development/tools/jbake/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchzip, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "2.6.1";
+  version = "2.6.2";
   name = "jbake-${version}";
 
   src = fetchzip {
     url = "https://dl.bintray.com/jbake/binary/${name}-bin.zip";
-    sha256 = "0zlh2azmv8gj3c4d4ndivar31wd42nmvhxq6xhn09cib9kffxbc7";
+    sha256 = "1q96z0pvkqgb4194m52z89q56cbc0g3faflyfpy55z099f655rx9";
   };
 
   buildInputs = [ makeWrapper jre ];
diff --git a/pkgs/development/tools/misc/abi-compliance-checker/default.nix b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
new file mode 100644
index 000000000000..db0e41d27ab3
--- /dev/null
+++ b/pkgs/development/tools/misc/abi-compliance-checker/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, ctags, perl, binutils, abi-dumper }:
+
+stdenv.mkDerivation rec {
+  name = "abi-compliance-checker-${version}";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "abi-compliance-checker";
+    rev = version;
+    sha256 = "1f1f9j2nf9j83sfl2ljadch99v6ha8rq8xm7ax5akc05hjpyckij";
+  };
+
+  buildInputs = [ binutils ctags perl ];
+  propagatedBuildInputs = [ abi-dumper ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://lvc.github.io/abi-compliance-checker;
+    description = "A tool for checking backward API/ABI compatibility of a C/C++ library";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/abi-dumper/default.nix b/pkgs/development/tools/misc/abi-dumper/default.nix
new file mode 100644
index 000000000000..047cd466baac
--- /dev/null
+++ b/pkgs/development/tools/misc/abi-dumper/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, ctags, perl, elfutils, vtable-dumper }:
+
+stdenv.mkDerivation rec {
+  name = "abi-dumper-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "abi-dumper";
+    rev = version;
+    sha256 = "1byhw132aj7a5a5zh5s3pnjlrhdk4cz6xd5irp1y08jl980qba5j";
+  };
+
+  patchPhase = ''
+    substituteInPlace abi-dumper.pl \
+      --replace eu-readelf ${elfutils}/bin/eu-readelf \
+      --replace vtable-dumper ${vtable-dumper}/bin/vtable-dumper \
+      --replace '"ctags"' '"${ctags}/bin/ctags"'
+  '';
+
+  buildInputs = [ elfutils ctags perl vtable-dumper ];
+
+  preBuild = "mkdir -p $out";
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lvc/abi-dumper;
+    description = "Dump ABI of an ELF object containing DWARF debug info";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/misc/arcanist/default.nix b/pkgs/development/tools/misc/arcanist/default.nix
index f6ff4ad3650d..7810ba6349ce 100644
--- a/pkgs/development/tools/misc/arcanist/default.nix
+++ b/pkgs/development/tools/misc/arcanist/default.nix
@@ -22,8 +22,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ php makeWrapper flex ];
 
   unpackPhase = ''
-    cp -R ${libphutil} libphutil
-    cp -R ${arcanist} arcanist
+    cp -aR ${libphutil} libphutil
+    cp -aR ${arcanist} arcanist
     chmod +w -R libphutil arcanist
   '';
 
diff --git a/pkgs/development/tools/misc/awf/default.nix b/pkgs/development/tools/misc/awf/default.nix
index b29dbcf79be0..38d2194dab82 100644
--- a/pkgs/development/tools/misc/awf/default.nix
+++ b/pkgs/development/tools/misc/awf/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "awf-${version}";
-  version = "1.3.1";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "valr";
     repo = "awf";
     rev = "v${version}";
-    sha256 = "18dqa2269cwr0hrn67vp0ifwbv8vc2xn6mg145pbnc038hicql8m";
+    sha256 = "0jl2kxwpvf2n8974zzyp69mqhsbjnjcqm39y0jvijvjb1iy8iman";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig wrapGAppsHook ];
diff --git a/pkgs/development/tools/misc/cquery/default.nix b/pkgs/development/tools/misc/cquery/default.nix
index d6c8f1f33eec..f032a85173a5 100644
--- a/pkgs/development/tools/misc/cquery/default.nix
+++ b/pkgs/development/tools/misc/cquery/default.nix
@@ -5,8 +5,8 @@ let
   src = fetchFromGitHub {
     owner = "cquery-project";
     repo = "cquery";
-    rev = "e17df5b41e5a687559a0b75dba9c0f1f399c4aea";
-    sha256 = "06z8bg73jppb4msiqvsjbpz6pawwny831k56w5kcxrjgp22v24s1";
+    rev = "a95a6503d68a85baa25465ce147b7fc20f4a552e";
+    sha256 = "0rxbdln7dqkdw4q8rhclssgwypq16g9flkwmaabsr8knckbszxrx";
     fetchSubmodules = true;
   };
 
@@ -15,7 +15,7 @@ let
 in
 stdenv.mkDerivation rec {
   name    = "cquery-${version}";
-  version = "2018-08-08";
+  version = "2018-10-14";
 
   inherit src;
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   postFixup = ''
     # We need to tell cquery where to find the standard library headers.
 
-    standard_library_includes="\\\"-isystem\\\", \\\"${if (stdenv.hostPlatform.libc == "glibc") then stdenv.cc.libc.dev else stdenv.cc.libc}/include\\\""
+    standard_library_includes="\\\"-isystem\\\", \\\"${stdenv.lib.getDev stdenv.cc.libc}/include\\\""
     standard_library_includes+=", \\\"-isystem\\\", \\\"${llvmPackages.libcxx}/include/c++/v1\\\""
     export standard_library_includes
 
diff --git a/pkgs/development/tools/misc/elfutils/default.nix b/pkgs/development/tools/misc/elfutils/default.nix
index 85adf73ed2ac..6bd624a28789 100644
--- a/pkgs/development/tools/misc/elfutils/default.nix
+++ b/pkgs/development/tools/misc/elfutils/default.nix
@@ -3,11 +3,11 @@
 # TODO: Look at the hardcoded paths to kernel, modules etc.
 stdenv.mkDerivation rec {
   name = "elfutils-${version}";
-  version = "0.173";
+  version = "0.174";
 
   src = fetchurl {
     url = "https://sourceware.org/elfutils/ftp/${version}/${name}.tar.bz2";
-    sha256 = "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp";
+    sha256 = "12nhr8zrw4sjzrvpf38vl55bq5nm05qkd7nq76as443f0xq7xwnd";
   };
 
   patches = [ ./debug-info-from-env.patch ];
diff --git a/pkgs/development/tools/misc/help2man/default.nix b/pkgs/development/tools/misc/help2man/default.nix
index 7e2dc49fe0f2..311b206fa910 100644
--- a/pkgs/development/tools/misc/help2man/default.nix
+++ b/pkgs/development/tools/misc/help2man/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perl, gettext, LocaleGettext }:
 
 stdenv.mkDerivation rec {
-  name = "help2man-1.47.6";
+  name = "help2man-1.47.7";
 
   src = fetchurl {
     url = "mirror://gnu/help2man/${name}.tar.xz";
-    sha256 = "0vz4dlrvy4vc6l7w0a7n668pfa0rdm73wr2gar58wqranyah46yr";
+    sha256 = "03gckfr2980qn319c02vflq7d75vq2qdkxrw80kb9g84xn48wnsq";
   };
 
   nativeBuildInputs = [ gettext LocaleGettext ];
diff --git a/pkgs/development/tools/misc/intltool/default.nix b/pkgs/development/tools/misc/intltool/default.nix
index 67180b08f026..a9f451d31e7d 100644
--- a/pkgs/development/tools/misc/intltool/default.nix
+++ b/pkgs/development/tools/misc/intltool/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, gettext, perl, perlXMLParser }:
+{ stdenv, fetchurl, fetchpatch, gettext, perlPackages }:
 
 stdenv.mkDerivation rec {
   name = "intltool-${version}";
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "12q2140867r5d0dysly72khi7b0mm2gd7nlm1k81iyg7fxgnyz45";
   })];
 
-  propagatedBuildInputs = [ gettext perl perlXMLParser ];
+  propagatedBuildInputs = [ gettext ] ++ (with perlPackages; [ perl XMLParser ]);
 
   meta = with stdenv.lib; {
     description = "Translation helper tool";
diff --git a/pkgs/development/tools/misc/ninka/default.nix b/pkgs/development/tools/misc/ninka/default.nix
index 9cd1a56e68fe..df793866cbb8 100644
--- a/pkgs/development/tools/misc/ninka/default.nix
+++ b/pkgs/development/tools/misc/ninka/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchFromGitHub, perl, perlPackages, buildPerlPackage }:
+{ stdenv, fetchFromGitHub, perl, perlPackages }:
 
 assert stdenv ? glibc;
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "ninka-${version}";
   version = "2.0-pre";
 
@@ -12,7 +12,7 @@ buildPerlPackage rec {
     rev = "b89b59ecd057dfc939d0c75acaddebb58fcd8cba";
     sha256 = "1grlis1kycbcjvjgqvn7aw81q1qx49ahvxg2k7cgyr79mvgpgi9m";
   };
-  
+
   buildInputs = with perlPackages; [ perl TestOutput DBDSQLite DBI TestPod TestPodCoverage SpreadsheetParseExcel ];
 
   doCheck = false;    # hangs
diff --git a/pkgs/development/tools/misc/vtable-dumper/default.nix b/pkgs/development/tools/misc/vtable-dumper/default.nix
new file mode 100644
index 000000000000..e806a7796386
--- /dev/null
+++ b/pkgs/development/tools/misc/vtable-dumper/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, libelf }:
+
+stdenv.mkDerivation rec {
+  name = "vtable-dumper-${version}";
+  version = "1.2";
+
+  src = fetchFromGitHub {
+    owner = "lvc";
+    repo = "vtable-dumper";
+    rev = version;
+    sha256 = "0sl7lnjr2l4c2f7qaazvpwpzsp4gckkvccfam88wcq9f7j9xxbyp";
+  };
+
+  buildInputs = [ libelf ];
+  makeFlags = [ "prefix=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/lvc/vtable-dumper;
+    description = "A tool to list content of virtual tables in a C++ shared library";
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.bhipple ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/dune/default.nix b/pkgs/development/tools/ocaml/dune/default.nix
index 41e0084b28ff..6d0754da04d0 100644
--- a/pkgs/development/tools/ocaml/dune/default.nix
+++ b/pkgs/development/tools/ocaml/dune/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "dune-${version}";
-  version = "1.3.0";
+  version = "1.4.0";
   src = fetchurl {
     url = "https://github.com/ocaml/dune/releases/download/${version}/dune-${version}.tbz";
-    sha256 = "15bzakiclipsyjgcfrj83xdpwwww3aaijyw01bn5cx96cmcqyjad";
+    sha256 = "1fz1jx1d48yb40qan4hw25h8ia55vs7mp94a3rr7cf5gb5ap2zkj";
   };
 
   buildInputs = with ocamlPackages; [ ocaml findlib ];
diff --git a/pkgs/development/tools/ocaml/ocamlbuild/default.nix b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
index 3f42e71e7783..8f5948c3c112 100644
--- a/pkgs/development/tools/ocaml/ocamlbuild/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlbuild/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, ocaml, findlib }:
 let
-  version = "0.12.0";
+  version = "0.13.0";
 in
 stdenv.mkDerivation {
   name = "ocamlbuild-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     owner = "ocaml";
     repo = "ocamlbuild";
     rev = version;
-    sha256 = "1shyim50ms0816fphc4mk0kldcx3pnba2i6m10q0cbm18m9d7chq";
+    sha256 = "13r9q8c209gkgcmbjhj9z4r5bmi90rxahdsiqm5jx8sr2pia5xbh";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/tools/rust/cbindgen/default.nix b/pkgs/development/tools/rust/cbindgen/default.nix
index c3040ec567c7..fe80d0d9dd19 100644
--- a/pkgs/development/tools/rust/cbindgen/default.nix
+++ b/pkgs/development/tools/rust/cbindgen/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   name = "rust-cbindgen-${version}";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "eqrion";
     repo = "cbindgen";
     rev = "v${version}";
-    sha256 = "0hifmn9578cf1r5m4ajazg3rhld2ybd2v48xz04vfhappkarv4w2";
+    sha256 = "18lvvzksc7gfx8fffpil41phjzwdc67xfh0mijkkv4zchwlqkpq2";
   };
 
-  cargoSha256 = "0c3xpzff8jldqbn5a25yy6c2hlz5xy636ml6sj5d24wzcgwg5a2i";
+  cargoSha256 = "1m1chwmfgj74xrmn4gb9yz5kx8c408a1hlqmpcq780kqj0k927i9";
 
   meta = with stdenv.lib; {
     description = "A project for generating C bindings from Rust code";
diff --git a/pkgs/development/tools/sslmate/default.nix b/pkgs/development/tools/sslmate/default.nix
index 279bce20d142..9261b892cca5 100644
--- a/pkgs/development/tools/sslmate/default.nix
+++ b/pkgs/development/tools/sslmate/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, perlPackages, perl, makeWrapper, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "sslmate-1.6.0";
+  name = "sslmate-1.7.0";
 
   src = fetchurl {
     url = "https://packages.sslmate.com/other/${name}.tar.gz";
-    sha256 = "1ypabdk0nlqjzpmn3m1szjyw7yq20svgbm92sqd5wqmsapyn3a6s";
+    sha256 = "0vhppvy5vphipbycfilzxdly7nw12brscz4biawf3bl376yp7ljm";
   };
 
   makeFlags = "PREFIX=$(out)";
diff --git a/pkgs/development/tools/unity3d/default.nix b/pkgs/development/tools/unity3d/default.nix
index e507e3898c38..ac1f36c893d0 100644
--- a/pkgs/development/tools/unity3d/default.nix
+++ b/pkgs/development/tools/unity3d/default.nix
@@ -1,31 +1,23 @@
-{ stdenv, lib, fetchurl, makeWrapper, fakeroot, file, getopt
-, gtk2, gdk_pixbuf, glib, libGLU, postgresql, nss, nspr, udev
+{ stdenv, lib, fetchurl, makeWrapper, file, getopt
+, gtk2, gdk_pixbuf, glib, libGLU, nss, nspr, udev, tbb
 , alsaLib, GConf, cups, libcap, fontconfig, freetype, pango
 , cairo, dbus, expat, zlib, libpng12, nodejs, gnutar, gcc, gcc_32bit
 , libX11, libXcursor, libXdamage, libXfixes, libXrender, libXi
-, libXcomposite, libXext, libXrandr, libXtst, libSM, libICE, libxcb
-, mono, libgnomeui, gnome_vfs, gnome-sharp, gtk-sharp-2_0, chromium
+, libXcomposite, libXext, libXrandr, libXtst, libSM, libICE, libxcb, chromium
 }:
 
 let
   libPath64 = lib.makeLibraryPath [
-    gcc.cc gtk2 gdk_pixbuf glib libGLU postgresql nss nspr
+    gcc.cc gtk2 gdk_pixbuf glib libGLU nss nspr
     alsaLib GConf cups libcap fontconfig freetype pango
-    cairo dbus expat zlib libpng12 udev
+    cairo dbus expat zlib libpng12 udev tbb
     libX11 libXcursor libXdamage libXfixes libXrender libXi
     libXcomposite libXext libXrandr libXtst libSM libICE libxcb
   ];
   libPath32 = lib.makeLibraryPath [ gcc_32bit.cc ];
   binPath = lib.makeBinPath [ nodejs gnutar ];
-  developBinPath = lib.makeBinPath [ mono ];
-  developLibPath = lib.makeLibraryPath [
-    glib libgnomeui gnome_vfs gnome-sharp gtk-sharp-2_0 gtk-sharp-2_0.gtk
-  ];
-  developDotnetPath = lib.concatStringsSep ":" [
-    gnome-sharp gtk-sharp-2_0
-  ];
 
-  ver = "5.6.1";
+  ver = "2017.4.10";
   build = "f1";
 
 in stdenv.mkDerivation rec {
@@ -33,24 +25,19 @@ in stdenv.mkDerivation rec {
   version = "${ver}x${build}";
 
   src = fetchurl {
-    url = "http://beta.unity3d.com/download/6a86e542cf5c/unity-editor-installer-${version}Linux.sh";
-    sha256 = "10z4h94c9h967gx4b3gwb268zn7bnrb7ylnqnmnqhx6byac7cf4m";
+    url = "https://beta.unity3d.com/download/14396d76537e/LinuxEditorInstaller/Unity.tar.xz";
+    sha256 = "e1b4fe41c0ff793f7a9146c49a8eca8c71d30abdfa3e81922bd69699810b3f67";
   };
 
   nosuidLib = ./unity-nosuid.c;
 
-  nativeBuildInputs = [ makeWrapper fakeroot file getopt ];
+  nativeBuildInputs = [ makeWrapper file getopt ];
 
-  outputs = [ "out" "monodevelop" ];
+  outputs = [ "out" ];
 
-  sourceRoot = "unity-editor-${version}Linux";
-
-  unpackPhase = ''
-    echo -e 'q\ny' | fakeroot sh $src
-  '';
+  sourceRoot = ".";
 
   buildPhase = ''
-
     cd Editor
 
     $CC -fPIC -shared -o libunity-nosuid.so $nosuidLib -ldl
@@ -65,32 +52,10 @@ in stdenv.mkDerivation rec {
     mv Editor/* $unitydir
     ln -sf /run/wrappers/bin/${chromium.sandboxExecutableName} $unitydir/chrome-sandbox
 
-    mkdir -p $out/share/applications
-    sed "/^Exec=/c\Exec=$out/bin/unity-editor" \
-      < unity-editor.desktop \
-      > $out/share/applications/unity-editor.desktop
-
-    install -D unity-editor-icon.png $out/share/icons/hicolor/256x256/apps/unity-editor-icon.png
-
     mkdir -p $out/bin
     makeWrapper $unitydir/Unity $out/bin/unity-editor \
       --prefix LD_PRELOAD : "$unitydir/libunity-nosuid.so" \
       --prefix PATH : "${binPath}"
-
-    developdir="$monodevelop/opt/Unity/MonoDevelop"
-    mkdir -p $developdir
-    mv MonoDevelop/* $developdir
-
-    mkdir -p $monodevelop/share/applications
-    sed "/^Exec=/c\Exec=$monodevelop/bin/unity-monodevelop" \
-      < unity-monodevelop.desktop \
-      > $monodevelop/share/applications/unity-monodevelop.desktop
-
-    mkdir -p $monodevelop/bin
-    makeWrapper $developdir/bin/monodevelop $monodevelop/bin/unity-monodevelop \
-      --prefix PATH : "${developBinPath}" \
-      --prefix LD_LIBRARY_PATH : "${developLibPath}" \
-      --prefix MONO_GAC_PREFIX : "${developDotnetPath}"
   '';
 
   preFixup = ''
@@ -105,26 +70,54 @@ in stdenv.mkDerivation rec {
           intp="$(cat $NIX_CC/nix-support/dynamic-linker)"
         fi
 
-        oldRpath="$(patchelf --print-rpath "$1")"
-        # Always search at least for libraries in origin directory.
-        rpath="''${oldRpath:-\$ORIGIN}:$rpath"
-        if [[ "$ftype" =~ LSB\ shared ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            "$1"
-        elif [[ "$ftype" =~ LSB\ executable ]]; then
-          patchelf \
-            --set-rpath "$rpath" \
-            --interpreter "$intp" \
-            "$1"
-        fi
+        # Save origin-relative parts of rpath.
+        originRpath="$(patchelf --print-rpath "$1" | sed "s/:/\n/g" | grep "^\$ORIGIN" | paste -sd ":" - || echo "")"
+        rpath="$originRpath:$rpath"
+
+        patchelf --set-rpath "$rpath" "$1"
+        patchelf --set-interpreter "$intp" "$1" 2> /dev/null || true
       fi
     }
 
+    upm_linux=$unitydir/Data/Resources/Upm/upm-linux
+
+    orig_size=$(stat --printf=%s $upm_linux)
+
     # Exclude PlaybackEngines to build something that can be run on FHS-compliant Linuxes
     find $unitydir -name PlaybackEngines -prune -o -type f -print | while read path; do
       patchFile "$path"
     done
+
+    new_size=$(stat --printf=%s $upm_linux)
+
+    ###### zeit-pkg fixing starts here.
+    # we're replacing plaintext js code that looks like
+    # PAYLOAD_POSITION = '1234                  ' | 0
+    # [...]
+    # PRELUDE_POSITION = '1234                  ' | 0
+    # ^-----20-chars-----^^------22-chars------^
+    # ^-- grep points here
+    #
+    # var_* are as described above
+    # shift_by seems to be safe so long as all patchelf adjustments occur 
+    # before any locations pointed to by hardcoded offsets
+
+    var_skip=20
+    var_select=22
+    shift_by=$(expr $new_size - $orig_size)
+
+    function fix_offset {
+      # $1 = name of variable to adjust
+      location=$(grep -obUam1 "$1" $upm_linux | cut -d: -f1)
+      location=$(expr $location + $var_skip)
+      value=$(dd if=$upm_linux iflag=count_bytes,skip_bytes skip=$location \
+                 bs=1 count=$var_select status=none)
+      value=$(expr $shift_by + $value)
+      echo -n $value | dd of=$upm_linux bs=1 seek=$location conv=notrunc
+    }
+
+    fix_offset PAYLOAD_POSITION
+    fix_offset PRELUDE_POSITION
   '';
 
   dontStrip = true;
diff --git a/pkgs/development/tools/vgo2nix/default.nix b/pkgs/development/tools/vgo2nix/default.nix
new file mode 100644
index 000000000000..ad556606c9ae
--- /dev/null
+++ b/pkgs/development/tools/vgo2nix/default.nix
@@ -0,0 +1,41 @@
+{ stdenv
+, lib
+, buildGoPackage
+, go
+, makeWrapper
+, nix-prefetch-git
+, fetchFromGitHub
+}:
+
+buildGoPackage rec {
+  name = "vgo2nix-${version}";
+  version = "unstable-2018-10-14";
+  goPackagePath = "github.com/adisbladis/vgo2nix";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  src = fetchFromGitHub {
+    owner = "adisbladis";
+    repo = "vgo2nix";
+    rev = "a36137a2b9675f5e9b7e0a7840bc9fe9f2414d4e";
+    sha256 = "1658hr1535v8w3s41q0bcgk8hmisjn8gcw7i3n2d2igszn1dp0q4";
+  };
+
+  goDeps = ./deps.nix;
+
+  allowGoReference = true;
+
+  postInstall = with stdenv; let
+    binPath = lib.makeBinPath [ nix-prefetch-git go ];
+  in ''
+    wrapProgram $bin/bin/vgo2nix --prefix PATH : ${binPath}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert go.mod files to nixpkgs buildGoPackage compatible deps.nix files";
+    homepage = https://github.com/adisbladis/vgo2nix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ adisbladis ];
+  };
+
+}
diff --git a/pkgs/development/tools/vgo2nix/deps.nix b/pkgs/development/tools/vgo2nix/deps.nix
new file mode 100644
index 000000000000..b8327cd6069f
--- /dev/null
+++ b/pkgs/development/tools/vgo2nix/deps.nix
@@ -0,0 +1,12 @@
+[
+
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "ded554d0681e";
+      sha256 = "04rlq9hc3ccww9sbsrl48fl6wbjprb136rqxyr7dmgfj444aml56";
+    };
+  }
+]
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index e9f239b4df32..8ac70fcd6f3e 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -16,6 +16,7 @@
 , pytest
 , glibcLocales
 , nose
+, send2trash
 # This little flag adds a huge number of dependencies, but we assume that
 # everyone wants Anki to draw plots with statistics by default.
 , plotsSupport ? true
@@ -40,7 +41,7 @@ in buildPythonApplication rec {
       sha256 = "0yjyxgpk79rplz9z2r93kmlk09ari6xxfrz1cfm2yl9v8zfw1n6l";
     };
 
-    propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 ]
+    propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 send2trash ]
                             ++ lib.optional plotsSupport matplotlib;
 
     checkInputs = [ pytest glibcLocales nose ];
@@ -108,16 +109,14 @@ in buildPythonApplication rec {
       cp -v anki.xml $out/share/mime/packages/
       cp -v anki.{png,xpm} $out/share/pixmaps/
       cp -rv locale $out/share/
-      cp -rv anki aqt thirdparty/send2trash $pp/
+      cp -rv anki aqt $pp/
 
       wrapPythonPrograms
     '';
 
     meta = with stdenv.lib; {
-      homepage = http://ankisrs.net/;
+      homepage = "https://apps.ankiweb.net/";
       description = "Spaced repetition flashcard program";
-      license = licenses.gpl3;
-
       longDescription = ''
         Anki is a program which makes remembering things easy. Because it is a lot
         more efficient than traditional study methods, you can either greatly
@@ -130,8 +129,9 @@ in buildPythonApplication rec {
         people's names and faces, brushing up on geography, mastering long poems,
         or even practicing guitar chords!
       '';
-
-      maintainers = with maintainers; [ the-kenny ];
+      license = licenses.agpl3Plus;
+      broken = stdenv.hostPlatform.isAarch64;
       platforms = platforms.mesaPlatforms;
+      maintainers = with maintainers; [ the-kenny ];
     };
 }
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index 0f95fa9aaf7f..5563e7836cca 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "gzdoom-${version}";
-  version = "3.5.1";
+  version = "3.6.0";
 
   src = fetchFromGitHub {
     owner = "coelckers";
     repo = "gzdoom";
     rev = "g${version}";
-    sha256 = "109qmjkafr1xghpn0k1a8a0zgladc8r6hyw99v8r51ryjf5qf9sd";
+    sha256 = "03yklhdppncaswy6l3fcvy8l8v1icfnm9f0jlszvibcm5ba7z0j1";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/games/ja2-stracciatella/default.nix b/pkgs/games/ja2-stracciatella/default.nix
index 0e5702d46146..5dbab979272c 100644
--- a/pkgs/games/ja2-stracciatella/default.nix
+++ b/pkgs/games/ja2-stracciatella/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     ./remove-rust-buildstep.patch
   ];
   preConfigure = ''
-    sed -i -e 's|rust-stracciatella|${libstracciatella}/bin/libstracciatella.so|g' CMakeLists.txt
+    sed -i -e 's|rust-stracciatella|${libstracciatella}/lib/libstracciatella.so|g' CMakeLists.txt
     cmakeFlagsArray+=("-DEXTRA_DATA_DIR=$out/share/ja2")
   '';
 
diff --git a/pkgs/games/pokerth/default.nix b/pkgs/games/pokerth/default.nix
index aae49eedd7c9..e32bc06b8f5e 100644
--- a/pkgs/games/pokerth/default.nix
+++ b/pkgs/games/pokerth/default.nix
@@ -1,45 +1,74 @@
-{ stdenv, fetchFromGitHub, qmake4Hook, qt4, protobuf, boost155, tinyxml2, libgcrypt, sqlite, gsasl, curl, SDL, SDL_mixer, libircclient }:
+{ stdenv, fetchFromGitHub, runCommand, fetchpatch, patchutils, qmake, qtbase
+, SDL, SDL_mixer, boost, curl, gsasl, libgcrypt, libircclient, protobuf, sqlite
+, tinyxml2, target ? "client" }:
 
-let boost = boost155;
-in stdenv.mkDerivation rec {
-  name            = "${pname}-${version}";
-  pname           = "pokerth";
-  version         = "1.1.1";
+with stdenv.lib;
 
-  src = fetchFromGitHub {
-    owner  = pname;
-    repo   = pname;
-    rev    = "7f3c8a860848c16c8c2f78e3929a65a54ef4c04c";
-    sha256 = "1md3sl7pdpn3n42k75pxqbkkl19cz4699g1vdi04qpp0jxx09a2k";
+let
+  hiDPI = fetchpatch {
+    url = https://github.com/pokerth/pokerth/commit/ad8c9cabfb85d8293720d0f14840278d38b5feeb.patch;
+    sha256 = "192x3lqvd1fanasb95shdygn997qfrpk1k62k1f4j3s5chkwvjig";
   };
 
-  buildInputs = [ qmake4Hook qt4 protobuf boost tinyxml2 libgcrypt sqlite gsasl curl SDL SDL_mixer libircclient ];
+  revertPatch = patch: runCommand "revert-${patch.name}" {} ''
+    ${patchutils}/bin/interdiff ${patch} /dev/null > $out
+  '';
+in
 
-  outputs = [ "out" "server" ];
+stdenv.mkDerivation rec {
+  name = "pokerth-${target}-${version}";
+  version = "1.1.2";
 
-  qmakeFlags = [ "pokerth.pro" "DEFINES+=_WEBSOCKETPP_NOEXCEPT_TOKEN_=noexcept" ];
+  src = fetchFromGitHub {
+    owner = "pokerth";
+    repo = "pokerth";
+    rev = "f5688e01b0efb37035e3b0e3a432200185b9a0c5";
+    sha256 = "0la8d036pbscjnbxf8lkrqjfq8a4ywsfwxil452fhlays6mr19h0";
+  };
 
-  NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
+  patches = [
+    (revertPatch hiDPI)
+  ];
 
   postPatch = ''
-    for f in connectivity.pro load.pro pokerth_game.pro pokerth_server.pro
-    do
+    for f in *.pro; do
       substituteInPlace $f \
-        --replace 'LIB_DIRS =' 'LIB_DIRS = ${boost.out}/lib'
+        --replace '$$'{PREFIX}/include/libircclient ${libircclient.dev}/include/libircclient \
+        --replace 'LIB_DIRS =' 'LIB_DIRS = ${boost.out}/lib' \
+        --replace /opt/gsasl ${gsasl}
     done
   '';
 
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ qmake ];
 
-  postInstall = ''
-    install -D -m755 bin/pokerth_server $server/bin/pokerth_server
-  '';
+  buildInputs = [
+    SDL
+    SDL_mixer
+    boost
+    curl
+    gsasl
+    libgcrypt
+    libircclient
+    protobuf
+    qtbase
+    sqlite
+    tinyxml2
+  ];
+
+  qmakeFlags = [
+    "CONFIG+=${target}"
+    "pokerth.pro"
+  ];
+
+  NIX_CFLAGS_COMPILE = [ "-I${SDL.dev}/include/SDL" ];
+
+  enableParallelBuilding = true;
 
-  meta = with stdenv.lib; {
-    homepage    = https://www.pokerth.net;
-    description = "Open Source Poker client and server";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ obadz ];
-    platforms   = platforms.all;
+  meta = {
+    homepage = https://www.pokerth.net;
+    description = "Poker game ${target}";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ obadz yegortimoshenko ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/games/scummvm/games.nix b/pkgs/games/scummvm/games.nix
new file mode 100644
index 000000000000..1ccb351af4ab
--- /dev/null
+++ b/pkgs/games/scummvm/games.nix
@@ -0,0 +1,125 @@
+{ stdenv, lib, fetchurl, makeDesktopItem, unzip, writeText
+, scummvm }:
+
+let
+  desktopItem = name: short: long: description: makeDesktopItem {
+    categories  = "Game;AdventureGame;";
+    comment     = description;
+    desktopName = long;
+    exec        = "@out@/bin/${short}";
+    genericName = description;
+    icon        = "scummvm";
+    name        = name;
+  };
+
+  run = name: short: code: writeText "${short}.sh" ''
+    #!${stdenv.shell} -eu
+
+    exec ${scummvm}/bin/scummvm \
+      --path=@out@/share/${name} \
+      --fullscreen \
+      ${code}
+  '';
+
+  generic = { plong, pshort, pcode, description, version, files, docs ? [ "readme.txt" ], ... } @attrs:
+    let
+      attrs' = builtins.removeAttrs attrs [ "plong" "pshort" "pcode" "description" "docs" "files" "version" ];
+      pname = lib.replaceStrings [ " " ":" ] [ "-" "" ] (lib.toLower plong);
+    in stdenv.mkDerivation ({
+      name = "${pname}-${version}";
+
+      nativeBuildInputs = [ unzip ];
+
+      dontBuild = true;
+      dontFixup = true;
+
+      installPhase = ''
+        runHook preInstall
+
+        mkdir -p $out/bin $out/share/{applications,${pname},doc/${pname}}
+
+        ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/doc/${pname}") docs)}
+        ${lib.concatStringsSep "\n" (map (f: "mv ${f} $out/share/${pname}") files)}
+
+        substitute ${run pname pshort pcode} $out/bin/${pshort} \
+          --subst-var out
+        substitute ${desktopItem pname pshort plong description}/share/applications/${pname}.desktop $out/share/applications/${pname}.desktop \
+          --subst-var out
+
+        chmod 0755 $out/bin/${pshort}
+
+        runHook postInstall
+      '';
+
+      meta = with stdenv.lib; {
+        homepage = https://www.scummvm.org;
+        license = licenses.free; # refer to the readme for exact wording
+        maintainers = with maintainers; [ peterhoeg ];
+        inherit description;
+        inherit (scummvm.meta) platforms;
+      };
+    } // attrs');
+
+in {
+  beneath-a-steel-sky = generic rec {
+    plong = "Beneath a Steel Sky";
+    pshort = "bass";
+    pcode = "sky";
+    description = "2D point-and-click science fiction thriller set in a bleak vision of the future";
+    version = "1.2";
+    src = fetchurl {
+      url = "mirror://sourceforge/scummvm/${pshort}-cd-${version}.zip";
+      sha256 = "14s5jz67kavm8l15gfm5xb7pbpn8azrv460mlxzzvdpa02a9n82k";
+    };
+    files = [ "sky.*" ];
+  };
+
+  drascula-the-vampire-strikes-back = generic rec {
+    plong = "Drascula: The Vampire Strikes Back";
+    pshort = "drascula";
+    pcode = "drascula";
+    description = "Spanish 2D classic point & click style adventure with tons of humor and an easy interface";
+    version = "1.0";
+    # srcs = {
+      src = fetchurl {
+        url = "mirror://sourceforge/scummvm/${pshort}-${version}.zip";
+        sha256 = "1pj29rpb754sn6a56f8brfv6f2m1p5qgaqik7d68pfi2bb5zccdp";
+      };
+      # audio = fetchurl {
+        # url = "mirror://sourceforge/scummvm/${pshort}-audio-flac-2.0.zip";
+        # sha256 = "1zmqhrby8f5sj1qy6xjdgkvk9wyhr3nw8ljrrl58fmxb83x1rryw";
+      # };
+    # };
+    sourceRoot = ".";
+    docs = [ "readme.txt" "drascula.doc" ];
+    files = [ "Packet.001" ];
+  };
+
+  flight-of-the-amazon-queen = generic rec {
+    plong = "Flight of the Amazon Queen";
+    pshort = "fotaq";
+    pcode = "queen";
+    description = "2D point-and-click adventure game set in the 1940s";
+    version = "1.1";
+    src = fetchurl {
+      url = "mirror://sourceforge/scummvm/FOTAQ_Talkie-${version}.zip";
+      sha256 = "1a6q71q1dl9vvw2qqsxk5h1sv0gaqy6236zr5905w2is01gdsp52";
+    };
+    sourceRoot = ".";
+    files = [ "*.1c" ];
+  };
+
+  lure-of-the-temptress = generic rec {
+    plong = "Lure of the Temptress";
+    pshort = "lott";
+    pcode = "lure";
+    description = "2D point-and-click adventure game with a fantasy theme";
+    version = "1.1";
+    src = fetchurl {
+      url = "mirror://sourceforge/scummvm/lure-${version}.zip";
+      sha256 = "0201i70qcs1m797kvxjx3ygkhg6kcl5yf49sihba2ga8l52q45zk";
+    };
+    docs = [ "README" "*.txt" "*.pdf" "*.PDF" ];
+    files = [ "*.vga" ];
+  };
+}
diff --git a/pkgs/games/teeworlds/default.nix b/pkgs/games/teeworlds/default.nix
index 7c5074c07085..58b04821e129 100644
--- a/pkgs/games/teeworlds/default.nix
+++ b/pkgs/games/teeworlds/default.nix
@@ -1,54 +1,35 @@
-{ fetchurl, stdenv, makeWrapper, python, alsaLib
-, libX11, libGLU, SDL, lua5, zlib, bam, freetype
+{ fetchurl, stdenv, cmake, pkgconfig, makeWrapper, python, alsaLib
+, libX11, libGLU, SDL, lua5, zlib, freetype, wavpack
 }:
 
 stdenv.mkDerivation rec {
-  name = "teeworlds-0.6.4";
+  name = "teeworlds-0.6.5";
 
   src = fetchurl {
-    url = "https://downloads.teeworlds.com/teeworlds-0.6.4-src.tar.gz";
-    sha256 = "1qlqzp4wqh1vnip081lbsjnx5jj5m5y4msrcm8glbd80pfgd2qf2";
+    url = "https://downloads.teeworlds.com/teeworlds-0.6.5-src.tar.gz";
+    sha256 = "07llxjc47d1gd9jqj3vf08cmw26ha6189mwcix1khwa3frfbilqb";
   };
 
-  # we always want to use system libs instead of these
-  postPatch = "rm -r other/{freetype,sdl}/{include,lib32,lib64}";
+  postPatch = ''
+    # we always want to use system libs instead of these
+    rm -r other/{freetype,sdl}/{include,mac,windows}
 
-  buildInputs = [
-    python makeWrapper alsaLib libX11 libGLU SDL lua5 zlib bam freetype
-  ];
-
-  buildPhase = ''
-    bam -a -v release
+    # set compiled-in DATA_DIR so resources can be found
+    substituteInPlace src/engine/shared/storage.cpp \
+      --replace '#define DATA_DIR "data"' \
+                '#define DATA_DIR "${placeholder "out"}/share/teeworlds/data"'
   '';
 
-  installPhase = ''
-    # Copy the graphics, sounds, etc.
-    mkdir -p "$out/share/${name}"
-    cp -rv data other/icons "$out/share/${name}"
+  nativeBuildInputs = [ cmake pkgconfig ];
 
-    # Copy the executables (client, server, etc.).
-    mkdir -p "$out/bin"
-    executables=""
-    for file in *
-    do
-      if [ -f "$file" ] && [ -x "$file" ]
-      then
-          executables="$file $executables"
-      fi
-    done
-    cp -v $executables "$out/bin"
 
-    # Make sure the programs are executed from the right directory so
-    # that they can access the graphics and sounds.
-    for program in $executables
-    do
-      wrapProgram $out/bin/$program \
-        --run "cd $out/share/${name}"
-    done
+  buildInputs = [
+    python alsaLib libX11 libGLU SDL lua5 zlib freetype wavpack
+  ];
 
-    # Copy the documentation.
-    mkdir -p "$out/doc/${name}"
-    cp -v *.txt "$out/doc/${name}"
+  postInstall = ''
+    mkdir -p $out/share/doc/teeworlds
+    cp -v *.txt $out/share/doc/teeworlds/
   '';
 
   meta = {
diff --git a/pkgs/games/warmux/default.nix b/pkgs/games/warmux/default.nix
index a56afbbf44b5..c99183bfbea3 100644
--- a/pkgs/games/warmux/default.nix
+++ b/pkgs/games/warmux/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl
+{ stdenv, fetchFromGitHub, autoconf, automake
 , zlib, curl, gnutls, fribidi, libpng, SDL, SDL_gfx, SDL_image, SDL_mixer
 , SDL_net, SDL_ttf, libunwind, libX11, xproto, libxml2, pkgconfig
 , gettext, intltool, libtool, perl
@@ -6,31 +6,32 @@
 
 stdenv.mkDerivation rec {
   name = "warmux-${version}";
-  version = "11.04.1";
+  version = "unstable-2017-10-20";
 
-  src = fetchurl {
-    url = "http://download.gna.org/warmux/${name}.tar.bz2";
-    sha256 = "1vp44wdpnb1g6cddmn3nphc543pxsdhjis52mfif0p2c7qslz73q";
+  src = fetchFromGitHub {
+    owner = "fluxer";
+    repo = "warmux";
+    rev = "8f81d4fc309a548ae89a068c2dde27b7e7ef8851";
+    sha256 = "1hvzglsmp75xiqqb0k75qjz4jwi8kl3fhn8zfsz53hhhqmbw6wkr";
   };
 
-  buildInputs =
-    [ zlib curl gnutls fribidi libpng SDL SDL_gfx SDL_image SDL_mixer
-      SDL_net SDL_ttf libunwind libX11 xproto libxml2 pkgconfig
-      gettext intltool libtool perl
-    ];
-
+  preConfigure = "patchShebangs autogen.sh && ./autogen.sh";
   configureFlagsArray = ("CFLAGS=-include ${zlib.dev}/include/zlib.h");
 
-  patches = [ ./gcc-fix.patch ];
+  nativeBuildInputs = [
+    autoconf automake gettext intltool libtool pkgconfig
+  ];
+  buildInputs = [
+    zlib curl gnutls fribidi libpng SDL SDL_gfx SDL_image SDL_mixer
+    SDL_net SDL_ttf libunwind libX11 xproto libxml2 perl
+  ];
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Ballistics turn-based battle game between teams";
-    maintainers = with maintainers;
-    [
-      raskin
-    ];
+    description = "Ballistics turn-based battle game between teams - unofficial copy";
+    maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
-    downloadPage = "http://download.gna.org/warmux/";
+    license = with licenses; [ gpl2 ufl ];
+    homepage = https://github.com/fluxer/warmux;
   };
 }
diff --git a/pkgs/games/warmux/gcc-fix.patch b/pkgs/games/warmux/gcc-fix.patch
deleted file mode 100644
index 913b912af7d4..000000000000
--- a/pkgs/games/warmux/gcc-fix.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-## i-love-you-lordheavy.patch [diff]
-diff -ru warmux-11.04/lib/warmux/action/action.cpp warmux-11.04-new/lib/warmux/action/action.cpp
---- warmux-11.04/lib/warmux/action/action.cpp	2011-04-28 21:03:14.000000000 +0200
-+++ warmux-11.04-new/lib/warmux/action/action.cpp	2012-01-29 09:51:16.680251815 +0100
-@@ -81,7 +81,7 @@
- }
- 
- // Build an action from a network packet
--Action::Action(const char *buffer, DistantComputer* _creator)
-+Action::Action(char *buffer, DistantComputer* _creator)
- {
-   m_creator = _creator;
- 
-diff -ru warmux-11.04/lib/warmux/include/WARMUX_action.h warmux-11.04-new/lib/warmux/include/WARMUX_action.h
---- warmux-11.04/lib/warmux/include/WARMUX_action.h	2011-04-28 21:03:13.000000000 +0200
-+++ warmux-11.04-new/lib/warmux/include/WARMUX_action.h	2012-01-29 09:52:14.246921833 +0100
-@@ -168,7 +168,7 @@
-   Action(Action_t type, Double value1, Double value2);
- 
-   // Build an action from a network packet
--  Action(const char* buffer, DistantComputer* _creator);
-+  Action(char* buffer, DistantComputer* _creator);
- 
-   ~Action();
- 
-Description: Fix FTBFS with gcc 4.7.
-Author: Felix Geyer <debfx-pkg@fobos.de>
-
---- warmux-11.04.1+repack.orig/tools/list_games/main.cpp
-+++ warmux-11.04.1+repack/tools/list_games/main.cpp
-@@ -1,4 +1,5 @@
- #include <stdio.h>
-+#include <unistd.h>
- #include <WARMUX_types.h>
- #include <WARMUX_network.h>
- #include <WARMUX_index_server.h>
-
-Description: Fix conversion error in gcc 6.
-Author: Robin Gloster <mail@glob.in>
-
---- warmux-11.04.1.orig/src/interface/weapon_menu.cpp	2017-01-19 23:06:32.401035923 +0100
-+++ warmux-11.04.1/src/interface/weapon_menu.cpp	2017-01-19 23:07:14.245866593 +0100
-@@ -391,7 +391,7 @@
- Weapon * WeaponsMenu::UpdateCurrentOverflyItem(const Polygon * poly)
- {
-   if (!show)
--    return false;
-+    return nullptr;
-   const std::vector<PolygonItem *>& items = poly->GetItem();
-   WeaponMenuItem * tmp;
-   Interface::GetInstance()->SetCurrentOverflyWeapon(NULL);
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/misc/emulators/dolphin-emu/default.nix
index 01e1847973c7..392f5618b6e5 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/misc/emulators/dolphin-emu/default.nix
@@ -37,9 +37,9 @@ stdenv.mkDerivation rec {
                   wxGTK30 soundtouch miniupnpc mbedtls curl lzo sfml ];
 
   meta = {
-    homepage = http://dolphin-emu.org/;
-    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
-    license = stdenv.lib.licenses.gpl2;
+    homepage = https://dolphin-emu.org/;
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
+    license = stdenv.lib.licenses.gpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ MP2E ];
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 8717d9355d2b..68176ff427e3 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -71,9 +71,9 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = "http://dolphin-emu.org";
-    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
-    license = licenses.gpl2;
+    homepage = "https://dolphin-emu.org";
+    description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ MP2E ];
     branch = "master";
     # x86_32 is an unsupported platform.
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/misc/emulators/vbam/default.nix
index ac078f622515..59f0252259cc 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/misc/emulators/vbam/default.nix
@@ -4,25 +4,23 @@
 , fetchFromGitHub
 , ffmpeg
 , gettext
-, gtk2-x11
 , libGLU_combined
 , openal
 , pkgconfig
 , SDL2
 , sfml
-, wxGTK
 , zip
 , zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "visualboyadvance-m-${version}";
-  version = "unstable-2017-09-04";
+  version = "2.1.0";
   src = fetchFromGitHub {
     owner = "visualboyadvance-m";
     repo = "visualboyadvance-m";
-    rev = "ceef480";
-    sha256 = "1lpmlj8mv6fwlfg9m58hzggx8ld6cnjvaqx5ka5sffxd9v95qq2l";
+    rev = "v${version}";
+    sha256 = "1dppfvy24rgg3h84gv33l1y7zznkv3zxn2hf98w85pca6k1y2afz";
   };
 
   buildInputs = [
@@ -30,13 +28,11 @@ stdenv.mkDerivation rec {
     cmake
     ffmpeg
     gettext
-    gtk2-x11
     libGLU_combined
     openal
     pkgconfig
     SDL2
     sfml
-    wxGTK
     zip
     zlib
   ];
@@ -44,8 +40,10 @@ stdenv.mkDerivation rec {
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE='Release'"
     "-DENABLE_FFMPEG='true'"
-    #"-DENABLE_LINK='true'" currently broken :/
+    "-DENABLE_LINK='true'"
     "-DSYSCONFDIR=etc"
+    "-DENABLE_WX='false'"
+    "-DENABLE_SDL='true'"
   ];
 
   meta = {
diff --git a/pkgs/misc/seafile-shared/default.nix b/pkgs/misc/seafile-shared/default.nix
index 6fba977e0085..bccc55914fea 100644
--- a/pkgs/misc/seafile-shared/default.nix
+++ b/pkgs/misc/seafile-shared/default.nix
@@ -1,14 +1,14 @@
 {stdenv, fetchFromGitHub, which, autoreconfHook, pkgconfig, curl, vala, python, intltool, fuse, ccnet}:
 
 stdenv.mkDerivation rec {
-  version = "6.2.4";
+  version = "6.2.5";
   name = "seafile-shared-${version}";
 
   src = fetchFromGitHub {
     owner = "haiwen";
     repo = "seafile";
     rev = "v${version}";
-    sha256 = "0v6wvw8x3zfcapi0lk71mg89gy3gw2qmdiq6mhw6qbbrzvqprlmr";
+    sha256 = "1s8cqh5wfll81d060f4zknxhmwwqckci6dadmslbvbvx55lgyspa";
   };
 
   nativeBuildInputs = [ pkgconfig which autoreconfHook vala intltool ];
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix
index 37e7af95a910..0c144b567418 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/misc/themes/adapta/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "adapta-gtk-theme-${version}";
-  version = "3.94.0.149";
+  version = "3.95.0.1";
 
   src = fetchFromGitHub {
     owner = "adapta-project";
     repo = "adapta-gtk-theme";
     rev = version;
-    sha256 = "1rb07yv4iz4yp6cnigzy690mw3w6fcf7szlcbbna6wnjaf1rbf2i";
+    sha256 = "0hc3ar55wjg51qf8c7h0nix0lyqs16mk1d4hhxyv102zq4l5fz97";
   };
 
   preferLocalBuild = true;
diff --git a/pkgs/misc/themes/matcha/default.nix b/pkgs/misc/themes/matcha/default.nix
index 264d171292d2..9967de786399 100644
--- a/pkgs/misc/themes/matcha/default.nix
+++ b/pkgs/misc/themes/matcha/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "matcha-${version}";
-  version = "2018-09-14";
+  version = "2018-10-21";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = "matcha";
-    rev = "fe35259742b5ae007ab17d46d21acad5754477b9";
-    sha256 = "1qwb8l1xfx9ca2y9gcsckxikijz1ij28dirvpqvhbbyn1m8i9hwd";
+    rev = version;
+    sha256 = "112xfnwlq9ih72qbfrin78ly7bc4i94my3i6s7yhc46qg1lncl73";
   };
 
   buildInputs = [ gdk_pixbuf librsvg ];
diff --git a/pkgs/misc/themes/obsidian2/default.nix b/pkgs/misc/themes/obsidian2/default.nix
index 61f7d1debcc0..571639a99014 100644
--- a/pkgs/misc/themes/obsidian2/default.nix
+++ b/pkgs/misc/themes/obsidian2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "theme-obsidian2-${version}";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner = "madmaxms";
     repo = "theme-obsidian-2";
     rev = "v${version}";
-    sha256 = "1bb629y11j79h0rxi36iszki6m6l59iwlcraygr472gf44a2xp11";
+    sha256 = "0my3q7xvi6m257x489wync0y5n8n1kig4xg5gfrb905avhxj5frs";
   };
 
   propagatedUserEnvPkgs = [ gtk-engine-murrine ];
diff --git a/pkgs/misc/themes/sierra/default.nix b/pkgs/misc/themes/sierra/default.nix
index 529553c9211f..d5082821bee1 100644
--- a/pkgs/misc/themes/sierra/default.nix
+++ b/pkgs/misc/themes/sierra/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "sierra-gtk-theme-${version}";
-  version = "2018-10-01";
+  version = "2018-10-12";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = "sierra-gtk-theme";
     rev = version;
-    sha256 = "10rjk2lyhlkhhfx6f6r0cykbkxa2jhri4wirc3h2wbzzsx7ch3ix";
+    sha256 = "0l8mhdy7x8nh5aqsvkk0maqg1cnfds7824g439f6cmifdiyksbgg";
   };
 
   nativeBuildInputs = [ libxml2 ];
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/misc/vim-plugins/overrides.nix
index b02cac2b7052..6b8bf42c795f 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/misc/vim-plugins/overrides.nix
@@ -94,7 +94,7 @@ with generated;
     # $ eval echo $(nix-instantiate --eval --expr 'with (import <nixpkgs>) {}; clang.default_cxx_stdlib_compile')
     preFixup = ''
       substituteInPlace "$out"/share/vim-plugins/clang_complete/plugin/clang_complete.vim \
-        --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc}/lib/libclang.so'"
+        --replace "let g:clang_library_path = '' + "''" + ''" "let g:clang_library_path='${llvmPackages.clang.cc.lib}/lib/libclang.so'"
     '';
   });
 
diff --git a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
index 82978d3e3ca9..43747aeaf0d0 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2018-08-25";
+  version = "2018-10-17";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
-    rev = "fea76a04f25fd0a217c0d566ff5ff8f23ad3e648";
-    sha256 = "1xy1s9vd7jny4hf4f1hzhlbnm0l4pnw7xycky0v6kfwlg5nnjii5";
+    rev = "de9cefa74bba6fce3834144460868a468b8818f2";
+    sha256 = "101j4jk3ixl8r3mxbkcrr5ybhb44ij3l52js4dqfxpylpiaw2cgk";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "1p1dkzclj718w7di81s6486dn5zw77c4i2qn63bvp9q4vid452hn";
+  outputHash = "1ndwp9yhpmx0kzayddy9i93mpv3d8gxypqm85069ic13lrjz1gdf";
 
   meta = with stdenv.lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix
index bfade509fcac..a37e65f8cb50 100644
--- a/pkgs/os-specific/linux/kbd/default.nix
+++ b/pkgs/os-specific/linux/kbd/default.nix
@@ -25,6 +25,19 @@ stdenv.mkDerivation rec {
       # Add Neo keymap subdirectory
       sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am
 
+      # Renaming keymaps with name clashes, because loadkeys just picks
+      # the first keymap it sees. The clashing names lead to e.g.
+      # "loadkeys no" defaulting to a norwegian dvorak map instead of
+      # the much more common qwerty one.
+      pushd data/keymaps/i386
+      mv qwertz/cz{,-qwertz}.map
+      mv olpc/es{,-olpc}.map
+      mv olpc/pt{,-olpc}.map
+      mv dvorak/{no.map,dvorak-no.map}
+      mv fgGIod/trf{,-fgGIod}.map
+      mv colemak/{en-latin9,colemak}.map
+      popd
+
       # Fix the path to gzip/bzip2.
       substituteInPlace src/libkeymap/findfile.c \
         --replace gzip ${gzip}/bin/gzip \
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 60b3ffb2d8dc..f4a728c9d25f 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.14.76";
+  version = "4.14.78";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1gl2wkq4sazvpr0xnn4vrajj3j7w6hfiwdiy34y7jhlazyj1jgzf";
+    sha256 = "0v2cwykgd2hxlqja4yl4pq45nhd5x8917ixqq7hj1r3ry304vnpl";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.18.nix b/pkgs/os-specific/linux/kernel/linux-4.18.nix
index 9bf33c068b55..d6c4b58b980a 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.18.nix
@@ -3,7 +3,7 @@
 with stdenv.lib;
 
 buildLinux (args // rec {
-  version = "4.18.14";
+  version = "4.18.16";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1lv2hpxzlk1yzr5dcjb0q0ylvlwx4ln2jvfvf01b9smr1lvd3iin";
+    sha256 = "1rjjkhl8lz4y4sn7icy8mp6p1x7rvapybp51p92sanbjy3i19fmy";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
new file mode 100644
index 000000000000..5aa033348d4e
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPackages, fetchurl, perl, buildLinux, modDirVersionArg ? null, ... } @ args:
+
+with stdenv.lib;
+
+buildLinux (args // rec {
+  version = "4.19";
+
+  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
+  modDirVersion = if (modDirVersionArg == null) then concatStrings (intersperse "." (take 3 (splitString "." "${version}.0"))) else modDirVersionArg;
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
+    sha256 = "18a92z17alh5kkvjv7l9z8wk5jgdb6raawdfkpwx9bi8amjzas0c";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 641e368f74e6..f4ef5c6eb1cf 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.4.161";
+  version = "4.4.162";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "11rz66qvbcb6y3fz9k04jzn547sqdahqknd43imsr9sjgkaq60xy";
+    sha256 = "0l2agmxzmq89jbh7r00qg4msvmhny40m2jar96fibwpklwd44kki";
   };
 } // (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 cdf7000fba89..89702c44ccbc 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.133";
+  version = "4.9.135";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0qv5n8vipkqcd0hpf5l41h023n46rgja39h895phlcxs4p00ywsk";
+    sha256 = "1kjly5ynsg2jy5nj41z21s8f18wfs4nk843jlmmcazzax6xv08z0";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index 8014cb565267..7375daf61da5 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -1,8 +1,8 @@
 { stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 buildLinux (rec {
-  mptcpVersion = "0.94";
-  modDirVersion = "4.14.24";
+  mptcpVersion = "0.94.1";
+  modDirVersion = "4.14.70";
   version = "${modDirVersion}-mptcp_v${mptcpVersion}";
   # autoModules= true;
 
@@ -15,7 +15,7 @@ buildLinux (rec {
     owner = "multipath-tcp";
     repo = "mptcp";
     rev = "v${mptcpVersion}";
-    sha256 = "01y3jf5awdxcv6vfpr30n0vaa8w1wgip0whiv88d610550299hkv";
+    sha256 = "13mi672jr1x463kzig1hi9cpdi8x6nqdfd4bqlrjn8zca48f4ln4";
   };
 
   extraConfig = ''
diff --git a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
index f58ab5c95cc4..b4df3b7b33e8 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing-bcachefs.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchgit, perl, buildLinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.18.2018.09.21";
+  version = "4.18.2018.10.12";
   modDirVersion = "4.18.0";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs.git";
-    rev = "2fe17e38d355271a8212a8123a9281e2f9df811f";
-    sha256 = "1p35qf7fdwpr8sz4alblmbq6rmhd87rwrrwk6xpgxsfkkhmf36d6";
+    rev = "d7f6da1d60ec24266301231538ff6f09716537ed";
+    sha256 = "05d7dh41nc35www8vmrn47wlf2mr2b8i4rm15vq3zgm32d0xv3lk";
   };
 
   extraConfig = "BCACHEFS_FS m";
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 3d28bd68121d..f866d858eaeb 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, buildPackages, fetchurl, perl, buildLinux, libelf, utillinux, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.19-rc7";
-  modDirVersion = "4.19.0-rc7";
+  version = "4.19-rc8";
+  modDirVersion = "4.19.0-rc8";
   extraMeta.branch = "4.19";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "0wjh62vfhvi2prz9sx9c0s0f9sa9z1775qn4jf8zz5y5isixzdml";
+    sha256 = "1xw8grzn4i4b2vprfwi4p4003n7rr9725dbiqyrl8w1pm11jwpin";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 7235d8415f55..19a5184f8962 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, fetchpatch, lib, pkgconfig, utillinux, libcap, libtirpc, libevent
 , sqlite, kerberos, kmod, libuuid, keyutils, lvm2, systemd, coreutils, tcp_wrappers
-, buildEnv
+, buildEnv, python3
 }:
 
 let
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libtirpc libcap libevent sqlite lvm2
     libuuid keyutils kerberos tcp_wrappers
+    python3
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/os-specific/linux/numactl/default.nix b/pkgs/os-specific/linux/numactl/default.nix
index bf21f92bd66d..3c02cf2bb889 100644
--- a/pkgs/os-specific/linux/numactl/default.nix
+++ b/pkgs/os-specific/linux/numactl/default.nix
@@ -13,11 +13,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-      url = https://git.alpinelinux.org/cgit/aports/plain/testing/numactl/musl.patch?id=0592b128c71c3e70d493bc7a13caed0d7fae91dd;
-      sha256 = "080b0sygmg7104qbbh1amh3b322yyiajwi2d3d0vayffgva0720v";
-    });
-
   postPatch = ''
     patchShebangs test
   '';
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index 15c3e10e1199..8882ffdd45e7 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -26,32 +26,44 @@ buildPhase() {
     fi
 }
 
-    
+
 installPhase() {
     # Install libGL and friends.
+
+    # since version 391, 32bit libraries are bundled in the 32/ sub-directory
+    if [ "$i686bundled" = "1" ]; then
+        mkdir -p "$lib32/lib"
+        cp -prd 32/*.so.* 32/tls "$lib32/lib/"
+    fi
+
     mkdir -p "$out/lib"
     cp -prd *.so.* tls "$out/lib/"
-    rm $out/lib/lib{glx,nvidia-wfb}.so.* # handled separately
-    rm -f $out/lib/libnvidia-gtk* # built from source
-    if [ "$useGLVND" = "1" ]; then
-        # Pre-built libglvnd
-        rm $out/lib/lib{GL,GLX,EGL,GLESv1_CM,GLESv2,OpenGL,GLdispatch}.so.*
-    fi
-    # Use ocl-icd instead
-    rm $out/lib/libOpenCL.so*
-    # Move VDPAU libraries to their place
-    mkdir $out/lib/vdpau
-    mv $out/lib/libvdpau* $out/lib/vdpau
-
-    # Install ICDs.
-    install -Dm644 nvidia.icd $out/etc/OpenCL/vendors/nvidia.icd
-    if [ -e nvidia_icd.json.template ]; then
-        sed "s#__NV_VK_ICD__#libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json
-        install -Dm644 nvidia_icd.json $out/share/vulkan/icd.d/nvidia.json
-    fi
-    if [ "$useGLVND" = "1" ]; then
-        install -Dm644 10_nvidia.json $out/share/glvnd/egl_vendor.d/nvidia.json
-    fi
+
+    for i in $lib32 $out; do
+        rm -f $i/lib/lib{glx,nvidia-wfb}.so.* # handled separately
+        rm -f $i/lib/libnvidia-gtk* # built from source
+        if [ "$useGLVND" = "1" ]; then
+            # Pre-built libglvnd
+            rm $i/lib/lib{GL,GLX,EGL,GLESv1_CM,GLESv2,OpenGL,GLdispatch}.so.*
+        fi
+        # Use ocl-icd instead
+        rm -f $i/lib/libOpenCL.so*
+        # Move VDPAU libraries to their place
+        mkdir $i/lib/vdpau
+        mv $i/lib/libvdpau* $i/lib/vdpau
+
+        # Install ICDs.
+        install -Dm644 nvidia.icd $i/etc/OpenCL/vendors/nvidia.icd
+        if [ -e nvidia_icd.json.template ]; then
+            sed "s#__NV_VK_ICD__#libGLX_nvidia.so#" nvidia_icd.json.template > nvidia_icd.json
+            install -Dm644 nvidia_icd.json $i/share/vulkan/icd.d/nvidia.json
+        fi
+        if [ "$useGLVND" = "1" ]; then
+            install -Dm644 10_nvidia.json $i/share/glvnd/egl_vendor.d/nvidia.json
+        fi
+
+    done
+
 
     if [ -n "$bin" ]; then
         # Install the X drivers.
@@ -60,7 +72,7 @@ installPhase() {
         mkdir -p $bin/lib/xorg/modules/drivers
         cp -p nvidia_drv.so $bin/lib/xorg/modules/drivers
         mkdir -p $bin/lib/xorg/modules/extensions
-        cp -p libglx.so.* $bin/lib/xorg/modules/extensions
+        cp -p libglx*.so* $bin/lib/xorg/modules/extensions
 
         # Install the kernel module.
         mkdir -p $bin/lib/modules/$kernelVersion/misc
@@ -78,7 +90,7 @@ installPhase() {
     fi
 
     # All libs except GUI-only are installed now, so fixup them.
-    for libname in `find "$out/lib/" -name '*.so.*'` `test -z "$bin" || find "$bin/lib/" -name '*.so.*'`
+    for libname in $(find "$out/lib/" $(test -n "$lib32" && echo "$lib32/lib/") $(test -n "$bin" && echo "$bin/lib/") -name '*.so.*')
     do
       # I'm lazy to differentiate needed libs per-library, as the closure is the same.
       # Unfortunately --shrink-rpath would strip too much.
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index d9ff157e1429..492b268610f1 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -26,8 +26,12 @@ rec {
     patches = lib.optional (kernel.meta.branch == "4.19") ./drm_mode_connector.patch;
   };
 
-  beta = stable; # not enough interest to maintain beta ATM
-
+  beta = generic {
+    version = "410.57";
+    sha256_64bit = "08534rv3wcmzslbwq11kd3s7cxm72p48dia6540c0586xwgjwg2w";
+    settingsSha256 = "1phhhzlc8n3rqdhrn757mnlqmsp616d079a6h1qjpa6jba9z9915";
+    persistencedSha256 = "1z7c1ff0y486yp9i5w0siwh9dnprml22x2avarbjfgqwm4f652lw";
+  };
 
   legacy_340 = generic {
     version = "340.104";
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 090fce3a485c..a40a64344932 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -1,5 +1,5 @@
 { version
-, sha256_32bit
+, sha256_32bit ? null
 , sha256_64bit
 , settingsSha256
 , persistencedSha256
@@ -22,11 +22,15 @@
 
 with stdenv.lib;
 
-assert (!libsOnly) -> kernel != null;
+assert !libsOnly -> kernel != null;
+assert versionOlder version "391" -> sha256_32bit != null;
+assert ! versionOlder version "391" -> stdenv.hostPlatform.system == "x86_64-linux";
 
 let
   nameSuffix = optionalString (!libsOnly) "-${kernel.version}";
   pkgSuffix = optionalString (versionOlder version "304") "-pkg0";
+  i686bundled = versionAtLeast version "391";
+
 
   self = stdenv.mkDerivation {
     name = "nvidia-x11-${version}${nameSuffix}";
@@ -34,24 +38,27 @@ let
     builder = ./builder.sh;
 
     src =
-      if stdenv.hostPlatform.system == "i686-linux" then
-        fetchurl {
-          url = "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run";
-          sha256 = sha256_32bit;
-        }
-      else if stdenv.hostPlatform.system == "x86_64-linux" then
+      if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://download.nvidia.com/XFree86/Linux-x86_64/${version}/NVIDIA-Linux-x86_64-${version}${pkgSuffix}.run";
           sha256 = sha256_64bit;
         }
+      else if stdenv.hostPlatform.system == "i686-linux" then
+        fetchurl {
+          url = "https://download.nvidia.com/XFree86/Linux-x86/${version}/NVIDIA-Linux-x86-${version}${pkgSuffix}.run";
+          sha256 = sha256_32bit;
+        }
       else throw "nvidia-x11 does not support platform ${stdenv.hostPlatform.system}";
 
     patches = if libsOnly then null else patches;
     inherit prePatch;
     inherit version useGLVND useProfiles;
     inherit (stdenv.hostPlatform) system;
+    inherit i686bundled;
 
-    outputs = [ "out" ] ++ optional (!libsOnly) "bin";
+    outputs = [ "out" ]
+        ++ optional i686bundled "lib32"
+        ++ optional (!libsOnly) "bin";
     outputDev = if libsOnly then null else "bin";
 
     kernel = if libsOnly then null else kernel.dev;
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 2dcbf6737e66..720898196c85 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "clickhouse-${version}";
-  version = "18.10.3";
+  version = "18.12.17";
 
   src = fetchFromGitHub {
     owner  = "yandex";
     repo   = "ClickHouse";
     rev    = "v${version}-stable";
-    sha256 = "1fm7jh9cxalvlic6pw58gblisvmvb6j0jzf3vr8p6cv7iw9238sp";
+    sha256 = "0gkad6x6jlih30wal8nilhfqr3z22dzgz6m22pza3bhaba2ikk53";
   };
 
   nativeBuildInputs = [ cmake libtool ninja ];
diff --git a/pkgs/servers/corosync/default.nix b/pkgs/servers/corosync/default.nix
index 145052ff8c3a..d1dd7c05929d 100644
--- a/pkgs/servers/corosync/default.nix
+++ b/pkgs/servers/corosync/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, makeWrapper, pkgconfig, nss, nspr, libqb
-, dbus, librdmacm, libibverbs, libstatgrab, net_snmp
+, dbus, rdma-core, libstatgrab, net_snmp
 , enableDbus ? false
 , enableInfiniBandRdma ? false
 , enableMonitoring ? false
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     nss nspr libqb
   ] ++ optional enableDbus dbus
-    ++ optional enableInfiniBandRdma [ librdmacm libibverbs ]
+    ++ optional enableInfiniBandRdma rdma-core
     ++ optional enableMonitoring libstatgrab
     ++ optional enableSnmp net_snmp;
 
@@ -44,6 +44,17 @@ stdenv.mkDerivation rec {
     "LOGROTATEDIR=$(out)/etc/logrotate.d"
   ];
 
+  preConfigure = optionalString enableInfiniBandRdma ''
+    # configure looks for the pkg-config files
+    # of librdmacm and libibverbs
+    # Howver, rmda-core does not provide a pkg-config file
+    # We give the flags manually here:
+    export rdmacm_LIBS=-lrdmacm
+    export rdmacm_CFLAGS=" "
+    export ibverbs_LIBS=-libverbs
+    export ibverbs_CFLAGS=" "
+  '';
+
   postInstall = ''
     wrapProgram $out/bin/corosync-blackbox \
       --prefix PATH ":" "$out/sbin:${libqb}/sbin"
diff --git a/pkgs/servers/coturn/default.nix b/pkgs/servers/coturn/default.nix
index 0891b72cd1e9..9bf461938cdb 100644
--- a/pkgs/servers/coturn/default.nix
+++ b/pkgs/servers/coturn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "coturn-${version}";
-  version = "4.5.0.7";
+  version = "4.5.0.8";
 
   src = fetchFromGitHub {
     owner = "coturn";
     repo = "coturn";
     rev = "${version}";
-    sha256 = "1781fx8lqgc54j973xzgq9d7k3g2j03va82jb4217gd3a93pa65l";
+    sha256 = "1l2q76lzv2gff832wrqd9dcilyaqx91pixyz335822ypra89mdp8";
   };
 
   buildInputs = [ openssl libevent ];
@@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
     license = with licenses; [ bsd3 ];
     description = "A TURN server";
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # 2018-10-21
     maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index a67de2dab1aa..f1ee1eda95da 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -2,7 +2,7 @@
 # Do not edit!
 
 {
-  version = "0.77.3";
+  version = "0.80.3";
   components = {
     "abode" = ps: with ps; [  ];
     "ads" = ps: with ps; [  ];
@@ -11,6 +11,7 @@
     "alarm_control_panel.alarmdecoder" = ps: with ps; [  ];
     "alarm_control_panel.alarmdotcom" = ps: with ps; [  ];
     "alarm_control_panel.arlo" = ps: with ps; [  ];
+    "alarm_control_panel.blink" = ps: with ps; [  ];
     "alarm_control_panel.canary" = ps: with ps; [  ];
     "alarm_control_panel.concord232" = ps: with ps; [  ];
     "alarm_control_panel.demo" = ps: with ps; [  ];
@@ -18,7 +19,7 @@
     "alarm_control_panel.envisalink" = ps: with ps; [  ];
     "alarm_control_panel.homematicip_cloud" = ps: with ps; [  ];
     "alarm_control_panel.ialarm" = ps: with ps; [  ];
-    "alarm_control_panel.ifttt" = ps: with ps; [  ];
+    "alarm_control_panel.ifttt" = ps: with ps; [ aiohttp-cors ];
     "alarm_control_panel.manual" = ps: with ps; [  ];
     "alarm_control_panel.manual_mqtt" = ps: with ps; [ paho-mqtt ];
     "alarm_control_panel.mqtt" = ps: with ps; [ paho-mqtt ];
@@ -29,6 +30,7 @@
     "alarm_control_panel.totalconnect" = ps: with ps; [  ];
     "alarm_control_panel.verisure" = ps: with ps; [  ];
     "alarm_control_panel.wink" = ps: with ps; [  ];
+    "alarm_control_panel.yale_smart_alarm" = ps: with ps; [  ];
     "alarmdecoder" = ps: with ps; [  ];
     "alert" = ps: with ps; [  ];
     "alexa" = ps: with ps; [ aiohttp-cors ];
@@ -41,6 +43,7 @@
     "apcupsd" = ps: with ps; [  ];
     "api" = ps: with ps; [ aiohttp-cors ];
     "apple_tv" = ps: with ps; [  ];
+    "aqualogic" = ps: with ps; [  ];
     "arduino" = ps: with ps; [  ];
     "arlo" = ps: with ps; [  ];
     "asterisk_mbox" = ps: with ps; [  ];
@@ -59,6 +62,7 @@
     "automation.sun" = ps: with ps; [  ];
     "automation.template" = ps: with ps; [  ];
     "automation.time" = ps: with ps; [  ];
+    "automation.webhook" = ps: with ps; [ aiohttp-cors ];
     "automation.zone" = ps: with ps; [  ];
     "axis" = ps: with ps; [  ];
     "bbb_gpio" = ps: with ps; [  ];
@@ -90,6 +94,7 @@
     "binary_sensor.ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
     "binary_sensor.flic" = ps: with ps; [  ];
+    "binary_sensor.fritzbox" = ps: with ps; [  ];
     "binary_sensor.gc100" = ps: with ps; [  ];
     "binary_sensor.hikvision" = ps: with ps; [  ];
     "binary_sensor.hive" = ps: with ps; [  ];
@@ -179,6 +184,7 @@
     "camera.foscam" = ps: with ps; [  ];
     "camera.generic" = ps: with ps; [  ];
     "camera.local_file" = ps: with ps; [  ];
+    "camera.logi_circle" = ps: with ps; [  ];
     "camera.mjpeg" = ps: with ps; [  ];
     "camera.mqtt" = ps: with ps; [ paho-mqtt ];
     "camera.neato" = ps: with ps; [  ];
@@ -207,6 +213,7 @@
     "climate.econet" = ps: with ps; [  ];
     "climate.ephember" = ps: with ps; [  ];
     "climate.eq3btsmart" = ps: with ps; [ construct ];
+    "climate.evohome" = ps: with ps; [  ];
     "climate.flexit" = ps: with ps; [  ];
     "climate.fritzbox" = ps: with ps; [  ];
     "climate.generic_thermostat" = ps: with ps; [  ];
@@ -226,6 +233,7 @@
     "climate.netatmo" = ps: with ps; [  ];
     "climate.nuheat" = ps: with ps; [  ];
     "climate.oem" = ps: with ps; [  ];
+    "climate.opentherm_gw" = ps: with ps; [  ];
     "climate.proliphix" = ps: with ps; [  ];
     "climate.radiotherm" = ps: with ps; [  ];
     "climate.sensibo" = ps: with ps; [  ];
@@ -251,9 +259,10 @@
     "config" = ps: with ps; [ aiohttp-cors ];
     "config.auth" = ps: with ps; [  ];
     "config.automation" = ps: with ps; [  ];
-    "config.config_entries" = ps: with ps; [ voluptuous-serialize ];
+    "config.config_entries" = ps: with ps; [  ];
     "config.core" = ps: with ps; [  ];
     "config.customize" = ps: with ps; [  ];
+    "config.device_registry" = ps: with ps; [ aiohttp-cors ];
     "config.entity_registry" = ps: with ps; [ aiohttp-cors ];
     "config.group" = ps: with ps; [  ];
     "config.hassbian" = ps: with ps; [  ];
@@ -268,11 +277,13 @@
     "cover.aladdin_connect" = ps: with ps; [  ];
     "cover.brunt" = ps: with ps; [  ];
     "cover.command_line" = ps: with ps; [  ];
+    "cover.deconz" = ps: with ps; [  ];
     "cover.demo" = ps: with ps; [  ];
     "cover.garadget" = ps: with ps; [  ];
     "cover.gogogate2" = ps: with ps; [  ];
     "cover.group" = ps: with ps; [  ];
     "cover.homematic" = ps: with ps; [ pyhomematic ];
+    "cover.insteon" = ps: with ps; [  ];
     "cover.isy994" = ps: with ps; [  ];
     "cover.knx" = ps: with ps; [  ];
     "cover.lutron" = ps: with ps; [  ];
@@ -322,6 +333,7 @@
     "device_tracker.google_maps" = ps: with ps; [  ];
     "device_tracker.gpslogger" = ps: with ps; [ aiohttp-cors ];
     "device_tracker.hitron_coda" = ps: with ps; [  ];
+    "device_tracker.huawei_lte" = ps: with ps; [  ];
     "device_tracker.huawei_router" = ps: with ps; [  ];
     "device_tracker.icloud" = ps: with ps; [  ];
     "device_tracker.keenetic_ndms2" = ps: with ps; [  ];
@@ -368,6 +380,7 @@
     "dyson" = ps: with ps; [  ];
     "ecobee" = ps: with ps; [  ];
     "ecovacs" = ps: with ps; [  ];
+    "edp_redy" = ps: with ps; [  ];
     "egardia" = ps: with ps; [  ];
     "eight_sleep" = ps: with ps; [  ];
     "emoncms_history" = ps: with ps; [  ];
@@ -377,6 +390,7 @@
     "enocean" = ps: with ps; [  ];
     "envisalink" = ps: with ps; [  ];
     "eufy" = ps: with ps; [  ];
+    "evohome" = ps: with ps; [  ];
     "fan" = ps: with ps; [  ];
     "fan.comfoconnect" = ps: with ps; [  ];
     "fan.demo" = ps: with ps; [  ];
@@ -398,10 +412,12 @@
     "fritzbox" = ps: with ps; [  ];
     "frontend" = ps: with ps; [ aiohttp-cors ];
     "gc100" = ps: with ps; [  ];
+    "geo_location" = ps: with ps; [  ];
+    "geo_location.demo" = ps: with ps; [  ];
+    "geo_location.geo_json_events" = ps: with ps; [  ];
     "goalfeed" = ps: with ps; [  ];
     "google" = ps: with ps; [ google_api_python_client httplib2 oauth2client ];
     "google_assistant" = ps: with ps; [ aiohttp-cors ];
-    "google_assistant.auth" = ps: with ps; [  ];
     "google_assistant.const" = ps: with ps; [  ];
     "google_assistant.helpers" = ps: with ps; [  ];
     "google_assistant.http" = ps: with ps; [  ];
@@ -410,11 +426,16 @@
     "google_domains" = ps: with ps; [  ];
     "graphite" = ps: with ps; [  ];
     "group" = ps: with ps; [  ];
+    "habitica" = ps: with ps; [  ];
     "hangouts" = ps: with ps; [  ];
     "hangouts.config_flow" = ps: with ps; [  ];
     "hangouts.const" = ps: with ps; [  ];
     "hangouts.hangouts_bot" = ps: with ps; [  ];
+    "hangouts.intents" = ps: with ps; [  ];
     "hassio" = ps: with ps; [ aiohttp-cors ];
+    "hassio.auth" = ps: with ps; [  ];
+    "hassio.const" = ps: with ps; [  ];
+    "hassio.discovery" = ps: with ps; [  ];
     "hassio.handler" = ps: with ps; [  ];
     "hassio.http" = ps: with ps; [  ];
     "hdmi_cec" = ps: with ps; [  ];
@@ -441,13 +462,14 @@
     "http.real_ip" = ps: with ps; [  ];
     "http.static" = ps: with ps; [  ];
     "http.view" = ps: with ps; [  ];
+    "huawei_lte" = ps: with ps; [  ];
     "hue" = ps: with ps; [ aiohue ];
     "hue.bridge" = ps: with ps; [  ];
     "hue.config_flow" = ps: with ps; [  ];
     "hue.const" = ps: with ps; [  ];
     "hue.errors" = ps: with ps; [  ];
     "hydrawise" = ps: with ps; [  ];
-    "ifttt" = ps: with ps; [  ];
+    "ifttt" = ps: with ps; [ aiohttp-cors ];
     "ihc" = ps: with ps; [  ];
     "ihc.const" = ps: with ps; [  ];
     "ihc.ihcdevice" = ps: with ps; [  ];
@@ -525,6 +547,7 @@
     "light.mysensors" = ps: with ps; [  ];
     "light.mystrom" = ps: with ps; [  ];
     "light.nanoleaf_aurora" = ps: with ps; [  ];
+    "light.opple" = ps: with ps; [  ];
     "light.osramlightify" = ps: with ps; [  ];
     "light.piglow" = ps: with ps; [  ];
     "light.qwikswitch" = ps: with ps; [  ];
@@ -580,9 +603,12 @@
     "logbook" = ps: with ps; [ aiohttp-cors sqlalchemy ];
     "logentries" = ps: with ps; [  ];
     "logger" = ps: with ps; [  ];
+    "logi_circle" = ps: with ps; [  ];
+    "lovelace" = ps: with ps; [  ];
     "lutron" = ps: with ps; [  ];
     "lutron_caseta" = ps: with ps; [  ];
     "mailbox" = ps: with ps; [ aiohttp-cors ];
+    "mailbox.asterisk_cdr" = ps: with ps; [  ];
     "mailbox.asterisk_mbox" = ps: with ps; [  ];
     "mailbox.demo" = ps: with ps; [  ];
     "mailgun" = ps: with ps; [ aiohttp-cors ];
@@ -640,7 +666,7 @@
     "media_player.sisyphus" = ps: with ps; [  ];
     "media_player.snapcast" = ps: with ps; [  ];
     "media_player.songpal" = ps: with ps; [  ];
-    "media_player.sonos" = ps: with ps; [ soco ];
+    "media_player.sonos" = ps: with ps; [  ];
     "media_player.soundtouch" = ps: with ps; [ libsoundtouch ];
     "media_player.spotify" = ps: with ps; [ aiohttp-cors ];
     "media_player.squeezebox" = ps: with ps; [  ];
@@ -659,6 +685,8 @@
     "mochad" = ps: with ps; [  ];
     "modbus" = ps: with ps; [  ];
     "mqtt" = ps: with ps; [ paho-mqtt ];
+    "mqtt.config_flow" = ps: with ps; [  ];
+    "mqtt.const" = ps: with ps; [  ];
     "mqtt.discovery" = ps: with ps; [  ];
     "mqtt.server" = ps: with ps; [ aiohttp-cors hbmqtt ];
     "mqtt_eventstream" = ps: with ps; [ paho-mqtt ];
@@ -731,6 +759,7 @@
     "notify.synology_chat" = ps: with ps; [  ];
     "notify.syslog" = ps: with ps; [  ];
     "notify.telegram" = ps: with ps; [ python-telegram-bot ];
+    "notify.tibber" = ps: with ps; [  ];
     "notify.twilio_call" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twilio_sms" = ps: with ps; [ aiohttp-cors twilio ];
     "notify.twitter" = ps: with ps; [  ];
@@ -744,6 +773,8 @@
     "onboarding.const" = ps: with ps; [  ];
     "onboarding.views" = ps: with ps; [  ];
     "openuv" = ps: with ps; [  ];
+    "openuv.config_flow" = ps: with ps; [  ];
+    "openuv.const" = ps: with ps; [  ];
     "panel_custom" = ps: with ps; [ aiohttp-cors ];
     "panel_iframe" = ps: with ps; [ aiohttp-cors ];
     "persistent_notification" = ps: with ps; [  ];
@@ -805,6 +836,7 @@
     "sensor.android_ip_webcam" = ps: with ps; [  ];
     "sensor.apcupsd" = ps: with ps; [  ];
     "sensor.api_streams" = ps: with ps; [  ];
+    "sensor.aqualogic" = ps: with ps; [  ];
     "sensor.arduino" = ps: with ps; [  ];
     "sensor.arest" = ps: with ps; [  ];
     "sensor.arlo" = ps: with ps; [  ];
@@ -853,6 +885,7 @@
     "sensor.ebox" = ps: with ps; [  ];
     "sensor.ecobee" = ps: with ps; [  ];
     "sensor.eddystone_temperature" = ps: with ps; [ construct ];
+    "sensor.edp_redy" = ps: with ps; [  ];
     "sensor.efergy" = ps: with ps; [  ];
     "sensor.eight_sleep" = ps: with ps; [  ];
     "sensor.eliqonline" = ps: with ps; [  ];
@@ -877,14 +910,16 @@
     "sensor.fritzbox_callmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.fritzbox_netmonitor" = ps: with ps; [ fritzconnection ];
     "sensor.gearbest" = ps: with ps; [  ];
-    "sensor.geizhals" = ps: with ps; [ beautifulsoup4 ];
-    "sensor.geo_rss_events" = ps: with ps; [ feedparser ];
+    "sensor.geizhals" = ps: with ps; [  ];
+    "sensor.geo_rss_events" = ps: with ps; [  ];
+    "sensor.gitlab_ci" = ps: with ps; [  ];
     "sensor.gitter" = ps: with ps; [  ];
     "sensor.glances" = ps: with ps; [  ];
     "sensor.google_travel_time" = ps: with ps; [  ];
     "sensor.google_wifi" = ps: with ps; [  ];
     "sensor.gpsd" = ps: with ps; [  ];
     "sensor.gtfs" = ps: with ps; [  ];
+    "sensor.habitica" = ps: with ps; [  ];
     "sensor.haveibeenpwned" = ps: with ps; [  ];
     "sensor.hddtemp" = ps: with ps; [  ];
     "sensor.history_stats" = ps: with ps; [ aiohttp-cors sqlalchemy ];
@@ -893,6 +928,7 @@
     "sensor.homematicip_cloud" = ps: with ps; [  ];
     "sensor.hp_ilo" = ps: with ps; [  ];
     "sensor.htu21d" = ps: with ps; [  ];
+    "sensor.huawei_lte" = ps: with ps; [  ];
     "sensor.hydrawise" = ps: with ps; [  ];
     "sensor.hydroquebec" = ps: with ps; [  ];
     "sensor.ihc" = ps: with ps; [  ];
@@ -905,13 +941,16 @@
     "sensor.iperf3" = ps: with ps; [  ];
     "sensor.irish_rail_transport" = ps: with ps; [  ];
     "sensor.isy994" = ps: with ps; [  ];
+    "sensor.jewish_calendar" = ps: with ps; [  ];
     "sensor.juicenet" = ps: with ps; [  ];
     "sensor.kira" = ps: with ps; [  ];
     "sensor.knx" = ps: with ps; [  ];
     "sensor.kwb" = ps: with ps; [  ];
     "sensor.lacrosse" = ps: with ps; [  ];
     "sensor.lastfm" = ps: with ps; [ pylast ];
+    "sensor.linky" = ps: with ps; [  ];
     "sensor.linux_battery" = ps: with ps; [ batinfo ];
+    "sensor.logi_circle" = ps: with ps; [  ];
     "sensor.london_air" = ps: with ps; [  ];
     "sensor.london_underground" = ps: with ps; [  ];
     "sensor.loopenergy" = ps: with ps; [  ];
@@ -998,9 +1037,10 @@
     "sensor.sochain" = ps: with ps; [  ];
     "sensor.socialblade" = ps: with ps; [  ];
     "sensor.sonarr" = ps: with ps; [  ];
-    "sensor.speedtest" = ps: with ps; [  ];
+    "sensor.speedtest" = ps: with ps; [ speedtest-cli ];
     "sensor.spotcrime" = ps: with ps; [  ];
     "sensor.sql" = ps: with ps; [ sqlalchemy ];
+    "sensor.starlingbank" = ps: with ps; [  ];
     "sensor.startca" = ps: with ps; [ xmltodict ];
     "sensor.statistics" = ps: with ps; [  ];
     "sensor.steam_online" = ps: with ps; [  ];
@@ -1041,10 +1081,12 @@
     "sensor.uscis" = ps: with ps; [  ];
     "sensor.usps" = ps: with ps; [  ];
     "sensor.vasttrafik" = ps: with ps; [  ];
+    "sensor.velbus" = ps: with ps; [  ];
     "sensor.vera" = ps: with ps; [  ];
     "sensor.verisure" = ps: with ps; [  ];
     "sensor.version" = ps: with ps; [  ];
     "sensor.viaggiatreno" = ps: with ps; [  ];
+    "sensor.volkszaehler" = ps: with ps; [  ];
     "sensor.volvooncall" = ps: with ps; [  ];
     "sensor.vultr" = ps: with ps; [ vultr ];
     "sensor.waqi" = ps: with ps; [  ];
@@ -1079,9 +1121,9 @@
     "sleepiq" = ps: with ps; [  ];
     "smappee" = ps: with ps; [  ];
     "snips" = ps: with ps; [ paho-mqtt ];
-    "sonos" = ps: with ps; [ soco ];
+    "sonos" = ps: with ps; [  ];
     "spaceapi" = ps: with ps; [ aiohttp-cors ];
-    "spc" = ps: with ps; [ websockets ];
+    "spc" = ps: with ps; [  ];
     "spider" = ps: with ps; [  ];
     "splunk" = ps: with ps; [  ];
     "statsd" = ps: with ps; [ statsd ];
@@ -1093,6 +1135,7 @@
     "switch.amcrest" = ps: with ps; [ ha-ffmpeg ];
     "switch.android_ip_webcam" = ps: with ps; [  ];
     "switch.anel_pwrctrl" = ps: with ps; [  ];
+    "switch.aqualogic" = ps: with ps; [  ];
     "switch.arduino" = ps: with ps; [  ];
     "switch.arest" = ps: with ps; [  ];
     "switch.bbb_gpio" = ps: with ps; [  ];
@@ -1106,6 +1149,7 @@
     "switch.dlink" = ps: with ps; [  ];
     "switch.doorbird" = ps: with ps; [  ];
     "switch.edimax" = ps: with ps; [  ];
+    "switch.edp_redy" = ps: with ps; [  ];
     "switch.enocean" = ps: with ps; [  ];
     "switch.eufy" = ps: with ps; [  ];
     "switch.flux" = ps: with ps; [  ];
@@ -1157,6 +1201,8 @@
     "switch.smappee" = ps: with ps; [  ];
     "switch.snmp" = ps: with ps; [ pysnmp ];
     "switch.spider" = ps: with ps; [  ];
+    "switch.switchbot" = ps: with ps; [  ];
+    "switch.switchmate" = ps: with ps; [  ];
     "switch.tahoma" = ps: with ps; [  ];
     "switch.tellduslive" = ps: with ps; [  ];
     "switch.tellstick" = ps: with ps; [  ];
@@ -1166,6 +1212,7 @@
     "switch.thinkingcleaner" = ps: with ps; [  ];
     "switch.toon" = ps: with ps; [  ];
     "switch.tplink" = ps: with ps; [  ];
+    "switch.tradfri" = ps: with ps; [  ];
     "switch.transmission" = ps: with ps; [ transmissionrpc ];
     "switch.tuya" = ps: with ps; [  ];
     "switch.upcloud" = ps: with ps; [  ];
@@ -1197,9 +1244,12 @@
     "tesla" = ps: with ps; [  ];
     "thethingsnetwork" = ps: with ps; [  ];
     "thingspeak" = ps: with ps; [  ];
+    "tibber" = ps: with ps; [  ];
     "timer" = ps: with ps; [  ];
     "toon" = ps: with ps; [  ];
     "tradfri" = ps: with ps; [  ];
+    "tradfri.config_flow" = ps: with ps; [  ];
+    "tradfri.const" = ps: with ps; [  ];
     "tts" = ps: with ps; [ aiohttp-cors mutagen ];
     "tts.amazon_polly" = ps: with ps; [ boto3 ];
     "tts.baidu" = ps: with ps; [  ];
@@ -1215,6 +1265,9 @@
     "upcloud" = ps: with ps; [  ];
     "updater" = ps: with ps; [ distro ];
     "upnp" = ps: with ps; [ aiohttp-cors ];
+    "upnp.config_flow" = ps: with ps; [  ];
+    "upnp.const" = ps: with ps; [  ];
+    "upnp.device" = ps: with ps; [  ];
     "usps" = ps: with ps; [  ];
     "vacuum" = ps: with ps; [  ];
     "vacuum.demo" = ps: with ps; [  ];
@@ -1240,12 +1293,22 @@
     "weather.demo" = ps: with ps; [  ];
     "weather.ecobee" = ps: with ps; [  ];
     "weather.ipma" = ps: with ps; [  ];
+    "weather.met" = ps: with ps; [  ];
     "weather.metoffice" = ps: with ps; [  ];
     "weather.openweathermap" = ps: with ps; [ pyowm ];
     "weather.yweather" = ps: with ps; [ yahooweather ];
     "weather.zamg" = ps: with ps; [  ];
+    "webhook" = ps: with ps; [ aiohttp-cors ];
     "weblink" = ps: with ps; [  ];
     "websocket_api" = ps: with ps; [ aiohttp-cors ];
+    "websocket_api.auth" = ps: with ps; [  ];
+    "websocket_api.commands" = ps: with ps; [  ];
+    "websocket_api.connection" = ps: with ps; [  ];
+    "websocket_api.const" = ps: with ps; [  ];
+    "websocket_api.decorators" = ps: with ps; [  ];
+    "websocket_api.error" = ps: with ps; [  ];
+    "websocket_api.http" = ps: with ps; [  ];
+    "websocket_api.messages" = ps: with ps; [  ];
     "wemo" = ps: with ps; [  ];
     "wink" = ps: with ps; [  ];
     "wirelesstag" = ps: with ps; [  ];
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index e6bbd4ab259d..8503b53033cf 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -18,12 +18,12 @@ let
 
   defaultOverrides = [
     # Override the version of some packages pinned in Home Assistant's setup.py
-    (mkOverride "aiohttp" "3.4.0"
-      "9b15efa7411dcf3b59c1f4766eb16ba1aba4531a33e54d469ee22106eabce460")
+    (mkOverride "aiohttp" "3.4.4"
+      "51afec6ffa50a9da4cdef188971a802beb1ca8e8edb40fa429e5e529db3475fa")
     (mkOverride "astral" "1.6.1"
       "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d")
-    (mkOverride "attrs" "18.1.0"
-      "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b")
+    (mkOverride "attrs" "18.2.0"
+      "10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69")
     (mkOverride "bcrypt" "3.1.4"
       "67ed1a374c9155ec0840214ce804616de49c3df9c5bc66740687c1c9b1cd9e8d")
     (mkOverride "pyjwt" "1.6.4"
@@ -36,6 +36,8 @@ let
       "ec22d826a36ed72a7358ff3fe56cbd4ba69dd7a6718ffd450ff0e9df7a47ce6a")
     (mkOverride "voluptuous" "0.11.5"
       "567a56286ef82a9d7ae0628c5842f65f516abcb496e74f3f59f1d7b28df314ef")
+    (mkOverride "voluptuous-serialize" "2.0.0"
+      "44be04d87aec34bd7d31ab539341fadc505205f2299031ed9be985112c21aa41")
 
     # used by check_config script
     # can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
@@ -75,7 +77,7 @@ let
   extraBuildInputs = extraPackages py.pkgs;
 
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "0.77.3";
+  hassVersion = "0.80.3";
 
 in with py.pkgs; buildPythonApplication rec {
   pname = "homeassistant";
@@ -90,14 +92,14 @@ in with py.pkgs; buildPythonApplication rec {
     owner = "home-assistant";
     repo = "home-assistant";
     rev = version;
-    sha256 = "1c459iqbkhs6dv563zld6qb9avpx3h0fnxng476zahj9x9m5rzk6";
+    sha256 = "0fjkw8kg0vsyrkcrx9jhqrh5nzxx5wphj6zglqgai2d635m8j2dg";
   };
 
   propagatedBuildInputs = [
     # From setup.py
-    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous
-    # From http, frontend, recorder and config.config_entries components and auth.mfa_modules.totp
-    sqlalchemy aiohttp-cors hass-frontend voluptuous-serialize pyotp pyqrcode
+    aiohttp astral async-timeout attrs bcrypt certifi jinja2 pyjwt cryptography pip pytz pyyaml requests voluptuous voluptuous-serialize
+    # From http, frontend and recorder components and auth.mfa_modules.totp
+    sqlalchemy aiohttp-cors hass-frontend pyotp pyqrcode
   ] ++ componentBuildInputs ++ extraBuildInputs;
 
   checkInputs = [
@@ -109,8 +111,8 @@ in with py.pkgs; buildPythonApplication rec {
     py.test --ignore tests/components
     # Some basic components should be tested however
     py.test \
-      tests/components/{group,http,frontend} \
-      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
+      tests/components/{group,http,frontend,config,websocket_api} \
+      tests/components/test_{api,configurator,demo,discovery,init,introduction,logger,script,shell_command,system_log}.py
   '';
 
   makeWrapperArgs = lib.optional skipPip "--add-flags --skip-pip";
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index e04de7effcd4..25a63ef71a92 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "home-assistant-frontend";
-  version = "20180903.0";
+  version = "20181018.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "54ba2ad2d1043952885f432d900025bd3eb11de180ac5147342cff585f44d4f9";
+    sha256 = "83f52421056acda8297f174a7c4e3c540109673c2f2c25720638d171c6bc2653";
   };
 
   propagatedBuildInputs = [ user-agents ];
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 473f2986ff06..29d1bf7a4563 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jetty-${version}";
-  version = "9.4.8.v20171121";
+  version = "9.4.12.v20180830";
   src = fetchurl {
     url = "https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
     name = "jetty-distribution-${version}.tar.gz";
-    sha256 = "0bvwi70vdk468yqgvgq99lwrpy2y5znrl0b1cr8j6ygmsgnvvmjh";
+    sha256 = "1z498cxvp1llp4ii8g52rhicypay1v2b6mmdmxrj3d82az6biiq3";
   };
 
   phases = [ "unpackPhase" "installPhase" ];
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 4c384c7b2b89..4f9cfa46e714 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "jackett-${version}";
-  version = "0.10.258";
+  version = "0.10.304";
 
   src = fetchurl {
     url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
-    sha256 = "1wlg1spz2cxddaagjs6hv5fks3n1wwfm9jmih3rh1vq1rx8j1xnq";
+    sha256 = "15v9xyvcdx9kbarilq7d7nm8ac8mljw641nrr3mnk8ij3gjdgb38";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index d88b9f8b0dbc..796d5696ebfa 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,9 +1,9 @@
 { stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl
 , coreutils, findutils, gnugrep, gawk, icu, pcre
+, withLDAP ? true, openldap
 , withPgSQL ? false, postgresql
 , withMySQL ? false, mysql
 , withSQLite ? false, sqlite
-, withLDAP ? false, openldap
 }:
 
 let
diff --git a/pkgs/servers/mail/postfix/pflogsumm.nix b/pkgs/servers/mail/postfix/pflogsumm.nix
index 3d48e9527819..821999380606 100644
--- a/pkgs/servers/mail/postfix/pflogsumm.nix
+++ b/pkgs/servers/mail/postfix/pflogsumm.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchurl, buildPerlPackage, perlPackages
-}:
+{ stdenv, fetchurl, perlPackages }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "pflogsumm-${version}";
   version = "1.1.3";
 
diff --git a/pkgs/servers/mail/spamassassin/default.nix b/pkgs/servers/mail/spamassassin/default.nix
index acbc50fd42bf..d32957210132 100644
--- a/pkgs/servers/mail/spamassassin/default.nix
+++ b/pkgs/servers/mail/spamassassin/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, buildPerlPackage, perl, perlPackages, HTMLParser, NetDNS, NetAddrIP, DBFile
+{ stdenv, fetchurl, perl, perlPackages, HTMLParser, NetDNS, NetAddrIP, DBFile
 , HTTPDate, MailDKIM, LWP, IOSocketSSL, makeWrapper, gnupg1
 }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "SpamAssassin-3.4.1";
 
   src = fetchurl {
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 91ca3219a826..2969f723b50a 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, buildGoPackage, buildEnv }:
 
 let
-  version = "5.3.0";
+  version = "5.4.0";
 
   mattermost-server = buildGoPackage rec {
     name = "mattermost-server-${version}";
@@ -10,7 +10,7 @@ let
       owner = "mattermost";
       repo = "mattermost-server";
       rev = "v${version}";
-      sha256 = "0hll62ad12drlqarr7y7zvjj0b12snqm8j5k923lj0064nlpc47z";
+      sha256 = "0sal5ydm1cwnvf3acmiy0400ghhd6v0wj64mkxqwqf8ysnbxizwq";
     };
 
     goPackagePath = "github.com/mattermost/mattermost-server";
@@ -27,7 +27,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "1yzhy37frbhik6iq5z8bglpfcjlwnbgcf5iy1davkh7iqpcbxb0s";
+      sha256 = "06dg0f6nrh3a2v3lnyn2s39nj5jpsvfkx3ypq4zjpks0srv4mgfz";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index 9790df9ce765..dc66c710a5d4 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, cyrus_sasl, libevent}:
 
 stdenv.mkDerivation rec {
-  version = "1.5.10";
+  version = "1.5.11";
   name = "memcached-${version}";
 
   src = fetchurl {
     url = "https://memcached.org/files/${name}.tar.gz";
-    sha256 = "0jqw3z0408yx0lzc6ykn4d29n02dk31kqnmq9b3ldmcnpl6hck29";
+    sha256 = "0ajql8qs3w1lpw41vxkq2xabkxmmdk2nwg3i4lkclraq8pw92yk9";
   };
 
   buildInputs = [cyrus_sasl libevent];
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 2e1cba52ee54..0f2f291318c7 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "metabase-${version}";
-  version = "0.30.3";
+  version = "0.30.4";
 
   src = fetchurl {
     url = "http://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "1w8886xkg88r8dla4l9kpxw2rwwjx23y1dk5rgfgh1vcw8da8cn4";
+    sha256 = "0mvyl5v798qwdydqsjjq94ihfwi62kq4gprxjg3rcckmjdyx2ycs";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/monitoring/fusion-inventory/default.nix b/pkgs/servers/monitoring/fusion-inventory/default.nix
index d9e8ccf1454f..33725cb62839 100644
--- a/pkgs/servers/monitoring/fusion-inventory/default.nix
+++ b/pkgs/servers/monitoring/fusion-inventory/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, fetchurl, buildPerlPackage, perlPackages, nix, dmidecode, pciutils, usbutils, iproute, nettools
+{ stdenv, lib, fetchurl, perlPackages, nix, dmidecode, pciutils, usbutils, iproute, nettools
 , fetchFromGitHub, makeWrapper
 }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "FusionInventory-Agent-${version}";
   version = "2.3.21";
 
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index e795d74fe989..b3a31d2d1ba1 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 = "5.2.4";
+  version = "5.3.1";
   name = "grafana-${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -9,12 +9,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "15w935i22ddx6ff32ynypjh3q670vnrj74qw0vdkxdmrlwk3q7wc";
+    sha256 = "0k4jsqgk0wbp1xc159vrs855d42kcdc4d38v498imp6a90idniyp";
   };
 
   srcStatic = fetchurl {
     url = "https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "187dqjahz1z1gkcx9pxnf2hri6g3b5j3ppadwfahz0rwsqj4v2lf";
+    sha256 = "133ckn5f4l6vqy65y1z3mzhzhy8xcyq65nqb34mwn2zsi7pzvssz";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/monitoring/munin/default.nix b/pkgs/servers/monitoring/munin/default.nix
index 2fec42edff33..72d5f124c63d 100644
--- a/pkgs/servers/monitoring/munin/default.nix
+++ b/pkgs/servers/monitoring/munin/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
   ];
 
   # needs to find a local perl module during build
-  PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1";
+  PERL_USE_UNSAFE_INC = "1";
 
   # TODO: tests are failing http://munin-monitoring.org/ticket/1390#comment:1
   # NOTE: important, test command always exits with 0, think of a way to abort the build once tests pass
diff --git a/pkgs/servers/openafs/1.6/module.nix b/pkgs/servers/openafs/1.6/module.nix
index 7ad9199b7ace..c133161cf576 100644
--- a/pkgs/servers/openafs/1.6/module.nix
+++ b/pkgs/servers/openafs/1.6/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex perl bison which ] ++ kernel.moduleBuildDependencies;
@@ -51,8 +51,8 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = versionOlder kernel.version "3.18" ||
-             versionAtLeast kernel.version "4.18";
+    broken = versionOlder kernel.version "3.18"
+             || stdenv.targetPlatform.isAarch64;
   };
 
 }
diff --git a/pkgs/servers/openafs/1.6/srcs.nix b/pkgs/servers/openafs/1.6/srcs.nix
index 9e9ff623e5cd..17048b68024e 100644
--- a/pkgs/servers/openafs/1.6/srcs.nix
+++ b/pkgs/servers/openafs/1.6/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.6.22.2";
+  version = "1.6.23";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "15j17igignsfzv5jb47ryczsrz3zsmiqwnj38dx9gzz95807rkyf";
+    sha256 = "1gy7a0jhagxif8av540xb1aa6cl7id08nsgjbgady54bnmb0viga";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "1lpydca95nx5pmqvplb9n3akmxbzvhhypswh0s589ywxpv3zynxm";
+      sha256 = "18my71s9mddy0k835852ksjzkza7xs73kyxavmdqflh5vkywb6y0";
     })];
 }
diff --git a/pkgs/servers/openafs/1.8/cross-build.patch b/pkgs/servers/openafs/1.8/cross-build.patch
new file mode 100644
index 000000000000..2b4fd58b23a4
--- /dev/null
+++ b/pkgs/servers/openafs/1.8/cross-build.patch
@@ -0,0 +1,223 @@
+diff -Nur --unidirectional-new-file openafs-1.8.2/configure.ac openafs-1.8.2.new/configure.ac
+--- openafs-1.8.2/configure.ac	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/configure.ac	2018-10-16 15:56:36.512277860 +0200
+@@ -23,6 +23,7 @@
+ 
+ AC_PROG_CC
+ AC_PROG_LIBTOOL
++AX_PROG_CC_FOR_BUILD
+ 
+ AC_PATH_PROGS([PATH_CPP], [cpp], [${CC-cc} -E], [$PATH:/lib:/usr/ccs/lib])
+ AC_SUBST([PATH_CPP])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4 openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4
+--- openafs-1.8.2/src/cf/ax_prog_cc_for_build.m4	1970-01-01 01:00:00.000000000 +0100
++++ openafs-1.8.2.new/src/cf/ax_prog_cc_for_build.m4	2018-10-16 16:20:40.278641658 +0200
+@@ -0,0 +1,125 @@
++# ===========================================================================
++#   https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
++# ===========================================================================
++#
++# SYNOPSIS
++#
++#   AX_PROG_CC_FOR_BUILD
++#
++# DESCRIPTION
++#
++#   This macro searches for a C compiler that generates native executables,
++#   that is a C compiler that surely is not a cross-compiler. This can be
++#   useful if you have to generate source code at compile-time like for
++#   example GCC does.
++#
++#   The macro sets the CC_FOR_BUILD and CPP_FOR_BUILD macros to anything
++#   needed to compile or link (CC_FOR_BUILD) and preprocess (CPP_FOR_BUILD).
++#   The value of these variables can be overridden by the user by specifying
++#   a compiler with an environment variable (like you do for standard CC).
++#
++#   It also sets BUILD_EXEEXT and BUILD_OBJEXT to the executable and object
++#   file extensions for the build platform, and GCC_FOR_BUILD to `yes' if
++#   the compiler we found is GCC. All these variables but GCC_FOR_BUILD are
++#   substituted in the Makefile.
++#
++# LICENSE
++#
++#   Copyright (c) 2008 Paolo Bonzini <bonzini@gnu.org>
++#
++#   Copying and distribution of this file, with or without modification, are
++#   permitted in any medium without royalty provided the copyright notice
++#   and this notice are preserved. This file is offered as-is, without any
++#   warranty.
++
++#serial 9
++
++AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
++AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
++AC_REQUIRE([AC_PROG_CC])dnl
++AC_REQUIRE([AC_PROG_CPP])dnl
++AC_REQUIRE([AC_EXEEXT])dnl
++AC_REQUIRE([AC_CANONICAL_HOST])dnl
++
++dnl Use the standard macros, but make them use other variable names
++dnl
++pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
++pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
++pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
++pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
++pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
++pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
++pushdef([ac_cv_objext], ac_cv_build_objext)dnl
++pushdef([ac_exeext], ac_build_exeext)dnl
++pushdef([ac_objext], ac_build_objext)dnl
++pushdef([CC], CC_FOR_BUILD)dnl
++pushdef([CPP], CPP_FOR_BUILD)dnl
++pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
++pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
++pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
++pushdef([host], build)dnl
++pushdef([host_alias], build_alias)dnl
++pushdef([host_cpu], build_cpu)dnl
++pushdef([host_vendor], build_vendor)dnl
++pushdef([host_os], build_os)dnl
++pushdef([ac_cv_host], ac_cv_build)dnl
++pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
++pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
++pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
++pushdef([ac_cv_host_os], ac_cv_build_os)dnl
++pushdef([ac_cpp], ac_build_cpp)dnl
++pushdef([ac_compile], ac_build_compile)dnl
++pushdef([ac_link], ac_build_link)dnl
++
++save_cross_compiling=$cross_compiling
++save_ac_tool_prefix=$ac_tool_prefix
++cross_compiling=no
++ac_tool_prefix=
++
++AC_PROG_CC
++AC_PROG_CPP
++AC_EXEEXT
++
++ac_tool_prefix=$save_ac_tool_prefix
++cross_compiling=$save_cross_compiling
++
++dnl Restore the old definitions
++dnl
++popdef([ac_link])dnl
++popdef([ac_compile])dnl
++popdef([ac_cpp])dnl
++popdef([ac_cv_host_os])dnl
++popdef([ac_cv_host_vendor])dnl
++popdef([ac_cv_host_cpu])dnl
++popdef([ac_cv_host_alias])dnl
++popdef([ac_cv_host])dnl
++popdef([host_os])dnl
++popdef([host_vendor])dnl
++popdef([host_cpu])dnl
++popdef([host_alias])dnl
++popdef([host])dnl
++popdef([LDFLAGS])dnl
++popdef([CPPFLAGS])dnl
++popdef([CFLAGS])dnl
++popdef([CPP])dnl
++popdef([CC])dnl
++popdef([ac_objext])dnl
++popdef([ac_exeext])dnl
++popdef([ac_cv_objext])dnl
++popdef([ac_cv_exeext])dnl
++popdef([ac_cv_prog_cc_g])dnl
++popdef([ac_cv_prog_cc_cross])dnl
++popdef([ac_cv_prog_cc_works])dnl
++popdef([ac_cv_prog_gcc])dnl
++popdef([ac_cv_prog_CPP])dnl
++
++dnl Finally, set Makefile variables
++dnl
++BUILD_EXEEXT=$ac_build_exeext
++BUILD_OBJEXT=$ac_build_objext
++AC_SUBST(BUILD_EXEEXT)dnl
++AC_SUBST(BUILD_OBJEXT)dnl
++AC_SUBST([CFLAGS_FOR_BUILD])dnl
++AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
++AC_SUBST([LDFLAGS_FOR_BUILD])dnl
++])
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/comerr/Makefile.in openafs-1.8.2.new/src/comerr/Makefile.in
+--- openafs-1.8.2/src/comerr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/comerr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -38,11 +38,14 @@
+ compile_et:	compile_et.o error_table.o
+ 	$(Q)case $(SYS_NAME) in \
+ 	*_linux* | *_umlinux* | *_darwin* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build $(buildtool_roken) $(MT_LIBS);; \
+ 	* ) \
+-	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr -ll $(buildtool_roken) $(MT_LIBS);; \
++	$(LT_LDRULE_static_NOQ) compile_et.o error_table.o -L${TOP_LIBDIR} -lopr_build -ll $(buildtool_roken) $(MT_LIBS);; \
+ 	esac
+ 
++compile_et compile_et.o error_table.o: CC=$(CC_FOR_BUILD)
++compile_et compile_et.o error_table.o: LD=$(CC_FOR_BUILD)
++
+ libafscom_err.a: $(LT_objs)
+ 	$(LT_LDLIB_lwp) $(LT_objs)
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/config/Makefile.in openafs-1.8.2.new/src/config/Makefile.in
+--- openafs-1.8.2/src/config/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/config/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -54,6 +54,8 @@
+ 
+ config.o: config.c AFS_component_version_number.c
+ 
++config mkvers config.o mc.o: CC=$(CC_FOR_BUILD)
++
+ #
+ # Include installation targets
+ #
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/opr/Makefile.in openafs-1.8.2.new/src/opr/Makefile.in
+--- openafs-1.8.2/src/opr/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/opr/Makefile.in	2018-10-16 15:48:19.678898925 +0200
+@@ -21,7 +21,7 @@
+ 	  $(TOP_INCDIR)/opr/time.h \
+ 	  $(TOP_INCDIR)/opr/uuid.h
+ 
+-all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a
++all: $(HEADERS) liboafs_opr.la $(TOP_LIBDIR)/libopr_pic.a $(TOP_LIBDIR)/libopr.a $(TOP_LIBDIR)/libopr_build.a
+ 
+ liboafs_opr.la: liboafs_opr.la.sym $(LT_objs) $(LT_deps)
+ 	$(LT_LDLIB_shlib) $(LT_objs) $(LT_deps) $(LT_libs)
+@@ -29,12 +29,26 @@
+ libopr.a: $(LT_objs)
+ 	$(LT_LDLIB_static) $(LT_objs)
+ 
++LT_objs_build = $(patsubst %.lo, %_build.lo, $(LT_objs))
++
++%_build.lo: %.c
++	$(LT_CCRULE) $<
++
++libopr_build.a: $(LT_objs_build)
++	$(LT_LDLIB_static) $(LT_objs_build)
++
++libopr_build.a $(LT_objs_build): CC=$(CC_FOR_BUILD)
++libopr_build.a $(LT_objs_build): LD=$(CC_FOR_BUILD)
++
+ libopr_pic.la: $(LT_objs)
+ 	$(LT_LDLIB_pic) $(LT_objs)
+ 
+ $(TOP_LIBDIR)/libopr.a: libopr.a
+ 	$(INSTALL_DATA) libopr.a $@
+ 
++$(TOP_LIBDIR)/libopr_build.a: libopr_build.a
++	$(INSTALL_DATA) libopr_build.a $@
++
+ $(TOP_LIBDIR)/libopr_pic.a: libopr_pic.la
+ 	$(INSTALL_DATA) .libs/libopr_pic.a $@
+ 
+diff -Nur --unidirectional-new-file openafs-1.8.2/src/rxgen/Makefile.in openafs-1.8.2.new/src/rxgen/Makefile.in
+--- openafs-1.8.2/src/rxgen/Makefile.in	2018-09-11 17:52:48.000000000 +0200
++++ openafs-1.8.2.new/src/rxgen/Makefile.in	2018-10-16 15:48:19.677898926 +0200
+@@ -25,6 +25,8 @@
+ 
+ CFLAGS_rpc_main.o= -DPATH_CPP="\"$(PATH_CPP)\""
+ 
++rxgen $(OBJS): CC=$(CC_FOR_BUILD)
++
+ #
+ # Install targets
+ #
diff --git a/pkgs/servers/openafs/1.8/default.nix b/pkgs/servers/openafs/1.8/default.nix
index fc6b1bc2426b..c77bef6ad24e 100644
--- a/pkgs/servers/openafs/1.8/default.nix
+++ b/pkgs/servers/openafs/1.8/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, which, autoconf, automake, flex, yacc
-, glibc, perl, kerberos, libxslt, docbook_xsl, docbook_xml_dtd_43
-, libtool_2, removeReferencesTo
+{ stdenv, buildPackages, fetchurl, which, autoconf, automake, flex
+, yacc , glibc, perl, kerberos, libxslt, docbook_xsl
+, docbook_xml_dtd_43 , libtool_2, removeReferencesTo
 , ncurses # Extra ncurses utilities. Only needed for debugging.
 , tsmbac ? null # Tivoli Storage Manager Backup Client from IBM
 }:
@@ -11,12 +11,13 @@ stdenv.mkDerivation rec {
   name = "openafs-${version}";
   inherit version srcs;
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoconf automake flex libxslt libtool_2 perl
     removeReferencesTo which yacc ];
 
   buildInputs = [ kerberos ncurses ];
 
-  patches = [ ./bosserver.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
+  patches = [ ./bosserver.patch ./cross-build.patch ] ++ stdenv.lib.optional (tsmbac != null) ./tsmbac.patch;
 
   outputs = [ "out" "dev" "man" "doc" "server" ];
 
@@ -27,6 +28,9 @@ stdenv.mkDerivation rec {
   # Makefiles don't include install targets for all new shared libs, yet.
   dontDisableStatic = true;
 
+  # Fixes broken format string in 1.8.2
+  hardeningDisable=[ "format" ];
+
   preConfigure = ''
     patchShebangs .
     for i in `grep -l -R '/usr/\(include\|src\)' .`; do
diff --git a/pkgs/servers/openafs/1.8/module.nix b/pkgs/servers/openafs/1.8/module.nix
index cfd9f0561e99..958fcd578c2b 100644
--- a/pkgs/servers/openafs/1.8/module.nix
+++ b/pkgs/servers/openafs/1.8/module.nix
@@ -8,7 +8,7 @@ let
   kernelBuildDir = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
 
 in stdenv.mkDerivation rec {
-  name = "openafs-${version}-${kernel.version}";
+  name = "openafs-${version}-${kernel.modDirVersion}";
   inherit version src;
 
   nativeBuildInputs = [ autoconf automake flex libtool_2 perl which yacc ]
@@ -54,9 +54,7 @@ in stdenv.mkDerivation rec {
     license = licenses.ipl10;
     platforms = platforms.linux;
     maintainers = [ maintainers.z77z maintainers.spacefrogg ];
-    broken = (versionOlder kernel.version "3.18") ||
-             (versionAtLeast kernel.version "4.18") ||
-             stdenv.targetPlatform.isAarch64;
+    broken = versionOlder kernel.version "3.18";
   };
 
 }
diff --git a/pkgs/servers/openafs/1.8/srcs.nix b/pkgs/servers/openafs/1.8/srcs.nix
index e51504528999..ffdbe47220d7 100644
--- a/pkgs/servers/openafs/1.8/srcs.nix
+++ b/pkgs/servers/openafs/1.8/srcs.nix
@@ -1,14 +1,14 @@
 { fetchurl }:
 rec {
-  version = "1.8.0";
+  version = "1.8.2";
   src = fetchurl {
     url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-src.tar.bz2";
-    sha256 = "63fae6b3a4339e4a40945fae1afb9b99a5e7f8e8dbde668938ab8c4ff569fd7d";
+    sha256 = "13hksffp7k5f89c9lc5g5b1q0pc9h7wyarq3sjyjqam7c513xz95";
   };
 
   srcs = [ src
     (fetchurl {
       url = "http://www.openafs.org/dl/openafs/${version}/openafs-${version}-doc.tar.bz2";
-      sha256 = "e26f3bb399f524b4978543eb3ec169fd58f2d409cf4bc22c75c65fb9b09f12e8";
+      sha256 = "09n8nymrhpyb0fhahpln2spzhy9pn48hvry35ccqif2jd4wsxdmr";
     })];
 }
diff --git a/pkgs/servers/openxpki/default.nix b/pkgs/servers/openxpki/default.nix
index ccfbbd60903b..2b1000d0d851 100644
--- a/pkgs/servers/openxpki/default.nix
+++ b/pkgs/servers/openxpki/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, buildPerlPackage, fetchgit, perl, openssl, perlPackages, gettext, python3Packages
+{ stdenv, fetchgit, perl, openssl, perlPackages, gettext, python3Packages
 # TODO: Remove extra dependencies once it is clear that they are NOT needed somewhere.
 , extraDependencies1 ? false, extraDependencies2 ? false, extraDependencies3 ? false }:
 
-buildPerlPackage {
+perlPackages.buildPerlPackage {
   name = "openxpki-git20150807";
 
   src = fetchgit {
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index f0f89c3f0fa0..b562df681a06 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -37,6 +37,7 @@ in stdenv.mkDerivation rec {
     # Now we need to patch up the executables and libraries to work on Nix.
     # Side note: PLEASE don't put spaces in your binary names. This is stupid.
     for bin in "Plex Media Server"              \
+               "Plex Commercial Skipper"        \
                "Plex DLNA Server"               \
                "Plex Media Scanner"             \
                "Plex Relay"                     \
diff --git a/pkgs/servers/samba/4.x.nix b/pkgs/servers/samba/4.x.nix
index 385674c12a86..032d2cb0855b 100644
--- a/pkgs/servers/samba/4.x.nix
+++ b/pkgs/servers/samba/4.x.nix
@@ -22,11 +22,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "samba-${version}";
-  version = "4.7.9";
+  version = "4.7.10";
 
   src = fetchurl {
     url = "mirror://samba/pub/samba/stable/${name}.tar.gz";
-    sha256 = "1v0pd2k4rfdzcqbzb3g5gjiy8rwqamppwzwy5swz4x5rxyr5567c";
+    sha256 = "0w5y6a7kiw5ap7hd84yglzk7cjax6lxlszd0wz1sxnmqx4a6hn9l";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix
index cf0fddd6699b..fe14f0f33c81 100644
--- a/pkgs/servers/slimserver/default.nix
+++ b/pkgs/servers/slimserver/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, buildPerlPackage, fetchurl, fetchpatch, makeWrapper
+{ stdenv, fetchurl, fetchpatch, makeWrapper
 , perl, perlPackages, flac, faad2, sox, lame, monkeysAudio, wavpack }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "slimserver-${version}";
   version = "7.9.1";
 
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index b7793c1ac56f..d2a4406a9730 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -180,11 +180,11 @@ everything = stdenv.mkDerivation (common // {
 
 connector-c = stdenv.mkDerivation rec {
   name = "mariadb-connector-c-${version}";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchurl {
     url = "https://downloads.mariadb.org/interstitial/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz/from/http%3A//nyc2.mirrors.digitalocean.com/mariadb/";
-    sha256 = "15iy5iqp0njbwbn086x2dq8qnbkaci7ydvi84cf5z8fxvljis9vb";
+    sha256 = "13izi35vvxhiwl2dsnqrz75ciisy2s2k30giv7hrm01qlwnmiycl";
     name   = "mariadb-connector-c-${version}-src.tar.gz";
   };
 
diff --git a/pkgs/servers/sql/postgresql/jdbc/default.nix b/pkgs/servers/sql/postgresql/jdbc/default.nix
index 62ebf6b44533..c67d72705482 100644
--- a/pkgs/servers/sql/postgresql/jdbc/default.nix
+++ b/pkgs/servers/sql/postgresql/jdbc/default.nix
@@ -2,25 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "postgresql-jdbc-${version}";
-  version = "42.2.2";
+  version = "42.2.5";
 
   src = fetchMavenArtifact {
     artifactId = "postgresql";
     groupId = "org.postgresql";
-    sha256 = "0w7sfi1gmzqhyhr4iq9znv8hff41xwwqcblkyd9ph0m34r0555hr";
+    sha256 = "1p0cbb7ka41xxipzjy81hmcndkqynav22xyipkg7qdqrqvw4dykz";
     inherit version;
   };
 
   phases = [ "installPhase" ];
 
   installPhase = ''
-    install -D $src/share/java/*_postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
+    install -m444 -D $src/share/java/*postgresql-${version}.jar $out/share/java/postgresql-jdbc.jar
   '';
 
   meta = with stdenv.lib; {
     homepage = https://jdbc.postgresql.org/;
     description = "JDBC driver for PostgreSQL allowing Java programs to connect to a PostgreSQL database";
-    license = licenses.bsd3;
+    license = licenses.bsd2;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/sql/postgresql/pg_cron/default.nix b/pkgs/servers/sql/postgresql/pg_cron/default.nix
index c5a7a40546ef..959c2c382524 100644
--- a/pkgs/servers/sql/postgresql/pg_cron/default.nix
+++ b/pkgs/servers/sql/postgresql/pg_cron/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "pg_cron-${version}";
-  version = "1.0.2";
+  version = "1.1.2";
 
   buildInputs = [ postgresql ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner  = "citusdata";
     repo   = "pg_cron";
     rev    = "refs/tags/v${version}";
-    sha256 = "0z743bbal9j0pvqskznfj0zvjsqvdl7p90d4fdrl0sc0crc3nvyx";
+    sha256 = "0n74dx1wkg9qxvjhnx03028465ap3p97v2kzqww833dws1wqk5m1";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/sql/sqlite/jdbc/default.nix b/pkgs/servers/sql/sqlite/jdbc/default.nix
index 5b0425c410fc..4e40d8761526 100644
--- a/pkgs/servers/sql/sqlite/jdbc/default.nix
+++ b/pkgs/servers/sql/sqlite/jdbc/default.nix
@@ -1,25 +1,28 @@
-{ lib, stdenv, fetchurl }:
+{ stdenv, fetchMavenArtifact }:
 
 stdenv.mkDerivation rec {
-  version = "3.20.0";
   pname = "sqlite-jdbc";
   name = "${pname}-${version}";
+  version = "3.25.2";
 
-  src = fetchurl {
-    url = "https://bitbucket.org/xerial/${pname}/downloads/${name}.jar";
-    sha256 = "0wxfxnq2ghiwy2mwz3rljgmy1lciafhrw80lprvqz6iw8l51qfql";
+  src = fetchMavenArtifact {
+    groupId = "org.xerial";
+    artifactId = "sqlite-jdbc";
+    inherit version;
+    sha256 = "1xk5fi2wzq3jspvbdm5hvs78501i14jy3v7x6fjnh5fnpqdacpd4";
   };
 
   phases = [ "installPhase" ];
 
   installPhase = ''
-    install -D "${src}" "$out/share/java/${name}.jar"
+    install -m444 -D ${src}/share/java/*${name}.jar "$out/share/java/${name}.jar"
   '';
 
-  meta = with lib; {
+  meta = with stdenv.lib; {
     homepage = "https://github.com/xerial/sqlite-jdbc";
-    description = "SQLite JDBC Driver";
+    description = "Library for accessing and creating SQLite database files in Java";
     license = licenses.asl20;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ jraygauthier ];
   };
 }
diff --git a/pkgs/servers/trezord/default.nix b/pkgs/servers/trezord/default.nix
index 9869da95a048..86fe1d7b008c 100644
--- a/pkgs/servers/trezord/default.nix
+++ b/pkgs/servers/trezord/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "trezord-go-${version}";
-  version = "2.0.19";
+  version = "2.0.24";
 
   # Fixes Cgo related build failures (see https://github.com/NixOS/nixpkgs/issues/25959 )
   hardeningDisable = [ "fortify" ];
@@ -13,7 +13,7 @@ buildGoPackage rec {
     owner  = "trezor";
     repo   = "trezord-go";
     rev    = "v${version}";
-    sha256 = "19am5zs2mx36w2f8b5001i1sg6v72y1nq5cagnw6rza8qxyw83qs";
+    sha256 = "1fl2d57qqrrwl995w4b2d57rvl2cxxy6afjmcp648hhb3dnmp7c3";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/uhub/default.nix b/pkgs/servers/uhub/default.nix
index 87d0a0ee4553..52866784faa9 100644
--- a/pkgs/servers/uhub/default.nix
+++ b/pkgs/servers/uhub/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, openssl, sqlite, pkgconfig, systemd
+{ stdenv, fetchpatch, fetchFromGitHub, cmake, openssl, sqlite, pkgconfig, systemd
 , tlsSupport ? false }:
 
 assert tlsSupport -> openssl != null;
@@ -7,9 +7,11 @@ stdenv.mkDerivation rec {
   name = "uhub-${version}";
   version = "0.5.0";
 
-  src = fetchurl {
-    url = "https://www.extatic.org/downloads/uhub/uhub-${version}-src.tar.bz2";
-    sha256 = "1xcqjz20lxikzn96f4f69mqyl9y985h9g0gyc9f7ckj18q22b5j5";
+  src = fetchFromGitHub {
+    owner = "janvidar";
+    repo = "uhub";
+    rev = version;
+    sha256 = "0zdbxfvw7apmfhqgsfkfp4pn9iflzwdn0zwvzymm5inswfc00pxg";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -20,6 +22,7 @@ stdenv.mkDerivation rec {
     "mod_welcome"
     "mod_logging"
     "mod_auth_simple"
+    "mod_auth_sqlite"
     "mod_chat_history"
     "mod_chat_only"
     "mod_topic"
@@ -28,9 +31,14 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./plugin-dir.patch
+    # fix aarch64 build: https://github.com/janvidar/uhub/issues/46
+    (fetchpatch {
+      url = "https://github.com/janvidar/uhub/pull/47.patch";
+      sha256 = "07yik6za89ar5bxm7m2183i7f6hfbawbxvd4vs02n1zr2fgfxmiq";
+    })
 
     # Fixed compilation on systemd > 210
-    (fetchurl {
+    (fetchpatch {
       url = "https://github.com/janvidar/uhub/commit/70f2a43f676cdda5961950a8d9a21e12d34993f8.diff";
       sha256 = "1jp8fvw6f9jh0sdjml9mahkk6p6b96p6rzg2y601mnnbcdj8y8xp";
     })
diff --git a/pkgs/servers/uhub/plugin-dir.patch b/pkgs/servers/uhub/plugin-dir.patch
index 01cbcbb31cf3..d29d600425ff 100644
--- a/pkgs/servers/uhub/plugin-dir.patch
+++ b/pkgs/servers/uhub/plugin-dir.patch
@@ -7,7 +7,7 @@
 -	install( TARGETS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_history_sqlite mod_chat_only mod_topic mod_no_guest_downloads DESTINATION /usr/lib/uhub/ OPTIONAL )
 -	install( FILES ${CMAKE_SOURCE_DIR}/doc/uhub.conf ${CMAKE_SOURCE_DIR}/doc/plugins.conf ${CMAKE_SOURCE_DIR}/doc/rules.txt ${CMAKE_SOURCE_DIR}/doc/motd.txt DESTINATION /etc/uhub OPTIONAL )
 +
-+    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
++    set( PLUGINS mod_example mod_welcome mod_logging mod_auth_simple mod_auth_sqlite mod_chat_history mod_chat_only mod_topic mod_no_guest_downloads )
 +
 +    foreach( PLUGIN ${PLUGINS} )
 +        install( TARGETS ${PLUGIN} DESTINATION $ENV{${PLUGIN}} OPTIONAL )
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index ae7dd9805776..fd1787d4c99d 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -49,13 +49,9 @@ in rec {
   };
 
   unifiStable = generic {
-    version = "5.8.30";
-    sha256  = "051cx1y51xmhvd3s8zbmknrcjdi46mj4yf1rlnngzr77rj77sqvi";
-  };
-
-  unifiTesting = generic {
     version = "5.9.29";
-    suffix  = "-04b5d20997";
     sha256  = "0djdjh7lwaa5nvhvz2yh6dn07iad5nq4jpab7rc909sljl6wvwvx";
   };
+
+  unifiTesting = unifiStable;
 }
diff --git a/pkgs/servers/varnish/default.nix b/pkgs/servers/varnish/default.nix
index 4d8841fad318..7517560a521c 100644
--- a/pkgs/servers/varnish/default.nix
+++ b/pkgs/servers/varnish/default.nix
@@ -2,7 +2,7 @@
 , python2, makeWrapper }:
 
 let
-  common = { version, sha256 }:
+  common = { version, sha256, extraBuildInputs ? [] }:
     stdenv.mkDerivation rec {
       name = "varnish-${version}";
 
@@ -15,7 +15,7 @@ let
       buildInputs = [
         pcre libxslt groff ncurses readline python2 libedit
         python2.pkgs.docutils makeWrapper
-      ];
+      ] ++ extraBuildInputs;
 
       buildFlags = "localstatedir=/var/spool";
 
@@ -39,15 +39,16 @@ let
 in
 {
   varnish4 = common {
-    version = "4.1.9";
-    sha256 = "11zwyasz2fn9qxc87r175wb5ba7388sd79mlygjmqn3yv2m89n12";
+    version = "4.1.10";
+    sha256 = "08kwx0il6cqxsx3897042plh1yxjaanbaqjbspfl0xgvyvxk6j1n";
   };
   varnish5 = common {
     version = "5.2.1";
     sha256 = "1cqlj12m426c1lak1hr1fx5zcfsjjvka3hfirz47hvy1g2fjqidq";
   };
   varnish6 = common {
-    version = "6.0.1";
-    sha256 = "1f7k751r31sgfvr1ns6s3h48c5x06kkps1p6zd40wvylm56qxwj7";
+    version = "6.1.0";
+    sha256 = "0zg2aqkg7a4zsjpxj0s7mphxv5f9xy279hjwln30h901k18r46qn";
+    extraBuildInputs = [ python2.pkgs.sphinx ];
   };
 }
diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix
index b06f41226ed1..c53bd9121728 100644
--- a/pkgs/servers/x11/xorg/default.nix
+++ b/pkgs/servers/x11/xorg/default.nix
@@ -1,2771 +1,3019 @@
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
-, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
-, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
+{ lib, newScope, pixman }:
 
-let
-
-  mkDerivation = name: attrs:
-    let newAttrs = (overrides."${name}" or (x: x)) attrs;
-        stdenv = newAttrs.stdenv or args.stdenv;
-      in stdenv.mkDerivation ((removeAttrs newAttrs [ "stdenv" ]) // {
-        hardeningDisable = [ "bindnow" "relro" ];
-      });
-
-  overrides = import ./overrides.nix {inherit args xorg;};
-
-  xorg = rec {
+lib.makeScope newScope (self: with self; {
 
   inherit pixman;
 
-  applewmproto = (mkDerivation "applewmproto" {
+  applewmproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "applewmproto-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/applewmproto-1.4.2.tar.bz2;
       sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  appres = (mkDerivation "appres" {
+  appres = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXt }: stdenv.mkDerivation {
     name = "appres-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/appres-1.0.4.tar.bz2;
       sha256 = "139yp08qy1w6dccamdy0fh343yhaf1am1v81m2j435nd4ya4wqcz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXt ;};
+  }) {};
 
-  bdftopcf = (mkDerivation "bdftopcf" {
+  bdftopcf = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "bdftopcf-1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2;
       sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  bigreqsproto = (mkDerivation "bigreqsproto" {
+  bigreqsproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "bigreqsproto-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/bigreqsproto-1.1.2.tar.bz2;
       sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  bitmap = (mkDerivation "bitmap" {
+  bitmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, xbitmaps, libXmu, xproto, libXt }: stdenv.mkDerivation {
     name = "bitmap-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/bitmap-1.0.8.tar.gz;
       sha256 = "1z06a1sn3iq72rmh73f11xgb7n46bdav1fvpgczxjp6al88bsbqs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw xbitmaps libXmu xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw xbitmaps libXmu xproto libXt ;};
+  }) {};
 
-  compositeproto = (mkDerivation "compositeproto" {
+  compositeproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "compositeproto-0.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/compositeproto-0.4.2.tar.bz2;
       sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  damageproto = (mkDerivation "damageproto" {
+  damageproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "damageproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/damageproto-1.2.1.tar.bz2;
       sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dmxproto = (mkDerivation "dmxproto" {
+  dmxproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dmxproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/dmxproto-2.3.1.tar.bz2;
       sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dri2proto = (mkDerivation "dri2proto" {
+  dri2proto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dri2proto-2.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/dri2proto-2.8.tar.bz2;
       sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  dri3proto = (mkDerivation "dri3proto" {
+  dri3proto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "dri3proto-1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/dri3proto-1.0.tar.bz2;
       sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  encodings = (mkDerivation "encodings" {
+  encodings = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "encodings-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/encodings-1.0.4.tar.bz2;
       sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fixesproto = (mkDerivation "fixesproto" {
+  fixesproto = callPackage ({ stdenv, pkgconfig, fetchurl, xextproto }: stdenv.mkDerivation {
     name = "fixesproto-5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/fixesproto-5.0.tar.bz2;
       sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xextproto ;};
+  }) {};
 
-  fontadobe100dpi = (mkDerivation "fontadobe100dpi" {
+  fontadobe100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-1.0.3.tar.bz2;
       sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobe75dpi = (mkDerivation "fontadobe75dpi" {
+  fontadobe75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-1.0.3.tar.bz2;
       sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" {
+  fontadobeutopia100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-100dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-1.0.4.tar.bz2;
       sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" {
+  fontadobeutopia75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-75dpi-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-1.0.4.tar.bz2;
       sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" {
+  fontadobeutopiatype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-adobe-utopia-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-1.0.4.tar.bz2;
       sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontalias = (mkDerivation "fontalias" {
+  fontalias = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "font-alias-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-alias-1.0.3.tar.bz2;
       sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontarabicmisc = (mkDerivation "fontarabicmisc" {
+  fontarabicmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-arabic-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-arabic-misc-1.0.3.tar.bz2;
       sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbh100dpi = (mkDerivation "fontbh100dpi" {
+  fontbh100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-1.0.3.tar.bz2;
       sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbh75dpi = (mkDerivation "fontbh75dpi" {
+  fontbh75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-1.0.3.tar.bz2;
       sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" {
+  fontbhlucidatypewriter100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-lucidatypewriter-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2;
       sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" {
+  fontbhlucidatypewriter75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-lucidatypewriter-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2;
       sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhttf = (mkDerivation "fontbhttf" {
+  fontbhttf = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-ttf-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-ttf-1.0.3.tar.bz2;
       sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbhtype1 = (mkDerivation "fontbhtype1" {
+  fontbhtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bh-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bh-type1-1.0.3.tar.bz2;
       sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" {
+  fontbitstream100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-bitstream-100dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-100dpi-1.0.3.tar.bz2;
       sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" {
+  fontbitstream75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-bitstream-75dpi-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-75dpi-1.0.3.tar.bz2;
       sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" {
+  fontbitstreamtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-bitstream-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-bitstream-type1-1.0.3.tar.bz2;
       sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" {
+  fontcronyxcyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-cronyx-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-1.0.3.tar.bz2;
       sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontcursormisc = (mkDerivation "fontcursormisc" {
+  fontcursormisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-cursor-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-cursor-misc-1.0.3.tar.bz2;
       sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontdaewoomisc = (mkDerivation "fontdaewoomisc" {
+  fontdaewoomisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-daewoo-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-1.0.3.tar.bz2;
       sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontdecmisc = (mkDerivation "fontdecmisc" {
+  fontdecmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-dec-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-dec-misc-1.0.3.tar.bz2;
       sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontibmtype1 = (mkDerivation "fontibmtype1" {
+  fontibmtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-ibm-type1-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-ibm-type1-1.0.3.tar.bz2;
       sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontisasmisc = (mkDerivation "fontisasmisc" {
+  fontisasmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-isas-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-isas-misc-1.0.3.tar.bz2;
       sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontjismisc = (mkDerivation "fontjismisc" {
+  fontjismisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-jis-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-jis-misc-1.0.3.tar.bz2;
       sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmicromisc = (mkDerivation "fontmicromisc" {
+  fontmicromisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-micro-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-micro-misc-1.0.3.tar.bz2;
       sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmisccyrillic = (mkDerivation "fontmisccyrillic" {
+  fontmisccyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-misc-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-1.0.3.tar.bz2;
       sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontmiscethiopic = (mkDerivation "fontmiscethiopic" {
+  fontmiscethiopic = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-ethiopic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-1.0.3.tar.bz2;
       sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmiscmeltho = (mkDerivation "fontmiscmeltho" {
+  fontmiscmeltho = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-meltho-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-meltho-1.0.3.tar.bz2;
       sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmiscmisc = (mkDerivation "fontmiscmisc" {
+  fontmiscmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-misc-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-misc-misc-1.1.2.tar.bz2;
       sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontmuttmisc = (mkDerivation "fontmuttmisc" {
+  fontmuttmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-mutt-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-mutt-misc-1.0.3.tar.bz2;
       sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontschumachermisc = (mkDerivation "fontschumachermisc" {
+  fontschumachermisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-schumacher-misc-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-1.1.2.tar.bz2;
       sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf fontutil mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;};
+  }) {};
 
-  fontscreencyrillic = (mkDerivation "fontscreencyrillic" {
+  fontscreencyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-screen-cyrillic-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-1.0.4.tar.bz2;
       sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontsonymisc = (mkDerivation "fontsonymisc" {
+  fontsonymisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-sony-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-sony-misc-1.0.3.tar.bz2;
       sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontsproto = (mkDerivation "fontsproto" {
+  fontsproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "fontsproto-2.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/fontsproto-2.1.3.tar.bz2;
       sha256 = "1f2sdsd74y34nnaf4m1zlcbhyv8xb6irnisc99f84c4ivnq4d415";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontsunmisc = (mkDerivation "fontsunmisc" {
+  fontsunmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-sun-misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-sun-misc-1.0.3.tar.bz2;
       sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontutil = (mkDerivation "fontutil" {
+  fontutil = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "font-util-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/font/font-util-1.3.1.tar.bz2;
       sha256 = "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" {
+  fontwinitzkicyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontdir }: stdenv.mkDerivation {
     name = "font-winitzki-cyrillic-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-1.0.3.tar.bz2;
       sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ bdftopcf mkfontdir ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ bdftopcf mkfontdir ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit bdftopcf mkfontdir ;};
+  }) {};
 
-  fontxfree86type1 = (mkDerivation "fontxfree86type1" {
+  fontxfree86type1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontdir, mkfontscale }: stdenv.mkDerivation {
     name = "font-xfree86-type1-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-1.0.4.tar.bz2;
       sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ mkfontdir mkfontscale ]; configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
+    buildInputs = [ mkfontdir mkfontscale ];
+    configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit mkfontdir mkfontscale ;};
+  }) {};
 
-  gccmakedep = (mkDerivation "gccmakedep" {
+  gccmakedep = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "gccmakedep-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2;
       sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  glproto = (mkDerivation "glproto" {
+  glproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "glproto-1.4.17";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/glproto-1.4.17.tar.bz2;
       sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  iceauth = (mkDerivation "iceauth" {
+  iceauth = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, xproto }: stdenv.mkDerivation {
     name = "iceauth-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/iceauth-1.0.7.tar.bz2;
       sha256 = "02izdyzhwpgiyjd8brzilwvwnfr72ncjb6mzz3y1icwrxqnsy5hj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE xproto ;};
+  }) {};
 
-  imake = (mkDerivation "imake" {
+  imake = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "imake-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/imake-1.0.7.tar.bz2;
       sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  inputproto = (mkDerivation "inputproto" {
+  inputproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "inputproto-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/inputproto-2.3.2.tar.bz2;
       sha256 = "07gk7v006zqn3dcfh16l06gnccy7xnqywf3vl9c209ikazsnlfl9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  kbproto = (mkDerivation "kbproto" {
+  kbproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "kbproto-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/kbproto-1.0.7.tar.bz2;
       sha256 = "0mxqj1pzhjpz9495vrjnpi10kv2n1s4vs7di0sh3yvipfq5j30pq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  libAppleWM = (mkDerivation "libAppleWM" {
+  libAppleWM = callPackage ({ stdenv, pkgconfig, fetchurl, applewmproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libAppleWM-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libAppleWM-1.4.1.tar.bz2;
       sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ applewmproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit applewmproto libX11 libXext xextproto ;};
+  }) {};
 
-  libFS = (mkDerivation "libFS" {
+  libFS = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, xproto, xtrans }: stdenv.mkDerivation {
     name = "libFS-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libFS-1.0.7.tar.bz2;
       sha256 = "1wy4km3qwwajbyl8y9pka0zwizn7d9pfiyjgzba02x3a083lr79f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto xproto xtrans ;};
+  }) {};
 
-  libICE = (mkDerivation "libICE" {
+  libICE = callPackage ({ stdenv, pkgconfig, fetchurl, xproto, xtrans }: stdenv.mkDerivation {
     name = "libICE-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2;
       sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto xtrans ;};
+  }) {};
 
-  libSM = (mkDerivation "libSM" {
+  libSM = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libuuid, xproto, xtrans }: stdenv.mkDerivation {
     name = "libSM-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libSM-1.2.2.tar.bz2;
       sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libuuid xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libuuid xproto xtrans ;};
+  }) {};
 
-  libWindowsWM = (mkDerivation "libWindowsWM" {
+  libWindowsWM = callPackage ({ stdenv, pkgconfig, fetchurl, windowswmproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libWindowsWM-1.0.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libWindowsWM-1.0.1.tar.bz2;
       sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ windowswmproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit windowswmproto libX11 libXext xextproto ;};
+  }) {};
 
-  libX11 = (mkDerivation "libX11" {
+  libX11 = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, kbproto, libxcb, xextproto, xf86bigfontproto, xproto, xtrans }: stdenv.mkDerivation {
     name = "libX11-1.6.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libX11-1.6.6.tar.bz2;
       sha256 = "0ks1mxlda7nxfmffihi15ljsn50q8dknl33i2xag8xzc80fiizk5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;};
+  }) {};
 
-  libXScrnSaver = (mkDerivation "libXScrnSaver" {
+  libXScrnSaver = callPackage ({ stdenv, pkgconfig, fetchurl, scrnsaverproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libXScrnSaver-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/libXScrnSaver-1.2.2.tar.bz2;
       sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ scrnsaverproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit scrnsaverproto libX11 libXext xextproto ;};
+  }) {};
 
-  libXau = (mkDerivation "libXau" {
+  libXau = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libXau-1.0.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXau-1.0.8.tar.bz2;
       sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  libXaw = (mkDerivation "libXaw" {
+  libXaw = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, libXmu, libXpm, xproto, libXt }: stdenv.mkDerivation {
     name = "libXaw-1.0.13";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2;
       sha256 = "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto libXmu libXpm xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;};
+  }) {};
 
-  libXcomposite = (mkDerivation "libXcomposite" {
+  libXcomposite = callPackage ({ stdenv, pkgconfig, fetchurl, compositeproto, libX11, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXcomposite-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXcomposite-0.4.4.tar.bz2;
       sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ compositeproto libX11 libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit compositeproto libX11 libXfixes xproto ;};
+  }) {};
 
-  libXcursor = (mkDerivation "libXcursor" {
+  libXcursor = callPackage ({ stdenv, pkgconfig, fetchurl, fixesproto, libX11, libXfixes, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXcursor-1.1.15";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXcursor-1.1.15.tar.bz2;
       sha256 = "0syzlfvh29037p0vnlc8f3jxz8nl55k65blswsakklkwsc6nfki9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 libXfixes xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;};
+  }) {};
 
-  libXdamage = (mkDerivation "libXdamage" {
+  libXdamage = callPackage ({ stdenv, pkgconfig, fetchurl, damageproto, fixesproto, libX11, xextproto, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXdamage-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXdamage-1.1.4.tar.bz2;
       sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ damageproto fixesproto libX11 xextproto libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;};
+  }) {};
 
-  libXdmcp = (mkDerivation "libXdmcp" {
+  libXdmcp = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libXdmcp-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXdmcp-1.1.2.tar.bz2;
       sha256 = "1qp4yhxbfnpj34swa0fj635kkihdkwaiw7kf55cg5zqqg630kzl1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  libXext = (mkDerivation "libXext" {
+  libXext = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXext-1.3.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXext-1.3.3.tar.bz2;
       sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xextproto xproto ;};
+  }) {};
 
-  libXfixes = (mkDerivation "libXfixes" {
+  libXfixes = callPackage ({ stdenv, pkgconfig, fetchurl, fixesproto, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXfixes-5.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2;
       sha256 = "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fixesproto libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fixesproto libX11 xextproto xproto ;};
+  }) {};
 
-  libXfont = (mkDerivation "libXfont" {
+  libXfont = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, fontsproto, freetype, xproto, xtrans, zlib }: stdenv.mkDerivation {
     name = "libXfont-1.5.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2;
       sha256 = "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
+  }) {};
 
-  libXfont2 = (mkDerivation "libXfont2" {
+  libXfont2 = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, fontsproto, freetype, xproto, xtrans, zlib }: stdenv.mkDerivation {
     name = "libXfont2-2.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2;
       sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc fontsproto freetype xproto xtrans zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;};
+  }) {};
 
-  libXft = (mkDerivation "libXft" {
+  libXft = callPackage ({ stdenv, pkgconfig, fetchurl, fontconfig, freetype, libX11, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXft-2.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXft-2.3.2.tar.bz2;
       sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontconfig freetype libX11 xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontconfig freetype libX11 xproto libXrender ;};
+  }) {};
 
-  libXi = (mkDerivation "libXi" {
+  libXi = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXext, xextproto, libXfixes, xproto }: stdenv.mkDerivation {
     name = "libXi-1.7.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2;
       sha256 = "0idg1wc01hndvaa820fvfs7phvd1ymf0lldmq6386i7rhkzvirn2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXext xextproto libXfixes xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;};
+  }) {};
 
-  libXinerama = (mkDerivation "libXinerama" {
+  libXinerama = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xineramaproto }: stdenv.mkDerivation {
     name = "libXinerama-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2;
       sha256 = "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xineramaproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xineramaproto ;};
+  }) {};
 
-  libXmu = (mkDerivation "libXmu" {
+  libXmu = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xproto, libXt }: stdenv.mkDerivation {
     name = "libXmu-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXmu-1.1.2.tar.bz2;
       sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) {};
 
-  libXp = (mkDerivation "libXp" {
+  libXp = callPackage ({ stdenv, pkgconfig, fetchurl, printproto, libX11, libXau, libXext, xextproto }: stdenv.mkDerivation {
     name = "libXp-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2;
       sha256 = "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ printproto libX11 libXau libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit printproto libX11 libXau libXext xextproto ;};
+  }) {};
 
-  libXpm = (mkDerivation "libXpm" {
+  libXpm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xproto, libXt }: stdenv.mkDerivation {
     name = "libXpm-3.5.12";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2;
       sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xproto libXt ;};
+  }) {};
 
-  libXpresent = (mkDerivation "libXpresent" {
+  libXpresent = callPackage ({ stdenv, pkgconfig, fetchurl, presentproto, libX11, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXpresent-1.0.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2;
       sha256 = "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ presentproto libX11 xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit presentproto libX11 xextproto xproto ;};
+  }) {};
 
-  libXrandr = (mkDerivation "libXrandr" {
+  libXrandr = callPackage ({ stdenv, pkgconfig, fetchurl, randrproto, renderproto, libX11, libXext, xextproto, xproto, libXrender }: stdenv.mkDerivation {
     name = "libXrandr-1.5.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXrandr-1.5.1.tar.bz2;
       sha256 = "06pmphx8lp3iywqnh88fvbfb0d8xgkx0qpvan49akpja1vxfgy8z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ randrproto renderproto libX11 libXext xextproto xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;};
+  }) {};
 
-  libXrender = (mkDerivation "libXrender" {
+  libXrender = callPackage ({ stdenv, pkgconfig, fetchurl, renderproto, libX11, xproto }: stdenv.mkDerivation {
     name = "libXrender-0.9.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXrender-0.9.10.tar.bz2;
       sha256 = "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ renderproto libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit renderproto libX11 xproto ;};
+  }) {};
 
-  libXres = (mkDerivation "libXres" {
+  libXres = callPackage ({ stdenv, pkgconfig, fetchurl, resourceproto, libX11, libXext, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXres-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXres-1.2.0.tar.bz2;
       sha256 = "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ resourceproto libX11 libXext xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit resourceproto libX11 libXext xextproto xproto ;};
+  }) {};
 
-  libXt = (mkDerivation "libXt" {
+  libXt = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, kbproto, libSM, libX11, xproto }: stdenv.mkDerivation {
     name = "libXt-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2;
       sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE kbproto libSM libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE kbproto libSM libX11 xproto ;};
+  }) {};
 
-  libXtst = (mkDerivation "libXtst" {
+  libXtst = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, recordproto, libX11, libXext, xextproto, libXi }: stdenv.mkDerivation {
     name = "libXtst-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXtst-1.2.3.tar.bz2;
       sha256 = "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto recordproto libX11 libXext xextproto libXi ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;};
+  }) {};
 
-  libXv = (mkDerivation "libXv" {
+  libXv = callPackage ({ stdenv, pkgconfig, fetchurl, videoproto, libX11, libXext, xextproto, xproto }: stdenv.mkDerivation {
     name = "libXv-1.0.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXv-1.0.11.tar.bz2;
       sha256 = "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ videoproto libX11 libXext xextproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit videoproto libX11 libXext xextproto xproto ;};
+  }) {};
 
-  libXvMC = (mkDerivation "libXvMC" {
+  libXvMC = callPackage ({ stdenv, pkgconfig, fetchurl, videoproto, libX11, libXext, xextproto, xproto, libXv }: stdenv.mkDerivation {
     name = "libXvMC-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXvMC-1.0.10.tar.bz2;
       sha256 = "0bpffxr5dal90a8miv2w0rif61byqxq2f5angj4z1bnznmws00g5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ videoproto libX11 libXext xextproto xproto libXv ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;};
+  }) {};
 
-  libXxf86dga = (mkDerivation "libXxf86dga" {
+  libXxf86dga = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86dgaproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86dga-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86dga-1.1.4.tar.bz2;
       sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86dgaproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;};
+  }) {};
 
-  libXxf86misc = (mkDerivation "libXxf86misc" {
+  libXxf86misc = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86miscproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86misc-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86misc-1.0.3.tar.bz2;
       sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86miscproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;};
+  }) {};
 
-  libXxf86vm = (mkDerivation "libXxf86vm" {
+  libXxf86vm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xextproto, xf86vidmodeproto, xproto }: stdenv.mkDerivation {
     name = "libXxf86vm-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2;
       sha256 = "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext xextproto xf86vidmodeproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;};
+  }) {};
 
-  libdmx = (mkDerivation "libdmx" {
+  libdmx = callPackage ({ stdenv, pkgconfig, fetchurl, dmxproto, libX11, libXext, xextproto }: stdenv.mkDerivation {
     name = "libdmx-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libdmx-1.1.3.tar.bz2;
       sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dmxproto libX11 libXext xextproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dmxproto libX11 libXext xextproto ;};
+  }) {};
 
-  libfontenc = (mkDerivation "libfontenc" {
+  libfontenc = callPackage ({ stdenv, pkgconfig, fetchurl, xproto, zlib }: stdenv.mkDerivation {
     name = "libfontenc-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libfontenc-1.1.3.tar.bz2;
       sha256 = "08gxmrhgw97mv0pvkfmd46zzxrn6zdw4g27073zl55gwwqq8jn3h";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto zlib ;};
+  }) {};
 
-  libpciaccess = (mkDerivation "libpciaccess" {
+  libpciaccess = callPackage ({ stdenv, pkgconfig, fetchurl, zlib }: stdenv.mkDerivation {
     name = "libpciaccess-0.14";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2;
       sha256 = "197jbcpvp4z4x6j705mq2y4fsnnypy6f85y8xalgwhgx5bhl7x9x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit zlib ;};
+  }) {};
 
-  libpthreadstubs = (mkDerivation "libpthreadstubs" {
+  libpthreadstubs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "libpthread-stubs-0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2;
       sha256 = "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  libxcb = (mkDerivation "libxcb" {
+  libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, python, libXau, xcbproto, libXdmcp }: stdenv.mkDerivation {
     name = "libxcb-1.13.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2;
       sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxslt libpthreadstubs python libXau xcbproto libXdmcp ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;};
+  }) {};
 
-  libxkbfile = (mkDerivation "libxkbfile" {
+  libxkbfile = callPackage ({ stdenv, pkgconfig, fetchurl, kbproto, libX11 }: stdenv.mkDerivation {
     name = "libxkbfile-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libxkbfile-1.0.9.tar.bz2;
       sha256 = "0smimr14zvail7ar68n7spvpblpdnih3jxrva7cpa6cn602px0ai";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ kbproto libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit kbproto libX11 ;};
+  }) {};
 
-  libxshmfence = (mkDerivation "libxshmfence" {
+  libxshmfence = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "libxshmfence-1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/libxshmfence-1.2.tar.bz2;
       sha256 = "032b0nlkdrpbimdld4gqvhqx53rzn8fawvf1ybhzn7lcswgjs6yj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  lndir = (mkDerivation "lndir" {
+  lndir = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "lndir-1.0.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/lndir-1.0.3.tar.bz2;
       sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  luit = (mkDerivation "luit" {
+  luit = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc }: stdenv.mkDerivation {
     name = "luit-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/luit-1.1.1.tar.bz2;
       sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc ;};
+  }) {};
 
-  makedepend = (mkDerivation "makedepend" {
+  makedepend = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "makedepend-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/makedepend-1.0.5.tar.bz2;
       sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  mkfontdir = (mkDerivation "mkfontdir" {
+  mkfontdir = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "mkfontdir-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/mkfontdir-1.0.7.tar.bz2;
       sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  mkfontscale = (mkDerivation "mkfontscale" {
+  mkfontscale = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, freetype, xproto, zlib }: stdenv.mkDerivation {
     name = "mkfontscale-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/mkfontscale-1.1.2.tar.bz2;
       sha256 = "081z8lwh9c1gyrx3ad12whnpv3jpfbqsc366mswpfm48mwl54vcc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libfontenc freetype xproto zlib ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libfontenc freetype xproto zlib ;};
+  }) {};
 
-  presentproto = (mkDerivation "presentproto" {
+  presentproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "presentproto-1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/presentproto-1.1.tar.bz2;
       sha256 = "1f96dlgfwhsd0834z8ydjzjnb0cwha5r6lxgia4say4zhsl276zn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  printproto = (mkDerivation "printproto" {
+  printproto = callPackage ({ stdenv, pkgconfig, fetchurl, libXau }: stdenv.mkDerivation {
     name = "printproto-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/printproto-1.0.5.tar.bz2;
       sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXau ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXau ;};
+  }) {};
 
-  randrproto = (mkDerivation "randrproto" {
+  randrproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "randrproto-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/randrproto-1.5.0.tar.bz2;
       sha256 = "0s4496z61y5q45q20gldwpf788b9nsa8hb13gnck1mwwwwrmarsc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  recordproto = (mkDerivation "recordproto" {
+  recordproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "recordproto-1.14.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/recordproto-1.14.2.tar.bz2;
       sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  renderproto = (mkDerivation "renderproto" {
+  renderproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "renderproto-0.11.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/renderproto-0.11.1.tar.bz2;
       sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  resourceproto = (mkDerivation "resourceproto" {
+  resourceproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "resourceproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/resourceproto-1.2.0.tar.bz2;
       sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  scrnsaverproto = (mkDerivation "scrnsaverproto" {
+  scrnsaverproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "scrnsaverproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/scrnsaverproto-1.2.2.tar.bz2;
       sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  sessreg = (mkDerivation "sessreg" {
+  sessreg = callPackage ({ stdenv, pkgconfig, fetchurl, xproto }: stdenv.mkDerivation {
     name = "sessreg-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2;
       sha256 = "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xproto ;};
+  }) {};
 
-  setxkbmap = (mkDerivation "setxkbmap" {
+  setxkbmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation {
     name = "setxkbmap-1.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2;
       sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile ;};
+  }) {};
 
-  smproxy = (mkDerivation "smproxy" {
+  smproxy = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libXmu, libXt }: stdenv.mkDerivation {
     name = "smproxy-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2;
       sha256 = "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libSM libXmu libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libSM libXmu libXt ;};
+  }) {};
 
-  twm = (mkDerivation "twm" {
+  twm = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libX11, libXext, libXmu, xproto, libXt }: stdenv.mkDerivation {
     name = "twm-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/twm-1.0.9.tar.bz2;
       sha256 = "02iicvhkp3i7q5rliyymiq9bppjr0pzfs6rgb78kppryqdx1cxf5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libICE libSM libX11 libXext libXmu xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;};
+  }) {};
 
-  utilmacros = (mkDerivation "utilmacros" {
+  utilmacros = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "util-macros-1.19.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2;
       sha256 = "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  videoproto = (mkDerivation "videoproto" {
+  videoproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "videoproto-2.3.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/videoproto-2.3.3.tar.bz2;
       sha256 = "00m7rh3pwmsld4d5fpii3xfk5ciqn17kkk38gfpzrrh8zn4ki067";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  windowswmproto = (mkDerivation "windowswmproto" {
+  windowswmproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "windowswmproto-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2;
       sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  x11perf = (mkDerivation "x11perf" {
+  x11perf = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXft, libXmu, xproto, libXrender }: stdenv.mkDerivation {
     name = "x11perf-1.6.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2;
       sha256 = "0lb716yfdb8f11h4cz93d1bapqdxf1xplsb21kbp4xclq7g9hw78";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext libXft libXmu xproto libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXft libXmu xproto libXrender ;};
+  }) {};
 
-  xauth = (mkDerivation "xauth" {
+  xauth = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXext, libXmu, xproto }: stdenv.mkDerivation {
     name = "xauth-1.0.10";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xauth-1.0.10.tar.bz2;
       sha256 = "0kgwz9rmxjfdvi2syf8g0ms5rr5cgyqx4n0n1m960kyz7k745zjs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXext libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXext libXmu xproto ;};
+  }) {};
 
-  xbacklight = (mkDerivation "xbacklight" {
+  xbacklight = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb, xcbutil }: stdenv.mkDerivation {
     name = "xbacklight-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2;
       sha256 = "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb xcbutil ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb xcbutil ;};
+  }) {};
 
-  xbitmaps = (mkDerivation "xbitmaps" {
+  xbitmaps = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xbitmaps-1.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2;
       sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xcbproto = (mkDerivation "xcbproto" {
+  xcbproto = callPackage ({ stdenv, pkgconfig, fetchurl, python }: stdenv.mkDerivation {
     name = "xcb-proto-1.13";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2;
       sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ python ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit python ;};
+  }) {};
 
-  xcbutil = (mkDerivation "xcbutil" {
+  xcbutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2;
       sha256 = "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilcursor = (mkDerivation "xcbutilcursor" {
+  xcbutilcursor = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutilimage, xcbutilrenderutil, xproto }: stdenv.mkDerivation {
     name = "xcb-util-cursor-0.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2;
       sha256 = "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbutilimage xcbutilrenderutil xproto ;};
+  }) {};
 
-  xcbutilerrors = (mkDerivation "xcbutilerrors" {
+  xcbutilerrors = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbproto, xproto }: stdenv.mkDerivation {
     name = "xcb-util-errors-1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2;
       sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbproto xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbproto xproto ;};
+  }) {};
 
-  xcbutilimage = (mkDerivation "xcbutilimage" {
+  xcbutilimage = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xcbutil, xproto }: stdenv.mkDerivation {
     name = "xcb-util-image-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2;
       sha256 = "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xcbutil xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xcbutil xproto ;};
+  }) {};
 
-  xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" {
+  xcbutilkeysyms = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-keysyms-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2;
       sha256 = "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" {
+  xcbutilrenderutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-renderutil-0.3.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2;
       sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xcbutilwm = (mkDerivation "xcbutilwm" {
+  xcbutilwm = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, m4, libxcb, xproto }: stdenv.mkDerivation {
     name = "xcb-util-wm-0.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = http://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2;
       sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ gperf m4 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit gperf m4 libxcb xproto ;};
+  }) {};
 
-  xclock = (mkDerivation "xclock" {
+  xclock = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXft, libxkbfile, libXmu, xproto, libXrender, libXt }: stdenv.mkDerivation {
     name = "xclock-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xclock-1.0.7.tar.bz2;
       sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;};
+  }) {};
 
-  xcmiscproto = (mkDerivation "xcmiscproto" {
+  xcmiscproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xcmiscproto-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2;
       sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xcmsdb = (mkDerivation "xcmsdb" {
+  xcmsdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11 }: stdenv.mkDerivation {
     name = "xcmsdb-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2;
       sha256 = "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 ;};
+  }) {};
 
-  xcompmgr = (mkDerivation "xcompmgr" {
+  xcompmgr = callPackage ({ stdenv, pkgconfig, fetchurl, libXcomposite, libXdamage, libXext, libXfixes, libXrender }: stdenv.mkDerivation {
     name = "xcompmgr-1.1.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcompmgr-1.1.7.tar.bz2;
       sha256 = "14k89mz13jxgp4h2pz0yq0fbkw1lsfcb3acv8vkknc9i4ld9n168";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXcomposite libXdamage libXext libXfixes libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXcomposite libXdamage libXext libXfixes libXrender ;};
+  }) {};
 
-  xcursorgen = (mkDerivation "xcursorgen" {
+  xcursorgen = callPackage ({ stdenv, pkgconfig, fetchurl, libpng, libX11, libXcursor }: stdenv.mkDerivation {
     name = "xcursorgen-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xcursorgen-1.0.6.tar.bz2;
       sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libpng libX11 libXcursor ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libpng libX11 libXcursor ;};
+  }) {};
 
-  xcursorthemes = (mkDerivation "xcursorthemes" {
+  xcursorthemes = callPackage ({ stdenv, pkgconfig, fetchurl, libXcursor }: stdenv.mkDerivation {
     name = "xcursor-themes-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/data/xcursor-themes-1.0.4.tar.bz2;
       sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXcursor ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXcursor ;};
+  }) {};
 
-  xdm = (mkDerivation "xdm" {
+  xdm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXaw, libXdmcp, libXext, libXft, libXinerama, libXmu, libXpm, libXt }: stdenv.mkDerivation {
     name = "xdm-1.1.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdm-1.1.11.tar.bz2;
       sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;};
+  }) {};
 
-  xdpyinfo = (mkDerivation "xdpyinfo" {
+  xdpyinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libdmx, libX11, libxcb, libXcomposite, libXext, libXi, libXinerama, xproto, libXrender, libXtst, libXxf86dga, libXxf86misc, libXxf86vm }: stdenv.mkDerivation {
     name = "xdpyinfo-1.3.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2;
       sha256 = "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;};
+  }) {};
 
-  xdriinfo = (mkDerivation "xdriinfo" {
+  xdriinfo = callPackage ({ stdenv, pkgconfig, fetchurl, glproto, libX11 }: stdenv.mkDerivation {
     name = "xdriinfo-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xdriinfo-1.0.5.tar.bz2;
       sha256 = "0681d0y8liqakkpz7mmsf689jcxrvs5291r20qi78mc9xxk3gfjc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ glproto libX11 ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit glproto libX11 ;};
+  }) {};
 
-  xev = (mkDerivation "xev" {
+  xev = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXrandr }: stdenv.mkDerivation {
     name = "xev-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xev-1.2.2.tar.bz2;
       sha256 = "0krivhrxpq6719103r541xpi3i3a0y15f7ypc4lnrx8sdhmfcjnr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXrandr ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXrandr ;};
+  }) {};
 
-  xextproto = (mkDerivation "xextproto" {
+  xextproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xextproto-7.3.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xextproto-7.3.0.tar.bz2;
       sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xeyes = (mkDerivation "xeyes" {
+  xeyes = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xproto, libXrender, libXt }: stdenv.mkDerivation {
     name = "xeyes-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2;
       sha256 = "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ libX11 libXext libXmu libXrender libXt ];
+    buildInputs = [ libX11 libXext libXmu xproto libXrender libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXmu libXrender libXt ;};
+  }) {};
 
-  xf86bigfontproto = (mkDerivation "xf86bigfontproto" {
+  xf86bigfontproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86bigfontproto-1.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-1.2.0.tar.bz2;
       sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86dgaproto = (mkDerivation "xf86dgaproto" {
+  xf86dgaproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86dgaproto-2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86dgaproto-2.1.tar.bz2;
       sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86driproto = (mkDerivation "xf86driproto" {
+  xf86driproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86driproto-2.1.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86driproto-2.1.1.tar.bz2;
       sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86inputevdev = (mkDerivation "xf86inputevdev" {
+  xf86inputevdev = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, udev, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-evdev-2.10.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-evdev-2.10.5.tar.bz2;
       sha256 = "03dphgwjaxxyys8axc1kyysp6xvy9bjxicsdrhi2jvdgbchadnly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto udev xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto udev xorgserver xproto ;};
+  }) {};
 
-  xf86inputjoystick = (mkDerivation "xf86inputjoystick" {
+  xf86inputjoystick = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, kbproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-joystick-1.6.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2;
       sha256 = "1awfq496d082brgjbr60lhm6jvr9537rflwxqdfqwfzjy3n6jxly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto kbproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto kbproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" {
+  xf86inputkeyboard = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-keyboard-1.9.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2;
       sha256 = "12032yg412kyvnmc5fha1in7mpi651d8sa1bk4138s2j2zr01jgp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputlibinput = (mkDerivation "xf86inputlibinput" {
+  xf86inputlibinput = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-libinput-0.28.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.0.tar.bz2;
       sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputmouse = (mkDerivation "xf86inputmouse" {
+  xf86inputmouse = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-mouse-1.9.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.2.tar.bz2;
       sha256 = "0bsbgww9421792zan43j60mndqprhfxhc48agsi15d3abjqda9gl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" {
+  xf86inputsynaptics = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, randrproto, recordproto, libX11, libXi, xorgserver, xproto, libXtst }: stdenv.mkDerivation {
     name = "xf86-input-synaptics-1.9.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-synaptics-1.9.0.tar.bz2;
       sha256 = "0niv0w1czbxh4y3qkqbpdp5gjwhp3379inwhknhif0m4sy4k5fmg";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;};
+  }) {};
 
-  xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" {
+  xf86inputvmmouse = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, udev, randrproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-vmmouse-13.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2;
       sha256 = "06ckn4hlkpig5vnivl0zj8a7ykcgvrsj8b3iccl1pgn1gaamix8a";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto udev randrproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto udev randrproto xorgserver xproto ;};
+  }) {};
 
-  xf86inputvoid = (mkDerivation "xf86inputvoid" {
+  xf86inputvoid = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-input-void-1.4.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2;
       sha256 = "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xorgserver xproto ;};
+  }) {};
 
-  xf86miscproto = (mkDerivation "xf86miscproto" {
+  xf86miscproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86miscproto-0.9.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xf86miscproto-0.9.3.tar.bz2;
       sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xf86videoamdgpu = (mkDerivation "xf86videoamdgpu" {
+  xf86videoamdgpu = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, mesa_noglu, libGL, libdrm, udev, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-amdgpu-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-amdgpu-1.4.0.tar.bz2;
       sha256 = "0z56ifw3xiq9dychv8chg1cny0hq4v3c1r9pqcybk5fp7nzw9jpq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto mesa_noglu libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto mesa_noglu libGL libdrm udev randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoark = (mkDerivation "xf86videoark" {
+  xf86videoark = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ark-0.7.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2;
       sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoast = (mkDerivation "xf86videoast" {
+  xf86videoast = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ast-1.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2;
       sha256 = "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoati = (mkDerivation "xf86videoati" {
+  xf86videoati = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-ati-18.0.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-ati-18.0.1.tar.bz2;
       sha256 = "180l2yw8c63cbcs3zk729vx439aig1d7yicpyxj0nmfl4y0kpskj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videochips = (mkDerivation "xf86videochips" {
+  xf86videochips = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-chips-1.2.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-chips-1.2.7.tar.bz2;
       sha256 = "0n4zypmbkjzkw36cjy2braaivhvj60np6w80lcs9mfpabs66ia3f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videocirrus = (mkDerivation "xf86videocirrus" {
+  xf86videocirrus = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-cirrus-1.5.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2;
       sha256 = "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videodummy = (mkDerivation "xf86videodummy" {
+  xf86videodummy = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, videoproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-dummy-0.3.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2;
       sha256 = "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videofbdev = (mkDerivation "xf86videofbdev" {
+  xf86videofbdev = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-fbdev-0.4.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-fbdev-0.4.4.tar.bz2;
       sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videogeode = (mkDerivation "xf86videogeode" {
+  xf86videogeode = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-geode-2.11.17";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-geode-2.11.17.tar.bz2;
       sha256 = "0h9w6cfj7s86rg72c6qci8f733hg4g7paan5fwmmj7p74ckd9d07";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoglide = (mkDerivation "xf86videoglide" {
+  xf86videoglide = callPackage ({ stdenv, pkgconfig, fetchurl, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-glide-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2;
       sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoglint = (mkDerivation "xf86videoglint" {
+  xf86videoglint = callPackage ({ stdenv, pkgconfig, fetchurl, libpciaccess, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-glint-1.2.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-glint-1.2.9.tar.bz2;
       sha256 = "1lkpspvrvrp9s539bhfdjfh4andaqyk63l6zjn8m3km95smk6a45";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoi128 = (mkDerivation "xf86videoi128" {
+  xf86videoi128 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-i128-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-i128-1.3.6.tar.bz2;
       sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoi740 = (mkDerivation "xf86videoi740" {
+  xf86videoi740 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-i740-1.3.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-i740-1.3.6.tar.bz2;
       sha256 = "0c8nl0yyyw08n4zd6sgw9p3a858wpgf6raczjd70gf47lncms389";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videointel = (mkDerivation "xf86videointel" {
+  xf86videointel = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, dri3proto, fontsproto, libdrm, libpng, udev, libpciaccess, presentproto, randrproto, renderproto, libX11, xcbutil, libxcb, libXcursor, libXdamage, libXext, xextproto, xf86driproto, libXfixes, xorgserver, xproto, libXrandr, libXrender, libxshmfence, libXtst, libXvMC }: stdenv.mkDerivation {
     name = "xf86-video-intel-2.99.917";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2;
       sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto dri3proto fontsproto libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;};
+  }) {};
 
-  xf86videomach64 = (mkDerivation "xf86videomach64" {
+  xf86videomach64 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-mach64-6.9.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.5.tar.bz2;
       sha256 = "07xlf5nsjm0x18ij5gyy4lf8hwpl10i8chi3skpqjh84drdri61y";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videomga = (mkDerivation "xf86videomga" {
+  xf86videomga = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-mga-1.6.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-mga-1.6.5.tar.bz2;
       sha256 = "08ll52hlar9z446v0wwca5qkj3hxhswwm7vvcgic9xv4cf7csqxn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoneomagic = (mkDerivation "xf86videoneomagic" {
+  xf86videoneomagic = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-neomagic-1.2.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-neomagic-1.2.9.tar.bz2;
       sha256 = "1whb2kgyqaxdjim27ya404acz50izgmafwnb6y9m89q5n6b97y3j";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess xorgserver xproto ;};
+  }) {};
 
-  xf86videonewport = (mkDerivation "xf86videonewport" {
+  xf86videonewport = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-newport-0.2.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-newport-0.2.4.tar.bz2;
       sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videonouveau = (mkDerivation "xf86videonouveau" {
+  xf86videonouveau = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-nouveau-1.0.15";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2;
       sha256 = "0k0xah72ryjwak4dc4crszxrlkmi9x1s7p3sd4la642n77yi1pmf";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videonv = (mkDerivation "xf86videonv" {
+  xf86videonv = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-nv-2.1.21";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-nv-2.1.21.tar.bz2;
       sha256 = "0bdk3pc5y0n7p53q4gc2ff7bw16hy5hwdjjxkm5j3s7hdyg6960z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" {
+  xf86videoopenchrome = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, glproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, libX11, libXext, xextproto, xf86driproto, xorgserver, xproto, libXvMC }: stdenv.mkDerivation {
     name = "xf86-video-openchrome-0.6.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2;
       sha256 = "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;};
+  }) {};
 
-  xf86videoqxl = (mkDerivation "xf86videoqxl" {
+  xf86videoqxl = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-qxl-0.1.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.5.tar.bz2;
       sha256 = "14jc24znnahhmz4kqalafmllsg8awlz0y6gpgdpk5ih38ph851mi";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videor128 = (mkDerivation "xf86videor128" {
+  xf86videor128 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xf86miscproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-r128-6.10.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-r128-6.10.2.tar.bz2;
       sha256 = "1pkpka5m4cd6iy0f8iqnmg6xci14nb6887ilvxzn3xrsgx8j3nl4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;};
+  }) {};
 
-  xf86videorendition = (mkDerivation "xf86videorendition" {
+  xf86videorendition = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-rendition-4.2.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-rendition-4.2.6.tar.bz2;
       sha256 = "1a7rqafxzc2hd0s5pnq8s8j9d3jg64ndc0xnq4160kasyqhwy3k6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videos3virge = (mkDerivation "xf86videos3virge" {
+  xf86videos3virge = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-s3virge-1.10.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-s3virge-1.10.7.tar.bz2;
       sha256 = "1nm4cngjbw226q63rdacw6nx5lgxv7l7rsa8vhpr0gs80pg6igjx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosavage = (mkDerivation "xf86videosavage" {
+  xf86videosavage = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-savage-2.3.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-savage-2.3.9.tar.bz2;
       sha256 = "11pcrsdpdrwk0mrgv83s5nsx8a9i4lhmivnal3fjbrvi3zdw94rc";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" {
+  xf86videosiliconmotion = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, videoproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-siliconmotion-1.7.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.9.tar.bz2;
       sha256 = "1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess videoproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosis = (mkDerivation "xf86videosis" {
+  xf86videosis = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xf86driproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sis-0.10.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2;
       sha256 = "03f1abjjf68y8y1iz768rn95va9d33wmbwfbsqrgl6k0gi0bf9jj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosisusb = (mkDerivation "xf86videosisusb" {
+  xf86videosisusb = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sisusb-0.9.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sisusb-0.9.7.tar.bz2;
       sha256 = "090lfs3hjz3cjd016v5dybmcsigj6ffvjdhdsqv13k90p4b08h7l";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosuncg6 = (mkDerivation "xf86videosuncg6" {
+  xf86videosuncg6 = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-suncg6-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2;
       sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosunffb = (mkDerivation "xf86videosunffb" {
+  xf86videosunffb = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sunffb-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2;
       sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videosunleo = (mkDerivation "xf86videosunleo" {
+  xf86videosunleo = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, randrproto, renderproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-sunleo-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-sunleo-1.2.2.tar.bz2;
       sha256 = "1gacm0s6rii4x5sx9py5bhvs50jd4vs3nnbwjdjymyf31kpdirl3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto randrproto renderproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotdfx = (mkDerivation "xf86videotdfx" {
+  xf86videotdfx = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-tdfx-1.4.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-tdfx-1.4.7.tar.bz2;
       sha256 = "0hia45z4jc472fxp00803nznizcn4h1ybp63jcsb4lmd9vhqxx2c";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotga = (mkDerivation "xf86videotga" {
+  xf86videotga = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-tga-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2;
       sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videotrident = (mkDerivation "xf86videotrident" {
+  xf86videotrident = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-trident-1.3.8";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-trident-1.3.8.tar.bz2;
       sha256 = "0gxcar434kx813fxdpb93126lhmkl3ikabaljhcj5qn3fkcijlcy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videov4l = (mkDerivation "xf86videov4l" {
+  xf86videov4l = callPackage ({ stdenv, pkgconfig, fetchurl, randrproto, videoproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-v4l-0.2.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-0.2.0.tar.bz2;
       sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ randrproto videoproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit randrproto videoproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovesa = (mkDerivation "xf86videovesa" {
+  xf86videovesa = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-vesa-2.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-vesa-2.4.0.tar.bz2;
       sha256 = "1373vsxn6qh00na0s9c09kf09gj78rzi98zq93id8v5zsya3qi5z";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovmware = (mkDerivation "xf86videovmware" {
+  xf86videovmware = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libdrm, udev, libpciaccess, randrproto, renderproto, videoproto, libX11, libXext, xextproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-vmware-13.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-vmware-13.2.1.tar.bz2;
       sha256 = "0azn3g0vcki47n5jddagk2rmbwdvp845k8p7d2r56zxs3w8ggxz2";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videovoodoo = (mkDerivation "xf86videovoodoo" {
+  xf86videovoodoo = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, libpciaccess, randrproto, renderproto, xextproto, xf86dgaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-voodoo-1.2.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2;
       sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;};
+  }) {};
 
-  xf86videowsfb = (mkDerivation "xf86videowsfb" {
+  xf86videowsfb = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-wsfb-0.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-0.4.0.tar.bz2;
       sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit xorgserver xproto ;};
+  }) {};
 
-  xf86videoxgi = (mkDerivation "xf86videoxgi" {
+  xf86videoxgi = callPackage ({ stdenv, pkgconfig, fetchurl, fontsproto, glproto, libdrm, libpciaccess, randrproto, renderproto, videoproto, xextproto, xf86driproto, xineramaproto, xorgserver, xproto }: stdenv.mkDerivation {
     name = "xf86-video-xgi-1.6.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/driver/xf86-video-xgi-1.6.1.tar.bz2;
       sha256 = "10xd2vah0pnpw5spn40n4p95mpmgvdkly4i1cz51imnlfsw7g8si";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit fontsproto glproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xineramaproto xorgserver xproto ;};
+  }) {};
 
-  xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" {
+  xf86vidmodeproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xf86vidmodeproto-2.3.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-2.3.1.tar.bz2;
       sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xfs = (mkDerivation "xfs" {
+  xfs = callPackage ({ stdenv, pkgconfig, fetchurl, libXfont, xproto, xtrans }: stdenv.mkDerivation {
     name = "xfs-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xfs-1.1.4.tar.bz2;
       sha256 = "1ylz4r7adf567rnlbb52yi9x3qi4pyv954kkhm7ld4f0fkk7a2x4";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXfont xproto xtrans ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXfont xproto xtrans ;};
+  }) {};
 
-  xgamma = (mkDerivation "xgamma" {
+  xgamma = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXxf86vm }: stdenv.mkDerivation {
     name = "xgamma-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2;
       sha256 = "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXxf86vm ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXxf86vm ;};
+  }) {};
 
-  xgc = (mkDerivation "xgc" {
+  xgc = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation {
     name = "xgc-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xgc-1.0.5.tar.bz2;
       sha256 = "0pigvjd3i9fchmj1inqy151aafz3dr0vq1h2zizdb2imvadqv0hl";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXaw libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXaw libXt ;};
+  }) {};
 
-  xhost = (mkDerivation "xhost" {
+  xhost = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXmu, xproto }: stdenv.mkDerivation {
     name = "xhost-1.0.7";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xhost-1.0.7.tar.bz2;
       sha256 = "16n26xw6l01zq31d4qvsaz50misvizhn7iihzdn5f7s72pp1krlk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXau libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXau libXmu xproto ;};
+  }) {};
 
-  xineramaproto = (mkDerivation "xineramaproto" {
+  xineramaproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xineramaproto-1.2.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2;
       sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xinit = (mkDerivation "xinit" {
+  xinit = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xinit-1.4.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xinit-1.4.0.tar.bz2;
       sha256 = "1vw2wlg74ig52naw0cha3pgzcwwk25l834j42cg8m5zmybp3a213";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xinput = (mkDerivation "xinput" {
+  xinput = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXext, libXi, libXinerama, libXrandr }: stdenv.mkDerivation {
     name = "xinput-1.6.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xinput-1.6.2.tar.bz2;
       sha256 = "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXext libXi libXinerama libXrandr ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;};
+  }) {};
 
-  xkbcomp = (mkDerivation "xkbcomp" {
+  xkbcomp = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xproto }: stdenv.mkDerivation {
     name = "xkbcomp-1.4.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2;
       sha256 = "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile xproto ;};
+  }) {};
 
-  xkbevd = (mkDerivation "xkbevd" {
+  xkbevd = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation {
     name = "xkbevd-1.1.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2;
       sha256 = "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile ;};
+  }) {};
 
-  xkbprint = (mkDerivation "xkbprint" {
+  xkbprint = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xproto }: stdenv.mkDerivation {
     name = "xkbprint-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2;
       sha256 = "04iyv5z8aqhabv7wcpvbvq0ji0jrz1666vw6gvxkvl7szswalgqb";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxkbfile xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxkbfile xproto ;};
+  }) {};
 
-  xkbutils = (mkDerivation "xkbutils" {
+  xkbutils = callPackage ({ stdenv, pkgconfig, fetchurl, inputproto, libX11, libXaw, xproto, libXt }: stdenv.mkDerivation {
     name = "xkbutils-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2;
       sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ inputproto libX11 libXaw xproto libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit inputproto libX11 libXaw xproto libXt ;};
+  }) {};
 
-  xkeyboardconfig = (mkDerivation "xkeyboardconfig" {
+  xkeyboardconfig = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xkeyboard-config-2.24";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.24.tar.bz2;
       sha256 = "1my4786pd7iv5x392r9skj3qclmbd26nqzvh2fllwkkbyj08bcci";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
-    configureFlags = [ "--with-xkb-rules-symlink=xorg" ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xkill = (mkDerivation "xkill" {
+  xkill = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xkill-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xkill-1.0.4.tar.bz2;
       sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xlsatoms = (mkDerivation "xlsatoms" {
+  xlsatoms = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation {
     name = "xlsatoms-1.1.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2;
       sha256 = "196yjik910xsr7dwy8daa0amr0r22ynfs360z0ndp9mx7mydrra7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb ;};
+  }) {};
 
-  xlsclients = (mkDerivation "xlsclients" {
+  xlsclients = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation {
     name = "xlsclients-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2;
       sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libxcb ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libxcb ;};
+  }) {};
 
-  xlsfonts = (mkDerivation "xlsfonts" {
+  xlsfonts = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xlsfonts-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2;
       sha256 = "1yi774g6r1kafsbnxbkrwyndd3i60362ck1fps9ywz076pn5naa0";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xmag = (mkDerivation "xmag" {
+  xmag = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, libXt }: stdenv.mkDerivation {
     name = "xmag-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmag-1.0.6.tar.bz2;
       sha256 = "0qg12ifbbk9n8fh4jmyb625cknn8ssj86chd6zwdiqjin8ivr8l7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXaw libXmu libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXaw libXmu libXt ;};
+  }) {};
 
-  xmessage = (mkDerivation "xmessage" {
+  xmessage = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation {
     name = "xmessage-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2;
       sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libXaw libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libXaw libXt ;};
+  }) {};
 
-  xmodmap = (mkDerivation "xmodmap" {
+  xmodmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xmodmap-1.0.9";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2;
       sha256 = "0y649an3jqfq9klkp9y5gj20xb78fw6g193f5mnzpl0hbz6fbc5p";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xorgcffiles = (mkDerivation "xorgcffiles" {
+  xorgcffiles = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-cf-files-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2;
       sha256 = "0kckng0zs1viz0nr84rdl6dswgip7ndn4pnh5nfwnviwpsfmmksd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xorgdocs = (mkDerivation "xorgdocs" {
+  xorgdocs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-docs-1.7.1";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2;
       sha256 = "0jrc4jmb4raqawx0j9jmhgasr0k6sxv0bm2hrxjh9hb26iy6gf14";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xorgserver = (mkDerivation "xorgserver" {
+  xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, dri2proto, dri3proto, renderproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation {
     name = "xorg-server-1.19.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/xserver/xorg-server-1.19.6.tar.bz2;
       sha256 = "15y13ihgkggmly5s07vzvpn35gzx1w0hrkbnlcvcy05h3lpm0cm7";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ dri2proto dri3proto renderproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit dri2proto dri3proto renderproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ;};
+  }) {};
 
-  xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" {
+  xorgsgmldoctools = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xorg-sgml-doctools-1.11";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2;
       sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xpr = (mkDerivation "xpr" {
+  xpr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xpr-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2;
       sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xprop = (mkDerivation "xprop" {
+  xprop = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xprop-1.2.2";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xprop-1.2.2.tar.bz2;
       sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xproto = (mkDerivation "xproto" {
+  xproto = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xproto-7.0.31";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/proto/xproto-7.0.31.tar.bz2;
       sha256 = "0ivpxz0rx2a7nahkpkhfgymz7j0pwzaqvyqpdgw9afmxl1yp9yf6";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xrandr = (mkDerivation "xrandr" {
+  xrandr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXrandr, libXrender }: stdenv.mkDerivation {
     name = "xrandr-1.5.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrandr-1.5.0.tar.bz2;
       sha256 = "1kaih7rmzxr1vp5a5zzjhm5x7dn9mckya088sqqw026pskhx9ky1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXrandr libXrender ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXrandr libXrender ;};
+  }) {};
 
-  xrdb = (mkDerivation "xrdb" {
+  xrdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xproto }: stdenv.mkDerivation {
     name = "xrdb-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrdb-1.1.0.tar.bz2;
       sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXmu xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXmu xproto ;};
+  }) {};
 
-  xrefresh = (mkDerivation "xrefresh" {
+  xrefresh = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xrefresh-1.0.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xrefresh-1.0.5.tar.bz2;
       sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xset = (mkDerivation "xset" {
+  xset = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xproto, libXxf86misc }: stdenv.mkDerivation {
     name = "xset-1.2.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xset-1.2.3.tar.bz2;
       sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libXext libXmu xproto libXxf86misc ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;};
+  }) {};
 
-  xsetroot = (mkDerivation "xsetroot" {
+  xsetroot = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xbitmaps, libXcursor, libXmu }: stdenv.mkDerivation {
     name = "xsetroot-1.1.0";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xsetroot-1.1.0.tar.bz2;
       sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xbitmaps libXcursor libXmu ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xbitmaps libXcursor libXmu ;};
+  }) {};
 
-  xtrans = (mkDerivation "xtrans" {
+  xtrans = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation {
     name = "xtrans-1.3.5";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/lib/xtrans-1.3.5.tar.bz2;
       sha256 = "00c3ph17acnsch3gbdmx33b9ifjnl5w7vx8hrmic1r1cjcv3pgdd";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit ;};
+  }) {};
 
-  xvinfo = (mkDerivation "xvinfo" {
+  xvinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto, libXv }: stdenv.mkDerivation {
     name = "xvinfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xvinfo-1.1.3.tar.bz2;
       sha256 = "1sz5wqhxd1fqsfi1w5advdlwzkizf2fgl12hdpk66f7mv9l8pflz";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto libXv ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto libXv ;};
+  }) {};
 
-  xwd = (mkDerivation "xwd" {
+  xwd = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xwd-1.0.6";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xwd-1.0.6.tar.bz2;
       sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-  xwininfo = (mkDerivation "xwininfo" {
+  xwininfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxcb, xproto }: stdenv.mkDerivation {
     name = "xwininfo-1.1.3";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/individual/app/xwininfo-1.1.3.tar.bz2;
       sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 libxcb xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 libxcb xproto ;};
+  }) {};
 
-  xwud = (mkDerivation "xwud" {
+  xwud = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xproto }: stdenv.mkDerivation {
     name = "xwud-1.0.4";
     builder = ./builder.sh;
     src = fetchurl {
       url = mirror://xorg/X11R7.7/src/everything/xwud-1.0.4.tar.bz2;
       sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libX11 xproto ];
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit libX11 xproto ;};
+  }) {};
 
-}; in xorg
+})
diff --git a/pkgs/servers/x11/xorg/extra.list b/pkgs/servers/x11/xorg/extra.list
index 3c45e6062e26..107d5ce18b8c 100644
--- a/pkgs/servers/x11/xorg/extra.list
+++ b/pkgs/servers/x11/xorg/extra.list
@@ -2,7 +2,7 @@ http://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2
 http://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2
-http://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2
+https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2
 http://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2
diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
index 37daa0dc9bc4..701a8984ada1 100755
--- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
+++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
@@ -13,6 +13,9 @@
 use strict;
 use warnings;
 
+use File::Basename;
+use File::Spec::Functions;
+
 my $tmpDir = "/tmp/xorg-unpack";
 
 
@@ -43,7 +46,6 @@ $pcMap{"\$DRI2PROTO"} = "dri2proto";
 
 
 my $downloadCache = "./download-cache";
-$ENV{'NIX_DOWNLOAD_CACHE'} = $downloadCache;
 mkdir $downloadCache, 0755;
 
 
@@ -76,7 +78,17 @@ while (<>) {
     $pkgURLs{$pkg} = $tarball;
     $pkgNames{$pkg} = $pkgName;
 
-    my ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`;
+    my $cachePath = catdir($downloadCache, basename($tarball));
+    my $hash;
+    my $path;
+    if (-e $cachePath) {
+        $path = readlink($cachePath);
+        $hash = `nix-hash --type sha256 --base32 --flat $cachePath`;
+    }
+    else {
+        ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`;
+        `nix-store --realise --add-root $cachePath --indirect $path`;
+    }
     chomp $hash;
     chomp $path;
     $pkgHashes{$pkg} = $hash;
@@ -157,7 +169,7 @@ while (<>) {
     if ($file =~ /AC_PATH_PROG\(FCCACHE/) {
         # Don't run fc-cache.
         die if defined $extraAttrs{$pkg};
-        $extraAttrs{$pkg} = " preInstall = \"installFlags=(FCCACHE=true)\"; ";
+        push @{$extraAttrs{$pkg}}, "preInstall = \"installFlags=(FCCACHE=true)\";";
     }
 
     my $isFont;
@@ -178,7 +190,7 @@ while (<>) {
     }
 
     if ($isFont) {
-        $extraAttrs{$pkg} = " configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ]; ";
+        push @{$extraAttrs{$pkg}}, "configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ];";
     }
 
     sub process {
@@ -231,23 +243,9 @@ open OUT, ">default.nix";
 print OUT "";
 print OUT <<EOF;
 # THIS IS A GENERATED FILE.  DO NOT EDIT!
-args @ { clangStdenv, fetchurl, fetchgit, fetchpatch, stdenv, pkgconfig, intltool, freetype, fontconfig
-, libxslt, expat, libpng, zlib, perl, mesa_noglu, mesa_drivers, spice-protocol
-, dbus, libuuid, openssl, gperf, m4, libevdev, tradcpp, libinput, mcpp, makeWrapper, autoreconfHook
-, autoconf, automake, libtool, xmlto, asciidoc, flex, bison, python, mtdev, pixman, ... }: with args;
-
-let
-
-  mkDerivation = name: attrs:
-    let newAttrs = (overrides."\${name}" or (x: x)) attrs;
-        stdenv = newAttrs.stdenv or args.stdenv;
-      in stdenv.mkDerivation ((removeAttrs newAttrs [ "stdenv" ]) // {
-        hardeningDisable = [ "bindnow" "relro" ];
-      });
+{ lib, newScope, pixman }:
 
-  overrides = import ./overrides.nix {inherit args xorg;};
-
-  xorg = rec {
+lib.makeScope newScope (self: with self; {
 
   inherit pixman;
 
@@ -258,13 +256,13 @@ foreach my $pkg (sort (keys %pkgURLs)) {
     print "$pkg\n";
 
     my %requires = ();
-    my $inputs = "";
+    my @buildInputs;
     foreach my $req (sort @{$pkgRequires{$pkg}}) {
         if (defined $pcMap{$req}) {
             # Some packages have .pc that depends on itself.
             next if $pcMap{$req} eq $pkg;
             if (!defined $requires{$pcMap{$req}}) {
-                $inputs .= "$pcMap{$req} ";
+                push @buildInputs, $pcMap{$req};
                 $requires{$pcMap{$req}} = 1;
             }
         } else {
@@ -272,25 +270,34 @@ foreach my $pkg (sort (keys %pkgURLs)) {
         }
     }
 
-    my $extraAttrs = $extraAttrs{"$pkg"};
-    $extraAttrs = "" unless defined $extraAttrs;
+    my $buildInputsStr = join "", map { $_ . " " } @buildInputs;
+
+    my @arguments = @buildInputs;
+    unshift @arguments, "stdenv", "pkgconfig", "fetchurl";
+    my $argumentsStr = join ", ", @arguments;
+
+    my $extraAttrsStr = "";
+    if (defined $extraAttrs{$pkg}) {
+      $extraAttrsStr = join "", map { "\n    " . $_ } @{$extraAttrs{$pkg}};
+    }
 
     print OUT <<EOF
-  $pkg = (mkDerivation "$pkg" {
+  $pkg = callPackage ({ $argumentsStr }: stdenv.mkDerivation {
     name = "$pkgNames{$pkg}";
     builder = ./builder.sh;
     src = fetchurl {
       url = $pkgURLs{$pkg};
       sha256 = "$pkgHashes{$pkg}";
     };
+    hardeningDisable = [ "bindnow" "relro" ];
     nativeBuildInputs = [ pkgconfig ];
-    buildInputs = [ $inputs];$extraAttrs
+    buildInputs = [ $buildInputsStr];$extraAttrsStr
     meta.platforms = stdenv.lib.platforms.unix;
-  }) // {inherit $inputs;};
+  }) {};
 
 EOF
 }
 
-print OUT "}; in xorg\n";
+print OUT "})\n";
 
 close OUT;
diff --git a/pkgs/servers/x11/xorg/old.list b/pkgs/servers/x11/xorg/old.list
index fd6eae916392..fdd5a837d8be 100644
--- a/pkgs/servers/x11/xorg/old.list
+++ b/pkgs/servers/x11/xorg/old.list
@@ -1,7 +1,7 @@
 mirror://xorg/individual/app/twm-1.0.8.tar.bz2
 mirror://xorg/individual/app/xclock-1.0.7.tar.bz2
 mirror://xorg/individual/app/xdm-1.1.11.tar.bz2
-mirror://xorg/individual/app/xeyes-1.1.1.tar.bz2
+mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2
 mirror://xorg/individual/app/xfs-1.1.4.tar.bz2
 mirror://xorg/individual/app/xinit-1.4.0.tar.bz2
 mirror://xorg/individual/app/xmessage-1.0.4.tar.bz2
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 32a4e67642ad..58688590b84e 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -1,7 +1,13 @@
-{ args, xorg }:
+{ abiCompat ? null,
+  stdenv, makeWrapper, lib, fetchurl, fetchpatch,
+
+  automake, autoconf, libtool, intltool, mtdev, libevdev, libinput,
+  python, freetype, apple_sdk, tradcpp, fontconfig, mesa_drivers,
+  libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm,
+  mesa_noglu, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook,
+  mcpp, epoxy, openssl, pkgconfig }:
 
 let
-  inherit (args) stdenv makeWrapper;
   inherit (stdenv) lib isDarwin;
   inherit (lib) overrideDerivation;
 
@@ -9,83 +15,84 @@ let
     (stdenv.hostPlatform != stdenv.buildPlatform)
     "--enable-malloc0returnsnull";
 in
+self: super:
 {
-  bdftopcf = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.xproto xorg.fontsproto ];
-  };
+  bdftopcf = super.bdftopcf.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.xproto self.fontsproto ];
+  });
 
-  bitmap = attrs: attrs // {
+  bitmap = super.bitmap.overrideAttrs (attrs: {
     nativeBuildInputs = attrs.nativeBuildInputs ++ [ makeWrapper ];
     postInstall = ''
       paths=(
         "$out/share/X11/%T/%N"
         "$out/include/X11/%T/%N"
-        "${xorg.xbitmaps}/include/X11/%T/%N"
+        "${self.xbitmaps}/include/X11/%T/%N"
       )
       wrapProgram "$out/bin/bitmap" \
         --suffix XFILESEARCHPATH : $(IFS=:; echo "''${paths[*]}")
       makeWrapper "$out/bin/bitmap" "$out/bin/bitmap-color" \
         --suffix XFILESEARCHPATH : "$out/share/X11/%T/%N-color"
     '';
-  };
+  });
 
-  encodings = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
-  };
+  encodings = super.encodings.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.mkfontscale ];
+  });
 
-  fontbhttf = attrs: attrs // {
+  fontbhttf = super.fontbhttf.overrideAttrs (attrs: {
     meta = attrs.meta // { license = lib.licenses.unfreeRedistributable; };
-  };
+  });
 
-  fontcursormisc = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ xorg.mkfontscale ];
-  };
+  fontcursormisc = super.fontcursormisc.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ self.mkfontscale ];
+  });
 
-  fontmiscmisc = attrs: attrs // {
+  fontmiscmisc = super.fontmiscmisc.overrideAttrs (attrs: {
     postInstall =
       ''
-        ALIASFILE=${xorg.fontalias}/share/fonts/X11/misc/fonts.alias
+        ALIASFILE=${self.fontalias}/share/fonts/X11/misc/fonts.alias
         test -f $ALIASFILE
         cp $ALIASFILE $out/lib/X11/fonts/misc/fonts.alias
       '';
-  };
+  });
 
-  imake = attrs: attrs // {
-    inherit (xorg) xorgcffiles;
+  imake = super.imake.overrideAttrs (attrs: {
+    inherit (self) xorgcffiles;
     x11BuildHook = ./imake.sh;
     patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch];
     setupHook = if stdenv.isDarwin then ./darwin-imake-setup-hook.sh else null;
     CFLAGS = [ "-DIMAKE_COMPILETIME_CPP=\\\"${if stdenv.isDarwin
-      then "${args.tradcpp}/bin/cpp"
+      then "${tradcpp}/bin/cpp"
       else "gcc"}\\\""
     ];
-    tradcpp = if stdenv.isDarwin then args.tradcpp else null;
-  };
+    tradcpp = if stdenv.isDarwin then tradcpp else null;
+  });
 
-  mkfontdir = attrs: attrs // {
-    preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${xorg.mkfontscale}/bin";
-  };
+  mkfontdir = super.mkfontdir.overrideAttrs (attrs: {
+    preBuild = "substituteInPlace mkfontdir.in --replace @bindir@ ${self.mkfontscale}/bin";
+  });
 
-  mkfontscale = attrs: attrs // {
-    patches = lib.singleton (args.fetchpatch {
+  mkfontscale = super.mkfontscale.overrideAttrs (attrs: {
+    patches = lib.singleton (fetchpatch {
       name = "mkfontscale-fix-sig11.patch";
       url = "https://bugs.freedesktop.org/attachment.cgi?id=113951";
       sha256 = "0i2xf768mz8kvm7i514v0myna9m6jqw82f9a03idabdpamxvwnim";
     });
     patchFlags = [ "-p0" ];
-  };
+  });
 
-  libxcb = attrs : attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.python ];
+  libxcb = super.libxcb.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
     configureFlags = [ "--enable-xkb" "--enable-xinput" ];
     outputs = [ "out" "dev" "man" "doc" ];
-  };
+  });
 
-  xcbproto = attrs : attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.python ];
-  };
+  xcbproto = super.xcbproto.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [ python ];
+  });
 
-  libX11 = attrs: attrs // {
+  libX11 = super.libX11.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
@@ -98,260 +105,264 @@ in
         rm -rf $out/share/doc
       '';
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
-  };
+  });
 
-  libAppleWM = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ args.apple_sdk.frameworks.ApplicationServices ];
+  libAppleWM = super.libAppleWM.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ apple_sdk.frameworks.ApplicationServices ];
     preConfigure = ''
-      substituteInPlace src/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
+      substituteInPlace src/Makefile.in --replace -F/System -F${apple_sdk.frameworks.ApplicationServices}
     '';
-  };
+  });
 
-  libXau = attrs: attrs // {
+  libXau = super.libXau.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXdmcp = attrs: attrs // {
+  libXdmcp = super.libXdmcp.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-  };
+  });
 
-  libXfont = attrs: attrs // {
+  libXfont = super.libXfont.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2
+    propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2
     # prevents "misaligned_stack_error_entering_dyld_stub_binder"
     configureFlags = lib.optionals isDarwin [
       "CFLAGS=-O0"
     ];
-  };
+  });
 
-  libXxf86vm = attrs: attrs // {
+  libXxf86vm = super.libXxf86vm.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-  };
+  });
 
   # Propagate some build inputs because of header file dependencies.
   # Note: most of these are in Requires.private, so maybe builder.sh
   # should propagate them automatically.
-  libXt = attrs: attrs // {
+  libXt = super.libXt.overrideAttrs (attrs: {
     preConfigure = ''
       sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure
     '';
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [ xorg.libSM ];
+    propagatedBuildInputs = [ self.libSM ];
     CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
   # See https://bugs.freedesktop.org/show_bug.cgi?id=47792
   # Once the bug is fixed upstream, this can be removed.
-  luit = attrs: attrs // {
+  luit = super.luit.overrideAttrs (attrs: {
     configureFlags = [ "--disable-selective-werror" ];
-  };
+  });
 
-  compositeproto = attrs: attrs // {
-    propagatedBuildInputs = [ xorg.fixesproto ];
-  };
+  compositeproto = super.compositeproto.overrideAttrs (attrs: {
+    propagatedBuildInputs = [ self.fixesproto ];
+  });
 
-  libICE = attrs: attrs // {
+  libICE = super.libICE.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-  };
+  });
 
-  libXcomposite = attrs: attrs // {
+  libXcomposite = super.libXcomposite.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ xorg.libXfixes ];
-  };
+    propagatedBuildInputs = [ self.libXfixes ];
+  });
 
-  libXaw = attrs: attrs // {
+  libXaw = super.libXaw.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-    propagatedBuildInputs = [ xorg.libXmu ];
-  };
+    propagatedBuildInputs = [ self.libXmu ];
+  });
 
-  libXcursor = attrs: attrs // {
+  libXcursor = super.libXcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXdamage = attrs: attrs // {
+  libXdamage = super.libXdamage.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXft = attrs: attrs // {
+  libXft = super.libXft.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-    propagatedBuildInputs = [ xorg.libXrender args.freetype args.fontconfig ];
+    propagatedBuildInputs = [ self.libXrender freetype fontconfig ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
     # the include files need ft2build.h, and Requires.private isn't enough for us
     postInstall = ''
       sed "/^Requires:/s/$/, freetype2/" -i "$dev/lib/pkgconfig/xft.pc"
     '';
-  };
+    passthru = {
+      inherit freetype fontconfig;
+    };
+  });
 
-  libXext = attrs: attrs // {
+  libXext = super.libXext.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
-    propagatedBuildInputs = [ xorg.xproto xorg.libXau ];
+    propagatedBuildInputs = [ self.xproto self.libXau ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-  };
+  });
 
-  libXfixes = attrs: attrs // {
+  libXfixes = super.libXfixes.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXi = attrs: attrs // {
+  libXi = super.libXi.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "man" "doc" ];
-    propagatedBuildInputs = [ xorg.libXfixes ];
-  };
+    propagatedBuildInputs = [ self.libXfixes ];
+  });
 
-  libXinerama = attrs: attrs // {
+  libXinerama = super.libXinerama.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXmu = attrs: attrs // {
+  libXmu = super.libXmu.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
     buildFlags = ''BITMAP_DEFINES=-DBITMAPDIR=\"/no-such-path\"'';
-  };
+  });
 
-  libXrandr = attrs: attrs // {
+  libXrandr = super.libXrandr.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [xorg.libXrender];
-  };
+    propagatedBuildInputs = [self.libXrender];
+  });
 
-  libSM = attrs: attrs // {
+  libSM = super.libSM.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-    propagatedBuildInputs = [ xorg.libICE ];
-  };
+    propagatedBuildInputs = [ self.libICE ];
+  });
 
-  libXrender = attrs: attrs // {
+  libXrender = super.libXrender.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
     configureFlags = attrs.configureFlags or []
       ++ malloc0ReturnsNullCrossFlag;
-    propagatedBuildInputs = [ xorg.renderproto ];
-  };
+    propagatedBuildInputs = [ self.renderproto ];
+  });
 
-  libXres = attrs: attrs // {
+  libXres = super.libXres.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
-  libXv = attrs: attrs // {
+  libXv = super.libXv.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "devdoc" ];
-  };
+  });
 
-  libXvMC = attrs: attrs // {
+  libXvMC = super.libXvMC.overrideAttrs (attrs: {
     outputs = [ "out" "dev" "doc" ];
-    buildInputs = attrs.buildInputs ++ [xorg.renderproto];
-  };
+    buildInputs = attrs.buildInputs ++ [self.renderproto];
+  });
 
-  libXp = attrs: attrs // {
+  libXp = super.libXp.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  libXpm = attrs: attrs // {
+  libXpm = super.libXpm.overrideAttrs (attrs: {
     name = "libXpm-3.5.12";
-    src = args.fetchurl {
+    src = fetchurl {
       url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2;
       sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx";
     };
     outputs = [ "bin" "dev" "out" ]; # tiny man in $bin
     patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in";
-  };
+  });
 
-  libXpresent = attrs: attrs
-    // { buildInputs = with xorg; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; };
+  libXpresent = super.libXpresent.overrideAttrs (attrs: {
+    buildInputs = with self; attrs.buildInputs ++ [ libXext libXfixes libXrandr ];
+  });
 
-  libxkbfile = attrs: attrs // {
+  libxkbfile = super.libxkbfile.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to avoid propagation
-  };
+  });
 
-  libxshmfence = attrs: attrs // {
+  libxshmfence = super.libxshmfence.overrideAttrs (attrs: {
     name = "libxshmfence-1.3";
-    src = args.fetchurl {
+    src = fetchurl {
       url = mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2;
       sha256 = "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q";
     };
     outputs = [ "out" "dev" ]; # mainly to avoid propagation
-  };
+  });
 
-  libpciaccess = attrs: attrs // {
+  libpciaccess = super.libpciaccess.overrideAttrs (attrs: {
     meta = attrs.meta // { platforms = stdenv.lib.platforms.linux; };
-  };
+  });
 
-  setxkbmap = attrs: attrs // {
+  setxkbmap = super.setxkbmap.overrideAttrs (attrs: {
     postInstall =
       ''
         mkdir -p $out/share
-        ln -sfn ${xorg.xkeyboardconfig}/etc/X11 $out/share/X11
+        ln -sfn ${self.xkeyboardconfig}/etc/X11 $out/share/X11
       '';
-  };
+  });
 
-  utilmacros = attrs: attrs // { # not needed for releases, we propagate the needed tools
-    propagatedBuildInputs = with args; [ automake autoconf libtool ];
-  };
+  utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools
+    propagatedBuildInputs = [ automake autoconf libtool ];
+  });
 
-  x11perf = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [ args.freetype args.fontconfig ];
-  };
+  x11perf = super.x11perf.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [ freetype fontconfig ];
+  });
 
-  xcbutil = attrs: attrs // {
+  xcbutil = super.xcbutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
-  };
+  });
 
-  xcbutilcursor = attrs: attrs // {
+  xcbutilcursor = super.xcbutilcursor.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ];
     meta = attrs.meta // { maintainers = [ stdenv.lib.maintainers.lovek323 ]; };
-  };
+  });
 
-  xcbutilimage = attrs: attrs // {
+  xcbutilimage = super.xcbutilimage.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilkeysyms = attrs: attrs // {
+  xcbutilkeysyms = super.xcbutilkeysyms.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilrenderutil = attrs: attrs // {
+  xcbutilrenderutil = super.xcbutilrenderutil.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xcbutilwm = attrs: attrs // {
+  xcbutilwm = super.xcbutilwm.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # mainly to get rid of propagating others
-  };
+  });
 
-  xf86inputevdev = attrs: attrs // {
+  xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # to get rid of xorgserver.dev; man is tiny
     preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c";
     installFlags = "sdkdir=\${out}/include/xorg";
-    buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ];
-  };
+    buildInputs = attrs.buildInputs ++ [ mtdev libevdev ];
+  });
 
-  xf86inputmouse = attrs: attrs // {
+  xf86inputmouse = super.xf86inputmouse.overrideAttrs (attrs: {
     installFlags = "sdkdir=\${out}/include/xorg";
-  };
+  });
 
-  xf86inputjoystick = attrs: attrs // {
+  xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: {
     installFlags = "sdkdir=\${out}/include/xorg";
-  };
+  });
 
-  xf86inputlibinput = attrs: attrs // rec {
+  xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: rec {
     name = "xf86-input-libinput-0.28.0";
-    src = args.fetchurl {
+    src = fetchurl {
       url = "mirror://xorg/individual/driver/${name}.tar.bz2";
       sha256 = "189h8vl0005yizwrs4d0sng6j8lwkd3xi1zwqg8qavn2bw34v691";
     };
     outputs = [ "out" "dev" ];
-    buildInputs = attrs.buildInputs ++ [ args.libinput ];
+    buildInputs = attrs.buildInputs ++ [ libinput ];
     installFlags = "sdkdir=\${dev}/include/xorg";
-  };
+  });
 
-  xf86inputsynaptics = attrs: attrs // {
+  xf86inputsynaptics = super.xf86inputsynaptics.overrideAttrs (attrs: {
     outputs = [ "out" "dev" ]; # *.pc pulls xorgserver.dev
-    buildInputs = attrs.buildInputs ++ [args.mtdev args.libevdev];
+    buildInputs = attrs.buildInputs ++ [mtdev libevdev];
     installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d";
-  };
+  });
 
-  xf86inputvmmouse = attrs: attrs // {
+  xf86inputvmmouse = super.xf86inputvmmouse.overrideAttrs (attrs: {
     configureFlags = [
       "--sysconfdir=$(out)/etc"
       "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d"
@@ -361,82 +372,83 @@ in
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
   # Obsolete drivers that don't compile anymore.
-  xf86videoark        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videogeode      = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videoglide      = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videoi128       = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videonewport    = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videotga        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videov4l        = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videovoodoo     = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-  xf86videowsfb       = attrs: attrs // { meta = attrs.meta // { broken = true; }; };
-
-  xf86videoamdgpu = attrs: attrs // {
+  xf86videoark     = super.xf86videoark.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videogeode   = super.xf86videogeode.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videoglide   = super.xf86videoglide.overrideAttrs   (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videoi128    = super.xf86videoi128.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videonewport = super.xf86videonewport.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videotga     = super.xf86videotga.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videov4l     = super.xf86videov4l.overrideAttrs     (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videovoodoo  = super.xf86videovoodoo.overrideAttrs  (attrs: { meta = attrs.meta // { broken = true; }; });
+  xf86videowsfb    = super.xf86videowsfb.overrideAttrs    (attrs: { meta = attrs.meta // { broken = true; }; });
+
+  xf86videoamdgpu = super.xf86videoamdgpu.overrideAttrs (attrs: {
     configureFlags = [ "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" ];
-  };
+  });
 
-  xf86videoati = attrs: attrs // {
-    NIX_CFLAGS_COMPILE = "-I${xorg.xorgserver.dev or xorg.xorgserver}/include/xorg";
-  };
+  xf86videoati = super.xf86videoati.overrideAttrs (attrs: {
+    NIX_CFLAGS_COMPILE = "-I${self.xorgserver.dev or self.xorgserver}/include/xorg";
+  });
 
-  xf86videovmware = attrs: attrs // {
-    buildInputs =  attrs.buildInputs ++ [ args.mesa_drivers ]; # for libxatracker
+  xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: {
+    buildInputs =  attrs.buildInputs ++ [ mesa_drivers ]; # for libxatracker
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
-  xf86videoqxl = attrs: attrs // {
-    buildInputs =  attrs.buildInputs ++ [ args.spice-protocol ];
-  };
+  xf86videoqxl = super.xf86videoqxl.overrideAttrs (attrs: {
+    buildInputs =  attrs.buildInputs ++ [ spice-protocol ];
+  });
 
-  xf86videosiliconmotion = attrs: attrs // {
+  xf86videosiliconmotion = super.xf86videosiliconmotion.overrideAttrs (attrs: {
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
-
-  xdriinfo = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [args.libGL];
-  };
+  });
 
-  xvinfo = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.libXext];
-  };
+  xdriinfo = super.xdriinfo.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [libGL];
+  });
 
-  xkbcomp = attrs: attrs // {
-    configureFlags = [ "--with-xkb-config-root=${xorg.xkeyboardconfig}/share/X11/xkb" ];
-  };
+  xvinfo = super.xvinfo.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [self.libXext];
+  });
 
-  xkeyboardconfig = attrs: attrs // {
+  xkbcomp = super.xkbcomp.overrideAttrs (attrs: {
+    configureFlags = [ "--with-xkb-config-root=${self.xkeyboardconfig}/share/X11/xkb" ];
+  });
 
-    buildInputs = attrs.buildInputs ++ [args.intltool];
+  xkeyboardconfig = super.xkeyboardconfig.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [intltool];
 
     #TODO: resurrect patches for US_intl?
     patches = [ ./xkeyboard-config-eo.patch ];
 
+    configureFlags = [ "--with-xkb-rules-symlink=xorg" ];
+
     # 1: compatibility for X11/xkb location
     # 2: I think pkgconfig/ is supposed to be in /lib/
     postInstall = ''
       ln -s share "$out/etc"
       mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/"
     '';
-  };
+  });
 
-  xlsfonts = attrs: attrs // {
+  xlsfonts = super.xlsfonts.overrideAttrs (attrs: {
     meta = attrs.meta // { license = lib.licenses.mit; };
-  };
+  });
 
-  xorgserver = with xorg; attrs_passed:
+  xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed:
     # exchange attrs if abiCompat is set
     let
       version = (builtins.parseDrvName attrs_passed.name).version;
-      attrs = with args;
-        if (args.abiCompat == null || lib.hasPrefix args.abiCompat version) then attrs_passed
-        else if (args.abiCompat == "1.17") then {
+      attrs =
+        if (abiCompat == null || lib.hasPrefix abiCompat version) then attrs_passed
+        else if (abiCompat == "1.17") then {
           name = "xorg-server-1.17.4";
           builder = ./builder.sh;
           src = fetchurl {
@@ -446,7 +458,7 @@ in
           nativeBuildInputs = [ pkgconfig ];
           buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
           meta.platforms = stdenv.lib.platforms.unix;
-        } else if (args.abiCompat == "1.18") then {
+        } else if (abiCompat == "1.18") then {
             name = "xorg-server-1.18.4";
             builder = ./builder.sh;
             src = fetchurl {
@@ -457,19 +469,19 @@ in
             buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
             postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include <malloc.h>' -i include/os.h";
             meta.platforms = stdenv.lib.platforms.unix;
-        } else throw "unsupported xorg abiCompat ${args.abiCompat} for ${attrs_passed.name}";
+        } else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}";
 
     in attrs //
     (let
       version = (builtins.parseDrvName attrs.name).version;
       commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
       commonPropagatedBuildInputs = [
-        args.zlib args.libGL args.libGLU args.dbus
+        zlib libGL libGLU dbus
         xf86bigfontproto glproto xf86driproto
         compositeproto scrnsaverproto resourceproto
         xf86dgaproto
         dmxproto /*libdmx not used*/ xf86vidmodeproto
-        recordproto libXext pixman libXfont libxshmfence args.libunwind
+        recordproto libXext pixman libXfont libxshmfence libunwind
         damageproto xcmiscproto  bigreqsproto
         inputproto xextproto randrproto renderproto presentproto
         dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto
@@ -491,9 +503,9 @@ in
       if (!isDarwin)
       then {
         outputs = [ "out" "dev" ];
-        buildInputs = commonBuildInputs ++ [ args.libdrm args.mesa_noglu ];
-        propagatedBuildInputs = [ libpciaccess args.epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
-          args.udev
+        buildInputs = commonBuildInputs ++ [ libdrm mesa_noglu ];
+        propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [
+          udev
         ];
         prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
           export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t"
@@ -504,8 +516,8 @@ in
           "--enable-xcsecurity"         # enable SECURITY extension
           "--with-default-font-path="   # there were only paths containing "${prefix}",
                                         # and there are no fonts in this package anyway
-          "--with-xkb-bin-directory=${xorg.xkbcomp}/bin"
-          "--with-xkb-path=${xorg.xkeyboardconfig}/share/X11/xkb"
+          "--with-xkb-bin-directory=${self.xkbcomp}/bin"
+          "--with-xkb-path=${self.xkeyboardconfig}/share/X11/xkb"
           "--with-xkb-output=$out/share/X11/xkb/compiled"
           "--enable-glamor"
         ] ++ lib.optionals stdenv.hostPlatform.isMusl [
@@ -523,12 +535,12 @@ in
         '';
         passthru.version = version; # needed by virtualbox guest additions
       } else {
-        nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.autoreconfHook xorg.utilmacros xorg.fontutil ];
+        nativeBuildInputs = attrs.nativeBuildInputs ++ [ autoreconfHook self.utilmacros self.fontutil ];
         buildInputs = commonBuildInputs ++ [
-          args.bootstrap_cmds args.automake args.autoconf
-          args.apple_sdk.libs.Xplugin
-          args.apple_sdk.frameworks.Carbon
-          args.apple_sdk.frameworks.Cocoa
+          bootstrap_cmds automake autoconf
+          apple_sdk.libs.Xplugin
+          apple_sdk.frameworks.Carbon
+          apple_sdk.frameworks.Cocoa
         ];
         propagatedBuildInputs = commonPropagatedBuildInputs ++ [
           libAppleWM applewmproto
@@ -536,22 +548,22 @@ in
 
         # XQuartz patchset
         patches = [
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
             sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
             name = "use-cppflags-not-cflags.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/75ee9649bcfe937ac08e03e82fd45d9e18110ef4.patch";
             sha256 = "1vlfylm011y00j8mig9zy6gk9bw2b4ilw2qlsc6la49zi3k0i9fg";
             name = "use-old-mitrapezoids-and-mitriangles-routines.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/c58f47415be79a6564a9b1b2a62c2bf866141e73.patch";
             sha256 = "19sisqzw8x2ml4lfrwfvavc2jfyq2bj5xcf83z89jdxg8g1gdd1i";
             name = "revert-fb-changes-1.patch";
           })
-          (args.fetchpatch {
+          (fetchpatch {
             url = "https://github.com/XQuartz/xorg-server/commit/56e6f1f099d2821e5002b9b05b715e7b251c0c97.patch";
             sha256 = "0zm9g0g1jvy79sgkvy0rjm6ywrdba2xjd1nsnjbxjccckbr6i396";
             name = "revert-fb-changes-2.patch";
@@ -570,7 +582,7 @@ in
         preConfigure = ''
           mkdir -p $out/Applications
           export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error"
-          substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${args.apple_sdk.frameworks.ApplicationServices}
+          substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${apple_sdk.frameworks.ApplicationServices}
         '';
         postInstall = ''
           rm -fr $out/share/X11/xkb/compiled
@@ -582,110 +594,111 @@ in
           cp ${darwinOtherX}/share/man -rT $out/share/man
         '' ;
         passthru.version = version;
-      });
+      }));
 
-  lndir = attrs: attrs // {
+  lndir = super.lndir.overrideAttrs (attrs: {
     preConfigure = ''
       substituteInPlace lndir.c \
         --replace 'n_dirs--;' ""
     '';
-  };
+  });
 
-  twm = attrs: attrs // {
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [args.bison args.flex];
-  };
+  twm = super.twm.overrideAttrs (attrs: {
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [bison flex];
+  });
 
-  xauth = attrs: attrs // {
+  xauth = super.xauth.overrideAttrs (attrs: {
     doCheck = false; # fails
-  };
+  });
 
-  xcursorthemes = attrs: attrs // {
-    buildInputs = attrs.buildInputs ++ [xorg.xcursorgen];
+  xcursorthemes = super.xcursorthemes.overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ [self.xcursorgen];
     configureFlags = [ "--with-cursordir=$(out)/share/icons" ];
-  };
+  });
 
-  xinit = attrs: attrs // {
-    stdenv = if isDarwin then args.clangStdenv else stdenv;
-    buildInputs = attrs.buildInputs ++ lib.optional isDarwin args.bootstrap_cmds;
+  xinit = (super.xinit.override {
+    stdenv = if isDarwin then clangStdenv else stdenv;
+  }).overrideAttrs (attrs: {
+    buildInputs = attrs.buildInputs ++ lib.optional isDarwin bootstrap_cmds;
     configureFlags = [
-      "--with-xserver=${xorg.xorgserver.out}/bin/X"
+      "--with-xserver=${self.xorgserver.out}/bin/X"
     ] ++ lib.optionals isDarwin [
       "--with-bundle-id-prefix=org.nixos.xquartz"
       "--with-launchdaemons-dir=\${out}/LaunchDaemons"
       "--with-launchagents-dir=\${out}/LaunchAgents"
     ];
-    propagatedBuildInputs = [ xorg.xauth ]
-                         ++ lib.optionals isDarwin [ xorg.libX11 xorg.xproto ];
+    propagatedBuildInputs = [ self.xauth ]
+                         ++ lib.optionals isDarwin [ self.libX11 self.xproto ];
     prePatch = ''
       sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
     '';
-  };
+  });
 
-  xf86videointel = attrs: attrs // {
+  xf86videointel = super.xf86videointel.overrideAttrs (attrs: {
     # the update script only works with released tarballs :-/
     name = "xf86-video-intel-2017-10-19";
-    src = args.fetchurl {
+    src = fetchurl {
       url = "http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/"
           + "4798e18b2b2c8b0a05dc967e6140fd9962bc1a73.tar.gz";
       sha256 = "1zpgbibfpdassswfj68zwhhfpvd2p80rpxw92bis6lv81ssknwby";
     };
-    buildInputs = attrs.buildInputs ++ [xorg.libXfixes xorg.libXScrnSaver xorg.pixman];
-    nativeBuildInputs = attrs.nativeBuildInputs ++ [args.autoreconfHook xorg.utilmacros];
+    buildInputs = attrs.buildInputs ++ [self.libXfixes self.libXScrnSaver self.pixman];
+    nativeBuildInputs = attrs.nativeBuildInputs ++ [autoreconfHook self.utilmacros];
     configureFlags = [ "--with-default-dri=3" "--enable-tools" ];
 
     meta = attrs.meta // {
       platforms = ["i686-linux" "x86_64-linux"];
     };
-  };
+  });
 
-  xf86videoxgi = attrs: attrs // {
+  xf86videoxgi = super.xf86videoxgi.overrideAttrs (attrs: {
     patches = [
       # fixes invalid open mode
       # https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/commit/?id=bd94c475035739b42294477cff108e0c5f15ef67
-      (args.fetchpatch {
+      (fetchpatch {
         url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=bd94c475035739b42294477cff108e0c5f15ef67";
         sha256 = "0myfry07655adhrpypa9rqigd6rfx57pqagcwibxw7ab3wjay9f6";
       })
-      (args.fetchpatch {
+      (fetchpatch {
         url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=78d1138dd6e214a200ca66fa9e439ee3c9270ec8";
         sha256 = "0z3643afgrync280zrp531ija0hqxc5mrwjif9nh9lcnzgnz2d6d";
       })
     ];
-  };
+  });
 
-  xorgcffiles = attrs: attrs // {
+  xorgcffiles = super.xorgcffiles.overrideAttrs (attrs: {
     postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
       substituteInPlace $out/lib/X11/config/darwin.cf --replace "/usr/bin/" ""
     '';
-  };
+  });
 
-  xwd = attrs: attrs // {
-    buildInputs = with xorg; attrs.buildInputs ++ [libXt libxkbfile];
-  };
+  xwd = super.xwd.overrideAttrs (attrs: {
+    buildInputs = with self; attrs.buildInputs ++ [libXt libxkbfile];
+  });
 
-  kbproto = attrs: attrs // {
+  kbproto = super.kbproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xextproto = attrs: attrs // {
+  xextproto = super.xextproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xproto = attrs: attrs // {
+  xproto = super.xproto.overrideAttrs (attrs: {
     outputs = [ "out" "doc" ];
-  };
+  });
 
-  xrdb = attrs: attrs // {
-    configureFlags = [ "--with-cpp=${args.mcpp}/bin/mcpp" ];
-  };
+  xrdb = super.xrdb.overrideAttrs (attrs: {
+    configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
+  });
 
-  sessreg = attrs: attrs // {
+  sessreg = super.sessreg.overrideAttrs (attrs: {
     preBuild = "sed -i 's|gcc -E|gcc -E -P|' man/Makefile";
-  };
+  });
 
-  xrandr = attrs: attrs // {
+  xrandr = super.xrandr.overrideAttrs (attrs: {
     postInstall = ''
       rm $out/bin/xkeystone
     '';
-  };
+  });
 }
diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list
index 846fa56de30c..a832302abdc5 100644
--- a/pkgs/servers/x11/xorg/tarballs-7.7.list
+++ b/pkgs/servers/x11/xorg/tarballs-7.7.list
@@ -106,7 +106,7 @@ mirror://xorg/individual/proto/videoproto-2.3.3.tar.bz2
 mirror://xorg/X11R7.7/src/everything/windowswmproto-1.0.4.tar.bz2
 mirror://xorg/individual/app/x11perf-1.6.0.tar.bz2
 mirror://xorg/individual/app/xauth-1.0.10.tar.bz2
-mirror://xorg/individual/app/xbacklight-1.2.1.tar.bz2
+mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xbitmaps-1.1.1.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xcmiscproto-1.2.2.tar.bz2
 mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2
@@ -175,10 +175,10 @@ mirror://xorg/individual/app/xgc-1.0.5.tar.bz2
 mirror://xorg/individual/app/xhost-1.0.7.tar.bz2
 mirror://xorg/X11R7.7/src/everything/xineramaproto-1.2.1.tar.bz2
 mirror://xorg/individual/app/xinput-1.6.2.tar.bz2
-mirror://xorg/individual/app/xkbcomp-1.4.0.tar.bz2
+mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2
 mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2
 mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2
-mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.22.tar.bz2
+mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.24.tar.bz2
 mirror://xorg/individual/app/xkill-1.0.4.tar.bz2
 mirror://xorg/individual/app/xlsatoms-1.1.2.tar.bz2
 mirror://xorg/individual/app/xlsclients-1.1.3.tar.bz2
diff --git a/pkgs/shells/zsh/default.nix b/pkgs/shells/zsh/default.nix
index a14829070b33..472b78c4a6d0 100644
--- a/pkgs/shells/zsh/default.nix
+++ b/pkgs/shells/zsh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ncurses, pcre }:
+{ stdenv, fetchurl, ncurses, pcre, fetchpatch }:
 
 let
   version = "5.6.2";
@@ -18,6 +18,15 @@ stdenv.mkDerivation {
     sha256 = "17iffliqcj4hv91g0bd2sxsyfcz51mfyh97sp2iyrs2p0mndc2x5";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "search-xdg-data-dirs.patch";
+      url = https://github.com/zsh-users/zsh/commit/624219e0e4cbfdfb286e707bd2853f2d7b6a4a7d.patch;
+      sha256 = "0i0g7dc0px57vpklm1f4w20vyc92nv15y09r5clvib2kjkxjy2cf";
+      excludes = [ "ChangeLog" ];
+    })
+  ];
+
   buildInputs = [ ncurses pcre ];
 
   configureFlags = [
diff --git a/pkgs/shells/zsh/oh-my-zsh/default.nix b/pkgs/shells/zsh/oh-my-zsh/default.nix
index 22aa478d743c..d4082465b19e 100644
--- a/pkgs/shells/zsh/oh-my-zsh/default.nix
+++ b/pkgs/shells/zsh/oh-my-zsh/default.nix
@@ -4,13 +4,13 @@
 { stdenv, fetchgit }:
 
 stdenv.mkDerivation rec {
-  version = "2018-09-03";
+  version = "2018-09-14";
   name = "oh-my-zsh-${version}";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "69e637c35578305e19dbfc520e65c514180db6ef";
-    sha256 = "067qwvdlghjb2kcv4fydnnbwss2kb4fgn1qib88ygz82fpvb0cwf";
+    rev = "489be2452a6410a2c7837910c4cd3c0ed47a7481";
+    sha256 = "05svfd2q4w4hnd9rsh57z7rsc50lavg3lqm3nmm6dqak1nnrkhbz";
   };
 
   pathsToLink = [ "/share/oh-my-zsh" ];
diff --git a/pkgs/stdenv/generic/make-derivation.nix b/pkgs/stdenv/generic/make-derivation.nix
index 2db40fc43e36..e06faed30a1e 100644
--- a/pkgs/stdenv/generic/make-derivation.nix
+++ b/pkgs/stdenv/generic/make-derivation.nix
@@ -41,6 +41,7 @@ rec {
 
     # Configure Phase
     , configureFlags ? []
+    , cmakeFlags ? []
     , # Target is not included by default because most programs don't care.
       # Including it then would cause needless mass rebuilds.
       #
@@ -225,6 +226,17 @@ rec {
           inherit doCheck doInstallCheck;
 
           inherit outputs;
+        } // lib.optionalAttrs (stdenv.hostPlatform != stdenv.buildPlatform) {
+          cmakeFlags =
+            (/**/ if lib.isString cmakeFlags then [cmakeFlags]
+             else if cmakeFlags == null      then []
+             else                                     cmakeFlags)
+          ++ lib.optional (stdenv.hostPlatform.uname.system != null) "-DCMAKE_SYSTEM_NAME=${stdenv.hostPlatform.uname.system}"
+          ++ lib.optional (stdenv.hostPlatform.uname.processor != null) "-DCMAKE_SYSTEM_PROCESSOR=${stdenv.hostPlatform.uname.processor}"
+          ++ lib.optional (stdenv.hostPlatform.uname.release != null) "-DCMAKE_SYSTEM_VERSION=${stdenv.hostPlatform.release}"
+          ++ lib.optional (stdenv.buildPlatform.uname.system != null) "-DCMAKE_HOST_SYSTEM_NAME=${stdenv.buildPlatform.uname.system}"
+          ++ lib.optional (stdenv.buildPlatform.uname.processor != null) "-DCMAKE_HOST_SYSTEM_PROCESSOR=${stdenv.buildPlatform.uname.processor}"
+          ++ lib.optional (stdenv.buildPlatform.uname.release != null) "-DCMAKE_HOST_SYSTEM_VERSION=${stdenv.buildPlatform.uname.release}";
         } // lib.optionalAttrs (attrs.enableParallelBuilding or false) {
           enableParallelChecking = attrs.enableParallelChecking or true;
         } // lib.optionalAttrs (hardeningDisable != [] || hardeningEnable != []) {
diff --git a/pkgs/test/openftd/default.nix b/pkgs/test/openftd/default.nix
deleted file mode 100644
index a5b817de40e9..000000000000
--- a/pkgs/test/openftd/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-
-Systeemvereisten
-
-* libz >= 1.1.4
-* glib >= 2.2.0
-* gtk >= 2.2.0
-
-Glib 2 is een 'dependency' van gtk2. Als je gtk2 op je systeem hebt staan dan heb je ongetwijfeld ook glib2 op je systeem. Zie: www.gtk.org voor meer informatie omtrent Glib/gtk2
-Alhoewel FTD4Linux gtk 2.2 als minimumvereiste heeft raden we toch aan om gtk 2.4 te gebruiken. Dit vanwege een bug in gtk versies 2.2.2 t/m 2.2.4.
-
-* libxml2 >= 2.2.5
-* libxslt >= 1.0.5
-
-* mozilla (gecompileerd met gtk2 support)
-Mozilla is de opensource browser die is voortgekomen uit het vrijgeven van de netscape navigator source code. Als je mozilla reeds op je systeem hebt staan zou je even moeten nagaan of deze tegen gtk2 is gelinkt. Dit kun je doen met behulp van het programma ldd.
-ldd /usr/X11R6/lib/mozilla-gtk2/libgtkembedmoz.so | grep gtk
-/usr/X11R6/lib/mozilla-gtk2/libgtkembedmoz.so:
-libgtk-x11-2.0.so.200 => /usr/X11R6/lib/libgtk-x11-2.0.so.200 (0x282c3000)
-In de output van het ldd programma kun je zien of er inderdaad wordt gelink tegen gtk2. (libgtk-x11-2.0.so.200).
-Heb je geen mozilla, maar heb je wel de firebird/firefox variant geinstalleerd staan dan kun je ook met de mozilla compatible onderdelen van firebird/firefox aan de gang. Je hebt hier echter wel de header (development) bestanden bij nodig. Controleer dus even of jouw firebird/firefox installatie hiermee is geleverd. (gtkembedmoz/gtkmozembed.h) Een 'locate gtkmozembed.h' zou hier snel genoeg uitsluitsel over moeten geven.
-
-* OpenSSL
-* LibCURL
-
-*/
-
-{ stdenv, fetchurl
-, zlib, libxml2, libxslt, firefox, openssl, curl
-, glib, gtk, libgnomeui, libgtkhtml
-, pkgconfig, dbus-glib, realCurl, pcre, libsexy, gtkspell, libnotify
-}:
- 
-stdenv.mkDerivation {
-  name = "openftd-0.98.6";
-  #builder = ./builder.sh;
-
-  src = fetchurl {
-    url = http://speeldoos.eweka.nl/~paul/openftd/openftd-1.0.1.tar.bz2;
-    sha256 = "e0710865f852fdf209949788a1ced65e9ecf82b4eaa0992a7a1dde1511a3b6e7";
-  };
-
-  buildInputs = [
-    zlib libxml2 libxslt firefox openssl curl
-    glib gtk pkgconfig dbus-glib realCurl pcre libsexy libgnomeui gtkspell libnotify libgtkhtml
-  ];
-
-  configureFlags="--with-libcurl-libraries=${curl.out}/lib --with-libcurl-headers=${curl.dev}/include --with-pcre_libraries=${pcre.out}/lib --with-pcre_headers=${pcre.dev}/include";
-}
diff --git a/pkgs/tools/X11/x11vnc/default.nix b/pkgs/tools/X11/x11vnc/default.nix
index 2dc6d8ffd78c..6dc785621b59 100644
--- a/pkgs/tools/X11/x11vnc/default.nix
+++ b/pkgs/tools/X11/x11vnc/default.nix
@@ -1,35 +1,49 @@
-{ stdenv, fetchurl, openssl, zlib, libjpeg, xorg, coreutils }:
+{ stdenv, fetchFromGitHub,
+  openssl, zlib, libjpeg, xorg, coreutils, libvncserver,
+  autoreconfHook, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "x11vnc-0.9.13";
+  name = "x11vnc-${version}";
+  version = "0.9.15";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/libvncserver/${name}.tar.gz";
-    sha256 = "0fzib5xb1vbs8kdprr4z94v0fshj2c5hhaz69llaarwnc8p9z0pn";
+  src = fetchFromGitHub {
+    owner = "LibVNC";
+    repo = "x11vnc";
+    rev = version;
+    sha256 = "1a1b65k1hsy4nhg2sx1yrpaz3vx6s7rmrx8nwygpaam8wpdlkh8p";
   };
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs =
     [ xorg.libXfixes xorg.fixesproto openssl xorg.libXdamage
       xorg.damageproto zlib xorg.libX11 xorg.xproto libjpeg
       xorg.libXtst xorg.libXinerama xorg.xineramaproto xorg.libXrandr
       xorg.randrproto xorg.libXext xorg.xextproto xorg.inputproto
       xorg.recordproto xorg.libXi xorg.libXrender xorg.renderproto
+      libvncserver
     ];
 
-  preConfigure = ''
-    configureFlags="--mandir=$out/share/man"
-
-    substituteInPlace x11vnc/unixpw.c \
+  postPatch = ''
+    substituteInPlace src/unixpw.c \
         --replace '"/bin/su"' '"/run/wrappers/bin/su"' \
         --replace '"/bin/true"' '"${coreutils}/bin/true"'
 
-    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' x11vnc/ssltools.h
+    sed -i -e '/#!\/bin\/sh/a"PATH=${xorg.xdpyinfo}\/bin:${xorg.xauth}\/bin:$PATH\\n"' -e 's|/bin/su|/run/wrappers/bin/su|g' src/ssltools.h
+
+    # Xdummy script is currently broken, so we avoid building it. This removes everything Xdummy-related from the affected Makefile
+    sed -i -e '/^\tXdummy.c\ \\$/,$d' -e 's/\tx11vnc_loop\ \\/\tx11vnc_loop/' misc/Makefile.am
+  '';
+
+  preConfigure = ''
+    configureFlags="--mandir=$out/share/man"
   '';
 
   meta = with stdenv.lib; {
     description = "A VNC server connected to a real X11 screen";
-    homepage = http://www.karlrunge.com/x11vnc/;
+    homepage = https://github.com/LibVNC/x11vnc/;
     platforms = platforms.linux;
     license = licenses.gpl2;
+    maintainers = with maintainers; [ OPNA2608 ];
   };
 }
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 3e4d49108b71..7f1552f91979 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchurl, callPackage, python2Packages, pkgconfig
-, xorg, gtk2, glib, pango, cairo, gdk_pixbuf, atk
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which
+{ stdenv, lib, fetchurl, callPackage, substituteAll, python3, pkgconfig
+, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk
+, wrapGAppsHook, xorgserver, getopt, xauth, utillinux, which
 , ffmpeg, x264, libvpx, libwebp
 , libfakeXinerama
 , gst_all_1, pulseaudio, gobjectIntrospection
@@ -9,7 +9,7 @@
 with lib;
 
 let
-  inherit (python2Packages) cython buildPythonApplication;
+  inherit (python3.pkgs) cython buildPythonApplication;
 
   xf86videodummy = callPackage ./xf86videodummy { };
 in buildPythonApplication rec {
@@ -21,7 +21,14 @@ in buildPythonApplication rec {
     sha256 = "0wa3kx54himy3i1b2801hlzfilh3cf4kjk40k1cjl0ds28m5hija";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  patches = [
+    (substituteAll {
+      src = ./fix-paths.patch;
+      inherit (xorg) xkeyboardconfig;
+    })
+  ];
+
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection wrapGAppsHook ];
   buildInputs = [
     cython
 
@@ -30,11 +37,10 @@ in buildPythonApplication rec {
     xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
     xorg.libXrandr xorg.libxkbfile
 
-    pango cairo gdk_pixbuf atk gtk2 glib
+    pango cairo gdk_pixbuf atk gtk3 glib
 
     ffmpeg libvpx x264 libwebp
 
-    gobjectIntrospection
     gst_all_1.gstreamer
     gst_all_1.gst-plugins-base
     gst_all_1.gst-plugins-good
@@ -42,38 +48,34 @@ in buildPythonApplication rec {
     gst_all_1.gst-libav
 
     pam
+  ];
 
-    makeWrapper
+  propagatedBuildInputs = with python3.pkgs; [
+    pillow rencode pycrypto cryptography pycups lz4 dbus-python
+    netifaces numpy websockify pygobject3 pycairo gst-python pam
   ];
 
-  propagatedBuildInputs = with python2Packages; [
-    pillow pygtk pygobject2 rencode pycrypto cryptography pycups lz4 dbus-python
-    netifaces numpy websockify pygobject3 gst-python pam
+  NIX_CFLAGS_COMPILE = [
+    # error: 'import_cairo' defined but not used
+    "-Wno-error=unused-function"
   ];
 
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-    substituteInPlace xpra/x11/bindings/keyboard_bindings.pyx --replace "/usr/share/X11/xkb" "${xorg.xkeyboardconfig}/share/X11/xkb"
-  '';
-  setupPyBuildFlags = ["--with-Xdummy" "--without-strict"];
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set XPRA_INSTALL_PREFIX "$out" \
-      --set GI_TYPELIB_PATH "$GI_TYPELIB_PATH" \
-      --set GST_PLUGIN_SYSTEM_PATH_1_0 "$GST_PLUGIN_SYSTEM_PATH_1_0" \
-      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib  \
+  setupPyBuildFlags = [
+    "--with-Xdummy"
+    "--without-strict"
+    "--with-gtk3"
+    "--without-gtk2"
+  ];
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --set XPRA_INSTALL_PREFIX "$out"
+      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib
       --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux pulseaudio ]}
+    )
   '';
 
-  preCheck = "exit 0";
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
+  doCheck = false;
 
   passthru = { inherit xf86videodummy; };
 
diff --git a/pkgs/tools/X11/xpra/fix-paths.patch b/pkgs/tools/X11/xpra/fix-paths.patch
new file mode 100644
index 000000000000..c50ec28c35e2
--- /dev/null
+++ b/pkgs/tools/X11/xpra/fix-paths.patch
@@ -0,0 +1,33 @@
+--- a/setup.py
++++ b/setup.py
+@@ -1885,7 +1885,7 @@
+     if OSX:
+         pycairo = "py3cairo"
+     else:
+-        pycairo = "pycairo"
++        pycairo = "py3cairo"
+     cython_add(Extension("xpra.client.gtk3.cairo_workaround",
+                 ["xpra/client/gtk3/cairo_workaround.pyx"],
+                 **pkgconfig(pycairo)
+--- a/xpra/client/gtk3/cairo_workaround.pyx
++++ b/xpra/client/gtk3/cairo_workaround.pyx
+@@ -65,7 +65,7 @@
+     void cairo_surface_flush (cairo_surface_t *surface)
+     void cairo_surface_mark_dirty (cairo_surface_t *surface)
+ 
+-cdef extern from "pycairo/pycairo.h":
++cdef extern from "py3cairo.h":
+     ctypedef struct Pycairo_CAPI_t:
+         pass
+     ctypedef struct PycairoSurface:
+--- a/xpra/x11/bindings/keyboard_bindings.pyx
++++ b/xpra/x11/bindings/keyboard_bindings.pyx
+@@ -19,7 +19,7 @@
+ 
+ DEF PATH_MAX = 1024
+ DEF DFLT_XKB_RULES_FILE = "base"
+-DEF DFLT_XKB_CONFIG_ROOT = "/usr/share/X11/xkb"
++DEF DFLT_XKB_CONFIG_ROOT = "@xkeyboardconfig@/share/X11/xkb"
+ 
+ ###################################
+ # Headers, python magic
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
deleted file mode 100644
index ceba4269e808..000000000000
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ /dev/null
@@ -1,79 +0,0 @@
-{ stdenv, fetchurl, buildPythonApplication
-, python, cython, pkgconfig
-, xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk, pygobject3, pycairo, gobjectIntrospection
-, makeWrapper, xorgserver, getopt, xauth, utillinux, which, fontsConf
-, ffmpeg, x264, libvpx, libwebp
-, libfakeXinerama, pam }:
-
-buildPythonApplication rec {
-  name = "xpra-${version}";
-  version = "2.2.5";
-
-  src = fetchurl {
-    url = "https://xpra.org/src/${name}.tar.xz";
-    sha256 = "1q2l00nc3bgwlhjzkbk4a8x2l8z9w1799yn31icsx5hrgh98a1js";
-  };
-
-  patchPhase = ''
-    substituteInPlace setup.py --replace 'pycairo' 'py3cairo'
-    substituteInPlace xpra/client/gtk3/cairo_workaround.pyx --replace 'pycairo/pycairo.h' 'py3cairo.h'
-  '';
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    xorg.libX11 xorg.renderproto xorg.libXrender xorg.libXi xorg.inputproto xorg.kbproto
-    xorg.randrproto xorg.damageproto xorg.compositeproto xorg.xextproto xorg.recordproto
-    xorg.xproto xorg.fixesproto xorg.libXtst xorg.libXfixes xorg.libXcomposite xorg.libXdamage
-    xorg.libXrandr xorg.libxkbfile
-
-    pango cairo gdk_pixbuf atk gtk3 glib gobjectIntrospection
-
-    ffmpeg libvpx x264 libwebp
-
-    makeWrapper
-
-    pam
-  ];
-
-  propagatedBuildInputs = [
-    pygobject3 pycairo cython
-  ];
-
-  preBuild = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
-  '';
-  setupPyBuildFlags = [ "--without-strict" "--with-gtk3" "--without-gtk2" "--with-Xdummy" ];
-
-  preInstall = ''
-    # see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
-    ${python}/bin/${python.executable} setup.py install_data --install-dir=$out --root=$out
-    sed -i '/ = data_files/d' setup.py
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/xpra \
-      --set FONTCONFIG_FILE "${fontsConf}" \
-      --prefix LD_LIBRARY_PATH : ${libfakeXinerama}/lib \
-      --prefix PATH : ${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}
-  '';
-
-  preCheck = "exit 0";
-  doInstallCheck = false;
-
-  #TODO: replace postInstall with postFixup to avoid double wrapping of xpra; needs more work though
-  #postFixup = ''
-  #  sed -i '3iexport FONTCONFIG_FILE="${fontsConf}"' $out/bin/xpra
-  #  sed -i '4iexport PATH=${stdenv.lib.makeBinPath [ getopt xorgserver xauth which utillinux ]}\${PATH:+:}\$PATH' $out/bin/xpra
-  #'';
-
-
-  meta = with stdenv.lib; {
-    homepage = http://xpra.org/;
-    downloadPage = "https://xpra.org/src/";
-    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
-    description = "Persistent remote applications for X";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 023d03f0414d..5d3050108b8a 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, pkgconfig, which, freetype, pango }:
+{ stdenv, fetchFromGitHub, pkgconfig, which, docutils, freetype, pango }:
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.24";
+  version = "8.14.0";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "0xb0gdxbagy6bzrh61s667svab43r06d6yi20gw52dh022mj99ag";
+    sha256 = "1nlvq2cfdy5pghll3aprws7yx5p14gcrhz10q9fa6myrd8ad4if1";
   };
 
   prePatch = ''
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     "CC=${stdenv.cc}/bin/cc"
   ];
 
-  nativeBuildInputs = [ which pkgconfig ];
+  nativeBuildInputs = [ which pkgconfig docutils ];
 
   buildInputs = [ freetype pango ];
 
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index e9ae73547863..6ff43a94af90 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "btrbk-${version}";
-  version = "0.26.1";
+  version = "0.27.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${name}.tar.xz";
-    sha256 = "04ahfm52vcf1w0c2km0wdgj2jpffp45bpawczmygcg8fdcm021lp";
+    sha256 = "0nsqpmfymh9df32fy8qg6bhimd65yxdjpany97s1n08qb110zh2y";
   };
 
   nativeBuildInputs = [ asciidoc makeWrapper ];
diff --git a/pkgs/tools/compression/brotli/default.nix b/pkgs/tools/compression/brotli/default.nix
index 754c0e581563..7047eeeefa61 100644
--- a/pkgs/tools/compression/brotli/default.nix
+++ b/pkgs/tools/compression/brotli/default.nix
@@ -15,8 +15,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   outputs = [ "out" "dev" "lib" ];
 
@@ -59,4 +58,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/tools/filesystems/bcachefs-tools/default.nix b/pkgs/tools/filesystems/bcachefs-tools/default.nix
index ee1ee2e61789..75737e2da7fc 100644
--- a/pkgs/tools/filesystems/bcachefs-tools/default.nix
+++ b/pkgs/tools/filesystems/bcachefs-tools/default.nix
@@ -2,12 +2,12 @@
 , liburcu, zlib, libaio, zstd, lz4 }:
 
 stdenv.mkDerivation rec {
-  name = "bcachefs-tools-unstable-2018-08-22";
+  name = "bcachefs-tools-unstable-2018-10-12";
 
   src = fetchgit {
     url = "https://evilpiepirate.org/git/bcachefs-tools.git";
-    rev = "ebf97e8e01a8e76ff4bec23f29106430852c3081";
-    sha256 = "0f2ycin0gmi1a4fm7qln0c10zn451gljfbc2piy1fm768xqqrmld";
+    rev = "55fbb25501330038e1714905b9ddeb25d875c11c";
+    sha256 = "0cwzbyf133jc0fkc8nmjcvv3wmglqhyxda1hh10hgxrbq5vm39wx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/tools/filesystems/bindfs/default.nix b/pkgs/tools/filesystems/bindfs/default.nix
index 1499e81b624e..a674de9ac49b 100644
--- a/pkgs/tools/filesystems/bindfs/default.nix
+++ b/pkgs/tools/filesystems/bindfs/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, fuse, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.13.9";
+  version = "1.13.10";
   name    = "bindfs-${version}";
 
   src = fetchurl {
     url    = "https://bindfs.org/downloads/${name}.tar.gz";
-    sha256 = "1dgqjq2plpds442ygpv8czr5v199ljscp33m89y19x04ssljrymc";
+    sha256 = "14wfp2dcjm0f1pmqqvkf94k7pijbi8ka395cm3hryqpi4k0w3f4j";
   };
 
   dontStrip = true;
diff --git a/pkgs/tools/filesystems/fatsort/default.nix b/pkgs/tools/filesystems/fatsort/default.nix
index 75a94400627d..18d9097dacbc 100644
--- a/pkgs/tools/filesystems/fatsort/default.nix
+++ b/pkgs/tools/filesystems/fatsort/default.nix
@@ -1,12 +1,12 @@
 {stdenv, fetchurl, help2man}:
 
 stdenv.mkDerivation rec {
-  version = "1.4.2.439";
+  version = "1.5.0.456";
   name = "fatsort-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/fatsort/${name}.tar.xz";
-    sha256 = "1q51qq69854kr12knhyqjv7skj95qld6j04pv5v3xvxs0y9zkg5x";
+    sha256 = "15fy2m4p9s8cfvnzdcd5ynkc2js0zklkkf34sjxdac7x2iwb8dd8";
   };
 
   patches = [ ./fatsort-Makefiles.patch ];
diff --git a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
index 5879fd9d0821..24aab7dc6dd4 100644
--- a/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
+++ b/pkgs/tools/filesystems/nixpart/0.4/blivet.nix
@@ -35,7 +35,7 @@ buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = [
-    pykickstart pyparted pyblock libselinux cryptsetup
+    pykickstart pyparted pyblock libselinux.py cryptsetup
   ] ++ stdenv.lib.optional useNixUdev systemd;
 
   # tests are currently _heavily_ broken upstream
diff --git a/pkgs/tools/graphics/feedgnuplot/default.nix b/pkgs/tools/graphics/feedgnuplot/default.nix
index fef5c657a7a2..4ff769eadf54 100644
--- a/pkgs/tools/graphics/feedgnuplot/default.nix
+++ b/pkgs/tools/graphics/feedgnuplot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage, makeWrapper, gawk
+{ stdenv, fetchFromGitHub, makeWrapper, gawk
 , makeFontsConf, freefont_ttf, gnuplot, perl, perlPackages
 }:
 
@@ -8,7 +8,7 @@ let
 
 in
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "feedgnuplot-${version}";
   version = "1.51";
 
diff --git a/pkgs/tools/graphics/graph-easy/default.nix b/pkgs/tools/graphics/graph-easy/default.nix
index 9b4c46779626..c21fc02753ec 100644
--- a/pkgs/tools/graphics/graph-easy/default.nix
+++ b/pkgs/tools/graphics/graph-easy/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPerlPackage, fetchurl }:
+{ stdenv, perlPackages, fetchurl }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "Graph-Easy-${version}";
   version = "0.76";
   src = fetchurl {
diff --git a/pkgs/tools/misc/bat/default.nix b/pkgs/tools/misc/bat/default.nix
index 0cacfa6e54e4..4bd4a02c7a2d 100644
--- a/pkgs/tools/misc/bat/default.nix
+++ b/pkgs/tools/misc/bat/default.nix
@@ -4,17 +4,17 @@
 
 rustPlatform.buildRustPackage rec {
   name    = "bat-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner  = "sharkdp";
     repo   = "bat";
     rev    = "v${version}";
-    sha256 = "1fzk0z7r70rjvv2c6531zaa1jzbcb7j9wbi0xqb9y4dls538bmz0";
+    sha256 = "1xvjw61q0qbnzj95g7g8xckcqha9jrf2172b5l7faj7i0jhmz2kx";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "19syz0sxcpk3i4675bfq5gpb9i6hp81in36w820kkvamaimq10nd";
+  cargoSha256 = "0xv769f2iqrgnbmb7ma9p3gbb2xpx2lhqc0kq5nizf8w8xdc5m11";
 
   nativeBuildInputs = [ cmake pkgconfig zlib ];
 
@@ -22,6 +22,13 @@ rustPlatform.buildRustPackage rec {
 
   postInstall = ''
     install -m 444 -Dt $out/share/man/man1 doc/bat.1
+
+    install -Dm644 target/release/build/bat-*/out/_bat \
+      "$out/share/zsh/site-functions/_bat"
+    install -Dm644 target/release/build/bat-*/out/bat.bash \
+      "$out/share/bash-completions/completions/bat.bash"
+    install -Dm644 target/release/build/bat-*/out/bat.fish \
+      "$out/share/fish/vendor_completions.d/bat.fish"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/bepasty/default.nix b/pkgs/tools/misc/bepasty/default.nix
index ae88b7e99c65..a1e9f21c52cc 100644
--- a/pkgs/tools/misc/bepasty/default.nix
+++ b/pkgs/tools/misc/bepasty/default.nix
@@ -1,15 +1,15 @@
-{ python
+{ python3Packages
 , lib
 }:
 
-with python.pkgs;
+with python3Packages;
 
 #We need to use buildPythonPackage here to get the PYTHONPATH build correctly.
 #This is needed for services.bepasty
 #https://github.com/NixOS/nixpkgs/pull/38300
 buildPythonPackage rec {
   pname = "bepasty";
-  version = "0.4.0";
+  version = "0.5.0";
 
   propagatedBuildInputs = [
     flask
@@ -22,9 +22,12 @@ buildPythonPackage rec {
     xstatic-jquery-ui
     xstatic-pygments
   ];
+
+  buildInputs = [ setuptools_scm ];
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bs79pgrjlnkmjfyj2hllbx3rw757va5w2g2aghi9cydmsl7gyi4";
+    sha256 = "1y3smw9620w2ia4zfsl2svb9j7mkfgc8z1bzjffyk1w5vryhwikh";
   };
 
   checkInputs = [
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index fe8d1a8380fc..de97e94ae42e 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   patches = optional stdenv.hostPlatform.isCygwin ./coreutils-8.23-4.cygwin.patch;
 
   # The test tends to fail on btrfs and maybe other unusual filesystems.
-  postPatch = optionalString (!stdenv.hostPlatform.isDarwin) ''
+  postPatch = ''
     sed '2i echo Skipping dd sparse test && exit 0' -i ./tests/dd/sparse.sh
     sed '2i echo Skipping cp sparse test && exit 0' -i ./tests/cp/sparse.sh
     sed '2i echo Skipping rm deep-2 test && exit 0' -i ./tests/rm/deep-2.sh
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index bb4302d8aaec..9c3db47213ec 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -1,8 +1,19 @@
-{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils }:
-
+{ stdenv, fetchurl, dpkg, gawk, perl, wget, coreutils, utillinux
+, gnugrep, gnutar, gnused, gzip, makeWrapper }:
 # USAGE like this: debootstrap sid /tmp/target-chroot-directory
 # There is also cdebootstrap now. Is that easier to maintain?
-stdenv.mkDerivation rec {
+let binPath = stdenv.lib.makeBinPath [
+    coreutils
+    dpkg
+    gawk
+    gnugrep
+    gnused
+    gnutar
+    gzip
+    perl
+    wget
+  ];
+in stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
   version = "1.0.109";
 
@@ -13,63 +24,43 @@ stdenv.mkDerivation rec {
     sha256 = "117xgrv6mpszyndmsvkn4ynh57b2s40qc68bpmfmxggw58j42klw";
   };
 
-  buildInputs = [ dpkg gettext gawk perl wget ];
+  nativeBuildInputs = [ makeWrapper ];
 
   dontBuild = true;
 
-  # If you have to update the patch for functions a vim regex like this
-  # can help you identify which lines are used to write scripts on TARGET and
-  # which should /bin/ paths should be replaced:
-  # \<echo\>\|\/bin\/\|^\s*\<cat\>\|EOF\|END
   installPhase = ''
-    sed -i \
-      -e 's@/usr/bin/id@id@' \
-      -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \
-      -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \
-      -e 's@/bin/sha@${coreutils}/bin/sha@' \
-      debootstrap
-
-    for file in functions debootstrap; do
-      substituteInPlace "$file" \
-        --subst-var-by gunzip "$(type -p gunzip)" \
-        --subst-var-by bunzip "$(type -p bunzip)" \
-        --subst-var-by gettext "$(type -p gettext)" \
-        --subst-var-by dpkg "$(type -p dpkg)" \
-        --subst-var-by udpkg "$(type -p udpkg)" \
-        --subst-var-by id "$(type -p id)" \
-        --subst-var-by perl "$(type -p perl)" \
-        --subst-var-by uname "$(type -p uname)" \
-        --subst-var-by wget "$(type -p wget)"
-    done
-
+    runHook preInstall
 
-    sed -i  \
-      -e 's@\<wget\>@${wget}/bin/wget@' \
-      functions
+    substituteInPlace debootstrap \
+      --replace 'CHROOT_CMD="chroot '  'CHROOT_CMD="${coreutils}/bin/chroot ' \
+      --replace 'CHROOT_CMD="unshare ' 'CHROOT_CMD="${utillinux}/bin/unshare ' \
+      --replace /usr/bin/dpkg ${dpkg}/bin/dpkg \
+      --replace '#!/bin/sh' '#!/bin/bash' \
+      --subst-var-by VERSION ${version}
 
     d=$out/share/debootstrap
     mkdir -p $out/{share/debootstrap,bin}
 
+    mv debootstrap $out/bin
+
     cp -r . $d
 
-    cat >> $out/bin/debootstrap << EOF
-    #!/bin/sh
-    export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}"
-    # mount and other tools must be found in chroot. So add default debain paths!
-    # TODO only add paths which are required by the scripts!
-    export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-    exec $d/debootstrap "\$@"
-    EOF
-    chmod +x $out/bin/debootstrap
+    wrapProgram $out/bin/debootstrap \
+      --set PATH ${binPath} \
+      --set-default DEBOOTSTRAP_DIR $d
 
     mkdir -p $out/man/man8
     mv debootstrap.8 $out/man/man8
+
+    rm -rf $d/debian
+
+    runHook postInstall
   '';
 
   meta = {
     description = "Tool to create a Debian system in a chroot";
-    homepage = http://packages.debian.org/de/lenny/debootstrap; # http://code.erisian.com.au/Wiki/debootstrap
-    license = stdenv.lib.licenses.gpl2; # gentoo says so.. ?
+    homepage = https://wiki.debian.org/Debootstrap;
+    license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/misc/esptool/default.nix b/pkgs/tools/misc/esptool/default.nix
index abb0b4edc17e..fe574b4f8d43 100644
--- a/pkgs/tools/misc/esptool/default.nix
+++ b/pkgs/tools/misc/esptool/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "esptool";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "espressif";
     repo = "esptool";
     rev = "v${version}";
-    sha256 = "0cvxapcln1xcz8hy0hidw6g8q61s5j3q03j3wrviagbh0zip8jdx";
+    sha256 = "19l3b1fqg1n3ch484dcibbi5a3nbmjq086has5pwqn348h4k57mh";
   };
 
   checkInputs = with python3.pkgs; [ flake8 flake8-future-import flake8-import-order ];
diff --git a/pkgs/tools/misc/rename/default.nix b/pkgs/tools/misc/rename/default.nix
index 3f2a66bf4c82..89f76bb9b1b1 100644
--- a/pkgs/tools/misc/rename/default.nix
+++ b/pkgs/tools/misc/rename/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage }:
+{ stdenv, fetchFromGitHub, perlPackages }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "rename-${version}";
   version = "1.9";
   outputs = [ "out" ];
diff --git a/pkgs/tools/misc/staruml/default.nix b/pkgs/tools/misc/staruml/default.nix
index 486634452ae9..a7518625771f 100644
--- a/pkgs/tools/misc/staruml/default.nix
+++ b/pkgs/tools/misc/staruml/default.nix
@@ -14,10 +14,10 @@ stdenv.mkDerivation rec {
 
   src =
     if stdenv.hostPlatform.system == "i686-linux" then fetchurl {
-      url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-32-bit.deb";
+      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-32-bit.deb";
       sha256 = "0vb3k9m3l6pmsid4shlk0xdjsriq3gxzm8q7l04didsppg0vvq1n";
     } else fetchurl {
-      url = "http://staruml.io/download/release/v${version}/StarUML-v${version}-64-bit.deb";
+      url = "https://s3.amazonaws.com/staruml-bucket/releases-v2/StarUML-v${version}-64-bit.deb";
       sha256 = "05gzrnlssjkhyh0wv019d4r7p40lxnsa1sghazll6f233yrqmxb0";
     };
 
diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix
index fcec511b7ef5..038b3206ac24 100644
--- a/pkgs/tools/misc/tmux/default.nix
+++ b/pkgs/tools/misc/tmux/default.nix
@@ -13,7 +13,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "tmux-${version}";
-  version = "2.7";
+  version = "2.8";
 
   outputs = [ "out" "man" ];
 
@@ -21,9 +21,13 @@ stdenv.mkDerivation rec {
     owner = "tmux";
     repo = "tmux";
     rev = version;
-    sha256 = "1yr4l8ckd67c3id4vrbpha91xxpdfpw0cpbr3v81lam0m7k4rgba";
+    sha256 = "0n8sjddy00xgh1rvvw968hh72pyslg1gahmzajfc4b3xax87drpi";
   };
 
+  postPatch = ''
+    sed -i 's/2.8-rc/2.8/' configure.ac
+  '';
+
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   buildInputs = [ ncurses libevent makeWrapper ];
diff --git a/pkgs/tools/misc/vdirsyncer/default.nix b/pkgs/tools/misc/vdirsyncer/default.nix
index 0655264cc542..c273ef879682 100644
--- a/pkgs/tools/misc/vdirsyncer/default.nix
+++ b/pkgs/tools/misc/vdirsyncer/default.nix
@@ -41,7 +41,7 @@ in pythonPackages.buildPythonApplication rec {
 
   preBuild = ''
     mkdir -p rust/target/release
-    ln -s ${native}/bin/libvdirsyncer_rustext* rust/target/release/
+    ln -s ${native}/lib/libvdirsyncer_rustext* rust/target/release/
   '';
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/tools/networking/curl/7_59.nix b/pkgs/tools/networking/curl/7_59.nix
index 0482bcf52629..508b357e3fde 100644
--- a/pkgs/tools/networking/curl/7_59.nix
+++ b/pkgs/tools/networking/curl/7_59.nix
@@ -77,7 +77,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix
index dda97d34d869..4af8ff75e210 100644
--- a/pkgs/tools/networking/curl/default.nix
+++ b/pkgs/tools/networking/curl/default.nix
@@ -81,7 +81,11 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional gssSupport "--with-gssapi=${kerberos.dev}"
        # For the 'urandom', maybe it should be a cross-system option
     ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-       "--with-random=/dev/urandom";
+       "--with-random=/dev/urandom"
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isWindows [
+      "--disable-shared"
+      "--enable-static"
+    ];
 
   CXX = "${stdenv.cc.targetPrefix}c++";
   CXXCPP = "${stdenv.cc.targetPrefix}c++ -E";
diff --git a/pkgs/tools/networking/ddclient/default.nix b/pkgs/tools/networking/ddclient/default.nix
index 93828c10d135..14de1fea4790 100644
--- a/pkgs/tools/networking/ddclient/default.nix
+++ b/pkgs/tools/networking/ddclient/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPerlPackage, fetchurl, perlPackages, iproute }:
+{ stdenv, fetchurl, perlPackages, iproute }:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "ddclient-${version}";
   version = "3.8.3";
 
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
index 8941494e316e..fda5d25aa17d 100644
--- a/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -1,20 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, gflags, glog, libsodium, protobuf }:
+{ stdenv, fetchFromGitHub, cmake, ninja, gflags, libsodium, protobuf }:
 
 stdenv.mkDerivation rec {
   name = "eternal-terminal-${version}";
-  version = "4.1.2";
+  version = "5.1.6";
 
   src = fetchFromGitHub {
     owner = "MisterTea";
     repo = "EternalTCP";
     rev = "refs/tags/et-v${version}";
-    sha256 = "1zy30ccsddgs2wqwxphnx5i00j4gf69lr68mzg9x6imqfz0sbcjz";
+    sha256 = "0df573c5hi3hxa0d3m02zf2iyh841540dklj9lmp6faik8cp39jz";
   };
 
-  nativeBuildInputs = [ cmake ];
-  buildInputs = [ gflags glog libsodium protobuf ];
-
-  enableParallelBuilding = true;
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ gflags libsodium protobuf ];
 
   meta = with stdenv.lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index c66218c48986..9b4edd763057 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipv6calc-${version}";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "ftp://ftp.deepspace6.net/pub/ds6/sources/ipv6calc/${name}.tar.gz";
-    sha256 = "1gcl8mqjdn5j1rcnv2gz2j0i8ayx747hwzjyiazl6j43c5g4bc3l";
+    sha256 = "1q74ikg780v5hllbq08wdfvxr2lf0fc7i41hclqrh1ajc6dqybbq";
   };
 
   buildInputs = [ geoip geolite-legacy getopt ip2location-c openssl ];
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index 01b979c3c5bf..66d9434a470a 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, substituteAll, intltool, pkgconfig, dbus-glib, gnome3
-, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
+{ stdenv, fetchurl, fetchpatch, substituteAll, intltool, pkgconfig, dbus-glib
+, gnome3, systemd, libuuid, polkit, gnutls, ppp, dhcp, iptables
 , libgcrypt, dnsmasq, bluez5, readline
 , gobjectIntrospection, modemmanager, openresolv, libndp, newt, libsoup
 , ethtool, gnused, coreutils, file, inetutils, kmod, jansson, libxslt
@@ -67,13 +67,13 @@ in stdenv.mkDerivation rec {
 
   patches = [
     # https://bugzilla.gnome.org/show_bug.cgi?id=796751
-    (fetchurl {
+    (fetchpatch {
       url = https://bugzilla.gnome.org/attachment.cgi?id=372953;
-      sha256 = "1crjplyiiipkhjjlifrv6hhvxinlcxd6irp9ijbc7jij31g44i0a";
+      sha256 = "0xg7bzs6dvkbv2qp67i7mi1c5yrmfd471xgmlkn15b33pqkzy3mc";
     })
-    (fetchurl {
+    (fetchpatch {
       url = https://gitlab.freedesktop.org/NetworkManager/NetworkManager/commit/0a3755c1799d3a4dc1875d4c59c7c568a64c8456.patch;
-      sha256 = "af1717f7c6fdd6dadb4082dd847f4bbc42cf1574833299f3e47024e785533f2e";
+      sha256 = "0r7338q3za7mf419a244vi65b1q497rg84avijybmv6w4x6p1ksd";
     })
     (substituteAll {
       src = ./fix-paths.patch;
diff --git a/pkgs/tools/networking/network-manager/openvpn/default.nix b/pkgs/tools/networking/network-manager/openvpn/default.nix
index d911acc58f4d..952bbf4999e3 100644
--- a/pkgs/tools/networking/network-manager/openvpn/default.nix
+++ b/pkgs/tools/networking/network-manager/openvpn/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "NetworkManager-openvpn";
-  version = "1.8.6";
+  version = "1.8.8";
 in stdenv.mkDerivation rec {
   name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "1ksij9438f2lrwkg287qjlfaxja6jgmqxqap96585r3nf5zj69ch";
+    sha256 = "19qdl7x5x7f9mj8vm25mck6gg8ljbixi0dw2rqngwl2nzpcxwg52";
   };
 
   patches = [
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 04a77176682d..96bc2c56ece8 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -37,6 +37,13 @@ stdenv.mkDerivation rec {
 
   patches =
     [
+      # Remove on update!
+      (fetchpatch {
+        name = "fix-tunnel-forwarding.diff";
+        url = "https://github.com/openssh/openssh-portable/commit/cfb1d9bc767.diff";
+        sha256 = "1mszj7f1kj6bazr7asbi1bi4238lfpilpp98f6c1dn3py4fbsdg8";
+      })
+
       ./locale_archive.patch
       ./fix-host-key-algorithms-plus.patch
 
diff --git a/pkgs/tools/networking/speedtest-cli/default.nix b/pkgs/tools/networking/speedtest-cli/default.nix
deleted file mode 100644
index eedea841356d..000000000000
--- a/pkgs/tools/networking/speedtest-cli/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ stdenv, fetchFromGitHub, python3Packages }:
-
-python3Packages.buildPythonApplication rec {
-  name = "speedtest-cli-${version}";
-  version = "2.0.2";
-
-  src = fetchFromGitHub {
-    owner = "sivel";
-    repo = "speedtest-cli";
-    rev = "v${version}";
-    sha256 = "0vv2z37g2kgm2dzkfa4bhri92hs0d1acxi8z66gznsl5148q7sdi";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/sivel/speedtest-cli;
-    description = "Command line interface for testing internet bandwidth using speedtest.net";
-    platforms = platforms.all;
-    license = licenses.asl20;
-    maintainers = with maintainers; [ domenkozar ndowens ];
-  };
-}
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index a009e76d9e0a..f26cef3e61d3 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unbound-${version}";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchurl {
     url = "https://unbound.net/downloads/${name}.tar.gz";
-    sha256 = "c11de115d928a6b48b2165e0214402a7a7da313cd479203a7ce7a8b62cba602d";
+    sha256 = "0gxqc4ynd2g1a5dwaazqh9n8injh49a7dz0l9bbxqgv47dnrvxvq";
   };
 
   outputs = [ "out" "lib" "man" ]; # "dev" would only split ~20 kB
diff --git a/pkgs/tools/package-management/appimage-run/default.nix b/pkgs/tools/package-management/appimage-run/default.nix
index 8e236aa426fd..e744b897f46a 100644
--- a/pkgs/tools/package-management/appimage-run/default.nix
+++ b/pkgs/tools/package-management/appimage-run/default.nix
@@ -134,7 +134,8 @@ buildFHSUserEnv {
 
       if ${file}/bin/file --mime-type --brief --keep-going "$APPIMAGE" | grep -q iso; then
         # is type-1 appimage
-        ${libarchive}/bin/bsdtar -x -C "$SQUASHFS_ROOT" -f "$APPIMAGE"
+        mkdir "$APPDIR"
+        ${libarchive}/bin/bsdtar -x -C "$APPDIR" -f "$APPIMAGE"
       else
         # is type-2 appimage
         "$APPIMAGE" --appimage-extract 2>/dev/null
diff --git a/pkgs/tools/package-management/dpkg/default.nix b/pkgs/tools/package-management/dpkg/default.nix
index 99d59ae65de9..8cb8237c538c 100644
--- a/pkgs/tools/package-management/dpkg/default.nix
+++ b/pkgs/tools/package-management/dpkg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "dpkg-${version}";
-  version = "1.19.0.5";
+  version = "1.19.2";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/d/dpkg/dpkg_${version}.tar.xz";
-    sha256 = "1dc5kp3fqy1k66fly6jfxkkg7w6d0jy8szddpfyc2xvzga94d041";
+    sha256 = "0w8vhvwnhvwq3k3cw9d1jiy61v4r81wv6q5rkliq2nq6z0naxwpq";
   };
 
   configureFlags = [
diff --git a/pkgs/tools/package-management/xbps/default.nix b/pkgs/tools/package-management/xbps/default.nix
index dbcd9dafbef6..d29b46b87bed 100644
--- a/pkgs/tools/package-management/xbps/default.nix
+++ b/pkgs/tools/package-management/xbps/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "xbps-${version}";
-  version = "0.52";
+  version = "0.53";
 
   src = fetchFromGitHub {
-    owner = "voidlinux";
+    owner = "void-linux";
     repo = "xbps";
     rev = version;
-    sha256 = "1sf6iy9l3dijsczsngzbhksshfm1374g2rrdasc04l6gz35l2cdp";
+    sha256 = "1zicin2z5j7vg2ixzpd6nahjhrjwdcavm817wzgs9x013b596paa";
   };
 
   nativeBuildInputs = [ pkgconfig which ];
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/voidlinux/xbps;
+    homepage = https://github.com/void-linux/xbps;
     description = "The X Binary Package System";
     platforms = platforms.linux; # known to not work on Darwin, at least
     license = licenses.bsd2;
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index f4def72b728c..0cf59dc555c2 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,27 +1,46 @@
 { stdenv, fetchurl, makeWrapper
 , perl, libassuan, libgcrypt
-, perlPackages, lockfileProgs, gnupg
+, perlPackages, lockfileProgs, gnupg, coreutils
+# For the tests:
+, bash, openssh, which, socat, cpio, hexdump
 }:
 
 stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.41";
+  version = "0.42";
 
   src = fetchurl {
     url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
-    sha256 = "0jz7kwkwgylqprnl8bwvl084s5gjrilza77ln18i3f6x48b2y6li";
+    sha256 = "1haqgjxm8v2xnhc652lx79p2cqggb9gxgaf19w9l9akar2qmdjf1";
   };
 
   patches = [ ./monkeysphere.patch ];
 
+  postPatch = ''
+    sed -i "s,/usr/bin/env,${coreutils}/bin/env," src/share/ma/update_users
+  '';
+
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl libassuan libgcrypt ];
+  buildInputs = [ perl libassuan libgcrypt ]
+    ++ stdenv.lib.optional doCheck
+      ([ gnupg openssh which socat cpio hexdump lockfileProgs ] ++
+      (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
     PREFIX=/
     DESTDIR=$(out)
   '';
 
+  # Not all checks pass yet (NixOS specific problems) and the tests "drain"
+  # entropy (apparently GnuPG still uses /dev/random).
+  doCheck = false;
+  preCheck = ''
+    patchShebangs tests/
+    patchShebangs src/
+    sed -i "s,/usr/sbin/sshd,${openssh}/bin/sshd," tests/basic
+    sed -i "s/<(hd/<(hexdump/" tests/keytrans
+  '';
+
   postFixup =
     let wrapperArgs = runtimeDeps:
           "--prefix PERL5LIB : "
diff --git a/pkgs/tools/security/nmap/default.nix b/pkgs/tools/security/nmap/default.nix
index 4c6df817a72d..09423a96ef96 100644
--- a/pkgs/tools/security/nmap/default.nix
+++ b/pkgs/tools/security/nmap/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libpcap, pkgconfig, openssl
+{ stdenv, fetchurl, libpcap, pkgconfig, openssl, lua5_3
 , graphicalSupport ? false
 , libX11 ? null
 , gtk2 ? null
@@ -35,11 +35,17 @@ in stdenv.mkDerivation rec {
         --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
   '';
 
-  configureFlags = []
+  configureFlags = [ "--with-liblua=${lua5_3}" ]
     ++ optional (!pythonSupport) "--without-ndiff"
     ++ optional (!graphicalSupport) "--without-zenmap"
     ;
 
+  makeFlags = optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
+    "AR=${stdenv.cc.bintools.targetPrefix}ar"
+    "RANLIB=${stdenv.cc.bintools.targetPrefix}ranlib"
+    "CC=${stdenv.cc.targetPrefix}gcc"
+  ];
+
   postInstall = optionalString pythonSupport ''
       wrapProgram $out/bin/ndiff --prefix PYTHONPATH : "$(toPythonPath $out)" --prefix PYTHONPATH : "$PYTHONPATH"
   '' + optionalString graphicalSupport ''
diff --git a/pkgs/tools/system/fio/default.nix b/pkgs/tools/system/fio/default.nix
index 41016dc49fa5..c0210127d9f2 100644
--- a/pkgs/tools/system/fio/default.nix
+++ b/pkgs/tools/system/fio/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fio-${version}";
-  version = "3.10";
+  version = "3.11";
 
   src = fetchFromGitHub {
     owner  = "axboe";
     repo   = "fio";
     rev    = "fio-${version}";
-    sha256 = "0cg6knaja32g46j1vlf0qw4q8yng7hrnnvh6b768pbjdxpn3wvi0";
+    sha256 = "0k5hja50qmz6qwm8h7z00zdgxhf1vg1g168jinqzn1521fihvlvz";
   };
 
   buildInputs = [ python zlib ]
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
index 0afdb28728c8..3aba05f7aefe 100644
--- a/pkgs/tools/system/gotop/default.nix
+++ b/pkgs/tools/system/gotop/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "gotop-${version}";
-  version = "1.2.9";
+  version = "1.5.0";
 
   goPackagePath = "github.com/cjbassi/gotop";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     repo = "gotop";
     owner = "cjbassi";
     rev = version;
-    sha256 = "07s2f04yhc79vqr1gdh2v974kpn7flp4slnp99mavpa331lv9q8a";
+    sha256 = "19kj7mziwkfcf9kkwph05jh5vlkfqpyrpxdk5gdf2swg07w1ld35";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/gnupatch/default.nix b/pkgs/tools/text/gnupatch/default.nix
index e22850a63f01..238dba3a9f1e 100644
--- a/pkgs/tools/text/gnupatch/default.nix
+++ b/pkgs/tools/text/gnupatch/default.nix
@@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = stdenv.lib.optional doCheck ed;
   nativeBuildInputs = [ autoreconfHook ];
 
   configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
@@ -31,6 +30,7 @@ stdenv.mkDerivation rec {
   ];
 
   doCheck = stdenv.hostPlatform.libc != "musl"; # not cross;
+  checkInputs = [ed];
 
   meta = {
     description = "GNU Patch, a program to apply differences to files";
diff --git a/pkgs/tools/text/html-tidy/default.nix b/pkgs/tools/text/html-tidy/default.nix
index 51ce4baa0beb..1974c0aa4f36 100644
--- a/pkgs/tools/text/html-tidy/default.nix
+++ b/pkgs/tools/text/html-tidy/default.nix
@@ -13,8 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake libxslt/*manpage*/ ];
 
-  cmakeFlags = stdenv.lib.optional
-    (stdenv.hostPlatform.libc or null == "msvcrt") "-DCMAKE_SYSTEM_NAME=Windows";
+  cmakeFlags = [];
 
   # ATM bin/tidy is statically linked, as upstream provides no other option yet.
   # https://github.com/htacg/tidy-html5/issues/326#issuecomment-160322107
diff --git a/pkgs/tools/typesetting/scdoc/default.nix b/pkgs/tools/typesetting/scdoc/default.nix
index 270fd7da1717..5789f51abd9c 100644
--- a/pkgs/tools/typesetting/scdoc/default.nix
+++ b/pkgs/tools/typesetting/scdoc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "scdoc-${version}";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "https://git.sr.ht/~sircmpwn/scdoc/archive/${version}.tar.gz";
-    sha256 = "0hcwpyy97afwq40qn8jq75f1b2p0172lil1v0hs9a0rislpqk5nm";
+    sha256 = "0a9sxifzsbj24kjnpc0525i91ni2vkwizhgvwx1m9shvfkiisnc6";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/video/bento4/default.nix b/pkgs/tools/video/bento4/default.nix
new file mode 100644
index 000000000000..687f80f1adfc
--- /dev/null
+++ b/pkgs/tools/video/bento4/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub
+, cmake
+}:
+stdenv.mkDerivation rec {
+  name = "bento4-${version}";
+  version = "1.5.1-624";
+
+  src = fetchFromGitHub {
+    owner = "axiomatic-systems";
+    repo = "Bento4";
+    rev = "v${version}";
+    sha256 = "1cq6vhrq3n3lc1n454slbc66qdyqam2srxgdhfpyfxbq5c4y06nf";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  installPhase = ''
+    mkdir -p $out/{lib,bin}
+    find -iname '*.so' -exec mv --target-directory="$out/lib" {} \;
+    find -maxdepth 1 -executable -type f -exec mv --target-directory="$out/bin" {} \;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Full-featured MP4 format and MPEG DASH library and tools";
+    homepage = http://bento4.com;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ makefu ];
+    broken = stdenv.isAarch64;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 12852265c406..c4fb74cf1a1d 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, buildPerlPackage, perlPackages, makeWrapper}:
+{ stdenv, fetchFromGitHub, perlPackages, makeWrapper}:
 
-buildPerlPackage rec {
+perlPackages.buildPerlPackage rec {
   name = "linode-cli-${version}";
   version = "1.4.7";
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 8fcf0baba02d..a0f611dd9611 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -54,6 +54,7 @@ mapAliases ({
   buildbot-pkg = pythonPackages.buildbot-pkg; # added 2018-10-11
   buildbot-ui = pythonPackages.buildbot-ui; # added 2018-10-11
   buildbot-worker = pythonPackages.buildbot-worker; # added 2018-10-11
+  buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
   bundler_HEAD = bundler; # added 2015-11-15
   cantarell_fonts = cantarell-fonts; # added 2018-03-03
   checkbashism = checkbashisms; # added 2016-08-16
@@ -209,6 +210,8 @@ mapAliases ({
   p11_kit = p11-kit; # added 2018-02-25
   parquet-cpp = arrow-cpp; # added 2018-09-08
   pass-otp = pass.withExtensions (ext: [ext.pass-otp]); # added 2018-05-04
+  perlXMLParser = perlPackages.XMLParser; # added 2018-10-12
+  perlArchiveCpio = perlPackages.ArchiveCpio; # added 2018-10-12
   pgp-tools = signing-party; # added 2017-03-26
   pidgin-with-plugins = pidgin; # added 2016-06
   pidginlatex = pidgin-latex; # added 2018-01-08
@@ -316,8 +319,12 @@ mapAliases ({
   xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
   xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
   xlibs = xorg; # added 2015-09
+  xpraGtk3 = xpra; # added 2018-09-13
   youtubeDL = youtube-dl;  # added 2014-10-26
 
+  # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
+  # branch-off
+
   # added 2017-05-27
   wineMinimal = winePackages.minimal;
   wineFull = winePackages.full;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index fcf7d57bf928..07075bdefcd6 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1684,6 +1684,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  bento4 = callPackage ../tools/video/bento4 { };
+
   bepasty = callPackage ../tools/misc/bepasty { };
 
   bettercap = callPackage ../tools/security/bettercap { };
@@ -2075,7 +2077,7 @@ with pkgs;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
-    gssSupport = true;
+    gssSupport = !stdenv.hostPlatform.isWindows;
   };
 
   curl = callPackage ../tools/networking/curl rec {
@@ -2084,7 +2086,7 @@ with pkgs;
     zlibSupport = true;
     sslSupport = zlibSupport;
     scpSupport = zlibSupport && !stdenv.isSunOS && !stdenv.isCygwin;
-    gssSupport = true;
+    gssSupport = !stdenv.hostPlatform.isWindows;
   };
 
   curl_unix_socket = callPackage ../tools/networking/curl-unix-socket rec { };
@@ -2366,6 +2368,8 @@ with pkgs;
 
   carp = callPackage ../development/compilers/carp { };
 
+  cholmod-extra = callPackage ../development/libraries/science/math/cholmod-extra { };
+
   emscriptenVersion = "1.37.36";
 
   emscripten = callPackage ../development/compilers/emscripten { };
@@ -5036,9 +5040,7 @@ with pkgs;
     gsettings-desktop-schemas = gnome3.gsettings-desktop-schemas;
   };
 
-  rename = callPackage ../tools/misc/rename {
-    inherit (perlPackages) buildPerlPackage;
-  };
+  rename = callPackage ../tools/misc/rename { };
 
   renameutils = callPackage ../tools/misc/renameutils { };
 
@@ -5923,6 +5925,12 @@ with pkgs;
 
   wbox = callPackage ../tools/networking/wbox {};
 
+  webassemblyjs-cli = nodePackages."@webassemblyjs/cli";
+  webassemblyjs-repl = nodePackages."@webassemblyjs/repl";
+  wasm-strip = nodePackages."@webassemblyjs/wasm-strip";
+  wasm-text-gen = nodePackages."@webassemblyjs/wasm-text-gen";
+  wast-refmt = nodePackages."@webassemblyjs/wast-refmt";
+
   welkin = callPackage ../tools/graphics/welkin {};
 
   whipper = callPackage ../applications/audio/whipper { };
@@ -6829,7 +6837,7 @@ with pkgs;
 
   cabal-install = haskell.lib.justStaticExecutables haskellPackages.cabal-install;
 
-  stack = haskell.lib.justStaticExecutables haskellPackages.stack;
+  stack = haskell.lib.justStaticExecutables haskell.packages.ghc861.stack;
   hlint = haskell.lib.justStaticExecutables haskellPackages.hlint;
 
   all-cabal-hashes = callPackage ../data/misc/hackage { };
@@ -6964,14 +6972,12 @@ with pkgs;
         (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
           ((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
 
-  jdk10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejdk10 else openjdk10 // { outputs = [ "out" ]; };
-  jre10 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre10 else lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
+  jdk10 = openjdk10 // { outputs = [ "out" ]; };
+  jre10 = lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
     (lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
       (openjdk10.jre // { outputs = [ "jre" ]; }));
   jre10_headless =
-    if stdenv.isAarch32 || stdenv.isAarch64 then
-      oraclejre10
-    else if stdenv.isDarwin then
+    if stdenv.isDarwin then
       jre10
     else
       lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}-headless"
@@ -6986,6 +6992,8 @@ with pkgs;
 
   openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
 
+  openspin = callPackage ../development/compilers/openspin { };
+
   oraclejdk = pkgs.jdkdistro true false;
 
   oraclejdk8 = pkgs.oraclejdk8distro true false;
@@ -7174,7 +7182,13 @@ with pkgs;
 
   mkcl = callPackage ../development/compilers/mkcl {};
 
-  mlton = callPackage ../development/compilers/mlton { };
+  inherit (callPackage ../development/compilers/mlton {})
+    mlton20130715
+    mlton20180207Binary
+    mlton20180207
+    mltonHEAD;
+
+  mlton = mlton20180207;
 
   mono  = mono5;
   mono5 = mono58;
@@ -7904,7 +7918,7 @@ with pkgs;
   tcl-8_5 = callPackage ../development/interpreters/tcl/8.5.nix { };
   tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { };
 
-  wasm = callPackage ../development/interpreters/wasm { };
+  proglodyte-wasm = callPackage ../development/interpreters/proglodyte-wasm { };
 
   wasm-gc = callPackage ../development/interpreters/wasm-gc { };
 
@@ -7997,6 +8011,10 @@ with pkgs;
 
   ### DEVELOPMENT / TOOLS
 
+  abi-compliance-checker = callPackage ../development/tools/misc/abi-compliance-checker { };
+
+  abi-dumper = callPackage ../development/tools/misc/abi-dumper { };
+
   activator = throw ''
     Typesafe Activator was removed in 2017-05-08 as the actual package reaches end of life.
 
@@ -8005,13 +8023,13 @@ with pkgs;
     for more information.
   '';
 
+  adtool = callPackage ../tools/admin/adtool { };
+
   inherit (callPackage ../development/tools/alloy { })
     alloy4
     alloy5
     alloy;
 
-  adtool = callPackage ../tools/admin/adtool { };
-
   augeas = callPackage ../tools/system/augeas { };
 
   inherit (callPackages ../tools/admin/ansible {})
@@ -8262,7 +8280,7 @@ with pkgs;
   cpplint = callPackage ../development/tools/analysis/cpplint { };
 
   cquery = callPackage ../development/tools/misc/cquery {
-    llvmPackages = llvmPackages_6;
+    llvmPackages = llvmPackages_7;
   };
 
   creduce = callPackage ../development/tools/misc/creduce {
@@ -8833,7 +8851,7 @@ with pkgs;
 
   sparse = callPackage ../development/tools/analysis/sparse { };
 
-  speedtest-cli = callPackage ../tools/networking/speedtest-cli { };
+  speedtest-cli = with python3Packages; toPythonApplication speedtest-cli;
 
   spin = callPackage ../development/tools/analysis/spin { };
 
@@ -8935,6 +8953,8 @@ with pkgs;
     pythonPackages = python3Packages;
   };
 
+  vtable-dumper = callPackage ../development/tools/misc/vtable-dumper { };
+
   watson-ruby = callPackage ../development/tools/misc/watson-ruby {};
 
   xc3sprog = callPackage ../development/tools/misc/xc3sprog { };
@@ -9495,6 +9515,8 @@ with pkgs;
 
   flyway = callPackage ../development/tools/flyway { };
 
+  fmt = callPackage ../development/libraries/fmt/default.nix { };
+
   fplll = callPackage ../development/libraries/fplll {};
   fplll_20160331 = callPackage ../development/libraries/fplll/20160331.nix {};
 
@@ -10226,6 +10248,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreAudio CoreServices AudioUnit;
   };
 
+  libaosd = callPackage ../development/libraries/libaosd { };
+
   libabw = callPackage ../development/libraries/libabw { };
 
   libamqpcpp = callPackage ../development/libraries/libamqpcpp { };
@@ -10291,6 +10315,8 @@ with pkgs;
     inherit (xorg) libX11 libXext;
   };
 
+  libcacard = callPackage ../development/libraries/libcacard { };
+
   libcanberra = callPackage ../development/libraries/libcanberra {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -12881,6 +12907,8 @@ with pkgs;
 
   leaps = callPackage ../development/tools/leaps { };
 
+  vgo2nix = callPackage ../development/tools/vgo2nix { };
+
   ws = callPackage ../development/tools/ws { };
 
   ### DEVELOPMENT / JAVA MODULES
@@ -12940,14 +12968,10 @@ with pkgs;
   });
 
   perlPackages = perl528Packages;
-  inherit (perlPackages) perl buildPerlPackage;
-
-  perlXMLParser = perlPackages.XMLParser;
+  inherit (perlPackages) perl;
 
   ack = perlPackages.ack;
 
-  perlArchiveCpio = perlPackages.ArchiveCpio;
-
   perlcritic = perlPackages.PerlCritic;
 
   sqitchPg = callPackage ../development/tools/misc/sqitch {
@@ -13755,21 +13779,19 @@ with pkgs;
     inherit (darwin.apple_sdk.libs) Xplugin;
   };
 
-  xorg = recurseIntoAttrs (lib.callPackagesWith pkgs ../servers/x11/xorg {
-    inherit clangStdenv fetchurl fetchgit fetchpatch stdenv intltool freetype fontconfig
-      libxslt expat libpng zlib perl mesa_drivers spice-protocol libunwind
-      dbus libuuid openssl gperf m4 libevdev tradcpp libinput mcpp makeWrapper autoreconfHook
-      autoconf automake libtool mtdev pixman libGL libGLU
-      cairo epoxy;
-    inherit (buildPackages) pkgconfig xmlto asciidoc flex bison;
-    inherit (darwin) apple_sdk cf-private libobjc;
+  # Use `lib.callPackageWith __splicedPackages` rather than plain `callPackage`
+  # so as not to have the newly bound xorg items already in scope,  which would
+  # have created a cycle.
+  xorg = recurseIntoAttrs ((lib.callPackageWith __splicedPackages ../servers/x11/xorg {
+  }).overrideScope' (lib.callPackageWith __splicedPackages ../servers/x11/xorg/overrides.nix {
+    inherit (darwin) apple_sdk;
     bootstrap_cmds = if stdenv.isDarwin then darwin.bootstrap_cmds else null;
     python = python2; # Incompatible with Python 3x
     udev = if stdenv.isLinux then udev else null;
     libdrm = if stdenv.isLinux then libdrm else null;
     abiCompat = config.xorg.abiCompat # `config` because we have no `xorg.override`
       or (if stdenv.isDarwin then "1.18" else null); # 1.19 needs fixing on Darwin
-  } // { inherit xlibsWrapper; } );
+  }) // { inherit xlibsWrapper; } );
 
   xwayland = callPackage ../servers/x11/xorg/xwayland.nix { };
 
@@ -14116,8 +14138,8 @@ with pkgs;
       ];
   };
 
-  # linux mptcp is based on the 4.4 kernel
-  linux_mptcp = callPackage ../os-specific/linux/kernel/linux-mptcp.nix {
+  linux_mptcp = linux_mptcp_94;
+  linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.cpu-cgroup-v2."4.11"
@@ -14196,6 +14218,16 @@ with pkgs;
       ];
   };
 
+  linux_4_19 = callPackage ../os-specific/linux/kernel/linux-4.19.nix {
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+        # when adding a new linux version
+        # kernelPatches.cpu-cgroup-v2."4.11"
+        kernelPatches.modinst_arg_list_too_long
+      ];
+  };
+
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -14388,7 +14420,7 @@ with pkgs;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_4_18;
+  linuxPackages_latest = linuxPackages_4_19;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
@@ -14399,6 +14431,7 @@ with pkgs;
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   linuxPackages_4_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_18);
+  linuxPackages_4_19 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_19);
   # Don't forget to update linuxPackages_latest!
 
   # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
@@ -14955,6 +14988,8 @@ with pkgs;
 
   andagii = callPackage ../data/fonts/andagii { };
 
+  andika = callPackage ../data/fonts/andika { };
+
   android-udev-rules = callPackage ../os-specific/linux/android-udev-rules { };
 
   anonymousPro = callPackage ../data/fonts/anonymous-pro { };
@@ -14987,6 +15022,8 @@ with pkgs;
 
   carlito = callPackage ../data/fonts/carlito {};
 
+  charis-sil = callPackage ../data/fonts/charis-sil { };
+
   comfortaa = callPackage ../data/fonts/comfortaa {};
 
   comic-neue = callPackage ../data/fonts/comic-neue { };
@@ -15045,6 +15082,8 @@ with pkgs;
 
   documentation-highlighter = callPackage ../misc/documentation-highlighter { };
 
+  doulos-sil = callPackage ../data/fonts/doulos-sil { };
+
   cabin = callPackage ../data/fonts/cabin { };
 
   camingo-code = callPackage ../data/fonts/camingo-code { };
@@ -15471,6 +15510,8 @@ with pkgs;
 
   vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
 
+  weather-icons = callPackage ../data/fonts/weather-icons { };
+
   wireless-regdb = callPackage ../data/misc/wireless-regdb { };
 
   wqy_microhei = callPackage ../data/fonts/wqy-microhei { };
@@ -15792,13 +15833,13 @@ with pkgs;
 
   brackets = callPackage ../applications/editors/brackets { gconf = gnome2.GConf; };
 
+  brave = callPackage ../applications/networking/browsers/brave { };
+
   notmuch-bower = callPackage ../applications/networking/mailreaders/notmuch-bower { };
 
   bristol = callPackage ../applications/audio/bristol { };
 
-  bs1770gain = callPackage ../applications/audio/bs1770gain {
-    ffmpeg = ffmpeg_2;
-  };
+  bs1770gain = callPackage ../applications/audio/bs1770gain { };
 
   bspwm = callPackage ../applications/window-managers/bspwm { };
 
@@ -16981,7 +17022,7 @@ with pkgs;
 
   googleearth = callPackage ../applications/misc/googleearth { };
 
-  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; patchelf = patchelfUnstable; };
+  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
 
   google-chrome-beta = google-chrome.override { chromium = chromiumBeta; channel = "beta"; };
 
@@ -17112,6 +17153,8 @@ with pkgs;
 
   singularity = callPackage ../applications/virtualization/singularity { };
 
+  spectmorph = callPackage ../applications/audio/spectmorph { };
+
   spectrwm = callPackage ../applications/window-managers/spectrwm { };
 
   spectral = qt5.callPackage ../applications/networking/instant-messengers/spectral { };
@@ -17698,6 +17741,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) vmnet;
   };
 
+  minishift = callPackage ../applications/networking/cluster/minishift { };
+
   minitube = libsForQt5.callPackage ../applications/video/minitube { };
 
   mimic = callPackage ../applications/audio/mimic {
@@ -18127,6 +18172,8 @@ with pkgs;
 
   ogmtools = callPackage ../applications/video/ogmtools { };
 
+  omegat = callPackage ../applications/misc/omegat.nix { };
+
   omxplayer = callPackage ../applications/video/omxplayer { };
 
   openbox = callPackage ../applications/window-managers/openbox { };
@@ -18564,6 +18611,8 @@ with pkgs;
 
   rclone = callPackage ../applications/networking/sync/rclone { };
 
+  rclone-browser = libsForQt5.callPackage ../applications/networking/sync/rclone/browser.nix { };
+
   rcs = callPackage ../applications/version-management/rcs { };
 
   rdesktop = callPackage ../applications/networking/remote/rdesktop { };
@@ -19463,6 +19512,7 @@ with pkgs;
   winswitch = callPackage ../tools/X11/winswitch { };
 
   wings = callPackage ../applications/graphics/wings {
+    esdl = esdl.override { erlang = erlangR18; };
     erlang = erlangR18;
   };
 
@@ -19759,8 +19809,6 @@ with pkgs;
 
   xpra = callPackage ../tools/X11/xpra { };
   libfakeXinerama = callPackage ../tools/X11/xpra/libfakeXinerama.nix { };
-  #TODO: 'pil' is not available for python3, yet
-  xpraGtk3 = callPackage ../tools/X11/xpra/gtk3.nix { inherit (texFunctions) fontsConf; inherit (python3Packages) buildPythonApplication python cython pygobject3 pycairo; };
 
   xrectsel = callPackage ../tools/X11/xrectsel { };
 
@@ -20317,11 +20365,9 @@ with pkgs;
 
   pong3d = callPackage ../games/pong3d { };
 
-  pokerth = callPackage ../games/pokerth {
-    protobuf = protobuf3_4;
-  };
+  pokerth = libsForQt5.callPackage ../games/pokerth { };
 
-  pokerth-server = pokerth.server;
+  pokerth-server = libsForQt5.callPackage ../games/pokerth { target = "server"; };
 
   prboom = callPackage ../games/prboom { };
 
@@ -20411,6 +20457,12 @@ with pkgs;
 
   scummvm = callPackage ../games/scummvm { };
 
+  inherit (callPackage ../games/scummvm/games.nix { })
+    beneath-a-steel-sky
+    drascula-the-vampire-strikes-back
+    flight-of-the-amazon-queen
+    lure-of-the-temptress;
+
   scorched3d = callPackage ../games/scorched3d { };
 
   scrolls = callPackage ../games/scrolls { };
@@ -21044,6 +21096,8 @@ with pkgs;
 
   m4rie = callPackage ../development/libraries/science/math/m4rie { };
 
+  mkl = callPackage ../development/libraries/science/math/mkl { };
+
   nasc = callPackage ../applications/science/math/nasc { };
 
   openblas = callPackage ../development/libraries/science/math/openblas { };
@@ -21105,8 +21159,9 @@ with pkgs;
   sageWithDoc = sage.override { withDoc = true; };
 
   suitesparse_4_2 = callPackage ../development/libraries/science/math/suitesparse/4.2.nix { };
-  suitesparse_4_4 = callPackage ../development/libraries/science/math/suitesparse {};
-  suitesparse = suitesparse_4_4;
+  suitesparse_4_4 = callPackage ../development/libraries/science/math/suitesparse/4.4.nix {};
+  suitesparse_5_3 = callPackage ../development/libraries/science/math/suitesparse {};
+  suitesparse = suitesparse_5_3;
 
   superlu = callPackage ../development/libraries/science/math/superlu {};
 
@@ -22323,7 +22378,7 @@ with pkgs;
   unity3d = callPackage ../development/tools/unity3d {
     stdenv = stdenv_32bit;
     gcc_32bit = pkgsi686Linux.gcc;
-    inherit (gnome2) GConf libgnomeui gnome_vfs;
+    inherit (gnome2) GConf;
   };
 
   urbit = callPackage ../misc/urbit { };
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index 6bdcaf49af91..e654b35d258d 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -69,6 +69,11 @@ in {
       buildLlvmPackages = buildPackages.llvmPackages_5;
       llvmPackages = pkgs.llvmPackages_5;
     };
+    ghc844 = callPackage ../development/compilers/ghc/8.4.4.nix {
+      bootPkgs = packages.ghc821Binary;
+      buildLlvmPackages = buildPackages.llvmPackages_5;
+      llvmPackages = pkgs.llvmPackages_5;
+    };
     ghc861 = callPackage ../development/compilers/ghc/8.6.1.nix {
       bootPkgs = packages.ghc822;
       buildLlvmPackages = buildPackages.llvmPackages_6;
@@ -153,6 +158,11 @@ in {
       ghc = bh.compiler.ghc843;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
     };
+    ghc844 = callPackage ../development/haskell-modules {
+      buildHaskellPackages = bh.packages.ghc844;
+      ghc = bh.compiler.ghc844;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.4.x.nix { };
+    };
     ghc861 = callPackage ../development/haskell-modules {
       buildHaskellPackages = bh.packages.ghc861;
       ghc = bh.compiler.ghc861;
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index c9df0f908ee2..9f9bba933a17 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -753,6 +753,10 @@ let
 
     zed = callPackage ../development/ocaml-modules/zed { };
 
+    zmq = callPackage ../development/ocaml-modules/zmq { };
+
+    zmq-lwt = callPackage ../development/ocaml-modules/zmq/lwt.nix { };
+
     ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving {
       oasis = ocaml_oasis;
     };
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 4fe08fb6ecb8..e1f90d574a35 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -7,6 +7,8 @@
 
 {config, pkgs, fetchurl, fetchFromGitHub, stdenv, gnused, perl, overrides}:
 
+# cpan2nix assumes that perl-packages.nix will be used only with perl 5.26 or above
+assert stdenv.lib.versionAtLeast perl.version "5.26";
 let
   inherit (stdenv.lib) maintainers;
   self = _self // overrides;
@@ -93,6 +95,34 @@ let
     };
   };
 
+  AlienBuild = buildPerlPackage {
+    name = "Alien-Build-1.48";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.48.tar.gz;
+      sha256 = "1sv4544g2qhwigpj1x2qycafab04p2b0vdr2x07wzriq5fqgsspp";
+    };
+    propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny Test2Suite ];
+    buildInputs = [ DevelHide PkgConfig ];
+    meta = {
+      description = "Build external dependencies for use in CPAN";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  AlienGMP = buildPerlPackage {
+    name = "Alien-GMP-1.14";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-GMP-1.14.tar.gz;
+      sha256 = "116vvh1b0d1ykkklqgfxfn89g3bw90a4cj3qrvsnkw1kk5cmn60a";
+    };
+    propagatedBuildInputs = [ AlienBuild ];
+    buildInputs = [ pkgs.gmp DevelChecklib ];
+    meta = {
+      description = "Alien package for the GNU Multiple Precision library.";
+      license = with stdenv.lib.licenses; [ lgpl3Plus ];
+    };
+  };
+
   aliased = buildPerlModule rec {
     name = "aliased-0.34";
     src = fetchurl {
@@ -525,8 +555,6 @@ let
     };
   };
 
-  ArchiveZip_1_53 = ArchiveZip;
-
   AudioScan = buildPerlPackage rec {
     name = "Audio-Scan-1.01";
     src = fetchurl {
@@ -1857,7 +1885,7 @@ let
       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/${name}.tar.gz";
       sha256 = "c7f1a2b3570a8fede484e933f89ba1729e0abd05935791d146c522dd120ee851";
     };
-    preConfigure = stdenv.lib.optionalString (stdenv.lib.versionAtLeast perl.version "5.26") ''
+    preConfigure = ''
       # fix error 'Unescaped left brace in regex is illegal here in regex'
       substituteInPlace lib/CHI/t/Driver/Subcache/l1_cache.pm --replace 'qr/CHI stats: {' 'qr/CHI stats: \{'
     '';
@@ -2095,7 +2123,7 @@ let
       url = "mirror://cpan/authors/id/E/EV/EVO/${name}.tar.gz";
       sha256 = "0ricb0mn0i06ngfhq5y035yx8i7ahlx83yyqwixqmv6hg4p79b5c";
     };
-    preConfigure = stdenv.lib.optionalString (stdenv.lib.versionAtLeast perl.version "5.26") ''
+    preConfigure = ''
       # fix error 'Unescaped left brace in regex is illegal here in regex'
       substituteInPlace tests/xemulator/class_methodmaker/Test.pm --replace 's/(TEST\s{)/$1/g' 's/(TEST\s\{)/$1/g'
     '';
@@ -2855,6 +2883,18 @@ let
     };
   };
 
+  CryptCurve25519 = buildPerlPackage {
+    name = "Crypt-Curve25519-0.06";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz;
+      sha256 = "1ir0gfxm8i7r9zyfs2zvil5jgwirl7j6cb9cm1p2kjpfnhyp0j4z";
+    };
+    meta = {
+      description = "Generate shared secret using elliptic-curve Diffie-Hellman function";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   CryptDES = buildPerlPackage rec {
     name = "Crypt-DES-2.07";
     src = fetchurl {
@@ -2892,6 +2932,14 @@ let
     propagatedBuildInputs = [ ClassMix ];
   };
 
+  CryptIDEA = buildPerlPackage {
+    name = "Crypt-IDEA-1.10";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz;
+      sha256 = "0690lzlyjqgmnb94dq7dm5n6pgybg10fkpgfycgzr814370pig9k";
+    };
+  };
+
   CryptJWT = buildPerlPackage rec {
     name = "Crypt-JWT-0.023";
     src = fetchurl {
@@ -4423,7 +4471,6 @@ let
     };
   };
 
-  DigestHMAC_SHA1 = DigestHMAC;
   DigestJHash = buildPerlPackage rec {
     name = "Digest-JHash-0.10";
     src = fetchurl {
@@ -5587,6 +5634,19 @@ let
     };
   };
 
+  FFICheckLib = buildPerlPackage {
+    name = "FFI-CheckLib-0.20";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.20.tar.gz;
+      sha256 = "1pggqj5cs77myp4g62jzkld95a286vwkygi7i0hbqjgwf3w3f5gl";
+    };
+    buildInputs = [ Test2Suite ];
+    meta = {
+      description = "Check that a library is available for FFI";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   FennecLite = buildPerlModule {
     name = "Fennec-Lite-0.004";
     src = fetchurl {
@@ -8009,7 +8069,7 @@ let
       sha256 = "0nlgdzy40q26z8qhwngsd461glyai8dpwaccyhiljmrkaqwdjxz2";
     };
     # Do not abort cross-compilation on failure to load native JSON module into host perl
-    preConfigure = ''
+    preConfigure = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
       substituteInPlace Makefile.PL --replace "exit 0;" ""
     '';
     buildInputs = [ TestPod ];
@@ -8852,6 +8912,10 @@ let
       sha256 = "dda2578d7b32152c4afce834761a61d117de286c705a9f7972c7ac6032ca5953";
     };
     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
+    # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
+    postPatch = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+      substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
+    '';
     meta = with stdenv.lib; {
       description = "The World-Wide Web library for Perl";
       license = with licenses; [ artistic1 gpl1Plus ];
@@ -9232,6 +9296,21 @@ let
     };
   };
 
+  MathGMP = buildPerlPackage {
+    name = "Math-GMP-2.19";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.19.tar.gz;
+      sha256 = "1c07521m4d38hy2yx21hkwz22n2672bvrc4i21ldc68h85qy1q8i";
+    };
+    buildInputs = [ pkgs.gmp AlienGMP ];
+    NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
+    NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
+    meta = {
+      description = "High speed arbitrary size integer math";
+      license = with stdenv.lib.licenses; [ lgpl21Plus ];
+    };
+  };
+
   MathGeometryVoronoi = buildPerlPackage rec {
     name = "Math-Geometry-Voronoi-1.3";
     src = fetchurl {
@@ -11105,7 +11184,7 @@ let
       url = "mirror://cpan/authors/id/D/DA/DANBERR/${name}.tar.gz";
       sha256 = "8391696db9e96c374b72984c0bad9c7d1c9f3b4efe68f9ddf429a77548e0e269";
     };
-    nativeBuildInputs = [ pkgs.pkgconfig ];
+    nativeBuildInputs = [ pkgs.buildPackages.pkgconfig ];
     buildInputs = [ pkgs.dbus TestPod TestPodCoverage ];
     propagatedBuildInputs = [ XMLTwig ];
     meta = {
@@ -11274,7 +11353,7 @@ let
       url = "mirror://cpan/authors/id/I/IV/IVAN/${name}.tar.gz";
       sha256 = "88a9b2df69e769e5855a408b19f61915b82e8fe070ab5cf4d525dd3b8bbe31c1";
     };
-    propagatedBuildInputs = [ pkgs.openssl Carp Exporter IO NetSSH StringShellQuote ];
+    propagatedBuildInputs = [ pkgs.openssl Carp IO NetSSH StringShellQuote ];
     patchPhase = ''
       sed -i 's|$scp = "scp";|$scp = "${pkgs.openssh}/bin/scp";|' SCP.pm
     '';
@@ -11367,7 +11446,7 @@ let
       url = "mirror://cpan/authors/id/I/IV/IVAN/${name}.tar.gz";
       sha256 = "7c71c7c3cbe953234dfe25bcc1ad7edb0e1f5a0578601f5523bc6070262a3817";
     };
-    propagatedBuildInputs = [ pkgs.openssl Exporter IO ];
+    propagatedBuildInputs = [ pkgs.openssl IO ];
     patchPhase = ''
       sed -i 's|$ssh = "ssh";|$ssh = "${pkgs.openssh}/bin/ssh";|' SSH.pm
     '';
@@ -11377,6 +11456,20 @@ let
     };
   };
 
+  NetSSHPerl = buildPerlPackage rec {
+    name = "Net-SSH-Perl-2.14";
+    src = fetchurl {
+      url = mirror://cpan/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz;
+      sha256 = "2b5d1bb13590b5870116704e7f1dce9a9823c4f80ff5461b97bb26a317393017";
+    };
+    propagatedBuildInputs = [ CryptCurve25519 CryptIDEA CryptX FileHomeDir MathGMP StringCRC32 ];
+    preCheck = "export HOME=$TMPDIR";
+    meta = {
+      description = "Perl client Interface to SSH";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   NetSSLeay = buildPerlPackage rec {
     name = "Net-SSLeay-1.85";
     src = fetchurl {
@@ -12018,7 +12111,7 @@ let
       sha256 = "18wxvp7psqrx0zdvg47azrals572hv9fx1s3p0q65s87lnk3q63l";
     };
     outputs = [ "out" ];
-    buildInputs = [ DBDmysql DBI DigestMD5 IOSocketSSL TermReadKey TimeHiRes ];
+    buildInputs = [ DBDmysql DBI IOSocketSSL TermReadKey TimeHiRes ];
     meta = {
       description = ''Collection of advanced command-line tools to perform a variety of MySQL and system tasks.'';
       homepage = http://www.percona.com/software/percona-toolkit;
@@ -13335,7 +13428,6 @@ let
       sha256 = "17syqbq17qw6ajg3w88q9ljdm4c2b7zadq9pwshxxgyijg8dlfh4";
     };
     buildInputs = [ TestDeep TestDifferences TestWarn TestLongString ];
-    propagatedBuildInputs = [ XSLoader ];
     preBuild = ''ls'';
     meta = {
       homepage = https://github.com/Sereal/Sereal;
@@ -13352,7 +13444,7 @@ let
       sha256 = "02hbk5dwq7fpnyb3vp7xxhb41ra48xhghl13p9pjq9lzsqlb6l19";
     };
     buildInputs = [ TestDeep TestDifferences TestWarn TestLongString ];
-    propagatedBuildInputs = [ XSLoader SerealDecoder ];
+    propagatedBuildInputs = [ SerealDecoder ];
     meta = {
       homepage = https://github.com/Sereal/Sereal;
       description = "Fast, compact, powerful binary deserialization";
@@ -14045,7 +14137,7 @@ let
       sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp";
     };
 
-    buildInputs = [ ArchiveZip_1_53 pkgs.file ];
+    buildInputs = [ ArchiveZip pkgs.file ];
     meta.broken = true;
   };
 
@@ -14059,7 +14151,7 @@ let
       sha256 = "1y9lfhxgwyysybing72n3hng2db5njpk2dbb80vskdz75r7ffqjp";
     };
 
-    buildInputs = [ ArchiveZip_1_53 libfile-stripnondeterminism pkgs.file ];
+    buildInputs = [ ArchiveZip libfile-stripnondeterminism pkgs.file ];
 
     meta = with stdenv.lib; {
       description = "A Perl module for stripping bits of non-deterministic information";
@@ -14125,7 +14217,6 @@ let
     };
   };
 
-  SubExporterUtil = SubExporter;
   SubIdentify = buildPerlPackage rec {
     name = "Sub-Identify-0.14";
     src = fetchurl {
@@ -14841,7 +14932,7 @@ let
     meta = {
       description = "Aggregate C<*.t> tests to make them run faster";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      broken = stdenv.lib.versionAtLeast perl.version "5.26"; # This module only works with Test::More version < 1.3, but you have 1.302133
+      broken = true; # This module only works with Test::More version < 1.3, but you have 1.302133
     };
   };
 
@@ -16967,7 +17058,7 @@ let
      meta = {
        description = "Turns ref() into a multimethod";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-       broken = stdenv.lib.versionAtLeast perl.version "5.26"; # 'OP {aka struct op}' has no member named 'op_sibling'
+       broken = true; # 'OP {aka struct op}' has no member named 'op_sibling'
      };
   };
 
@@ -17594,9 +17685,11 @@ let
       url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
       sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
-    patchPhase = if stdenv.isCygwin then ''
+    patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+      substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
+    '' + stdenv.lib.optionalString stdenv.isCygwin ''
       sed -i"" -e "s@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. \$Config{_exe};@my \$compiler = File::Spec->catfile(\$path, \$cc\[0\]) \. (\$^O eq 'cygwin' ? \"\" : \$Config{_exe});@" inc/Devel/CheckLib.pm
-    '' else null;
+    '';
     makeMakerFlags = "EXPATLIBPATH=${pkgs.expat.out}/lib EXPATINCPATH=${pkgs.expat.dev}/include";
     propagatedBuildInputs = [ LWP ];
   };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index 0f8f8b5dd30c..63c0e36eb370 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -390,11 +390,11 @@ let
 
   php-cs-fixer = pkgs.stdenv.mkDerivation rec {
     name = "php-cs-fixer-${version}";
-    version = "2.12.2";
+    version = "2.13.1";
 
     src = pkgs.fetchurl {
       url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-      sha256 = "19cq04x1wi489259vyad15zy6y0k3qd7dj77pcf74gxqw92hgg5c";
+      sha256 = "0yy9q140jd63h9qz5jvplh7ls3j7y1hf25dkxk0h4mx9cbxdzkq4";
     };
 
     phases = [ "installPhase" ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 116226428239..6c5870b529c1 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -258,6 +258,8 @@ in {
 
   breathe = callPackage ../development/python-modules/breathe { };
 
+  brotli = callPackage ../development/python-modules/brotli { };
+
   browser-cookie3 = callPackage ../development/python-modules/browser-cookie3 { };
 
   browsermob-proxy = disabledIf isPy3k (callPackage ../development/python-modules/browsermob-proxy {});
@@ -340,6 +342,8 @@ in {
 
   genanki = callPackage ../development/python-modules/genanki { };
 
+  gidgethub = callPackage ../development/python-modules/gidgethub { };
+
   globus-sdk = callPackage ../development/python-modules/globus-sdk { };
 
   goocalendar = callPackage ../development/python-modules/goocalendar { };
@@ -575,6 +579,8 @@ in {
 
   python-lz4 = callPackage ../development/python-modules/python-lz4 { };
 
+  python-ldap-test = callPackage ../development/python-modules/python-ldap-test { };
+
   python-igraph = callPackage ../development/python-modules/python-igraph {
     pkgconfig = pkgs.pkgconfig;
     igraph = pkgs.igraph;
@@ -582,6 +588,8 @@ in {
 
   python3-openid = callPackage ../development/python-modules/python3-openid { };
 
+  python-packer = callPackage ../development/python-modules/python-packer { };
+
   python-periphery = callPackage ../development/python-modules/python-periphery { };
 
   python-prctl = callPackage ../development/python-modules/python-prctl { };
@@ -825,6 +833,8 @@ in {
 
   backports_functools_lru_cache = callPackage ../development/python-modules/backports_functools_lru_cache { };
 
+  backports_os = callPackage ../development/python-modules/backports_os { };
+
   backports_shutil_get_terminal_size = callPackage ../development/python-modules/backports_shutil_get_terminal_size { };
 
   backports_ssl_match_hostname = if !(pythonOlder "3.5") then null else
@@ -862,99 +872,19 @@ in {
 
   bibtexparser = callPackage ../development/python-modules/bibtexparser { };
 
-  binwalk_fun = { visualizationSupport ? false, pyqtgraph ? null }:
-    assert visualizationSupport -> pyqtgraph != null;
-
-    buildPythonPackage rec {
-    name = "binwalk-${version}";
-    version = "2.1.1";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "devttys0";
-      repo = "binwalk";
-      rev = "291a03595d17f848c73b74cb6ca508da782cd8f7";
-      sha256 = "0grid93yz6i6jb2zggrqncp5awdf7qi88j5y2k7dq0k9r6b8zydw";
-    };
-
-    propagatedBuildInputs = with stdenv.lib; with pkgs; [ zlib xz ncompress gzip bzip2 gnutar p7zip cabextract lzma self.pycrypto ]
-      ++ optional visualizationSupport pyqtgraph;
-
-    meta = with stdenv.lib; {
-      homepage = "http://binwalk.org";
-      description = "A tool for searching a given binary image for embedded files";
-      platforms = platforms.all;
-      maintainers = [ maintainers.koral ];
-    };
-  };
+  binwalk = callPackage ../development/python-modules/binwalk { };
 
-  binwalk = self.binwalk_fun { };
-  binwalk-full = self.binwalk_fun { visualizationSupport = true; pyqtgraph = self.pyqtgraph; };
+  binwalk-full = appendToName "full" (self.binwalk.override {
+    pyqtgraph = self.pyqtgraph;
+  });
 
   bitmath = callPackage ../development/python-modules/bitmath { };
 
-  caldavclientlibrary-asynk = buildPythonPackage rec {
-    version = "asynkdev";
-    name = "caldavclientlibrary-asynk-${version}";
-
-    src = pkgs.fetchgit {
-      url = "https://github.com/skarra/CalDAVClientLibrary.git";
-      rev = "06699b08190d50cc2636b921a654d67db0a967d1";
-      sha256 = "157q32251ac9x3gdshgrjwsy48nq74vrzviswvph56h9wa8ksnnk";
-    };
-
-    disabled = isPy3k;
-
-    meta = {
-      description = "A Python library and tool for CalDAV";
-
-      longDescription = ''
-        CalDAVCLientLibrary is a Python library and tool for CalDAV.
-
-        This package is the unofficial CalDAVCLientLibrary Python
-        library maintained by the author of Asynk and is needed for
-        that package.
-      '';
-
-      homepage = https://github.com/skarra/CalDAVClientLibrary/tree/asynkdev/;
-      maintainers = with maintainers; [ pjones ];
-      broken = true; # 2018-04-11
-    };
-  };
+  caldavclientlibrary-asynk = callPackage ../development/python-modules/caldavclientlibrary-asynk { };
 
   biopython = callPackage ../development/python-modules/biopython { };
 
-  bedup = buildPythonPackage rec {
-    version = "0.10.1";
-    name = "bedup-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "g2p";
-      repo = "bedup";
-      rev = "v${version}";
-      sha256 = "0sp8pmjkxcqq0alianfp41mwq7qj10rk1qy31pjjp9kiph1rn0x6";
-    };
-
-    buildInputs = with self; [ pkgs.btrfs-progs ];
-    propagatedBuildInputs = with self; [ contextlib2 pyxdg pycparser alembic ]
-      ++ optionals (!isPyPy) [ cffi ];
-
-    disabled = pythonOlder "3.3";
-
-    meta = {
-      description = "Deduplication for Btrfs";
-      longDescription = ''
-        Deduplication for Btrfs. bedup looks for new and changed files, making sure that multiple
-        copies of identical files share space on disk. It integrates deeply with btrfs so that scans
-        are incremental and low-impact.
-      '';
-      homepage = https://github.com/g2p/bedup;
-      license = licenses.gpl2;
-
-      platforms = platforms.linux;
-
-      maintainers = with maintainers; [ bluescreen303 ];
-    };
-  };
+  bedup = callPackage ../development/python-modules/bedup { };
 
   blessed = callPackage ../development/python-modules/blessed {};
 
@@ -967,6 +897,8 @@ in {
     enablePython = true;
   });
 
+  boltztrap2 = callPackage ../development/python-modules/boltztrap2 { };
+
   bumps = callPackage ../development/python-modules/bumps {};
 
   cached-property = callPackage ../development/python-modules/cached-property { };
@@ -977,33 +909,7 @@ in {
     numpy = self.numpy;
   };
 
-  capstone = buildPythonPackage rec {
-    name = "capstone-3.0.4";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/capstone/${name}.tar.gz";
-      sha256 = "945d3b8c3646a1c3914824c416439e2cf2df8969dd722c8979cdcc23b40ad225";
-    };
-    patches = [
-      (pkgs.fetchpatch {
-        stripLen = 2;
-        url = "https://patch-diff.githubusercontent.com/raw/aquynh/capstone/pull/783/commits/23fe9f36622573c747e2bab6119ff245437bf276.patch";
-        sha256 = "0yizqrdlxqxn16873593kdx2vrr7gvvilhgcf9xy6hr0603d3m5r";
-      })
-    ];
-    postPatch = ''
-      patchShebangs src/make.sh
-    '';
-    propagatedBuildInputs = [ ];
-    preCheck = ''
-      mv src/libcapstone.so capstone
-    '';
-    meta = with pkgs.stdenv.lib; {
-      homepage = "http://www.capstone-engine.org/";
-      license = licenses.bsdOriginal;
-      description = "Capstone disassembly engine";
-      maintainers = with maintainers; [ bennofs ];
-    };
-  };
+  capstone = callPackage ../development/python-modules/capstone { };
 
   cement = callPackage ../development/python-modules/cement {};
 
@@ -1031,19 +937,7 @@ in {
 
   constantly = callPackage ../development/python-modules/constantly { };
 
-  cornice = buildPythonPackage rec {
-    name = "cornice-${version}";
-    version = "1.2.1";
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/cornice.git;
-      rev = "refs/tags/${version}";
-      sha256 = "0688vrkl324jmpi8jkjh1s8nsyjinw149g3x8qlis8vz6j6a01wv";
-    };
-
-    propagatedBuildInputs = with self; [ pyramid simplejson ];
-
-    doCheck = false; # lazy packager
-  };
+  cornice = callPackage ../development/python-modules/cornice { };
 
   cram = callPackage ../development/python-modules/cram { };
 
@@ -1127,35 +1021,7 @@ in {
 
   bpython = callPackage ../development/python-modules/bpython {};
 
-  bsddb3 = buildPythonPackage rec {
-    name = "bsddb3-${version}";
-    version = "6.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/b/bsddb3/${name}.tar.gz";
-      sha256 = "6f21b0252125c07798d784c164ef135ad153d226c01b290258ee1c5b9e7c4dd3";
-    };
-
-    buildInputs = [ pkgs.db ];
-
-    # Judging from SyntaxError in test
-#    disabled = isPy3k;
-    doCheck = false; # test suite breaks python3 compatibility
-
-    # Path to database need to be set.
-    # Somehow the setup.py flag is not propagated.
-    #setupPyBuildFlags = [ "--berkeley-db=${pkgs.db}" ];
-    # We can also use a variable
-    preConfigure = ''
-      export BERKELEYDB_DIR=${pkgs.db.dev};
-    '';
-
-    meta = {
-      description = "Python bindings for Oracle Berkeley DB";
-      homepage = https://www.jcea.es/programacion/pybsddb.htm;
-      license = with licenses; [ agpl3 ]; # License changed from bsd3 to agpl3 since 6.x
-    };
-  };
+  bsddb3 = callPackage ../development/python-modules/bsddb3 { };
 
   bkcharts = callPackage ../development/python-modules/bkcharts { };
 
@@ -1169,53 +1035,13 @@ in {
 
   bottle = callPackage ../development/python-modules/bottle { };
 
-  box2d = buildPythonPackage rec {
-    name = "box2d-${version}";
-    version = "2.3b0";
-    disabled = (!isPy27);
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/B/Box2D/Box2D-2.3b0.zip";
-      sha256 = "4519842c650b0153550eb0c9864da46b5a4ec8555c68b70f5cd2952a21c788b0";
-    };
-
-    patches = [ ../development/python-modules/box2d/disable-test.patch ];
-
-    propagatedBuildInputs = [ pkgs.swig2 pkgs.box2d ];
-
-    meta = {
-      homepage = https://code.google.com/p/pybox2d/;
-      description = ''
-        A 2D game physics library for Python under
-        the very liberal zlib license
-      '';
-      license = licenses.zlib;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ sepi ];
-    };
-  };
+  box2d = callPackage ../development/python-modules/box2d { pkgs-box2d = pkgs.box2d; };
 
   branca = callPackage ../development/python-modules/branca { };
 
   bugwarrior = callPackage ../development/python-modules/bugwarrior { };
 
-  # bugz = buildPythonPackage (rec {
-  #   name = "bugz-0.9.3";
-  #
-  #   src = pkgs.fetchgit {
-  #     url = "https://github.com/williamh/pybugz.git";
-  #     rev = "refs/tags/0.9.3";
-  #   };
-  #
-  #   propagatedBuildInputs = with self; [ self.argparse ];
-  #
-  #   doCheck = false;
-  #
-  #   meta = {
-  #     homepage = http://www.liquidx.net/pybugz/;
-  #     description = "Command line interface for Bugzilla";
-  #   };
-  # });
+  bugz = callPackage ../development/python-modules/bugz { };
 
   bugzilla = callPackage ../development/python-modules/bugzilla { };
 
@@ -1252,87 +1078,13 @@ in {
 
   case = callPackage ../development/python-modules/case {};
 
-  cassandra-driver = buildPythonPackage rec {
-    name = "cassandra-driver-3.6.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/cassandra-driver/${name}.tar.gz";
-      sha256 = "1aqmy3psn12lxgp659d0zsxkirxzy5lnbnzxf9xjq1a93s3qm704";
-    };
-
-    buildInputs = with self; [ pkgs.libev cython ];
-
-    propagatedBuildInputs = with self; [ futures six ];
-
-    postPatch = ''
-      sed -i "s/<=1.0.1//" setup.py
-    '';
-
-    checkPhase = ''
-      ${python.interpreter} setup.py gevent_nosetests
-      ${python.interpreter} setup.py eventlet_nosetests
-    '';
-
-    checkInputs = [ scales eventlet twisted mock gevent nose pytz pyyaml sure ];
-
-    # Could not get tests running
-    doCheck = false;
-
-    meta = {
-      homepage = http://datastax.github.io/python-driver/;
-      description = "A Python client driver for Apache Cassandra";
-      license = licenses.asl20;
-    };
-  };
+  cassandra-driver = callPackage ../development/python-modules/cassandra-driver { };
 
   cccolutils = callPackage ../development/python-modules/cccolutils {};
 
-  CDDB = buildPythonPackage rec {
-    name = "CDDB-1.4";
-
-    disabled = !isPy27;
-
-    buildInputs = optionals stdenv.isDarwin [ pkgs.darwin.apple_sdk.frameworks.IOKit ];
-
-    src = pkgs.fetchurl {
-      url = "http://cddb-py.sourceforge.net/${name}.tar.gz";
-      sha256 = "098xhd575ibvdx7i3dny3lwi851yxhjg2hn5jbbgrwj833rg5l5w";
-    };
-
-    meta = {
-      homepage = http://cddb-py.sourceforge.net/;
-      description = "CDDB and FreeDB audio CD track info access";
-      license = licenses.gpl2Plus;
-    };
-  };
-
-  cntk = buildPythonPackage rec {
-    inherit (pkgs.cntk) name version src meta;
-
-    buildInputs = [ pkgs.cntk pkgs.swig pkgs.openmpi ];
-    propagatedBuildInputs = with self; [ numpy scipy enum34 protobuf pip ];
-
-    CNTK_LIB_PATH = "${pkgs.cntk}/lib";
-    CNTK_COMPONENT_VERSION = pkgs.cntk.version;
-
-    postPatch = ''
-      cd bindings/python
-      sed -i 's,"libmpi.so.12","${pkgs.openmpi}/lib/libmpi.so",g' cntk/train/distributed.py
-    '';
-
-    postInstall = ''
-      rm -rf $out/${python.sitePackages}/cntk/libs
-      ln -s ${pkgs.cntk}/lib $out/${python.sitePackages}/cntk/libs
-      # It's not installed for some reason.
-      cp cntk/cntk_py.py $out/${python.sitePackages}/cntk
-    '';
+  CDDB = callPackage ../development/python-modules/cddb { };
 
-    # Actual tests are broken.
-    checkPhase = ''
-      cd $NIX_BUILD_TOP
-      ${python.interpreter} -c "import cntk"
-    '';
-  };
+  cntk = callPackage ../development/python-modules/cntk { };
 
   celery = callPackage ../development/python-modules/celery { };
 
@@ -1370,29 +1122,7 @@ in {
 
   cligj = callPackage ../development/python-modules/cligj { };
 
-  /* There is a project called "closure-linter" on PyPI that is the
-     same as this, but it does not appear to be owned by Google.
-     So we're pulling from Google's GitHub repo instead. */
-  closure-linter = buildPythonPackage rec {
-    name = "closure-linter-${version}";
-    version = "2.3.19";
-
-    /* This project has no Python 3 support, as noted by
-       https://github.com/google/closure-linter/issues/81 */
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ gflags ];
-    src = pkgs.fetchgit {
-      url = "https://github.com/google/closure-linter";
-      rev = "5c27529075bb88bdc45e73008f496dec8438d658";
-      sha256 = "076c7q7pr7akfvq5y8lxr1ab81wwps07gw00igdkcxnc5k9dzxwc";
-    };
-    meta = {
-      description = "Checks JavaScript files against Google's style guide.";
-      homepage = "https://developers.google.com/closure/utilities/";
-      license = with licenses; [ asl20 ];
-    };
-  };
+  closure-linter = callPackage ../development/python-modules/closure-linter { };
 
   cloudpickle = callPackage ../development/python-modules/cloudpickle { };
 
@@ -1423,31 +1153,7 @@ in {
   # Backported version of the ConfigParser library of Python 3.3
   configparser = callPackage ../development/python-modules/configparser { };
 
-  ColanderAlchemy = buildPythonPackage rec {
-    name = "ColanderAlchemy-${version}";
-    version = "0.3.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/ColanderAlchemy/${name}.tar.gz";
-      sha256 = "11wcni2xmfmy001rj62q2pwf305vvngkrfm5c4zlwvgbvlsrvnnw";
-    };
-
-    patches = [
-      (pkgs.fetchpatch {
-          url = "https://github.com/stefanofontanelli/ColanderAlchemy/commit/b45fe35f2936a5ccb705e9344075191e550af6c9.patch";
-          sha256 = "1kf278wjq49zd6fhpp55vdcawzdd107767shzfck522sv8gr6qvx";
-      })
-    ];
-
-    buildInputs = with self; [ unittest2 ];
-    propagatedBuildInputs = with self; [ colander sqlalchemy ];
-
-    meta = {
-      description = "Autogenerate Colander schemas based on SQLAlchemy models";
-      homepage = https://github.com/stefanofontanelli/ColanderAlchemy;
-      license = licenses.mit;
-    };
-  };
+  ColanderAlchemy = callPackage ../development/python-modules/colanderalchemy { };
 
   conda = callPackage ../development/python-modules/conda { };
 
@@ -1515,36 +1221,7 @@ in {
 
   wakeonlan = callPackage ../development/python-modules/wakeonlan { };
 
-  openant = buildPythonPackage rec {
-    name = "openant-unstable-2017-02-11";
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/Tigge/openant";
-      description = "ANT and ANT-FS Python Library";
-      license = licenses.mit;
-      platforms = platforms.linux;
-    };
-
-    src = pkgs.fetchFromGitHub {
-      owner = "Tigge";
-      repo = "openant";
-      rev = "ed89281e37f65d768641e87356cef38877952397";
-      sha256 = "1g81l9arqdy09ijswn3sp4d6i3z18d44lzyb78bwnvdb14q22k19";
-    };
-
-    # Removes some setup.py hacks intended to install udev rules.
-    # We do the job ourselves in postInstall below.
-    postPatch = ''
-      sed -i -e '/cmdclass=.*/d' setup.py
-    '';
-
-    postInstall = ''
-      install -dm755 "$out/etc/udev/rules.d"
-      install -m644 resources/ant-usb-sticks.rules "$out/etc/udev/rules.d/99-ant-usb-sticks.rules"
-    '';
-
-    propagatedBuildInputs = with self; [ pyusb ];
-  };
+  openant = callPackage ../development/python-modules/openant { };
 
   opencv = toPythonModule (pkgs.opencv.override {
     enablePython = true;
@@ -1564,74 +1241,15 @@ in {
 
   MDP = callPackage ../development/python-modules/mdp {};
 
-  minidb = buildPythonPackage rec {
-    name = "minidb-2.0.1";
-
-    src = pkgs.fetchurl {
-      url = "https://thp.io/2010/minidb/${name}.tar.gz";
-      sha256 = "1x958zr9jc26vaqij451qb9m2l7apcpz34ir9fwfjg4fwv24z2dy";
-    };
-
-    meta = {
-      description = "A simple SQLite3-based store for Python objects";
-      homepage = https://thp.io/2010/minidb/;
-      license = stdenv.lib.licenses.isc;
-      maintainers = [ stdenv.lib.maintainers.tv ];
-    };
-  };
+  minidb = callPackage ../development/python-modules/minidb { };
 
   miniupnpc = callPackage ../development/python-modules/miniupnpc {};
 
-  mixpanel = buildPythonPackage rec {
-    version = "4.0.2";
-    name = "mixpanel-${version}";
-    disabled = isPy3k;
-
-    src = pkgs.fetchzip {
-      url = "https://github.com/mixpanel/mixpanel-python/archive/${version}.zip";
-      sha256 = "0yq1bcsjzsz7yz4rp69izsdn47rvkld4wki2xmapp8gg2s9i8709";
-    };
-
-    buildInputs = with self; [ pytest mock ];
-    propagatedBuildInputs = with self; [ six ];
-    checkPhase = "py.test tests.py";
-
-    meta = {
-      homepage = https://github.com/mixpanel/mixpanel-python;
-      description = "This is the official Mixpanel Python library. This library
-                     allows for server-side integration of Mixpanel.";
-      license = stdenv.lib.licenses.asl20;
-    };
-  };
+  mixpanel = callPackage ../development/python-modules/mixpanel { };
 
   mpyq = callPackage ../development/python-modules/mpyq { };
 
-  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;
-
-    postPatch = ''
-      substituteInPlace python/setup.py \
-      --replace "graphviz<0.9.0" "graphviz<0.10.0" \
-      --replace "numpy<=1.15.0" "numpy<1.16.0" \
-      --replace "requests<2.19.0" "requests<2.20.0"
-    '';
-
-    preConfigure = ''
-      cd python
-    '';
-
-    postInstall = ''
-      rm -rf $out/mxnet
-      ln -s ${pkgs.mxnet}/lib/libmxnet.so $out/${python.sitePackages}/mxnet
-    '';
-  };
+  mxnet = callPackage ../development/python-modules/mxnet { };
 
   parsy = callPackage ../development/python-modules/parsy { };
 
@@ -1669,40 +1287,7 @@ in {
 
   python-ly = callPackage ../development/python-modules/python-ly {};
 
-  pyhepmc = buildPythonPackage rec {
-    name = "pyhepmc-${version}";
-    version = "0.5.0";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyhepmc/${name}.tar.gz";
-      sha256 = "1rbi8gqgclfvaibv9kzhfis11gw101x8amc93qf9y08ny4jfyr1d";
-    };
-
-    patches = [
-      # merge PR https://bitbucket.org/andybuckley/pyhepmc/pull-requests/1/add-incoming-outgoing-generators-for/diff
-      ../development/python-modules/pyhepmc_export_edges.patch
-      # add bindings to Flow class
-      ../development/python-modules/pyhepmc_export_flow.patch
-    ];
-
-    # regenerate python wrapper
-    preConfigure = ''
-      rm hepmc/hepmcwrap.py
-      swig -c++ -I${pkgs.hepmc}/include -python hepmc/hepmcwrap.i
-    '';
-
-    buildInputs = with pkgs; [ swig hepmc ];
-
-    HEPMCPATH = pkgs.hepmc;
-
-    meta = {
-      description = "A simple wrapper on the main classes of the HepMC event simulation representation, making it possible to create, read and manipulate HepMC events from Python code";
-      license     = licenses.gpl2;
-      maintainers = with maintainers; [ veprbl ];
-      platforms   = platforms.all;
-    };
-  };
+  pyhepmc = callPackage ../development/python-modules/pyhepmc { };
 
   pytest = self.pytest_37;
 
@@ -1741,6 +1326,8 @@ in {
 
   pytest-rerunfailures = callPackage ../development/python-modules/pytest-rerunfailures { };
 
+  pytest-relaxed = callPackage ../development/python-modules/pytest-relaxed { };
+
   pytest-flake8 = callPackage ../development/python-modules/pytest-flake8 { };
 
   pytestflakes = callPackage ../development/python-modules/pytest-flakes { };
@@ -1868,39 +1455,7 @@ in {
 
   derpconf = callPackage ../development/python-modules/derpconf { };
 
-  deskcon = self.buildPythonPackage rec {
-    name = "deskcon-0.3";
-    disabled = !isPy27;
-
-    src = pkgs.fetchFromGitHub {
-      owner= "screenfreeze";
-      repo = "deskcon-desktop";
-      rev = "267804122188fa79c37f2b21f54fe05c898610e6";
-      sha256 ="0i1dd85ls6n14m9q7lkympms1w3x0pqyaxvalq82s4xnjdv585j3";
-    };
-
-    phases = [ "unpackPhase" "installPhase" ];
-
-    pythonPath = [ self.pyopenssl pkgs.gtk3 ];
-
-    installPhase = ''
-      substituteInPlace server/deskcon-server --replace "python2" "python"
-
-      mkdir -p $out/bin
-      mkdir -p $out/lib/${python.libPrefix}/site-packages
-      cp -r "server/"* $out/lib/${python.libPrefix}/site-packages
-      mv $out/lib/${python.libPrefix}/site-packages/deskcon-server $out/bin/deskcon-server
-
-      wrapPythonProgramsIn $out/bin "$out $pythonPath"
-    '';
-
-    meta = {
-      description = "Integrates an Android device into a desktop";
-      homepage = https://github.com/screenfreeze/deskcon-desktop;
-      license = licenses.gpl3;
-    };
-  };
-
+  deskcon = callPackage ../development/python-modules/deskcon { };
 
   dill = callPackage ../development/python-modules/dill { };
 
@@ -1925,27 +1480,7 @@ in {
 
   dogpile_core = callPackage ../development/python-modules/dogpile.core { };
 
-  dopy = buildPythonPackage rec {
-    version = "2016-01-04";
-    name = "dopy-${version}";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "Wiredcraft";
-      repo = "dopy";
-      rev = "cb443214166a4e91b17c925f40009ac883336dc3";
-      sha256 ="0ams289qcgna96aak96jbz6wybs6qb95h2gn8lb4lmx2p5sq4q56";
-    };
-
-    propagatedBuildInputs = with self; [ requests six ];
-
-    meta = {
-      description = "Digital Ocean API python wrapper";
-      homepage = "https://github.com/Wiredcraft/dopy";
-      license = licenses.mit;
-      maintainers = with maintainers; [ lihop ];
-      platforms = platforms.all;
-    };
-  };
+  dopy = callPackage ../development/python-modules/dopy { };
 
   dpkt = callPackage ../development/python-modules/dpkt {};
 
@@ -1973,30 +1508,7 @@ in {
       pythonPackages = self;
     }));
 
-  EditorConfig = buildPythonPackage rec {
-    name = "EditorConfig-${version}";
-    version = "0.12.0";
-
-    # fetchgit used to ensure test submodule is available
-    src = pkgs.fetchgit {
-      url = "https://github.com/editorconfig/editorconfig-core-py";
-      rev = "refs/tags/v${version}";
-      sha256 = "0svk7id7ncygj2rnxhm7602xizljyidk4xgrl6i0xgq3829cz4bl";
-    };
-
-    buildInputs = [ pkgs.cmake ];
-    checkPhase = ''
-      cmake .
-      # utf_8_char fails with python3
-      ctest -E "utf_8_char" .
-    '';
-
-    meta = {
-      homepage = https://editorconfig.org;
-      description = "EditorConfig File Locator and Interpreter for Python";
-      license = stdenv.lib.licenses.psfl;
-    };
-  };
+  EditorConfig = callPackage ../development/python-modules/editorconfig { };
 
   edward = callPackage ../development/python-modules/edward { };
 
@@ -2014,127 +1526,19 @@ in {
 
   escapism = callPackage ../development/python-modules/escapism { };
 
-  etcd = buildPythonPackage rec {
-    name = "etcd-${version}";
-    version = "2.0.8";
-
-    # PyPI package is incomplete
-    src = pkgs.fetchurl {
-      url = "https://github.com/dsoprea/PythonEtcdClient/archive/${version}.tar.gz";
-      sha256 = "0fi6rxa1yxvz7nwrc7dw6fax3041d6bj3iyhywjgbkg7nadi9i8v";
-    };
-
-    patchPhase = ''
-      sed -i -e '13,14d;37d' setup.py
-    '';
-
-    propagatedBuildInputs = with self; [ simplejson pytz requests ];
-
-    # No proper tests are available
-    doCheck = false;
-
-    meta = {
-      description = "A Python etcd client that just works";
-      homepage = https://github.com/dsoprea/PythonEtcdClient;
-      license = licenses.gpl2;
-    };
-  };
+  etcd = callPackage ../development/python-modules/etcd { };
 
   evdev = callPackage ../development/python-modules/evdev {};
 
   eve = callPackage ../development/python-modules/eve {};
 
-  eventlib = buildPythonPackage rec {
-    pname = "python-eventlib";
-    name = "${pname}-${version}";
-    version = "0.2.2";
-
-    # Judging from SyntaxError
-    disabled = isPy3k;
-
-    src = pkgs.fetchdarcs {
-      url = "http://devel.ag-projects.com/repositories/${pname}";
-      rev = "release-${version}";
-      sha256 = "1zxhpq8i4jwsk7wmfncqfm211hqikj3hp38cfv509924bi76wak8";
-    };
-
-    propagatedBuildInputs = with self; [ greenlet ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Eventlib bindings for python";
-      homepage    = "http://ag-projects.com/";
-      license     = licenses.lgpl2;
-      platforms   = platforms.all;
-    };
-  };
+  eventlib = callPackage ../development/python-modules/eventlib { };
 
   events = callPackage ../development/python-modules/events { };
 
-  eyeD3 = buildPythonPackage rec {
-    version = "0.7.8";
-    name    = "eyeD3-${version}";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "http://eyed3.nicfit.net/releases/${name}.tar.gz";
-      sha256 = "1nv7nhfn1d0qm7rgkzksbccgqisng8klf97np0nwaqwd5dbmdf86";
-    };
-
-    buildInputs = with self; [ paver ];
-
-    postInstall = ''
-      for prog in "$out/bin/"*; do
-        wrapProgram "$prog" --prefix PYTHONPATH : "$PYTHONPATH" \
-                            --prefix PATH : ${python}/bin
-      done
-    '';
-
-    meta = {
-      description = "A Python module and command line program for processing ID3 tags";
-      homepage    = http://eyed3.nicfit.net/;
-      license     = licenses.gpl2;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-
-      longDescription = ''
-        eyeD3 is a Python module and command line program for processing ID3
-        tags. Information about mp3 files (i.e bit rate, sample frequency, play
-        time, etc.) is also provided. The formats supported are ID3 v1.0/v1.1
-        and v2.3/v2.4.
-      '';
-    };
-  };
+  eyeD3 = callPackage ../development/python-modules/eyed3 { };
 
-  execnet = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "execnet";
-    version = "1.4.1";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/${pname}/${name}.tar.gz";
-      sha256 = "1rpk1vyclhg911p3hql0m0nrpq7q7mysxnaaw6vs29cpa6kx8vgn";
-    };
-    buildInputs = with self; [ pytest setuptools_scm ];
-    propagatedBuildInputs = with self; [ apipkg ];
-    # remove vbox tests
-    postPatch = ''
-      rm -v testing/test_termination.py
-      rm -v testing/test_channel.py
-      rm -v testing/test_xspec.py
-      rm -v testing/test_gateway.py
-    '';
-    checkPhase = ''
-      py.test testing
-    '';
-    __darwinAllowLocalNetworking = true;
-    meta = {
-      description = "Rapid multi-Python deployment";
-      license = licenses.gpl2;
-      homepage = "http://codespeak.net/execnet";
-      maintainers = with maintainers; [ nand0p ];
-    };
-  };
+  execnet = callPackage ../development/python-modules/execnet { };
 
   ezdxf = callPackage ../development/python-modules/ezdxf {};
 
@@ -2146,64 +1550,11 @@ in {
 
   faker = callPackage ../development/python-modules/faker { };
 
-  fake_factory = buildPythonPackage rec {
-    name = "fake-factory-${version}";
-    version = "0.6.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/fake-factory/${name}.tar.gz";
-      sha256 = "09sgk0kylsshs64a1xsz3qr187sbnqrbf4z8k3dgsy32lsgyffv2";
-    };
-
-    propagatedBuildInputs = with self; [ six dateutil ipaddress mock ];
-    checkPhase = ''
-      ${python.interpreter} -m unittest faker.tests
-    '';
-
-    meta = {
-      description = "A Python package that generates fake data for you";
-      homepage    = https://pypi.python.org/pypi/fake-factory;
-      license     = licenses.mit;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
-
-  factory_boy = buildPythonPackage rec {
-    name = "factory_boy-${version}";
-    version = "2.6.1";
+  fake_factory = callPackage ../development/python-modules/fake_factory { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/factory_boy/${name}.tar.gz";
-      sha256 = "0a21f8kq917fj8xgmyp6gy8vcrlzzgwn80qas0d76h3vjbdy0bdq";
-    };
-
-    propagatedBuildInputs = with self; [ fake_factory ];
-
-    meta = {
-      description = "A Python package to create factories for complex objects";
-      homepage    = https://github.com/rbarrois/factory_boy;
-      license     = licenses.mit;
-    };
-  };
+  factory_boy = callPackage ../development/python-modules/factory_boy { };
 
-  Fabric = buildPythonPackage rec {
-    name = "Fabric-${version}";
-    version = "1.13.2";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/F/Fabric/${name}.tar.gz";
-      sha256 = "0k944dxr41whw7ib6380q9x15wyskx7fqni656icdn8rzshn9bwq";
-    };
-    disabled = isPy3k;
-    doCheck = (!isPyPy);  # https://github.com/fabric/fabric/issues/11891
-    propagatedBuildInputs = with self; [ paramiko pycrypto ];
-    buildInputs = with self; [ fudge_9 nose ];
-    meta = {
-      description = "Pythonic remote execution";
-      homepage    = https://www.fabfile.org/;
-      license     = licenses.bsd2;
-    };
-  };
+  Fabric = callPackage ../development/python-modules/Fabric { };
 
   faulthandler = if ! isPy3k
     then callPackage ../development/python-modules/faulthandler {}
@@ -2213,28 +1564,7 @@ in {
 
   flit = callPackage ../development/python-modules/flit { };
 
-  flowlogs_reader = buildPythonPackage rec {
-    name = "flowlogs_reader-1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/flowlogs_reader/${name}.tar.gz";
-      sha256 = "0158aki6m3pkf98hpd60088qyhrfxkmybdf8hv3qfl8nb61vaiwf";
-    };
-
-    propagatedBuildInputs = with self; [
-      botocore boto3 docutils
-    ];
-    buildInputs = with self; [
-      unittest2 mock
-    ];
-
-    meta = with pkgs.stdenv.lib; {
-      description = "Python library to make retrieving Amazon VPC Flow Logs from CloudWatch Logs a bit easier";
-      homepage = "https://github.com/obsrvbl/flowlogs-reader";
-      maintainers = with maintainers; [ cransom ];
-      license = licenses.asl20;
-    };
-  };
+  flowlogs_reader = callPackage ../development/python-modules/flowlogs_reader { };
 
   fluent-logger = callPackage ../development/python-modules/fluent-logger {};
 
@@ -2250,125 +1580,27 @@ in {
 
   ftputil = callPackage ../development/python-modules/ftputil { };
 
-  fudge = buildPythonPackage rec {
-    name = "fudge-1.1.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/fudge/${name}.tar.gz";
-      sha256 = "eba59a926fa1df1ab6dddd69a7a8af21865b16cad800cb4d1af75070b0f52afb";
-    };
-    buildInputs = with self; [ nose nosejs ];
-    propagatedBuildInputs = with self; [ sphinx ];
-
-    disabled = isPy3k;
+  fudge = callPackage ../development/python-modules/fudge { };
 
-    checkPhase = ''
-      nosetests -v
-    '';
-  };
+  fudge_9 = self.fudge.overridePythonAttrs (old: rec {
+     version = "0.9.6";
 
-  fudge_9 = self.fudge.override rec {
-    name = "fudge-0.9.6";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/fudge/${name}.tar.gz";
+     src = fetchPypi {
+      pname = "fudge";
+      inherit version;
       sha256 = "34690c4692e8717f4d6a2ab7d841070c93c8d0ea0d2615b47064e291f750b1a0";
     };
-  };
-
-
-  funcparserlib = buildPythonPackage rec {
-    name = "funcparserlib-0.3.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/funcparserlib/${name}.tar.gz";
-      sha256 = "b7992eac1a3eb97b3d91faa342bfda0729e990bd8a43774c1592c091e563c91d";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
+  });
 
-    # Tests are Python 2.x only judging from SyntaxError
-    doCheck = !(isPy3k);
-
-    meta = {
-      description = "Recursive descent parsing library based on functional combinators";
-      homepage = https://code.google.com/p/funcparserlib/;
-      license = licenses.mit;
-      platforms = platforms.unix;
-    };
-  };
+  funcparserlib = callPackage ../development/python-modules/funcparserlib { };
 
   fastcache = callPackage ../development/python-modules/fastcache { };
 
-  functools32 = if isPy3k then null else buildPythonPackage rec {
-    name = "functools32-${version}";
-    version = "3.2.3-2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/functools32/functools32-${version}.tar.gz";
-      sha256 = "0v8ya0b58x47wp216n1zamimv4iw57cxz3xxhzix52jkw3xks9gn";
-    };
-
-
-    meta = with stdenv.lib; {
-      description = "This is a backport of the functools standard library module from";
-      homepage = "https://github.com/MiCHiLU/python-functools32";
-    };
-  };
-
-  gateone = buildPythonPackage rec {
-    name = "gateone-1.2-0d57c3";
-    disabled = ! isPy27;
-    src = pkgs.fetchFromGitHub {
-      rev = "1d0e8037fbfb7c270f3710ce24154e24b7031bea";
-      owner= "liftoff";
-      repo = "GateOne";
-      sha256 = "1ghrawlqwv7wnck6alqpbwy9mpv0y21cw2jirrvsxaracmvgk6vv";
-    };
-    propagatedBuildInputs = with self; [tornado futures html5lib pkgs.openssl pkgs.cacert pkgs.openssh];
-    meta = {
-      homepage = https://liftoffsoftware.com/;
-      description = "GateOne is a web-based terminal emulator and SSH client";
-      maintainers = with maintainers; [ tomberek ];
-
-    };
-    postInstall=''
-    cp -R "$out/gateone/"* $out/lib/python2.7/site-packages/gateone
-    '';
-  };
-
-  gcutil = buildPythonPackage rec {
-    name = "gcutil-1.16.1";
+  functools32 = callPackage ../development/python-modules/functools32 { };
 
-    src = pkgs.fetchurl {
-      url = https://dl.google.com/dl/cloudsdk/release/artifacts/gcutil-1.16.1.tar.gz;
-      sha256 = "00jaf7x1ji9y46fbkww2sg6r6almrqfsprydz3q2swr4jrnrsx9x";
-    };
-
-    propagatedBuildInputs = with self; [
-      gflags
-      iso8601
-      ipaddr
-      httplib2
-      google_apputils
-      google_api_python_client
-    ];
+  gateone = callPackage ../development/python-modules/gateone { };
 
-    prePatch = ''
-      sed -i -e "s|google-apputils==0.4.0|google-apputils==0.4.1|g" setup.py
-      substituteInPlace setup.py \
-        --replace "httplib2==0.8" "httplib2" \
-        --replace "iso8601==0.1.4" "iso8601"
-    '';
-
-    meta = {
-      description = "Command-line tool for interacting with Google Compute Engine";
-      homepage = "https://cloud.google.com/compute/docs/gcutil/";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ phreedom ];
-      broken = true;
-    };
-  };
+  gcutil = callPackage ../development/python-modules/gcutil { };
 
   GeoIP = callPackage ../development/python-modules/GeoIP { };
 
@@ -2376,71 +1608,11 @@ in {
 
   gmpy2 = callPackage ../development/python-modules/gmpy2 { };
 
-  gmusicapi = with pkgs; buildPythonPackage rec {
-    name = "gmusicapi-10.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gmusicapi/gmusicapi-10.1.0.tar.gz";
-      sha256 = "0smlrafh1bjzrcjzl7im8pf8f04gcnx92lf3g5qr7yzgq8k20xa2";
-    };
-
-    propagatedBuildInputs = with self; [
-      validictory
-      decorator
-      mutagen
-      protobuf
-      setuptools
-      requests
-      dateutil
-      proboscis
-      mock
-      appdirs
-      oauth2client
-      pyopenssl
-      gpsoauth
-      MechanicalSoup
-      future
-    ];
-
-    meta = {
-      description = "An unofficial API for Google Play Music";
-      homepage = https://pypi.python.org/pypi/gmusicapi/;
-      license = licenses.bsd3;
-    };
-  };
-
-  gnureadline = buildPythonPackage rec {
-    version = "6.3.3";
-    name = "gnureadline-${version}";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gnureadline/${name}.tar.gz";
-      sha256 = "1ghck2zz4xbqa3wz73brgjhrqj55p9hc1fq6c9zb09dnyhwb0nd2";
-    };
-
-    buildInputs = [ pkgs.ncurses ];
-    patchPhase = ''
-      substituteInPlace setup.py --replace "/bin/bash" "${pkgs.bash}/bin/bash"
-    '';
-  };
-
-  gnutls = buildPythonPackage rec {
-    pname = "python-gnutls";
-    version = "3.0.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-gnutls/${pname}-${version}.tar.gz";
-      sha256 = "1yrdxcj5rzvz8iglircz6icvyggz5fmdcd010n6w3j60yp4p84kc";
-    };
+  gmusicapi = callPackage ../development/python-modules/gmusicapi { };
 
-    # https://github.com/AGProjects/python-gnutls/issues/2
-    disabled = isPy3k;
+  gnureadline = callPackage ../development/python-modules/gnureadline { };
 
-    propagatedBuildInputs = with self; [ pkgs.gnutls ];
-    patchPhase = ''
-      substituteInPlace gnutls/library/__init__.py --replace "/usr/local/lib" "${pkgs.gnutls.out}/lib"
-    '';
-  };
+  gnutls = callPackage ../development/python-modules/gnutls { };
 
   gpy = callPackage ../development/python-modules/gpy { };
 
@@ -2462,37 +1634,7 @@ in {
   gpapi = callPackage ../development/python-modules/gpapi { };
   gplaycli = callPackage ../development/python-modules/gplaycli { };
 
-  gpsoauth = buildPythonPackage rec {
-    version = "0.2.0";
-    name = "gpsoauth-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gpsoauth/${name}.tar.gz";
-      sha256 = "01zxw8rhml8xfwda7ba8983890bzwkfa55ijd6qf8qrdy6ja1ncn";
-    };
-
-    propagatedBuildInputs = with self; [
-      cffi
-      cryptography
-      enum34
-      idna
-      ipaddress
-      ndg-httpsclient
-      pyopenssl
-      pyasn1
-      pycparser
-      pycryptodome
-      requests
-      six
-    ];
-
-    meta = {
-      description = "A python client library for Google Play Services OAuth";
-      homepage = "https://github.com/simon-weber/gpsoauth";
-      license = licenses.mit;
-      maintainers = with maintainers; [ jgillich ];
-    };
-  };
+  gpsoauth = callPackage ../development/python-modules/gpsoauth { };
 
   grip = callPackage ../development/python-modules/grip { };
 
@@ -2500,41 +1642,7 @@ in {
     gst-plugins-base = pkgs.gst_all_1.gst-plugins-base;
   };
 
-  gtimelog = buildPythonPackage rec {
-    name = "gtimelog-${version}";
-    version = "0.9.1";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/gtimelog/gtimelog/archive/${version}.tar.gz";
-      sha256 = "0qk8fv8cszzqpdi3wl9vvkym1jil502ycn6sic4jrxckw5s9jsfj";
-    };
-
-    buildInputs = [ pkgs.glibcLocales ];
-
-    LC_ALL="en_US.UTF-8";
-
-    # TODO: AppIndicator
-    propagatedBuildInputs = with self; [ pkgs.gobjectIntrospection pygobject3 pkgs.makeWrapper pkgs.gtk3 ];
-
-    checkPhase = ''
-      substituteInPlace runtests --replace "/usr/bin/env python" "${python}/bin/${python.executable}"
-      ./runtests
-    '';
-
-    preFixup = ''
-        wrapProgram $out/bin/gtimelog \
-          --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
-          --prefix LD_LIBRARY_PATH ":" "${pkgs.gtk3.out}/lib" \
-    '';
-
-    meta = {
-      description = "A small Gtk+ app for keeping track of your time. It's main goal is to be as unintrusive as possible";
-      homepage = https://mg.pov.lt/gtimelog/;
-      license = licenses.gpl2Plus;
-      maintainers = with maintainers; [ ocharles ];
-      platforms = platforms.unix;
-    };
-  };
+  gtimelog = callPackage ../development/python-modules/gtimelog { };
 
   gurobipy = if stdenv.hostPlatform.system == "x86_64-darwin"
   then callPackage ../development/python-modules/gurobipy/darwin.nix {
@@ -2550,114 +1658,19 @@ in {
 
   hglib = callPackage ../development/python-modules/hglib {};
 
-  humanize = buildPythonPackage rec {
-    version = "0.5.1";
-    name = "humanize-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/humanize/${name}.tar.gz";
-      sha256 = "a43f57115831ac7c70de098e6ac46ac13be00d69abbf60bdcac251344785bb19";
-    };
-
-    buildInputs = with self; [ mock ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Python humanize utilities";
-      homepage = https://github.com/jmoiron/humanize;
-      license = licenses.mit;
-      maintainers = with maintainers; [ ];
-      platforms = platforms.linux; # can only test on linux
-    };
-
-  };
+  humanize = callPackage ../development/python-modules/humanize { };
 
   hupper = callPackage ../development/python-modules/hupper {};
 
-  hovercraft = buildPythonPackage rec {
-    disabled = ! isPy3k;
-    name = "hovercraft-${version}";
-    version = "2.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hovercraft/${name}.tar.gz";
-      sha256 = "0lqxr816lymgnywln8bbv9nrmkyahjjcjkm9kjyny9bflayz4f1g";
-    };
-
-    propagatedBuildInputs = with self; [ docutils lxml manuel pygments svg-path watchdog ];
-
-    # one test assumes we have docutils 0.12
-    # TODO: enable tests after upgrading docutils to 0.12
-    doCheck = false;
-
-    meta = {
-      description = "A tool to make impress.js presentations from reStructuredText";
-      homepage = https://github.com/regebro/hovercraft;
-      license = licenses.mit;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
-
-  hsaudiotag = buildPythonPackage (rec {
-    name = "hsaudiotag-1.1.1";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hsaudiotag/${name}.tar.gz";
-      sha256 = "15hgm128p8nysfi0jb127awga3vlj0iw82l50swjpvdh01m7rda8";
-    };
-
-    # no tests
-    doCheck = false;
-
-    meta = {
-      description = "A pure Python library that lets one to read metadata from media files";
-      homepage = http://hg.hardcoded.net/hsaudiotag/;
-      license = licenses.bsd3;
-    };
-  });
-
-  hsaudiotag3k = buildPythonPackage (rec {
-    name = "hsaudiotag3k-1.1.3";
-    disabled = !isPy3k;
+  hovercraft = callPackage ../development/python-modules/hovercraft { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hsaudiotag3k/${name}.tar.gz";
-      sha256 = "0bv5k5594byr2bmhh77xv10fkdpckcmxg3w380yp30aqf83rcsx3";
-    };
-
-    # no tests
-    doCheck = false;
-
-    meta = {
-      description = "A pure Python library that lets one to read metadata from media files";
-      homepage = http://hg.hardcoded.net/hsaudiotag/;
-      license = licenses.bsd3;
-    };
-  });
+  hsaudiotag = callPackage ../development/python-modules/hsaudiotag { };
 
+  hsaudiotag3k = callPackage ../development/python-modules/hsaudiotag3k { };
 
   htmlmin = callPackage ../development/python-modules/htmlmin {};
 
-  httpauth = buildPythonPackage rec {
-    version = "0.3";
-    name = "httpauth-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/httpauth/${name}.tar.gz";
-      sha256 = "0qas7876igyz978pgldp5r7n7pis8n4vf0v87gxr9l7p7if5lr3l";
-    };
-
-    doCheck = false;
-
-    meta = {
-      description = "WSGI HTTP Digest Authentication middleware";
-      homepage = https://github.com/jonashaag/httpauth;
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  httpauth = callPackage ../development/python-modules/httpauth { };
 
   idna-ssl = callPackage ../development/python-modules/idna-ssl { };
 
@@ -2665,22 +1678,7 @@ in {
 
   ijson = callPackage ../development/python-modules/ijson {};
 
-  imagesize = buildPythonPackage rec {
-    name = "imagesize-${version}";
-    version = "0.7.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/imagesize/${name}.tar.gz";
-      sha256 = "0msgz4ncp2nb5nbsxnf8kvxsl6nhwvc3b46ik097fvznl3y10gdv";
-    };
-
-    meta = {
-      description = "Getting image size from png/jpeg/jpeg2000/gif file";
-      homepage = https://github.com/shibukawa/imagesize_py;
-      license = with licenses; [ mit ];
-    };
-
-  };
+  imagesize = callPackage ../development/python-modules/imagesize { };
 
   image-match = callPackage ../development/python-modules/image-match { };
 
@@ -2688,115 +1686,17 @@ in {
 
   immutables = callPackage ../development/python-modules/immutables {};
 
-  imread = buildPythonPackage rec {
-    name = "python-imread-${version}";
-    version = "0.6";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/luispedro/imread/archive/release-${version}.tar.gz";
-      sha256 = "0i14bc67200zhzxc41g5dfp2m0pr1zaa2gv59p2va1xw0ji2dc0f";
-    };
-
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = with self; [
-      nose
-      pkgs.libjpeg
-      pkgs.libpng
-      pkgs.libtiff
-      pkgs.libwebp
-    ];
-    propagatedBuildInputs = with self; [ numpy ];
-
-    meta = with stdenv.lib; {
-      description = "Python package to load images as numpy arrays";
-      homepage = https://imread.readthedocs.io/en/latest/;
-      maintainers = with maintainers; [ luispedro ];
-      license = licenses.mit;
-      platforms = platforms.linux;
-    };
-  };
+  imread = callPackage ../development/python-modules/imread { };
 
   imaplib2 = callPackage ../development/python-modules/imaplib2 { };
 
-  ipfsapi = buildPythonPackage rec {
-    name = "ipfsapi-${version}";
-    version = "0.4.2.post1";
-    disabled = isPy27;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "ipfs";
-      repo = "py-ipfs-api";
-      rev = "0c485544a114f580c65e2ffbb5782efbf7fd9f61";
-      sha256 = "1v7f77cv95yv0v80gisdh71mj7jcq41xcfip6bqm57zfdbsa0xpn";
-    };
-
-    propagatedBuildInputs = with self; [ six requests ];
-
-    meta = {
-      description = "A python client library for the IPFS API";
-      license = licenses.mit;
-      maintainers = with maintainers; [ mguentner ];
-      homepage = "https://pypi.python.org/pypi/ipfsapi";
-    };
-  };
-
-  itsdangerous = buildPythonPackage rec {
-    name = "itsdangerous-0.24";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/itsdangerous/${name}.tar.gz";
-      sha256 = "06856q6x675ly542ig0plbqcyab6ksfzijlyf1hzhgg3sgwgrcyb";
-    };
-
-    meta = {
-      description = "Helpers to pass trusted data to untrusted environments and back";
-      homepage = "https://pypi.python.org/pypi/itsdangerous/";
-    };
-  };
-
-  iniparse = buildPythonPackage rec {
-
-    name = "iniparse-${version}";
-    version = "0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/iniparse/iniparse-${version}.tar.gz";
-      sha256 = "0m60k46vr03x68jckachzsipav0bwhhnqb8715hm1cngs89fxhdb";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} runtests.py
-    '';
-
-    # Does not install tests
-    doCheck = false;
-
-    meta = with stdenv.lib; {
-      description = "Accessing and Modifying INI files";
-      license = licenses.mit;
-      maintainers = with maintainers; [ danbst ];
-    };
-  };
+  ipfsapi = callPackage ../development/python-modules/ipfsapi { };
 
-  i3-py = buildPythonPackage rec {
-    version = "0.6.4";
-    name = "i3-py-${version}";
+  itsdangerous = callPackage ../development/python-modules/itsdangerous { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/i3-py/i3-py-${version}.tar.gz";
-      sha256 = "1sgl438jrb4cdyl7hbc3ymwsf7y3zy09g1gh7ynilxpllp37jc8y";
-    };
+  iniparse = callPackage ../development/python-modules/iniparse { };
 
-    # no tests in tarball
-    doCheck = false;
-
-    meta = {
-      description = "Tools for i3 users and developers";
-      homepage =  "https://github.com/ziberna/i3-py";
-      license = licenses.gpl3;
-      platforms = platforms.linux;
-    };
-  };
+  i3-py = callPackage ../development/python-modules/i3-py { };
 
   JayDeBeApi = callPackage ../development/python-modules/JayDeBeApi {};
 
@@ -2820,71 +1720,13 @@ in {
 
   jsonpickle = callPackage ../development/python-modules/jsonpickle { };
 
-  jsonpointer = buildPythonPackage rec {
-    name = "jsonpointer-1.9";
+  jsonpointer = callPackage ../development/python-modules/jsonpointer { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jsonpointer/${name}.tar.gz";
-      sha256 = "39403b47a71aa782de6d80db3b78f8a5f68ad8dfc9e674ca3bb5b32c15ec7308";
-    };
-
-    meta = {
-      description = "Resolve JSON Pointers in Python";
-      homepage = "https://github.com/stefankoegl/python-json-pointer";
-      license = stdenv.lib.licenses.bsd2; # "Modified BSD license, says pypi"
-    };
-  };
-
-  jsonrpclib = buildPythonPackage rec {
-    name = "jsonrpclib-${version}";
-    version = "0.1.7";
-
-    disabled = !isPy27;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jsonrpclib/${name}.tar.gz";
-      sha256 = "02vgirw2bcgvpcxhv5hf3yvvb4h5wzd1lpjx8na5psdmaffj6l3z";
-    };
-
-    propagatedBuildInputs = with self; [ cjson ];
-
-    meta = {
-      description = "JSON RPC client library";
-      homepage = https://pypi.python.org/pypi/jsonrpclib/;
-      license = stdenv.lib.licenses.asl20;
-      maintainers = [ stdenv.lib.maintainers.joachifm ];
-    };
-  };
+  jsonrpclib = callPackage ../development/python-modules/jsonrpclib { };
 
   jsonrpclib-pelix = callPackage ../development/python-modules/jsonrpclib-pelix {};
 
-  jsonwatch = buildPythonPackage rec {
-    name = "jsonwatch-0.2.0";
-
-    disabled = isPyPy; # doesn't find setuptools
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/dbohdan/jsonwatch/archive/v0.2.0.tar.gz";
-      sha256 = "04b616ef97b9d8c3887004995420e52b72a4e0480a92dbf60aa6c50317261e06";
-    };
-
-    propagatedBuildInputs = with self; [ six ];
-
-    meta = {
-      description = "Like watch -d but for JSON";
-      longDescription = ''
-        jsonwatch is a command line utility with which you can track changes in
-        JSON data delivered by a shell command or a web (HTTP/HTTPS) API.
-        jsonwatch requests data from the designated source repeatedly at a set
-        interval and displays the differences when the data changes. It is
-        similar in its behavior to how watch(1) with the -d switch works
-        for plain-text data.
-      '';
-      homepage = "https://github.com/dbohdan/jsonwatch";
-      license = licenses.mit;
-      platforms = platforms.all;
-    };
-  };
+  jsonwatch = callPackage ../development/python-modules/jsonwatch { };
 
   latexcodec = callPackage ../development/python-modules/latexcodec {};
 
@@ -2894,107 +1736,13 @@ in {
 
   libsoundtouch = callPackage ../development/python-modules/libsoundtouch { };
 
-  libthumbor = buildPythonPackage rec {
-    name = "libthumbor-${version}";
-    version = "1.3.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/libthumbor/${name}.tar.gz";
-      sha256 = "1vjhszsf8wl9k16wyg2rfjycjnawzl7z8j39bhiysbz5x4lqg91b";
-    };
-
-    buildInputs = with self; [ django ];
-
-    propagatedBuildInputs = with self; [ six pycrypto ];
-
-    doCheck = false;
-
-    meta = {
-      description = "libthumbor is the python extension to thumbor";
-      homepage = https://github.com/heynemann/libthumbor;
-      license = licenses.mit;
-    };
-  };
-
-  lightblue = buildPythonPackage rec {
-    pname = "lightblue";
-    version = "0.4";
-    name = "${pname}-${version}";
-    disabled = isPy3k; # build fails, 2018-04-11
-
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-      sha256 = "016h1mlhpqxjj25lcvl4fqc19k8ifmsv6df7rhr12fyfcrp5i14d";
-    };
-
-    buildInputs = [ pkgs.bluez pkgs.openobex ];
-
+  libthumbor = callPackage ../development/python-modules/libthumbor { };
 
-    meta = {
-      homepage = http://lightblue.sourceforge.net;
-      description = "Cross-platform Bluetooth API for Python";
-      maintainers = with maintainers; [ leenaars ];
-      license = licenses.gpl3;
-      platforms = platforms.all;
-    };
-  };
-
-
-  lightning = buildPythonPackage rec {
-    version = "1.2.1";
-    name = "lightning-python-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/lightning-python/${name}.tar.gz";
-      sha256 = "3987d7d4a634bdb6db9bcf212cf4d2f72bab5bc039f4f6cbc02c9d01c4ade792";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    propagatedBuildInputs = with self; [
-      jinja2
-      matplotlib
-      numpy
-      requests
-      six
-    ];
-
-    meta = {
-      description = "A Python client library for the Lightning data visualization server";
-      homepage = http://lightning-viz.org;
-      license = licenses.mit;
-    };
-  };
-
-  jupyter = buildPythonPackage rec {
-    version = "1.0.0";
-    name = "jupyter-${version}";
+  lightblue = callPackage ../development/python-modules/lightblue { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jupyter/${name}.tar.gz";
-      sha256 = "d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f";
-    };
+  lightning = callPackage ../development/python-modules/lightning { };
 
-    propagatedBuildInputs = with self; [
-      notebook
-      qtconsole
-      jupyter_console
-      nbconvert
-      ipykernel
-      ipywidgets
-    ];
-
-    # Meta-package, no tests
-    doCheck = false;
-
-    meta = {
-      description = "Installs all the Jupyter components in one go";
-      homepage = "http://jupyter.org/";
-      license = licenses.bsd3;
-      platforms = platforms.all;
-      priority = 100; # This is a metapackage which is unimportant
-    };
-  };
+  jupyter = callPackage ../development/python-modules/jupyter { };
 
   jupyter_console = callPackage ../development/python-modules/jupyter_console { };
 
@@ -3004,234 +1752,29 @@ in {
 
   PyLTI = callPackage ../development/python-modules/pylti { };
 
-  lmdb = buildPythonPackage rec {
-    pname = "lmdb";
-    version = "0.92";
-    name = "${pname}-${version}";
-
-    src = self.fetchPypi {
-      inherit pname version;
-      sha256 = "01nw6r08jkipx6v92kw49z34wmwikrpvc5j9xawdiyg1n2526wrx";
-    };
-
-    # Some sort of mysterious failure with lmdb.tool
-    doCheck = !isPy3k;
-
-    meta = {
-      description = "Universal Python binding for the LMDB 'Lightning' Database";
-      homepage = "https://github.com/dw/py-lmdb";
-      license = licenses.openldap;
-      maintainers = with maintainers; [ copumpkin ];
-    };
-  };
-
-  logilab_astng = buildPythonPackage rec {
-    name = "logilab-astng-0.24.3";
-
-    src = pkgs.fetchurl {
-      url = "http://download.logilab.org/pub/astng/${name}.tar.gz";
-      sha256 = "0np4wpxyha7013vkkrdy54dvnil67gzi871lg60z8lap0l5h67wn";
-    };
+  lmdb = callPackage ../development/python-modules/lmdb { };
 
-    propagatedBuildInputs = with self; [ logilab_common ];
-  };
+  logilab_astng = callPackage ../development/python-modules/logilab_astng { };
 
-  lpod = buildPythonPackage rec {
-    version = "1.1.7";
-    name = "python-lpod-${version}";
-    # lpod library currently does not support Python 3.x
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ lxml docutils pillow ];
-
-    src = pkgs.fetchFromGitHub {
-      owner = "lpod";
-      repo = "lpod-python";
-      rev = "dee32120ee582ff337b0c52a95a9a87cca71fd67";
-      sha256 = "1mikvzp27wxkzpr2lii4wg1hhx8h610agckqynvsrdc8v3nw9ciw";
-    };
-
-    meta = {
-      homepage = https://github.com/lpod/lpod-python/;
-      description = "Library implementing the ISO/IEC 26300 OpenDocument Format standard (ODF) ";
-      license = licenses.gpl3;
-    };
-  };
+  lpod = callPackage ../development/python-modules/lpod { };
 
   luftdaten = callPackage ../development/python-modules/luftdaten { };
 
   m2r = callPackage ../development/python-modules/m2r { };
 
-  mailchimp = buildPythonPackage rec {
-    version = "2.0.9";
-    name = "mailchimp-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mailchimp/mailchimp-${version}.tar.gz";
-      sha256 = "0351ai0jqv3dzx0xxm1138sa7mb42si6xfygl5ak8wnfc95ff770";
-    };
-
-    buildInputs = with self; [ docopt ];
-    propagatedBuildInputs = with self; [ requests ];
-    patchPhase = ''
-      sed -i 's/==/>=/' setup.py
-    '';
-
-    meta = {
-      description = "A CLI client and Python API library for the MailChimp email platform";
-      homepage = "http://apidocs.mailchimp.com/api/2.0/";
-      license = licenses.mit;
-    };
-  };
-
-  python-mapnik = buildPythonPackage rec {
-    name = "python-mapnik-${version}";
-    version = "3.0.16";
+  mailchimp = callPackage ../development/python-modules/mailchimp { };
 
-    src = pkgs.fetchFromGitHub {
-      owner = "mapnik";
-      repo = "python-mapnik";
-      rev = "v${version}";
-      sha256 = "1gqs4kvmjawdgl80j0ab5r8y0va9kw0rvwix3093xsv4hwd00lcc";
-    };
-
-    disabled = isPyPy;
-    doCheck = false; # doesn't find needed test data files
-    preBuild = let
-      pythonVersion = with stdenv.lib.versions; "${major python.version}${minor python.version}";
-    in ''
-      export BOOST_PYTHON_LIB="boost_python${pythonVersion}"
-      export BOOST_THREAD_LIB="boost_thread"
-      export BOOST_SYSTEM_LIB="boost_system"
-    '';
-    buildInputs = with pkgs; [
-        (boost.override {
-          enablePython = true;
-          inherit python;
-        })
-        (mapnik.override {
-          inherit python;
-          boost = (boost.override { enablePython = true; inherit python; });
-        })
-        cairo
-        harfbuzz
-        icu
-        libjpeg
-        libpng
-        libtiff
-        libwebp
-        proj
-        zlib
-      ];
-    propagatedBuildInputs = with self; [ pillow pycairo ];
-
-    meta = with stdenv.lib; {
-      description = "Python bindings for Mapnik";
-      homepage = http://mapnik.org;
-      license  = licenses.lgpl21;
-    };
-  };
+  python-mapnik = callPackage ../development/python-modules/python-mapnik { };
 
   misaka = callPackage ../development/python-modules/misaka {};
 
   mt-940 = callPackage ../development/python-modules/mt-940 { };
 
-  mwlib = let
-    pyparsing = buildPythonPackage rec {
-      name = "pyparsing-1.5.7";
-      disabled = isPy3k;
-
-      src = pkgs.fetchurl {
-        url = "mirror://pypi/p/pyparsing/${name}.tar.gz";
-        sha256 = "646e14f90b3689b005c19ac9b6b390c9a39bf976481849993e277d7380e6e79f";
-      };
-      meta = {
-        homepage = http://pyparsing.wikispaces.com/;
-        description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
-      };
-    };
-  in buildPythonPackage rec {
-    version = "0.15.15";
-    name = "mwlib-${version}";
-
-    src = pkgs.fetchurl {
-      url = "http://pypi.pediapress.com/packages/mirror/${name}.tar.gz";
-      sha256 = "1dnmnkc21zdfaypskbpvkwl0wpkpn0nagj1fc338w64mbxrk8ny7";
-    };
-
-    propagatedBuildInputs = with self; [
-        apipkg
-        bottle
-        gevent
-        lxml
-        odfpy
-        pillow
-        py
-        pyPdf
-        pyparsing
-        qserve
-        roman
-        simplejson
-        sqlite3dbm
-        timelib
-    ];
-
-    checkInputs = with self; [ pytest ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # Tests are in build directory but we need extension modules that are in $out
-    doCheck = false;
-
-    meta = {
-      description = "Library for parsing MediaWiki articles and converting them to different output formats";
-      homepage = "http://pediapress.com/code/";
-      license = licenses.bsd3;
-      broken = true; # Requires different versions of packages
-    };
-  };
-
-  mwlib-ext = buildPythonPackage rec {
-    version = "0.13.2";
-    name = "mwlib.ext-${version}";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "http://pypi.pediapress.com/packages/mirror/${name}.zip";
-      sha256 = "9229193ee719568d482192d9d913b3c4bb96af7c589d6c31ed4a62caf5054278";
-    };
-
-    meta = {
-      description = "Dependencies for mwlib markup";
-      homepage = "http://pediapress.com/code/";
-      license = licenses.bsd3;
-    };
-  };
+  mwlib = callPackage ../development/python-modules/mwlib { };
 
-  mwlib-rl = buildPythonPackage rec {
-    version = "0.14.6";
-    name = "mwlib.rl-${version}";
+  mwlib-ext = callPackage ../development/python-modules/mwlib-ext { };
 
-    src = pkgs.fetchurl {
-      url = "http://pypi.pediapress.com/packages/mirror/${name}.zip";
-      sha256 = "7f596fd60eb24d8d3da3ab4880f095294028880eafb653810a7bdaabdb031238";
-    };
-
-    buildInputs = with self;
-      [
-        mwlib
-        mwlib-ext
-        pygments
-      ];
-
-    meta = {
-      description = "Generate pdfs from mediawiki markup";
-      homepage = "http://pediapress.com/code/";
-      license = licenses.bsd3;
-    };
-  };
+  mwlib-rl = callPackage ../development/python-modules/mwlib-rl { };
 
   natsort = callPackage ../development/python-modules/natsort { };
 
@@ -3239,29 +1782,7 @@ in {
 
   logfury = callPackage ../development/python-modules/logfury { };
 
-  ndg-httpsclient = buildPythonPackage rec {
-    version = "0.4.2";
-    name = "ndg-httpsclient-${version}";
-
-    propagatedBuildInputs = with self; [ pyopenssl ];
-
-    src = pkgs.fetchFromGitHub {
-      owner = "cedadev";
-      repo = "ndg_httpsclient";
-      rev = version;
-      sha256 = "1kk4knv029j0cicfiv23c1rayc1n3f1j3rhl0527gxiv0qv4jw8h";
-    };
-
-    # uses networking
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/cedadev/ndg_httpsclient/;
-      description = "Provide enhanced HTTPS support for httplib and urllib2 using PyOpenSSL";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  ndg-httpsclient = callPackage ../development/python-modules/ndg-httpsclient { };
 
   netcdf4 = callPackage ../development/python-modules/netcdf4 { };
 
@@ -3269,60 +1790,13 @@ in {
 
   Nikola = callPackage ../development/python-modules/Nikola { };
 
-  nxt-python = buildPythonPackage rec {
-    version = "unstable-20160819";
-    pname = "nxt-python";
-    name = "${pname}-${version}";
-
-    propagatedBuildInputs = with self; [ pyusb pybluez pyfantom pkgs.git ];
-    disabled = isPy3k;
-
-    src = pkgs.fetchgit {
-      url = "http://github.com/Eelviny/nxt-python";
-      rev = "479e20b7491b28567035f4cee294c4a2af629297";
-      sha256 = "0mcsajhgm2wy4iy2lhmyi3xibgmbixbchanzmlhsxk6qyjccn9r9";
-      branchName= "pyusb";
-    };
-
-    # Tests fail on Mac dependency
-    doCheck = false;
-
-    meta = {
-      description = "Python driver/interface for Lego Mindstorms NXT robot";
-      homepage = https://github.com/Eelviny/nxt-python;
-      license = licenses.gpl3;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ leenaars ];
-    };
-  };
+  nxt-python = callPackage ../development/python-modules/nxt-python { };
 
   odfpy = callPackage ../development/python-modules/odfpy { };
 
   oset = callPackage ../development/python-modules/oset { };
 
-  pamela = buildPythonPackage rec {
-    name = "pamela-${version}";
-    version = "0.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pamela/${name}.tar.gz";
-      sha256 = "0ssxbqsshrm8p642g3h6wsq20z1fsqhpdvqdm827gn6dlr38868y";
-    };
-
-    postUnpack = ''
-      substituteInPlace $sourceRoot/pamela.py --replace \
-        'find_library("pam")' \
-        '"${getLib pkgs.pam}/lib/libpam.so"'
-    '';
-
-    doCheck = false;
-
-    meta = {
-      description = "PAM interface using ctypes";
-      homepage = "https://github.com/minrk/pamela";
-      license = licenses.mit;
-    };
-  };
+  pamela = callPackage ../development/python-modules/pamela { };
 
   # These used to be here but were moved to all-packages, but I'll leave them around for a while.
   pants = pkgs.pants;
@@ -3335,112 +1809,17 @@ in {
 
   pathspec = callPackage ../development/python-modules/pathspec { };
 
-  pathtools = buildPythonPackage rec {
-    name = "pathtools-${version}";
-    version = "0.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pathtools/${name}.tar.gz";
-      sha256 = "1h7iam33vwxk8bvslfj4qlsdprdnwf8bvzhqh3jq5frr391cadbw";
-    };
-
-    meta = {
-      description = "Pattern matching and various utilities for file systems paths";
-      homepage = https://github.com/gorakhargosh/pathtools;
-      license = licenses.mit;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
-
-  paver = buildPythonPackage rec {
-    version = "1.2.2";
-    name    = "Paver-${version}";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/P/Paver/Paver-${version}.tar.gz";
-      sha256 = "0lix9d33ndb3yk56sm1zlj80fbmxp0w60yk0d9pr2xqxiwi88sqy";
-    };
+  pathtools = callPackage ../development/python-modules/pathtools { };
 
-    buildInputs = with self; [ cogapp mock virtualenv ];
-
-    propagatedBuildInputs = with self; [ nose ];
-
-    # the tests do not pass
-    doCheck = false;
-
-    meta = {
-      description = "A Python-based build/distribution/deployment scripting tool";
-      homepage    = https://github.com/paver/paver;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
+  paver = callPackage ../development/python-modules/paver { };
 
   passlib = callPackage ../development/python-modules/passlib { };
 
-  path-and-address = buildPythonPackage rec {
-    version = "2.0.1";
-    name = "path-and-address-${version}";
-
-    buildInputs = with self; [ pytest ];
-
-    checkPhase = "py.test";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "joeyespo";
-      repo = "path-and-address";
-      rev = "v${version}";
-      sha256 = "0b0afpsaim06mv3lhbpm8fmawcraggc11jhzr6h72kdj1cqjk5h6";
-    };
-
-    meta = {
-      description = "Functions for server CLI applications used by humans";
-      homepage = https://github.com/joeyespo/path-and-address;
-      license = licenses.mit;
-      maintainers = with maintainers; [ koral];
-    };
-  };
-
-  peewee =  callPackage ../development/python-modules/peewee { };
-
-  peppercorn = buildPythonPackage rec {
-    name = "peppercorn-0.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/peppercorn/${name}.tar.gz";
-      sha256 = "921cba5d51fa211e6da0fbd2120b9a98d663422a80f5bb669ad81ffb0909774b";
-    };
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-  pex = buildPythonPackage rec {
-    name = "pex-${version}";
-    version = "1.2.7";
+  path-and-address = callPackage ../development/python-modules/path-and-address { };
 
-    src = self.fetchPypi {
-      pname  = "pex";
-      sha256 = "1m0gx9182w1dybkyjwwjyd6i87x2dzv252ks2fj8yn6avlcp5z4q";
-      inherit version;
-    };
+  peppercorn = callPackage ../development/python-modules/peppercorn { };
 
-    prePatch = ''
-      substituteInPlace setup.py --replace 'SETUPTOOLS_REQUIREMENT,' '"setuptools"'
-    '';
-
-    # A few more dependencies I don't want to handle right now...
-    doCheck = false;
-
-    meta = {
-      description = "A library and tool for generating .pex (Python EXecutable) files";
-      homepage = "https://github.com/pantsbuild/pex";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ copumpkin ];
-    };
-  };
+  pex = callPackage ../development/python-modules/pex { };
 
   phe = callPackage ../development/python-modules/phe { };
 
@@ -3467,119 +1846,29 @@ in {
     inherit (pkgs.libsForQt5) poppler;
   };
 
-  poyo = buildPythonPackage rec {
-    version = "0.4.0";
-    name = "poyo-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/poyo/${name}.tar.gz";
-      sha256 = "1f48ffl0j1f2lmgabajps7v8w90ppxbp5168gh8kh27bjd8xk5ca";
-    };
-
-    meta = {
-      homepage = https://github.com/hackebrot/poyo;
-      description = "A lightweight YAML Parser for Python";
-      license = licenses.mit;
-    };
-  };
+  poyo = callPackage ../development/python-modules/poyo { };
 
   prov = callPackage ../development/python-modules/prov { };
 
-  pudb = buildPythonPackage rec {
-    name = "pudb-2016.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pudb/${name}.tar.gz";
-      sha256 = "0njhi49d9fxbwh5p8yjx8m3jlfyzfm00b5aff6bz473pn7vxfn79";
-    };
-
-    propagatedBuildInputs = with self; [ pygments urwid ];
-
-    # Tests fail on python 3 due to writes to the read-only home directory
-    doCheck = !isPy3k;
-
-    meta = {
-      description = "A full-screen, console-based Python debugger";
-      license = licenses.mit;
-      platforms = platforms.all;
-    };
-  };
+  pudb = callPackage ../development/python-modules/pudb { };
 
   pybtex = callPackage ../development/python-modules/pybtex {};
 
   pybtex-docutils = callPackage ../development/python-modules/pybtex-docutils {};
 
-  pycallgraph = buildPythonPackage rec {
-    name = "pycallgraph-${version}";
-    version = "1.0.1";
-
-    src = pkgs.fetchurl {
-      url = mirror://pypi/p/pycallgraph/pycallgraph-1.0.1.tar.gz;
-      sha256 = "0w8yr43scnckqcv5nbyd2dq4kpv74ai856lsdsf8iniik07jn9mi";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    # Tests do not work due to this bug: https://github.com/gak/pycallgraph/issues/118
-    doCheck = false;
-
-    meta = {
-      homepage = http://pycallgraph.slowchop.com;
-      description = "Call graph visualizations for Python applications";
-      maintainers = with maintainers; [ auntie ];
-      license = licenses.gpl2;
-      platforms = platforms.all;
-    };
-  };
+  pycallgraph = callPackage ../development/python-modules/pycallgraph { };
 
   pycassa = callPackage ../development/python-modules/pycassa { };
 
-  pyblake2 = callPackage ../development/python-modules/pyblake2 { };
-
-  pybluez = buildPythonPackage rec {
-    version = "unstable-20160819";
-    pname = "pybluez";
-    name = "${pname}-${version}";
-
-    propagatedBuildInputs = with self; [ pkgs.bluez ];
-
-    src = pkgs.fetchFromGitHub {
-      owner = "karulis";
-      repo = "${pname}";
-      rev = "a0b226a61b166e170d48539778525b31e47a4731";
-      sha256 = "104dm5ngfhqisv1aszdlr3szcav2g3bhsgzmg4qfs09b3i5zj047";
-    };
-
-    # the tests do not pass
-    doCheck = false;
-
-    meta = {
-      description = "Bluetooth Python extension module";
-      license = licenses.gpl2;
-      maintainers = with maintainers; [ leenaars ];
-    };
-  };
-
-  pycares = buildPythonPackage rec {
-    name = "pycares-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pycares/${name}.tar.gz";
-      sha256 = "a18341ea030e2cc0743acdf4aa72302bdf6b820938b36ce4bd76e43faa2276a3";
-    };
+  lirc = disabledIf isPy27 (toPythonModule (pkgs.lirc.override {
+    python3 = python;
+  }));
 
-    propagatedBuildInputs = [ pkgs.c-ares ];
+  pyblake2 = callPackage ../development/python-modules/pyblake2 { };
 
-    # No tests included
-    doCheck = false;
+  pybluez = callPackage ../development/python-modules/pybluez { };
 
-    meta = {
-      homepage = https://github.com/saghul/pycares;
-      description = "Interface for c-ares";
-      license = licenses.mit;
-    };
-  };
+  pycares = callPackage ../development/python-modules/pycares { };
 
   pycuda = callPackage ../development/python-modules/pycuda rec {
     cudatoolkit = pkgs.cudatoolkit_7_5;
@@ -3598,37 +1887,7 @@ in {
 
   pyphen = callPackage ../development/python-modules/pyphen {};
 
-  pypoppler = buildPythonPackage rec {
-    name = "pypoppler-${version}";
-    version = "0.12.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pypoppler/${name}.tar.gz";
-      sha256 = "47e6ac99e5b114b9abf2d1dd1bca06f22c028d025432512989f659142470810f";
-    };
-
-    NIX_CFLAGS_COMPILE="-I${pkgs.poppler.dev}/include/poppler/";
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = [ pkgs.poppler.dev ];
-    propagatedBuildInputs = with self; [ pycairo pygobject2 ];
-
-    patches = [
-      ../development/python-modules/pypoppler-0.39.0.patch
-      ../development/python-modules/pypoppler-poppler.c.patch
-    ];
-
-    # Not supported.
-    disabled = isPy3k;
-
-    # No tests in archive
-    doCheck = false;
-
-    meta = {
-      homepage = https://code.launchpad.net/~mriedesel/poppler-python/main;
-      description = "Python bindings for poppler-glib, unofficial branch including bug fixes, and removal of gtk dependencies";
-      license = licenses.gpl2;
-    };
-  };
+  pypoppler = callPackage ../development/python-modules/pypoppler { };
 
   pypillowfight = callPackage ../development/python-modules/pypillowfight { };
 
@@ -3640,149 +1899,17 @@ in {
 
   pythonix = toPythonModule (callPackage ../development/python-modules/pythonix { });
 
-  pyramid = buildPythonPackage rec {
-    pname = "pyramid";
-    version = "1.9.1";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0dhbzc4q0vsnv3aihy728aczg56xs6h9s1rmvr096q4lb6yln3w4";
-    };
-
-    checkInputs = with self; [
-      docutils
-      virtualenv
-      webtest
-      zope_component
-    ];
-
-    propagatedBuildInputs = with self; [
-      hupper
-      PasteDeploy
-      plaster
-      plaster-pastedeploy
-      repoze_lru
-      repoze_sphinx_autointerface
-      translationstring
-      venusian
-      webob
-      zope_deprecation
-      zope_interface
-    ];
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-
-    # Failing tests
-    # https://github.com/Pylons/pyramid/issues/1899
-    doCheck = !isPy35;
-
-  };
+  pyramid = callPackage ../development/python-modules/pyramid { };
 
   pyramid_beaker = callPackage ../development/python-modules/pyramid_beaker { };
 
-  pyramid_chameleon = buildPythonPackage rec {
-    name = "pyramid_chameleon-0.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_chameleon/${name}.tar.gz";
-      sha256 = "d176792a50eb015d7865b44bd9b24a7bd0489fa9a5cebbd17b9e05048cef9017";
-    };
-
-    propagatedBuildInputs = with self; [
-      chameleon
-      pyramid
-      zope_interface
-      setuptools
-    ];
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
-
-
-  pyramid_jinja2 = buildPythonPackage rec {
-    name = "pyramid_jinja2-${version}";
-    version = "2.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_jinja2/${name}.tar.gz";
-      sha256 = "93c86e3103b454301f4d66640191aba047f2ab85ba75647aa18667b7448396bd";
-    };
-
-    buildInputs = with self; [ webtest ];
-    propagatedBuildInputs = with self; [ jinja2 pyramid ];
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-
-  pyramid_mako = buildPythonPackage rec {
-    name = "pyramid_mako-0.3.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_mako/${name}.tar.gz";
-      sha256 = "00811djmsc4rz20kpy2paam05fbx6dmrv2i5jf90f6xp6zw4isy6";
-    };
-
-    buildInputs = with self; [ webtest ];
-    propagatedBuildInputs = with self; [ pyramid Mako ];
-  };
-
-
-  pyramid_exclog = buildPythonPackage rec {
-    name = "pyramid_exclog-0.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_exclog/${name}.tar.gz";
-      sha256 = "a58c82866c3e1a350684e6b83b440d5dc5e92ca5d23794b56d53aac06fb65a2c";
-    };
-
-    propagatedBuildInputs = with self; [ pyramid ];
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
+  pyramid_chameleon = callPackage ../development/python-modules/pyramid_chameleon { };
 
-  pyramid_multiauth = buildPythonPackage rec {
-    name = "pyramid_multiauth-${version}";
-    version = "0.8.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_multiauth/${name}.tar.gz";
-      sha256 = "1lq292qakrm4ixi4vaif8dqywzj08pn6qy0wi4gw28blh39p0msk";
-    };
+  pyramid_jinja2 = callPackage ../development/python-modules/pyramid_jinja2 { };
 
-    propagatedBuildInputs = with self; [ pyramid ];
-
-    meta = {
-      description = "Authentication policy for Pyramid that proxies to a stack of other authentication policies";
-      homepage = https://github.com/mozilla-services/pyramid_multiauth;
-    };
-  };
-
-  pyramid_hawkauth = buildPythonPackage rec {
-    name = "pyramidhawkauth-${version}";
-    version = "0.1.0";
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/pyramid_hawkauth.git;
-      rev = "refs/tags/v${version}";
-      sha256 = "038ign7qlavlmvrhb2y8bygbxvy4j7bx2k1zg0i3wblg2ja50w7h";
-    };
+  pyramid_mako = callPackage ../development/python-modules/pyramid_mako { };
 
-    propagatedBuildInputs = with self; [ pyramid hawkauthlib tokenlib ];
-    buildInputs = with self; [ webtest ];
-  };
+  peewee =  callPackage ../development/python-modules/peewee { };
 
   pyroute2 = callPackage ../development/python-modules/pyroute2 { };
 
@@ -3794,29 +1921,6 @@ in {
 
   pytools = callPackage ../development/python-modules/pytools { };
 
-  pytun = buildPythonPackage rec {
-    name = "pytun-${version}";
-    version = "2.2.1";
-    rev = "v${version}";
-
-    src = pkgs.fetchFromGitHub {
-      inherit rev;
-      owner = "montag451";
-      repo = "pytun";
-      sha256 = "1bxk0z0v8m0b01xg94f039j3bsclkshb7girvjqfzk5whbd2nryh";
-    };
-
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/montag451/pytun;
-      description = "Linux TUN/TAP wrapper for Python";
-      license = licenses.mit;
-      maintainers = with maintainers; [ montag451 ];
-      platforms = platforms.linux;
-    };
-  };
-
   python-ctags3 = callPackage ../development/python-modules/python-ctags3 { };
 
   junos-eznc = callPackage ../development/python-modules/junos-eznc {};
@@ -3825,111 +1929,8 @@ in {
 
   rawkit = callPackage ../development/python-modules/rawkit { };
 
-  rethinkdb = buildPythonPackage rec {
-    name = "rethinkdb-${version}";
-    version = "2.3.0.post6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rethinkdb/${name}.tar.gz";
-      sha256 = "05qwkmq6kn437ywyjs02jxbry720gw39q4z4jdb0cnbbi76lwddm";
-    };
-
-    doCheck = false;
-
-    meta = {
-      description = "Python driver library for the RethinkDB database server";
-      homepage = "https://pypi.python.org/pypi/rethinkdb";
-      license = licenses.agpl3;
-    };
-  };
-
-  roman = buildPythonPackage rec {
-    version = "2.0.0";
-    name = "roman-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/roman/${name}.zip";
-      sha256 = "90e83b512b44dd7fc83d67eb45aa5eb707df623e6fc6e66e7f273abd4b2613ae";
-    };
-
-    buildInputs = with self; with pkgs; [ ];
-
-    propagatedBuildInputs = with self; [ ];
-
-    meta = {
-      description = "Integer to Roman numerals converter";
-      homepage = "https://pypi.python.org/pypi/roman";
-      license = licenses.psfl;
-    };
-  };
-
-
-
-  librosa = buildPythonPackage rec {
-    pname = "librosa";
-    name = "${pname}-${version}";
-    version = "0.4.3";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-      sha256 = "209626c53556ca3922e52d2fae767bf5b398948c867fcc8898f948695dacb247";
-    };
-
-    propagatedBuildInputs = with self; [ joblib matplotlib six scikitlearn
-      decorator audioread resampy ];
-
-    # No tests
-    doCheck = false;
-
-    meta = {
-      description = "Python module for audio and music processing";
-      homepage = http://librosa.github.io/;
-      license = licenses.isc;
-    };
-  };
-
   joblib = callPackage ../development/python-modules/joblib { };
 
-  safe = buildPythonPackage rec {
-    version = "0.4";
-    name = "Safe-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/S/Safe/${name}.tar.gz";
-      sha256 = "a2fdac9fe8a9dcf02b438201d6ce0b7be78f85dc6492d03edfb89be2adf489de";
-    };
-
-    buildInputs = with self; [ nose ];
-    meta = {
-      homepage = "https://github.com/lepture/safe";
-      license = licenses.bsd3;
-      description = "Check password strength";
-    };
-  };
-
-  samplerate = buildPythonPackage rec {
-    name = "scikits.samplerate-${version}";
-    version = "0.3.3";
-    src = pkgs.fetchgit {
-      url = https://github.com/cournape/samplerate;
-      rev = "a536c97eb2d6195b5f266ea3cc3a35364c4c2210";
-      sha256 = "0mgic7bs5zv5ji05vr527jlxxlb70f9dg93hy1lzyz2plm1kf7gg";
-    };
-
-    buildInputs = with self;  [ pkgs.libsamplerate ];
-
-    propagatedBuildInputs = with self; [ numpy ];
-
-    preConfigure = ''
-       cat > site.cfg << END
-       [samplerate]
-       library_dirs=${pkgs.libsamplerate.out}/lib
-       include_dirs=${pkgs.libsamplerate.dev}/include
-       END
-    '';
-
-    doCheck = false;
-  };
-
   sarge = callPackage ../development/python-modules/sarge { };
 
   subliminal = callPackage ../development/python-modules/subliminal {};
@@ -3938,98 +1939,14 @@ in {
 
   zope_copy = callPackage ../development/python-modules/zope_copy {};
 
-  ssdeep = buildPythonPackage rec {
-    name = "ssdeep-3.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/ssdeep/${name}.tar.gz";
-      sha256 = "1p9dpykmnfb73cszdiic5wbz5bmbbmkiih08pb4dah5mwq4n7im6";
-    };
-
-    buildInputs = with pkgs; [ ssdeep ];
-    propagatedBuildInputs = with self; [ cffi six ];
-    meta.broken = true; # Tests fail, and no reverse-dependencies anyway
-  };
-
   s2clientprotocol = callPackage ../development/python-modules/s2clientprotocol { };
 
-  statsd = buildPythonPackage rec {
-    name = "statsd-${version}";
-    version = "3.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/statsd/${name}.tar.gz";
-      sha256 = "3fa92bf0192af926f7a0d9be031fe3fd0fbaa1992d42cf2f07e68f76ac18288e";
-    };
-
-    buildInputs = with self; [ nose mock ];
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-      description = "A simple statsd client";
-      license = licenses.mit;
-      homepage = https://github.com/jsocol/pystatsd;
-    };
-
-    patchPhase = ''
-      # Failing test: ERROR: statsd.tests.test_ipv6_resolution_udp
-      sed -i 's/test_ipv6_resolution_udp/noop/' statsd/tests.py
-      # well this is a noop, but so it was before
-      sed -i 's/assert_called_once()/called/' statsd/tests.py
-    '';
-
-  };
-
   py3status = callPackage ../development/python-modules/py3status {};
 
-  multi_key_dict = buildPythonPackage rec {
-    name = "multi_key_dict-${version}";
-    version = "2.0.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/multi_key_dict/multi_key_dict-${version}.tar.gz";
-      sha256 = "17lkx4rf4waglwbhc31aak0f28c63zl3gx5k5i1iq2m3gb0xxsyy";
-    };
-
-    meta = with stdenv.lib; {
-      description = "multi_key_dict";
-      homepage = "https://github.com/formiaczek/multi_key_dict";
-    };
-  };
-
-
   pyrtlsdr = callPackage ../development/python-modules/pyrtlsdr { };
 
-  random2 = self.buildPythonPackage rec {
-    name = "random2-1.0.1";
-
-    doCheck = !isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/random2/${name}.zip";
-      sha256 = "34ad30aac341039872401595df9ab2c9dc36d0b7c077db1cea9ade430ed1c007";
-    };
-  };
-
   scandir = callPackage ../development/python-modules/scandir { };
 
-  schedule = buildPythonPackage rec {
-    name = "schedule-0.3.2";
-
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/10/96/d101fab391753ebc81fa3bb0e744df1ddcfb032c31b036d38083f8994db1/schedule-0.3.2.tar.gz";
-      sha256 = "1h0waw4jd5ql68y5kxb9irwapkbkwfs1w0asvbl24fq5f8czdijm";
-    };
-
-    buildInputs = with self; [ mock ];
-
-    meta = with stdenv.lib; {
-      description = "Python job scheduling for humans";
-      homepage = https://github.com/dbader/schedule;
-      license = licenses.mit;
-    };
-  };
-
   schema = callPackage ../development/python-modules/schema {};
 
   simple-websocket-server = callPackage ../development/python-modules/simple-websocket-server {};
@@ -4042,206 +1959,63 @@ in {
 
   ratelimiter = callPackage ../development/python-modules/ratelimiter { };
 
-  repoze_lru = buildPythonPackage rec {
-    name = "repoze.lru-0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/repoze.lru/${name}.tar.gz";
-      sha256 = "0f7a323bf716d3cb6cb3910cd4fccbee0b3d3793322738566ecce163b01bbd31";
-    };
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-  repoze_sphinx_autointerface = buildPythonPackage rec {
-    name = "repoze.sphinx.autointerface-0.7.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/repoze.sphinx.autointerface/${name}.tar.gz";
-      sha256 = "97ef5fac0ab0a96f1578017f04aea448651fa9f063fc43393a8253bff8d8d504";
-    };
-
-    propagatedBuildInputs = with self; [ zope_interface sphinx ];
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-
-  setuptools-git = buildPythonPackage rec {
-    name = "setuptools-git-${version}";
-    version = "1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/setuptools-git/${name}.tar.gz";
-      sha256 = "047d7595546635edebef226bc566579d422ccc48a8a91c7d32d8bd174f68f831";
-    };
-
-    propagatedBuildInputs = [ pkgs.git ];
-    doCheck = false;
-
-    meta = {
-      description = "Setuptools revision control system plugin for Git";
-      homepage = https://pypi.python.org/pypi/setuptools-git;
-      license = licenses.bsd3;
-    };
-  };
-
-
-  watchdog = buildPythonPackage rec {
-    name = "watchdog-${version}";
-    version = "0.8.3";
-
-    propagatedBuildInputs = with self; [ argh pathtools pyyaml ];
-
-    buildInputs = stdenv.lib.optionals stdenv.isDarwin
-      [ pkgs.darwin.apple_sdk.frameworks.CoreServices pkgs.darwin.cf-private ];
-
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/w/watchdog/${name}.tar.gz";
-      sha256 = "0qj1vqszxwfx6d1s66s96jmfmy2j94bywxiqdydh6ikpvcm8hrby";
-    };
-
-    meta = {
-      description = "Python API and shell utilities to monitor file system events";
-      homepage = https://github.com/gorakhargosh/watchdog;
-      license = licenses.asl20;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
-
   pywatchman = callPackage ../development/python-modules/pywatchman { };
 
   pywavelets = callPackage ../development/python-modules/pywavelets { };
 
-  zope_deprecation = buildPythonPackage rec {
-    name = "zope.deprecation-4.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/z/zope.deprecation/${name}.tar.gz";
-      sha256 = "fed622b51ffc600c13cc5a5b6916b8514c115f34f7ea2730409f30c061eb0b78";
-    };
-
-    buildInputs = with self; [ zope_testing ];
-
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-  validictory = buildPythonPackage rec {
-    name = "validictory-1.0.0a2";
+  vcrpy = callPackage ../development/python-modules/vcrpy { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/v/validictory/validictory-1.0.0a2.tar.gz";
-      sha256 = "c02388a70f5b854e71e2e09bd6d762a2d8c2a017557562e866d8ffafb0934b07";
-    };
+  descartes = callPackage ../development/python-modules/descartes { };
 
-    doCheck = false;
+  chardet = callPackage ../development/python-modules/chardet { };
 
-    meta = {
-      description = "Validate dicts against a schema";
-      homepage = https://github.com/sunlightlabs/validictory;
-      license = licenses.mit;
-    };
-  };
+  pyramid_exclog = callPackage ../development/python-modules/pyramid_exclog { };
 
-  vcrpy = callPackage ../development/python-modules/vcrpy { };
+  pyramid_multiauth = callPackage ../development/python-modules/pyramid_multiauth { };
 
-  venusian = buildPythonPackage rec {
-    name = "venusian-1.0";
+  pyramid_hawkauth = callPackage ../development/python-modules/pyramid_hawkauth { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/v/venusian/${name}.tar.gz";
-      sha256 = "1720cff2ca9c369c840c1d685a7c7a21da1afa687bfe62edd93cae4bf429ca5a";
-    };
+  pytun = callPackage ../development/python-modules/pytun { };
 
-    # TODO: https://github.com/Pylons/venusian/issues/23
-    doCheck = false;
+  rethinkdb = callPackage ../development/python-modules/rethinkdb { };
 
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-      platforms = platforms.all;
-    };
-  };
+  roman = callPackage ../development/python-modules/roman { };
 
+  librosa = callPackage ../development/python-modules/librosa { };
 
-  chameleon = buildPythonPackage rec {
-    name = "Chameleon-2.25";
+  samplerate = callPackage ../development/python-modules/samplerate { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/Chameleon/${name}.tar.gz";
-      sha256 = "0va95cml7wfjpvgj3dc9xdn8psyjh3zbk6v51b0hcqv2fzh409vb";
-    } ;
+  ssdeep = callPackage ../development/python-modules/ssdeep { };
 
-    meta = {
-      maintainers = with maintainers; [ garbas domenkozar ];
-    };
-  };
+  statsd = callPackage ../development/python-modules/statsd { };
 
-  ddt = buildPythonPackage (rec {
-    name = "ddt-1.0.0";
+  multi_key_dict = callPackage ../development/python-modules/multi_key_dict { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/ddt/${name}.tar.gz";
-      sha256 = "e24ecb7e2cf0bf43fa9d4255d3ae2bd0b7ce30b1d1b89ace7aa68aca1152f37a";
-    };
+  random2 = callPackage ../development/python-modules/random2 { };
 
-    meta = {
-      description = "Data-Driven/Decorated Tests, a library to multiply test cases";
+  schedule = callPackage ../development/python-modules/schedule { };
 
-      homepage = https://github.com/txels/ddt;
+  repoze_lru = callPackage ../development/python-modules/repoze_lru { };
 
-      license = licenses.mit;
-    };
-  });
+  repoze_sphinx_autointerface =  callPackage ../development/python-modules/repoze_sphinx_autointerface { };
 
-  descartes = callPackage ../development/python-modules/descartes { };
+  setuptools-git = callPackage ../development/python-modules/setuptools-git { };
 
-  distutils_extra = buildPythonPackage rec {
-    name = "distutils-extra-${version}";
-    version = "2.39";
+  watchdog = callPackage ../development/python-modules/watchdog { };
 
-    src = pkgs.fetchurl {
-      url = "http://launchpad.net/python-distutils-extra/trunk/${version}/+download/python-${name}.tar.gz";
-      sha256 = "1bv3h2p9ffbzyddhi5sccsfwrm3i6yxzn0m06fdxkj2zsvs28gvj";
-    };
+  zope_deprecation = callPackage ../development/python-modules/zope_deprecation { };
 
-    meta = {
-      homepage = https://launchpad.net/python-distutils-extra;
-      description = "Enhancements to Python's distutils";
-      license = licenses.gpl2;
-    };
-  };
+  validictory = callPackage ../development/python-modules/validictory { };
 
-  pyxdg = buildPythonPackage rec {
-    name = "pyxdg-0.25";
+  venusian = callPackage ../development/python-modules/venusian { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyxdg/${name}.tar.gz";
-      sha256 = "81e883e0b9517d624e8b0499eb267b82a815c0b7146d5269f364988ae031279d";
-    };
+  chameleon = callPackage ../development/python-modules/chameleon { };
 
-    # error: invalid command 'test'
-    doCheck = false;
+  ddt = callPackage ../development/python-modules/ddt { };
 
-    meta = {
-      homepage = http://freedesktop.org/wiki/Software/pyxdg;
-      description = "Contains implementations of freedesktop.org standards";
-      license = licenses.lgpl2;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
+  distutils_extra = callPackage ../development/python-modules/distutils_extra { };
 
-  chardet = callPackage ../development/python-modules/chardet { };
+  pyxdg = callPackage ../development/python-modules/pyxdg { };
 
   crayons = callPackage ../development/python-modules/crayons{ };
 
@@ -4259,96 +2033,23 @@ in {
     gdal = self.gdal;
   };
 
-  django_1_8 = buildPythonPackage rec {
-    name = "Django-${version}";
-    version = "1.8.18";
-    disabled = pythonOlder "2.7";
-
-    src = pkgs.fetchurl {
-      url = "http://www.djangoproject.com/m/releases/1.8/${name}.tar.gz";
-      sha256 = "1ishvbihr9pain0486qafb18dnb7v2ppq34nnx1s8f95bvfiqqf7";
-    };
-
-    # too complicated to setup
-    doCheck = false;
-
-    # patch only $out/bin to avoid problems with starter templates (see #3134)
-    postFixup = ''
-      wrapPythonProgramsIn $out/bin "$out $pythonPath"
-    '';
-
-    meta = {
-      description = "A high-level Python Web framework";
-      homepage = https://www.djangoproject.com/;
-    };
-  };
+  django_1_8 = callPackage ../development/python-modules/django/1_8.nix { };
 
   django-allauth = callPackage ../development/python-modules/django-allauth { };
 
   django_appconf = callPackage ../development/python-modules/django_appconf { };
 
-  django_colorful = buildPythonPackage rec {
-    name = "django-colorful-${version}";
-    version = "1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-colorful/${name}.tar.gz";
-      sha256 = "0y34hzvfrm1xbxrd8frybc9yzgqvz4c07frafipjikw7kfjsw8az";
-    };
-
-    # Tests aren't run
-    doCheck = false;
-
-    # Requires Django >= 1.8
-    buildInputs = with self; [ django ];
-
-    meta = {
-      description = "Django extension that provides database and form color fields";
-      homepage = https://github.com/charettes/django-colorful;
-      license = licenses.mit;
-    };
-  };
+  django_colorful = callPackage ../development/python-modules/django_colorful { };
 
   django_compressor = callPackage ../development/python-modules/django_compressor { };
 
   django_compat = callPackage ../development/python-modules/django-compat { };
 
-  django_environ = buildPythonPackage rec {
-    name = "django-environ-${version}";
-    version = "0.4.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-environ/${name}.tar.gz";
-      sha256 = "0i32vsgk1xmwpi7i6f6v5hg653y9dl0fsz5qmv94skz6hwgm5kvh";
-    };
-
-    # The testsuite fails to modify the base environment
-    doCheck = false;
-    propagatedBuildInputs = with self ; [ django six ];
-
-    meta = {
-      description = "Utilize environment variables to configure your Django application";
-      homepage = https://github.com/joke2k/django-environ/;
-      license = licenses.mit;
-    };
-  };
+  django_contrib_comments = callPackage ../development/python-modules/django_contrib_comments { };
 
-  django_evolution = buildPythonPackage rec {
-    name = "django_evolution-0.7.5";
-    disabled = isPy3k;
+  django_environ = callPackage ../development/python-modules/django_environ { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django_evolution/${name}.tar.gz";
-      sha256 = "1qbcx54hq8iy3n2n6cki3bka1m9rp39np4hqddrm9knc954fb7nv";
-    };
-
-    propagatedBuildInputs = with self; [ django ];
-
-    meta = {
-      description = "A database schema evolution tool for the Django web framework";
-      homepage = http://code.google.com/p/django-evolution/;
-    };
-  };
+  django_evolution = callPackage ../development/python-modules/django_evolution { };
 
   django_extensions = callPackage ../development/python-modules/django-extensions { };
 
@@ -4388,26 +2089,7 @@ in {
     propagatedBuildInputs = with self; [ django ];
   });
 
-  django_classytags = buildPythonPackage rec {
-    name = "django-classy-tags-${version}";
-    version = "0.6.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-classy-tags/${name}.tar.gz";
-      sha256 = "0wxvpmjdzk0aajk33y4himn3wqjx7k0aqlka9j8ay3yfav78bdq0";
-    };
-
-    propagatedBuildInputs = with self; [ django ];
-
-    # tests appear to be broken on 0.6.1 at least
-    doCheck = ( version != "0.6.1" );
-
-    meta = {
-      description = "Class based template tags for Django";
-      homepage = https://github.com/ojii/django-classy-tags;
-      license = licenses.bsd3;
-    };
-  };
+  django_classytags = callPackage ../development/python-modules/django_classytags { };
 
   # This package may need an older version of Django.
   # Override the package set and set e.g. `django = super.django_1_9`.
@@ -4416,47 +2098,9 @@ in {
 
   django_hijack_admin = callPackage ../development/python-modules/django-hijack-admin { };
 
-  django_nose = buildPythonPackage rec {
-    name = "django-nose-${version}";
-    version = "1.4.4";
+  django_nose = callPackage ../development/python-modules/django_nose { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-nose/${name}.tar.gz";
-      sha256 = "1fm47fkza2lk0xgc6qpi9vs78zg7q8cgl6mdan69sbycgy909ff0";
-    };
-
-    # vast dependency list
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ django nose ];
-
-    meta = {
-      description = "Provides all the goodness of nose in your Django tests";
-      homepage = https://github.com/django-nose/django-nose;
-      license = licenses.bsd3;
-    };
-  };
-
-  django_modelcluster = buildPythonPackage rec {
-    name = "django-modelcluster-${version}";
-    version = "0.6.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-modelcluster/django-modelcluster-${version}.tar.gz";
-      sha256 = "1plsdi44dvsj2sfx79lsrccjfg0ymajcsf5n0mln4cwd4qi5mwpx";
-    };
-
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ pytz six ];
-
-    meta = {
-      description = "Django extension to allow working with 'clusters' of models as a single unit, independently of the database";
-      homepage = https://github.com/torchbox/django-modelcluster/;
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ desiderius ];
-    };
-  };
+  django_modelcluster = callPackage ../development/python-modules/django_modelcluster { };
 
   djangorestframework = callPackage ../development/python-modules/djangorestframework { };
 
@@ -4464,96 +2108,13 @@ in {
 
   django_redis = callPackage ../development/python-modules/django_redis { };
 
-  django_reversion = buildPythonPackage rec {
-    name = "django-reversion-${version}";
-    version = "1.10.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-reversion/${name}.tar.gz";
-      sha256 = "01iv8w6lmmq98qjhxmnp8ddjxifmhxcmp612ijd91wc8nv8lk12w";
-    };
-
-    propagatedBuildInputs = with self; [ django ];
-
-    meta = {
-      description = "An extension to the Django web framework that provides comprehensive version control facilities";
-      homepage = https://github.com/etianen/django-reversion;
-      license = licenses.bsd3;
-    };
-  };
-
-  django_silk = buildPythonPackage rec {
-    name = "django-silk-${version}";
-    version = "0.5.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-silk/${name}.tar.gz";
-      sha256 = "845abc688738858ce06e993c4b7dbbcfcecf33029e828f143463ff96f9a78947";
-    };
-
-    doCheck = false;
-
-    buildInputs = [ self.mock ];
-
-    propagatedBuildInputs = with self; [
-      django
-      pygments
-      simplejson
-      dateutil
-      requests
-      sqlparse
-      jinja2
-      autopep8
-      pytz
-      pillow
-    ];
-
-    meta = {
-      description = "Silky smooth profiling for the Django Framework";
-      homepage = https://github.com/mtford90/silk;
-      license = licenses.mit;
-    };
-  };
-
-  django_taggit = buildPythonPackage rec {
-    name = "django-taggit-${version}";
-    version = "0.17.0";
-    disabled = pythonOlder "2.7";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-taggit/django-taggit-${version}.tar.gz";
-      sha256 = "1xy4mm1y6z6bpakw907859wz7fiw7jfm586dj89w0ggdqlb0767b";
-    };
-
-    doCheck = false;
+  django_reversion = callPackage ../development/python-modules/django_reversion { };
 
-    meta = {
-      description = "django-taggit is a reusable Django application for simple tagging";
-      homepage = https://github.com/alex/django-taggit/tree/master/;
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ desiderius ];
-    };
-  };
-
-  django_treebeard = buildPythonPackage rec {
-    name = "django-treebeard-${version}";
-    version = "3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/django-treebeard/${name}.tar.gz";
-      sha256 = "10p9rb2m1zccszg7590fjd0in6rabzsh86f5m7qm369mapc3b6dc";
-    };
+  django_silk = callPackage ../development/python-modules/django_silk { };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ django ];
+  django_taggit = callPackage ../development/python-modules/django_taggit { };
 
-    meta = {
-      description = "Efficient tree implementations for Django 1.6+";
-      homepage = https://tabo.pe/projects/django-treebeard/;
-      maintainers = with maintainers; [ desiderius ];
-      license = licenses.asl20;
-    };
-  };
+  django_treebeard = callPackage ../development/python-modules/django_treebeard { };
 
   django_pipeline = callPackage ../development/python-modules/django-pipeline { };
 
@@ -4561,304 +2122,43 @@ in {
 
   djmail = callPackage ../development/python-modules/djmail { };
 
-  pillowfight = buildPythonPackage rec {
-    name = "pillowfight-${version}";
-    version = "0.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pillowfight/pillowfight-${version}.tar.gz";
-      sha256 = "1mh1nhcjjgv7x134sv0krri59ng8bp2w6cwsxc698rixba9f3g0m";
-    };
-
-    propagatedBuildInputs = with self; [
-      pillow
-    ];
-    meta = with stdenv.lib; {
-      description = "Pillow Fight";
-      homepage = "https://github.com/beanbaginc/pillowfight";
-    };
-  };
-
-  kaptan = buildPythonPackage rec {
-    name = "kaptan-${version}";
-    version = "0.5.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/kaptan/${name}.tar.gz";
-      sha256 = "1b8r86yyvdvyxd6f10mhkl6cr2jhxm80jjqr4zch96w9hs9rh5vq";
-    };
-
-    propagatedBuildInputs = with self; [ pyyaml ];
-
-    meta = with stdenv.lib; {
-      description = "Configuration manager for python applications";
-      homepage = https://emre.github.io/kaptan/;
-      license = licenses.bsd3;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ jgeerds ];
-    };
-  };
+  pillowfight = callPackage ../development/python-modules/pillowfight { };
 
-  keepalive = buildPythonPackage rec {
-    name = "keepalive-${version}";
-    version = "0.5";
+  kaptan = callPackage ../development/python-modules/kaptan { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/keepalive/keepalive-${version}.tar.gz";
-      sha256 = "3c6b96f9062a5a76022f0c9d41e9ef5552d80b1cadd4fccc1bf8f183ba1d1ec1";
-    };
-
-    # No tests included
-    doCheck = false;
-
-    meta = with stdenv.lib; {
-      description = "An HTTP handler for `urllib2` that supports HTTP 1.1 and keepalive";
-      homepage = "https://github.com/wikier/keepalive";
-    };
-  };
+  keepalive = callPackage ../development/python-modules/keepalive { };
 
   keyrings-alt = callPackage ../development/python-modules/keyrings-alt {};
 
-  SPARQLWrapper = buildPythonPackage rec {
-    name = "SPARQLWrapper-${version}";
-    version = "1.7.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/S/SPARQLWrapper/SPARQLWrapper-${version}.tar.gz";
-      sha256 = "1y12hpsfjd779yi29bhvl6g4vszadjvd8jw38z5rg77b034vxjnw";
-    };
-
-    # break circular dependency loop
-    patchPhase = ''
-      sed -i '/rdflib/d' requirements.txt
-    '';
-
-    # Doesn't actually run tests
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [
-      six isodate pyparsing html5lib keepalive
-    ];
-
-    meta = with stdenv.lib; {
-      description = "This is a wrapper around a SPARQL service. It helps in creating the query URI and, possibly, convert the result into a more manageable format";
-      homepage = "http://rdflib.github.io/sparqlwrapper";
-    };
-  };
+  SPARQLWrapper = callPackage ../development/python-modules/sparqlwrapper { };
 
   dulwich = callPackage ../development/python-modules/dulwich {
     inherit (pkgs) git glibcLocales;
   };
 
-  hg-git = buildPythonPackage rec {
-    name = "hg-git-${version}";
-    version = "0.8.11";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hg-git/${name}.tar.gz";
-      sha256 = "08kw1sj3sq1q1571hwkc51w20ks9ysmlg93pcnmd6gr66bz02dyn";
-    };
-
-    propagatedBuildInputs = with self; [ dulwich ];
-
-    meta = {
-      description = "Push and pull from a Git server using Mercurial";
-      homepage = http://hg-git.github.com/;
-      maintainers = with maintainers; [ koral ];
-      license = stdenv.lib.licenses.gpl2;
-    };
-  };
-
-  dtopt = buildPythonPackage rec {
-    name = "dtopt-0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/dtopt/${name}.tar.gz";
-      sha256 = "06ae07a12294a7ba708abaa63f838017d1a2faf6147a1e7a14ca4fa28f86da7f";
-    };
-
-    meta = {
-      description = "Add options to doctest examples while they are running";
-      homepage = https://pypi.python.org/pypi/dtopt;
-    };
-    # Test contain Python 2 print
-    disabled = isPy3k;
-  };
-
-
-  ecdsa = buildPythonPackage rec {
-    name = "ecdsa-${version}";
-    version = "0.13";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/ecdsa/${name}.tar.gz";
-      sha256 = "1yj31j0asmrx4an9xvsaj2icdmzy6pw0glfpqrrkrphwdpi1xkv4";
-    };
+  hg-git = callPackage ../development/python-modules/hg-git { };
 
-    # Only needed for tests
-    buildInputs = with self; [ pkgs.openssl ];
+  dtopt = callPackage ../development/python-modules/dtopt { };
 
-    meta = {
-      description = "ECDSA cryptographic signature library";
-      homepage = "https://github.com/warner/python-ecdsa";
-      license = licenses.mit;
-      maintainers = with maintainers; [ aszlig ];
-    };
-  };
+  ecdsa = callPackage ../development/python-modules/ecdsa { };
 
   effect = callPackage ../development/python-modules/effect {};
 
-  elpy = buildPythonPackage rec {
-    name = "elpy-${version}";
-    version = "1.9.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/elpy/${name}.tar.gz";
-      sha256 = "419f7b05b19182bc1aedde1ae80812c1534e59a0493476aa01ea819e76ba26f0";
-    };
-    python2Deps = if isPy3k then [ ] else [ self.rope ];
-    propagatedBuildInputs = with self; [ flake8 autopep8 jedi importmagic ] ++ python2Deps;
-
-    doCheck = false; # there are no tests
-
-    meta = {
-      description = "Backend for the elpy Emacs mode";
-      homepage = "https://github.com/jorgenschaefer/elpy";
-    };
-  };
-
-
-  enum = buildPythonPackage rec {
-    name = "enum-0.4.4";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/enum/${name}.tar.gz";
-      sha256 = "9bdfacf543baf2350df7613eb37f598a802f346985ca0dc1548be6494140fdff";
-    };
+  elpy = callPackage ../development/python-modules/elpy { };
 
-    doCheck = !isPyPy;
-
-    buildInputs = with self; [ ];
-
-    propagatedBuildInputs = with self; [ ];
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/enum/;
-      description = "Robust enumerated type support in Python";
-    };
-  };
+  enum = callPackage ../development/python-modules/enum { };
 
   enum-compat = callPackage ../development/python-modules/enum-compat { };
 
-  enum34 = if pythonAtLeast "3.4" then null else buildPythonPackage rec {
-    pname = "enum34";
-    version = "1.1.6";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "8ad8c4783bf61ded74527bffb48ed9b54166685e4230386a9ed9b1279e2df5b1";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
-
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/enum34;
-      description = "Python 3.4 Enum backported to 3.3, 3.2, 3.1, 2.7, 2.6, 2.5, and 2.4";
-      license = "BSD";
-    };
-  };
-
-  epc = buildPythonPackage rec {
-    name = "epc-0.0.3";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/epc/${name}.tar.gz";
-      sha256 = "30b594bd4a4acbd5bda0d3fa3d25b4e8117f2ff8f24d2d1e3e36c90374f3c55e";
-    };
-
-    propagatedBuildInputs = with self; [ sexpdata ];
-    doCheck = false;
-
-    meta = {
-      description = "EPC (RPC stack for Emacs Lisp) implementation in Python";
-      homepage = "https://github.com/tkf/python-epc";
-    };
-  };
-
-  et_xmlfile = buildPythonPackage rec {
-    version = "1.0.1";
-    name = "et_xmlfile-${version}";
+  enum34 = callPackage ../development/python-modules/enum34 { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/et_xmlfile/${name}.tar.gz";
-      sha256="0nrkhcb6jdrlb6pwkvd4rycw34y3s931hjf409ij9xkjsli9fkb1";
-    };
+  epc = callPackage ../development/python-modules/epc { };
 
-    buildInputs = with self; [ lxml pytest ];
-    checkPhase = ''
-      py.test $out
-    '';
+  et_xmlfile = callPackage ../development/python-modules/et_xmlfile { };
 
-    meta = {
-      description = "An implementation of lxml.xmlfile for the standard library";
-      longDescription = ''
-        et_xmlfile is a low memory library for creating large XML files.
+  eventlet = callPackage ../development/python-modules/eventlet { };
 
-        It is based upon the xmlfile module from lxml with the aim of allowing
-        code to be developed that will work with both libraries. It was developed
-        initially for the openpyxl project but is now a standalone module.
-
-        The code was written by Elias Rabel as part of the Python Düsseldorf
-        openpyxl sprint in September 2014.
-      '';
-      homepage = "https://pypi.python.org/pypi/et_xmlfile";
-      license = licenses.mit;
-      maintainers = with maintainers; [ sjourdois ];
-    };
-  };
-
-  eventlet = buildPythonPackage rec {
-    pname = "eventlet";
-    version = "0.20.0";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "15bq5ybbigxnp5xwkps53zyhlg15lmcnq3ny2dppj0r0bylcs5rf";
-    };
-
-    buildInputs = with self; [ nose httplib2 pyopenssl  ];
-
-    doCheck = false;  # too much transient errors to bother
-
-    propagatedBuildInputs = optionals (!isPyPy) [ self.greenlet ] ++
-      (with self; [ enum-compat ]) ;
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/eventlet/;
-      description = "A concurrent networking library for Python";
-    };
-  };
-
-  exifread = buildPythonPackage rec {
-    name = "ExifRead-2.1.2";
-
-    meta = {
-      description = "Easy to use Python module to extract Exif metadata from tiff and jpeg files";
-      homepage    = "https://github.com/ianare/exif-py";
-      license     = "BSD";
-      maintainers = with maintainers; [ vozz ];
-    };
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/E/ExifRead/${name}.tar.gz";
-      sha256 = "1b90jf6m9vxh9nanhpyvqdq7hmfx5iggw1l8kq10jrs6xgr49qkr";
-    };
-  };
+  exifread = callPackage ../development/python-modules/exifread { };
 
   fastimport = callPackage ../development/python-modules/fastimport { };
 
@@ -4872,117 +2172,21 @@ in {
     inherit (pkgs) glibcLocales;
   };
 
-  feedparser = buildPythonPackage (rec {
-    name = "feedparser-5.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/feedparser/${name}.tar.gz";
-      sha256 = "1ycva69bqssalhqg45rbrfipz3l6hmycszy26k0351fhq990c0xx";
-    };
-
-    # lots of networking failures
-    doCheck = false;
-
-    meta = {
-      homepage = http://code.google.com/p/feedparser/;
-      description = "Universal feed parser";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  });
-
-  pyfribidi = buildPythonPackage rec {
-    version = "0.11.0";
-    name = "pyfribidi-${version}";
-    disabled = isPy3k || isPyPy;
+  feedparser = callPackage ../development/python-modules/feedparser { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyfribidi/${name}.zip";
-      sha256 = "6f7d83c09eae0cb98a40b85ba3dedc31af4dbff8fc4425f244c1e9f44392fded";
-    };
-
-    meta = {
-      description = "A simple wrapper around fribidi";
-      homepage = https://github.com/pediapress/pyfribidi;
-      license = stdenv.lib.licenses.gpl2;
-    };
-  };
+  pyfribidi = callPackage ../development/python-modules/pyfribidi { };
 
   docker_compose = callPackage ../development/python-modules/docker_compose {};
 
-  fdroidserver = buildPythonPackage rec {
-    version = "2016-05-31";
-    name = "fdroidserver-git-${version}";
+  pyftpdlib = callPackage ../development/python-modules/pyftpdlib { };
 
-    disabled = ! isPy3k;
+  fdroidserver = callPackage ../development/python-modules/fdroidserver { };
 
-    src = pkgs.fetchFromGitLab {
-      owner = "fdroid";
-      repo = "fdroidserver";
-      rev = "401649e0365e6e365fc48ae8a3af94768af865f3";
-      sha256 = "1mmi2ffpym1qw694yj938kc7b4xhq0blri7wkjaqddcyykjyr94d";
-    };
-
-    propagatedBuildInputs = with self; [ libcloud pyyaml paramiko pyasn1 pyasn1-modules pillow mwclient GitPython ];
-
-    meta = {
-      homepage = https://f-droid.org;
-      description = "Server and tools for F-Droid, the Free Software repository system for Android";
-      maintainers = with maintainers; [ ];
-      license = licenses.agpl3;
-    };
-  };
-
-  filebrowser_safe = buildPythonPackage rec {
-    version = "0.3.6";
-    name = "filebrowser_safe-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/filebrowser_safe/${name}.tar.gz";
-      sha256 = "02bn60fdslvng2ckn65fms3hjbzgsa8qa5161a8lr720wbx8gpj2";
-    };
-
-    buildInputs = [ self.django ];
-
-    # There is no test embedded
-    doCheck = false;
-
-    meta = {
-      description = "A snapshot of django-filebrowser for the Mezzanine CMS";
-      longDescription = ''
-        filebrowser_safe was created to provide a snapshot of the FileBrowser
-        asset manager for Django, to be referenced as a dependency for the
-        Mezzanine CMS for Django.
-
-        At the time of filebrowser_safe's creation, FileBrowser was incorrectly
-        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
-        filebrowser_safe was therefore created to address these specific
-        issues.
-      '';
-      homepage = https://github.com/stephenmcd/filebrowser-safe;
-      downloadPage = https://pypi.python.org/pypi/filebrowser_safe/;
-      license = licenses.free;
-      maintainers = with maintainers; [ prikhi ];
-      platforms = platforms.linux;
-    };
-  };
+  filebrowser_safe = callPackage ../development/python-modules/filebrowser_safe { };
 
   pycodestyle = callPackage ../development/python-modules/pycodestyle { };
 
-  filebytes = buildPythonPackage rec {
-    name = "filebytes-0.9.12";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/filebytes/${name}.tar.gz";
-      sha256 = "6cd1c4ca823f6541c963a317e55382609789802dedad08209f4d038369e3f0ac";
-    };
-    propagatedBuildInputs = [ ];
-    meta = with pkgs.stdenv.lib; {
-      homepage = "https://scoding.de/filebytes-introduction";
-      license = licenses.gpl2;
-      description = "Scripts to parse ELF, PE, Mach-O and OAT (Android Runtime)";
-      maintainers = with maintainers; [ bennofs ];
-    };
-  };
+  filebytes = callPackage ../development/python-modules/filebytes { };
 
   filelock = callPackage ../development/python-modules/filelock {};
 
@@ -4998,26 +2202,7 @@ in {
 
   flake8-import-order = callPackage ../development/python-modules/flake8-import-order { };
 
-  flaky = buildPythonPackage rec {
-    name = "flaky-${version}";
-    version = "3.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/flaky/${name}.tar.gz";
-      sha256 = "1x9ixika7wqjj52x8wnsh1vk7jadkdqpx01plj7mlh8slwyq4s41";
-    };
-
-    buildInputs = with self; [ mock pytest ];
-
-    # waiting for feedback https://github.com/box/flaky/issues/97
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/box/flaky;
-      description = "Plugin for nose or py.test that automatically reruns flaky tests";
-      license = licenses.asl20;
-    };
-  };
+  flaky = callPackage ../development/python-modules/flaky { };
 
   flask = callPackage ../development/python-modules/flask { };
 
@@ -5077,57 +2262,11 @@ in {
 
   flask_wtf = callPackage ../development/python-modules/flask-wtf { };
 
-  wtforms = buildPythonPackage rec {
-    version = "2.1";
-    name = "wtforms-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/W/WTForms/WTForms-${version}.zip";
-      sha256 = "0vyl26y9cg409cfyj8rhqxazsdnd0jipgjw06civhrd53yyi1pzz";
-    };
-
-    # Django tests are broken "django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet."
-    # This is fixed in master I believe but not yet in 2.1;
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ Babel ];
-
-    meta = {
-      homepage = https://github.com/wtforms/wtforms;
-      description = "A flexible forms validation and rendering library for Python";
-      license = licenses.bsd3;
-    };
-  };
+  wtforms = callPackage ../development/python-modules/wtforms { };
 
   graph-tool = callPackage ../development/python-modules/graph-tool/2.x.x.nix { };
 
-  grappelli_safe = buildPythonPackage rec {
-    version = "0.3.13";
-    name = "grappelli_safe-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/grappelli_safe/${name}.tar.gz";
-      sha256 = "8b21b4724bce449cc4f22dc74ed0be9b3e841d968f3271850bf4836864304eb6";
-    };
-
-    meta = {
-      description = "A snapshot of django-grappelli for the Mezzanine CMS";
-      longDescription = ''
-        grappelli_safe was created to provide a snapshot of the Grappelli admin
-        skin for Django, to be referenced as a dependency for the Mezzanine CMS
-        for Django.
-
-        At the time of grappelli_safe's creation, Grappelli was incorrectly
-        packaged on PyPI, and had also dropped compatibility with Django 1.1 -
-        grappelli_safe was therefore created to address these specific issues.
-      '';
-      homepage = https://github.com/stephenmcd/grappelli-safe;
-      downloadPage = http://pypi.python.org/pypi/grappelli_safe/;
-      license = licenses.free;
-      maintainers = with maintainers; [ prikhi ];
-      platforms = platforms.linux;
-    };
-  };
+  grappelli_safe = callPackage ../development/python-modules/grappelli_safe { };
 
   pytorch = let
     # Fails with CUDA 9.1 and GCC 6.4:
@@ -5153,37 +2292,9 @@ in {
     cudaSupport = false;
   };
 
-  python2-pythondialog = buildPythonPackage rec {
-    name = "python2-pythondialog-${version}";
-    version = "3.3.0";
-    disabled = !isPy27;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python2-pythondialog/python2-pythondialog-${version}.tar.gz";
-      sha256 = "1yhkagsh99bfi592ymczf8rnw8rk6n9hdqy3dd98m3yrx8zmjvry";
-    };
-
-    patchPhase = ''
-      substituteInPlace dialog.py --replace ":/bin:/usr/bin" ":$out/bin"
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = "http://pythondialog.sourceforge.net/";
-    };
-  };
-
-  pyRFC3339 = buildPythonPackage rec {
-    name = "pyRFC3339-${version}";
-    version = "0.2";
+  python2-pythondialog = callPackage ../development/python-modules/python2-pythondialog { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyRFC3339/pyRFC3339-${version}.tar.gz";
-      sha256 = "1pp648xsjaw9h1xq2mgwzda5wis2ypjmzxlksc1a8grnrdmzy155";
-    };
-
-    propagatedBuildInputs = with self; [ pytz ];
-    buildInputs = with self; [ nose ];
-  };
+  pyRFC3339 = callPackage ../development/python-modules/pyrfc3339 { };
 
   ConfigArgParse = callPackage ../development/python-modules/configargparse { };
 
@@ -5191,61 +2302,11 @@ in {
 
   vcversioner = callPackage ../development/python-modules/vcversioner { };
 
-  falcon = buildPythonPackage (rec {
-    name = "falcon-1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/falcon/${name}.tar.gz";
-      sha256 = "ddce23a2dd0abba6d19775e9bf7ba64e184b15a0e7163e65f62af63354193f63";
-    };
-
-    buildInputs = with self; stdenv.lib.optionals doCheck [coverage ddt nose pyyaml requests testtools];
-    propagatedBuildInputs = with self; [ six python_mimeparse ];
-
-    # The travis build fails since the migration from multiprocessing to threading for hosting the API under test.
-    # OSError: [Errno 98] Address already in use
-    doCheck = false;
-
-    meta = {
-      description = "An unladen web framework for building APIs and app backends";
-      homepage = http://falconframework.org;
-      license = licenses.asl20;
-      maintainers = with maintainers; [ desiderius ];
-    };
-  });
-  hug = buildPythonPackage rec {
-    name = "hug-2.1.2";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hug/${name}.tar.gz";
-      sha256 = "93325e13706594933a9afb0d4f0b0748134494299038f07df41152baf6f89f4c";
-    };
-    disabled = !isPy3k;
-
-    propagatedBuildInputs = with self; [ falcon requests ];
-
-    # tests are not shipped in the tarball
-    doCheck = false;
-
-    meta = {
-      description = "A Python framework that makes developing APIs as simple as possible, but no simpler";
-      homepage = https://github.com/timothycrosley/hug;
-      license = licenses.mit;
-    };
-  };
-  flup = buildPythonPackage (rec {
-    name = "flup-1.0.2";
-    disabled = isPy3k;
+  falcon = callPackage ../development/python-modules/falcon { };
 
-    src = pkgs.fetchurl {
-      url = "http://www.saddi.com/software/flup/dist/${name}.tar.gz";
-      sha256 = "1nbx174g40l1z3a8arw72qz05a1qxi3didp9wm7kvkn1bxx33bab";
-    };
+  hug = callPackage ../development/python-modules/hug { };
 
-    meta = {
-      homepage = "http://trac.saddi.com/flup";
-      description = "FastCGI Python module set";
-    };
-  });
+  flup = callPackage ../development/python-modules/flup { };
 
   fn = callPackage ../development/python-modules/fn { };
 
@@ -5258,119 +2319,11 @@ in {
 
   fonttools = callPackage ../development/python-modules/fonttools { };
 
-  foolscap = buildPythonPackage (rec {
-    name = "foolscap-${version}";
-    version = "0.12.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/foolscap/${name}.tar.gz";
-      sha256 = "1bpmqq6485mmr5jza9q2c55l9m1bfsvsbd9drsip7p5qcsi22jrz";
-    };
-
-    propagatedBuildInputs = with self; [ mock twisted pyopenssl service-identity ];
-
-    checkPhase = ''
-      # Either uncomment this, or remove this custom check phase entirely, if
-      # you wish to do battle with the foolscap tests. ~ C.
-      # trial foolscap
-    '';
-
-    meta = {
-      homepage = http://foolscap.lothar.com/;
-
-      description = "Foolscap, an RPC protocol for Python that follows the distributed object-capability model";
-
-      longDescription = ''
-        "Foolscap" is the name for the next-generation RPC protocol,
-        intended to replace Perspective Broker (part of Twisted).
-        Foolscap is a protocol to implement a distributed
-        object-capabilities model in Python.
-      '';
-
-      # See http://foolscap.lothar.com/trac/browser/LICENSE.
-      license = licenses.mit;
-
-      maintainers = [ ];
-    };
-  });
-
-  forbiddenfruit = buildPythonPackage rec {
-    version = "0.1.0";
-    name = "forbiddenfruit-${version}";
-
-    src = pkgs.fetchurl {
-      url= "mirror://pypi/f/forbiddenfruit/${name}.tar.gz";
-      sha256 = "0xra2kw6m8ag29ifwmhi5zqksh4cr0yy1waqd488rm59kcr3zl79";
-    };
-
-    meta = {
-      description = "Patch python built-in objects";
-      homepage = https://pypi.python.org/pypi/forbiddenfruit;
-      license = licenses.mit;
-    };
-  };
-
-  fs = buildPythonPackage rec {
-    name = "fs-0.5.4";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/f/fs/${name}.tar.gz";
-      sha256 = "ba2cca8773435a7c86059d57cb4b8ea30fda40f8610941f7822d1ce3ffd36197";
-    };
-
-    LC_ALL = "en_US.UTF-8";
-    buildInputs = [ pkgs.glibcLocales ];
-    propagatedBuildInputs = [ self.six ];
-
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
-
-    # Because 2to3 is used the tests in $out need to be run.
-    # Both when using unittest and pytest this resulted in many errors,
-    # some Python byte/str errors, and others specific to resources tested.
-    # Failing tests due to the latter is to be expected with this type of package.
-    # Tests are therefore disabled.
-    doCheck = false;
-
-    meta = {
-      description = "Filesystem abstraction";
-      homepage    = https://pypi.python.org/pypi/fs;
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-  };
-
-  fusepy = buildPythonPackage rec {
-    name = "fusepy-2.0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/fusepy/${name}.tar.gz";
-      sha256 = "0v5grm4zyf58hsplwsxfbihddw95lz9w8cy3rpzbyha287swgx8h";
-    };
-
-    propagatedBuildInputs = [ pkgs.fuse ];
-
-    # No tests included
-    doCheck = false;
+  foolscap = callPackage ../development/python-modules/foolscap { };
 
-    patchPhase = ''
-      substituteInPlace fuse.py --replace \
-        "find_library('fuse')" "'${pkgs.fuse}/lib/libfuse.so'"
-    '';
+  forbiddenfruit = callPackage ../development/python-modules/forbiddenfruit { };
 
-    meta = {
-      description = "Simple ctypes bindings for FUSE";
-      longDescription = ''
-        Python module that provides a simple interface to FUSE and MacFUSE.
-        It's just one file and is implemented using ctypes.
-      '';
-      homepage = https://github.com/terencehonles/fusepy;
-      license = licenses.isc;
-      platforms = platforms.unix;
-    };
-  };
+  fusepy = callPackage ../development/python-modules/fusepy { };
 
   future = callPackage ../development/python-modules/future { };
   future15 = self.future.overridePythonAttrs (old: rec {
@@ -5385,291 +2338,45 @@ in {
 
   futures = callPackage ../development/python-modules/futures { };
 
-  gcovr = buildPythonPackage rec {
-    name = "gcovr-2.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gcovr/${name}.tar.gz";
-      sha256 = "2c878e03c2eff2282e64035bec0a30532b2b1173aadf08486401883b79e4dab1";
-    };
-
-    meta = {
-      description = "A Python script for summarizing gcov data";
-      license = "BSD";
-    };
-  };
+  gcovr = callPackage ../development/python-modules/gcovr { };
 
   gdal = toPythonModule (pkgs.gdal.override {
     pythonPackages = self;
   });
 
-  gdrivefs = buildPythonPackage rec {
-    version = "0.14.9";
-    name = "gdrivefs-${version}";
-    namePrefix = "";
-    disabled = !isPy27;
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/dsoprea/GDriveFS/archive/${version}.tar.gz";
-      sha256 = "1mc2r35nf5k8vzwdcdhi0l9rb97amqd5xb53lhydj8v8f4rndk7a";
-    };
-
-    buildInputs = with self; [ gipc greenlet httplib2 six ];
-    propagatedBuildInputs = with self; [ dateutil fusepy google_api_python_client ];
-
-    patchPhase = ''
-      substituteInPlace gdrivefs/resources/requirements.txt \
-        --replace "==" ">="
-    '';
-
-    meta = {
-      description = "Mount Google Drive as a local file system";
-      longDescription = ''
-        GDriveFS is a FUSE wrapper for Google Drive developed. Design goals:
-        - Thread for monitoring changes via "changes" functionality of API.
-        - Complete stat() implementation.
-        - Seamlessly work around duplicate-file allowances in Google Drive.
-        - Seamlessly manage file-type versatility in Google Drive
-          (Google Doc files do not have a particular format).
-        - Allow for the same file at multiple paths.
-      '';
-      homepage = https://github.com/dsoprea/GDriveFS;
-      license = licenses.gpl2;
-      platforms = platforms.unix;
-    };
-  };
-
-  genshi = buildPythonPackage {
-    name = "genshi-0.7";
-
-    src = pkgs.fetchurl {
-      url = http://ftp.edgewall.com/pub/genshi/Genshi-0.7.tar.gz;
-      sha256 = "0lkkbp6fbwzv0zda5iqc21rr7rdldkwh3hfabfjl9i4bwq14858x";
-    };
-
-    # FAIL: test_sanitize_remove_script_elem (genshi.filters.tests.html.HTMLSanitizerTestCase)
-    # FAIL: test_sanitize_remove_src_javascript (genshi.filters.tests.html.HTMLSanitizerTestCase)
-    doCheck = false;
-
-    buildInputs = with self; [ setuptools ];
-
-    meta = {
-      description = "Python components for parsing HTML, XML and other textual content";
+  gdrivefs = callPackage ../development/python-modules/gdrivefs { };
 
-      longDescription = ''
-        Python library that provides an integrated set of
-        components for parsing, generating, and processing HTML, XML or other
-        textual content for output generation on the web.
-      '';
-
-      license = "BSD";
-    };
-  };
+  genshi = callPackage ../development/python-modules/genshi { };
 
   gevent = callPackage ../development/python-modules/gevent { };
 
-  geventhttpclient = buildPythonPackage rec {
-    name = "geventhttpclient-${version}";
-    version = "1.3.1";
+  geventhttpclient = callPackage ../development/python-modules/geventhttpclient { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/geventhttpclient/${name}.tar.gz";
-      sha256 = "bd87af8854f5fb05738916c8973671f7035568aec69b7c842887d6faf9c0a01d";
-    };
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ gevent certifi six backports_ssl_match_hostname ];
-
-    # Several tests fail that require network
-    doCheck = false;
-    checkPhase = ''
-      py.test $out
-    '';
-
-    meta = {
-      homepage = https://github.com/gwik/geventhttpclient;
-      description = "HTTP client library for gevent";
-      license = licenses.mit;
-      maintainers = with maintainers; [ koral ];
-    };
-  };
-
-  gevent-socketio = buildPythonPackage rec {
-    name = "gevent-socketio-0.3.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gevent-socketio/${name}.tar.gz";
-      sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak";
-    };
-
-    buildInputs = with self; [ versiontools gevent-websocket mock pytest ];
-    propagatedBuildInputs = with self; [ gevent ];
-
-  };
+  gevent-socketio = callPackage ../development/python-modules/gevent-socketio { };
 
   geopandas = callPackage ../development/python-modules/geopandas { };
 
   geojson = callPackage ../development/python-modules/geojson { };
 
-  gevent-websocket = buildPythonPackage rec {
-    name = "gevent-websocket-0.9.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gevent-websocket/${name}.tar.gz";
-      sha256 = "07rqwfpbv13mk6gg8mf0bmvcf6siyffjpgai1xd8ky7r801j4xb4";
-    };
-
-    # SyntaxError in tests.
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [ gevent ];
-
-  };
-
-  genzshcomp = buildPythonPackage {
-    name = "genzshcomp-0.5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/genzshcomp/genzshcomp-0.5.1.tar.gz";
-      sha256 = "c77d007cc32cdff836ecf8df6192371767976c108a75b055e057bb6f4a09cd42";
-    };
-
-    buildInputs = with self; [ setuptools ];
-
-    meta = {
-      description = "Automatically generated zsh completion function for Python's option parser modules";
-      license = "BSD";
-    };
-  };
+  gevent-websocket = callPackage ../development/python-modules/gevent-websocket { };
 
+  genzshcomp = callPackage ../development/python-modules/genzshcomp { };
 
   gflags = callPackage ../development/python-modules/gflags { };
 
   ghdiff = callPackage ../development/python-modules/ghdiff { };
 
-  gipc = buildPythonPackage rec {
-    name = "gipc-0.5.0";
-    disabled = !isPy27;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gipc/${name}.zip";
-      sha256 = "08c35xzv7nr12d9xwlywlbyzzz2igy0yy6y52q2nrkmh5d4slbpc";
-    };
-
-    propagatedBuildInputs = with self; [ gevent ];
-
-    meta = {
-      description = "gevent-cooperative child processes and IPC";
-      longDescription = ''
-        Usage of Python's multiprocessing package in a gevent-powered
-        application may raise problems and most likely breaks the application
-        in various subtle ways. gipc (pronunciation "gipsy") is developed with
-        the motivation to solve many of these issues transparently. With gipc,
-        multiprocessing. Process-based child processes can safely be created
-        anywhere within your gevent-powered application.
-      '';
-      homepage = http://gehrcke.de/gipc;
-      license = licenses.mit;
-    };
-  };
-
-  git-sweep = buildPythonPackage rec {
-    name = "git-sweep-0.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/git-sweep/${name}.tar.gz";
-      sha256 = "1csp0zd049d643d409rfivbswwzrayb4i6gkypp5mc27fb1z2afd";
-    };
+  gipc = callPackage ../development/python-modules/gipc { };
 
-    propagatedBuildInputs = with self; [ GitPython ];
-
-    meta = {
-      description = "A command-line tool that helps you clean up Git branches";
-      homepage = https://github.com/arc90/git-sweep;
-      license = licenses.mit;
-      maintainers = with maintainers; [ pSub ];
-    };
-  };
+  git-sweep = callPackage ../development/python-modules/git-sweep { };
 
   glances = callPackage ../development/python-modules/glances { };
 
-  github3_py = buildPythonPackage rec {
-    name = "github3.py-${version}";
-    version = "1.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/github3.py/${name}.tar.gz";
-      sha256 = "1cxaqdqmz9w2afc0cw2jyv783fp0grydbik0frzj79azzkhyg4gf";
-    };
-
-    buildInputs = with self; [ unittest2 pytest mock betamax betamax-matchers dateutil ];
-
-    propagatedBuildInputs = with self; [ requests pyopenssl uritemplate_py
-      ndg-httpsclient requests_toolbelt pyasn1 ];
-
-    postPatch = ''
-      sed -i -e 's/mock ==1.0.1/mock>=1.0.1/' setup.py
-      sed -i -e 's/unittest2 ==0.5.1/unittest2>=0.5.1/' setup.py
-    '';
-
-    # TODO: only disable the tests that require network
-    doCheck = false;
-
-    meta = with stdenv.lib; {
-      homepage = http://github3py.readthedocs.org/en/master/;
-      description = "A wrapper for the GitHub API written in python";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ pSub ];
-    };
-  };
-
-  github-webhook = buildPythonPackage rec {
-    name = "github-webhook-${version}";
-    version = "unstable-2016-03-11";
-
-    # There is a PyPI package but an older one.
-    src = pkgs.fetchgit {
-      url = "https://github.com/bloomberg/python-github-webhook.git";
-      rev = "ca1855479ee59c4373da5425dbdce08567605d49";
-      sha256 = "0mqwig9281iyzbphp1d21a4pqdrf98vs9k8lqpqx6spzgqaczx5f";
-    };
-
-    propagatedBuildInputs = with self; [ flask ];
-    # No tests
-    doCheck = false;
-
-    meta = {
-      description = "A framework for writing webhooks for GitHub";
-      license = licenses.mit;
-      homepage = https://github.com/bloomberg/python-github-webhook;
-    };
-  };
-
-  goobook = buildPythonPackage rec {
-    name = "goobook-1.9";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/g/goobook/${name}.tar.gz";
-      sha256 = "02xmq8sjavza17av44ks510934wrshxnsm6lvhvazs45s92b671i";
-    };
-
-    buildInputs = with self; [ ];
+  github3_py = callPackage ../development/python-modules/github3_py { };
 
-    preConfigure = ''
-      sed -i '/distribute/d' setup.py
-    '';
-
-    meta = {
-      description = "Search your google contacts from the command-line or mutt";
-      homepage    = https://pypi.python.org/pypi/goobook;
-      license     = licenses.gpl3;
-      maintainers = with maintainers; [ lovek323 hbunke ];
-      platforms   = platforms.unix;
-    };
+  github-webhook = callPackage ../development/python-modules/github-webhook { };
 
-    propagatedBuildInputs = with self; [ oauth2client gdata simplejson httplib2 keyring six rsa ];
-  };
+  goobook = callPackage ../development/python-modules/goobook { };
 
   googleapis_common_protos = callPackage ../development/python-modules/googleapis_common_protos { };
 
@@ -5679,31 +2386,7 @@ in {
 
   google_api_python_client = callPackage ../development/python-modules/google-api-python-client { };
 
-  google_apputils = buildPythonPackage rec {
-    name = "google-apputils-0.4.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/google-apputils/${name}.tar.gz";
-      sha256 = "1sxsm5q9vr44qzynj8l7p3l7ffb0zl1jdqhmmzmalkx941nbnj1b";
-    };
-
-    preConfigure = ''
-      sed -i '/ez_setup/d' setup.py
-    '';
-
-    propagatedBuildInputs = with self; [ pytz gflags dateutil mox ];
-
-    checkPhase = ''
-      ${python.executable} setup.py google_test
-    '';
-
-    doCheck = true;
-
-    meta = {
-      description = "Google Application Utilities for Python";
-      homepage = http://code.google.com/p/google-apputils-python;
-    };
-  };
+  google_apputils = callPackage ../development/python-modules/google_apputils { };
 
   google_auth = callPackage ../development/python-modules/google_auth { };
 
@@ -5711,7 +2394,7 @@ in {
 
   google_cloud_speech = callPackage ../development/python-modules/google_cloud_speech { };
 
-  gpgme = toPythonModule (pkgs.gpgme.override { withPython=true; });
+  gpgme = toPythonModule (pkgs.gpgme.override { pythonSupport=true; });
 
   gphoto2 = callPackage ../development/python-modules/gphoto2 {
     inherit (pkgs) pkgconfig;
@@ -5731,51 +2414,9 @@ in {
 
   grpcio-tools = callPackage ../development/python-modules/grpcio-tools { };
 
-  gspread = buildPythonPackage rec {
-    version = "0.2.3";
-    name = "gspread-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/gspread/${name}.tar.gz";
-      sha256 = "dba45ef9e652dcd8cf561ae65569bd6ecd18fcc77b991521490698fb2d847106";
-    };
-
-    meta = {
-      description = "Google Spreadsheets client library";
-      homepage = "https://github.com/burnash/gspread";
-      license = licenses.mit;
-    };
-  };
-
-  gyp = buildPythonPackage rec {
-    name = "gyp-${version}";
-    version = "2015-06-11";
+  gspread = callPackage ../development/python-modules/gspread { };
 
-    src = pkgs.fetchgit {
-      url = "https://chromium.googlesource.com/external/gyp.git";
-      rev = "fdc7b812f99e48c00e9a487bd56751bbeae07043";
-      sha256 = "1imgxsl4mr1662vsj2mlnpvvrbz71yk00w8p85vi5bkgmc6awgiz";
-    };
-
-    prePatch = optionals pkgs.stdenv.isDarwin ''
-      sed -i 's/raise.*No Xcode or CLT version detected.*/version = "7.0.0"/' pylib/gyp/xcode_emulation.py
-    '';
-
-    patches = optionals pkgs.stdenv.isDarwin [
-      ../development/python-modules/gyp/no-darwin-cflags.patch
-      ../development/python-modules/gyp/no-xcode.patch
-    ];
-
-    disabled = isPy3k;
-
-    meta = {
-      description = "A tool to generate native build files";
-      homepage = https://chromium.googlesource.com/external/gyp/+/master/README.md;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ codyopel ];
-      platforms = platforms.all;
-    };
-  };
+  gyp = callPackage ../development/python-modules/gyp { };
 
   guessit = callPackage ../development/python-modules/guessit { };
 
@@ -5783,17 +2424,7 @@ in {
 
   gunicorn = callPackage ../development/python-modules/gunicorn { };
 
-  hawkauthlib = buildPythonPackage rec {
-    name = "hawkauthlib-${version}";
-    version = "0.1.1";
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/hawkauthlib.git;
-      rev = "refs/tags/v${version}";
-      sha256 = "0mr1mpx4j9q7sch9arwfvpysnpf2p7ijy7072wilxm8pnj0bwvsi";
-    };
-
-    propagatedBuildInputs = with self; [ requests webob ];
-  };
+  hawkauthlib = callPackage ../development/python-modules/hawkauthlib { };
 
   hdbscan = callPackage ../development/python-modules/hdbscan { };
 
@@ -5801,67 +2432,13 @@ in {
 
   hcs_utils = callPackage ../development/python-modules/hcs_utils { };
 
-  hetzner = buildPythonPackage rec {
-    name = "hetzner-${version}";
-    version = "0.8.1";
-
-    src = pkgs.fetchFromGitHub {
-      repo = "hetzner";
-      owner = "aszlig";
-      rev = "v${version}";
-      sha256 = "1xd1klvjskv0pg8ginih597jkk491a55b8dq80dsm61m5sbsx3vq";
-    };
-
-    meta = {
-      homepage = "https://github.com/RedMoonStudios/hetzner";
-      description = "High-level Python API for accessing the Hetzner robot";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ aszlig ];
-    };
-  };
-
-
-  htmllaundry = buildPythonPackage rec {
-    name = "htmllaundry-2.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/htmllaundry/${name}.tar.gz";
-      sha256 = "e428cba78d5a965e959f5dac2eb7d5f7d627dd889990d5efa8d4e03f3dd768d9";
-    };
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ six lxml ];
-
-    # some tests fail, probably because of changes in lxml
-    # not relevant for me, if releavnt for you, fix it...
-    doCheck = false;
-
-    meta = {
-      description = "Simple HTML cleanup utilities";
-      license = licenses.bsd3;
-    };
-  };
+  hetzner = callPackage ../development/python-modules/hetzner { };
 
+  htmllaundry = callPackage ../development/python-modules/htmllaundry { };
 
   html5lib = callPackage ../development/python-modules/html5lib { };
 
-  http_signature = buildPythonPackage (rec {
-    name = "http_signature-0.1.4";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/http_signature/${name}.tar.gz";
-      sha256 = "14acc192ef20459d5e11b4e800dd3a4542f6bd2ab191bf5717c696bf30936c62";
-    };
-
-    propagatedBuildInputs = with self; [pycrypto];
-
-    meta = {
-      homepage = https://github.com/atl/py-http-signature;
-      description = "";
-      license = licenses.mit;
-    };
-  });
+  http_signature = callPackage ../development/python-modules/http_signature { };
 
   httpbin = callPackage ../development/python-modules/httpbin { };
 
@@ -5871,261 +2448,35 @@ in {
 
   hypothesis = callPackage ../development/python-modules/hypothesis { };
 
-  colored = buildPythonPackage rec {
-    name = "colored-${version}";
-    version = "1.1.5";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/c/colored/${name}.tar.gz";
-      sha256 = "1r1vsypk8v7az82d66bidbxlndx1h7xd4m43hpg1a6hsjr30wrm3";
-    };
-
-    # No proper test suite
-    doCheck = false;
-  };
-
-
-  xdis = buildPythonPackage rec {
-    name = "xdis-${version}";
-    version = "3.2.4";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/x/xdis/${name}.tar.gz";
-      sha256 = "0g2lh70837vigcbc1i58349wp2xzrhlsg2ahc92sn8d3jwxja4dk";
-    };
-    propagatedBuildInputs = with self; [ nose six ];
-
-    meta = {
-      description = "Python cross-version byte-code disassembler and marshal routines";
-      homepage = https://github.com/rocky/python-xdis/;
-      license = licenses.mit;
-    };
-  };
-
-  uncompyle6 = buildPythonPackage rec {
-    name = "uncompyle6-${version}";
-    version = "2.8.3";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/u/uncompyle6/${name}.tar.gz";
-      sha256 = "0hx5sji6qjvnq1p0zhvyk5hgracpv2w6iar1j59qwllxv115ffi1";
-    };
-    propagatedBuildInputs = with self; [ spark_parser xdis ];
-    meta = {
-      description = "Python cross-version byte-code deparser";
-      homepage = https://github.com/rocky/python-uncompyle6/;
-      license = licenses.mit;
-    };
-  };
-
-  lsi = buildPythonPackage rec {
-    name = "lsi-${version}";
-    version = "0.2.2";
-    disabled = isPy3k;
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/lsi/${name}.tar.gz";
-      sha256 = "0429iilb06yhsmvj3xp6wyhfh1rp4ndxlhwrm80r97z0w7plrk94";
-    };
-    propagatedBuildInputs = [
-      self.colored
-      self.boto
-      pkgs.openssh
-      pkgs.which
-    ];
-    meta = {
-      description = "CLI for querying and SSHing onto AWS EC2 instances";
-      homepage = https://github.com/NarrativeScience/lsi;
-      maintainers = [maintainers.adnelson];
-      license = licenses.mit;
-    };
-  };
-
-  hkdf = buildPythonPackage rec {
-    name = "hkdf-${version}";
-    version = "0.0.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hkdf/${name}.tar.gz";
-      sha256 = "1jhxk5vhxmxxjp3zj526ry521v9inzzl8jqaaf0ma65w6k332ak2";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    checkPhase = ''
-      nosetests
-    '';
-
-    meta = {
-      description = "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)";
-      homepage = "https://github.com/casebeer/python-hkdf";
-      license = licenses.bsd2;
-    };
-  };
-
-  httpretty = buildPythonPackage rec {
-    name = "httpretty-${version}";
-    version = "0.8.10";
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/httpretty/${name}.tar.gz";
-      sha256 = "1nmdk6d89z14x3wg4yxywlxjdip16zc8bqnfb471z1365mr74jj7";
-    };
-
-    buildInputs = with self; [ tornado requests httplib2 sure nose coverage certifi ];
-
-    propagatedBuildInputs = with self; [ urllib3 ];
-
-    postPatch = ''
-      sed -i -e 's/==.*$//' *requirements.txt
-      # XXX: Drop this after version 0.8.4 is released.
-      patch httpretty/core.py <<DIFF
-      ***************
-      *** 566 ****
-      !                 'content-length': len(self.body)
-      --- 566 ----
-      !                 'content-length': str(len(self.body))
-      DIFF
-
-      # Explicit encoding flag is required with python3, unless locale is set.
-      ${if !self.isPy3k then "" else
-        "patch -p0 -i ${../development/python-modules/httpretty/setup.py.patch}"}
-    '';
-
-    meta = {
-      homepage = "https://falcao.it/HTTPretty/";
-      description = "HTTP client request mocking tool";
-      license = licenses.mit;
-    };
-  };
+  colored = callPackage ../development/python-modules/colored { };
 
-  icalendar = buildPythonPackage rec {
-    version = "3.9.0";
-    name = "icalendar-${version}";
+  xdis = callPackage ../development/python-modules/xdis { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/icalendar/${name}.tar.gz";
-      sha256 = "93d0b94eab23d08f62962542309916a9681f16de3d5eca1c75497f30f1b07792";
-    };
+  uncompyle6 = callPackage ../development/python-modules/uncompyle6 { };
 
-    buildInputs = with self; [ setuptools ];
-    propagatedBuildInputs = with self; [ dateutil pytz ];
+  lsi = callPackage ../development/python-modules/lsi { };
 
-    meta = {
-      description = "A parser/generator of iCalendar files";
-      homepage = "http://icalendar.readthedocs.org/";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ olcai ];
-    };
-  };
+  hkdf = callPackage ../development/python-modules/hkdf { };
 
-  imageio = buildPythonPackage rec {
-    name = "imageio-${version}";
-    version = "1.6";
+  httpretty = callPackage ../development/python-modules/httpretty { };
 
-    src = pkgs.fetchurl {
-      url = "https://github.com/imageio/imageio/archive/v${version}.tar.gz";
-      sha256 = "195snkk3fsbjqd5g1cfsd9alzs5q45gdbi2ka9ph4yxqb31ijrbv";
-    };
+  icalendar = callPackage ../development/python-modules/icalendar { };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ numpy ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    # Tries to write in /var/tmp/.imageio
-    doCheck = false;
-
-    meta = {
-      description = "Library for reading and writing a wide range of image, video, scientific, and volumetric data formats";
-      homepage = http://imageio.github.io/;
-      license = licenses.bsd2;
-    };
-  };
+  imageio = callPackage ../development/python-modules/imageio { };
 
   imgaug = callPackage ../development/python-modules/imgaug { };
 
   inflection = callPackage ../development/python-modules/inflection { };
 
-  influxdb = buildPythonPackage rec {
-    name = "influxdb-4.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/influxdb/${name}.tar.gz";
-      sha256 = "0injsml6zmb3hkgc03117fdlg573kbfgjbijpd5npf0vsy0xnpvz";
-    };
-
-    # ImportError: No module named tests
-    doCheck = false;
-    propagatedBuildInputs = with self; [ requests dateutil pytz six ];
-
-    meta = {
-      description = "Python client for InfluxDB";
-      homepage = https://github.com/influxdb/influxdb-python;
-      license = licenses.mit;
-    };
-  };
-
-  infoqscraper = buildPythonPackage rec {
-    name = pname + "-" + version;
-    version = "0.1.0";
-    pname = "infoqscraper";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "cykl";
-      repo = pname;
-      rev = "v" + version;
-      sha256 = "07mxp4mla7fwfc032f3mxrhjarnhkjqdxxibf9ba87c93z3dq8jj";
-    };
-
-    # requires network
-    doCheck = false;
+  influxdb = callPackage ../development/python-modules/influxdb { };
 
-    buildInputs = with self; [ html5lib ];
-    propagatedBuildInputs = (with self; [ six beautifulsoup4 ])
-                         ++ (with pkgs; [ ffmpeg swftools rtmpdump ]);
-
-    meta = {
-      description = "Discover presentations and/or create a movie consisting of slides and audio track from an infoq url";
-      homepage = "https://github.com/cykl/infoqscraper/wiki";
-      license = licenses.mit;
-      maintainers = with maintainers; [ edwtjo ];
-    };
-  };
-
-  inifile = buildPythonPackage rec {
-    name = "inifile-0.3";
-
-    meta = {
-      description = "A small INI library for Python";
-      homepage    = "https://github.com/mitsuhiko/python-inifile";
-      license     = "BSD";
-      maintainers = with maintainers; [ vozz ];
-    };
+  infoqscraper = callPackage ../development/python-modules/infoqscraper { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/inifile/${name}.tar.gz";
-      sha256 = "0zgd53czc1irwx6b5zip8xlmyfr40hz2pd498d8yv61znj6lm16h";
-    };
-  };
+  inifile = callPackage ../development/python-modules/inifile { };
 
   interruptingcow = callPackage ../development/python-modules/interruptingcow {};
 
-  iptools = buildPythonPackage rec {
-    version = "0.6.1";
-    name = "iptools-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/iptools/iptools-${version}.tar.gz";
-      sha256 = "0f03875a5bed740ba4bf44decb6a78679cca914a1ee8a6cc468114485c4d98e3";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    meta = {
-      description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting";
-      homepage = https://pypi.python.org/pypi/iptools;
-    };
-  };
+  iptools = callPackage ../development/python-modules/iptools { };
 
   ipy = callPackage ../development/python-modules/IPy { };
 
@@ -6144,89 +2495,15 @@ in {
 
   ipywidgets = callPackage ../development/python-modules/ipywidgets { };
 
-  ipaddr = buildPythonPackage rec {
-    name = "ipaddr-${version}";
-    version = "2.1.11";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/ipaddr/${name}.tar.gz";
-      sha256 = "1dwq3ngsapjc93fw61rp17fvzggmab5x1drjzvd4y4q0i255nm8v";
-    };
-
-    meta = {
-      description = "Google's IP address manipulation library";
-      homepage = http://code.google.com/p/ipaddr-py/;
-      license = licenses.asl20;
-    };
-  };
-
-  ipaddress = if (pythonAtLeast "3.3") then null else buildPythonPackage rec {
-    name = "ipaddress-1.0.18";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/ipaddress/${name}.tar.gz";
-      sha256 = "1q8klj9d84cmxgz66073x1j35cplr3r77vx1znhxiwl5w74391ax";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} test_ipaddress.py
-    '';
-
-    meta = {
-      description = "Port of the 3.3+ ipaddress module to 2.6, 2.7, and 3.2";
-      homepage = https://github.com/phihag/ipaddress;
-      license = licenses.psfl;
-    };
-  };
-
-  ipdb = buildPythonPackage rec {
-    name = "ipdb-${version}";
-    version = "0.8.1";
-
-    disabled = isPyPy;  # setupterm: could not find terminfo database
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/ipdb/${name}.zip";
-      sha256 = "1763d1564113f5eb89df77879a8d3213273c4d7ff93dcb37a3070cdf0c34fd7c";
-    };
-    propagatedBuildInputs = with self; [ ipython ];
-  };
+  ipaddr = callPackage ../development/python-modules/ipaddr { };
 
-  ipdbplugin = buildPythonPackage {
-    name = "ipdbplugin-1.4";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/i/ipdbplugin/ipdbplugin-1.4.tar.gz";
-      sha256 = "4778d78b5d0af1a2a6d341aed9e72eb73b1df6b179e145b4845d3a209137029c";
-    };
-    propagatedBuildInputs = with self; [ self.nose self.ipython ];
-  };
+  ipaddress = callPackage ../development/python-modules/ipaddress { };
 
-  pythonIRClib = buildPythonPackage rec {
-    name = "irclib-${version}";
-    version = "0.4.8";
-
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/python-irclib/python-irclib-${version}.tar.gz";
-      sha256 = "1x5456y4rbxmnw4yblhb4as5791glcw394bm36px3x6l05j3mvl1";
-    };
+  ipdb = callPackage ../development/python-modules/ipdb { };
 
-    patches = [(pkgs.fetchurl {
-      url = "http://trac.uwc.ac.za/trac/python_tools/browser/xmpp/resources/irc-transport/irclib.py.diff?rev=387&format=raw";
-      name = "irclib.py.diff";
-      sha256 = "5fb8d95d6c95c93eaa400b38447c63e7a176b9502bc49b2f9b788c9905f4ec5e";
-    })];
+  ipdbplugin = callPackage ../development/python-modules/ipdbplugin { };
 
-    patchFlags = "irclib.py";
-
-    propagatedBuildInputs = with self; [ paver ];
-
-    disabled = isPy3k;
-    meta = {
-      description = "Python IRC library";
-      homepage = https://bitbucket.org/jaraco/irc;
-      license = with licenses; [ lgpl21 ];
-    };
-  };
+  pythonIRClib = callPackage ../development/python-modules/pythonirclib { };
 
   iso-639 = callPackage ../development/python-modules/iso-639 {};
 
@@ -6242,73 +2519,15 @@ in {
 
   jellyfish = callPackage ../development/python-modules/jellyfish { };
 
-  j2cli = buildPythonPackage rec {
-    name = "j2cli-${version}";
-    version = "0.3.1-0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/j2cli/${name}.tar.gz";
-      sha256 = "0y3w1x9935qzx8w6m2r6g4ghyjmxn33wryiif6xb56q7cj9w1433";
-    };
-
-    disabled = !isPy27;
-
-    buildInputs = [ self.nose ];
-
-    propagatedBuildInputs = with self; [ jinja2 pyyaml ];
-
-    meta = {
-      homepage = https://github.com/kolypto/j2cli;
-      description = "Jinja2 Command-Line Tool";
-      license = licenses.bsd3;
-      longDescription = ''
-        J2Cli is a command-line tool for templating in shell-scripts,
-        leveraging the Jinja2 library.
-      '';
-      platforms = platforms.all;
-      maintainers = with maintainers; [ rushmorem ];
-    };
-  };
+  j2cli = callPackage ../development/python-modules/j2cli { };
 
   jinja2 = callPackage ../development/python-modules/jinja2 { };
 
-  jinja2_time = buildPythonPackage rec {
-    version = "0.2.0";
-    name = "jinja2-time-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jinja2-time/${name}.tar.gz";
-      sha256 = "0h0dr7cfpjnjj8bgl2vk9063a53649pn37wnlkd8hxjy656slkni";
-    };
-
-    propagatedBuildInputs = with self; [ arrow jinja2 ];
-
-    meta = {
-      homepage = https://github.com/hackebrot/jinja2-time;
-      description = "Jinja2 Extension for Dates and Times";
-      license = licenses.mit;
-    };
-  };
+  jinja2_time = callPackage ../development/python-modules/jinja2_time { };
 
   jinja2_pluralize = callPackage ../development/python-modules/jinja2_pluralize { };
 
-  jmespath = buildPythonPackage rec {
-    name = "jmespath-0.9.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jmespath/${name}.tar.gz";
-      sha256 = "0g9xvl69y7nr3w7ag4fsp6sm4fqf6vrqjw7504x2hzrrsh3ampq8";
-    };
-
-    buildInputs = with self; [ nose ];
-    propagatedBuildInputs = with self; [ ply ];
-
-    meta = {
-      homepage = https://github.com/boto/jmespath;
-      description = "JMESPath allows you to declaratively specify how to extract elements from a JSON document";
-      license = "BSD";
-    };
-  };
+  jmespath = callPackage ../development/python-modules/jmespath { };
 
   journalwatch = callPackage ../tools/system/journalwatch {
     inherit (self) systemd pytest;
@@ -6334,49 +2553,6 @@ in {
 
   jupyterhub-ldapauthenticator = callPackage ../development/python-modules/jupyterhub-ldapauthenticator { };
 
-  jsonpath_rw = buildPythonPackage rec {
-    name = "jsonpath-rw-${version}";
-    version = "1.4.0";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/j/jsonpath-rw/${name}.tar.gz";
-      sha256 = "05c471281c45ae113f6103d1268ec7a4831a2e96aa80de45edc89b11fac4fbec";
-    };
-
-    propagatedBuildInputs = with self; [
-      ply
-      six
-      decorator
-    ];
-
-    # ImportError: No module named tests
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/kennknowles/python-jsonpath-rw;
-      description = "A robust and significantly extended implementation of JSONPath for Python, with a clear AST for metaprogramming";
-      license = licenses.asl20;
-    };
-  };
-
-  kerberos = buildPythonPackage rec {
-    name = "kerberos-1.2.4";
-
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/source/k/kerberos/${name}.tar.gz";
-      sha256 = "11q9jhzdl88jh8jgn7cycq034m36g2ncxds7mr3vqkngpcirkx6n";
-    };
-
-    buildInputs = [ pkgs.kerberos ];
-
-    meta = {
-      description = "Kerberos high-level interface";
-      homepage = https://pypi.python.org/pypi/kerberos;
-      license = licenses.asl20;
-    };
-  };
-
   keyring = callPackage ../development/python-modules/keyring { };
 
   keyutils = callPackage ../development/python-modules/keyutils { inherit (pkgs) keyutils; };
@@ -6406,128 +2582,27 @@ in {
 
   lark-parser = callPackage ../development/python-modules/lark-parser { };
 
-  lazy-object-proxy = buildPythonPackage rec {
-    name = "lazy-object-proxy-${version}";
-    version = "1.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/lazy-object-proxy/${name}.tar.gz";
-      sha256 = "22ed751a2c63c6cf718674fd7461b1dfc45215bab4751ca32b6c9b8cb2734cb3";
-    };
+  jsonpath_rw = callPackage ../development/python-modules/jsonpath_rw { };
 
-    buildInputs = with self; [ pytest ];
-    checkPhase = ''
-      py.test tests
-    '';
+  kerberos = callPackage ../development/python-modules/kerberos { };
 
-    # Broken tests. Seem to be fixed upstream according to Travis.
-    doCheck = false;
-
-    meta = {
-      description = "A fast and thorough lazy object proxy";
-      homepage = https://github.com/ionelmc/python-lazy-object-proxy;
-      license = with licenses; [ bsd2 ];
-    };
-
-  };
+  lazy-object-proxy = callPackage ../development/python-modules/lazy-object-proxy { };
 
   ldaptor = callPackage ../development/python-modules/ldaptor { };
 
-  le = buildPythonPackage rec {
-    name = "le-${version}";
-    version = "1.4.29";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/logentries/le/archive/v${version}.tar.gz";
-      sha256 = "d29738937cb6e714b6ec2ae74b66b1983482ffd54b4faa40767af18509521d4c";
-    };
-
-    disabled = isPy3k;
-
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ simplejson psutil ];
-
-    meta = {
-      homepage = "https://github.com/logentries/le";
-      description = "Logentries agent";
-    };
-  };
-
-  lektor = buildPythonPackage rec {
-    name = "lektor-${version}";
+  le = callPackage ../development/python-modules/le { };
 
-    version = "2.3";
-
-    src = pkgs.fetchgit {
-      url = "https://github.com/lektor/lektor";
-      rev = "refs/tags/${version}";
-      sha256 = "1n0ylh1sbpvi9li3g6a7j7m28njfibn10y6s2gayjxwm6fpphqxy";
-    };
-
-    LC_ALL="en_US.UTF-8";
-
-    meta = {
-      description = "A static content management system";
-      homepage    = "https://www.getlektor.com/";
-      license     = "BSD";
-      maintainers = with maintainers; [ vozz ];
-    };
-
-    # No tests included in archive
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [
-      click watchdog exifread requests mistune inifile Babel jinja2
-      flask pyopenssl ndg-httpsclient pkgs.glibcLocales
-    ];
-  };
+  lektor = callPackage ../development/python-modules/lektor { };
 
   python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
 
   python_openzwave = callPackage ../development/python-modules/python_openzwave { };
 
-  python-Levenshtein = buildPythonPackage rec {
-    name = "python-Levenshtein-${version}";
-    version = "0.12.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-Levenshtein/${name}.tar.gz";
-      sha256 = "1c9ybqcja31nghfcc8xxbbz9h60s9qi12b9hr4jyl69xbvg12fh3";
-    };
+  python-Levenshtein = callPackage ../development/python-modules/python-levenshtein { };
 
-    # No tests included in archive
-    doCheck = false;
-
-    meta = {
-      description = "Functions for fast computation of Levenshtein distance and string similarity";
-      homepage    = "https://github.com/ztane/python-Levenshtein";
-      license     = licenses.gpl2;
-      maintainers = with maintainers; [ aske ];
-    };
-  };
+  fs = callPackage ../development/python-modules/fs { };
 
-  libcloud = buildPythonPackage (rec {
-    name = "libcloud-1.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/a/apache-libcloud/apache-${name}.tar.bz2";
-      sha256 = "0qlhyz5f32xg8i10biyzqscks8d28vklk63hvj45vzy1amw60kqz";
-    };
-
-    buildInputs = with self; [ mock ];
-
-    propagatedBuildInputs = with self; [ pycrypto ];
-    preConfigure = "cp libcloud/test/secrets.py-dist libcloud/test/secrets.py";
-
-    # failing tests for 26 and 27
-    doCheck = false;
-
-    meta = {
-      description = "A unified interface to many cloud providers";
-      homepage = http://incubator.apache.org/libcloud/;
-    };
-  });
+  libcloud = callPackage ../development/python-modules/libcloud { };
 
   libgpuarray = callPackage ../development/python-modules/libgpuarray {
     clblas = pkgs.clblas.override { boost = self.boost; };
@@ -6548,59 +2623,18 @@ in {
   libplist = disabledIf isPy3k
     (toPythonModule (pkgs.libplist.override{python2Packages=self; })).py;
 
-  libxml2 = disabledIf isPy3k
-    (toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;})).py;
+  libxml2 = toPythonModule (pkgs.libxml2.override{pythonSupport=true; python2=python;}).py;
 
   libxslt = disabledIf isPy3k
     (toPythonModule (pkgs.libxslt.override{pythonSupport=true; python2=python; inherit (self) libxml2;})).py;
 
   limits = callPackage ../development/python-modules/limits { };
 
-  limnoria = buildPythonPackage rec {
-    name = "limnoria-${version}";
-    version = "2016.05.06";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/limnoria/${name}.tar.gz";
-      sha256 = "09kbii5559d09jjb6cryj8rva1050r54dvb67hlcvxhy8g3gr1y3";
-    };
-
-    patchPhase = ''
-      sed -i 's/version=version/version="${version}"/' setup.py
-    '';
-    buildInputs = with self; [ pkgs.git ];
-    propagatedBuildInputs = with self; [  ];
-
-    doCheck = false;
-
-    meta = {
-      description = "A modified version of Supybot, an IRC bot";
-      homepage = http://supybot.fr.cr;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
+  limnoria = callPackage ../development/python-modules/limnoria { };
 
   line_profiler = callPackage ../development/python-modules/line_profiler { };
 
-  linode = buildPythonPackage rec {
-    name = "linode-${version}";
-    version = "0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/linode/linode-${version}.tar.gz";
-      sha256 = "db3c2a7fab8966d903a63f16c515bff241533e4ef2d746aa7aae4a49bba5e573";
-    };
-
-    propagatedBuildInputs = with self; [ requests ];
-
-    meta = {
-      homepage = "https://github.com/ghickman/linode";
-      description = "A thin python wrapper around Linode's API";
-      license = licenses.mit;
-      maintainers = with maintainers; [ nslqqq ];
-    };
-  };
+  linode = callPackage ../development/python-modules/linode { };
 
   linode-api = callPackage ../development/python-modules/linode-api { };
 
@@ -6622,75 +2656,15 @@ in {
 
   lxml = callPackage ../development/python-modules/lxml {inherit (pkgs) libxml2 libxslt;};
 
-  lxc = buildPythonPackage (rec {
-    name = "python-lxc-unstable-2016-08-25";
-    disabled = !isPy27;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "lxc";
-      repo = "python2-lxc";
-      rev = "0553f05d23b56b59bf3015fa5e45bfbfab9021ef";
-      sha256 = "0p9kb20xvq91gx2wfs3vppb7vsp8kmd90i3q95l4nl1y4aismdn4";
-    };
-
-    buildInputs = [ pkgs.lxc ];
-
-    meta = {
-      description = "Out of tree python 2.7 binding for liblxc";
-      homepage = https://github.com/lxc/python2-lxc;
-      license = licenses.lgpl2;
-      maintainers = with maintainers; [ mic92 ];
-    };
-  });
+  lxc = callPackage ../development/python-modules/lxc { };
 
   py_scrypt = callPackage ../development/python-modules/py_scrypt { };
 
   python_magic = callPackage ../development/python-modules/python-magic { };
 
-  magic = buildPythonPackage rec {
-    name = "${pkgs.file.name}";
-
-    src = pkgs.file.src;
-
-    patchPhase = ''
-      substituteInPlace python/magic.py --replace "find_library('magic')" "'${pkgs.file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}'"
-    '';
-
-    buildInputs = with self; [ pkgs.file ];
+  magic = callPackage ../development/python-modules/magic { };
 
-    preConfigure = "cd python";
-
-    # No test suite
-    doCheck = false;
-
-    meta = {
-      description = "A Python wrapper around libmagic";
-      homepage = http://www.darwinsys.com/file/;
-    };
-  };
-
-  m2crypto = buildPythonPackage rec {
-    version = "0.24.0";
-    name = "m2crypto-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/M/M2Crypto/M2Crypto-${version}.tar.gz";
-      sha256 = "1s2y0pf2zg7xf4nfwrw7zhwbk615r5a7bgi5wwkwzh6jl50n99c0";
-    };
-
-    buildInputs = with self; [ pkgs.swig2 pkgs.openssl ];
-
-    preConfigure = ''
-      substituteInPlace setup.py --replace "self.openssl = '/usr'" "self.openssl = '${pkgs.openssl.dev}'"
-    '';
-
-    doCheck = false; # another test that depends on the network.
-
-    meta = {
-      description = "A Python crypto and SSL toolkit";
-      homepage = http://chandlerproject.org/Projects/MeTooCrypto;
-    };
-  };
+  m2crypto = callPackage ../development/python-modules/m2crypto { };
 
   Mako = callPackage ../development/python-modules/Mako { };
 
@@ -6716,145 +2690,23 @@ in {
 
   marisa-trie = callPackage ../development/python-modules/marisa-trie { };
 
-  markupsafe = buildPythonPackage rec {
-    name = "markupsafe-${version}";
-    version = "1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/M/MarkupSafe/MarkupSafe-${version}.tar.gz";
-      sha256 = "0rdn1s8x9ni7ss8rfiacj7x1085lx8mh2zdwqslnw8xc3l4nkgm6";
-    };
-
-    meta = {
-      description = "Implements a XML/HTML/XHTML Markup safe string";
-      homepage = http://dev.pocoo.org;
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ domenkozar garbas ];
-    };
-  };
+  markupsafe = callPackage ../development/python-modules/markupsafe { };
 
   marshmallow = callPackage ../development/python-modules/marshmallow { };
 
   marshmallow-sqlalchemy = callPackage ../development/python-modules/marshmallow-sqlalchemy { };
 
-  manuel = buildPythonPackage rec {
-    name = "manuel-${version}";
-    version = "1.8.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/manuel/${name}.tar.gz";
-      sha256 = "1diyj6a8bvz2cdf9m0g2bbx9z2yjjnn3ylbg1zinpcjj6vldfx59";
-    };
-
-    propagatedBuildInputs = with self; [ six zope_testing ];
-
-    meta = {
-      description = "A documentation builder";
-      homepage = https://pypi.python.org/pypi/manuel;
-      license = licenses.zpl20;
-    };
-  };
-
-  mapsplotlib = buildPythonPackage rec {
-    name = "mapsplotlib-${version}";
-    version = "1.0.6";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mapsplotlib/${name}.tar.gz";
-      sha256 = "09gpws3x0jd88n636baxx5izjffrpjy4j6jl8l7vj29yzvrdr2bp";
-    };
-
-    propagatedBuildInputs = with self; [ matplotlib scipy pandas requests pillow ];
+  manuel = callPackage ../development/python-modules/manuel { };
 
-    meta = {
-      description = "Custom Python plots on a Google Maps background";
-      homepage = https://github.com/tcassou/mapsplotlib;
-      maintainers = [ maintainers.rob ];
-    };
-  };
+  mapsplotlib = callPackage ../development/python-modules/mapsplotlib { };
 
   markdown = callPackage ../development/python-modules/markdown { };
 
   markdownsuperscript = callPackage ../development/python-modules/markdownsuperscript {};
 
-  markdown-macros = buildPythonPackage rec {
-    name = "markdown-macros-${version}";
-    version = "0.1.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/markdown-macros/${name}.tar.gz";
-      sha256 = "1lzvrb7nci22yp21ab2qqc9p0fhkazqj29vw0wln2r4ckb2nbawv";
-    };
-
-    patches = [
-      # Fixes a bug with markdown>2.4
-      (pkgs.fetchpatch {
-        url = "https://github.com/wnielson/markdown-macros/pull/1.patch";
-        sha256 = "17njbgq2srzkf03ar6yn92frnsbda3g45cdi529fdh0x8mmyxci0";
-      })
-    ];
-
-    prePatch = ''
-      substituteInPlace setup.py --replace "distribute" "setuptools"
-    '';
-
-    propagatedBuildInputs = with self; [ markdown ];
-
-    doCheck = false;
-
-    meta = {
-      description = "An extension for python-markdown that makes writing trac-like macros easy";
-      homepage = https://github.com/wnielson/markdown-macros;
-      license = licenses.mit;
-      maintainers = [ maintainers.abigailbuccaneer ];
-    };
-  };
-
-  mathics = if (versionOlder self.django.version "1.8") ||
-               (versionAtLeast self.django.version "1.9")
-            then throw "mathics only supports django-1.8.x"
-            else buildPythonPackage rec {
-    name = "mathics-${version}";
-    version = "0.9";
-    src = pkgs.fetchFromGitHub {
-      owner = "mathics";
-      repo = "Mathics";
-      rev = "v${version}";
-      sha256 = "0xzz7j8xskj5y6as178mjmm0i2xbhd4q4mwmdnvghpd2aqq3qx1c";
-    };
-
-    buildInputs = with self; [ pexpect ];
-
-    prePatch = ''
-      substituteInPlace setup.py --replace "sympy==0.7.6" "sympy"
-    '';
-
-    postFixup = ''
-      wrapPythonProgramsIn $out/bin $out
-      patchPythonScript $out/${python.sitePackages}/mathics/manage.py
-    '';
-
-    propagatedBuildInputs = with self; [
-      cython
-      sympy
-      django
-      ply
-      mpmath
-      dateutil
-      colorama
-      six
-    ];
-
-    meta = {
-      description = "A general-purpose computer algebra system";
-      homepage = http://www.mathics.org;
-      license = licenses.gpl3;
-      maintainers = [ maintainers.benley ];
-    };
-  };
+  markdown-macros = callPackage ../development/python-modules/markdown-macros { };
 
+  mathics = callPackage ../development/python-modules/mathics { };
 
   matplotlib = callPackage ../development/python-modules/matplotlib {
     stdenv = if stdenv.isDarwin then pkgs.clangStdenv else pkgs.stdenv;
@@ -6868,186 +2720,31 @@ in {
 
   mccabe = callPackage ../development/python-modules/mccabe { };
 
-  mechanize = buildPythonPackage (rec {
-    name = "mechanize-0.3.5";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mechanize/${name}.tar.gz";
-      sha256 = "0rki9nl4y42q694parafcsdcdqvkdjckrbg6n0691302lfsrkyfl";
-    };
-
-    propagatedBuildInputs = with self; [ html5lib ];
-
-    doCheck = false;
-
-    meta = {
-      description = "Stateful programmatic web browsing in Python";
-
-      homepage = http://wwwsearch.sourceforge.net/;
-
-      license = "BSD-style";
-    };
-  });
+  mechanize = callPackage ../development/python-modules/mechanize { };
 
   MechanicalSoup = callPackage ../development/python-modules/MechanicalSoup { };
 
-  meld3 = buildPythonPackage rec {
-    name = "meld3-1.0.0";
-
-    src = pkgs.fetchurl {
-      url = mirror://pypi/m/meld3/meld3-1.0.0.tar.gz;
-      sha256 = "57b41eebbb5a82d4a928608962616442e239ec6d611fe6f46343e765e36f0b2b";
-    };
-
-    doCheck = false;
-
-    meta = {
-      description = "An HTML/XML templating engine used by supervisor";
-      homepage = https://github.com/supervisor/meld3;
-      license = licenses.free;
-    };
-  };
+  meld3 = callPackage ../development/python-modules/meld3 { };
 
   meliae = callPackage ../development/python-modules/meliae {};
 
   meinheld = callPackage ../development/python-modules/meinheld { };
 
-  memcached = buildPythonPackage rec {
-    name = "memcached-1.51";
-
-    src = if isPy3k then pkgs.fetchurl {
-      url = "mirror://pypi/p/python3-memcached/python3-${name}.tar.gz";
-      sha256 = "0na8b369q8fivh3y0nvzbvhh3lgvxiyyv9xp93cnkvwfsr8mkgkw";
-    } else pkgs.fetchurl {
-      url = "http://ftp.tummy.com/pub/python-memcached/old-releases/python-${name}.tar.gz";
-      sha256 = "124s98m6hvxj6x90d7aynsjfz878zli771q96ns767r2mbqn7192";
-    };
-
-    meta = {
-      description = "Python API for communicating with the memcached distributed memory object cache daemon";
-      homepage = http://www.tummy.com/Community/software/python-memcached/;
-    };
-  };
-
+  memcached = callPackage ../development/python-modules/memcached { };
 
-  memory_profiler = buildPythonPackage rec {
-    name = "memory_profiler-${version}";
-    version = "0.41";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/memory_profiler/${name}.tar.gz";
-      sha256 = "dce6e931c281662a500b142595517d095267216472c2926e5ec8edab89898d10";
-    };
-
-    # Tests don't import profile
-    doCheck = false;
-
-    meta = {
-      description = "A module for monitoring memory usage of a python program";
-      homepage = https://pypi.python.org/pypi/memory_profiler;
-      license = licenses.bsd3;
-    };
-  };
+  memory_profiler = callPackage ../development/python-modules/memory_profiler { };
 
   metaphone = callPackage ../development/python-modules/metaphone { };
 
-  mezzanine = buildPythonPackage rec {
-    version = "3.1.10";
-    name = "mezzanine-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/stephenmcd/mezzanine/archive/${version}.tar.gz";
-      sha256 = "1cd7d3dji8q4mvcnf9asxn8j109pd5g5d5shr6xvn0iwr35qprgi";
-    };
-    patches = [ ../development/python-modules/mezzanine/writable_settings.patch ];
-
-    disabled = isPyPy;
-
-    buildInputs = with self; [ pyflakes pep8 ];
-    propagatedBuildInputs = with self; [
-      django filebrowser_safe grappelli_safe bleach tzlocal beautifulsoup4
-      requests requests_oauthlib future pillow
-    ];
-
-    # Tests Fail Due to Syntax Warning, Fixed for v3.1.11+
-    doCheck = false;
-    # sed calls will be unecessary in v3.1.11+
-    preConfigure = ''
-      sed -i 's/==/>=/' setup.py
-    '';
-
-    LC_ALL="en_US.UTF-8";
-
-    meta = {
-      description = ''
-        A content management platform built using the Django framework
-      '';
-      longDescription = ''
-        Mezzanine is a powerful, consistent, and flexible content management
-        platform. Built using the Django framework, Mezzanine provides a
-        simple yet highly extensible architecture that encourages diving in and
-        hacking on the code. Mezzanine is BSD licensed and supported by a
-        diverse and active community.
-
-        In some ways, Mezzanine resembles tools such as Wordpress that provide
-        an intuitive interface for managing pages, blog posts, form data, store
-        products, and other types of content. But Mezzanine is also different.
-        Unlike many other platforms that make extensive use of modules or
-        reusable applications, Mezzanine provides most of its functionality by
-        default. This approach yields a more integrated and efficient platform.
-      '';
-      homepage = http://mezzanine.jupo.org/;
-      downloadPage = https://github.com/stephenmcd/mezzanine/releases;
-      license = licenses.free;
-      maintainers = with maintainers; [ prikhi ];
-      platforms = platforms.linux;
-      broken = true; # broken dependency of django within filebrowser_safe
-    };
-  };
+  mezzanine = callPackage ../development/python-modules/mezzanine { };
 
   micawber = callPackage ../development/python-modules/micawber { };
 
   milksnake = callPackage ../development/python-modules/milksnake { };
 
-  minimock = buildPythonPackage rec {
-    version = "1.2.8";
-    name = "minimock-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://bitbucket.org/jab/minimock/get/${version}.zip";
-      sha256 = "c88fa8a7120623f23990a7f086a9657f6ced09025a55e3be8649a30b4945441a";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    checkPhase = "./test";
+  minimock = callPackage ../development/python-modules/minimock { };
 
-    meta = {
-      description = "A minimalistic mocking library for python";
-      homepage = https://pypi.python.org/pypi/MiniMock;
-    };
-  };
-
-  moviepy = buildPythonPackage rec {
-    name = "moviepy-${version}";
-    version = "0.2.2.11";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/moviepy/${name}.tar.gz";
-      sha256 = "d937d817e534efc54eaee2fc4c0e70b48fcd81e1528cd6425f22178704681dc3";
-    };
-
-    # No tests
-    doCheck = false;
-    propagatedBuildInputs = with self; [ numpy decorator imageio tqdm ];
-
-    meta = {
-      description = "Video editing with Python";
-      homepage = http://zulko.github.io/moviepy/;
-      license = licenses.mit;
-    };
-  };
+  moviepy = callPackage ../development/python-modules/moviepy { };
 
   mozterm = callPackage ../development/python-modules/mozterm { };
 
@@ -7055,177 +2752,33 @@ in {
 
   multidict = callPackage ../development/python-modules/multidict { };
 
-  munch = buildPythonPackage rec {
-    name = "munch-${version}";
-    version = "2.0.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/munch/${name}.tar.gz";
-      sha256 = "1420683a94f3a2ffc77935ddd28aa9ccb540dd02b75e02ed7ea863db437ab8b2";
-    };
-
-    meta = {
-      description = "A dot-accessible dictionary (a la JavaScript objects)";
-      license = licenses.mit;
-      homepage = https://github.com/Infinidat/munch;
-    };
-  };
+  munch = callPackage ../development/python-modules/munch { };
 
   nototools = callPackage ../data/fonts/noto-fonts/tools.nix { };
 
-  rainbowstream = buildPythonPackage rec {
-    name = "rainbowstream-${version}";
-    version = "1.3.7";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/r/rainbowstream/${name}.tar.gz";
-      sha256 = "0zpi1x3b535pwx8rkq57nnrb5d5ma65vvlalar9vi6ilp124x1w2";
-    };
-
-    patches = [
-      ../development/python-modules/rainbowstream/image.patch
-    ];
-
-    postPatch = ''
-      clib=$out/${python.sitePackages}/rainbowstream/image.so
-      substituteInPlace rainbowstream/c_image.py \
-        --replace @CLIB@ $clib
-      sed -i 's/requests.*"/requests"/' setup.py
-    '';
-
-    LC_ALL="en_US.UTF-8";
-
-    postInstall = ''
-      mkdir -p $out/lib
-      cc -fPIC -shared -o $clib rainbowstream/image.c
-      for prog in "$out/bin/"*; do
-        wrapProgram "$prog" \
-          --prefix PYTHONPATH : "$PYTHONPATH"
-      done
-    '';
-
-    buildInputs = with self; [
-      pkgs.libjpeg pkgs.freetype pkgs.zlib pkgs.glibcLocales
-      pillow twitter pyfiglet requests arrow dateutil pysocks
-      pocket
-    ];
-
-    meta = {
-      description = "Streaming command-line twitter client";
-      homepage    = "http://www.rainbowstream.org/";
-      license     = licenses.mit;
-      maintainers = with maintainers; [ thoughtpolice ];
-    };
-  };
+  rainbowstream = callPackage ../development/python-modules/rainbowstream { };
 
   pendulum = callPackage ../development/python-modules/pendulum { };
 
-  pocket = buildPythonPackage rec {
-    name = "pocket-${version}";
-    version = "0.3.6";
-
-    src = pkgs.fetchurl {
-      url    = "mirror://pypi/p/pocket/${name}.tar.gz";
-      sha256 = "1fc9vc5nyzf1kzmnrs18dmns7nn8wjfrg7br1w4c5sgs35mg2ywh";
-    };
-
-    buildInputs = with self; [
-      requests
-    ];
-
-    meta = {
-      description = "Wrapper for the pocket API";
-      homepage    = "https://github.com/tapanpandita/pocket";
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ ericsagnes ];
-    };
-  };
+  pocket = callPackage ../development/python-modules/pocket { };
 
   mistune = callPackage ../development/python-modules/mistune { };
 
   brotlipy = callPackage ../development/python-modules/brotlipy { };
 
-  sortedcollections = buildPythonPackage rec {
-    name = "sortedcollections-${version}";
-    version = "0.4.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/sortedcollections/${name}.tar.gz";
-      sha256 = "12dlzln9gyv8smsy2k6d6dmr0ywrpwyrr1cjy649ia5h1g7xdvwa";
-    };
-    buildInputs = [ self.sortedcontainers ];
-
-    # wants to test all python versions with tox:
-    doCheck = false;
-
-    meta = {
-      description = "Python Sorted Collections";
-      homepage = http://www.grantjenks.com/docs/sortedcollections/;
-      license = licenses.asl20;
-    };
-  };
+  sortedcollections = callPackage ../development/python-modules/sortedcollections { };
 
   hyperframe = callPackage ../development/python-modules/hyperframe { };
 
   h2 = callPackage ../development/python-modules/h2 { };
 
-  editorconfig = buildPythonPackage rec {
-    name = "EditorConfig-${version}";
-    version = "0.12.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/e/editorconfig/${name}.tar.gz";
-      sha256 = "1qxqy9wfrpb2ldrk5nzidkpymc55lpf9lg3m8c8a5531jmbwhlwb";
-    };
-
-    meta = {
-      description = "EditorConfig File Locator and Interpreter for Python";
-      homepage = https://editorconfig.org/;
-      license = licenses.psfl;
-    };
-  };
-
-  mock = buildPythonPackage (rec {
-    name = "mock-2.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mock/${name}.tar.gz";
-      sha256 = "1flbpksir5sqrvq2z0dp8sl4bzbadg21sj4d42w3klpdfvgvcn5i";
-    };
-
-    buildInputs = with self; [ unittest2 ];
-    propagatedBuildInputs = with self; [ funcsigs six pbr ];
+  editorconfig = callPackage ../development/python-modules/editorconfig { };
 
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
-
-    meta = {
-      description = "Mock objects for Python";
-      homepage = http://python-mock.sourceforge.net/;
-      license = stdenv.lib.licenses.bsd2;
-    };
-  });
+  mock = callPackage ../development/python-modules/mock { };
 
   mock-open = callPackage ../development/python-modules/mock-open { };
 
-  modestmaps = buildPythonPackage rec {
-    name = "ModestMaps-1.4.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/M/ModestMaps/${name}.tar.gz";
-      sha256 = "0vyi1m9q4pc34i6rq5agb4x3qicx5sjlbxwmxfk70k2l5mnbjca3";
-    };
-
-    disabled = !isPy27;
-    propagatedBuildInputs = with self; [ pillow ];
-
-    meta = {
-      description = "A library for building interactive maps";
-      homepage = http://modestmaps.com;
-      license = stdenv.lib.licenses.bsd3;
-    };
-  };
+  modestmaps = callPackage ../development/python-modules/modestmaps { };
 
   # Needed here because moinmoin is loaded as a Python library.
   moinmoin = callPackage ../development/python-modules/moinmoin { };
@@ -7234,125 +2787,17 @@ in {
 
   moto = callPackage ../development/python-modules/moto {};
 
-  mox = buildPythonPackage rec {
-    name = "mox-0.5.3";
-
-    src = pkgs.fetchurl {
-      url = "http://pymox.googlecode.com/files/${name}.tar.gz";
-      sha256 = "4d18a4577d14da13d032be21cbdfceed302171c275b72adaa4c5997d589a5030";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      homepage = http://code.google.com/p/pymox/;
-      description = "A mock object framework for Python";
-    };
-  };
-
-  mozsvc = buildPythonPackage rec {
-    name = "mozsvc-${version}";
-    version = "0.8";
-
-    src = pkgs.fetchgit {
-      url = https://github.com/mozilla-services/mozservices.git;
-      rev = "refs/tags/${version}";
-      sha256 = "1zci2ikk83mf7va88c83dr6snfh4ddjqw0lsg3y29qk5nxf80vx2";
-    };
-
-    patches = singleton (pkgs.fetchurl {
-      url = https://github.com/nbp/mozservices/commit/f86c0b0b870cd8f80ce90accde9e16ecb2e88863.diff;
-      sha256 = "1lnghx821f6dqp3pa382ka07cncdz7hq0mkrh44d0q3grvrlrp9n";
-    });
-
-    doCheck = false; # lazy packager
-    propagatedBuildInputs = with self; [ pyramid simplejson konfig ];
-
-    meta = {
-      homepage = https://github.com/mozilla-services/mozservices;
-      description = "Various utilities for Mozilla apps";
-    };
-  };
-
-  mpmath = buildPythonPackage rec {
-    name = "mpmath-0.19";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mpmath/${name}.tar.gz";
-      sha256 = "08ijsr4ifrqv3cjc26mkw0dbvyygsa99in376hr4b96ddm1gdpb8";
-    };
-
-    meta = {
-      homepage    = http://mpmath.googlecode.com;
-      description = "A pure-Python library for multiprecision floating arithmetic";
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-  };
-
-
-  mpd = buildPythonPackage rec {
-    name = "python-mpd-0.3.0";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-mpd/python-mpd-0.3.0.tar.gz";
-      sha256 = "02812eba1d2e0f46e37457f5a6fa23ba203622e4bcab0a19b265e66b08cd21b4";
-    };
-
-    meta = with pkgs.stdenv.lib; {
-      description = "An MPD (Music Player Daemon) client library written in pure Python";
-      homepage = http://jatreuman.indefero.net/p/python-mpd/;
-      license = licenses.gpl3;
-    };
-  };
+  mox = callPackage ../development/python-modules/mox { };
 
-  mpd2 = buildPythonPackage rec {
-    name = "mpd2-${version}";
-    version = "0.5.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-mpd2/python-mpd2-${version}.tar.bz2";
-      sha256 = "1gfrxf71xll1w6zb69znqg5c9j0g7036fsalkvqprh2id640cl3a";
-    };
-
-    buildInputs = with self; [ mock ];
-    patchPhase = ''
-      sed -i -e '/tests_require/d' \
-          -e 's/cmdclass.*/test_suite="mpd_test",/' setup.py
-    '';
-
-    meta = {
-      description = "A Python client module for the Music Player Daemon";
-      homepage = "https://github.com/Mic92/python-mpd2";
-      license = licenses.lgpl3Plus;
-      maintainers = with maintainers; [ rvl mic92 ];
-    };
-  };
+  mozsvc = callPackage ../development/python-modules/mozsvc { };
 
-  mpv = buildPythonPackage rec {
-    name = "mpv-0.1";
+  mpmath = callPackage ../development/python-modules/mpmath { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/mpv/${name}.tar.gz";
-      sha256 = "0b9kd70mshdr713f3l1lbnz1q0vlg2y76h5d8liy1bzqm7hjcgfw";
-    };
-    buildInputs = [ pkgs.mpv ];
-    patchPhase = "substituteInPlace mpv.py --replace libmpv.so ${pkgs.mpv}/lib/libmpv.so";
+  mpd = callPackage ../development/python-modules/mpd { };
 
-    meta = with pkgs.stdenv.lib; {
-      description = "A python interface to the mpv media player";
-      homepage = "https://github.com/jaseg/python-mpv";
-      license = licenses.agpl3;
-    };
+  mpd2 = callPackage ../development/python-modules/mpd2 { };
 
-  };
+  mpv = callPackage ../development/python-modules/mpv { };
 
   mrbob = callPackage ../development/python-modules/mrbob {};
 
@@ -7367,103 +2812,21 @@ in {
     '';
   };
 
-  msrplib = buildPythonPackage rec {
-    pname = "python-msrplib";
-    name = "${pname}-${version}";
-    version = "0.19";
-
-    src = pkgs.fetchdarcs {
-      url = "http://devel.ag-projects.com/repositories/${pname}";
-      rev = "release-${version}";
-      sha256 = "0jqvvssbwzq7bwqn3wrjfnpj8zb558mynn2visnlrcma6b57yhwd";
-    };
-
-    propagatedBuildInputs = with self; [ eventlib application gnutls ];
-  };
+  msrplib = callPackage ../development/python-modules/msrplib { };
 
   multipledispatch = callPackage ../development/python-modules/multipledispatch { };
 
   multiprocess = callPackage ../development/python-modules/multiprocess { };
 
-  munkres = buildPythonPackage rec {
-    name = "munkres-1.0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/munkres/${name}.tar.gz";
-      sha256 = "c78f803b9b776bfb20a25c9c7bb44adbf0f9202c2024d51aa5969d21e560208d";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      homepage = http://bmc.github.com/munkres/;
-      description = "Munkres algorithm for the Assignment Problem";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
-
-
-  musicbrainzngs = buildPythonPackage rec {
-    name = "musicbrainzngs-0.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/m/musicbrainzngs/${name}.tar.gz";
-      sha256 = "281388ab750d2996e9feca4580fd4215d616a698e02cd6719cb9b8562945c489";
-    };
-
-    buildInputs = [ pkgs.glibcLocales ];
-
-    LC_ALL="en_US.UTF-8";
-
-    meta = {
-      homepage = http://alastair/python-musicbrainz-ngs;
-      description = "Python bindings for musicbrainz NGS webservice";
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  };
-
-  mutag = buildPythonPackage rec {
-    disabled = ! isPy3k;
-    name = "mutag-0.0.2-2ffa0258ca";
-    src = pkgs.fetchgit {
-      url = "https://github.com/aroig/mutag.git";
-      sha256 = "0axdnwdypfd74a9dnw0g25m16xx1yygyl828xy0kpj8gyqdc6gb1";
-      rev = "2ffa0258cadaf79313241f43bf2c1caaf197d9c2";
-    };
+  munkres = callPackage ../development/python-modules/munkres { };
 
-    propagatedBuildInputs = with self; [ pyparsing ];
+  musicbrainzngs = callPackage ../development/python-modules/musicbrainzngs { };
 
-    meta = {
-      homepage = https://github.com/aroig/mutag;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ ];
-    };
-  };
+  mutag = callPackage ../development/python-modules/mutag { };
 
   mutagen = callPackage ../development/python-modules/mutagen { };
 
-
-  muttils = buildPythonPackage (rec {
-    name = "muttils-1.3";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = https://www.blacktrash.org/hg/muttils/archive/8bb26094df06.tar.bz2;
-      sha256 = "1a4kxa0fpgg6rdj5p4kggfn8xpniqh8v5kbiaqc6wids02m7kag6";
-    };
-
-    # Tests don't work
-    doCheck = false;
-
-    meta = {
-      description = "Utilities for use with console mail clients, like mutt";
-      homepage = https://www.blacktrash.org/hg/muttils;
-      license = licenses.gpl2Plus;
-    };
-  });
+  muttils = callPackage ../development/python-modules/muttils { };
 
   mygpoclient = callPackage ../development/python-modules/mygpoclient { };
 
@@ -7475,241 +2838,37 @@ in {
 
   mypy-protobuf = callPackage ../development/python-modules/mypy-protobuf { };
 
-  neuronpy = buildPythonPackage rec {
-    name = "neuronpy-${version}";
-    version = "0.1.6";
-    disabled = !isPy27;
-
-    propagatedBuildInputs = with self; [ numpy matplotlib scipy ];
-
-    meta = {
-      description = "Interfaces and utilities for the NEURON simulator and analysis of neural data";
-      maintainers = [ maintainers.nico202 ];
-      license = licenses.mit;
-    };
-
-    #No tests included
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "https://pypi.python.org/packages/source/n/neuronpy/neuronpy-${version}.tar.gz";
-      sha256 = "1clhc2b5fy2l8nfrji4dagmj9419nj6kam090yqxhq5c28sngk25";
-    };
-  };
-
-  pint = buildPythonPackage rec {
-    name = "pint-${version}";
-    version = "0.7.2";
-
-    meta = {
-      description = "Physical quantities module";
-      license = licenses.bsd3;
-      homepage = "https://github.com/hgrecco/pint/";
-    };
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pint/Pint-${version}.tar.gz";
-      sha256 = "1bbp5s34gcb9il2wyz4spznshahwbjvwi5bhjm7bnxk358spvf9q";
-    };
-  };
-
-  pygal = buildPythonPackage rec {
-    pname = "pygal";
-    version = "2.3.1";
-    name = "${pname}-${version}";
-
-    doCheck = !isPyPy;  # one check fails with pypy
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "7ba5a191233d0c2d8bf4b4d26b06e42bd77483a59ba7d3e5b884d81d1a870667";
-    };
+  neuronpy = callPackage ../development/python-modules/neuronpy { };
 
-    buildInputs = with self; [ flask pyquery pytest ];
-    propagatedBuildInputs = with self; [ cairosvg tinycss cssselect ] ++ optionals (!isPyPy) [ lxml ];
+  pint = callPackage ../development/python-modules/pint { };
 
-    meta = {
-      description = "Sexy and simple python charting";
-      homepage = http://www.pygal.org;
-      license = licenses.lgpl3;
-      maintainers = with maintainers; [ sjourdois ];
-    };
-  };
+  pygal = callPackage ../development/python-modules/pygal { };
 
   pytaglib = callPackage ../development/python-modules/pytaglib { };
 
   pyte = callPackage ../development/python-modules/pyte { };
 
-  graphviz = buildPythonPackage rec {
-    name = "graphviz-${version}";
-    version = "0.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/g/graphviz/${name}.zip";
-      sha256 = "14r9brj4r31b3qy1nnn34v3l4h0n39bqxg9sn2fz4p3pp5mglnl6";
-    };
-
-    propagatedBuildInputs = [ pkgs.graphviz ];
-
-    meta = {
-      description = "Simple Python interface for Graphviz";
-      homepage = https://github.com/xflr6/graphviz;
-      license = licenses.mit;
-    };
-  };
+  graphviz = callPackage ../development/python-modules/graphviz { };
 
   pygraphviz = callPackage ../development/python-modules/pygraphviz { };
 
   pymc3 = callPackage ../development/python-modules/pymc3 { };
 
-  pympler = buildPythonPackage rec {
-    pname = "Pympler";
-    version = "0.4.3";
-    name = "${pname}-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/P/${pname}/${name}.tar.gz";
-      sha256 = "0mhyxqlkha98y8mi5zqcjg23r30mgdjdzs05lghbmqfdyvzjh1a3";
-    };
-
-  # Remove test asizeof.flatsize(), broken and can be missed as
-  # test is only useful on python 2.5, see https://github.com/pympler/pympler/issues/22
-   patchPhase = ''
-     substituteInPlace ./test/asizeof/test_asizeof.py --replace "n, e = test_flatsize" "#n, e = test_flatsize"
-     substituteInPlace ./test/asizeof/test_asizeof.py --replace "self.assert_(n," "#self.assert_(n,"
-     substituteInPlace ./test/asizeof/test_asizeof.py --replace "self.assert_(not e" "#self.assert_(not e"
-    '';
-
-    doCheck = stdenv.hostPlatform.isLinux;
-
-    meta = {
-      description = "Tool to measure, monitor and analyze memory behavior";
-      homepage = https://pythonhosted.org/Pympler/;
-      license = licenses.asl20;
-    };
-  };
-
-  pymysqlsa = self.buildPythonPackage rec {
-    name = "pymysqlsa-${version}";
-    version = "1.0";
+  pympler = callPackage ../development/python-modules/pympler { };
 
-    propagatedBuildInputs = with self; [ pymysql sqlalchemy ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pymysql_sa/pymysql_sa-1.0.tar.gz";
-      sha256 = "a2676bce514a29b2d6ab418812259b0c2f7564150ac53455420a20bd7935314a";
-    };
-
-    meta = {
-      description = "PyMySQL dialect for SQL Alchemy";
-      homepage = https://pypi.python.org/pypi/pymysql_sa;
-      license = licenses.mit;
-    };
-  };
+  pymysqlsa = callPackage ../development/python-modules/pymysqlsa { };
 
   monosat = disabledIf (!isPy3k) (pkgs.monosat.python { inherit buildPythonPackage; inherit (self) cython; });
 
-  monotonic = buildPythonPackage rec {
-    pname = "monotonic";
-    version = "1.3";
-    name = "${pname}-${version}";
-
-    __propagatedImpureHostDeps = stdenv.lib.optional stdenv.isDarwin "/usr/lib/libc.dylib";
+  monotonic = callPackage ../development/python-modules/monotonic { };
 
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "06vw7jwq96106plhlc5vz1v1xvjismdgw9wjyzvzf0ylglnrwiib";
-    };
-
-    patchPhase = optionalString stdenv.isLinux ''
-      substituteInPlace monotonic.py --replace \
-        "ctypes.util.find_library('c')" "'${stdenv.glibc.out}/lib/libc.so.6'"
-    '';
-  };
-
-  MySQL_python = buildPythonPackage rec {
-    name = "MySQL-python-1.2.5";
-
-    disabled = isPy3k;
-
-    # plenty of failing tests
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/M/MySQL-python/${name}.zip";
-      sha256 = "0x0c2jg0bb3pp84njaqiic050qkyd7ymwhfvhipnimg58yv40441";
-    };
-
-    buildInputs = with self; [ nose ];
-
-    propagatedBuildInputs = with self; [ pkgs.mysql.connector-c ];
-
-    meta = {
-      description = "MySQL database binding for Python";
-
-      homepage = https://sourceforge.net/projects/mysql-python;
-    };
-  };
+  MySQL_python = callPackage ../development/python-modules/mysql_python { };
 
   mysql-connector = callPackage ../development/python-modules/mysql-connector { };
 
-  namebench = buildPythonPackage (rec {
-    name = "namebench-1.3.1";
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "http://namebench.googlecode.com/files/${name}-source.tgz";
-      sha256 = "09clbcd6wxgk4r6qw7hb78h818mvca7lijigy1mlq5y1f3lgkk1h";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    propagatedBuildInputs = [ self.tkinter ];
-
-    # namebench expects to be run from its own source tree (it uses relative
-    # paths to various resources), make it work.
-    postInstall = ''
-      sed -i "s|import os|import os; os.chdir(\"$out/namebench\")|" "$out/bin/namebench.py"
-    '';
-
-    meta = {
-      homepage = http://namebench.googlecode.com/;
-      description = "Find fastest DNS servers available";
-      license = with licenses; [
-        asl20
-        # third-party program licenses (embedded in the sources)
-        "LGPL" # Crystal_Clear
-        free # dns
-        asl20 # graphy
-        "BSD" # jinja2
-      ];
-      longDescription = ''
-        It hunts down the fastest DNS servers available for your computer to
-        use. namebench runs a fair and thorough benchmark using your web
-        browser history, tcpdump output, or standardized datasets in order
-        to provide an individualized recommendation. namebench is completely
-        free and does not modify your system in any way.
-      '';
-    };
-  });
-
-
-  nameparser = buildPythonPackage rec {
-    name = "nameparser-${version}";
-    version = "0.3.4";
+  namebench = callPackage ../development/python-modules/namebench { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nameparser/${name}.tar.gz";
-      sha256 = "1zi94m99ziwwd6kkip3w2xpnl05r2cfv9iq68inz7np81c3g8vag";
-    };
-
-    meta = {
-      description = "A simple Python module for parsing human names into their individual components";
-      homepage = https://github.com/derek73/python-nameparser;
-      license = licenses.lgpl21Plus;
-    };
-  };
+  nameparser = callPackage ../development/python-modules/nameparser { };
 
   nbconvert = callPackage ../development/python-modules/nbconvert { };
 
@@ -7719,119 +2878,15 @@ in {
 
   nbxmpp = callPackage ../development/python-modules/nbxmpp { };
 
-  sleekxmpp = buildPythonPackage rec {
-    name = "sleekxmpp-${version}";
-    version = "1.3.3";
-
-    patches = [
-      # Fix https://github.com/etingof/pyasn1/issues/112
-      (pkgs.fetchpatch {
-        url = "https://github.com/kdschlosser/SleekXMPP/commit/597014ba5ca258763e96ee37729ac933c5af1602.patch";
-        sha256 = "176v3f3pr0bx48wv1kf9jn2pwxdn7qpqyc2chwv1m8gbppsfaikf";
-      })
-    ];
-
-    propagatedBuildInputs = with self; [ dnspython pyasn1 pyasn1-modules gevent ];
-    checkInputs = [ pkgs.gnupg ];
-    checkPhase = "${python.interpreter} testall.py";
-    doCheck = false; # Tests failed all this time and upstream doesn't seem to care.
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/sleekxmpp/${name}.tar.gz";
-      sha256 = "0samiq1d97kk8g9pszfbrbfw9zc41zp6017dbkwha9frf7gc24yj";
-    };
-
-    meta = {
-      description = "XMPP library for Python";
-      license = licenses.mit;
-      homepage = http://sleekxmpp.com/;
-    };
-  };
-
-  slixmpp = buildPythonPackage rec {
-    name = "slixmpp-${version}";
-    version = "1.2.4.post1";
-
-    disabled = pythonOlder "3.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/slixmpp/${name}.tar.gz";
-      sha256 = "0v6430dczai8a2nmznhja2dxl6pxa8c5j20nhc5737bqjg7245jk";
-    };
-
-    patchPhase = ''
-      substituteInPlace slixmpp/thirdparty/gnupg.py \
-        --replace "gpgbinary='gpg'" "gpgbinary='${pkgs.gnupg1}/bin/gpg'"
-    '';
-
-    propagatedBuildInputs = with self ; [ aiodns pyasn1 pkgs.gnupg1 pyasn1-modules];
-
-    meta = {
-      description = "Elegant Python library for XMPP";
-      license = licenses.mit;
-      homepage = https://dev.louiz.org/projects/slixmpp;
-    };
-  };
-
-  netaddr = buildPythonPackage rec {
-    pname = "netaddr";
-    version = "0.7.19";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "38aeec7cdd035081d3a4c306394b19d677623bf76fa0913f6695127c7753aefd";
-    };
-
-    LC_ALL = "en_US.UTF-8";
-    buildInputs = with self; [ pkgs.glibcLocales pytest ];
-
-    checkPhase = ''
-      py.test netaddr/tests
-    '';
-
-    patches = [
-      (pkgs.fetchpatch {
-        url = https://github.com/drkjam/netaddr/commit/2ab73f10be7069c9412e853d2d0caf29bd624012.patch;
-        sha256 = "0s1cdn9v5alpviabhcjmzc0m2pnpq9dh2fnnk2x96dnry1pshg39";
-      })
-    ];
-
-    meta = {
-      homepage = https://github.com/drkjam/netaddr/;
-      description = "A network address manipulation library for Python";
-    };
-  };
+  sleekxmpp = callPackage ../development/python-modules/sleekxmpp { };
 
-  netifaces = buildPythonPackage rec {
-    version = "0.10.6";
-    name = "netifaces-${version}";
+  slixmpp = callPackage ../development/python-modules/slixmpp { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/netifaces/${name}.tar.gz";
-      sha256 = "1q7bi5k2r955rlcpspx4salvkkpk28jky67fjbpz2dkdycisak8c";
-    };
+  netaddr = callPackage ../development/python-modules/netaddr { };
 
-    meta = {
-      homepage = https://alastairs-place.net/projects/netifaces/;
-      description = "Portable access to network interfaces from Python";
-    };
-  };
-
-  hpack = buildPythonPackage rec {
-    name = "hpack-${version}";
-    version = "2.3.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hpack/hpack-${version}.tar.gz";
-      sha256 = "1ad0fx4d7a52zf441qzhjc7vwy9v3qdrk1zyf06ikz8y2nl9mgai";
-    };
+  netifaces = callPackage ../development/python-modules/netifaces { };
 
-    meta = with stdenv.lib; {
-      description = "========================================";
-      homepage = "http://hyper.rtfd.org";
-    };
-  };
+  hpack = callPackage ../development/python-modules/hpack { };
 
   nevow = callPackage ../development/python-modules/nevow { };
 
@@ -7841,326 +2896,51 @@ in {
 
   nimfa = callPackage ../development/python-modules/nimfa {};
 
-  nipy = buildPythonPackage rec {
-    version = "0.4.0";
-    name = "nipy-${version}";
-
-    disabled = pythonOlder "2.6";
-
-    checkPhase = ''    # wants to be run in a different directory
-      mkdir nosetests
-      cd nosetests
-      ${python.interpreter} -c "import nipy; nipy.test()"
-      rm -rf .
-    '';
-    # failing test:
-    # nipy.algorithms.statistics.models.tests.test_olsR.test_results(11.593139639404727, 11.593140144880794, 6)  # disagrees by 1 at 6th decimal place
-    # erroring tests:
-    # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_altprotocol
-    # nipy.modalities.fmri.fmristat.tests.test_FIAC.test_agreement
-    # nipy.tests.test_scripts.test_nipy_4d_realign   # because `nipy_4d_realign` script isn't found at test time; works from nix-shell, so could be patched
-    # nipy.tests.test_scripts.test_nipy_3_4d         # ditto re.: `nipy_3_4d` script
-    doCheck = false;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nipy/${name}.tar.gz";
-      sha256 = "1hnbn2i4fjxflaaz082s2c57hfp59jfra1zayz1iras5p2dy21nr";
-    };
-
-    buildInputs = stdenv.lib.optional doCheck [ self.nose ];
-
-    propagatedBuildInputs = with self; [
-      matplotlib
-      nibabel
-      numpy
-      scipy
-      sympy
-    ];
-
-    meta = {
-      homepage = http://nipy.org/nipy/;
-      description = "Software for structural and functional neuroimaging analysis";
-      license = licenses.bsd3;
-    };
-  };
+  nipy = callPackage ../development/python-modules/nipy { };
 
   nipype = callPackage ../development/python-modules/nipype {
     inherit (pkgs) which;
   };
 
-  nixpkgs = buildPythonPackage rec {
-    disabled = ! pythonAtLeast "3.5";
-    pname = "nixpkgs";
-    version = "0.2.2";
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0gsrd99kkv99jsrh3hckz7ns1zwndi9vvh4465v4gnpz723dd6fj";
-    };
-    buildInputs = with self; [ pbr ];
-    propagatedBuildInputs = with self; [ pythonix ];
-    meta = {
-      description = "Allows to `from nixpkgs import` stuff in interactive Python sessions";
-      homepage = http://github.com/t184256/nixpkgs-python-importer;
-      license = licenses.mit;
-      maintainers = with maintainers; [ t184256 ];
-    };
-  };
+  nixpkgs = callPackage ../development/python-modules/nixpkgs { };
 
   nodeenv = callPackage ../development/python-modules/nodeenv { };
 
-  nose = buildPythonPackage rec {
-    version = "1.3.7";
-    name = "nose-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nose/${name}.tar.gz";
-      sha256 = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98";
-    };
-
-    propagatedBuildInputs = [ self.coverage ];
-
-    doCheck = false;  # lot's of transient errors, too much hassle
-    checkPhase = if python.is_py3k or false then ''
-      ${python}/bin/${python.executable} setup.py build_tests
-    '' else "" + ''
-      rm functional_tests/test_multiprocessing/test_concurrent_shared.py* # see https://github.com/nose-devs/nose/commit/226bc671c73643887b36b8467b34ad485c2df062
-      ${python}/bin/${python.executable} selftest.py
-    '';
-
-    meta = {
-      description = "A unittest-based testing framework for python that makes writing and running tests easier";
-    };
-  };
+  nose = callPackage ../development/python-modules/nose { };
 
   nose-exclude = callPackage ../development/python-modules/nose-exclude { };
 
-  nose2 = buildPythonPackage rec {
-    name = "nose2-0.5.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nose2/${name}.tar.gz";
-      sha256 = "0595rh6b6dncbj0jigsyrgrh6h8fsl6w1fr69h76mxv9nllv0rlr";
-    };
-    meta = {
-      description = "nose2 is the next generation of nicer testing for Python";
-    };
-    propagatedBuildInputs = with self; [ six ];
-    # AttributeError: 'module' object has no attribute 'collector'
-    doCheck = false;
-  };
-
-  nose-cover3 = buildPythonPackage rec {
-    name = "nose-cover3-${version}";
-    version = "0.1.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nose-cover3/${name}.tar.gz";
-      sha256 = "1la4hhc1yszjpcchvkqk5xmzlb2g1b3fgxj9wwc58qc549whlcc1";
-    };
-
-    propagatedBuildInputs = with self; [ nose ];
-
-    # No tests included
-    doCheck = false;
-
-    meta = {
-      description = "Coverage 3.x support for Nose";
-      homepage = https://github.com/ask/nosecover3;
-      license = licenses.lgpl21;
-    };
-  };
-
-  nosexcover = buildPythonPackage (rec {
-    name = "nosexcover-1.0.10";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nosexcover/${name}.tar.gz";
-      sha256 = "f5b3a7c936c4f703f15418c1f325775098184b69fa572f868edb8a99f8f144a8";
-    };
-
-    propagatedBuildInputs = with self; [ coverage nose ];
-
-    meta = {
-      description = "Extends nose.plugins.cover to add Cobertura-style XML reports";
-
-      homepage = https://github.com/cmheisel/nose-xcover/;
-
-      license = licenses.bsd3;
-    };
-  });
-
-  nosejs = buildPythonPackage {
-    name = "nosejs-0.9.4";
-    src = pkgs.fetchurl {
-      url = mirror://pypi/N/NoseJS/NoseJS-0.9.4.tar.gz;
-      sha256 = "0qrhkd3sga56qf6k0sqyhwfcladwi05gl6aqmr0xriiq1sgva5dy";
-    };
-    buildInputs = with self; [ nose ];
-
-    checkPhase = ''
-      nosetests -v
-    '';
+  nose2 = callPackage ../development/python-modules/nose2 { };
 
-  };
+  nose-cover3 = callPackage ../development/python-modules/nose-cover3 { };
 
-  nose-cprof = buildPythonPackage rec {
-    name = "nose-cprof-${version}";
-    version = "0.1.4";
+  nosexcover = callPackage ../development/python-modules/nosexcover { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nose-cprof/${name}.tar.gz";
-      sha256 = "0ayy5mbjly9aa9dkgpz0l06flspnxmnj6wxdl6zr59byrrr8fqhw";
-    };
-
-    meta = {
-      description = "A python nose plugin to profile using cProfile rather than the default Hotshot profiler";
-    };
+  nosejs = callPackage ../development/python-modules/nosejs { };
 
-    buildInputs = with self; [ nose ];
-  };
+  nose-cprof = callPackage ../development/python-modules/nose-cprof { };
 
   nose_warnings_filters = callPackage ../development/python-modules/nose_warnings_filters { };
 
   notebook = callPackage ../development/python-modules/notebook { };
 
-  notify = pkgs.stdenv.mkDerivation (rec {
-    name = "python-notify-0.1.1";
-
-    src = pkgs.fetchurl {
-      url = http://www.galago-project.org/files/releases/source/notify-python/notify-python-0.1.1.tar.bz2;
-      sha256 = "1kh4spwgqxm534qlzzf2ijchckvs0pwjxl1irhicjmlg7mybnfvx";
-    };
-
-    patches = singleton (pkgs.fetchurl {
-      name = "libnotify07.patch";
-      url = "http://src.fedoraproject.org/cgit/notify-python.git/plain/"
-          + "libnotify07.patch?id2=289573d50ae4838a1658d573d2c9f4c75e86db0c";
-      sha256 = "1lqdli13mfb59xxbq4rbq1f0znh6xr17ljjhwmzqb79jl3dig12z";
-    });
-
-    postPatch = ''
-      sed -i -e '/^PYGTK_CODEGEN/s|=.*|="${self.pygtk}/bin/pygtk-codegen-2.0"|' \
-        configure
-    '';
-
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = with self; [ python pkgs.libnotify pygobject2 pygtk pkgs.glib pkgs.gtk2 pkgs.dbus-glib ];
-
-    postInstall = "cd $out/lib/python*/site-packages && ln -s gtk-*/pynotify .";
-
-    meta = {
-      description = "Python bindings for libnotify";
-      homepage = http://www.galago-project.org/;
-    };
-  });
+  notify = callPackage ../development/python-modules/notify { };
 
   notify2 = callPackage ../development/python-modules/notify2 {};
 
-  notmuch = buildPythonPackage rec {
-    name = "python-${pkgs.notmuch.name}";
-
-    src = pkgs.notmuch.src;
-
-    sourceRoot = pkgs.notmuch.pythonSourceRoot;
-
-    buildInputs = with self; [ python pkgs.notmuch ];
-
-    postPatch = ''
-      sed -i -e '/CDLL/s@"libnotmuch\.@"${pkgs.notmuch}/lib/libnotmuch.@' \
-        notmuch/globals.py
-    '';
-
-    meta = {
-      description = "A Python wrapper around notmuch";
-      homepage = https://notmuchmail.org/;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  notmuch = callPackage ../development/python-modules/notmuch { };
 
   emoji = callPackage ../development/python-modules/emoji { };
 
-  ntfy = buildPythonPackage rec {
-    version = "1.2.0";
-    name = "ntfy-${version}";
-    src = pkgs.fetchFromGitHub {
-      owner = "dschep";
-      repo = "ntfy";
-      rev = "v${version}";
-      sha256 = "0yjxwisxpxy3vpnqk9nw5k3db3xx6wyf6sk1px9m94s30glcq2cc";
-    };
-
-    propagatedBuildInputs = with self; [ appdirs pyyaml requests dbus-python emoji sleekxmpp mock ];
-
-    meta = {
-      description = "A utility for sending notifications, on demand and when commands finish";
-      homepage = http://ntfy.rtfd.org/;
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ kamilchm ];
-    };
-  };
-
-  ntplib = buildPythonPackage rec {
-    name = "ntplib-0.3.3";
-    src = pkgs.fetchurl {
-      url = mirror://pypi/n/ntplib/ntplib-0.3.3.tar.gz;
-      sha256 = "c4621b64d50be9461d9bd9a71ba0b4af06fbbf818bbd483752d95c1a4e273ede";
-    };
-
-    # Require networking
-    doCheck = false;
+  ntfy = callPackage ../development/python-modules/ntfy { };
 
-    meta = {
-      description = "Python NTP library";
-      license = licenses.mit;
-    };
-  };
+  ntplib = callPackage ../development/python-modules/ntplib { };
 
   numba = callPackage ../development/python-modules/numba { };
 
   numexpr = callPackage ../development/python-modules/numexpr { };
 
-  Nuitka = let
-    # scons is needed but using it requires Python 2.7
-    # Therefore we create a separate env for it.
-    scons = pkgs.python27.withPackages(ps: [ pkgs.scons ]);
-  in buildPythonPackage rec {
-    version = "0.5.25";
-    name = "Nuitka-${version}";
-
-    # Latest version is not yet on PyPi
-    src = pkgs.fetchurl {
-      url = "https://github.com/kayhayen/Nuitka/archive/${version}.tar.gz";
-      sha256 = "11psz0pyj56adv4b3f47hl8jakvp2mc2c85s092a5rsv1la1a0aa";
-    };
-
-    buildInputs = with self; stdenv.lib.optionals doCheck [ vmprof pyqt4 ];
-
-    propagatedBuildInputs = [ scons ];
-
-    postPatch = ''
-      patchShebangs tests/run-tests
-    '' + stdenv.lib.optionalString stdenv.isLinux ''
-      substituteInPlace nuitka/plugins/standard/ImplicitImports.py --replace 'locateDLL("uuid")' '"${pkgs.utillinux.out}/lib/libuuid.so"'
-    '';
-
-    # We do not want any wrappers here.
-    postFixup = '''';
-
-    checkPhase = ''
-      tests/run-tests
-    '';
-
-    # Problem with a subprocess (parts)
-    doCheck = false;
-
-    # Requires CPython
-    disabled = isPyPy;
-
-    meta = {
-      description = "Python compiler with full language support and CPython compatibility";
-      license = licenses.asl20;
-      homepage = http://nuitka.net/;
-    };
-  };
+  Nuitka = callPackage ../development/python-modules/nuitka { };
 
   numpy = callPackage ../development/python-modules/numpy {
     blas = pkgs.openblasCompat;
@@ -8174,323 +2954,47 @@ in {
 
   nwdiag = callPackage ../development/python-modules/nwdiag { };
 
-  dynd = buildPythonPackage rec {
-    version = "0.7.2";
-    name = "dynd-${version}";
-    disabled = isPyPy || !isPy3k; # tests fail on python2, 2018-04-11
-
-    src = pkgs.fetchFromGitHub {
-      owner = "libdynd";
-      repo = "dynd-python";
-      rev = "v${version}";
-      sha256 = "19igd6ibf9araqhq9bxmzbzdz05vp089zxvddkiik3b5gb7l17nh";
-    };
-
-    # setup.py invokes git on build but we're fetching a tarball, so
-    # can't retrieve git version. We hardcode:
-    preConfigure = ''
-      substituteInPlace setup.py --replace "ver = check_output(['git', 'describe', '--dirty'," "ver = '${version}'"
-      substituteInPlace setup.py --replace "'--always', '--match', 'v*']).decode('ascii').strip('\n')" ""
-    '';
-
-    # Python 3 works but has a broken import test that I couldn't
-    # figure out.
-    doCheck = !isPy3k;
-    buildInputs = with pkgs; [ cmake libdynd.dev self.cython ];
-    propagatedBuildInputs = with self; [ numpy pkgs.libdynd ];
-
-    meta = {
-      homepage = http://libdynd.org;
-      license = licenses.bsd2;
-      description = "Python exposure of dynd";
-      maintainers = with maintainers; [ teh ];
-    };
-  };
+  dynd = callPackage ../development/python-modules/dynd { };
 
   langcodes = callPackage ../development/python-modules/langcodes { };
 
-  livestreamer = buildPythonPackage rec {
-    version = "1.12.2";
-    name = "livestreamer-${version}";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/chrippa/livestreamer/archive/v${version}.tar.gz";
-      sha256 = "1fp3d3z2grb1ls97smjkraazpxnvajda2d1g1378s6gzmda2jvjd";
-    };
-
-    buildInputs = [ pkgs.makeWrapper ];
-
-    propagatedBuildInputs = with self; [ pkgs.rtmpdump pycrypto requests ]
-      ++ optionals isPy27 [ singledispatch futures ]
-      ++ optionals isPy33 [ singledispatch ];
-
-    postInstall = ''
-      wrapProgram $out/bin/livestreamer --prefix PATH : ${pkgs.rtmpdump}/bin
-    '';
-
-    meta = {
-      homepage = http://livestreamer.tanuki.se;
-      description = ''
-        Livestreamer is CLI program that extracts streams from various
-        services and pipes them into a video player of choice.
-      '';
-      license = licenses.bsd2;
-      maintainers = with maintainers; [ fuuzetsu ];
-    };
-  };
-
-  livestreamer-curses = buildPythonPackage rec {
-    version = "1.5.2";
-    name = "livestreamer-curses-${version}";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/gapato/livestreamer-curses/archive/v${version}.tar.gz";
-      sha256 = "1v49sym6mrci9dxy0a7cpbp4bv6fg2ijj6rwk4wzg18c2x4qzkhn";
-    };
-
-    propagatedBuildInputs = with self; [ livestreamer ];
-
-    meta = {
-      homepage = https://github.com/gapato/livestreamer-curses;
-      description = "Curses frontend for livestreamer";
-      license = licenses.mit;
-    };
-  };
-
-  oauth = buildPythonPackage (rec {
-    name = "oauth-1.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/oauth/oauth-1.0.1.tar.gz";
-      sha256 = "0pdgi35hczsslil4890xqawnbpdazkgf2v1443847h5hy2gq2sg7";
-    };
-
-    # No tests included in archive
-    doCheck = false;
-
-    meta = {
-      homepage = http://code.google.com/p/oauth;
-      description = "Library for OAuth version 1.0a";
-      license = licenses.mit;
-      platforms = platforms.all;
-    };
-  });
+  livestreamer = callPackage ../development/python-modules/livestreamer { };
 
-  oauth2 = buildPythonPackage (rec {
-    name = "oauth2-${version}";
-    version = "1.9.0.post1";
+  livestreamer-curses = callPackage ../development/python-modules/livestreamer-curses { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/oauth2/${name}.tar.gz";
-      sha256 = "c006a85e7c60107c7cc6da1b184b5c719f6dd7202098196dfa6e55df669b59bf";
-    };
+  oauth = callPackage ../development/python-modules/oauth { };
 
-    propagatedBuildInputs = with self; [ httplib2 ];
-
-    buildInputs = with self; [ mock coverage ];
-
-    # ServerNotFoundError: Unable to find the server at oauth-sandbox.sevengoslings.net
-    doCheck = false;
-
-    meta = {
-      homepage = "https://github.com/simplegeo/python-oauth2";
-      description = "Library for OAuth version 1.0";
-      license = licenses.mit;
-      maintainers = with maintainers; [ garbas ];
-      platforms = platforms.linux;
-    };
-  });
+  oauth2 = callPackage ../development/python-modules/oauth2 { };
 
   oauth2client = callPackage ../development/python-modules/oauth2client { };
 
-  oauthlib = buildPythonPackage rec {
-    version = "2.0.0";
-    name = "oauthlib-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/idan/oauthlib/archive/v${version}.tar.gz";
-      sha256 = "02b645a8rqh4xfs1cmj8sss8wqppiadd1ndq3av1cdjz2frfqcjf";
-    };
-
-    buildInputs = with self; [ mock nose unittest2 ];
-
-    propagatedBuildInputs = with self; [ cryptography blinker pyjwt ];
-
-    meta = {
-      homepage = https://github.com/idan/oauthlib;
-      downloadPage = https://github.com/idan/oauthlib/releases;
-      description = "A generic, spec-compliant, thorough implementation of the OAuth request-signing logic";
-      maintainers = with maintainers; [ prikhi ];
-    };
-  };
+  oauthlib = callPackage ../development/python-modules/oauthlib { };
 
+  obfsproxy = callPackage ../development/python-modules/obfsproxy { };
 
-  obfsproxy = buildPythonPackage ( rec {
-    name = "obfsproxy-${version}";
-    version = "0.2.13";
-
-    src = pkgs.fetchgit {
-      url = meta.repositories.git;
-      rev = "refs/tags/${name}";
-      sha256 = "04ja1cl8xzqnwrd2gi6nlnxbmjri141bzwa5gybvr44d8h3k2nfa";
-    };
-
-    postPatch = ''
-      substituteInPlace setup.py --replace "version=versioneer.get_version()" "version='${version}'"
-      substituteInPlace setup.py --replace "argparse" ""
-    '';
-
-    propagatedBuildInputs = with self;
-      [ pyptlib argparse twisted pycrypto pyyaml ];
-
-    # No tests in archive
-    doCheck = false;
-
-    meta = {
-      description = "A pluggable transport proxy";
-      homepage = https://www.torproject.org/projects/obfsproxy;
-      repositories.git = https://git.torproject.org/pluggable-transports/obfsproxy.git;
-      maintainers = with maintainers; [ phreedom thoughtpolice ];
-    };
-  });
-
-  objgraph = buildPythonPackage rec {
-    name = "objgraph-${version}";
-    version = "2.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/objgraph/${name}.tar.gz";
-      sha256 = "841de52715774ec1d0e97d9b4462d6e3e10406155f9b61f54ba7db984c45442a";
-    };
-
-    # Tests fail with PyPy.
-    disabled = isPyPy;
-
-    propagatedBuildInputs = with self; [pkgs.graphviz];
-
-    meta = {
-      description = "Draws Python object reference graphs with graphviz";
-      homepage = https://mg.pov.lt/objgraph/;
-      license = licenses.mit;
-    };
-  };
+  objgraph = callPackage ../development/python-modules/objgraph { };
 
   odo = callPackage ../development/python-modules/odo { };
 
-  offtrac = buildPythonPackage rec {
-    name = "offtrac-0.1.0";
-    meta.maintainers = with maintainers; [ ];
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/offtrac/${name}.tar.gz";
-      sha256 = "06vd010pa1z7lyfj1na30iqzffr4kzj2k2sba09spik7drlvvl56";
-    };
-    doCheck = false;
-  };
+  offtrac = callPackage ../development/python-modules/offtrac { };
 
   openpyxl = callPackage ../development/python-modules/openpyxl { };
 
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
 
-  ordereddict = buildPythonPackage rec {
-    name = "ordereddict-${version}";
-    version = "1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/o/ordereddict/${name}.tar.gz";
-      sha256 = "07qvy11nvgxpzarrni3wrww3vpc9yafgi2bch4j2vvvc42nb8d8w";
-    };
-
-    meta = {
-      description = "A drop-in substitute for Py2.7's new collections.OrderedDict that works in Python 2.4-2.6";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ garbas ];
-    };
-  };
+  ordereddict = callPackage ../development/python-modules/ordereddict { };
 
   orderedset = callPackage ../development/python-modules/orderedset { };
 
-  python-otr = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "python-otr";
-    version = "1.2.0";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchFromGitHub {
-      owner = "AGProjects";
-      repo = pname;
-      rev = "release-" + version;
-      sha256 = "0p3b1n8jlxwd65gbk2k5007fkhdyjwcvr4982s42hncivxvabzzy";
-    };
-
-    propagatedBuildInputs = with self; [ zope_interface cryptography application gmpy2 ];
-
-    meta = {
-      description = "A pure python implementation of OTR";
-      homepage = https://github.com/AGProjects/otr;
-      license = licenses.lgpl21Plus;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ edwtjo ];
-    };
-  };
+  python-otr = callPackage ../development/python-modules/python-otr { };
 
   plone-testing = callPackage ../development/python-modules/plone-testing { };
 
   ply = callPackage ../development/python-modules/ply { };
 
-  plyvel = buildPythonPackage (rec {
-    name = "plyvel-0.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/plyvel/${name}.tar.gz";
-      sha256 = "1scq75qyks9vmjd19bx57f2y60mkdr44ajvb12p3cjg439l96zaq";
-    };
-
-    buildInputs = with self; [ pkgs.leveldb ]
-                            ++ optional isPy3k pytest;
-
-    # no tests for python2
-    doCheck = isPy3k;
-
-    meta = {
-      description = "Fast and feature-rich Python interface to LevelDB";
-      homepage = https://github.com/wbolster/plyvel;
-      license = licenses.bsd3;
-    };
-  });
+  plyvel = callPackage ../development/python-modules/plyvel { };
 
-  osc = buildPythonPackage {
-    name = "osc-0.162.0-55-gb730f88";
-    disabled = isPy3k;
-    src = pkgs.fetchFromGitHub {
-      owner = "openSUSE";
-      repo = "osc";
-      rev = "b730f880cfe85a8547f569355a21706f27ebfa78";
-      sha256 = "0hh9j5zd2kc0804d2jmf1q3w5xm9l9s69hhgysbncrv5fw0414lh";
-    };
-    buildInputs = with pkgs; [ bashInteractive ]; # needed for bash-completion helper
-    propagatedBuildInputs = with self; [ urlgrabber m2crypto pyyaml lxml ];
-    postInstall = ''
-      ln -s $out/bin/osc-wrapper.py $out/bin/osc
-      install -D -m444 osc.fish $out/etc/fish/completions/osc.fish
-      install -D -m555 dist/osc.complete $out/share/bash-completion/helpers/osc-helper
-      mkdir -p $out/share/bash-completion/completions
-      cat >>$out/share/bash-completion/completions/osc <<EOF
-      test -z "\$BASH_VERSION" && return
-      complete -o default _nullcommand >/dev/null 2>&1 || return
-      complete -r _nullcommand >/dev/null 2>&1         || return
-      complete -o default -C $out/share/bash-completion/helpers/osc-helper osc
-      EOF
-    '';
-    meta = {
-      description = "opensuse-commander with svn like handling";
-      maintainers = [ maintainers.peti ];
-      license = licenses.gpl2;
-    };
-  };
+  osc = callPackage ../development/python-modules/osc { };
 
   rfc3986 = callPackage ../development/python-modules/rfc3986 { };
 
@@ -8501,143 +3005,27 @@ in {
   cmd2_9 = callPackage ../development/python-modules/cmd2 {};
   cmd2 = if isPy27 then self.cmd2_8 else self.cmd2_9;
 
- warlock = buildPythonPackage rec {
-   name = "warlock-${version}";
-   version = "1.2.0";
-
-   src = pkgs.fetchurl {
-     url = "mirror://pypi/w/warlock/${name}.tar.gz";
-     sha256 = "0npgi4ks0nww2d6ci791iayab0j6kz6dx3jr7bhpgkql3s4if3bw";
-   };
-
-   propagatedBuildInputs = with self; [
-     six jsonpatch jsonschema jsonpointer
-   ];
-   buildInputs = with self; [
-
-   ];
-
-   meta = with stdenv.lib; {
-     homepage = https://github.com/bcwaldon/warlock;
-   };
- };
-
+  warlock = callPackage ../development/python-modules/warlock { };
 
   pecan = callPackage ../development/python-modules/pecan { };
 
   kaitaistruct = callPackage ../development/python-modules/kaitaistruct { };
 
-  Kajiki = buildPythonPackage rec {
-    name = "Kajiki-${version}";
-    version = "0.5.5";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/K/Kajiki/${name}.tar.gz";
-      sha256 = "effcae388e25c3358eb0bbd733448509d11a1ec500e46c69241fc673021f0517";
-    };
-
-    propagatedBuildInputs = with self; [
-      Babel pytz nine
-    ];
-    meta = with stdenv.lib; {
-      description = "Kajiki provides fast well-formed XML templates";
-      homepage = "https://github.com/nandoflorestan/kajiki";
-    };
-  };
+  Kajiki = callPackage ../development/python-modules/kajiki { };
 
   WSME = callPackage ../development/python-modules/WSME { };
 
-  zake = buildPythonPackage rec {
-    name = "zake-${version}";
-    version = "0.2.2";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/z/zake/${name}.tar.gz";
-      sha256 = "1rp4xxy7qp0s0wnq3ig4ji8xsl31g901qkdp339ndxn466cqal2s";
-    };
+  zake = callPackage ../development/python-modules/zake { };
 
-    propagatedBuildInputs = with self; [ kazoo six ];
-    buildInputs = with self; [ testtools ];
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover zake/tests
-    '';
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/yahoo/Zake";
-    };
-  };
-
-  kazoo = buildPythonPackage rec {
-    name = "kazoo-${version}";
-    version = "2.2.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/kazoo/${name}.tar.gz";
-      sha256 = "10pb864if9qi2pq9lfb9m8f7z7ss6rml80gf1d9h64lap5crjnjj";
-    };
-
-    propagatedBuildInputs = with self; [
-      six
-    ];
-    buildInputs = with self; [
-      eventlet gevent nose mock coverage pkgs.openjdk8
-    ];
-
-    # not really needed
-    preBuild = ''
-      sed -i '/flake8/d' setup.py
-    '';
-
-    preCheck = ''
-      sed -i 's/test_unicode_auth/noop/' kazoo/tests/test_client.py
-    '';
-
-    # tests take a long time to run and leave threads hanging
-    doCheck = false;
-    #ZOOKEEPER_PATH = "${pkgs.zookeeper}";
-
-    meta = with stdenv.lib; {
-      homepage = "https://kazoo.readthedocs.org";
-    };
-  };
+  kazoo = callPackage ../development/python-modules/kazoo { };
 
   FormEncode = callPackage ../development/python-modules/FormEncode { };
 
-  pycountry = buildPythonPackage rec {
-    name = "pycountry-${version}";
-    version = "1.17";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pycountry/${name}.tar.gz";
-      sha256 = "1qvhq0c9xsh6d4apcvjphfzl6xnwhnk4jvhr8x2fdfnmb034lc26";
-    };
-  };
-
-  nine = buildPythonPackage rec {
-    name = "nine-${version}";
-    version = "0.3.4";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nine/${name}.tar.gz";
-      sha256 = "1zrsbm0hajfvklkhgysp81hy632a3bdakp31m0lcpd9xbp5265zy";
-    };
+  pycountry = callPackage ../development/python-modules/pycountry { };
 
-    meta = with stdenv.lib; {
-      description = "Let's write Python 3 right now!";
-      homepage = "https://github.com/nandoflorestan/nine";
-    };
-  };
+  nine = callPackage ../development/python-modules/nine { };
 
-
-  logutils = buildPythonPackage rec {
-    name = "logutils-${version}";
-    version = "0.3.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/logutils/${name}.tar.gz";
-      sha256 = "173w55fg3hp5dhx7xvssmgqkcv5fjlaik11w5dah2fxygkjvhhj0";
-    };
-  };
+  logutils = callPackage ../development/python-modules/logutils { };
 
   ldappool = callPackage ../development/python-modules/ldappool { };
 
@@ -8789,24 +3177,7 @@ in {
 
   bottleneck = callPackage ../development/python-modules/bottleneck { };
 
-  paho-mqtt = buildPythonPackage rec {
-    name = "paho-mqtt-${version}";
-    version = "1.1";
-
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-        url = "mirror://pypi/p/paho-mqtt/${name}.tar.gz";
-        sha256 = "07i6k9mw66kgbvjgsrcsd2sjji9ckym50dcxnmhjqfkfzsg64yhg";
-    };
-
-    meta = {
-      homepage = "https://eclipse.org/paho/";
-      description = "mqtt library for machine to machine and internet of things";
-      license = licenses.epl10;
-      maintainers = with maintainers; [ mog ];
-    };
-  };
+  paho-mqtt = callPackage ../development/python-modules/paho-mqtt { };
 
   pamqp = buildPythonPackage rec {
     version = "1.6.1";
@@ -8845,43 +3216,7 @@ in {
     };
   };
 
-  paramiko = buildPythonPackage rec {
-    pname = "paramiko";
-    version = "2.1.1";
-    name = "${pname}-${version}";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0xdmamqgx2ymhdm46q8flpj4fncj4wv2dqxzz0bc2dh7mnkss7fm";
-    };
-
-    propagatedBuildInputs = with self; [ cryptography pyasn1 ];
-
-    __darwinAllowLocalNetworking = true;
-
-    # https://github.com/paramiko/paramiko/issues/449
-    doCheck = !(isPyPy || isPy33);
-    checkPhase = ''
-      # test_util needs to resolve an hostname, thus failing when the fw blocks it
-      sed '/UtilTest/d' -i test.py
-
-      ${python}/bin/${python.executable} test.py --no-sftp --no-big-file
-    '';
-
-    meta = {
-      homepage = "https://github.com/paramiko/paramiko/";
-      description = "Native Python SSHv2 protocol library";
-      license = licenses.lgpl21Plus;
-      maintainers = with maintainers; [ aszlig ];
-
-      longDescription = ''
-        This is a library for making SSH2 connections (client or server).
-        Emphasis is on using SSH2 as an alternative to SSL for making secure
-        connections between python scripts. All major ciphers and hash methods
-        are supported. SFTP client and server mode are both supported too.
-      '';
-    };
-  };
+  paramiko = callPackage ../development/python-modules/paramiko { };
 
   parameterized = callPackage ../development/python-modules/parameterized { };
 
@@ -11703,6 +6038,8 @@ in {
     propagatedBuildInputs = [ self.cffi ];
   };
 
+  safe = callPackage ../development/python-modules/safe { };
+
   sampledata = callPackage ../development/python-modules/sampledata { };
 
   sasmodels = callPackage ../development/python-modules/sasmodels { };
@@ -14982,28 +9319,7 @@ EOF
     };
   };
 
-  Logbook = buildPythonPackage rec {
-    name = "Logbook-${version}";
-    version = "1.0.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/L/Logbook/${name}.tar.gz";
-      sha256 = "0whqbx5p0zkf7gmb5ssnsnhm4kn4drd4x7fbhdi8dnxklqajbnl7";
-    };
-
-    buildInputs = [ self.pytest ] ++ optionals (!isPy3k) [ self.mock ];
-
-    checkPhase = ''
-      find tests -name \*.pyc -delete
-      py.test tests
-    '';
-
-    meta = {
-      homepage = https://pythonhosted.org/Logbook/;
-      description = "A logging replacement for Python";
-      license = licenses.bsd3;
-    };
-  };
+  Logbook = callPackage ../development/python-modules/Logbook { };
 
   libversion = callPackage ../development/python-modules/libversion {
     inherit (pkgs) libversion;
@@ -15088,6 +9404,8 @@ EOF
     };
   };
 
+  speedtest-cli = callPackage ../development/python-modules/speedtest-cli { };
+
   pushbullet = callPackage ../development/python-modules/pushbullet { };
 
   power = buildPythonPackage rec {
@@ -15787,35 +10105,7 @@ EOF
     };
   };
 
-  poezio = buildPythonApplication rec {
-    name = "poezio-${version}";
-    version = "0.11";
-
-    disabled = pythonOlder "3.4";
-
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self ; [ aiodns slixmpp pyinotify potr mpd2 ];
-
-    src = pkgs.fetchurl {
-      url = "http://dev.louiz.org/attachments/download/118/${name}.tar.gz";
-      sha256 = "07cn3717swarjv47yw8x95bvngz4nvlyyy9m7ck9fhycjgdy82r0";
-    };
-
-    patches = [
-      ../development/python-modules/poezio/fix_gnupg_import.patch
-    ];
-
-    checkPhase = ''
-      py.test
-    '';
-
-    meta = {
-      description = "Free console XMPP client";
-      homepage = https://poez.io;
-      license = licenses.mit;
-      maintainers = [ maintainers.lsix ];
-    };
-  };
+  poezio = callPackage ../applications/networking/instant-messengers/poezio { };
 
   potr = callPackage ../development/python-modules/potr {};
 
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix
index 82a781083e2c..ec6ed357c688 100644
--- a/pkgs/top-level/splice.nix
+++ b/pkgs/top-level/splice.nix
@@ -112,7 +112,9 @@ let
     inherit (pkgs.stdenv) buildPlatform targetPlatform hostPlatform;
   };
 
-  splicedPackagesWithXorg = splicedPackages // splicedPackages.xorg;
+  splicedPackagesWithXorg = splicedPackages // builtins.removeAttrs splicedPackages.xorg [
+    "callPackage" "newScope" "overrideScope" "packages"
+  ];
 
 in
 
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 7637371a40f1..d0fb885dc747 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -134,13 +134,16 @@ let
     # default GNU libc on Linux systems. Non-Linux systems are not
     # supported.
     pkgsMusl = if stdenv.hostPlatform.isLinux then nixpkgsFun {
-      localSystem = {
+      inherit overlays config;
+      ${if stdenv.hostPlatform == stdenv.buildPlatform
+        then "localSystem" else "crossSystem"} = {
         parsed = stdenv.hostPlatform.parsed // {
           abi = {
             "gnu" = lib.systems.parse.abis.musl;
             "gnueabi" = lib.systems.parse.abis.musleabi;
             "gnueabihf" = lib.systems.parse.abis.musleabihf;
-          }.${stdenv.hostPlatform.parsed.abi.name} or lib.systems.parse.abis.musl;
+          }.${stdenv.hostPlatform.parsed.abi.name}
+            or lib.systems.parse.abis.musl;
         };
       };
     } else throw "Musl libc only supports Linux systems.";
@@ -148,7 +151,9 @@ let
     # All packages built for i686 Linux.
     # Used by wine, firefox with debugging version of Flash, ...
     pkgsi686Linux = assert stdenv.hostPlatform.isLinux; nixpkgsFun {
-      localSystem = {
+      inherit overlays config;
+      ${if stdenv.hostPlatform == stdenv.buildPlatform
+        then "localSystem" else "crossSystem"} = {
         parsed = stdenv.hostPlatform.parsed // {
           cpu = lib.systems.parse.cpuTypes.i686;
         };