summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-09-28 17:13:59 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-09-28 17:13:59 +0200
commit77604964b695c3fba644684198a4c1f3bf8f607d (patch)
tree126e7d89165d72b75ab78b0b057ec5588e2a3e0c
parent3e1afeaa5b83559698fb6fa3a45947f3e14da534 (diff)
parentbc2a06aa3d88b7d093d84663b210a75c66c93ef0 (diff)
downloadnixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar.gz
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar.bz2
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar.lz
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar.xz
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.tar.zst
nixlib-77604964b695c3fba644684198a4c1f3bf8f607d.zip
Merge branch 'master' into staging
-rw-r--r--README.md2
-rw-r--r--doc/stdenv.xml35
-rw-r--r--lib/maintainers.nix4
-rwxr-xr-xmaintainers/scripts/vanity.sh10
-rw-r--r--nixos/doc/manual/release-notes/rl-1703.xml8
-rw-r--r--nixos/modules/config/networking.nix2
-rw-r--r--nixos/modules/hardware/opengl.nix2
-rw-r--r--nixos/modules/misc/ids.nix4
-rw-r--r--nixos/modules/module-list.nix3
-rw-r--r--nixos/modules/programs/zsh/zsh.nix6
-rw-r--r--nixos/modules/services/backup/rsnapshot.nix3
-rw-r--r--nixos/modules/services/continuous-integration/gitlab-runner.nix51
-rw-r--r--nixos/modules/services/mail/offlineimap.nix (renamed from nixos/modules/services/networking/offlineimap.nix)2
-rw-r--r--nixos/modules/services/misc/gitlab.nix18
-rw-r--r--nixos/modules/services/networking/connman.nix12
-rw-r--r--nixos/modules/services/networking/nsd.nix58
-rw-r--r--nixos/modules/services/networking/radicale.nix4
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/mediawiki.nix6
-rw-r--r--nixos/modules/services/web-servers/apache-httpd/wordpress.nix11
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix19
-rw-r--r--nixos/modules/system/activation/activation-script.nix9
-rw-r--r--nixos/modules/system/boot/loader/grub/grub.nix2
-rw-r--r--nixos/tests/wordpress.nix60
-rw-r--r--pkgs/applications/audio/linuxband/default.nix6
-rw-r--r--pkgs/applications/audio/spotify/default.nix21
-rw-r--r--pkgs/applications/editors/nvpy/default.nix4
-rw-r--r--pkgs/applications/graphics/cinepaint/default.nix6
-rw-r--r--pkgs/applications/graphics/freecad/default.nix9
-rw-r--r--pkgs/applications/graphics/gimp/2.8.nix6
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix18
-rw-r--r--pkgs/applications/graphics/jbrout/default.nix6
-rw-r--r--pkgs/applications/graphics/mcomix/default.nix5
-rw-r--r--pkgs/applications/graphics/mirage/default.nix10
-rw-r--r--pkgs/applications/graphics/mypaint/default.nix8
-rw-r--r--pkgs/applications/graphics/rawtherapee/default.nix22
-rw-r--r--pkgs/applications/graphics/rawtherapee/sigc++_fix.patch52
-rw-r--r--pkgs/applications/misc/buku/default.nix12
-rw-r--r--pkgs/applications/misc/electrum-dash/default.nix4
-rw-r--r--pkgs/applications/misc/ikiwiki/default.nix6
-rw-r--r--pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix30
-rw-r--r--pkgs/applications/misc/llpp/default.nix4
-rw-r--r--pkgs/applications/misc/mlterm/default.nix72
-rw-r--r--pkgs/applications/misc/mupdf/default.nix14
-rw-r--r--pkgs/applications/misc/ranger/default.nix6
-rw-r--r--pkgs/applications/misc/terminator/default.nix19
-rw-r--r--pkgs/applications/misc/termite/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.nix18
-rw-r--r--pkgs/applications/networking/browsers/uzbl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix41
-rw-r--r--pkgs/applications/networking/corebird/default.nix4
-rw-r--r--pkgs/applications/networking/dropbox/default.nix6
-rw-r--r--pkgs/applications/networking/google-drive-ocamlfuse/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/default.nix18
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch48
-rw-r--r--pkgs/applications/networking/mumble/default.nix1
-rw-r--r--pkgs/applications/networking/newsreaders/liferea/default.nix11
-rw-r--r--pkgs/applications/office/gnumeric/default.nix7
-rw-r--r--pkgs/applications/office/keepnote/default.nix6
-rw-r--r--pkgs/applications/office/qnotero/default.nix4
-rw-r--r--pkgs/applications/office/zim/default.nix6
-rw-r--r--pkgs/applications/science/logic/coq/8.3.nix5
-rw-r--r--pkgs/applications/science/logic/redprl/default.nix3
-rw-r--r--pkgs/applications/science/math/glsurf/default.nix1
-rw-r--r--pkgs/applications/science/math/scilab/default.nix1
-rw-r--r--pkgs/applications/science/robotics/gazebo/default.nix4
-rw-r--r--pkgs/applications/version-management/bazaar/default.nix13
-rw-r--r--pkgs/applications/version-management/diffuse/default.nix6
-rw-r--r--pkgs/applications/version-management/gitinspector/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix11
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix11
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile16
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock50
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix89
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch6
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix4
-rw-r--r--pkgs/applications/version-management/subversion/default.nix16
-rw-r--r--pkgs/applications/video/key-mon/default.nix6
-rw-r--r--pkgs/applications/video/mplayer/default.nix25
-rw-r--r--pkgs/applications/video/subtitleeditor/default.nix30
-rw-r--r--pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch55
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix20
-rw-r--r--pkgs/applications/virtualization/spice-vdagent/default.nix9
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix4
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix12
-rw-r--r--pkgs/build-support/docker/default.nix21
-rw-r--r--pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix6
-rw-r--r--pkgs/desktops/gnome-2/desktop/vte/default.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/apps/file-roller/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/3.20/core/eog/src.nix4
-rw-r--r--pkgs/desktops/gnome-3/3.20/default.nix10
-rw-r--r--pkgs/desktops/mate/mate-common/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-icon-theme-faenza/default.nix6
-rw-r--r--pkgs/desktops/mate/mate-icon-theme/default.nix4
-rw-r--r--pkgs/desktops/mate/mate-themes/default.nix10
-rw-r--r--pkgs/development/arduino/ino/default.nix4
-rw-r--r--pkgs/development/compilers/compcert/default.nix7
-rw-r--r--pkgs/development/compilers/mlton/default.nix7
-rw-r--r--pkgs/development/compilers/ocaml/3.08.0.nix8
-rw-r--r--pkgs/development/compilers/ocaml/3.10.0.nix3
-rw-r--r--pkgs/development/compilers/ocaml/3.11.2.nix3
-rw-r--r--pkgs/development/compilers/ocaml/3.12.1.nix3
-rw-r--r--pkgs/development/compilers/ocaml/4.00.1.nix4
-rw-r--r--pkgs/development/compilers/ocaml/ber-metaocaml-003.nix4
-rw-r--r--pkgs/development/compilers/ocaml/generic.nix1
-rw-r--r--pkgs/development/compilers/ocaml/metaocaml-3.09.nix6
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-construct.sh273
-rw-r--r--pkgs/development/compilers/oraclejdk/jdk6-linux.nix84
-rw-r--r--pkgs/development/compilers/sbcl/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix53
-rw-r--r--pkgs/development/haskell-modules/configuration-ghcjs.nix7
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml119
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix2984
-rw-r--r--pkgs/development/idris-modules/default.nix2
-rw-r--r--pkgs/development/interpreters/chibi/default.nix14
-rw-r--r--pkgs/development/interpreters/lush/default.nix2
-rw-r--r--pkgs/development/interpreters/lush/default.upstream1
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.0.nix4
-rw-r--r--pkgs/development/libraries/adns/default.nix4
-rw-r--r--pkgs/development/libraries/apr-util/default.nix7
-rw-r--r--pkgs/development/libraries/cil-aterm/default.nix1
-rw-r--r--pkgs/development/libraries/clutter-gst/3.0.nix28
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix8
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix31
-rw-r--r--pkgs/development/libraries/clutter-gtk/1.4.nix26
-rw-r--r--pkgs/development/libraries/clutter-gtk/1.6.nix23
-rw-r--r--pkgs/development/libraries/clutter-gtk/1.8.nix25
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix13
-rw-r--r--pkgs/development/libraries/clutter/1.22.nix52
-rw-r--r--pkgs/development/libraries/clutter/1.24.nix52
-rw-r--r--pkgs/development/libraries/cogl/1.20.nix56
-rw-r--r--pkgs/development/libraries/farsight2/default.nix8
-rw-r--r--pkgs/development/libraries/farstream/default.nix12
-rw-r--r--pkgs/development/libraries/fcgi/default.nix18
-rw-r--r--pkgs/development/libraries/giflib/5.1.nix6
-rw-r--r--pkgs/development/libraries/gpgme/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix8
-rw-r--r--pkgs/development/libraries/gtdialog/default.nix8
-rw-r--r--pkgs/development/libraries/gtdialog/default.upstream2
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix7
-rw-r--r--pkgs/development/libraries/jasper/default.nix26
-rw-r--r--pkgs/development/libraries/keybinder/default.nix8
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix2
-rw-r--r--pkgs/development/libraries/lcms/cve-2013-4276.patch62
-rw-r--r--pkgs/development/libraries/lcms/default.nix2
-rw-r--r--pkgs/development/libraries/lcms2/default.nix4
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix6
-rw-r--r--pkgs/development/libraries/libdwarf/default.nix6
-rw-r--r--pkgs/development/libraries/libfpx/default.nix4
-rw-r--r--pkgs/development/libraries/libgpod/default.nix6
-rw-r--r--pkgs/development/libraries/libindicate/default.nix6
-rw-r--r--pkgs/development/libraries/libksba/default.nix4
-rw-r--r--pkgs/development/libraries/libnabo/default.nix32
-rw-r--r--pkgs/development/libraries/libpointmatcher/default.nix35
-rw-r--r--pkgs/development/libraries/libressl/2.3.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.4.nix4
-rw-r--r--pkgs/development/libraries/libressl/2.5.nix22
-rw-r--r--pkgs/development/libraries/librsvg/default.nix4
-rw-r--r--pkgs/development/libraries/libva/default.nix5
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix6
-rw-r--r--pkgs/development/libraries/libxmlxx/v3.nix26
-rw-r--r--pkgs/development/libraries/mapnik/default.nix14
-rw-r--r--pkgs/development/libraries/mdds/default.nix4
-rw-r--r--pkgs/development/libraries/openjpeg/1.x.nix5
-rw-r--r--pkgs/development/libraries/openjpeg/2.0.nix5
-rw-r--r--pkgs/development/libraries/openjpeg/2.1.nix5
-rw-r--r--pkgs/development/libraries/openjpeg/generic.nix10
-rw-r--r--pkgs/development/libraries/openssl/default.nix8
-rw-r--r--pkgs/development/libraries/osip/default.nix4
-rw-r--r--pkgs/development/libraries/pupnp/default.nix4
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix24
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix4
-rw-r--r--pkgs/development/libraries/spice/default.nix4
-rw-r--r--pkgs/development/libraries/usbredir/default.nix4
-rw-r--r--pkgs/development/libraries/wayland/1.9.nix33
-rw-r--r--pkgs/development/libraries/webkitgtk/2.12.nix4
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix9
-rwxr-xr-xpkgs/development/lisp-modules/clwrapper/build-with-lisp.sh2
-rw-r--r--pkgs/development/lisp-modules/lisp-packages.nix6
-rw-r--r--pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix4
-rw-r--r--pkgs/development/ocaml-modules/janestreet/js-build-tools.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlnat/default.nix12
-rw-r--r--pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch291
-rw-r--r--pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch25
-rw-r--r--pkgs/development/python-modules/breathe/default.nix4
-rw-r--r--pkgs/development/python-modules/libsexy/default.nix12
-rw-r--r--pkgs/development/python-modules/stringtemplate/default.nix13
-rw-r--r--pkgs/development/tools/analysis/verasco/default.nix7
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix66
-rw-r--r--pkgs/development/tools/go2nix/default.nix11
-rw-r--r--pkgs/development/tools/grabserial/default.nix4
-rw-r--r--pkgs/development/tools/haskell/tinc/default.nix6
-rw-r--r--pkgs/development/tools/jq/default.nix51
-rw-r--r--pkgs/development/tools/jq/default.upstream1
-rw-r--r--pkgs/development/tools/misc/autoconf-archive/default.nix4
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix15
-rw-r--r--pkgs/development/tools/misc/kibana/default.nix19
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix12
-rw-r--r--pkgs/development/tools/misc/trv/default.nix11
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix13
-rw-r--r--pkgs/development/tools/ocaml/oasis/0.4.6.nix34
-rw-r--r--pkgs/development/tools/ocaml/oasis/default.nix11
-rw-r--r--pkgs/development/tools/ocaml/ocaml-top/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/ocamlmod/default.nix9
-rw-r--r--pkgs/development/tools/ocaml/omake/default.nix1
-rw-r--r--pkgs/development/tools/ocaml/opam/1.0.0.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/1.1.nix4
-rw-r--r--pkgs/development/tools/ocaml/opam/default.nix4
-rw-r--r--pkgs/development/tools/pypi2nix/default.nix25
-rw-r--r--pkgs/development/tools/pypi2nix/deps.nix112
-rw-r--r--pkgs/development/tools/slimerjs/default.nix10
-rw-r--r--pkgs/development/tools/winpdb/default.nix6
-rw-r--r--pkgs/games/steam/runtime-wrapped.nix1
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dw/default.nix61
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix56
-rw-r--r--pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix45
-rw-r--r--pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch2
-rw-r--r--pkgs/misc/drivers/epson-escpr/default.nix6
-rw-r--r--pkgs/misc/emulators/cdemu/gui.nix14
-rw-r--r--pkgs/misc/solfege/default.nix6
-rw-r--r--pkgs/os-specific/linux/busybox/busybox-in-store.patch9
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix4
-rw-r--r--pkgs/os-specific/linux/iotop/default.nix7
-rw-r--r--pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch2
-rw-r--r--pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch4
-rw-r--r--pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch12
-rw-r--r--pkgs/os-specific/linux/iproute/default.nix6
-rw-r--r--pkgs/os-specific/linux/jool/source.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix8
-rw-r--r--pkgs/os-specific/linux/kernel/gcc5-link-apm.patch29
-rw-r--r--pkgs/os-specific/linux/kernel/gcc5-link-lguest.patch46
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.12.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-3.18.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.1.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.6.nix19
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.7.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-grsecurity.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix16
-rw-r--r--pkgs/os-specific/linux/spl/default.nix12
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix6
-rw-r--r--[-rwxr-xr-x]pkgs/servers/apache-kafka/default.nix0
-rw-r--r--pkgs/servers/dns/bind/default.nix13
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/firebird/default.nix4
-rw-r--r--pkgs/servers/ldap/389/default.nix4
-rw-r--r--pkgs/servers/mail/mailman/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/default.nix13
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix8
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix5
-rw-r--r--pkgs/servers/monitoring/telegraf/deps-1.0.1.nix (renamed from pkgs/servers/monitoring/telegraf/deps-1.0.0.nix)419
-rw-r--r--pkgs/servers/owncloud/default.nix25
-rw-r--r--pkgs/servers/radicale/default.nix34
-rw-r--r--pkgs/servers/sabnzbd/builder.sh13
-rw-r--r--pkgs/servers/sabnzbd/default.nix27
-rw-r--r--pkgs/servers/x11/xorg/overrides.nix5
-rw-r--r--pkgs/shells/oh-my-zsh/default.nix6
-rw-r--r--pkgs/tools/X11/winswitch/default.nix4
-rw-r--r--pkgs/tools/admin/cli53/default.nix4
-rw-r--r--pkgs/tools/admin/gtk-vnc/default.nix10
-rw-r--r--pkgs/tools/admin/salt/testing.nix20
-rw-r--r--pkgs/tools/archivers/zpaq/default.nix5
-rw-r--r--pkgs/tools/archivers/zpaq/default.upstream6
-rw-r--r--pkgs/tools/archivers/zpaq/zpaqd.nix7
-rw-r--r--pkgs/tools/audio/beets/alternatives-plugin.nix4
-rw-r--r--pkgs/tools/audio/beets/copyartifacts-plugin.nix4
-rw-r--r--pkgs/tools/audio/beets/default.nix13
-rw-r--r--pkgs/tools/filesystems/davfs2/default.nix4
-rw-r--r--pkgs/tools/filesystems/fuseiso/default.nix24
-rw-r--r--pkgs/tools/filesystems/gitfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix8
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix4
-rw-r--r--pkgs/tools/graphics/zbar/default.nix6
-rw-r--r--pkgs/tools/misc/apt-offline/default.nix6
-rw-r--r--pkgs/tools/misc/i3minator/default.nix4
-rw-r--r--pkgs/tools/misc/ipxe/default.nix28
-rw-r--r--pkgs/tools/misc/svtplay-dl/default.nix4
-rw-r--r--pkgs/tools/misc/togglesg-download/default.nix4
-rw-r--r--pkgs/tools/misc/xflux/gui.nix14
-rw-r--r--pkgs/tools/misc/xsel/default.nix32
-rw-r--r--pkgs/tools/networking/dhcp/default.nix22
-rw-r--r--pkgs/tools/networking/getmail/default.nix8
-rw-r--r--pkgs/tools/networking/gmvault/default.nix4
-rw-r--r--pkgs/tools/networking/stunnel/default.nix4
-rw-r--r--pkgs/tools/package-management/rpm/default.nix6
-rw-r--r--pkgs/tools/security/knockknock/default.nix2
-rw-r--r--pkgs/tools/system/collectd/default.nix5
-rw-r--r--pkgs/tools/system/collectd/readdir-fix.patch55
-rw-r--r--pkgs/tools/system/honcho/default.nix4
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/monit/default.nix6
-rw-r--r--pkgs/tools/text/ripgrep/default.nix25
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix6
-rw-r--r--pkgs/tools/typesetting/odpdown/default.nix8
-rw-r--r--pkgs/top-level/aliases.nix18
-rw-r--r--pkgs/top-level/all-packages.nix944
-rw-r--r--pkgs/top-level/emacs-packages.nix1356
-rw-r--r--pkgs/top-level/lua-packages.nix25
-rw-r--r--pkgs/top-level/ocaml-packages.nix717
-rw-r--r--pkgs/top-level/perl-packages.nix87
-rw-r--r--pkgs/top-level/python-packages.nix110
-rw-r--r--pkgs/top-level/rust-packages.nix6
306 files changed, 5055 insertions, 6171 deletions
diff --git a/README.md b/README.md
index 88610f17388f..307afd927bd0 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,6 @@
 
 [![Build Status](https://travis-ci.org/NixOS/nixpkgs.svg?branch=master)](https://travis-ci.org/NixOS/nixpkgs)
 [![Code Triagers Badge](https://www.codetriage.com/nixos/nixpkgs/badges/users.svg)](https://www.codetriage.com/nixos/nixpkgs)
-[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/pr?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs)
-[![Issue Stats](http://www.issuestats.com/github/nixos/nixpkgs/badge/issue?style=flat)](http://www.issuestats.com/github/nixos/nixpkgs)
 
 Nixpkgs is a collection of packages for the [Nix](https://nixos.org/nix/) package
 manager. It is periodically built and tested by the [hydra](http://hydra.nixos.org/)
diff --git a/doc/stdenv.xml b/doc/stdenv.xml
index c17d7c51ae21..3da3dd8df96e 100644
--- a/doc/stdenv.xml
+++ b/doc/stdenv.xml
@@ -988,6 +988,41 @@ set debug-file-directory ~/.nix-profile/lib/debug
 
 </section>
 
+<section xml:id="ssec-installCheck-phase"><title>The installCheck phase</title>
+
+<para>The installCheck phase checks whether the package was installed
+correctly by running its test suite against the installed directories.
+The default <function>installCheck</function> calls <command>make
+installcheck</command>.</para>
+
+<variablelist>
+  <title>Variables controlling the installCheck phase</title>
+
+  <varlistentry>
+    <term><varname>doInstallCheck</varname></term>
+    <listitem><para>If set to a non-empty string, the installCheck phase is
+    executed, otherwise it is skipped (default).  Thus you should set
+
+    <programlisting>doInstallCheck = true;</programlisting>
+
+    in the derivation to enable install checks.</para></listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><varname>preInstallCheck</varname></term>
+    <listitem><para>Hook executed at the start of the installCheck
+    phase.</para></listitem>
+  </varlistentry>
+
+  <varlistentry>
+    <term><varname>postInstallCheck</varname></term>
+    <listitem><para>Hook executed at the end of the installCheck
+    phase.</para></listitem>
+  </varlistentry>
+
+</variablelist>
+
+</section>
 
 <section xml:id="ssec-distribution-phase"><title>The distribution
 phase</title>
diff --git a/lib/maintainers.nix b/lib/maintainers.nix
index 0a08b2885624..a5f20991425d 100644
--- a/lib/maintainers.nix
+++ b/lib/maintainers.nix
@@ -49,6 +49,7 @@
   auntie = "Jonathan Glines <auntieNeo@gmail.com>";
   avnik = "Alexander V. Nikolaev <avn@avnik.info>";
   aycanirican = "Aycan iRiCAN <iricanaycan@gmail.com>";
+  bachp = "Pascal Bach <pascal.bach@nextrem.ch>";
   badi = "Badi' Abdul-Wahid <abdulwahidc@gmail.com>";
   balajisivaraman = "Balaji Sivaraman<sivaraman.balaji@gmail.com>";
   Baughn = "Svein Ove Aas <sveina@gmail.com>";
@@ -96,6 +97,7 @@
   coroa = "Jonas Hörsch <jonas@chaoflow.net>";
   couchemar = "Andrey Pavlov <couchemar@yandex.ru>";
   cransom = "Casey Ransom <cransom@hubns.net>";
+  cryptix = "Henry Bubert <cryptix@riseup.net>";
   CrystalGamma = "Jona Stubbe <nixos@crystalgamma.de>";
   cstrahan = "Charles Strahan <charles@cstrahan.com>";
   cwoac = "Oliver Matthews <oliver@codersoffortune.net>";
@@ -227,6 +229,7 @@
   linquize = "Linquize <linquize@yahoo.com.hk>";
   linus = "Linus Arver <linusarver@gmail.com>";
   lnl7 = "Daiderd Jordan <daiderd@gmail.com>";
+  loskutov = "Ignat Loskutov <ignat.loskutov@gmail.com>";
   lovek323 = "Jason O'Conal <jason@oconal.id.au>";
   lowfatcomputing = "Andreas Wagner <andreas.wagner@lowfatcomputing.org>";
   lsix = "Lancelot SIX <lsix@lancelotsix.com>";
@@ -456,4 +459,5 @@
   zohl = "Al Zohali <zohl@fmap.me>";
   zoomulator = "Kim Simmons <zoomulator@gmail.com>";
   amiloradovsky = "Andrew Miloradovsky <miloradovsky@gmail.com>";
+  yochai = "Yochai <yochai@titat.info>";
 }
diff --git a/maintainers/scripts/vanity.sh b/maintainers/scripts/vanity.sh
index 1f6fdaff6dd9..27e7741799f0 100755
--- a/maintainers/scripts/vanity.sh
+++ b/maintainers/scripts/vanity.sh
@@ -101,15 +101,15 @@ cleaner_script="$(echo "$name_list_canonical" | denormalize_name |
 
 # Add github usernames
 if [ -n "$NIXPKGS_GITHUB_NAME_CACHE" ]; then
-    github_adder_script="$(echo "$github_name_list" |
+    github_adder_script="$(mktemp)"
+    echo "$github_name_list" |
         grep -E "$(echo "$name_list_canonical" | cut -f 2 |
 	    tr '\n' '|' )" |
 	sort | uniq |
         sed -re 's/(.*)\t(.*)/s| \1$| \1\t\2|g;/' |
-	denormalize_name
-	)"
+	denormalize_name > "$github_adder_script"
 else
-    github_adder_script=''
+    github_adder_script='/dev/null'
 fi
 
 echo "$name_list" | denormalize_name
@@ -118,5 +118,5 @@ echo
 
 echo "$git_data" | cut -f 1 |
     sed -e "$cleaner_script" |
-    sort | uniq -c | sort -k1n | sed -re "$github_adder_script" |
+    sort | uniq -c | sort -k1n | sed -rf "$github_adder_script" |
     sed -re 's/^ *([0-9]+) /\1\t/'
diff --git a/nixos/doc/manual/release-notes/rl-1703.xml b/nixos/doc/manual/release-notes/rl-1703.xml
index 2eda8a56b202..9bc42edb49bc 100644
--- a/nixos/doc/manual/release-notes/rl-1703.xml
+++ b/nixos/doc/manual/release-notes/rl-1703.xml
@@ -35,6 +35,14 @@ following incompatible changes:</para>
       Now you need to use versioned attributes, like <literal>gnome3</literal>.
     </para>
   </listitem>
+
+  <listitem>
+    <para>
+      The attribute name of the Radicale daemon has been changed from
+      <literal>pythonPackages.radicale</literal> to
+      <literal>radicale</literal>.
+    </para>
+  </listitem>
 </itemizedlist>
 
 
diff --git a/nixos/modules/config/networking.nix b/nixos/modules/config/networking.nix
index aab5523c6848..952f62569c93 100644
--- a/nixos/modules/config/networking.nix
+++ b/nixos/modules/config/networking.nix
@@ -232,7 +232,7 @@ in
     # and other configurations. If the file is destroyed by an environment
     # activation then it must be rebuilt so that applications which interface
     # with /etc/resolv.conf directly don't break.
-    system.activationScripts.resolvconf = stringAfter [ "etc" "tmpfs" "var" ]
+    system.activationScripts.resolvconf = stringAfter [ "etc" "specialfs" "var" ]
       ''
         # Systemd resolved controls its own resolv.conf
         rm -f /run/resolvconf/interfaces/systemd
diff --git a/nixos/modules/hardware/opengl.nix b/nixos/modules/hardware/opengl.nix
index 0bc574d48190..bef500e30c0b 100644
--- a/nixos/modules/hardware/opengl.nix
+++ b/nixos/modules/hardware/opengl.nix
@@ -14,7 +14,7 @@ let
     name = "mesa-drivers+txc-${p.mesa_drivers.version}";
     paths =
       [ p.mesa_drivers
-        p.mesa_noglu # mainly for libGL
+        p.mesa_drivers.out # mainly for libGL
         (if cfg.s3tcSupport then p.libtxc_dxtn else p.libtxc_dxtn_s2tc)
       ];
   };
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 13a7323e858e..e005c0465042 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -119,7 +119,6 @@
       minidlna = 91;
       elasticsearch = 92;
       tcpcryptd = 93; # tcpcryptd uses a hard-coded uid. We patch it in Nixpkgs to match this choice.
-      #connman = 94; # unused
       firebird = 95;
       #keys = 96; # unused
       haproxy = 97;
@@ -275,6 +274,7 @@
       mattermost = 254;
       prometheus = 255;
       telegraf = 256;
+      gitlab-runner = 257;
 
       # When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
 
@@ -376,7 +376,6 @@
       minidlna = 91;
       elasticsearch = 92;
       #tcpcryptd = 93; # unused
-      connman = 94;
       firebird = 95;
       keys = 96;
       haproxy = 97;
@@ -520,6 +519,7 @@
       mattermost = 254;
       prometheus = 255;
       #telegraf = 256; # unused
+      gitlab-runner = 257;
 
       # When adding a gid, make sure it doesn't match an existing
       # uid. Users and groups with the same name should have equal
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 2c422085a74f..ad3edd6fbd5b 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -133,6 +133,7 @@
   ./services/computing/slurm/slurm.nix
   ./services/continuous-integration/buildkite-agent.nix
   ./services/continuous-integration/hydra/default.nix
+  ./services/continuous-integration/gitlab-runner.nix
   ./services/continuous-integration/gocd-agent/default.nix
   ./services/continuous-integration/gocd-server/default.nix
   ./services/continuous-integration/jenkins/default.nix
@@ -210,6 +211,7 @@
   ./services/mail/freepops.nix
   ./services/mail/mail.nix
   ./services/mail/mlmmj.nix
+  ./services/mail/offlineimap.nix
   ./services/mail/opendkim.nix
   ./services/mail/opensmtpd.nix
   ./services/mail/postfix.nix
@@ -382,7 +384,6 @@
   ./services/networking/ntopng.nix
   ./services/networking/ntpd.nix
   ./services/networking/nylon.nix
-  ./services/networking/offlineimap.nix
   ./services/networking/oidentd.nix
   ./services/networking/openfire.nix
   ./services/networking/openntpd.nix
diff --git a/nixos/modules/programs/zsh/zsh.nix b/nixos/modules/programs/zsh/zsh.nix
index 91cd84416921..d81f63c2acca 100644
--- a/nixos/modules/programs/zsh/zsh.nix
+++ b/nixos/modules/programs/zsh/zsh.nix
@@ -102,9 +102,9 @@ in
 
       interactiveShellInit = ''
         # history defaults
-        export SAVEHIST=2000
-        export HISTSIZE=2000
-        export HISTFILE=$HOME/.zsh_history
+        SAVEHIST=2000
+        HISTSIZE=2000
+        HISTFILE=$HOME/.zsh_history
 
         setopt HIST_IGNORE_DUPS SHARE_HISTORY HIST_FCNTL_LOCK
 
diff --git a/nixos/modules/services/backup/rsnapshot.nix b/nixos/modules/services/backup/rsnapshot.nix
index ce628a720363..16815bcc8605 100644
--- a/nixos/modules/services/backup/rsnapshot.nix
+++ b/nixos/modules/services/backup/rsnapshot.nix
@@ -7,11 +7,14 @@ let
   cfgfile = pkgs.writeText "rsnapshot.conf" ''
     config_version	1.2
     cmd_cp	${pkgs.coreutils}/bin/cp
+    cmd_rm	${pkgs.coreutils}/bin/rm
     cmd_rsync	${pkgs.rsync}/bin/rsync
     cmd_ssh	${pkgs.openssh}/bin/ssh
     cmd_logger	${pkgs.inetutils}/bin/logger
     cmd_du	${pkgs.coreutils}/bin/du
+    cmd_rsnapshot_diff	${pkgs.rsnapshot}/bin/rsnapshot-diff
     lockfile	/run/rsnapshot.pid
+    link_dest	1
 
     ${cfg.extraConfig}
   '';
diff --git a/nixos/modules/services/continuous-integration/gitlab-runner.nix b/nixos/modules/services/continuous-integration/gitlab-runner.nix
new file mode 100644
index 000000000000..1fe4d28f9f35
--- /dev/null
+++ b/nixos/modules/services/continuous-integration/gitlab-runner.nix
@@ -0,0 +1,51 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.gitlab-runner;
+  configFile = pkgs.writeText "config.toml" cfg.configText;
+in
+{
+  options.services.gitlab-runner = {
+    enable = mkEnableOption "Gitlab Runner";
+
+    configText = mkOption {
+      description = "Verbatim config.toml to use";
+    };
+
+    workDir = mkOption {
+      default = "/var/lib/gitlab-runner";
+      type = types.path;
+      description = "The working directory used";
+    };
+
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.gitlab-runner = {
+      description = "Gitlab Runner";
+      after = [ "network.target" "docker.service" ];
+      requires = [ "docker.service" ];
+      wantedBy = [ "multi-user.target" ];
+      serviceConfig = {
+        ExecStart = ''${pkgs.gitlab-runner.bin}/bin/gitlab-runner run \
+          --working-directory ${cfg.workDir} \
+          --config ${configFile} \
+          --service gitlab-runner \
+          --user gitlab-runner \
+        '';
+      };
+    };
+
+    users.extraUsers.gitlab-runner = {
+      group = "gitlab-runner";
+      extraGroups = [ "docker" ];
+      uid = config.ids.uids.gitlab-runner;
+      home = cfg.workDir;
+      createHome = true;
+    };
+
+    users.extraGroups.gitlab-runner.gid = config.ids.gids.gitlab-runner;
+  };
+}
diff --git a/nixos/modules/services/networking/offlineimap.nix b/nixos/modules/services/mail/offlineimap.nix
index daf6196d3706..85ece020905b 100644
--- a/nixos/modules/services/networking/offlineimap.nix
+++ b/nixos/modules/services/mail/offlineimap.nix
@@ -59,7 +59,7 @@ in {
       };
       path = cfg.path;
     };
-    environment.systemPackages = [ "${cfg.package}" ];
+    environment.systemPackages = [ cfg.package ];
     systemd.user.timers.offlineimap = {
       description = "offlineimap timer";
       timerConfig               = {
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index de90d461f527..f8881233dceb 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -449,13 +449,15 @@ in {
         Group = cfg.group;
         TimeoutSec = "300";
         Restart = "on-failure";
+        WorkingDirectory = gitlabEnv.HOME;
         ExecStart =
           "${cfg.packages.gitlab-workhorse}/bin/gitlab-workhorse "
           + "-listenUmask 0 "
           + "-listenNetwork unix "
           + "-listenAddr /run/gitlab/gitlab-workhorse.socket "
           + "-authSocket ${gitlabSocket} "
-          + "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public";
+          + "-documentRoot ${cfg.packages.gitlab}/share/gitlab/public "
+          + "-secretPath ${cfg.packages.gitlab}/share/gitlab/.gitlab_workhorse_secret";
       };
     };
 
@@ -525,11 +527,6 @@ in {
             psql postgres -c "CREATE ROLE gitlab WITH LOGIN NOCREATEDB NOCREATEROLE NOCREATEUSER ENCRYPTED PASSWORD '${cfg.databasePassword}'"
             ${config.services.postgresql.package}/bin/createdb --owner gitlab gitlab || true
             touch "${cfg.statePath}/db-created"
-
-            # The gitlab:setup task is horribly broken somehow, these two tasks will do the same for setting up the initial database
-            ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
-            ${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
-              GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}";
           fi
         fi
 
@@ -538,6 +535,15 @@ in {
         # Always do the db migrations just to be sure the database is up-to-date
         ${gitlab-rake}/bin/gitlab-rake db:migrate RAILS_ENV=production
 
+        # The gitlab:setup task is horribly broken somehow, the db:migrate
+        # task above and the db:seed_fu below will do the same for setting
+        # up the initial database
+        if ! test -e "${cfg.statePath}/db-seeded"; then
+          ${gitlab-rake}/bin/gitlab-rake db:seed_fu RAILS_ENV=production \
+            GITLAB_ROOT_PASSWORD="${cfg.initialRootPassword}" GITLAB_ROOT_EMAIL="${cfg.initialRootEmail}"
+          touch "${cfg.statePath}/db-seeded"
+        fi
+
         # Change permissions in the last step because some of the
         # intermediary scripts like to create directories as root.
         chown -R ${cfg.user}:${cfg.group} ${cfg.statePath}
diff --git a/nixos/modules/services/networking/connman.nix b/nixos/modules/services/networking/connman.nix
index 3fecfbb13a04..d0683b877801 100644
--- a/nixos/modules/services/networking/connman.nix
+++ b/nixos/modules/services/networking/connman.nix
@@ -27,6 +27,14 @@ in {
         '';
       };
 
+      enableVPN = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether to enable ConnMan VPN service.
+        '';
+      };
+
       extraConfig = mkOption {
         type = types.lines;
         default = ''
@@ -78,7 +86,7 @@ in {
       };
     };
 
-    systemd.services."connman-vpn" = {
+    systemd.services."connman-vpn" = mkIf cfg.enableVPN {
       description = "ConnMan VPN service";
       wantedBy = [ "multi-user.target" ];
       after = [ "syslog.target" ];
@@ -91,7 +99,7 @@ in {
       };
     };
 
-    systemd.services."net-connman-vpn" = {
+    systemd.services."net-connman-vpn" = mkIf cfg.enableVPN {
       description = "D-BUS Service";
       serviceConfig = {
         Name = "net.connman.vpn";
diff --git a/nixos/modules/services/networking/nsd.nix b/nixos/modules/services/networking/nsd.nix
index 333a3378c4cc..6af1dd736431 100644
--- a/nixos/modules/services/networking/nsd.nix
+++ b/nixos/modules/services/networking/nsd.nix
@@ -71,6 +71,7 @@ let
       # interfaces
     ${forEach "  ip-address: " cfg.interfaces}
 
+      ip-freebind:         ${yesOrNo  cfg.ipFreebind}
       hide-version:        ${yesOrNo  cfg.hideVersion}
       identity:            "${cfg.identity}"
       ip-transparent:      ${yesOrNo  cfg.ipTransparent}
@@ -84,7 +85,7 @@ let
       reuseport:           ${yesOrNo  cfg.reuseport}
       round-robin:         ${yesOrNo  cfg.roundRobin}
       server-count:        ${toString cfg.serverCount}
-      ${if cfg.statistics == null then "" else "statistics:          ${toString cfg.statistics}"}
+      ${maybeToString "statistics: " cfg.statistics}
       tcp-count:           ${toString cfg.tcpCount}
       tcp-query-count:     ${toString cfg.tcpQueryCount}
       tcp-timeout:         ${toString cfg.tcpTimeout}
@@ -117,7 +118,8 @@ let
   '';
 
   yesOrNo = b: if b then "yes" else "no";
-  maybeString = pre: s: if s == null then "" else ''${pre} "${s}"'';
+  maybeString = prefix: x: if x == null then "" else ''${prefix} "${s}"'';
+  maybeToString = prefix: x: if x == null then "" else ''${prefix} ${toString s}'';
   forEach = pre: l: concatMapStrings (x: pre + x + "\n") l;
 
 
@@ -146,6 +148,11 @@ let
     ${forEach     "  rrl-whitelist: "      zone.rrlWhitelist}
       ${maybeString "zonestats: "          zone.zoneStats}
 
+      ${maybeToString "max-refresh-time: " zone.maxRefreshSecs}
+      ${maybeToString "min-refresh-time: " zone.minRefreshSecs}
+      ${maybeToString "max-retry-time:   " zone.maxRetrySecs}
+      ${maybeToString "min-retry-time:   " zone.minRetrySecs}
+
       allow-axfr-fallback: ${yesOrNo       zone.allowAXFRFallback}
     ${forEach     "  allow-notify: "       zone.allowNotify}
     ${forEach     "  request-xfr: "        zone.requestXFR}
@@ -241,6 +248,44 @@ let
         '';
       };
 
+      maxRefreshSecs = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Limit refresh time for secondary zones. This is the timer which
+          checks to see if the zone has to be refetched when it expires.
+          Normally the value from the SOA record is used, but this  option
+          restricts that value.
+        '';
+      };
+
+      minRefreshSecs = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Limit refresh time for secondary zones.
+        '';
+      };
+
+      maxRetrySecs = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Limit retry time for secondary zones. This is the timeout after
+          a failed fetch attempt for the zone. Normally the value from
+          the SOA record is used, but this option restricts that value.
+        '';
+      };
+
+      minRetrySecs = mkOption {
+        type = types.nullOr types.int;
+        default = null;
+        description = ''
+          Limit retry time for secondary zones.
+        '';
+      };
+
+
       notify = mkOption {
         type = types.listOf types.str;
         default = [];
@@ -366,6 +411,15 @@ in
       '';
     };
 
+    ipFreebind = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to bind to nonlocal addresses and interfaces that are down.
+        Similar to ip-transparent.
+      '';
+    };
+
     ipTransparent = mkOption {
       type = types.bool;
       default = false;
diff --git a/nixos/modules/services/networking/radicale.nix b/nixos/modules/services/networking/radicale.nix
index d5e2e3041b49..e52c90227d3d 100644
--- a/nixos/modules/services/networking/radicale.nix
+++ b/nixos/modules/services/networking/radicale.nix
@@ -33,7 +33,7 @@ in
   };
 
   config = mkIf cfg.enable {
-    environment.systemPackages = [ pkgs.pythonPackages.radicale ];
+    environment.systemPackages = [ pkgs.radicale ];
 
     users.extraUsers = singleton
       { name = "radicale";
@@ -52,7 +52,7 @@ in
       description = "A Simple Calendar and Contact Server";
       after = [ "network-interfaces.target" ];
       wantedBy = [ "multi-user.target" ];
-      script = "${pkgs.pythonPackages.radicale}/bin/radicale -C ${confFile} -f";
+      script = "${pkgs.radicale}/bin/radicale -C ${confFile} -f";
       serviceConfig.User = "radicale";
       serviceConfig.Group = "radicale";
     };
diff --git a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
index b4b5a6fdc07e..4f9e9f52f9e0 100644
--- a/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/mediawiki.nix
@@ -83,11 +83,11 @@ let
 
   # Unpack Mediawiki and put the config file in its root directory.
   mediawikiRoot = pkgs.stdenv.mkDerivation rec {
-    name= "mediawiki-1.23.13";
+    name= "mediawiki-1.27.1";
 
     src = pkgs.fetchurl {
-      url = "http://download.wikimedia.org/mediawiki/1.23/${name}.tar.gz";
-      sha256 = "168wpf53n4ksj2g5q5r0hxapx6238dvsfng5ff9ixk6axsn0j5d0";
+      url = "http://download.wikimedia.org/mediawiki/1.27/${name}.tar.gz";
+      sha256 = "0sm3ymz93qragbwhzzbwq7f127mbj29inv0afg2z6p32jb1pd9h8";
     };
 
     skins = config.skins;
diff --git a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
index 937b2698ce9b..007c7669d8ac 100644
--- a/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
+++ b/nixos/modules/services/web-servers/apache-httpd/wordpress.nix
@@ -5,7 +5,8 @@ with lib;
 
 let
 
-  version = "4.3.1";
+  # Upgrading? We have a test! nix-build ./nixos/tests/wordpress.nix
+  version = "4.6.1";
   fullversion = "${version}";
 
   # Our bare-bones wp-config.php file using the above settings
@@ -74,7 +75,7 @@ let
       owner = "WordPress";
       repo = "WordPress";
       rev = "${fullversion}";
-      sha256 = "1rk10vcv4z9p04hfzc0wkbilrgx7m9ssyr6c3w6vw3vl1bcgqxza";
+      sha256 = "0n82xgjg1ry2p73hhgpslnkdzrma5n6hxxq76s7qskkzj0qjfvpn";
     };
     installPhase = ''
       mkdir -p $out
@@ -98,7 +99,7 @@ let
       # symlink additional plugin(s)
       ${concatMapStrings (plugin: "ln -s ${plugin} $out/wp-content/plugins/${plugin.name}\n") (config.plugins) }
 
-      # symlink additional translation(s) 
+      # symlink additional translation(s)
       mkdir -p $out/wp-content/languages
       ${concatMapStrings (language: "ln -s ${language}/*.mo ${language}/*.po $out/wp-content/languages/\n") (selectedLanguages) }
     '';
@@ -123,7 +124,7 @@ in
   options = {
     dbHost = mkOption {
       default = "localhost";
-      description = "The location of the database server.";  
+      description = "The location of the database server.";
       example = "localhost";
     };
     dbName = mkOption {
@@ -253,7 +254,7 @@ in
       done
       ${pkgs.mysql}/bin/mysql -e 'CREATE DATABASE ${config.dbName};'
       ${pkgs.mysql}/bin/mysql -e 'GRANT ALL ON ${config.dbName}.* TO ${config.dbUser}@localhost IDENTIFIED BY "${config.dbPassword}";'
-    else 
+    else
       echo "Good, no need to do anything database related."
     fi
   '';
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 94c442e165b7..443bd8c10000 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -18,9 +18,13 @@ let
 
     ${cfg.config}
 
-    ${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
-    events {}
+    ${optionalString (cfg.eventsConfig != "" || cfg.config == "") ''
+    events {
+      ${cfg.eventsConfig}
+    }
+    ''}
 
+    ${optionalString (cfg.httpConfig == "" && cfg.config == "") ''
     http {
       include ${cfg.package}/conf/mime.types;
       include ${cfg.package}/conf/fastcgi.conf;
@@ -98,7 +102,6 @@ let
     }''}
 
     ${optionalString (cfg.httpConfig != "") ''
-    events {}
     http {
       include ${cfg.package}/conf/mime.types;
       include ${cfg.package}/conf/fastcgi.conf;
@@ -272,12 +275,20 @@ in
         ";
       };
 
+      eventsConfig = mkOption {
+        type = types.lines;
+        default = "";
+        description = ''
+          Configuration lines to be set inside the events block.
+        '';
+      };
+
       appendHttpConfig = mkOption {
         type = types.lines;
         default = "";
         description = "
           Configuration lines to be appended to the generated http block.
-          This is mutually exclusive with using config and httpConfig for 
+          This is mutually exclusive with using config and httpConfig for
           specifying the whole http block verbatim.
         ";
       };
diff --git a/nixos/modules/system/activation/activation-script.nix b/nixos/modules/system/activation/activation-script.nix
index 4c3d30e346c5..4a16a6762935 100644
--- a/nixos/modules/system/activation/activation-script.nix
+++ b/nixos/modules/system/activation/activation-script.nix
@@ -159,7 +159,7 @@ in
         rmdir --ignore-fail-on-non-empty /usr/bin /usr
       '';
 
-    system.activationScripts.tmpfs =
+    system.activationScripts.specialfs =
       ''
         specialMount() {
           local device="$1"
@@ -167,7 +167,12 @@ in
           local options="$3"
           local fsType="$4"
 
-          ${pkgs.utillinux}/bin/mount -t "$fsType" -o "remount,$options" "$device" "$mountPoint"
+          if ${pkgs.utillinux}/bin/mountpoint -q "$mountPoint"; then
+            local options="remount,$options"
+          else
+            mkdir -m 0755 -p "$mountPoint"
+          fi
+          ${pkgs.utillinux}/bin/mount -t "$fsType" -o "$options" "$device" "$mountPoint"
         }
         source ${config.system.build.earlyMountScript}
       '';
diff --git a/nixos/modules/system/boot/loader/grub/grub.nix b/nixos/modules/system/boot/loader/grub/grub.nix
index e84cdb3212ce..cae045f78c37 100644
--- a/nixos/modules/system/boot/loader/grub/grub.nix
+++ b/nixos/modules/system/boot/loader/grub/grub.nix
@@ -503,7 +503,7 @@ in
             + "'boot.loader.grub.mirroredBoots' to make the system bootable.";
         }
         {
-          assertion = all (c: c < 2) (mapAttrsToList (_: c: c) bootDeviceCounters);
+          assertion = cfg.efiSupport || all (c: c < 2) (mapAttrsToList (_: c: c) bootDeviceCounters);
           message = "You cannot have duplicated devices in mirroredBoots";
         }
         {
diff --git a/nixos/tests/wordpress.nix b/nixos/tests/wordpress.nix
new file mode 100644
index 000000000000..afee1f7f6dd4
--- /dev/null
+++ b/nixos/tests/wordpress.nix
@@ -0,0 +1,60 @@
+import ./make-test.nix ({ pkgs, ... }:
+
+{
+  name = "wordpress";
+  meta = with pkgs.stdenv.lib.maintainers; {
+    maintainers = [ grahamc ]; # under duress!
+  };
+
+  nodes =
+    { web =
+        { config, pkgs, ... }:
+        {
+          services.mysql.enable = true;
+          services.mysql.package = pkgs.mysql;
+          services.mysql.initialScript = pkgs.writeText "start.sql" ''
+            CREATE DATABASE wordpress;
+	    CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
+            GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
+          '';
+
+          services.httpd = {
+            enable = true;
+            logPerVirtualHost = true;
+            adminAddr="js@lastlog.de";
+            extraModules = [
+              { name = "php7"; path = "${pkgs.php}/modules/libphp7.so"; }
+            ];
+
+            virtualHosts = [
+              {
+                hostName = "wordpress";
+                extraSubservices =
+                  [
+                    {
+                      serviceType = "wordpress";
+                      dbPassword = "wordpress";
+                      wordpressUploads = "/data/uploads";
+                      languages = [ "de_DE" "en_GB" ];
+                    }
+                  ];
+              }
+            ];
+          };
+        };
+    };
+
+  testScript =
+    { nodes, ... }:
+    ''
+      startAll;
+
+      $web->waitForUnit("mysql");
+      $web->waitForUnit("httpd");
+
+      $web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'");
+
+
+    '';
+
+})
diff --git a/pkgs/applications/audio/linuxband/default.nix b/pkgs/applications/audio/linuxband/default.nix
index a3aa133960f8..5c127a289c07 100644
--- a/pkgs/applications/audio/linuxband/default.nix
+++ b/pkgs/applications/audio/linuxband/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchurl, makeWrapper, pkgconfig, MMA, libjack2, libsmf, python, pyGtkGlade, pygtksourceview }:
+{ stdenv, fetchurl, makeWrapper, pkgconfig, MMA, libjack2, libsmf, pythonPackages }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) pyGtkGlade pygtksourceview python;
+in stdenv.mkDerivation rec {
   version = "12.02.1";
   name = "linuxband-${version}";
 
diff --git a/pkgs/applications/audio/spotify/default.nix b/pkgs/applications/audio/spotify/default.nix
index a0188e48a8ff..0cc0740eddbf 100644
--- a/pkgs/applications/audio/spotify/default.nix
+++ b/pkgs/applications/audio/spotify/default.nix
@@ -6,7 +6,7 @@ assert stdenv.system == "x86_64-linux";
 
 let
   # Please update the stable branch!
-  version = "1.0.37.152.gc83ea995-42";
+  version = "1.0.38.171.g5e1cd7b2-22";
 
   deps = [
     alsaLib
@@ -51,20 +51,27 @@ stdenv.mkDerivation {
   src =
     fetchurl {
       url = "http://repository-origin.spotify.com/pool/non-free/s/spotify-client/spotify-client_${version}_amd64.deb";
-      sha256 = "00hd5q3cn9dzgphkpswd5y06k9phiqhhmb3frwdkcnb1d4pnp9cx";
+      sha256 = "0mhrbcw92g11czwcclnbwz1pk1jgap4xlya7dqsrcyb50azmv450";
     };
 
   buildInputs = [ dpkg makeWrapper ];
 
-  unpackPhase = "true";
+  unpackPhase = ''
+    runHook preUnpack
+    dpkg-deb -x $src .
+    runHook postUnpack
+  '';
+
+  configurePhase = "runHook preConfigure; runHook postConfigure";
+  buildPhase = "runHook preBuild; runHook postBuild";
 
   installPhase =
     ''
+      runHook preInstall
+
       libdir=$out/lib/spotify
       mkdir -p $libdir
-      dpkg-deb -x $src $out
-      mv $out/usr/* $out/
-      rm -rf $out/usr
+      mv ./usr/* $out/
 
       # Work around Spotify referring to a specific minor version of
       # OpenSSL.
@@ -96,6 +103,8 @@ stdenv.mkDerivation {
         ln -s "$out/share/spotify/icons/spotify-linux-$i.png" \
           "$out/share/icons/hicolor/$ixi/apps/spotify-client.png"
       done
+
+      runHook postInstall
     '';
 
   dontStrip = true;
diff --git a/pkgs/applications/editors/nvpy/default.nix b/pkgs/applications/editors/nvpy/default.nix
index c42940440ae5..58893d085892 100644
--- a/pkgs/applications/editors/nvpy/default.nix
+++ b/pkgs/applications/editors/nvpy/default.nix
@@ -1,6 +1,6 @@
-{ pkgs, fetchurl, tk, buildPythonApplication, pythonPackages }:
+{ pkgs, fetchurl, tk, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   version = "0.9.7";
   name = "nvpy-${version}";
 
diff --git a/pkgs/applications/graphics/cinepaint/default.nix b/pkgs/applications/graphics/cinepaint/default.nix
index 1f28e3d4c07d..22ac473bdd95 100644
--- a/pkgs/applications/graphics/cinepaint/default.nix
+++ b/pkgs/applications/graphics/cinepaint/default.nix
@@ -1,10 +1,12 @@
 { stdenv, fetchurl, cmake, pkgconfig, gtk2, freetype, fontconfig, lcms,
   flex, libtiff, libjpeg, libpng, libexif, zlib, perl, libX11,
-  perlXMLParser, python, pygtk, gettext, intltool, babl, gegl,
+  perlXMLParser, pythonPackages, gettext, intltool, babl, gegl,
   glib, makedepend, xf86vidmodeproto, xineramaproto, libXmu, openexr,
   mesa, libXext, libXpm, libXau, libXxf86vm, pixman, libpthreadstubs, fltk } :
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygtk;
+in stdenv.mkDerivation rec {
   name = "cinepaint-1.1";
 
   src = fetchurl {
diff --git a/pkgs/applications/graphics/freecad/default.nix b/pkgs/applications/graphics/freecad/default.nix
index 482abe2126fd..c58d9e0bda13 100644
--- a/pkgs/applications/graphics/freecad/default.nix
+++ b/pkgs/applications/graphics/freecad/default.nix
@@ -1,8 +1,9 @@
 { stdenv, fetchurl, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts
-, boost, zlib, python, swig, gfortran, soqt, libf2c, makeWrapper
-, matplotlib, pycollada, pyside, pysideTools, pysideShiboken, pivy }:
+, boost, zlib, python27Packages, swig, gfortran, soqt, libf2c, makeWrapper }:
 
-stdenv.mkDerivation rec {
+let
+  pythonPackages = python27Packages;
+in stdenv.mkDerivation rec {
   name = "freecad-${version}";
   version = "0.16";
 
@@ -11,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "02cfw5wlb04j0ymhk4skrm7rvbz13hpv995asf9v8q6wn2s1mivc";
   };
 
-  buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
+  buildInputs = with pythonPackages; [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
     zlib python swig gfortran soqt libf2c makeWrapper matplotlib
     pycollada pyside pysideShiboken pysideTools pivy
   ];
diff --git a/pkgs/applications/graphics/gimp/2.8.nix b/pkgs/applications/graphics/gimp/2.8.nix
index 662e214ceaff..4b380ed18864 100644
--- a/pkgs/applications/graphics/gimp/2.8.nix
+++ b/pkgs/applications/graphics/gimp/2.8.nix
@@ -1,9 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, babl, gegl, gtk2, glib, gdk_pixbuf
 , pango, cairo, freetype, fontconfig, lcms, libpng, libjpeg, poppler, libtiff
 , webkit, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, jasper
-, python, pygtk, libart_lgpl, libexif, gettext, xorg, wrapPython }:
+, pythonPackages, libart_lgpl, libexif, gettext, xorg }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) pygtk wrapPython python;
+in stdenv.mkDerivation rec {
   name = "gimp-${version}";
   version = "2.8.18";
 
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 36995f0bcc8b..ce8a22fd90f8 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, perl, perlXMLParser, libXft
 , libpng, zlib, popt, boehmgc, libxml2, libxslt, glib, gtkmm2
 , glibmm, libsigcxx, lcms, boost, gettext, makeWrapper, intltool
-, gsl, python, numpy, pyxml, lxml, poppler, imagemagick, libwpg, librevenge
+, gsl, python, poppler, imagemagick, libwpg, librevenge
 , libvisio, libcdr, libexif, unzip, automake114x, autoconf
 , boxMakerPlugin ? false # boxmaker plugin
 }:
 
 let 
+  pythonEnv = python.withPackages(ps: with ps; [ pyxml numpy lxml ]);
 
 boxmaker = fetchurl {
   # http://www.inkscapeforum.com/viewtopic.php?f=11&t=10403
@@ -42,11 +43,9 @@ stdenv.mkDerivation rec {
       --replace "#if __cplusplus >= 201103L" "#if true"
   '';
 
-  propagatedBuildInputs = [
-    # Python is used at run-time to execute scripts, e.g., those from
-    # the "Effects" menu.
-    python pyxml numpy lxml
-  ];
+  # Python is used at run-time to execute scripts, e.g., those from
+  # the "Effects" menu.
+  propagatedBuildInputs = [ pythonEnv ];
 
   buildInputs = [
     pkgconfig perl perlXMLParser libXft libpng zlib popt boehmgc
@@ -71,13 +70,6 @@ stdenv.mkDerivation rec {
     }
 
     # Make sure PyXML modules can be found at run-time.
-    for i in "$out/bin/"*
-    do
-      wrapProgram "$i" --prefix PYTHONPATH :      \
-       "$(toPythonPath ${pyxml}):$(toPythonPath ${lxml}):$(toPythonPath ${numpy})"  \
-       --prefix PATH : ${python}/bin ||  \
-        exit 2
-    done
     rm "$out/share/icons/hicolor/icon-theme.cache"
   '';
 
diff --git a/pkgs/applications/graphics/jbrout/default.nix b/pkgs/applications/graphics/jbrout/default.nix
index 8d6c15129cb3..c9587b222d90 100644
--- a/pkgs/applications/graphics/jbrout/default.nix
+++ b/pkgs/applications/graphics/jbrout/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchsvn, buildPythonApplication, python, pyGtkGlade, makeWrapper, pyexiv2,  pythonPackages, fbida, which }:
+{ stdenv, fetchsvn, pythonPackages, makeWrapper, fbida, which }:
 
-buildPythonApplication rec {
+let
+  inherit (pythonPackages) python;
+in pythonPackages.buildPythonApplication rec {
   name = "jbrout-${version}";
   version = "338";
 
diff --git a/pkgs/applications/graphics/mcomix/default.nix b/pkgs/applications/graphics/mcomix/default.nix
index 88f3937335ba..c88c3337c928 100644
--- a/pkgs/applications/graphics/mcomix/default.nix
+++ b/pkgs/applications/graphics/mcomix/default.nix
@@ -1,7 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, python27Packages }:
+{ stdenv, fetchurl, python27Packages }:
 
-buildPythonApplication rec {
-    namePrefix = "";
+python27Packages.buildPythonApplication rec {
     name = "mcomix-${version}";
     version = "1.2.1";
 
diff --git a/pkgs/applications/graphics/mirage/default.nix b/pkgs/applications/graphics/mirage/default.nix
index c3f06544bb4a..515b834b41ea 100644
--- a/pkgs/applications/graphics/mirage/default.nix
+++ b/pkgs/applications/graphics/mirage/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, buildPythonApplication, python, pygtk, pillow, libX11, gettext }:
+{ stdenv, fetchurl, pythonPackages, libX11, gettext }:
 
-buildPythonApplication rec {
-    namePrefix = "";
-    name = "mirage-0.9.5.2";
+pythonPackages.buildPythonApplication rec {
+    name = "mirage-${version}";
+    version = "0.9.5.2";
 
     src = fetchurl {
       url = "mirror://sourceforge/mirageiv/${name}.tar.bz2";
@@ -17,7 +17,7 @@ buildPythonApplication rec {
       sed -i "s@/usr/local/share/locale@$out/share/locale@" mirage.py
     '';
 
-    propagatedBuildInputs = [ pygtk pillow ];
+    propagatedBuildInputs = with pythonPackages; [ pygtk pillow ];
 
     meta = {
       description = "Simple image viewer written in PyGTK";
diff --git a/pkgs/applications/graphics/mypaint/default.nix b/pkgs/applications/graphics/mypaint/default.nix
index 8abdb3c7bb5a..27d6c207e68a 100644
--- a/pkgs/applications/graphics/mypaint/default.nix
+++ b/pkgs/applications/graphics/mypaint/default.nix
@@ -1,9 +1,11 @@
 { stdenv, fetchurl, gettext, glib, gtk2, hicolor_icon_theme, json_c
-, lcms2, libpng , makeWrapper, pkgconfig, pygtk, python, pythonPackages
+, lcms2, libpng , makeWrapper, pkgconfig, pythonPackages
 , scons, swig
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygtk numpy;
+in stdenv.mkDerivation rec {
   name = "mypaint-${version}";
   version = "1.1.0";
 
@@ -17,7 +19,7 @@ stdenv.mkDerivation rec {
     python scons swig
   ];
 
-  propagatedBuildInputs = [ hicolor_icon_theme pythonPackages.numpy ];
+  propagatedBuildInputs = [ hicolor_icon_theme numpy ];
 
   buildPhase = "scons prefix=$out";
 
diff --git a/pkgs/applications/graphics/rawtherapee/default.nix b/pkgs/applications/graphics/rawtherapee/default.nix
index 9259b7c76483..14cbf478bd46 100644
--- a/pkgs/applications/graphics/rawtherapee/default.nix
+++ b/pkgs/applications/graphics/rawtherapee/default.nix
@@ -1,26 +1,30 @@
 { stdenv, fetchFromGitHub, pkgconfig, cmake, pixman, libpthreadstubs, gtkmm2, libXau
 , libXdmcp, lcms2, libiptcdata, libcanberra_gtk2, fftw, expat, pcre, libsigcxx
-, mercurial  # Not really needed for anything, but it fails if it does not find 'hg'
 }:
 
 stdenv.mkDerivation rec {
-  name = "rawtherapee-4.2";
+  version = "4.2.1025";
+  name = "rawtherapee-" + version;
 
   src = fetchFromGitHub {
     owner = "Beep6581";
     repo = "RawTherapee";
-    rev = "4.2";
-    sha256 = "1v4px239vlmk9l8wbzlvlyni4ns12icxmgfz21m86jkd10pj5dgr";
+    rev = "dc4bbe906ba92ddc66f98a3c26ce19822bfb99ab";
+    sha256 = "0c5za9s8533fiyl32378dq9rgd5044xi8y0wm2gkr7krbdnx74l3";
   };
 
   buildInputs = [ pkgconfig cmake pixman libpthreadstubs gtkmm2 libXau libXdmcp
-    lcms2 libiptcdata mercurial libcanberra_gtk2 fftw expat pcre libsigcxx ];
+    lcms2 libiptcdata libcanberra_gtk2 fftw expat pcre libsigcxx ];
 
-  patchPhase = ''
-    patch -p1 < ${./sigc++_fix.patch}
-  '';
+  cmakeFlags = [
+    "-DPROC_TARGET_NUMBER=2"
+  ];
+
+  CMAKE_CXX_FLAGS = "-std=c++11 -Wno-deprecated-declarations -Wno-unused-result";
 
-  NIX_CFLAGS_COMPILE = "-std=gnu++11 -Wno-deprecated-declarations -Wno-unused-result";
+  postUnpack = ''
+    echo "set(HG_VERSION $version)" > $sourceRoot/ReleaseInfo.cmake
+  '';
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch b/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch
deleted file mode 100644
index eeeefb733df6..000000000000
--- a/pkgs/applications/graphics/rawtherapee/sigc++_fix.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/rtgui/adjuster.cc b/rtgui/adjuster.cc
-index f73dd8a..a7a069c 100644
---- a/rtgui/adjuster.cc
-+++ b/rtgui/adjuster.cc
-@@ -17,7 +17,7 @@
-  *  along with RawTherapee.  If not, see <http://www.gnu.org/licenses/>.
-  */
- #include "adjuster.h"
--#include <sigc++/class_slot.h>
-+#include <sigc++/slot.h>
- #include <cmath>
- #include "multilangmgr.h"
- #include "../rtengine/rtengine.h"
-diff --git a/rtgui/preferences.cc b/rtgui/preferences.cc
-index 134c0d7..8ce1808 100644
---- a/rtgui/preferences.cc
-+++ b/rtgui/preferences.cc
-@@ -16,7 +16,7 @@
-  *  You should have received a copy of the GNU General Public License

-  *  along with RawTherapee.  If not, see <http://www.gnu.org/licenses/>.

-  */

--#include <sigc++/class_slot.h>

-+#include <sigc++/slot.h>

- #include "preferences.h"

- #include "multilangmgr.h"

- #include "splash.h"

-diff --git a/rtgui/thresholdadjuster.cc b/rtgui/thresholdadjuster.cc
-index 6b41329..19cde25 100644
---- a/rtgui/thresholdadjuster.cc
-+++ b/rtgui/thresholdadjuster.cc
-@@ -17,7 +17,7 @@
-  *  along with RawTherapee.  If not, see <http://www.gnu.org/licenses/>.
-  */
- #include "thresholdadjuster.h"
--#include <sigc++/class_slot.h>
-+#include <sigc++/slot.h>
- #include <cmath>
- #include "multilangmgr.h"
- #include "../rtengine/rtengine.h"
-diff --git a/rtgui/tonecurve.cc b/rtgui/tonecurve.cc
-index 2e439e1..5f14200 100644
---- a/rtgui/tonecurve.cc
-+++ b/rtgui/tonecurve.cc
-@@ -18,7 +18,7 @@
-  */

- #include "tonecurve.h"

- #include "adjuster.h"

--#include <sigc++/class_slot.h>

-+#include <sigc++/slot.h>

- #include <iomanip>

- #include "ppversion.h"

- #include "edit.h"

diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index 79b4e787eaaa..8fb4af6d53e5 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -1,19 +1,21 @@
 { stdenv, pythonPackages, fetchFromGitHub,
-  encryptionSupport ? false
 }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "1.9";
+  version = "2.4";
   name = "buku-${version}";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "buku";
-    rev = "e99844876d0d871df80770b1bd76c161276116eb";
-    sha256 = "1qwkff61gdjd6w337a5ipfiybzqdwkxdyfa1l4zzm9dj7lsklgq2";
+    rev = "v${version}";
+    sha256 = "0rmvlpp1pzzgn1hf87ksigj9kp60gfwkvxymb4wiz7dqa57b1q0n";
   };
 
-  buildInputs = stdenv.lib.optional encryptionSupport pythonPackages.pycrypto;
+  buildInputs = [
+    pythonPackages.cryptography
+    pythonPackages.beautifulsoup4
+  ];
 
   phases = [ "unpackPhase" "installPhase" "fixupPhase" ];
 
diff --git a/pkgs/applications/misc/electrum-dash/default.nix b/pkgs/applications/misc/electrum-dash/default.nix
index 7b1bdef4eb59..1a843661f4cd 100644
--- a/pkgs/applications/misc/electrum-dash/default.nix
+++ b/pkgs/applications/misc/electrum-dash/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages, slowaes }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "electrum-dash-${version}";
   version = "2.4.1";
 
diff --git a/pkgs/applications/misc/ikiwiki/default.nix b/pkgs/applications/misc/ikiwiki/default.nix
index 810c7f2586ff..71418732a48a 100644
--- a/pkgs/applications/misc/ikiwiki/default.nix
+++ b/pkgs/applications/misc/ikiwiki/default.nix
@@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
 
 let
   name = "ikiwiki";
-  version = "3.20150614";
+  version = "3.20160905";
 
   lib = stdenv.lib;
 in
@@ -31,8 +31,8 @@ stdenv.mkDerivation {
   name = "${name}-${version}";
 
   src = fetchurl {
-    url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
-    sha256 = "0sbs58d7faap1wp2rv7kf3gy3hid1hcpspgqs9wwms2qcki9kwa2";
+    url = "mirror://debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
+    sha256 = "1xbjj5qpxh7f05b69z9vvajg05zv63fj8js77c47yx01xifgd3vn";
   };
 
   buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate
diff --git a/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix
new file mode 100644
index 000000000000..5e43486b0752
--- /dev/null
+++ b/pkgs/applications/misc/keepass-plugins/keepasshttp/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, buildEnv, fetchFromGitHub, mono }:
+
+let
+  version = "1.8.4.1";
+  drv = stdenv.mkDerivation {
+    name = "keepasshttp-${version}";
+    src = fetchFromGitHub {
+      owner = "pfn";
+      repo = "keepasshttp";
+      rev = "${version}";
+      sha256 = "1074yv0pmzdwfwkx9fh7n2igdqwsyxypv55khkyng6synbv2p2fd";
+    };
+
+    meta = {
+      description = "KeePass plugin to expose password entries securely (256bit AES/CBC) over HTTP";
+      homepage    = https://github.com/pfn/keepasshttp;
+      platforms   = with stdenv.lib.platforms; linux;
+      license     = stdenv.lib.licenses.gpl3;
+    };
+
+    pluginFilename = "KeePassHttp.plgx";
+
+    installPhase = ''
+      mkdir -p $out/lib/dotnet/keepass/
+      cp $pluginFilename $out/lib/dotnet/keepass/$pluginFilename
+    '';
+  };
+in
+  # Mono is required to compile plugin at runtime, after loading.
+  buildEnv { name = drv.name; paths = [ mono drv ]; }
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index 5b764912f735..e350a9a95301 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
+{ stdenv, lib, makeWrapper, fetchgit, pkgconfig, ninja, ocaml, findlib, mupdf, lablgl
 , gtk3, openjpeg, jbig2dec, mujs, xsel, openssl, freetype, ncurses }:
 
+assert lib.versionAtLeast (lib.getVersion ocaml) "4.02";
+
 let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
 in stdenv.mkDerivation rec {
   name = "llpp-${version}";
diff --git a/pkgs/applications/misc/mlterm/default.nix b/pkgs/applications/misc/mlterm/default.nix
index 6d84ef422964..9fa112375c52 100644
--- a/pkgs/applications/misc/mlterm/default.nix
+++ b/pkgs/applications/misc/mlterm/default.nix
@@ -1,5 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, autoconf
-, libX11, gdk_pixbuf, cairo, libXft, gtk3, vte, fribidi, libssh2
+{ stdenv, fetchurl, pkgconfig, autoconf, makeDesktopItem
+, libX11, gdk_pixbuf, cairo, libXft, gtk3, vte
+, harfbuzz #substituting glyphs with opentype fonts
+, fribidi, m17n_lib #bidi and encoding
+, openssl, libssh2 #build-in ssh
 }:
 
 stdenv.mkDerivation rec {
@@ -13,11 +16,13 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig autoconf ];
   buildInputs = [
-    libX11 gdk_pixbuf.dev cairo libXft gtk3 vte fribidi libssh2
+    libX11 gdk_pixbuf.dev cairo libXft gtk3 vte
+    harfbuzz fribidi m17n_lib openssl libssh2
   ];
 
+  #bad configure.ac and Makefile.in everywhere
   preConfigure = ''
-    sed -ie 's#-L/usr/local/lib -R/usr/local/lib##g' \
+    sed -ie 's;-L/usr/local/lib -R/usr/local/lib;;g' \
       xwindow/libtype/Makefile.in \
       main/Makefile.in \
       tool/mlfc/Makefile.in \
@@ -26,24 +31,69 @@ stdenv.mkDerivation rec {
       xwindow/libotl/Makefile.in
     sed -ie 's;cd ..srcdir. && rm -f ...lang..gmo.*;;g' \
       tool/mlconfig/po/Makefile.in.in
+    #utmp and mlterm-fb
+    substituteInPlace configure.in \
+      --replace "-m 2755 -g utmp" " " \
+      --replace "-m 4755 -o root" " "
+    substituteInPlace configure \
+      --replace "-m 2755 -g utmp" " " \
+      --replace "-m 4755 -o root" " "
   '';
+  NIX_LDFLAGS = "
+    -L${stdenv.cc.cc.lib}/lib
+    -lX11 -lgdk_pixbuf-2.0 -lcairo -lfontconfig -lfreetype -lXft
+    -lvte-2.91 -lgtk-3 -lharfbuzz -lfribidi -lm17n
+  " + stdenv.lib.optionalString (openssl != null) "
+    -lcrypto
+  " + stdenv.lib.optionalString (libssh2 != null) "
+    -lssh2
+  ";
 
   configureFlags = [
     "--with-x=yes"
-    "--with-gtk=3.0"
-    "--with-imagelib=gdk-pixbuf"
-    "--with-gui=xlib"
+    "--with-gui=xlib,fb"
+    "--with-imagelib=gdk-pixbuf" #or mlimgloader depending on your bugs of choice
     "--with-type-engines=cairo,xft,xcore"
-    "--enable-ind"
-    "--enable-fribidi"
+    "--with-gtk=3.0"
+    "--enable-ind" #indic scripts
+    "--enable-fribidi" #bidi scripts
+    "--enable-m17nlib" #character encodings
     "--with-tools=mlclient,mlconfig,mlcc,mlterm-menu,mlimgloader,registobmp,mlfc"
-    "--disable-utmp"
+     #mlterm-menu and mlconfig depend on enabling gnome3.at-spi2-core
+     #and configuring ~/.mlterm/key correctly.
+ ] ++ stdenv.lib.optional (libssh2 == null) [
+    "--disable-ssh2"
  ];
 
+  postInstall = ''
+    mkdir -p "$out/share/icons/hicolor/scalable/apps"
+    cp contrib/icon/mlterm-icon.svg "$out/share/icons/hicolor/scalable/apps/mlterm.svg"
+
+    mkdir -p "$out/share/icons/hicolor/48x48/apps"
+    cp contrib/icon/mlterm-icon-gnome2.png "$out/share/icons/hicolor/48x48/apps/mlterm.png"
+
+    mkdir -p "$out/share/applications"
+    cp $desktopItem/share/applications/* $out/share/applications
+  '';
+
+  desktopItem = makeDesktopItem rec {
+    name = "mlterm";
+    exec = "mlterm %U";
+    icon = "mlterm";
+    type = "Application";
+    comment = "Terminal emulator";
+    desktopName = "mlterm";
+    genericName = "Terminal emulator";
+    categories = stdenv.lib.concatStringsSep ";" [
+      "Application" "System" "TerminalEmulator"
+    ];
+    startupNotify = "false";
+  };
+
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/mlterm/;
     license = licenses.bsd2;
-    maintainers = with maintainers; [ vrthra ];
+    maintainers = with maintainers; [ vrthra ramkromberg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index d52f88ad553d..e1926ce386f7 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -18,15 +18,19 @@ stdenv.mkDerivation rec {
       url = "http://git.ghostscript.com/?p=mupdf.git;a=commitdiff_plain;h=39b0f07dd960f34e7e6bf230ffc3d87c41ef0f2e;hp=fa1936405b6a84e5c9bb440912c23d532772f958";
       sha256 = "1g9fkd1f5rx1z043vr9dj4934qf7i4nkvbwjc61my9azjrrc3jv7";
     })
+    (fetchpatch {
+      name = "mupdf-696941-fix-use-after-free.patch";
+      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=fa1936405b6a84e5c9bb440912c23d532772f958";
+      sha256 = "02j9b6my1h3rb0sz9yp6gi7c4ldi3mz0z9s5i8g9cl0arxyzys5h";
+    })
     # Compatibility with new openjpeg
     (fetchpatch {
-      name = "mupdf-1.5-openjpeg-2.1.0.patch";
-      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/mupdf-1.5-openjpeg-2.1.0.patch?h=packages/mupdf&id=ca5e3ef6c7788ccfb6011d785078bc47762f19e5";
-      sha256 = "0f18793q9fd22h3lclm8wahvc8az4v08an6lzy8mczrkl8mcgm3k";
+      name = "mupdf-1.9a-openjpeg-2.1.1.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/mupdf/trunk/0001-mupdf-openjpeg.patch?id=9083dac2a398bfe694d31a0c6a0a839c5a756e53";
+      sha256 = "14ndgy3w1sl25km9bcc2zfcxrcihqjw1sdzkpcw5g1mi7gcgxp3g";
     })
   ];
 
-  NIX_CFLAGS_COMPILE= [ "-fPIC" ];
   makeFlags = [ "prefix=$(out)" ];
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ zlib libX11 libXcursor libXext harfbuzz mesa libXrandr libXinerama freetype libjpeg jbig2dec openjpeg ];
@@ -78,7 +82,7 @@ stdenv.mkDerivation rec {
     repositories.git = git://git.ghostscript.com/mupdf.git;
     description = "Lightweight PDF viewer and toolkit written in portable C";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ viric vrthra ];
+    maintainers = with maintainers; [ viric vrthra fpletz ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/ranger/default.nix b/pkgs/applications/misc/ranger/default.nix
index 7969695f1ad2..3334daa4aeda 100644
--- a/pkgs/applications/misc/ranger/default.nix
+++ b/pkgs/applications/misc/ranger/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, python, w3m, file }:
+{ stdenv, fetchurl, pythonPackages, w3m, file }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "ranger-1.7.2";
 
   meta = {
@@ -15,7 +15,7 @@ buildPythonApplication rec {
     sha256 = "0yaviybviwdvfg2a0pf2kk28g10k245499xmbpqlai7fv91f7xll";
   };
 
-  propagatedBuildInputs = [ python.modules.curses file ];
+  propagatedBuildInputs = [ pythonPackages.python.modules.curses file ];
 
   preConfigure = ''
     substituteInPlace ranger/ext/img_display.py \
diff --git a/pkgs/applications/misc/terminator/default.nix b/pkgs/applications/misc/terminator/default.nix
index 7ca5f962403c..29befb7f25a8 100644
--- a/pkgs/applications/misc/terminator/default.nix
+++ b/pkgs/applications/misc/terminator/default.nix
@@ -1,8 +1,6 @@
-{ stdenv, fetchurl, python, pygtk, notify, keybinder, vte, gettext, intltool
-, makeWrapper
-}:
+{ stdenv, fetchurl, pythonPackages, keybinder, vte, gettext, intltool }:
 
-stdenv.mkDerivation rec {
+pythonPackages.buildPythonApplication rec {
   name = "terminator-${version}";
   version = "0.98";
   
@@ -11,18 +9,11 @@ stdenv.mkDerivation rec {
     sha256 = "1h965z06dsfk38byyhnsrscd9r91qm92ggwgjrh7xminzsgqqv8a";
   };
   
-  buildInputs = [
-    python pygtk notify keybinder vte gettext intltool makeWrapper
-  ];
+  propagatedBuildInputs = with pythonPackages; [ pygtk notify keybinder vte gettext intltool ];
 
-  installPhase = ''
-    python setup.py --without-icon-cache install --prefix="$out"
+  #setupPyBuildFlags = [ "--without-icon-cache" ];
 
-    for file in "$out"/bin/*; do
-        wrapProgram "$file" \
-            --prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
-    done
-  '';
+  doCheck = false;
 
   meta = with stdenv.lib; {
     description = "Terminal emulator with support for tiling and tabs";
diff --git a/pkgs/applications/misc/termite/default.nix b/pkgs/applications/misc/termite/default.nix
index 33c42e3dc1dd..a118f16c5496 100644
--- a/pkgs/applications/misc/termite/default.nix
+++ b/pkgs/applications/misc/termite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses, makeWrapper
+{ stdenv, fetchgit, pkgconfig, vte, gtk3, ncurses, makeWrapper, symlinkJoin
 , configFile ? null
 }:
 
@@ -37,13 +37,13 @@ let
       platforms = platforms.all;
     };
   };
-in if configFile == null then termite else stdenv.mkDerivation {
+in if configFile == null then termite else symlinkJoin {
   name = "termite-with-config-${version}";
+  paths = [ termite ];
   nativeBuildInputs = [ makeWrapper ];
-  buildCommand = ''
-    mkdir -p $out/etc/xdg/termite/ $out/bin
-    ln -s ${termite}/bin/termite $out/bin/termite
-    wrapProgram $out/bin/termite --add-flags "--config ${configFile}"
+  postBuild = ''
+    wrapProgram $out/bin/termite \
+      --add-flags "--config ${configFile}"
   '';
   passthru.terminfo = termite.terminfo;
 }
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 5645f02d8fef..567a6aa7d182 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.nix
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
@@ -1,18 +1,18 @@
 # This file is autogenerated from update.sh in the same directory.
 {
   beta = {
-    sha256 = "1w7h24jblbpvg49iap1cpsd0gwal1p7m7i2yqw12rcn0hqz4hc31";
-    sha256bin64 = "006pksc1ibdqcshsal55ps4qizj706zh1jrph6152znafl5hjb7i";
-    version = "53.0.2785.92";
+    sha256 = "1wpcl6cgiv02s3zgxvgsmrws454g81lnvyfjmhhcdckkwyljcv5l";
+    sha256bin64 = "0snr5rd2r5jfjqhqwkxcw26j53fivmf60g3qfnp5xz5b6nlsab9g";
+    version = "54.0.2840.34";
   };
   dev = {
-    sha256 = "1n6cq9fani9cl4qxx82iaiv40n4d6y5ns9mk63na1m5pdcjbaqhw";
-    sha256bin64 = "0iypx2p7xqc03i5mc85ilf162gdpn4x2vkb1kgzhlzhq8nvq0y9d";
-    version = "54.0.2840.8";
+    sha256 = "1lbpj1wm35l2qf4fxfivd9drwwdrylv3knh8db889dyz5hrh3j5y";
+    sha256bin64 = "0rkvrrcr1j9662v00kf7x7qmdps1pd4hq818x7crkilczybd05pr";
+    version = "55.0.2868.3";
   };
   stable = {
-    sha256 = "1w7h24jblbpvg49iap1cpsd0gwal1p7m7i2yqw12rcn0hqz4hc31";
-    sha256bin64 = "0nma1h5npx6vp5fww50xdznadq7yf5604w02w8h5mq3an4pn4g1j";
-    version = "53.0.2785.92";
+    sha256 = "0qk0y457l91yzxradpinayzw3947s5s4axd75h968vrl0jan51vs";
+    sha256bin64 = "0sz4dfwxvkffcj4rrqh3vn2xxp2vvjzdjsy0s9wcvam01igmy261";
+    version = "53.0.2785.116";
   };
 }
diff --git a/pkgs/applications/networking/browsers/uzbl/default.nix b/pkgs/applications/networking/browsers/uzbl/default.nix
index 4b768602c6ea..6ac8d9f1f6e7 100644
--- a/pkgs/applications/networking/browsers/uzbl/default.nix
+++ b/pkgs/applications/networking/browsers/uzbl/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, python3, makeWrapper, pygtk
-, webkit, glib_networking, gsettings_desktop_schemas, pythonPackages
+{ stdenv, fetchurl, pkgconfig, python3, makeWrapper
+, webkit, glib_networking, gsettings_desktop_schemas, python2Packages
 }:
 # This package needs python3 during buildtime,
 # but Python 2 + packages during runtime.
@@ -40,5 +40,5 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
 
   buildInputs = [ gsettings_desktop_schemas webkit ];
-  propagatedBuildInputs = [ pygtk pythonPackages.six ];
+  propagatedBuildInputs = with python2Packages; [ pygtk six ];
 }
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index c82d671a5232..1985d6ad3f2a 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -1,24 +1,42 @@
-{ stdenv, fetchgit, go, git, which }:
+{ stdenv, fetchFromGitHub, go, which }:
 
+let
+  version = "1.3.0";
+  versionMajor = "1";
+  versionMinor = "3";
+in
 stdenv.mkDerivation rec {
   name = "openshift-origin-${version}";
-  version = "1.0.1";
+  inherit version;
 
-  src = fetchgit {
-    url = https://github.com/openshift/origin.git;
-    rev = "1b601951daa44964c9bc7e4a2264d65489e3a58c";
-    sha256 = "0hvipgnkpph81jx6h6bar49j5zkrxzi6h71b4y75c0l7af129wdi";
-    leaveDotGit = true;
-    deepClone = true;
+  src = fetchFromGitHub {
+    owner = "openshift";
+    repo = "origin";
+    rev = "v${version}";
+    sha256 = "07s7xv8x8pch68j7lsw29im0axi07x32ag9wh9aqa0y570q9xgxy";
   };
 
-  buildInputs = [ go git which ];
+  buildInputs = [ go which ];
 
-  buildPhase = "hack/build-go.sh";
+  patchPhase = ''
+    patchShebangs ./hack
+  '';
+
+  buildPhase = ''
+    export GOPATH=$(pwd)
+    # Openshift build require this variables to be set
+    # unless there is a .git folder which is not the case with fetchFromGitHub
+    export OS_GIT_VERSION=${version}
+    export OS_GIT_MAJOR=${versionMajor}
+    export OS_GIT_MINOR=${versionMinor}
+    make build
+  '';
 
   installPhase = ''
+    export GOOS=$(go env GOOS)
+    export GOARCH=$(go env GOARCH)
     mkdir -p "$out/bin"
-    cp _output/local/go/bin/* "$out/bin/"
+    mv _output/local/bin/$GOOS/$GOARCH/* "$out/bin/"
   '';
 
   meta = with stdenv.lib; {
@@ -27,6 +45,5 @@ stdenv.mkDerivation rec {
     homepage = http://www.openshift.org;
     maintainers = with maintainers; [offline];
     platforms = [ "x86_64-linux" ];
-    broken = true;
   };
 }
diff --git a/pkgs/applications/networking/corebird/default.nix b/pkgs/applications/networking/corebird/default.nix
index f047bb42e7c6..add45f162bec 100644
--- a/pkgs/applications/networking/corebird/default.nix
+++ b/pkgs/applications/networking/corebird/default.nix
@@ -2,14 +2,14 @@
 , automake, autoconf, libtool, pkgconfig, gnome3, gst_all_1, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
-  version = "1.3.1";
+  version = "1.3.2";
   name = "corebird-${version}";
 
   src = fetchFromGitHub {
     owner = "baedert";
     repo = "corebird";
     rev = version;
-    sha256 = "1a7b6hinl5p7yanf75a0khki2fvd04km1xlkwnspgx75cmnbnn5z";
+    sha256 = "1ps4l37dyj2pmzcly9jb95y7cqa8zm8hyfja5prsqj7pbka1fibn";
   };
 
   preConfigure = ''
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index ae01e3b121cb..1b4e3e7d19f0 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -23,11 +23,11 @@
 let
   # NOTE: When updating, please also update in current stable,
   # as older versions stop working
-  version = "10.4.25";
+  version = "11.4.20";
   sha256 =
     {
-      "x86_64-linux" = "12kklhy5i3sj7hhlg0r0vvnv8vkd34swdjlby4sd3lcf012amc6q";
-      "i686-linux"   = "13i8ykxyc7scyaynfzgp2jhl9qd47lpdq62sx657abziclbybkh6";
+      "x86_64-linux" = "1mnjc00y1vs3c22hqf328idgsrrlq097kld67ab9q8d6l8r8qkr6";
+      "i686-linux"   = "1s7m56if2wq34sc8aq46xnhrrnbhnsfi85jw0yp4dpcdwv6s38v5";
     }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch =
diff --git a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
index 532ab3613138..0a938766e930 100644
--- a/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
+++ b/pkgs/applications/networking/google-drive-ocamlfuse/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, ocamlPackages, zlib }:
+{ stdenv, fetchurl, zlib
+, ocaml, ocamlfuse, findlib, gapi_ocaml, ocaml_sqlite3, camlidl }:
 
 stdenv.mkDerivation rec {
   name = "google-drive-ocamlfuse-${version}";
@@ -9,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1hjm6hyva9sl6lddb0372wsy7f76105iaxh976yyzfn3b4ran6ab";
   };
 
-  buildInputs = [ zlib ] ++ (with ocamlPackages; [ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl]);
+  buildInputs = [ zlib ocaml ocamlfuse findlib gapi_ocaml ocaml_sqlite3 camlidl];
 
   configurePhase = "ocaml setup.ml -configure --prefix \"$out\"";
   buildPhase = "ocaml setup.ml -build";
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index c671ea0a586d..dbb7b3fe2373 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchurl, zlib, openssl, libre, librem, pkgconfig
 , cairo, mpg123, gstreamer, gst_ffmpeg, gst_plugins_base, gst_plugins_bad
 , gst_plugins_good, alsaLib, SDL, libv4l, celt, libsndfile, srtp, ffmpeg
-, gsm, speex, portaudio, spandsp, libuuid
+, gsm, speex, portaudio, spandsp, libuuid, ccache
 }:
 stdenv.mkDerivation rec {
   version = "0.4.20";
@@ -13,6 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [zlib openssl libre librem pkgconfig
     cairo mpg123 gstreamer gst_ffmpeg gst_plugins_base gst_plugins_bad gst_plugins_good
     alsaLib SDL libv4l celt libsndfile srtp ffmpeg gsm speex portaudio spandsp libuuid
+    ccache
     ];
   makeFlags = [
     "LIBRE_MK=${libre}/share/re/re.mk"
@@ -21,6 +22,7 @@ stdenv.mkDerivation rec {
     "LIBREM_PATH=${librem}"
     ''PREFIX=$(out)''
     "USE_VIDEO=1"
+    "CCACHE_DISABLE=1"
 
     "USE_ALSA=1" "USE_AMR=1" "USE_CAIRO=1" "USE_CELT=1" 
     "USE_CONS=1" "USE_EVDEV=1" "USE_FFMPEG=1"  "USE_GSM=1" "USE_GST=1" 
@@ -29,7 +31,7 @@ stdenv.mkDerivation rec {
     "USE_SPEEX_AEC=1" "USE_SPEEX_PP=1" "USE_SPEEX_RESAMP=1" "USE_SRTP=1" 
     "USE_STDIO=1" "USE_SYSLOG=1" "USE_UUID=1" "USE_V4L2=1" "USE_X11=1"
 
-    "USE_BV32=" "USE_COREAUDIO=" "USE_G711=" "USE_G722=" "USE_G722_1=" 
+    "USE_BV32=" "USE_COREAUDIO=" "USE_G711=1" "USE_G722=1" "USE_G722_1="
     "USE_ILBC=" "USE_OPUS=" "USE_SILK=" 
   ]
   ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/default.nix b/pkgs/applications/networking/instant-messengers/pidgin/default.nix
index 6ace09bb753c..def683882dc9 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
-, gstreamer, gst_plugins_base, gst_plugins_good, startupnotification, gettext
-, perl, perlXMLParser, libxml2, nss, nspr, farsight2
+, gst_all_1, startupnotification, gettext
+, perl, perlXMLParser, libxml2, nss, nspr, farstream, farsight2
 , libXScrnSaver, ncurses, avahi, dbus, dbus_glib, intltool, libidn
 , lib, python, libICE, libXext, libSM
 , openssl ? null
@@ -14,21 +14,23 @@
 let unwrapped = stdenv.mkDerivation rec {
   name = "pidgin-${version}";
   majorVersion = "2";
-  version = "${majorVersion}.10.11";
+  version = "${majorVersion}.11.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pidgin/${name}.tar.bz2";
-    sha256 = "01s0q30qrjlzj7kkz6f8lvrwsdd55a9yjh2xjjwyyxzw849j3bpj";
+    sha256 = "0crkggjj6y07v1kdwil9vw532b0vrs6p33nmlvdkpnl60m2169pp";
   };
 
   inherit nss ncurses;
 
   nativeBuildInputs = [ makeWrapper ];
 
+  NIX_CFLAGS_COMPILE = "-I${gst_all_1.gst-plugins-base.dev}/include/gstreamer-1.0";
+
   buildInputs = [
-    gtkspell2 aspell
-    gstreamer gst_plugins_base gst_plugins_good startupnotification
-    libxml2 nss nspr farsight2
+    gtkspell2 aspell startupnotification
+    gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
+    libxml2 nss nspr farstream farsight2
     libXScrnSaver ncurses python
     avahi dbus dbus_glib intltool libidn
     libICE libXext libSM
@@ -41,7 +43,7 @@ let unwrapped = stdenv.mkDerivation rec {
     pkgconfig gtk2 perl perlXMLParser gettext
   ];
 
-  patches = [./pidgin-makefile.patch ./add-search-path.patch ];
+  patches = [ ./pidgin-makefile.patch ./add-search-path.patch ];
 
   configureFlags = [
     "--with-nspr-includes=${nspr.dev}/include/nspr"
diff --git a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch
index 2812496effaf..049d404a8d5f 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch
+++ b/pkgs/applications/networking/instant-messengers/pidgin/pidgin-makefile.patch
@@ -1,15 +1,16 @@
-diff -ru pidgin-2.6.4/pidgin/Makefile.am pidgin-2.6.4.new/pidgin/Makefile.am
---- pidgin-2.6.4/pidgin/Makefile.am	2009-11-30 04:13:54.000000000 +0100
-+++ pidgin-2.6.4.new/pidgin/Makefile.am	2009-12-27 17:30:58.000000000 +0100
-@@ -200,6 +200,7 @@
+diff --git a/pidgin/Makefile.am b/pidgin/Makefile.am
+index 84d927b..1467c19 100644
+--- a/pidgin/Makefile.am
++++ b/pidgin/Makefile.am
+@@ -151,6 +151,7 @@ pidgin_LDADD = \
  	$(GLIB_LIBS) \
  	$(DBUS_LIBS) \
  	$(GSTREAMER_LIBS) \
 +	$(GSTINTERFACES_LIBS) \
+ 	$(GSTVIDEO_LIBS) \
  	$(XSS_LIBS) \
  	$(SM_LIBS) \
- 	$(INTLLIBS) \
-@@ -224,6 +225,7 @@
+@@ -171,6 +172,7 @@ AM_CPPFLAGS = \
  	-I$(top_srcdir) \
  	$(GLIB_CFLAGS) \
  	$(GSTREAMER_CFLAGS) \
@@ -17,18 +18,19 @@ diff -ru pidgin-2.6.4/pidgin/Makefile.am pidgin-2.6.4.new/pidgin/Makefile.am
  	$(DEBUG_CFLAGS) \
  	$(GTK_CFLAGS) \
  	$(DBUS_CFLAGS) \
-diff -ru pidgin-2.6.4/pidgin/Makefile.in pidgin-2.6.4.new/pidgin/Makefile.in
---- pidgin-2.6.4/pidgin/Makefile.in	2009-11-30 05:12:21.000000000 +0100
-+++ pidgin-2.6.4.new/pidgin/Makefile.in	2009-12-27 17:30:36.000000000 +0100
-@@ -645,6 +645,7 @@
+diff --git a/pidgin/Makefile.in b/pidgin/Makefile.in
+index 0d51e25..dd5d879 100644
+--- a/pidgin/Makefile.in
++++ b/pidgin/Makefile.in
+@@ -703,6 +703,7 @@ EXTRA_DIST = \
  @ENABLE_GTK_TRUE@	$(GLIB_LIBS) \
  @ENABLE_GTK_TRUE@	$(DBUS_LIBS) \
  @ENABLE_GTK_TRUE@	$(GSTREAMER_LIBS) \
 +@ENABLE_GTK_TRUE@	$(GSTINTERFACES_LIBS) \
+ @ENABLE_GTK_TRUE@	$(GSTVIDEO_LIBS) \
  @ENABLE_GTK_TRUE@	$(XSS_LIBS) \
  @ENABLE_GTK_TRUE@	$(SM_LIBS) \
- @ENABLE_GTK_TRUE@	$(INTLLIBS) \
-@@ -666,6 +667,7 @@
+@@ -723,6 +724,7 @@ EXTRA_DIST = \
  @ENABLE_GTK_TRUE@	-I$(top_srcdir) \
  @ENABLE_GTK_TRUE@	$(GLIB_CFLAGS) \
  @ENABLE_GTK_TRUE@	$(GSTREAMER_CFLAGS) \
@@ -36,23 +38,25 @@ diff -ru pidgin-2.6.4/pidgin/Makefile.in pidgin-2.6.4.new/pidgin/Makefile.in
  @ENABLE_GTK_TRUE@	$(DEBUG_CFLAGS) \
  @ENABLE_GTK_TRUE@	$(GTK_CFLAGS) \
  @ENABLE_GTK_TRUE@	$(DBUS_CFLAGS) \
-diff -ru pidgin-2.6.4/pidgin/plugins/Makefile.am pidgin-2.6.4.new/pidgin/plugins/Makefile.am
---- pidgin-2.6.4/pidgin/plugins/Makefile.am	2009-11-30 04:13:57.000000000 +0100
-+++ pidgin-2.6.4.new/pidgin/plugins/Makefile.am	2009-12-27 16:58:50.000000000 +0100
-@@ -137,6 +137,7 @@
- 	$(DEBUG_CFLAGS) \
+diff --git a/pidgin/plugins/Makefile.am b/pidgin/plugins/Makefile.am
+index 3bb8c22..6d1e869 100644
+--- a/pidgin/plugins/Makefile.am
++++ b/pidgin/plugins/Makefile.am
+@@ -145,6 +145,7 @@ AM_CPPFLAGS = \
  	$(GTK_CFLAGS) \
+ 	$(UNITY_CFLAGS) \
  	$(GSTREAMER_CFLAGS) \
 +	$(GSTINTERFACES_CFLAGS) \
  	$(PLUGIN_CFLAGS)
  
  #
-diff -ru pidgin-2.6.4/pidgin/plugins/Makefile.in pidgin-2.6.4.new/pidgin/plugins/Makefile.in
---- pidgin-2.6.4/pidgin/plugins/Makefile.in	2009-11-30 05:12:22.000000000 +0100
-+++ pidgin-2.6.4.new/pidgin/plugins/Makefile.in	2009-12-27 16:59:13.000000000 +0100
-@@ -644,6 +644,7 @@
- 	$(DEBUG_CFLAGS) \
+diff --git a/pidgin/plugins/Makefile.in b/pidgin/plugins/Makefile.in
+index 82a34aa..1f7db00 100644
+--- a/pidgin/plugins/Makefile.in
++++ b/pidgin/plugins/Makefile.in
+@@ -781,6 +781,7 @@ AM_CPPFLAGS = \
  	$(GTK_CFLAGS) \
+ 	$(UNITY_CFLAGS) \
  	$(GSTREAMER_CFLAGS) \
 +	$(GSTINTERFACES_CFLAGS) \
  	$(PLUGIN_CFLAGS)
diff --git a/pkgs/applications/networking/mumble/default.nix b/pkgs/applications/networking/mumble/default.nix
index 26dcbe200792..fff0bc5edc46 100644
--- a/pkgs/applications/networking/mumble/default.nix
+++ b/pkgs/applications/networking/mumble/default.nix
@@ -37,6 +37,7 @@ let
       "CONFIG+=no-bundled-speex"
     ] ++ optional (!speechdSupport) "CONFIG+=no-speechd"
       ++ optional jackSupport "CONFIG+=no-oss CONFIG+=no-alsa CONFIG+=jackaudio"
+      ++ optional (!iceSupport) "CONFIG+=no-ice"
       ++ (overrides.configureFlags or [ ]);
 
     preConfigure = ''
diff --git a/pkgs/applications/networking/newsreaders/liferea/default.nix b/pkgs/applications/networking/newsreaders/liferea/default.nix
index ae60ae113096..f3fdea59e48d 100644
--- a/pkgs/applications/networking/newsreaders/liferea/default.nix
+++ b/pkgs/applications/networking/newsreaders/liferea/default.nix
@@ -1,14 +1,15 @@
-{ stdenv, fetchurl, pkgconfig, intltool, python, pygobject3
+{ stdenv, fetchurl, pkgconfig, intltool, pythonPackages
 , glib, gnome3, pango, libxml2, libxslt, sqlite, libsoup, glib_networking
 , webkitgtk, json_glib, gobjectIntrospection, gst_all_1
 , libnotify
 , makeWrapper
 }:
 
-let pname = "liferea";
-    version = "1.10.19";
-in
-stdenv.mkDerivation rec {
+let
+  pname = "liferea";
+  version = "1.10.19";
+  inherit (pythonPackages) python pygobject3;
+in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
diff --git a/pkgs/applications/office/gnumeric/default.nix b/pkgs/applications/office/gnumeric/default.nix
index ba37a3ef4288..fcd9f954a675 100644
--- a/pkgs/applications/office/gnumeric/default.nix
+++ b/pkgs/applications/office/gnumeric/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, pkgconfig, intltool, perl, perlXMLParser
-, goffice, gnome3, makeWrapper, gtk3, bison
-, python, pygobject3
+, goffice, gnome3, makeWrapper, gtk3, bison, pythonPackages
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject3;
+in stdenv.mkDerivation rec {
   name = "gnumeric-1.12.32";
 
   src = fetchurl {
diff --git a/pkgs/applications/office/keepnote/default.nix b/pkgs/applications/office/keepnote/default.nix
index d4790edbb3e0..3f3b5c2966c5 100644
--- a/pkgs/applications/office/keepnote/default.nix
+++ b/pkgs/applications/office/keepnote/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages, pygtk }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication {
+pythonPackages.buildPythonApplication {
   name = "keepnote-0.7.8";
   namePrefix = "";
 
@@ -9,7 +9,7 @@ buildPythonApplication {
     sha256 = "0nhkkv1n0lqf3zn17pxg5cgryv1wwlj4hfmhixwd76rcy8gs45dh";
   };
 
-  propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk ];
+  propagatedBuildInputs = with pythonPackages; [ sqlite3 pyGtkGlade ];
 
   # Testing fails.
   doCheck = false;
diff --git a/pkgs/applications/office/qnotero/default.nix b/pkgs/applications/office/qnotero/default.nix
index 695db93d4de1..5076a8f586e3 100644
--- a/pkgs/applications/office/qnotero/default.nix
+++ b/pkgs/applications/office/qnotero/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, buildPythonPackage, python3, python3Packages
+{ stdenv, fetchFromGitHub, python3Packages
 }:
 
 python3Packages.buildPythonPackage rec {
@@ -14,7 +14,7 @@ python3Packages.buildPythonPackage rec {
     sha256 = "1d5a9k1llzn9q1qv1bfwc7gfflabh4riplz9jj0hf04b279y1bj0";
   };
 
-  propagatedBuildInputs = [ python3 python3Packages.pyqt4 ];
+  propagatedBuildInputs = [ python3Packages.pyqt4 ];
 
   patchPhase = ''
       substituteInPlace ./setup.py \
diff --git a/pkgs/applications/office/zim/default.nix b/pkgs/applications/office/zim/default.nix
index 6f2cb29e4364..ec33388f0869 100644
--- a/pkgs/applications/office/zim/default.nix
+++ b/pkgs/applications/office/zim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, buildPythonApplication, pythonPackages, pygtk, pygobject2, python }:
+{ stdenv, lib, fetchurl, pythonPackages }:
 
 #
 # TODO: Declare configuration options for the following optional dependencies:
@@ -7,7 +7,7 @@
 #  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
 #
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "zim-${version}";
   version = "0.65";
   namePrefix = "";
@@ -17,7 +17,7 @@ buildPythonApplication rec {
     sha256 = "15pdq4fxag85qjsrdmmssiq85qsk5vnbp8mrqnpvx8lm8crz6hjl";
   };
 
-  propagatedBuildInputs = [ pythonPackages.sqlite3 pygtk pythonPackages.pyxdg pygobject2 ];
+  propagatedBuildInputs = with pythonPackages; [ sqlite3 pyGtkGlade pyxdg pygobject2 ];
 
   preBuild = ''
     export HOME=$TMP
diff --git a/pkgs/applications/science/logic/coq/8.3.nix b/pkgs/applications/science/logic/coq/8.3.nix
index b434063cae98..ec4e530ae523 100644
--- a/pkgs/applications/science/logic/coq/8.3.nix
+++ b/pkgs/applications/science/logic/coq/8.3.nix
@@ -3,7 +3,10 @@
 #   However, coq can build without csdp by setting it to null.
 #   In this case some Micromega tactics will search the user's path for the csdp program and will fail if it is not found.
 
-{ stdenv, make, fetchurl, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }:
+{ stdenv, lib, make, fetchurl
+, ocaml, findlib, camlp5, ncurses, lablgtk ? null, csdp ? null }:
+
+assert lib.versionOlder ocaml.version "4";
 
 let 
   version = "8.3pl4";
diff --git a/pkgs/applications/science/logic/redprl/default.nix b/pkgs/applications/science/logic/redprl/default.nix
index 1df3fa940f94..70b3008156c7 100644
--- a/pkgs/applications/science/logic/redprl/default.nix
+++ b/pkgs/applications/science/logic/redprl/default.nix
@@ -8,6 +8,9 @@ stdenv.mkDerivation {
     fetchSubmodules = true;
   };
   buildInputs = [ mlton ];
+  patchPhase = ''
+    patchShebangs ./script/
+  '';
   builder = builtins.toFile "builder.sh" ''
     source $stdenv/setup
     mkdir -p $out/bin
diff --git a/pkgs/applications/science/math/glsurf/default.nix b/pkgs/applications/science/math/glsurf/default.nix
index 2c09f572d125..8a0a25c67340 100644
--- a/pkgs/applications/science/math/glsurf/default.nix
+++ b/pkgs/applications/science/math/glsurf/default.nix
@@ -27,5 +27,6 @@ stdenv.mkDerivation {
   meta = {
     homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
     description = "A program to draw implicit surfaces and curves";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/math/scilab/default.nix b/pkgs/applications/science/math/scilab/default.nix
index 4e30814ff7df..bb52b430f8cb 100644
--- a/pkgs/applications/science/math/scilab/default.nix
+++ b/pkgs/applications/science/math/scilab/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     description = "Scientific software package for numerical computations (Matlab lookalike)";
     # see http://www.scilab.org/legal
     license = "SciLab";
+    broken = true;
   };
 }
diff --git a/pkgs/applications/science/robotics/gazebo/default.nix b/pkgs/applications/science/robotics/gazebo/default.nix
index 1b71e45eb821..e8b3bcb16a26 100644
--- a/pkgs/applications/science/robotics/gazebo/default.nix
+++ b/pkgs/applications/science/robotics/gazebo/default.nix
@@ -31,7 +31,9 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true; # gazebo needs this so bad
-  cmakeFlags = []
+  cmakeFlags = [
+  "-DCMAKE_INSTALL_LIBDIR:PATH=lib"
+  "-DCMAKE_INSTALL_INCLUDEDIR=include" ]
     ++ optional withQuickBuild [ "-DENABLE_TESTS_COMPILATION=False" ]
     ++ optional withLowMemorySupport [ "-DUSE_LOW_MEMORY_TESTS=True" ]
     ++ optional withHeadless [ "-DENABLE_SCREEN_TESTS=False" ];
diff --git a/pkgs/applications/version-management/bazaar/default.nix b/pkgs/applications/version-management/bazaar/default.nix
index 29dee3f03c57..689daef45ef5 100644
--- a/pkgs/applications/version-management/bazaar/default.nix
+++ b/pkgs/applications/version-management/bazaar/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pythonPackages }:
 
-stdenv.mkDerivation rec {
+pythonPackages.buildPythonApplication rec {
   version = "2.7";
   release = ".0";
   name = "bazaar-${version}${release}";
@@ -10,10 +10,10 @@ stdenv.mkDerivation rec {
     sha256 = "1cysix5k3wa6y7jjck3ckq3abls4gvz570s0v0hxv805nwki4i8d";
   };
 
-  buildInputs = [ pythonPackages.python pythonPackages.wrapPython ];
-
   # Readline support is needed by bzrtools.
-  pythonPath = [ pythonPackages.readline ];
+  propagatedBuildInputs = [ pythonPackages.python.modules.readline ];
+
+  doCheck = false;
 
   # Bazaar can't find the certificates alone
   patches = [ ./add_certificates.patch ];
@@ -22,11 +22,6 @@ stdenv.mkDerivation rec {
       --subst-var-by certPath /etc/ssl/certs/ca-certificates.crt
   '';
 
-  installPhase = ''
-    python setup.py install --prefix=$out
-    wrapPythonPrograms
-  '';
-
   meta = {
     homepage = http://bazaar-vcs.org/;
     description = "A distributed version control system that Just Works";
diff --git a/pkgs/applications/version-management/diffuse/default.nix b/pkgs/applications/version-management/diffuse/default.nix
index 2bd4b5847241..fa6d4fe1890d 100644
--- a/pkgs/applications/version-management/diffuse/default.nix
+++ b/pkgs/applications/version-management/diffuse/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchurl, python, pygtk, makeWrapper }:
+{ stdenv, fetchurl, python27Packages, makeWrapper }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python27Packages) pygtk python;
+in stdenv.mkDerivation rec {
   version = "0.4.8";
   name = "diffuse-${version}";
 
diff --git a/pkgs/applications/version-management/gitinspector/default.nix b/pkgs/applications/version-management/gitinspector/default.nix
index 56d8b334e8e9..664f4d5147be 100644
--- a/pkgs/applications/version-management/gitinspector/default.nix
+++ b/pkgs/applications/version-management/gitinspector/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchzip, buildPythonApplication }:
+{ stdenv, fetchzip, pythonPackages}:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "gitinspector-${version}";
   version = "0.4.4";
   namePrefix = "";
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index b322709bde68..863faa16eaf4 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,14 +1,14 @@
 { stdenv, ruby, bundler, fetchFromGitLab }:
 
 stdenv.mkDerivation rec {
-  version = "3.4.0";
+  version = "3.6.0";
   name = "gitlab-shell-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "1vhwsiz6n96i6cbcqbf4pa93nzx4xkaph2lmzh0nm4mi5ydl49is";
+    sha256 = "1cc8lnz06d1q2hdrgnsqk50wj0x950w81jsalfjxmx5lais4qgg9";
   };
 
   buildInputs = [
@@ -56,7 +56,10 @@ stdenv.mkDerivation rec {
         " *args)"
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    homepage = http://www.gitlab.com/;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ fpletz ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
index b86bf2c40d3c..6fe65bb50abf 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitLab, git, go }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.11";
+  version = "0.8.2";
   name = "gitlab-workhorse-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "1z32nf9qbw050wzl1dsydrs68c9fp5kkvdn58z2g88bbyk6gyivm";
+    sha256 = "03y7f9x88sa8gxqaglriwn2793dn3i8dx4qhaarnm0gyrfl3rjag";
   };
 
   buildInputs = [ git go ];
@@ -24,7 +24,10 @@ stdenv.mkDerivation rec {
     make install PREFIX=$out
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    homepage = http://www.gitlab.com/;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ fpletz ];
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index 60aaf99cbd99..eb19a29ef0ca 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -26,7 +26,7 @@ gem 'omniauth-auth0',         '~> 1.4.1'
 gem 'omniauth-azure-oauth2',  '~> 0.0.6'
 gem 'omniauth-bitbucket',     '~> 0.0.2'
 gem 'omniauth-cas3',          '~> 1.1.2'
-gem 'omniauth-facebook',      '~> 3.0.0'
+gem 'omniauth-facebook',      '~> 4.0.0'
 gem 'omniauth-github',        '~> 1.1.1'
 gem 'omniauth-gitlab',        '~> 1.0.0'
 gem 'omniauth-google-oauth2', '~> 0.4.1'
@@ -53,7 +53,7 @@ gem 'browser', '~> 2.2'
 
 # Extracting information from a git repository
 # Provide access to Gitlab::Git library
-gem 'gitlab_git', '~> 10.4.7'
+gem 'gitlab_git', '~> 10.6.6'
 
 # LDAP Auth
 # GitLab fork with several improvements to original library. For full list of changes
@@ -97,9 +97,6 @@ gem 'fog-rackspace', '~> 0.1.1'
 # for aws storage
 gem 'unf', '~> 0.1.4'
 
-# Authorization
-gem 'six', '~> 0.2.0'
-
 # Seed data
 gem 'seed-fu', '~> 2.3.5'
 
@@ -209,6 +206,9 @@ gem 'mousetrap-rails', '~> 1.4.6'
 # Detect and convert string character encoding
 gem 'charlock_holmes', '~> 0.7.3'
 
+# Faster JSON
+gem 'oj', '~> 2.17.4'
+
 # Parse time & duration
 gem 'chronic', '~> 0.10.2'
 gem 'chronic_duration', '~> 0.10.6'
@@ -298,9 +298,10 @@ group :development, :test do
   gem 'spring-commands-spinach',  '~> 1.1.0'
   gem 'spring-commands-teaspoon', '~> 0.0.2'
 
-  gem 'rubocop', '~> 0.41.2', require: false
+  gem 'rubocop', '~> 0.42.0', require: false
   gem 'rubocop-rspec', '~> 1.5.0', require: false
   gem 'scss_lint', '~> 0.47.0', require: false
+  gem 'haml_lint', '~> 0.18.2', require: false
   gem 'simplecov', '0.12.0', require: false
   gem 'flog', '~> 4.3.2', require: false
   gem 'flay', '~> 2.6.1', require: false
@@ -319,6 +320,7 @@ group :test do
   gem 'webmock', '~> 1.21.0'
   gem 'test_after_commit', '~> 0.4.2'
   gem 'sham_rack', '~> 1.3.6'
+  gem 'timecop', '~> 0.8.0'
 end
 
 group :production do
@@ -349,7 +351,7 @@ gem 'paranoia', '~> 2.0'
 gem 'health_check', '~> 2.1.0'
 
 # System information
-gem 'vmstat', '~> 2.1.1'
+gem 'vmstat', '~> 2.2'
 gem 'sys-filesystem', '~> 1.1.6'
 
 gem "activerecord-nulldb-adapter"
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 38d357e42feb..468000e4d874 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -191,7 +191,7 @@ GEM
     erubis (2.7.0)
     escape_utils (1.1.1)
     eventmachine (1.0.8)
-    excon (0.49.0)
+    excon (0.52.0)
     execjs (2.6.0)
     expression_parser (0.9.0)
     factory_girl (4.5.0)
@@ -217,8 +217,8 @@ GEM
     flowdock (0.7.1)
       httparty (~> 0.7)
       multi_json
-    fog-aws (0.9.2)
-      fog-core (~> 1.27)
+    fog-aws (0.11.0)
+      fog-core (~> 1.38)
       fog-json (~> 1.0)
       fog-xml (~> 0.1)
       ipaddress (~> 0.8)
@@ -227,7 +227,7 @@ GEM
       fog-core (~> 1.27)
       fog-json (~> 1.0)
       fog-xml (~> 0.1)
-    fog-core (1.40.0)
+    fog-core (1.42.0)
       builder
       excon (~> 0.49)
       formatador (~> 0.2)
@@ -281,7 +281,7 @@ GEM
       diff-lcs (~> 1.1)
       mime-types (>= 1.16, < 3)
       posix-spawn (~> 0.3)
-    gitlab_git (10.4.7)
+    gitlab_git (10.6.6)
       activesupport (~> 4.0)
       charlock_holmes (~> 0.7.3)
       github-linguist (~> 4.7.0)
@@ -324,11 +324,18 @@ GEM
     grape-entity (0.4.8)
       activesupport
       multi_json (>= 1.3.2)
+    haml (4.0.7)
+      tilt
+    haml_lint (0.18.2)
+      haml (~> 4.0)
+      rake (>= 10, < 12)
+      rubocop (>= 0.36.0)
+      sysexits (~> 1.1)
     hamlit (2.6.1)
       temple (~> 0.7.6)
       thor
       tilt
-    hashie (3.4.3)
+    hashie (3.4.4)
     health_check (2.1.0)
       rails (>= 4.0)
     hipchat (1.5.2)
@@ -396,9 +403,9 @@ GEM
       mime-types (>= 1.16, < 4)
     mail_room (0.8.0)
     method_source (0.8.2)
-    mime-types (2.99.2)
+    mime-types (2.99.3)
     mimemagic (0.3.0)
-    mini_portile2 (2.0.0)
+    mini_portile2 (2.1.0)
     minitest (5.7.0)
     mousetrap-rails (1.4.6)
     multi_json (1.12.1)
@@ -410,7 +417,7 @@ GEM
     net-ssh (3.0.1)
     newrelic_rpm (3.16.0.318)
     nokogiri (1.6.7.2)
-      mini_portile2 (~> 2.0.0.rc2)
+      mini_portile2 (~> 2.1.0)
       pkg-config (~> 1.1.7)
     numerizer (0.1.1)
     oauth (0.4.7)
@@ -422,6 +429,7 @@ GEM
       rack (>= 1.2, < 3)
     octokit (4.3.0)
       sawyer (~> 0.7.0, >= 0.5.3)
+    oj (2.17.4)
     omniauth (1.3.1)
       hashie (>= 1.2, < 4)
       rack (>= 1.0, < 3)
@@ -439,7 +447,7 @@ GEM
       addressable (~> 2.3)
       nokogiri (~> 1.6.6)
       omniauth (~> 1.2)
-    omniauth-facebook (3.0.0)
+    omniauth-facebook (4.0.0)
       omniauth-oauth2 (~> 1.2)
     omniauth-github (1.1.2)
       omniauth (~> 1.0)
@@ -586,7 +594,7 @@ GEM
       railties (>= 4.2.0, < 5.1)
     rinku (2.0.0)
     rotp (2.1.2)
-    rouge (2.0.5)
+    rouge (2.0.6)
     rqrcode (0.7.0)
       chunky_png
     rqrcode-rails3 (0.1.7)
@@ -614,7 +622,7 @@ GEM
     rspec-retry (0.4.5)
       rspec-core
     rspec-support (3.5.0)
-    rubocop (0.41.2)
+    rubocop (0.42.0)
       parser (>= 2.3.1.1, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
@@ -685,7 +693,6 @@ GEM
       rack (~> 1.5)
       rack-protection (~> 1.4)
       tilt (>= 1.3, < 3)
-    six (0.2.0)
     slack-notifier (1.2.1)
     slop (3.6.0)
     spinach (0.8.10)
@@ -726,6 +733,7 @@ GEM
     stringex (2.5.2)
     sys-filesystem (1.1.6)
       ffi
+    sysexits (1.2.0)
     systemu (2.6.5)
     task_list (1.0.2)
       html-pipeline
@@ -757,7 +765,7 @@ GEM
     unf (0.1.4)
       unf_ext
     unf_ext (0.0.7.2)
-    unicode-display_width (1.1.0)
+    unicode-display_width (1.1.1)
     unicorn (4.9.0)
       kgio (~> 2.6)
       rack
@@ -774,7 +782,7 @@ GEM
       coercible (~> 1.0)
       descendants_tracker (~> 0.0, >= 0.0.3)
       equalizer (~> 0.0, >= 0.0.9)
-    vmstat (2.1.1)
+    vmstat (2.2.0)
     warden (1.2.6)
       rack (>= 1.0)
     web-console (2.3.0)
@@ -862,7 +870,7 @@ DEPENDENCIES
   github-linguist (~> 4.7.0)
   github-markup (~> 1.4)
   gitlab-flowdock-git-hook (~> 1.0.1)
-  gitlab_git (~> 10.4.7)
+  gitlab_git (~> 10.6.6)
   gitlab_meta (= 7.0)
   gitlab_omniauth-ldap (~> 1.2.1)
   gollum-lib (~> 4.2)
@@ -870,6 +878,7 @@ DEPENDENCIES
   gon (~> 6.1.0)
   grape (~> 0.15.0)
   grape-entity (~> 0.4.2)
+  haml_lint (~> 0.18.2)
   hamlit (~> 2.6.1)
   health_check (~> 2.1.0)
   hipchat (~> 1.5.0)
@@ -899,12 +908,13 @@ DEPENDENCIES
   nokogiri (~> 1.6.7, >= 1.6.7.2)
   oauth2 (~> 1.2.0)
   octokit (~> 4.3.0)
+  oj (~> 2.17.4)
   omniauth (~> 1.3.1)
   omniauth-auth0 (~> 1.4.1)
   omniauth-azure-oauth2 (~> 0.0.6)
   omniauth-bitbucket (~> 0.0.2)
   omniauth-cas3 (~> 1.1.2)
-  omniauth-facebook (~> 3.0.0)
+  omniauth-facebook (~> 4.0.0)
   omniauth-github (~> 1.1.1)
   omniauth-gitlab (~> 1.0.0)
   omniauth-google-oauth2 (~> 0.4.1)
@@ -939,7 +949,7 @@ DEPENDENCIES
   rqrcode-rails3 (~> 0.1.7)
   rspec-rails (~> 3.5.0)
   rspec-retry (~> 0.4.5)
-  rubocop (~> 0.41.2)
+  rubocop (~> 0.42.0)
   rubocop-rspec (~> 1.5.0)
   ruby-fogbugz (~> 0.2.1)
   ruby-prof (~> 0.15.9)
@@ -957,7 +967,6 @@ DEPENDENCIES
   sidekiq-cron (~> 0.4.0)
   simplecov (= 0.12.0)
   sinatra (~> 1.4.4)
-  six (~> 0.2.0)
   slack-notifier (~> 1.2.0)
   spinach-rails (~> 0.2.1)
   spinach-rerun-reporter (~> 0.0.2)
@@ -974,6 +983,7 @@ DEPENDENCIES
   teaspoon-jasmine (~> 2.2.0)
   test_after_commit (~> 0.4.2)
   thin (~> 1.7.0)
+  timecop (~> 0.8.0)
   turbolinks (~> 2.5.0)
   u2f (~> 0.2.1)
   uglifier (~> 2.7.2)
@@ -983,7 +993,7 @@ DEPENDENCIES
   unicorn-worker-killer (~> 0.4.2)
   version_sorter (~> 2.1.0)
   virtus (~> 1.0.1)
-  vmstat (~> 2.1.1)
+  vmstat (~> 2.2)
   web-console (~> 2.0)
   webmock (~> 1.21.0)
   wikicloth (= 0.8.1)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index b97a9475c8e5..c5b151174e0c 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -15,7 +15,7 @@ let
     meta = with lib; {
       homepage = http://www.gitlab.com/;
       platforms = platforms.linux;
-      maintainers = [ ];
+      maintainers = with maintainers; [ fpletz ];
       license = licenses.mit;
     };
   };
@@ -24,7 +24,7 @@ in
 
 stdenv.mkDerivation rec {
   name = "gitlab-${version}";
-  version = "8.11.2";
+  version = "8.12.1";
 
   buildInputs = [ env ruby bundler tzdata git nodejs procps ];
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "1id6jsf4mshxis07dqlkgdyqi1v415rp4lx9ix8sjfznchria58b";
+    sha256 = "1aq91q89g3xb28v833748y9ywy9d6551zn3hb22cqphjijkn3wgl";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index 0ea8aa4d621e..2525e924be41 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -674,10 +674,10 @@
   excon = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0jmdgc4lhlbxccpg79a32vn3qngqipcaaq8bxa0ivfw5mvz0zc0z";
+      sha256 = "0aq0mzk95m944ccq4x5bzxb02qbzywc3rzjl5dxhrcaw32hqdjp0";
       type = "gem";
     };
-    version = "0.49.0";
+    version = "0.52.0";
   };
   execjs = {
     source = {
@@ -784,10 +784,10 @@
   fog-aws = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0imhhxrw8m031lc912bnlqzgac41sjsip1fa8v845ldmn56kn9zg";
+      sha256 = "1zvcsgskxmlhb31wjcbkfi6m8b91y80kcwk61byybld9xl431mwf";
       type = "gem";
     };
-    version = "0.9.2";
+    version = "0.11.0";
   };
   fog-azure = {
     source = {
@@ -800,10 +800,10 @@
   fog-core = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1flkprsdm1qr38bzd80wxpkbcwm5zshivbg2k8pjls9i6jh6a0z7";
+      sha256 = "0jx4ynsc0b78601xypaamv6j5kw33n6ymqs3iz2fmhdw0k44lnwv";
       type = "gem";
     };
-    version = "1.40.0";
+    version = "1.42.0";
   };
   fog-google = {
     source = {
@@ -958,10 +958,10 @@
   gitlab_git = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xcn55jwc3g53mcj1fjr6qfjcj0awba9lwgd1720d2hkpfiglsai";
+      sha256 = "1vg2k3nlws6ghbs80zy3v8yclsx61x36f17r0k8vwv1xwvfhyhgz";
       type = "gem";
     };
-    version = "10.4.7";
+    version = "10.6.6";
   };
   gitlab_meta = {
     source = {
@@ -1037,6 +1037,22 @@
     };
     version = "0.4.8";
   };
+  haml = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mrzjgkygvfii66bbylj2j93na8i89998yi01fin3whwqbvx0m1p";
+      type = "gem";
+    };
+    version = "4.0.7";
+  };
+  haml_lint = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0shja16n76lw74c3dylml98lbmlcq9i1933davymayfplmyr52wi";
+      type = "gem";
+    };
+    version = "0.18.2";
+  };
   hamlit = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1048,10 +1064,10 @@
   hashie = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1iv5hd0zcryprx9lbcm615r3afc0d6rhc27clywmhhgpx68k8899";
+      sha256 = "1qlqcmrl696f1gg209zcyr81l9c5ynzfwlzl44a081q1fckrdmlx";
       type = "gem";
     };
-    version = "3.4.3";
+    version = "3.4.4";
   };
   health_check = {
     source = {
@@ -1314,10 +1330,10 @@
   mime-types = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "06lnv0w9j45llai5qhvc1m7w409j5lhnssdzkvv6yw49d632jxkz";
+      sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
       type = "gem";
     };
-    version = "2.99.2";
+    version = "2.99.3";
   };
   mimemagic = {
     source = {
@@ -1330,10 +1346,10 @@
   mini_portile2 = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "056drbn5m4khdxly1asmiik14nyllswr6sh3wallvsywwdiryz8l";
+      sha256 = "1y25adxb1hgg1wb2rn20g3vl07qziq6fz364jc5694611zz863hb";
       type = "gem";
     };
-    version = "2.0.0";
+    version = "2.1.0";
   };
   minitest = {
     source = {
@@ -1455,6 +1471,14 @@
     };
     version = "4.3.0";
   };
+  oj = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1krdgjl0agvcxb0bgmdk8zv7ysms8xmx7py7564v69csdkbwd4a5";
+      type = "gem";
+    };
+    version = "2.17.4";
+  };
   omniauth = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -1499,13 +1523,12 @@
     version = "1.1.3";
   };
   omniauth-facebook = {
-    dependencies = ["omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0plj56sna4b6c71k03jsng6gq3r5yxhj7h26ndahc9caasgk869c";
+      sha256 = "03zjla9i446fk1jkw7arh67c39jfhp5bhkmhvbw8vczxr1jkbbh5";
       type = "gem";
     };
-    version = "3.0.0";
+    version = "4.0.0";
   };
   omniauth-github = {
     dependencies = ["omniauth" "omniauth-oauth2"];
@@ -2022,10 +2045,10 @@
   rouge = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07nda5cfrxxizcd4ff7ad8z3i0j9jaff8q7q6ddpxcj0s80nvvpi";
+      sha256 = "182hp2fh6gd3p5c862i36k6jxkc02mhi08qd94gsyfj3v34ngza0";
       type = "gem";
     };
-    version = "2.0.5";
+    version = "2.0.6";
   };
   rqrcode = {
     dependencies = ["chunky_png"];
@@ -2104,10 +2127,10 @@
   rubocop = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02adr908a9l8nhdfjz137i20w1dv8mbfiamy0m9z9q0fvslfdxly";
+      sha256 = "064rh2fhr05mjgsmi1viljn9arcm2ggfaxkpk92ns9kf3ym7dz8v";
       type = "gem";
     };
-    version = "0.41.2";
+    version = "0.42.0";
   };
   rubocop-rspec = {
     source = {
@@ -2356,14 +2379,6 @@
     };
     version = "1.4.7";
   };
-  six = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1bhapiyjh5r5qjpclfw8i65plvy6k2q4azr5xir63xqglr53viw3";
-      type = "gem";
-    };
-    version = "0.2.0";
-  };
   slack-notifier = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2504,6 +2519,14 @@
     };
     version = "1.1.6";
   };
+  sysexits = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qjng6pllznmprzx8vb0zg0c86hdrkyjs615q41s9fjpmv2430jr";
+      type = "gem";
+    };
+    version = "1.2.0";
+  };
   systemu = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2666,10 +2689,10 @@
   unicode-display_width = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "194d70pfxq4d7rrk0vsk1dvj46ns2f350308khi7q5cvnmg3h1xs";
+      sha256 = "1b1mb3sj7azfvv166q6rqr0y634wsikiimm17xzn0304lcrw2fiz";
       type = "gem";
     };
-    version = "1.1.0";
+    version = "1.1.1";
   };
   unicorn = {
     source = {
@@ -2725,10 +2748,10 @@
   vmstat = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02yf9y7050zk1k7mn7dkp81wwa220kpkpdnlv4bg5mp65w33g5jf";
+      sha256 = "10hlfam5gvxjvr5p1f4f81wlv5k81mrlg556rc9525290bcz31f0";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "2.2.0";
   };
   warden = {
     source = {
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index a8a0542a8823..dec0f752fb7f 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -37,7 +37,7 @@ index 1470a6e..1b2660d 100644
      # Given in number of bytes per git object (e.g. a commit)
      # This value can be increased if you have very large commits
 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
-index 86f5521..3bf006b 100644
+index 195108b..e55b11d 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
 @@ -192,7 +192,7 @@ Settings.gitlab['user']       ||= 'git'
@@ -49,7 +49,7 @@ index 86f5521..3bf006b 100644
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
-@@ -350,7 +350,7 @@ Settings.backup['upload']['encryption'] ||= nil
+@@ -362,7 +362,7 @@ Settings.backup['upload']['encryption'] ||= nil
  #
  Settings['git'] ||= Settingslogic.new({})
  Settings.git['max_size']  ||= 20971520 # 20.megabytes
@@ -100,7 +100,7 @@ index be8fcc7..7642d74 100644
    end
  end
 diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
-index 60f4636..157641f 100644
+index 5f4a6bb..01b4cfd 100644
 --- a/lib/tasks/gitlab/check.rake
 +++ b/lib/tasks/gitlab/check.rake
 @@ -223,7 +223,7 @@ namespace :gitlab do
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 13385209019f..290d27b37368 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pythonPackages, makeWrapper, docutils, unzip
+{ stdenv, fetchurl, python2Packages, makeWrapper, docutils, unzip
 , guiSupport ? false, tk ? null
 , ApplicationServices, cf-private }:
 
@@ -6,7 +6,7 @@ let
   # if you bump version, update pkgs.tortoisehg too or ping maintainer
   version = "3.9.1";
   name = "mercurial-${version}";
-  inherit (pythonPackages) curses docutils hg-git dulwich python;
+  inherit (python2Packages) curses docutils hg-git dulwich python;
 in
 
 stdenv.mkDerivation {
diff --git a/pkgs/applications/version-management/subversion/default.nix b/pkgs/applications/version-management/subversion/default.nix
index 223a10fb983c..034bde6911ec 100644
--- a/pkgs/applications/version-management/subversion/default.nix
+++ b/pkgs/applications/version-management/subversion/default.nix
@@ -7,7 +7,7 @@
 , saslSupport ? false
 , stdenv, fetchurl, apr, aprutil, zlib, sqlite
 , apacheHttpd ? null, expat, swig ? null, jdk ? null, python ? null, perl ? null
-, sasl ? null, serf ? null
+, sasl ? null, serf ? null, openssl
 }:
 
 assert bdbSupport -> aprutil.bdbSupport;
@@ -29,7 +29,7 @@ let
   # Can't do separate $lib and $bin, as libs reference bins
   outputs = [ "out" "dev" "man" ];
 
-    buildInputs = [ zlib apr aprutil sqlite ]
+    buildInputs = [ zlib apr aprutil sqlite openssl ]
       ++ stdenv.lib.optional httpSupport serf
       ++ stdenv.lib.optional pythonBindings python
       ++ stdenv.lib.optional perlBindings perl
@@ -75,11 +75,13 @@ let
       mkdir -p $out/share/bash-completion/completions
       cp tools/client-side/bash_completion $out/share/bash-completion/completions/subversion
 
-    for f in $out/lib/*.la; do
-      substituteInPlace $f --replace "${expat.dev}/lib" "${expat.out}/lib"
-      substituteInPlace $f --replace "${zlib.dev}/lib" "${zlib.out}/lib"
-      substituteInPlace $f --replace "${sqlite.dev}/lib" "${sqlite.out}/lib"
-    done
+      for f in $out/lib/*.la; do
+        substituteInPlace $f \
+          --replace "${expat.dev}/lib" "${expat.out}/lib" \
+          --replace "${zlib.dev}/lib" "${zlib.out}/lib" \
+          --replace "${sqlite.dev}/lib" "${sqlite.out}/lib" \
+          --replace "${openssl.dev}/lib" "${openssl.out}/lib"
+      done
     '';
 
     inherit perlBindings pythonBindings;
diff --git a/pkgs/applications/video/key-mon/default.nix b/pkgs/applications/video/key-mon/default.nix
index a579b21a1de7..b36b539176ee 100644
--- a/pkgs/applications/video/key-mon/default.nix
+++ b/pkgs/applications/video/key-mon/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, gnome2, librsvg, pygtk, pythonPackages }:
+{ stdenv, fetchurl, gnome2, librsvg, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "key-mon-${version}";
   version = "1.17";
   namePrefix = "";
@@ -11,7 +11,7 @@ buildPythonApplication rec {
   };
 
   propagatedBuildInputs =
-    [ gnome2.python_rsvg librsvg pygtk pythonPackages.xlib ];
+    [ gnome2.python_rsvg librsvg pythonPackages.pygtk pythonPackages.xlib ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 43b6f4f36cf2..3a270da21e97 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, freetype, yasm
+{ stdenv, fetchurl, fetchpatch, pkgconfig, freetype, yasm, ffmpeg
 , aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
@@ -84,34 +84,19 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "mplayer-1.1.1";
+  name = "mplayer-1.3.0";
 
   src = fetchurl {
-    # Old kind of URL:
-    # url = http://tarballs.nixos.org/mplayer-snapshot-20101227.tar.bz2;
-    # Snapshot I took on 20110423
-
-    #Transient
-    #url = http://www.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2;
-    #sha256 = "cc1b3fda75b172f02c3f46581cfb2c17f4090997fe9314ad046e464a76b858bb";
-
-    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.1.1.tar.xz";
-    sha256 = "ce8fc7c3179e6a57eb3a58cb7d1604388756b8a61764cc93e095e7aff3798c76";
+    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-1.3.0.tar.xz";
+    sha256 = "0hwqn04bdknb2ic88xd75smffxx63scvz0zvwvjb56nqj9n89l1s";
   };
 
   prePatch = ''
     sed -i /^_install_strip/d configure
   '';
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/pigoz/mplayer-svn/commit/6c6a7c2afe11c15716cdf4371fb4bf211644b7e1.patch";
-      sha256 = "0abg5122kisgcc8ay3barlibrgn259igsfq3ak6na9g8j5cgviw9";
-    })
-  ];
-
   buildInputs = with stdenv.lib;
-    [ pkgconfig freetype ]
+    [ pkgconfig freetype ffmpeg ]
     ++ optional aalibSupport aalib
     ++ optional fontconfigSupport fontconfig
     ++ optional fribidiSupport fribidi
diff --git a/pkgs/applications/video/subtitleeditor/default.nix b/pkgs/applications/video/subtitleeditor/default.nix
index e3cd242bd73c..3f8f683e0ca9 100644
--- a/pkgs/applications/video/subtitleeditor/default.nix
+++ b/pkgs/applications/video/subtitleeditor/default.nix
@@ -1,10 +1,11 @@
-{ stdenv, fetchurl, pkgconfig, autoconf, automake114x, intltool,
-  desktop_file_utils, enchant, gnome3, gst_all_1, hicolor_icon_theme,
-  libsigcxx, libxmlxx, xdg_utils, isocodes, wrapGAppsHook } :
+{ stdenv, fetchurl, pkgconfig, intltool, file, desktop_file_utils,
+  enchant, gnome3, gst_all_1, hicolor_icon_theme, libsigcxx, libxmlxx,
+  xdg_utils, isocodes, wrapGAppsHook
+}:
 
 let
-  ver_maj = "0.52";
-  ver_min = "1";
+  ver_maj = "0.53";
+  ver_min = "0";
 in
 
 stdenv.mkDerivation rec {
@@ -12,11 +13,14 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.gna.org/subtitleeditor/${ver_maj}/subtitleeditor-${ver_maj}.${ver_min}.tar.gz";
-    sha256 = "1m8j2i27kjaycvp09b0knp9in61jd2dj852hrx5hvkrby70mygjv";
+    sha256 = "087rxignjawby4z3lwnh9m6pcjphl3a0jf7gfp83h92mzcq79b4g";
   };
 
   nativeBuildInputs =  [
-    autoconf automake114x pkgconfig intltool wrapGAppsHook
+    pkgconfig
+    intltool
+    file
+    wrapGAppsHook
   ];
 
   buildInputs =  [
@@ -35,20 +39,14 @@ stdenv.mkDerivation rec {
     isocodes
   ];
 
-  NIX_CFLAGS_COMPILE = "-std=c++11 -DDEBUG";
-
   enableParallelBuilding = true;
 
-  doCheck = true;
+  # disable check because currently making check in po fails
+  doCheck = false;
 
   hardeningDisable = [ "format" ];
 
-  patches = [ ./subtitleeditor-0.52.1-build-fix.patch ];
-
-  preConfigure = ''
-    # ansi overrides -std, see src_configure
-    sed 's/\(CXXFLAGS\) -ansi/\1/' -i configure.ac configure
-  '';
+  preConfigure = "substituteInPlace ./configure --replace /usr/bin/file ${file}/bin/file";
 
   configureFlags = [ "--disable-debug" ];
 
diff --git a/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch b/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch
deleted file mode 100644
index 9cce5d2d98f2..000000000000
--- a/pkgs/applications/video/subtitleeditor/subtitleeditor-0.52.1-build-fix.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Fix build errors with gcc-4.9.3 -std=c++11 (after disabling -ansi)
-
-https://gna.org/bugs/?23714
-
-https://bugs.gentoo.org/show_bug.cgi?id=550764
-https://bugs.gentoo.org/show_bug.cgi?id=566328
-
---- a/src/subtitleview.cc	2015-12-24 01:52:29.322622155 +0100
-+++ b/src/subtitleview.cc	2015-12-24 01:52:44.210491213 +0100
-@@ -1363,7 +1363,7 @@
- 	{
- 		int num;
- 		std::istringstream ss(event->string);
--		bool is_num = ss >> num != 0; 
-+		bool is_num = static_cast<bool>(ss >> num) != 0; 
- 		// Update only if it's different
- 		if(is_num != get_enable_search())
- 			set_enable_search(is_num);
---- a/src/utility.h	2015-12-24 01:49:42.205104858 +0100
-+++ b/src/utility.h	2015-12-24 01:50:23.387737071 +0100
-@@ -91,7 +91,7 @@
- 	std::istringstream s(src);
- 	// return s >> dest != 0;
- 
--	bool state = s >> dest != 0;
-+	bool state = static_cast<bool>(s >> dest) != 0;
- 
- 	if(!state)
- 		se_debug_message(SE_DEBUG_UTILITY, "string:'%s'failed.", src.c_str());
---- a/plugins/actions/dialoguize/dialoguize.cc	2015-12-24 01:06:24.125428454 +0100
-+++ b/plugins/actions/dialoguize/dialoguize.cc	2015-12-24 01:06:42.630277006 +0100
-@@ -23,7 +23,7 @@
-  *	along with this program. If not, see <http://www.gnu.org/licenses/>.
-  */
-  
--#include <auto_ptr.h>
-+#include <memory>
- #include "extension/action.h"
- #include "i18n.h"
- #include "debug.h"
---- a/plugins/actions/documentmanagement/documentmanagement.old	2015-12-24 01:17:13.914730337 +0100
-+++ b/plugins/actions/documentmanagement/documentmanagement.cc	2015-12-24 01:17:23.339640430 +0100
-@@ -178,9 +178,9 @@
- 
- 		ui_id = ui->new_merge_id();
- 
--		#define ADD_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/"name, name, name);
--		#define ADD_OPEN_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-open/"name, name, name);
--		#define ADD_SAVE_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-save/"name, name, name);
-+		#define ADD_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/" name, name, name);
-+		#define ADD_OPEN_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-open/" name, name, name);
-+		#define ADD_SAVE_UI(name) ui->add_ui(ui_id, "/menubar/menu-file/menu-save/" name, name, name);
- 
- 		ADD_UI("new-document");
- 		ADD_OPEN_UI("open-document");
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index e431501cf292..f1ee4426d97c 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -15,7 +15,7 @@
 
 with stdenv.lib;
 let
-  version = "2.6.1";
+  version = "2.7.0";
   audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
     + optionalString pulseSupport "pa,"
     + optionalString sdlSupport "sdl,";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
-    sha256 = "1l88iqk0swqccrnjwczgl9arqsvy77bis862zxajy7z3dqdzshj9";
+    sha256 = "0lqyz01z90nvxpc3nx4djbci7hx62cwvs5zwd6phssds0sap6vij";
   };
 
   buildInputs =
@@ -47,22 +47,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./no-etc-install.patch
-    (fetchpatch {
-      url = "http://git.qemu.org/?p=qemu.git;a=patch;h=fff39a7ad09da07ef490de05c92c91f22f8002f2";
-      name = "9pfs-forbid-illegal-path-names.patch";
-      sha256 = "081j85p6m7s1cfh3aq1i2av2fsiarlri9gs939s0wvc6pdyb4b70";
-    })
-    (fetchpatch {
-      url = "http://git.qemu.org/?p=qemu.git;a=patch;h=805b5d98c649d26fc44d2d7755a97f18e62b438a";
-      name = "9pfs-forbid-.-and-..-in-file-names.patch";
-      sha256 = "0km6knll492dx745gx37bi6dhmz08cmjiyf479ajkykp0aljii24";
-    })
-    (fetchpatch {
-      url = "http://git.qemu.org/?p=qemu.git;a=patch;h=56f101ecce0eafd09e2daf1c4eeb1377d6959261";
-      name = "9pfs-directory-traversal-CVE-2016-7116.patch";
-      sha256 = "06pr070qj19w5mjxr36bcqxmgpiczncigqsbwfc8ncjhm1h7dmry";
-    })
   ];
+  hardeningDisable = [ "stackprotector" ];
 
   configureFlags =
     [ "--smbd=smbd" # use `smbd' from $PATH
diff --git a/pkgs/applications/virtualization/spice-vdagent/default.nix b/pkgs/applications/virtualization/spice-vdagent/default.nix
index add5f96e7f59..7a43a8b88009 100644
--- a/pkgs/applications/virtualization/spice-vdagent/default.nix
+++ b/pkgs/applications/virtualization/spice-vdagent/default.nix
@@ -1,16 +1,17 @@
 {stdenv, fetchurl, pkgconfig, alsaLib, spice_protocol, glib,
- libpciaccess, libxcb, libXrandr, libXinerama, libXfixes}:
+ libpciaccess, libxcb, libXrandr, libXinerama, libXfixes, dbus}:
 stdenv.mkDerivation rec {
-  name = "spice-vdagent-0.16.0";
+  name = "spice-vdagent-0.17.0";
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "0z8gwc5va2i64mjippavmxajdb9az83ffqyhlbynm6dxw131d5av";
+    sha256 = "0gdkyylyg1hksg0i0anvznqfli2q39335fnrmcd6847frpc8njpi";
   };
   postPatch = ''
     substituteInPlace data/spice-vdagent.desktop --replace /usr $out
   '';
   buildInputs = [ pkgconfig alsaLib spice_protocol glib
-                  libpciaccess libxcb libXrandr libXinerama libXfixes ] ;
+                  libpciaccess libxcb libXrandr libXinerama libXfixes
+                  dbus ] ;
   meta = {
     description = "Enhanced SPICE integration for linux QEMU guest";
     longDescription = ''
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index 30b4f782e167..5a97d2a8efd0 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,12 +19,13 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "pic" ];
 
+  NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
+
   buildInputs = [ patchelf cdrkit makeWrapper dbus ];
 
   installPhase = ''
     mkdir -p $out
     cp -r install/* $out
-
   '';
 
   buildCommand = with xorg; ''
@@ -139,6 +140,5 @@ stdenv.mkDerivation {
     license = "GPL";
     maintainers = [ lib.maintainers.sander ];
     platforms = lib.platforms.linux;
-    broken = kernel.features.grsecurity or false;
   };
 }
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 4b0201bc189d..2f65322c3563 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -2,7 +2,7 @@
 , libuuid, gettext, ncurses, dev86, iasl, pciutils, bzip2
 , lvm2, utillinux, procps, texinfo, perl, pythonPackages
 , glib, bridge-utils, xorg, pixman, iproute, udev, bison
-, flex, cmake, ocaml, ocamlPackages, figlet, libaio, yajl
+, flex, cmake, ocamlPackages, figlet, libaio, yajl
 , checkpolicy, transfig, glusterfs, acl, fetchgit, xz, spice
 , spice_protocol, usbredir, alsaLib, quilt
 , coreutils, gawk, gnused, gnugrep, diffutils, multipath-tools
@@ -40,7 +40,7 @@ stdenv.mkDerivation {
       dev86 iasl pciutils bzip2 xz texinfo perl yajl
       pythonPackages.python pythonPackages.wrapPython
       glib bridge-utils pixman iproute udev bison xorg.libX11
-      flex ocaml ocamlPackages.findlib figlet libaio
+      flex ocamlPackages.ocaml ocamlPackages.findlib figlet libaio
       checkpolicy pythonPackages.markdown transfig
       glusterfs acl cmake spice spice_protocol usbredir
       alsaLib quilt
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index 6a5e4564122d..d170c9b74785 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchFromGitHub, buildPythonApplication, python27Packages, pkgs }:
+{ stdenv, fetchFromGitHub, python27Packages, glib, cairo, pango, pkgconfig, libxcb, xcbutilcursor }:
 
 let cairocffi-xcffib = python27Packages.cairocffi.override {
     pythonPath = [ python27Packages.xcffib ];
   };
 in
 
-buildPythonApplication rec {
+python27Packages.buildPythonApplication rec {
   name = "qtile-${version}";
   version = "0.10.4";
 
@@ -24,12 +24,12 @@ buildPythonApplication rec {
 
   postPatch = ''
     substituteInPlace libqtile/manager.py --subst-var-by out $out
-    substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${pkgs.glib.out}
-    substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pkgs.pango.out}
-    substituteInPlace libqtile/xcursors.py --subst-var-by xcb-cursor ${pkgs.xorg.xcbutilcursor.out}
+    substituteInPlace libqtile/pangocffi.py --subst-var-by glib ${glib.out}
+    substituteInPlace libqtile/pangocffi.py --subst-var-by pango ${pango.out}
+    substituteInPlace libqtile/xcursors.py --subst-var-by xcb-cursor ${xcbutilcursor.out}
   '';
 
-  buildInputs = [ pkgs.pkgconfig pkgs.glib pkgs.xorg.libxcb pkgs.cairo pkgs.pango python27Packages.xcffib ];
+  buildInputs = [ pkgconfig glib libxcb cairo pango python27Packages.xcffib ];
 
   pythonPath = with python27Packages; [ xcffib cairocffi-xcffib trollius readline];
 
diff --git a/pkgs/build-support/docker/default.nix b/pkgs/build-support/docker/default.nix
index 4c5378ea73f3..dd5c523b91b5 100644
--- a/pkgs/build-support/docker/default.nix
+++ b/pkgs/build-support/docker/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, callPackage, runCommand, writeReferencesToFile, writeText, vmTools, writeScript
-, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, go, pigz }:
+, docker, shadow, utillinux, coreutils, jshon, e2fsprogs, go, pigz, findutils }:
 
 # WARNING: this API is unstable and may be subject to backwards-incompatible changes in the future.
   
@@ -249,7 +249,7 @@ EOF
                then mkPureLayer { inherit baseJson contents extraCommands; }
                else mkRootLayer { inherit baseJson fromImage fromImageName fromImageTag contents runAsRoot diskSize extraCommands; });
       result = runCommand "${baseName}.tar.gz" {
-        buildInputs = [ jshon pigz ];
+        buildInputs = [ jshon pigz coreutils findutils ];
 
         imageName = name;
         imageTag = tag;
@@ -261,6 +261,18 @@ EOF
           buildArgs = args;
         };
       } ''
+        # Print tar contents:
+        # 1: Interpreted as relative to the root directory
+        # 2: With no trailing slashes on directories
+        # This is useful for ensuring that the output matches the values generated by the "find" command
+        ls_tar() {
+            for f in $(tar -tf $1 | xargs realpath -ms --relative-to=.); do
+                if [ "$f" != "." ]; then
+                    echo "/$f"
+                fi
+            done
+        }
+      
         mkdir image
         touch baseFiles
         if [ -n "$fromImage" ]; then
@@ -276,7 +288,7 @@ EOF
           parentID=$(jshon -e $fromImageName -e $fromImageTag -u < image/repositories)
           
           for l in image/*/layer.tar; do
-            tar -tf $l >> baseFiles
+            ls_tar $l >> baseFiles
           done
         fi
 
@@ -297,8 +309,7 @@ EOF
         fi
 
         echo Adding layer
-        tar -tf temp/layer.tar >> baseFiles
-        sed 's/^\.//' -i baseFiles
+        ls_tar temp/layer.tar >> baseFiles
         comm <(sort -u baseFiles) <(sort -u layerFiles) -1 -3 > newFiles
         tar -rpf temp/layer.tar --mtime=0 --no-recursion --files-from newFiles 2>/dev/null || true
 
diff --git a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
index e06ffca8b90d..c862bee0c906 100644
--- a/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
+++ b/pkgs/desktops/gnome-2/bindings/python-rsvg/default.nix
@@ -1,6 +1,8 @@
-{ stdenv, fetchurl, gnome2, librsvg, pkgconfig, pygtk, python, gtk }:
+{ stdenv, fetchurl, gnome2, librsvg, pkgconfig, python27Packages, gtk }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python27Packages) python pygtk;
+in stdenv.mkDerivation rec {
   ver_maj = "2.32";
   ver_min = "0";
   version = "${ver_maj}.${ver_min}";
diff --git a/pkgs/desktops/gnome-2/desktop/vte/default.nix b/pkgs/desktops/gnome-2/desktop/vte/default.nix
index b086c64abff8..7b23d91e5490 100644
--- a/pkgs/desktops/gnome-2/desktop/vte/default.nix
+++ b/pkgs/desktops/gnome-2/desktop/vte/default.nix
@@ -1,7 +1,9 @@
 { stdenv, fetchurl, intltool, pkgconfig, glib, gtk, ncurses
-, pythonSupport ? false, python, pygtk}:
+, pythonSupport ? false, python27Packages}:
 
-stdenv.mkDerivation rec {
+let
+  inherit (python27Packages) python pygtk;
+in stdenv.mkDerivation rec {
   name = "vte-0.28.2";
 
   src = fetchurl {
diff --git a/pkgs/desktops/gnome-3/3.20/apps/file-roller/src.nix b/pkgs/desktops/gnome-3/3.20/apps/file-roller/src.nix
index dbea187cee02..37595ae27d78 100644
--- a/pkgs/desktops/gnome-3/3.20/apps/file-roller/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/apps/file-roller/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "file-roller-3.20.2";
+  name = "file-roller-3.20.3";
 
   src = fetchurl {
-    url = mirror://gnome/sources/file-roller/3.20/file-roller-3.20.2.tar.xz;
-    sha256 = "93188a7ac9285cb85551c327082aeaeb51ac39a9722cb96b0e29d5ec2ae353c6";
+    url = mirror://gnome/sources/file-roller/3.20/file-roller-3.20.3.tar.xz;
+    sha256 = "6b5c2de4c6bd52318cacd2a398cdfa45a5f1df8a77c6652a38a6a1d3e53644e9";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/core/eog/src.nix b/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
index f3995e6bc2c6..d6962861e5cf 100644
--- a/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
+++ b/pkgs/desktops/gnome-3/3.20/core/eog/src.nix
@@ -4,7 +4,7 @@ fetchurl: {
   name = "eog-3.20.4";
 
   src = fetchurl {
-    url = mirror://gnome/sources/eog/3.20/eog-3.20.3.tar.xz;
-    sha256 = "09ic1ndvl31jnlsmigd5dgdv262ybq61ik0xh35kmvgcklw8qc0n";
+    url = mirror://gnome/sources/eog/3.20/eog-3.20.4.tar.xz;
+    sha256 = "1qsv3brhi8l8fr22nd3d0fwq5xhwspqw0bammhkkq3ga0z6791wn";
   };
 }
diff --git a/pkgs/desktops/gnome-3/3.20/default.nix b/pkgs/desktops/gnome-3/3.20/default.nix
index 817c0d9b1d64..599815b59a70 100644
--- a/pkgs/desktops/gnome-3/3.20/default.nix
+++ b/pkgs/desktops/gnome-3/3.20/default.nix
@@ -45,16 +45,14 @@ let
     hitori gnome-taquin
   ];
 
-  inherit (pkgs) glib gtk2 webkitgtk24x webkitgtk212x gtk3 gtkmm3 libcanberra_gtk2;
+  inherit (pkgs) glib gtk2 webkitgtk24x webkitgtk212x gtk3 gtkmm3 libcanberra_gtk2
+    clutter-gst clutter_gtk;
   inherit (pkgs.gnome2) ORBit2;
   libsoup = pkgs.libsoup.override { gnomeSupport = true; };
   libchamplain = pkgs.libchamplain.override { libsoup = libsoup; };
   orbit = ORBit2;
   gnome3 = self // { recurseForDerivations = false; };
   clutter = pkgs.clutter_1_26;
-  clutter_gtk = pkgs.clutter_gtk_1_8.override { inherit clutter gtk3; };
-  clutter-gst_2 = pkgs.clutter-gst;
-  clutter-gst = pkgs.clutter-gst_3_0.override { inherit clutter cogl; };
   cogl = pkgs.cogl_1_22;
   gtk = gtk3;
   gtkmm = gtkmm3;
@@ -273,7 +271,7 @@ let
 
   gnome-boxes = callPackage ./apps/gnome-boxes {
     gtkvnc = pkgs.gtkvnc.override { enableGTK3 = true; };
-    spice_gtk = pkgs.spice_gtk.override { enableGTK3 = true; };
+    spice_gtk = pkgs.spice_gtk;
   };
 
   gnome-calendar = callPackage ./apps/gnome-calendar { };
@@ -392,7 +390,7 @@ let
   gpaste = callPackage ./misc/gpaste { };
 
   pidgin-im-gnome-shell-extension = callPackage ./misc/pidgin { };
-  
+
   gtkhtml = callPackage ./misc/gtkhtml { };
 
   pomodoro = callPackage ./misc/pomodoro { };
diff --git a/pkgs/desktops/mate/mate-common/default.nix b/pkgs/desktops/mate/mate-common/default.nix
index ada4fb7a3946..7a7ad23c6bdd 100644
--- a/pkgs/desktops/mate/mate-common/default.nix
+++ b/pkgs/desktops/mate/mate-common/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "mate-common-${version}";
   version = "${major-ver}.${minor-ver}";
-  major-ver = "1.15";
+  major-ver = "1.16";
   minor-ver = "0";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
-    sha256 = "1r3c0i03ylrlibn4pz4j9qzbnj7b540hyhf98kkzzh680jn59iiy";
+    sha256 = "02pj5ry3c7p5sd2mp9dsshy0ij0xgv00bxr4vvmnm027hv2silrl";
   };
 
   meta = {
diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
index e0f370fed761..d9370f318d72 100644
--- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "mate-icon-theme-faenza-${version}";
   version = "${major-ver}.${minor-ver}";
-  major-ver = "1.15";
-  minor-ver = "1";
+  major-ver = "1.16";
+  minor-ver = "0";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
-    sha256 = "1x2jn86gcv6spnkvhjg0mzp5qhlb5dw4h8m8qp1hdgzzrzinfr3p";
+    sha256 = "0p3z3qarbvrhzj2sdw3f8dp0c7wwjkk9a749bq8rh5gm9m66hibg";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/desktops/mate/mate-icon-theme/default.nix b/pkgs/desktops/mate/mate-icon-theme/default.nix
index 9d4adb331ac9..8acef0338715 100644
--- a/pkgs/desktops/mate/mate-icon-theme/default.nix
+++ b/pkgs/desktops/mate/mate-icon-theme/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name = "mate-icon-theme-${version}";
   version = "${major-ver}.${minor-ver}";
-  major-ver = "1.15";
+  major-ver = "1.16";
   minor-ver = "0";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz";
-    sha256 = "1jpz3ihmyhyiyqlqz798xgzl3qa31ghymw3yrw6abd7ww0nkwiq9";
+    sha256 = "1zldw22p1i76iss8car39pmfagpfxxlfk1fdhvr4x5r6gf36gv7d";
   };
 
   nativeBuildInputs = [ pkgconfig intltool iconnamingutils ];
diff --git a/pkgs/desktops/mate/mate-themes/default.nix b/pkgs/desktops/mate/mate-themes/default.nix
index 5bb7424dc6b3..343148da0bc8 100644
--- a/pkgs/desktops/mate/mate-themes/default.nix
+++ b/pkgs/desktops/mate/mate-themes/default.nix
@@ -6,15 +6,17 @@ stdenv.mkDerivation rec {
   version = "${major-ver}.${minor-ver}";
   major-ver = gnome3.version;
   minor-ver = {
-    "3.18" = "3";
-    "3.20" = "10";
+    "3.18" = "4";
+    "3.20" = "12";
+    "3.22" = "3";
   }."${major-ver}";
 
   src = fetchurl {
     url = "http://pub.mate-desktop.org/releases/themes/${major-ver}/${name}.tar.xz";
     sha256 = {
-      "3.18" = "09vglvjnjnm95wxw5b7pn6rf5xrr3nfyqs5c3y1c72z4p3w8qqn5";
-      "3.20" = "0bhhidip8qbsq69a9n0dmxfryhvzngiy59vnms6xhya9n7y19hci";
+      "3.18" = "1h3z705jrg7gng5glf51ksszjz6v81qq83qvmfpv1v69bwn6fy4b";
+      "3.20" = "15s2xp2cq9x8iikvbywr5gl8l33i57i1xvbv4jc2qipnkn3c4yca";
+      "3.22" = "0p1rf5q2nr1vsab3pljwycclbrnwylvp88d0dhk8as0d6n6fp85k";
     }."${major-ver}";
   };
 
diff --git a/pkgs/development/arduino/ino/default.nix b/pkgs/development/arduino/ino/default.nix
index 07dc229bcc2a..aeb0c5bf8ac7 100644
--- a/pkgs/development/arduino/ino/default.nix
+++ b/pkgs/development/arduino/ino/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages, picocom
+{ stdenv, fetchurl, pythonPackages, picocom
 , avrdude, arduino-core, avrgcclibc }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "ino-0.3.6";
   namePrefix = "";
 
diff --git a/pkgs/development/compilers/compcert/default.nix b/pkgs/development/compilers/compcert/default.nix
index 4957706ea0f8..fb95372a96f7 100644
--- a/pkgs/development/compilers/compcert/default.nix
+++ b/pkgs/development/compilers/compcert/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, fetchurl, coq, ocamlPackages
+{ stdenv, lib, fetchurl
+, coq, ocaml, findlib, menhir
 , tools ? stdenv.cc
 }:
 
+assert lib.versionAtLeast ocaml.version "4.02";
+
 stdenv.mkDerivation rec {
   name    = "compcert-${version}";
   version = "2.7.1";
@@ -11,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "1vhbs1fmr9x2imqyd6yfvkbz763jhjfm9wk4nizf9rn1cvxrjqa4";
   };
 
-  buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir ]);
+  buildInputs = [ coq ocaml findlib menhir ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/compilers/mlton/default.nix b/pkgs/development/compilers/mlton/default.nix
index 9c5ce109b86b..583f6f80137f 100644
--- a/pkgs/development/compilers/mlton/default.nix
+++ b/pkgs/development/compilers/mlton/default.nix
@@ -63,6 +63,8 @@ stdenv.mkDerivation rec {
     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 = ''
@@ -83,6 +85,11 @@ stdenv.mkDerivation rec {
     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;
diff --git a/pkgs/development/compilers/ocaml/3.08.0.nix b/pkgs/development/compilers/ocaml/3.08.0.nix
index 3b0ab46bcd54..4337de702e16 100644
--- a/pkgs/development/compilers/ocaml/3.08.0.nix
+++ b/pkgs/development/compilers/ocaml/3.08.0.nix
@@ -1,10 +1,12 @@
 { stdenv, fetchurl, xlibsWrapper }:
 
-stdenv.mkDerivation {
-  name = "ocaml-3.08.0";
+stdenv.mkDerivation rec {
+  name = "ocaml-${version}";
+  version = "3.08.0";
+
   builder = ./builder.sh;
   src = fetchurl {
-    url = http://tarballs.nixos.org/ocaml-3.08.0.tar.gz;
+    url = "http://tarballs.nixos.org/${name}.tar.gz";
     sha256 = "135g5waj7djzrj0dbc8z1llasfs2iv5asq41jifhldxb4l2b97mx";
   };
   configureScript = ./configure-3.08.0;
diff --git a/pkgs/development/compilers/ocaml/3.10.0.nix b/pkgs/development/compilers/ocaml/3.10.0.nix
index cd18f48ed486..ca21612776f0 100644
--- a/pkgs/development/compilers/ocaml/3.10.0.nix
+++ b/pkgs/development/compilers/ocaml/3.10.0.nix
@@ -2,7 +2,8 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "ocaml-3.10.0";
+  name = "ocaml-${version}";
+  version = "3.10.0";
 
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.10/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/3.11.2.nix b/pkgs/development/compilers/ocaml/3.11.2.nix
index c62a8151ef78..df62cd3656b4 100644
--- a/pkgs/development/compilers/ocaml/3.11.2.nix
+++ b/pkgs/development/compilers/ocaml/3.11.2.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-3.11.2";
+  name = "ocaml-${version}";
+  version = "3.11.2";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.11/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/3.12.1.nix b/pkgs/development/compilers/ocaml/3.12.1.nix
index e14667ce1311..c69554e633a9 100644
--- a/pkgs/development/compilers/ocaml/3.12.1.nix
+++ b/pkgs/development/compilers/ocaml/3.12.1.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ocaml-3.12.1";
+  name = "ocaml-${version}";
+  version = "3.12.1";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.12/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/4.00.1.nix b/pkgs/development/compilers/ocaml/4.00.1.nix
index 8ad3620bc737..648ef0d91f9e 100644
--- a/pkgs/development/compilers/ocaml/4.00.1.nix
+++ b/pkgs/development/compilers/ocaml/4.00.1.nix
@@ -7,8 +7,8 @@ let
 in
 
 stdenv.mkDerivation rec {
-  
-  name = "ocaml-4.00.1";
+  name = "ocaml-${version}";
+  version = "4.00.1";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-4.00/${name}.tar.bz2";
diff --git a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
index 6c2bc8cb9ca7..c95d29326a4e 100644
--- a/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
+++ b/pkgs/development/compilers/ocaml/ber-metaocaml-003.nix
@@ -8,7 +8,8 @@ in
 
 stdenv.mkDerivation rec {
   
-  name = "ber-metaocaml-003";
+  name = "ber-metaocaml-${version}";
+  version = "003";
   
   src = fetchurl {
     url = "http://caml.inria.fr/pub/distrib/ocaml-3.11/ocaml-3.11.2.tar.bz2";
@@ -66,5 +67,6 @@ stdenv.mkDerivation rec {
       A conservative extension of OCaml with the primitive type of code values,
       and three basic multi-stage expression forms: Brackets, Escape, and Run
     '';
+    broken = true;
   };
 }
diff --git a/pkgs/development/compilers/ocaml/generic.nix b/pkgs/development/compilers/ocaml/generic.nix
index f75d6384b905..abded4b66900 100644
--- a/pkgs/development/compilers/ocaml/generic.nix
+++ b/pkgs/development/compilers/ocaml/generic.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation (args // rec {
   x11inc = x11env + "/include";
 
   inherit name;
+  inherit version;
 
   src = fetchurl {
     url = real_url;
diff --git a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
index 6eca566dd2cd..e9adbeff4904 100644
--- a/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
+++ b/pkgs/development/compilers/ocaml/metaocaml-3.09.nix
@@ -2,7 +2,8 @@
 
 stdenv.mkDerivation (rec {
 
-  name = "metaocaml-3.09-alpha-30";
+  name = "metaocaml-${version}";
+  version = "3.09-alpha-30";
 
   src = fetchurl {
     url = "http://www.metaocaml.org/dist/old/MetaOCaml_309_alpha_030.tar.gz";
@@ -26,7 +27,8 @@ stdenv.mkDerivation (rec {
   meta = {
     homepage = http://www.metaocaml.org/;
     license = with stdenv.lib.licenses; [ qpl lgpl2 ];
-    desctiption = "A compiled, type-safe, multi-stage programming language";
+    description = "A compiled, type-safe, multi-stage programming language";
+    broken = true;
   };
 
 })
diff --git a/pkgs/development/compilers/oraclejdk/jdk6-construct.sh b/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
deleted file mode 100644
index 16ee0f5a2f04..000000000000
--- a/pkgs/development/compilers/oraclejdk/jdk6-construct.sh
+++ /dev/null
@@ -1,273 +0,0 @@
-#!/bin/bash
-# construct.sh
-# example construction of JRE and JDK directories from the DLJ bundles
-#
-# Copyright © 2006 Sun Microsystems, Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Sun, Sun Microsystems, the Sun logo and Java, Java HotSpot,
-# and JVM  trademarks or registered trademarks of Sun Microsystems,
-# Inc. in the U.S. and other countries.
-
-
-program=`basename $0`
-
-usage () {
-  echo "usage: ${program} path/to/unbundle-jdk path/to/linux-jdk path/to/linux-jre"
-}
-
-getargs() {
-  undir=$1
-  jdkdir=$2
-  jredir=$3
-  if [ ! -d $undir ]; then
-    echo "${program}: unbundle directory not found: $undir"
-    exit 2
-  fi
-  # make sure javahome is the JDK
-  javahome=`echo $undir/*/db/demo`
-  if [ ! -d $javahome ]; then
-    echo "${program}: unbundle directory incorrect: $undir"
-    echo "  expecting $undir/jdk1.5.0_xx"
-    exit 2
-  else
-    javahome=$(dirname $(dirname $javahome))
-  fi
-  # verify JDK dir
-  jdkdirp=`dirname $jdkdir`
-  jdkbase=`basename $jdkdir`
-  if [ ! -d $jdkdirp ]; then
-    echo "${program}: parent directory for JDK does not exist: $jdkdirp"
-    exit 2
-  fi
-  savedir=`pwd`
-  cd $jdkdirp
-  jdkdirp=`pwd`
-  cd $savedir
-  jdkdir=$jdkdirp/$jdkbase
-  # verify JRE dir
-  jredirp=`dirname $jredir`
-  jrebase=`basename $jredir`
-  if [ ! -d $jredirp ]; then
-    echo "${program}: parent directory for JRE does not exist: $jredirp"
-    exit 2
-  fi
-  savedir=`pwd`
-  cd $jredirp
-  jredirp=`pwd`
-  cd $savedir
-  jredir=$jredirp/$jrebase
-}
-
-checkfiles() {
-  if [ -r $jdkdir ]; then
-    echo "${program}: directory for JDK already exists: $jdkdir"
-    exit 2
-  fi
-  if [ -r $jredir ]; then
-    echo "${program}: directory for JRE already exists: $jredir"
-    exit 2
-  fi
-}
-
-copytree() {
-  echo "copying over the JDK tree..."
-  cp -a $javahome $jdkdir
-}
-
-linkrel() {
-  target=$1
-  link=$2
-  # make a softlink from the $link to the $target
-  # make this a relative link
-  targetb=(`echo $target | tr '/' ' '`)
-  linkb=(`echo $link | tr '/' ' '`)
-  (( n = ${#targetb[*]} ))
-  (( m = ${#linkb[*]} ))
-  c=$n  # common length
-  if [ $m -lt $c ]; then
-    (( c = m ))
-  fi
-  for (( i = 0 ; i < c ; i++ )); do
-    if [ ${targetb[$i]} != ${linkb[$i]} ]; then
-      # echo components differ, stopping
-      break
-    fi
-  done
-  rel=""
-  for (( j = i + 1; j < m ; j++ )); do
-    if [ -z $rel ]; then
-      rel=".."
-    else
-      rel="$rel/.."
-    fi
-  done
-  for (( j = i; j < n ; j++ )); do
-    if [ -z $rel ]; then
-      rel=${targetb[$j]}
-    else
-      rel="$rel/${targetb[$j]}"
-    fi
-  done
-  ln -s $rel $link
-}
-
-createjre() {
-  echo "creating JRE directory..."
-  # absolute link
-  # ln -s $jdkdir/jre $jredir
-  # relative link
-  linkrel $jdkdir/jre $jredir
-}
-
-unpackjars() {
-  echo "unpacking jars..."
-  unpack200=$jdkdir/bin/unpack200
-  if [ ! -x $unpack200 ]; then
-    echo "${program}: file missing $unpack200"
-    exit 1
-  fi
-  cd $jdkdir
-  PACKED_JARS=`find . -name '*.pack'`
-  for i in $PACKED_JARS; do
-    # echo $i
-    jdir=`dirname $i`
-    jbase=`basename $i .pack`
-    if ! $unpack200 $jdkdir/$jdir/$jbase.pack $jdkdir/$jdir/$jbase.jar; then
-      echo "${program}: error unpacking $jdkdir/$jdir/$jbase.jar"
-    fi
-    if [ ! -r $jdkdir/$jdir/$jbase.jar ]; then
-      echo "${program}: missing $jdkdir/$jdir/$jbase.jar"
-    else
-      echo "  $jdir/$jbase.jar"
-      # remove pack file
-      rm $jdkdir/$jdir/$jbase.pack
-    fi
-  done
-}
-
-preparecds() {
-  # if this is a client installation...
-  compiler="`$jdkdir/bin/java -client -version 2>&1 | tail -n +3 | cut -d' ' -f1-4`"
-  if [ "X$compiler" = "XJava HotSpot(TM) Client VM" ]; then
-    # create the CDS archive
-    echo "creating the class data sharing archive..."
-    if ! $jdkdir/bin/java -client -Xshare:dump > /dev/null 2>&1; then
-       echo "returned error code $?"
-    fi
-  fi
-}
-
-jreman () {
-  echo "setting up the JRE man pages..."
-  # note this list is slightly different for OpenSolaris bundles
-  jreman=/tmp/jre.man.txt
-cat <<EOF > $jreman
-man/ja_JP.eucJP/man1/java.1
-man/ja_JP.eucJP/man1/javaws.1
-man/ja_JP.eucJP/man1/keytool.1
-man/ja_JP.eucJP/man1/orbd.1
-man/ja_JP.eucJP/man1/pack200.1
-man/ja_JP.eucJP/man1/policytool.1
-man/ja_JP.eucJP/man1/rmid.1
-man/ja_JP.eucJP/man1/rmiregistry.1
-man/ja_JP.eucJP/man1/servertool.1
-man/ja_JP.eucJP/man1/tnameserv.1
-man/ja_JP.eucJP/man1/unpack200.1
-man/man1/java.1
-man/man1/javaws.1
-man/man1/keytool.1
-man/man1/orbd.1
-man/man1/pack200.1
-man/man1/policytool.1
-man/man1/rmid.1
-man/man1/rmiregistry.1
-man/man1/servertool.1
-man/man1/tnameserv.1
-man/man1/unpack200.1
-EOF
-  # create jre/man directory
-  # mkdir $jdkdir/jre/man
-  # move the real JRE man pages to jre/man
-  # link the JDK JRE man pages to jre/man
-  # real JDK man pages stay where they are
-  for m in `cat $jreman`; do
-    manpath=`dirname $jdkdir/jre/$m`
-    mkdir -p $manpath
-    mv $jdkdir/$m $jdkdir/jre/$m
-    linkrel $jdkdir/jre/$m $jdkdir/$m
-  done
-  # link in Japanese man pages
-  ln -s ja_JP.eucJP $jdkdir/jre/man/ja
-  rm $jreman
-}
-
-elimdups() {
-  echo "eliminating duplication between the JDK and JDK/jre..."
-  jdkcomm=/tmp/jdk.bin.comm.txt
-cat <<EOF > $jdkcomm
-bin/ControlPanel
-bin/java
-bin/javaws
-bin/keytool
-bin/orbd
-bin/pack200
-bin/policytool
-bin/rmid
-bin/rmiregistry
-bin/servertool
-bin/tnameserv
-bin/unpack200
-EOF
-  # note there is little point in linking these common files
-  #   COPYRIGHT
-  #   LICENSE
-  #   THIRDPARTYLICENSEREADME.txt
-  # And this file is unique to the JDK
-  #   README.html
-  # And these files are unique to the JDK/jre/
-  #   CHANGES
-  #   README
-  #   Welcome.html
-  for p in `cat $jdkcomm`; do
-    rm $jdkdir/$p
-    # this is a relative link
-    ln -s ../jre/$p $jdkdir/$p
-  done
-  rm $jdkcomm
-}
-
-if [ $# -eq 3 ] ; then
-  getargs $1 $2 $3
-  checkfiles
-  copytree
-  createjre
-  unpackjars
-  preparecds
-  jreman
-  elimdups
-else
-  usage
-  exit 1
-fi
-
-exit 0
-
diff --git a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix b/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
deleted file mode 100644
index 1b33a40635a5..000000000000
--- a/pkgs/development/compilers/oraclejdk/jdk6-linux.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ swingSupport ? true
-, stdenv
-, requireFile
-, unzip
-, makeWrapper
-, xorg ? null
-, installjdk ? true
-, pluginSupport ? true
-, installjce ? false
-}:
-
-assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
-assert swingSupport -> xorg != null;
-
-let
-
-  /**
-   * The JRE libraries are in directories that depend on the CPU.
-   */
-  architecture =
-    if stdenv.system == "i686-linux" then
-      "i386"
-    else if stdenv.system == "x86_64-linux" then
-      "amd64"
-    else
-      abort "jdk requires i686-linux or x86_64 linux";
-
-  jce =
-    if installjce then
-      requireFile {
-        name = "jce_policy-6.zip";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html;
-        sha256 = "0qljzfxbikm8br5k7rkamibp1vkyjrf6blbxpx6hn4k46f62bhnh";
-      }
-    else
-      null;
-in
-
-stdenv.mkDerivation {
-  name =
-    if installjdk then "jdk-1.6.0_45b06" else "jre-1.6.0_45b06";
-
-  src =
-    if stdenv.system == "i686-linux" then
-      requireFile {
-        name = "jdk-6u45-linux-i586.bin";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
-        sha256 = "0mx3d2qlal5zyz1a7ld1yk2rs8pf9sjxs2jzasais3nq30jmlfym";
-      }
-    else if stdenv.system == "x86_64-linux" then
-      requireFile {
-        name = "jdk-6u45-linux-x64.bin";
-        url = http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html;
-        sha256 = "1s0j1pdr6y8c816d9i86rx4zp12nbhmas1rxksp0r53cn7m3ljbb";
-      }
-    else
-      abort "jdk requires i686-linux or x86_64 linux";
-
-  builder = ./dlj-bundle-builder.sh;
-
-  /**
-   * If jdk5 is added, make sure to use the original construct script.
-   * This copy removes references to kinit, klist, ktab, which seem to be
-   * gone in jdk6.
-   */
-  construct = ./jdk6-construct.sh;
-  inherit installjdk;
-
-  buildInputs = [unzip makeWrapper];
-
-  /**
-   * libXt is only needed on amd64
-   */
-  libraries =
-    [stdenv.cc.libc] ++
-    (if swingSupport then [xorg.libX11 xorg.libXext xorg.libXtst xorg.libXi xorg.libXp xorg.libXt] else []);
-
-  inherit swingSupport pluginSupport architecture jce;
-  inherit (xorg) libX11;
-
-  mozillaPlugin = if installjdk then "/jre/lib/${architecture}/plugins" else "/lib/${architecture}/plugins";
-
-  meta.license = stdenv.lib.licenses.unfree;
-}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 35467080e831..3e660bf5b500 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.3.8";
+  version = "1.3.9";
 
   src = fetchurl {
     url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "0jfhrzsydgxzx0g90bl3fjys0i5biah76lkxjgh16l7h7577y8rh";
+    sha256 = "0vnya755gn1xqjf3crfd1fn9rjzr7p5pjli5mbaxy4wi6za0j3xg";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index 64de27aa5de9..02c7b40485be 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -43,7 +43,7 @@ self: super: {
     src = pkgs.fetchFromGitHub {
       owner = "joeyh";
       repo = "git-annex";
-      sha256 = "0an1rafbv48m04g7crfj2qrk64d98yrjn2z4hfv2pybwmqdmx78z";
+      sha256 = "11xgnryvwh3a1dcd5bczrh6wwf23xa74p31cqvnhf2s6q8cb0aai";
       rev = drv.version;
     };
     doCheck = false;  # version 6.20160907 has a test suite failure; reported upstream
@@ -286,6 +286,7 @@ self: super: {
   github-types = dontCheck super.github-types;          # http://hydra.cryp.to/build/1114046/nixlog/1/raw
   hadoop-rpc = dontCheck super.hadoop-rpc;              # http://hydra.cryp.to/build/527461/nixlog/2/raw
   hasql = dontCheck super.hasql;                        # http://hydra.cryp.to/build/502489/nixlog/4/raw
+  hasql-transaction = dontCheck super.hasql-transaction; # wants to connect to postgresql
   hjsonschema = overrideCabal super.hjsonschema (drv: { testTarget = "local"; });
   hoogle_5_0_4 = super.hoogle_5_0_4.override { haskell-src-exts = self.haskell-src-exts_1_18_2; };
   marmalade-upload = dontCheck super.marmalade-upload;  # http://hydra.cryp.to/build/501904/nixlog/1/raw
@@ -765,38 +766,46 @@ self: super: {
   });
 
   # Fine-tune the build.
-  structured-haskell-mode = overrideCabal super.structured-haskell-mode (drv: {
+  structured-haskell-mode = (overrideCabal super.structured-haskell-mode (drv: {
+    # Bump version to latest git-version to get support for Emacs 25.x.
+    version = "1.0.20-28-g1ffb4db";
+    src = pkgs.fetchFromGitHub {
+      owner = "chrisdone";
+      repo = "structured-haskell-mode";
+      sha256 = "1vrycvqp4n2pp6sq7z2v0zkqz6662nvacm7cla5hrrzl157cg0j5";
+      rev = "1ffb4db1e7049d4089fea430d4f20bce2eff263d";
+    };
+    patches = [ (pkgs.fetchpatch {
+                  url = "https://github.com/chrisdone/structured-haskell-mode/pull/140.patch";
+                  sha256 = "1zwyxfmkl04dy34mbifk24qj9g0sfpz0j8rm688qdah8lavp44df";
+                })
+                (pkgs.fetchpatch {
+                  url = "https://github.com/chrisdone/structured-haskell-mode/pull/141.patch";
+                  sha256 = "1bqgzw8cvxs0yg3yipsayksf7djccslamksm0nkw0kfp22axzmng";
+                })
+              ];
+    jailbreak = false;
     # Statically linked Haskell libraries make the tool start-up much faster,
     # which is important for use in Emacs.
     enableSharedExecutables = false;
-    # Byte-compile elisp code for Emacs.
-    executableToolDepends = drv.executableToolDepends or [] ++ [pkgs.emacs];
+    # Make elisp files available at a location where people expect it. We
+    # cannot easily byte-compile these files, unfortunately, because they
+    # depend on a new version of haskell-mode that we don't have yet.
     postInstall = ''
-      local lispdir=( "$out/share/"*"-${self.ghc.name}/${drv.pname}-${drv.version}/elisp" )
-      pushd >/dev/null $lispdir
-      for i in *.el; do
-        emacs -Q -L . -L ${pkgs.emacsPackages.haskellMode}/share/emacs/site-lisp \
-          --batch --eval "(byte-compile-disable-warning 'cl-functions)" \
-          -f batch-byte-compile $i
-      done
-      popd >/dev/null
+      local lispdir=( "$out/share/"*"-${self.ghc.name}/${drv.pname}-"*"/elisp" )
       mkdir -p $out/share/emacs
       ln -s $lispdir $out/share/emacs/site-lisp
     '';
-  });
+  })).override {
+    haskell-src-exts = self.haskell-src-exts_1_18_2;
+  };
 
-  # Byte-compile elisp code for Emacs.
+  # # Make elisp files available at a location where people expect it.
   hindent = overrideCabal super.hindent (drv: {
-    executableToolDepends = drv.executableToolDepends or [] ++ [pkgs.emacs];
+    # We cannot easily byte-compile these files, unfortunately, because they
+    # depend on a new version of haskell-mode that we don't have yet.
     postInstall = ''
       local lispdir=( "$out/share/"*"-${self.ghc.name}/${drv.pname}-${drv.version}/elisp" )
-      pushd >/dev/null $lispdir
-      for i in *.el; do
-        emacs -Q -L . -L ${pkgs.emacsPackages.haskellMode}/share/emacs/site-lisp \
-          --batch --eval "(byte-compile-disable-warning 'cl-functions)" \
-          -f batch-byte-compile $i
-      done
-      popd >/dev/null
       mkdir -p $out/share/emacs
       ln -s $lispdir $out/share/emacs/site-lisp
     '';
diff --git a/pkgs/development/haskell-modules/configuration-ghcjs.nix b/pkgs/development/haskell-modules/configuration-ghcjs.nix
index 1feaa2a977ba..5c7e42a59a7a 100644
--- a/pkgs/development/haskell-modules/configuration-ghcjs.nix
+++ b/pkgs/development/haskell-modules/configuration-ghcjs.nix
@@ -122,4 +122,11 @@ self: super:
       ] drv.libraryHaskellDepends;
   });
 
+  http2 = addBuildDepends super.http2 [ self.aeson self.aeson-pretty self.hex self.unordered-containers self.vector self.word8 ];
+  # ghcjsBoot uses async 2.0.1.6, protolude wants 2.1.*
+  protolude = doJailbreak super.protolude;
+  semigroups = addBuildDepends super.semigroups [ self.hashable self.unordered-containers self.text self.tagged ];
+  # triggers an internal pattern match failure in haddock
+  # https://github.com/haskell/haddock/issues/553
+  wai = dontHaddock super.wai;
 }
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 9f4294bbef1e..64e6b3c3862c 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -32,7 +32,7 @@ core-packages:
   - xhtml-3000.2.1
 
 default-package-overrides:
-  # LTS Haskell 7.0
+  # LTS Haskell 7.1
   - abstract-deque ==0.3
   - abstract-par ==0.3.3
   - AC-Vector ==2.3.2
@@ -49,7 +49,8 @@ default-package-overrides:
   - aeson-better-errors ==0.9.0.1
   - aeson-casing ==0.1.0.5
   - aeson-compat ==0.3.6
-  - aeson-injector ==1.0.5.1
+  - aeson-generic-compat ==0.0.1.0
+  - aeson-injector ==1.0.6.0
   - aeson-pretty ==0.8.2
   - aeson-qq ==0.8.1
   - aeson-utils ==0.3.0.2
@@ -141,7 +142,7 @@ default-package-overrides:
   - appar ==0.1.4
   - apply-refact ==0.3.0.0
   - arbtt ==0.9.0.10
-  - arithmoi ==0.4.2.0
+  - arithmoi ==0.4.3.0
   - array-memoize ==0.6.0
   - arrow-list ==0.7
   - ascii-progress ==0.3.3.0
@@ -155,7 +156,7 @@ default-package-overrides:
   - atom-conduit ==0.3.1.2
   - atomic-primops ==0.8.0.4
   - atomic-write ==0.2.0.5
-  - attoparsec ==0.13.0.2
+  - attoparsec ==0.13.1.0
   - attoparsec-binary ==0.2
   - attoparsec-expr ==0.1.1.2
   - authenticate ==1.3.3.2
@@ -261,7 +262,7 @@ default-package-overrides:
   - cabal-rpm ==0.10.0
   - cabal-sort ==0.0.5.3
   - cabal-src ==0.3.0.1
-  - cabal2nix ==2.0.1
+  - cabal2nix ==2.0.2
   - cache ==0.1.0.0
   - cacophony ==0.8.0
   - cairo ==0.13.3.0
@@ -291,7 +292,7 @@ default-package-overrides:
   - cheapskate-highlight ==0.1.0.0
   - cheapskate-lucid ==0.1.0.0
   - check-email ==1.0
-  - checkers ==0.4.5
+  - checkers ==0.4.6
   - chell ==0.4.0.1
   - chell-quickcheck ==0.2.5
   - chunked-data ==0.3.0
@@ -344,12 +345,12 @@ default-package-overrides:
   - concurrent-output ==1.7.7
   - concurrent-supply ==0.1.8
   - conduit ==1.2.7
-  - conduit-combinators ==1.0.6
-  - conduit-extra ==1.1.13.2
+  - conduit-combinators ==1.0.7
+  - conduit-extra ==1.1.13.3
   - conduit-iconv ==0.1.1.1
   - conduit-parse ==0.1.2.0
   - ConfigFile ==1.1.4
-  - configuration-tools ==0.2.14
+  - configuration-tools ==0.2.15
   - configurator ==0.3.0.0
   - configurator-export ==0.1.0.1
   - connection ==0.2.6
@@ -397,7 +398,7 @@ default-package-overrides:
   - ctrie ==0.1.1.0
   - cubicspline ==0.1.2
   - curl ==1.3.8
-  - darcs ==2.12.3
+  - darcs ==2.12.4
   - data-accessor ==0.2.2.7
   - data-accessor-mtl ==0.2.0.4
   - data-binary-ieee754 ==0.4.4
@@ -446,12 +447,12 @@ default-package-overrides:
   - diff3 ==0.2.0.3
   - digest ==0.0.1.2
   - digits ==0.3.1
-  - dimensional ==1.0.1.2
+  - dimensional ==1.0.1.3
   - direct-sqlite ==2.3.17
   - directory-tree ==0.12.1
   - discount ==0.1.1
   - disk-free-space ==0.1.0.1
-  - distributed-closure ==0.3.1.0
+  - distributed-closure ==0.3.2.0
   - distributed-static ==0.3.5.0
   - distribution-nixpkgs ==1.0.0.1
   - distributive ==0.5.0.2
@@ -461,7 +462,7 @@ default-package-overrides:
   - dlist ==0.8.0.2
   - dlist-instances ==0.1.1.1
   - dns ==2.0.5
-  - do-list ==1.0.0
+  - do-list ==1.0.1
   - dockerfile ==0.1.0.1
   - docopt ==0.7.0.4
   - doctest ==0.11.0
@@ -616,7 +617,7 @@ default-package-overrides:
   - ghc-typelits-natnormalise ==0.5
   - ghcid ==0.6.5
   - ghcjs-codemirror ==0.0.0.1
-  - ghcjs-hplay ==0.3.4
+  - ghcjs-hplay ==0.3.4.2
   - ghcjs-perch ==0.3.3
   - gi-atk ==2.0.3
   - gi-cairo ==1.0.3
@@ -795,10 +796,10 @@ default-package-overrides:
   - hashtables ==1.2.1.0
   - haskeline ==0.7.2.3
   - haskell-gi ==0.18
-  - haskell-gi-base ==0.18.2
+  - haskell-gi-base ==0.18.4
   - haskell-lexer ==1.0.1
   - haskell-names ==0.7.0
-  - haskell-neo4j-client ==0.3.2.2
+  - haskell-neo4j-client ==0.3.2.4
   - haskell-packages ==0.4
   - haskell-spacegoo ==0.2.0.1
   - haskell-src ==1.0.2.0
@@ -808,7 +809,7 @@ default-package-overrides:
   - HaskellNet-SSL ==0.3.3.0
   - haskintex ==0.6.0.1
   - haskoin-core ==0.4.0
-  - hasql ==0.19.15
+  - hasql ==0.19.15.1
   - hastache ==0.6.1
   - hasty-hamiltonian ==1.1.3
   - HaTeX ==3.17.0.2
@@ -836,7 +837,7 @@ default-package-overrides:
   - hid ==0.2.2
   - hidapi ==0.1.4
   - hierarchical-clustering ==0.4.6
-  - highlighting-kate ==0.6.2.1
+  - highlighting-kate ==0.6.3
   - hindent ==4.6.4
   - hinotify ==0.3.8.1
   - hint ==0.6.0
@@ -862,8 +863,8 @@ default-package-overrides:
   - holy-project ==0.2.0.1
   - homplexity ==0.4.3.3
   - hoogle ==5.0.1
-  - hOpenPGP ==2.5.1
-  - hopenpgp-tools ==0.19.2
+  - hOpenPGP ==2.5.5
+  - hopenpgp-tools ==0.19.4
   - hopenssl ==1.7
   - hosc ==0.15
   - hostname ==1.0
@@ -925,12 +926,12 @@ default-package-overrides:
   - htaglib ==1.0.4
   - HTF ==0.13.1.0
   - html ==1.0.1.2
-  - html-conduit ==1.2.1
+  - html-conduit ==1.2.1.1
   - htoml ==1.0.0.1
   - HTTP ==4000.3.3
   - http-api-data ==0.2.4
   - http-client ==0.4.31.1
-  - http-client-openssl ==0.2.0.3
+  - http-client-openssl ==0.2.0.4
   - http-client-tls ==0.2.4.1
   - http-common ==0.8.2.0
   - http-conduit ==2.1.11
@@ -947,11 +948,11 @@ default-package-overrides:
   - HUnit-approx ==1.0
   - hunit-dejafu ==0.3.0.2
   - hvect ==0.3.1.0
-  - hw-bits ==0.1.0.0
+  - hw-bits ==0.1.0.1
   - hw-conduit ==0.0.0.11
   - hw-diagnostics ==0.0.0.3
   - hw-parser ==0.0.0.1
-  - hw-prim ==0.1.0.0
+  - hw-prim ==0.1.0.3
   - hw-rankselect ==0.3.0.0
   - hw-succinct ==0.0.0.14
   - hweblib ==0.6.3
@@ -969,7 +970,7 @@ default-package-overrides:
   - ical ==0.0.1
   - iconv ==0.4.1.3
   - identicon ==0.1.0
-  - idris ==0.12.2
+  - idris ==0.12.3
   - ieee754 ==0.7.8
   - IfElse ==0.85
   - ignore ==0.1.1.0
@@ -984,7 +985,7 @@ default-package-overrides:
   - indents ==0.3.3
   - inflections ==0.2.0.1
   - ini ==0.3.5
-  - inline-c ==0.5.5.7
+  - inline-c ==0.5.5.9
   - inline-c-cpp ==0.1.0.0
   - inline-r ==0.9.0.0
   - insert-ordered-containers ==0.1.0.1
@@ -1003,12 +1004,12 @@ default-package-overrides:
   - io-storage ==0.3
   - io-streams ==1.3.5.0
   - io-streams-haproxy ==1.0.0.1
-  - ip6addr ==0.5.1.2
+  - ip6addr ==0.5.1.3
   - iproute ==1.7.0
   - IPv6Addr ==0.6.1.0
   - irc ==0.6.1.0
-  - irc-client ==0.4.3.0
-  - irc-conduit ==0.2.0.0
+  - irc-client ==0.4.4.0
+  - irc-conduit ==0.2.1.0
   - irc-ctcp ==0.1.3.0
   - irc-dcc ==2.0.0
   - islink ==0.1.0.0
@@ -1023,13 +1024,13 @@ default-package-overrides:
   - jmacro ==0.6.14
   - jmacro-rpc ==0.3.2
   - jmacro-rpc-happstack ==0.3.2
-  - jose ==0.4.0.2
-  - jose-jwt ==0.7
+  - jose ==0.4.0.3
+  - jose-jwt ==0.7.3
   - js-flot ==0.8.3
   - js-jquery ==3.1.0
   - json ==0.9.1
   - json-autotype ==1.0.14
-  - json-rpc-generic ==0.2.1.1
+  - json-rpc-generic ==0.2.1.2
   - json-schema ==0.7.4.1
   - JuicyPixels ==3.2.8
   - JuicyPixels-extra ==0.1.0
@@ -1046,7 +1047,7 @@ default-package-overrides:
   - knob ==0.1.1
   - koofr-client ==1.0.0.3
   - kraken ==0.0.3
-  - lackey ==0.4.0
+  - lackey ==0.4.1
   - language-c ==0.5.0
   - language-c-quote ==0.11.6.3
   - language-dockerfile ==0.3.4.0
@@ -1115,7 +1116,7 @@ default-package-overrides:
   - markdown ==0.1.14
   - markdown-unlit ==0.4.0
   - markup ==3.1.0
-  - math-functions ==0.2.0.1
+  - math-functions ==0.2.0.2
   - matrices ==0.4.3
   - matrix ==0.3.5.0
   - maximal-cliques ==0.1.1
@@ -1130,7 +1131,7 @@ default-package-overrides:
   - messagepack-rpc ==0.5.1
   - metrics ==0.3.0.2
   - MFlow ==0.4.6.0
-  - microformats2-parser ==1.0.1.5
+  - microformats2-parser ==1.0.1.6
   - microlens ==0.4.7.0
   - microlens-aeson ==2.1.1.1
   - microlens-contra ==0.1.0.1
@@ -1140,7 +1141,7 @@ default-package-overrides:
   - microlens-th ==0.4.1.0
   - mighty-metropolis ==1.0.2
   - mime-mail ==0.4.11
-  - mime-mail-ses ==0.3.2.2
+  - mime-mail-ses ==0.3.2.3
   - mime-types ==0.1.0.7
   - misfortune ==0.1.1.2
   - missing-foreign ==0.1.1
@@ -1157,7 +1158,7 @@ default-package-overrides:
   - monad-journal ==0.7.2
   - monad-logger ==0.3.19
   - monad-logger-json ==0.1.0.0
-  - monad-logger-prefix ==0.1.5
+  - monad-logger-prefix ==0.1.6
   - monad-logger-syslog ==0.1.2.0
   - monad-loops ==0.4.3
   - monad-par ==0.3.4.8
@@ -1179,7 +1180,7 @@ default-package-overrides:
   - MonadRandom ==0.4.2.3
   - monads-tf ==0.1.0.3
   - mongoDB ==2.1.1.1
-  - mono-traversable ==1.0.0.1
+  - mono-traversable ==1.0.1
   - mono-traversable-instances ==0.1.0.0
   - monoid-extras ==0.4.2
   - monoid-subclasses ==0.4.2.1
@@ -1210,7 +1211,7 @@ default-package-overrides:
   - nats ==1.1.1
   - natural-sort ==0.1.2
   - natural-transformation ==0.3.1
-  - ndjson-conduit ==0.1.0.3
+  - ndjson-conduit ==0.1.0.5
   - neat-interpolation ==0.3.2.1
   - netpbm ==1.0.2
   - nettle ==0.2.0
@@ -1242,7 +1243,7 @@ default-package-overrides:
   - numtype-dk ==0.5.0.1
   - objective ==1.1.1
   - ObjectName ==1.1.0.1
-  - octane ==0.16.1
+  - octane ==0.16.3
   - Octree ==0.5.4.3
   - oeis ==0.3.7
   - ofx ==0.4.2.0
@@ -1276,10 +1277,10 @@ default-package-overrides:
   - packdeps ==0.4.2.1
   - pager ==0.1.1.0
   - pagerduty ==0.0.7
-  - pagination ==0.1.0
+  - pagination ==0.1.1
   - palette ==0.1.0.4
   - pandoc ==1.17.1
-  - pandoc-citeproc ==0.10.1
+  - pandoc-citeproc ==0.10.1.1
   - pandoc-types ==1.16.1.1
   - pango ==0.13.3.0
   - parallel ==3.2.1.0
@@ -1321,7 +1322,7 @@ default-package-overrides:
   - pinch ==0.3.0.1
   - pinchot ==0.22.0.0
   - pipes ==4.1.9
-  - pipes-aeson ==0.4.1.6
+  - pipes-aeson ==0.4.1.7
   - pipes-attoparsec ==0.5.1.4
   - pipes-bgzf ==0.2.0.1
   - pipes-bytestring ==2.1.3
@@ -1371,7 +1372,7 @@ default-package-overrides:
   - pretty-class ==1.0.1.1
   - pretty-hex ==1.0
   - pretty-show ==1.6.12
-  - pretty-types ==0.2.3.0
+  - pretty-types ==0.2.3.1
   - prettyclass ==1.0.0.0
   - primes ==0.2.1.0
   - primitive ==0.6.1.0
@@ -1413,7 +1414,7 @@ default-package-overrides:
   - quickcheck-io ==0.1.3
   - quickcheck-properties ==0.1
   - quickcheck-simple ==0.1.0.1
-  - quickcheck-text ==0.1.1.0
+  - quickcheck-text ==0.1.2.1
   - quickcheck-unicode ==1.0.0.1
   - rainbow ==0.28.0.4
   - rainbox ==0.18.0.10
@@ -1479,7 +1480,7 @@ default-package-overrides:
   - rest-stringmap ==0.2.0.6
   - rest-types ==1.14.1.1
   - rest-wai ==0.2.0.1
-  - result ==0.2.5.0
+  - result ==0.2.5.1
   - rethinkdb ==2.2.0.6
   - rethinkdb-client-driver ==0.0.23
   - retry ==0.7.4.1
@@ -1506,7 +1507,7 @@ default-package-overrides:
   - scanner ==0.2
   - scientific ==0.3.4.9
   - scotty ==0.11.0
-  - scrape-changes ==0.1.0.3
+  - scrape-changes ==0.1.0.4
   - scrypt ==0.5.0
   - sdl2 ==2.1.3
   - secp256k1 ==0.4.6
@@ -1523,7 +1524,7 @@ default-package-overrides:
   - serf ==0.1.1.0
   - servant ==0.8.1
   - servant-aeson-specs ==0.5.1.1
-  - servant-auth-cookie ==0.3.1
+  - servant-auth-cookie ==0.3.2
   - servant-blaze ==0.7.1
   - servant-cassava ==0.8
   - servant-client ==0.8.1
@@ -1547,7 +1548,7 @@ default-package-overrides:
   - set-monad ==0.2.0.0
   - setenv ==0.1.1.3
   - setlocale ==1.0.0.4
-  - sets ==0.0.5
+  - sets ==0.0.5.2
   - SHA ==1.6.4.2
   - shake ==0.15.10
   - shake-language-c ==0.10.0
@@ -1611,7 +1612,7 @@ default-package-overrides:
   - sql-words ==0.1.4.1
   - sqlite-simple ==0.4.9.0
   - srcloc ==0.5.1.0
-  - stache ==0.1.6
+  - stache ==0.1.7
   - stack ==1.1.2
   - stack-run-auto ==0.1.1.4
   - stackage-curator ==0.14.1.1
@@ -1637,10 +1638,10 @@ default-package-overrides:
   - store ==0.2.1.2
   - store-core ==0.2.0.2
   - Strafunski-StrategyLib ==5.0.0.9
-  - stratosphere ==0.1.4
+  - stratosphere ==0.1.6
   - streaming ==0.1.4.3
   - streaming-bytestring ==0.1.4.4
-  - streaming-commons ==0.1.15.5
+  - streaming-commons ==0.1.16
   - streamproc ==1.6.2
   - streams ==3.3
   - strict ==0.3.2
@@ -1744,7 +1745,7 @@ default-package-overrides:
   - through-text ==0.1.0.0
   - thumbnail-plus ==1.0.5
   - thyme ==0.3.5.5
-  - tidal ==0.8.1
+  - tidal ==0.8.2
   - time-compat ==0.1.0.3
   - time-lens ==0.4.0.1
   - time-locale-compat ==0.1.1.3
@@ -1764,8 +1765,8 @@ default-package-overrides:
   - transformers-base ==0.4.4
   - transformers-compat ==0.5.1.4
   - transformers-lift ==0.1.0.1
-  - transient ==0.4.2.2
-  - transient-universe ==0.3.2.3
+  - transient ==0.4.4
+  - transient-universe ==0.3.5
   - traverse-with-class ==0.2.0.4
   - tree-fun ==0.8.1.0
   - tree-view ==0.4
@@ -1926,10 +1927,10 @@ default-package-overrides:
   - writer-cps-transformers ==0.1.0.2
   - wuss ==1.1.1
   - X11 ==1.6.1.2
-  - x509 ==1.6.3
+  - x509 ==1.6.4
   - x509-store ==1.6.1
   - x509-system ==1.6.3
-  - x509-validation ==1.6.3
+  - x509-validation ==1.6.4
   - Xauth ==0.1
   - xdcc ==1.1.3
   - xdg-basedir ==0.2.2
@@ -1942,7 +1943,7 @@ default-package-overrides:
   - xml-conduit ==1.3.5
   - xml-conduit-parse ==0.3.1.0
   - xml-conduit-writer ==0.1.1.1
-  - xml-hamlet ==0.4.0.11
+  - xml-hamlet ==0.4.0.12
   - xml-lens ==0.1.6.3
   - xml-to-json-fast ==2.0.0
   - xml-types ==0.3.6
@@ -1952,7 +1953,7 @@ default-package-overrides:
   - xss-sanitize ==0.3.5.7
   - yackage ==0.8.0
   - yahoo-finance-api ==0.1.0.0
-  - yaml ==0.8.18.6
+  - yaml ==0.8.18.7
   - Yampa ==0.10.5
   - YampaSynth ==0.2
   - yarr ==1.4.0.2
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index c3fbcd0c21b4..587fab177056 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2457,12 +2457,12 @@ self: {
      }) {};
 
   "Cartesian" = callPackage
-    ({ mkDerivation, base, lens, template-haskell }:
+    ({ mkDerivation, base, lens, linear, template-haskell }:
      mkDerivation {
        pname = "Cartesian";
-       version = "0.2.1.0";
-       sha256 = "b9a611298eab7e2da27a300124d4522c7dae77dd1c19ad73f4b5c781dab718d6";
-       libraryHaskellDepends = [ base lens template-haskell ];
+       version = "0.5.0.0";
+       sha256 = "4d0438724a9a9ed57d8c40ffd466ab74a3c35858698d5fd424322b7735bbd137";
+       libraryHaskellDepends = [ base lens linear template-haskell ];
        jailbreak = true;
        description = "Coordinate systems";
        license = stdenv.lib.licenses.mit;
@@ -2614,6 +2614,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ChasingBottoms_1_3_1_2" = callPackage
+    ({ mkDerivation, array, base, containers, mtl, QuickCheck, random
+     , syb
+     }:
+     mkDerivation {
+       pname = "ChasingBottoms";
+       version = "1.3.1.2";
+       sha256 = "796e278b60c4a24eb6772155ea0edff9e20f96d396cfcd6c5a55d10a3bd2b8d6";
+       libraryHaskellDepends = [
+         base containers mtl QuickCheck random syb
+       ];
+       testHaskellDepends = [
+         array base containers mtl QuickCheck random syb
+       ];
+       description = "For testing partial and infinite values";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "CheatSheet" = callPackage
     ({ mkDerivation, base, containers, directory }:
      mkDerivation {
@@ -5736,14 +5755,13 @@ self: {
      }:
      mkDerivation {
        pname = "GPipe";
-       version = "2.1.7";
-       sha256 = "ebb54d9994bcb9c14064af5468c3c0f34f02db07d6033f562dd09b4718538814";
+       version = "2.1.8";
+       sha256 = "236735a9ed98628d70c66f153378ff8a8b6e84c6e3d9ede1c1d0c2cc66e1fbca";
        libraryHaskellDepends = [
          base Boolean containers exception-transformers gl hashtables linear
          transformers
        ];
-       jailbreak = true;
-       homepage = "http://tobbebex.blogspot.se/";
+       homepage = "https://github.com/tobbebex/GPipe-Core#readme";
        description = "Typesafe functional GPU graphics programming";
        license = stdenv.lib.licenses.mit;
      }) {};
@@ -6098,15 +6116,14 @@ self: {
      }:
      mkDerivation {
        pname = "Gifcurry";
-       version = "2.0.0.0";
-       sha256 = "c6a13b6a4f1fcaf3d24428862222f52d383570eb4d5872e21cb5e2882d936809";
+       version = "2.0.0.2";
+       sha256 = "1a7f269eda348fa34fe57f9a35cc810b304acc646f5146c4db2d72eb738c8b32";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base directory process temporary ];
        executableHaskellDepends = [
          base cmdargs directory gtk3 process temporary
        ];
-       jailbreak = true;
        homepage = "https://github.com/lettier/gifcurry";
        description = "Create animated GIFs, overlaid with optional text, from video files";
        license = stdenv.lib.licenses.asl20;
@@ -19945,8 +19962,8 @@ self: {
        pname = "aeson";
        version = "1.0.1.0";
        sha256 = "6053851a44bb858691cfd991bf7ba2a0e151ae574fdd3ce3aeea33e1b2855c5f";
-       revision = "1";
-       editedCabalFile = "bb8ad9976eea1ce6d53d279639104c53da92d01ffec90d1ee56acbd6b62b4b04";
+       revision = "2";
+       editedCabalFile = "1eaf2760bd461425b2cd8b9c749dc371bde7dbe2d913fce57fab1ef5cf3dba1b";
        libraryHaskellDepends = [
          attoparsec base base-compat bytestring containers deepseq dlist
          ghc-prim hashable scientific tagged template-haskell text time
@@ -20056,6 +20073,8 @@ self: {
        pname = "aeson-compat";
        version = "0.3.6";
        sha256 = "7aa365d9f44f708f25c939489528836aa10b411e0a3e630c8c2888670874d142";
+       revision = "1";
+       editedCabalFile = "8e6a7142358e3189e10f906f5a0d2ae2306a2191f9ebf8a7ad85a6c70e15e6d9";
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring containers exceptions
          hashable nats scientific semigroups tagged text time
@@ -20106,25 +20125,22 @@ self: {
      , bytestring, containers, exceptions, hashable, parsec
      , quickcheck-instances, recursion-schemes, scientific, tasty
      , tasty-hunit, tasty-quickcheck, template-haskell, text, these
-     , time, time-parsers, transformers, unordered-containers, vector
+     , time, time-parsers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "aeson-extra";
-       version = "0.3.2.0";
-       sha256 = "7af0de540f971c156ec9ce16188233beefa24a4320e71f2344791bdf69ddec0d";
+       version = "0.4.0.0";
+       sha256 = "78ecedf65f8b68c09223912878e2a055aa38536489eddc9b47911cbc05aba594";
        libraryHaskellDepends = [
          aeson aeson-compat attoparsec base base-compat bytestring
          containers exceptions hashable parsec recursion-schemes scientific
-         template-haskell text time time-parsers transformers
-         unordered-containers vector
+         template-haskell text time time-parsers unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson aeson-compat base base-compat bytestring containers
-         exceptions hashable parsec quickcheck-instances scientific tasty
-         tasty-hunit tasty-quickcheck template-haskell text these time
-         time-parsers unordered-containers vector
+         base containers quickcheck-instances tasty tasty-hunit
+         tasty-quickcheck these time time-parsers unordered-containers
+         vector
        ];
-       jailbreak = true;
        homepage = "https://github.com/phadej/aeson-extra#readme";
        description = "Extra goodies for aeson";
        license = stdenv.lib.licenses.bsd3;
@@ -20164,6 +20180,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "aeson-generic-compat" = callPackage
+    ({ mkDerivation, aeson, base }:
+     mkDerivation {
+       pname = "aeson-generic-compat";
+       version = "0.0.1.0";
+       sha256 = "d4a05e4d351350f4ce7e270c85dcd990c81d879fd1208a6371865f5b2190d3ad";
+       libraryHaskellDepends = [ aeson base ];
+       description = "Compatible generic class names of Aeson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "aeson-injector" = callPackage
     ({ mkDerivation, aeson, base, bifunctors, deepseq, HUnit, lens
      , QuickCheck, quickcheck-text, scientific, servant-docs, swagger2
@@ -20172,8 +20199,8 @@ self: {
      }:
      mkDerivation {
        pname = "aeson-injector";
-       version = "1.0.5.1";
-       sha256 = "61cd48cf2f6fa2ace98841918b092727e478099bf1f9b159eed0966ae3c6a8d9";
+       version = "1.0.6.0";
+       sha256 = "3c0a68d4b3b55813eb3b4d93a0bd130504f367727308e77c01b8e1774024d78d";
        libraryHaskellDepends = [
          aeson base bifunctors deepseq lens servant-docs swagger2 text
          unordered-containers
@@ -24165,10 +24192,9 @@ self: {
     ({ mkDerivation, base, containers, lens, mtl }:
      mkDerivation {
        pname = "app-lens";
-       version = "0.1.0.1";
-       sha256 = "717cb2d1abc9add860d6e058b2da8ba45a124f8a637b4ab5984a89a42d485627";
+       version = "0.1.0.3";
+       sha256 = "ecb966a61eee1465d2e89d98ee2dfbdd52c7bc37707e817809ff520c91f9d744";
        libraryHaskellDepends = [ base containers lens mtl ];
-       jailbreak = true;
        homepage = "https://bitbucket.org/kztk/app-lens";
        description = "applicative (functional) bidirectional programming beyond composition chains";
        license = stdenv.lib.licenses.bsd3;
@@ -24881,29 +24907,6 @@ self: {
   "arithmoi" = callPackage
     ({ mkDerivation, array, base, containers, ghc-prim, integer-gmp
      , mtl, QuickCheck, random, smallcheck, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck
-     }:
-     mkDerivation {
-       pname = "arithmoi";
-       version = "0.4.2.0";
-       sha256 = "6cc6ade285cdbd437c3e5587e588d4d55152a273e9c276a4679cc22a6e1d2a88";
-       configureFlags = [ "-f-llvm" ];
-       libraryHaskellDepends = [
-         array base containers ghc-prim integer-gmp mtl random
-       ];
-       testHaskellDepends = [
-         base QuickCheck smallcheck tasty tasty-hunit tasty-quickcheck
-         tasty-smallcheck
-       ];
-       homepage = "https://github.com/cartazio/arithmoi";
-       description = "Efficient basic number-theoretic functions. Primes, powers, integer logarithms.";
-       license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "arithmoi_0_4_3_0" = callPackage
-    ({ mkDerivation, array, base, containers, ghc-prim, integer-gmp
-     , mtl, QuickCheck, random, smallcheck, tasty, tasty-hunit
      , tasty-quickcheck, tasty-smallcheck, transformers
      , transformers-compat
      }:
@@ -25607,8 +25610,8 @@ self: {
      }:
      mkDerivation {
        pname = "async-extras";
-       version = "0.1.2.0";
-       sha256 = "d0ff0c9a29e3acfe926bc4d4be83642944c9b0eab2bd2a177c75d14ed8bcfb8c";
+       version = "0.1.3.1";
+       sha256 = "c134da7e8955354670916cde8c5199b2bf08e455605d19a355a781d925b4d28e";
        libraryHaskellDepends = [
          async base lifted-async lifted-base monad-control SafeSemaphore stm
          transformers-base
@@ -25871,6 +25874,34 @@ self: {
        license = "unknown";
      }) {};
 
+  "atom-conduit_0_4_0_1" = callPackage
+    ({ mkDerivation, base, blaze-builder, conduit, conduit-combinators
+     , data-default, hlint, lens-simple, mono-traversable, parsers
+     , quickcheck-instances, resourcet, safe-exceptions, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, timerep
+     , uri-bytestring, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "atom-conduit";
+       version = "0.4.0.1";
+       sha256 = "62965b9adac9b4fefda18a2aceb464b15e15c0ef267edba80372e8c3225b5ccf";
+       libraryHaskellDepends = [
+         base blaze-builder conduit conduit-combinators lens-simple
+         mono-traversable parsers safe-exceptions text time timerep
+         uri-bytestring xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base conduit data-default hlint lens-simple mono-traversable
+         parsers quickcheck-instances resourcet safe-exceptions tasty
+         tasty-hunit tasty-quickcheck text time uri-bytestring xml-conduit
+         xml-types
+       ];
+       jailbreak = true;
+       description = "Streaming parser/renderer for the Atom 1.0 standard (RFC 4287).";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "atom-msp430" = callPackage
     ({ mkDerivation, atom, base, mtl }:
      mkDerivation {
@@ -26047,28 +26078,6 @@ self: {
      }:
      mkDerivation {
        pname = "attoparsec";
-       version = "0.13.0.2";
-       sha256 = "69f7f381f644ba4a6f348bbff9b2b4280b7b602e8e25e59eadb6e30ad5f2ec6a";
-       libraryHaskellDepends = [
-         array base bytestring containers deepseq scientific text
-         transformers
-       ];
-       testHaskellDepends = [
-         array base bytestring deepseq QuickCheck quickcheck-unicode
-         scientific tasty tasty-quickcheck text transformers vector
-       ];
-       homepage = "https://github.com/bos/attoparsec";
-       description = "Fast combinator parsing for bytestrings and text";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "attoparsec_0_13_1_0" = callPackage
-    ({ mkDerivation, array, base, bytestring, containers, deepseq
-     , QuickCheck, quickcheck-unicode, scientific, tasty
-     , tasty-quickcheck, text, transformers, vector
-     }:
-     mkDerivation {
-       pname = "attoparsec";
        version = "0.13.1.0";
        sha256 = "52dc74d4955e457ce4f76f5c9d6dba05c1d07e2cd2a542d6251c6dbc66ce3f64";
        libraryHaskellDepends = [
@@ -26082,7 +26091,6 @@ self: {
        homepage = "https://github.com/bos/attoparsec";
        description = "Fast combinator parsing for bytestrings and text";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "attoparsec-arff" = callPackage
@@ -26769,20 +26777,22 @@ self: {
      }) {};
 
   "avwx" = callPackage
-    ({ mkDerivation, attoparsec, base, HTTP, lens, parsers, pretty-show
-     , text
+    ({ mkDerivation, attoparsec, base, HTTP, lens, optparse-applicative
+     , parsers, pretty-show, text
      }:
      mkDerivation {
        pname = "avwx";
-       version = "0.2.0.0";
-       sha256 = "6a667d54fd8eedb57fb7e48917646f8fb0acd1e68ecdccc0a3e95d3804bb5c13";
+       version = "0.3.0.1";
+       sha256 = "427b80127d3fc6e5fe71b90c40bf02e59d297333b8dd96da663585043431b4e5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ attoparsec base HTTP lens parsers text ];
-       executableHaskellDepends = [ base pretty-show ];
-       testHaskellDepends = [ attoparsec base text ];
-       homepage = "https://github.com/hce/avwx";
-       description = "Parse METAR weather reports";
+       executableHaskellDepends = [
+         base optparse-applicative pretty-show text
+       ];
+       testHaskellDepends = [ attoparsec base lens pretty-show text ];
+       homepage = "https://www.hcesperer.org/posts/2016-09-20-avwx.html";
+       description = "Parse aviation weather reports";
        license = stdenv.lib.licenses.mit;
      }) {};
 
@@ -29360,8 +29370,8 @@ self: {
        pname = "binary-orphans";
        version = "0.1.5.1";
        sha256 = "c60442199ad6139654a6a672dc66d321dbe8a23199fb5269ef295b2adc23af4c";
-       revision = "3";
-       editedCabalFile = "d983e4991d7753af287d15af9e8b6391662769e8466ddf956fcc0c8c39342233";
+       revision = "4";
+       editedCabalFile = "842aed0eac15d13b8178dd9ded2b2e296eabc950bd607593bb22c307d77c551e";
        libraryHaskellDepends = [
          aeson base binary case-insensitive hashable scientific tagged text
          text-binary time unordered-containers vector
@@ -29401,8 +29411,8 @@ self: {
      }:
      mkDerivation {
        pname = "binary-parsers";
-       version = "0.1.0.0";
-       sha256 = "f3fcce48a05ff770c1c94f876962ced3440932783b9080fbc81c21022d63a702";
+       version = "0.2.3.0";
+       sha256 = "bc6195493b950efcbeb9ef54dfe47a6badf894dff934cf02a4b170331c1b217a";
        libraryHaskellDepends = [
          base binary bytestring bytestring-lexing scientific
        ];
@@ -32330,6 +32340,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "boolean-like" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, containers
+     , semigroups, text, vector
+     }:
+     mkDerivation {
+       pname = "boolean-like";
+       version = "0.1.1.0";
+       sha256 = "6ca47b21a6d98161edfd94f4d5a19daacc13d229b87a0c107e868ff0259658b8";
+       libraryHaskellDepends = [
+         attoparsec base bytestring containers semigroups text vector
+       ];
+       homepage = "http://github.com/Shou/boolean-like";
+       description = "Logical combinatory operations dealing with datatypes representing booleans by their constructors";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "boolean-list" = callPackage
     ({ mkDerivation, base, bytestring, HUnit }:
      mkDerivation {
@@ -32815,8 +32841,8 @@ self: {
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.9";
-       sha256 = "3e13c7ec5be06e416fc609e565e765e91f2cdf967aa97589fcff4dc0f73b3d40";
+       version = "0.10";
+       sha256 = "f5529a49c24a9f4a0714579eb6b86b7b324515f7bb925fb1e75ab533442aad53";
        libraryHaskellDepends = [
          base containers contravariant data-default deepseq microlens
          microlens-mtl microlens-th template-haskell text text-zipper
@@ -34866,38 +34892,6 @@ self: {
     ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
      , containers, deepseq, directory, distribution-nixpkgs, filepath
      , hackage-db, language-nix, lens, monad-par, monad-par-extras, mtl
-     , optparse-applicative, pretty, process, SHA, split, stackage-types
-     , text, time, transformers, utf8-string, yaml
-     }:
-     mkDerivation {
-       pname = "cabal2nix";
-       version = "2.0.1";
-       sha256 = "f271eb8de00952c01a4860846fa0c6f9cad3e91378a073c0b7416eb6a51ca230";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         directory distribution-nixpkgs filepath hackage-db language-nix
-         lens optparse-applicative pretty process SHA split text
-         transformers yaml
-       ];
-       executableHaskellDepends = [
-         aeson ansi-wl-pprint base bytestring Cabal containers deepseq
-         directory distribution-nixpkgs filepath hackage-db language-nix
-         lens monad-par monad-par-extras mtl optparse-applicative pretty
-         process SHA split stackage-types text time transformers utf8-string
-         yaml
-       ];
-       homepage = "https://github.com/nixos/cabal2nix#readme";
-       description = "Convert Cabal files into Nix build instructions";
-       license = stdenv.lib.licenses.bsd3;
-       maintainers = with stdenv.lib.maintainers; [ peti ];
-     }) {};
-
-  "cabal2nix_2_0_2" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, base, bytestring, Cabal
-     , containers, deepseq, directory, distribution-nixpkgs, filepath
-     , hackage-db, language-nix, lens, monad-par, monad-par-extras, mtl
      , optparse-applicative, pretty, process, SHA, split, text, time
      , transformers, utf8-string, yaml
      }:
@@ -34922,7 +34916,6 @@ self: {
        homepage = "https://github.com/nixos/cabal2nix#readme";
        description = "Convert Cabal files into Nix build instructions";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
@@ -35505,6 +35498,39 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "camfort_0_901" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, fgl, filepath, fortran-src, GenericPretty, ghc-prim
+     , happy, hmatrix, hspec, matrix, mtl, QuickCheck, syb, syz, text
+     , transformers, uniplate, vector
+     }:
+     mkDerivation {
+       pname = "camfort";
+       version = "0.901";
+       sha256 = "2aaf96c527f649e209b9fbe46e6d31cd4707b9d2aa514b4dfac55422bdf4992c";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring containers directory fgl filepath fortran-src
+         GenericPretty ghc-prim hmatrix matrix mtl syb syz text transformers
+         uniplate vector
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         array base bytestring containers directory fgl filepath fortran-src
+         GenericPretty ghc-prim hmatrix matrix mtl QuickCheck syb syz text
+         transformers uniplate vector
+       ];
+       testHaskellDepends = [
+         array base bytestring containers directory filepath fortran-src
+         hmatrix hspec mtl QuickCheck text uniplate
+       ];
+       jailbreak = true;
+       description = "CamFort - Cambridge Fortran infrastructure";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "camh" = callPackage
     ({ mkDerivation, base, bytestring, Imlib, terminfo }:
      mkDerivation {
@@ -36404,8 +36430,8 @@ self: {
        pname = "cassava-megaparsec";
        version = "0.1.0";
        sha256 = "8d77229766aec5e9e31e145138be981cca791699a3d66010619604827c590702";
-       revision = "2";
-       editedCabalFile = "bc6342181a72157c5f8900ef98a8226e5826b93b75ecd34aedc1c0e8b589a93a";
+       revision = "3";
+       editedCabalFile = "1be19f40219b8f6a9e91dc3bfe8905a3ccc920f56dbf82c14f74d05c4c7378c9";
        libraryHaskellDepends = [
          base bytestring cassava containers megaparsec unordered-containers
          vector
@@ -37618,8 +37644,8 @@ self: {
     ({ mkDerivation, array, base, QuickCheck, random }:
      mkDerivation {
        pname = "checkers";
-       version = "0.4.5";
-       sha256 = "7963cf60f9fda15ea022351f75f8e5e8636f79b163ee4ad05e893f74e5112d91";
+       version = "0.4.6";
+       sha256 = "2adc9cd2bfcc5c7bf8dbcf79160344757392a29b55ca131cda48e60168df970f";
        libraryHaskellDepends = [ array base QuickCheck random ];
        description = "Check properties on standard classes and data structures";
        license = stdenv.lib.licenses.bsd3;
@@ -38401,15 +38427,16 @@ self: {
 
   "clang-pure" = callPackage
     ({ mkDerivation, base, bytestring, clang, containers, contravariant
-     , inline-c, stm, template-haskell, vector
+     , inline-c, microlens, microlens-contra, singletons, stm
+     , template-haskell, vector
      }:
      mkDerivation {
        pname = "clang-pure";
-       version = "0.1.0.1";
-       sha256 = "9beb6dd2d0a21a4057a0372d5fc9da2984ffc455bd24ed3c93c7b4ba7ec20900";
+       version = "0.2.0.1";
+       sha256 = "27c81214e72d9a4c6e701fc05d2adc5cb0732cc07c4fb715a6bf2f9d904058ee";
        libraryHaskellDepends = [
-         base bytestring containers contravariant inline-c stm
-         template-haskell vector
+         base bytestring containers contravariant inline-c microlens
+         microlens-contra singletons stm template-haskell vector
        ];
        librarySystemDepends = [ clang ];
        description = "Pure C++ code analysis with libclang";
@@ -39932,8 +39959,8 @@ self: {
      }:
      mkDerivation {
        pname = "codex";
-       version = "0.5.0.1";
-       sha256 = "84822ced72c93bd22249f9fe05c79685050b3e7d2d3f7adedd9ded52a8c4407c";
+       version = "0.5.0.2";
+       sha256 = "491064e6cf6b1afc6be30b061f6876b1d9da1ecc769fc74f485853b5bab8d907";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39945,7 +39972,6 @@ self: {
          base bytestring Cabal directory either filepath hackage-db MissingH
          monad-loops network process transformers wreq yaml
        ];
-       jailbreak = true;
        homepage = "http://github.com/aloiscochard/codex";
        description = "A ctags file generator for cabal project dependencies";
        license = stdenv.lib.licenses.asl20;
@@ -41591,6 +41617,29 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "conduit_1_2_8" = callPackage
+    ({ mkDerivation, base, containers, exceptions, hspec, lifted-base
+     , mmorph, monad-control, mtl, QuickCheck, resourcet, safe
+     , transformers, transformers-base
+     }:
+     mkDerivation {
+       pname = "conduit";
+       version = "1.2.8";
+       sha256 = "80d5df4c70adf2b7e87138c55fba25e05be30eaef0c9a7926d97ae0c0cdb17fb";
+       libraryHaskellDepends = [
+         base exceptions lifted-base mmorph monad-control mtl resourcet
+         transformers transformers-base
+       ];
+       testHaskellDepends = [
+         base containers exceptions hspec mtl QuickCheck resourcet safe
+         transformers
+       ];
+       homepage = "http://github.com/snoyberg/conduit";
+       description = "Streaming data processing library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "conduit-audio" = callPackage
     ({ mkDerivation, base, conduit, vector }:
      mkDerivation {
@@ -41676,8 +41725,36 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-combinators";
-       version = "1.0.6";
-       sha256 = "215c5b29fbeb0177ac7b80f67be9f3c7eaa2a231b9fcb25916ab1ceda007a2fa";
+       version = "1.0.7";
+       sha256 = "b5fbdcb33f9425bcc8a0beee1953076922cd94492ce4d40afcf33861f32a3ac7";
+       libraryHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit conduit-extra filepath monad-control mono-traversable
+         mwc-random primitive resourcet text transformers transformers-base
+         unix unix-compat vector void
+       ];
+       testHaskellDepends = [
+         base base16-bytestring base64-bytestring bytestring chunked-data
+         conduit containers directory filepath hspec mono-traversable mtl
+         mwc-random QuickCheck safe silently text transformers vector
+       ];
+       homepage = "https://github.com/snoyberg/mono-traversable";
+       description = "Commonly used conduit functions, for both chunked and unchunked data";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "conduit-combinators_1_0_8" = callPackage
+    ({ mkDerivation, base, base16-bytestring, base64-bytestring
+     , bytestring, chunked-data, conduit, conduit-extra, containers
+     , directory, filepath, hspec, monad-control, mono-traversable, mtl
+     , mwc-random, primitive, QuickCheck, resourcet, safe, silently
+     , text, transformers, transformers-base, unix, unix-compat, vector
+     , void
+     }:
+     mkDerivation {
+       pname = "conduit-combinators";
+       version = "1.0.8";
+       sha256 = "c486be3d35d85ca697beffce0ef68ae28c1c4fb94e3884f4cfb6df5ecb5ad04b";
        libraryHaskellDepends = [
          base base16-bytestring base64-bytestring bytestring chunked-data
          conduit conduit-extra filepath monad-control mono-traversable
@@ -41689,9 +41766,11 @@ self: {
          conduit containers directory filepath hspec mono-traversable mtl
          mwc-random QuickCheck safe silently text transformers vector
        ];
+       jailbreak = true;
        homepage = "https://github.com/snoyberg/mono-traversable";
        description = "Commonly used conduit functions, for both chunked and unchunked data";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-connection" = callPackage
@@ -41701,8 +41780,8 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-connection";
-       version = "0.1.0.2";
-       sha256 = "6559115e670911b51a0ce0eb3ea4893fa1c2d32d9c2706af6c835137fbf682ce";
+       version = "0.1.0.3";
+       sha256 = "798eb9c87a37f8f8a15a8edc6674f975dad38ed8c19acf52b6439f88c280439a";
        libraryHaskellDepends = [
          base bytestring conduit connection resourcet transformers
        ];
@@ -41710,7 +41789,6 @@ self: {
          base bytestring conduit connection HUnit network resourcet
          test-framework test-framework-hunit transformers
        ];
-       jailbreak = true;
        homepage = "https://github.com/sdroege/conduit-connection";
        description = "Conduit source and sink for Network.Connection.";
        license = stdenv.lib.licenses.bsd3;
@@ -41725,32 +41803,6 @@ self: {
      }:
      mkDerivation {
        pname = "conduit-extra";
-       version = "1.1.13.2";
-       sha256 = "9fccd20c45b017c5b5b12a933b1cedd9088f27375c6b7bb2dadce9db92d51b81";
-       libraryHaskellDepends = [
-         async attoparsec base blaze-builder bytestring conduit directory
-         exceptions filepath monad-control network primitive process
-         resourcet stm streaming-commons text transformers transformers-base
-       ];
-       testHaskellDepends = [
-         async attoparsec base blaze-builder bytestring bytestring-builder
-         conduit exceptions hspec process QuickCheck resourcet stm
-         streaming-commons text transformers transformers-base
-       ];
-       homepage = "http://github.com/snoyberg/conduit";
-       description = "Batteries included conduit: adapters for common libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "conduit-extra_1_1_13_3" = callPackage
-    ({ mkDerivation, async, attoparsec, base, blaze-builder, bytestring
-     , bytestring-builder, conduit, directory, exceptions, filepath
-     , hspec, monad-control, network, primitive, process, QuickCheck
-     , resourcet, stm, streaming-commons, text, transformers
-     , transformers-base
-     }:
-     mkDerivation {
-       pname = "conduit-extra";
        version = "1.1.13.3";
        sha256 = "c2efc890925ca9adcff7006b6155804b4a3712940f70b3e3be8b1e9be7c56c48";
        libraryHaskellDepends = [
@@ -41763,11 +41815,9 @@ self: {
          conduit exceptions hspec process QuickCheck resourcet stm
          streaming-commons text transformers transformers-base
        ];
-       jailbreak = true;
        homepage = "http://github.com/snoyberg/conduit";
        description = "Batteries included conduit: adapters for common libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-find" = callPackage
@@ -42062,41 +42112,6 @@ self: {
      }:
      mkDerivation {
        pname = "configuration-tools";
-       version = "0.2.14";
-       sha256 = "c54c40d72423207f63c7108ea6076612a179c0c35d7e10e540858ba92946f9fb";
-       revision = "1";
-       editedCabalFile = "7f01977bdb2fa42e3bf503d036db68e4c2d2aba13295b817c812ce17067ca1fc";
-       libraryHaskellDepends = [
-         aeson ansi-wl-pprint attoparsec base base-unicode-symbols
-         base64-bytestring bytestring Cabal case-insensitive connection
-         data-default deepseq directory dlist enclosed-exceptions filepath
-         http-client http-client-tls http-types monad-control mtl
-         network-uri optparse-applicative process profunctors text tls
-         transformers unordered-containers x509 x509-system x509-validation
-         yaml
-       ];
-       testHaskellDepends = [
-         base base-unicode-symbols bytestring Cabal enclosed-exceptions
-         http-types monad-control mtl text transformers unordered-containers
-         wai warp warp-tls yaml
-       ];
-       homepage = "https://github.com/alephcloud/hs-configuration-tools";
-       description = "Tools for specifying and parsing configurations";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "configuration-tools_0_2_15" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
-     , base-unicode-symbols, base64-bytestring, bytestring, Cabal
-     , case-insensitive, connection, data-default, deepseq, directory
-     , dlist, enclosed-exceptions, filepath, http-client
-     , http-client-tls, http-types, monad-control, mtl, network-uri
-     , optparse-applicative, process, profunctors, text, tls
-     , transformers, unordered-containers, wai, warp, warp-tls, x509
-     , x509-system, x509-validation, yaml
-     }:
-     mkDerivation {
-       pname = "configuration-tools";
        version = "0.2.15";
        sha256 = "8231a7a893add8ae78ccb2b25e0fa98b0c0fd7d7a5f6e2e88d3711e93576121e";
        libraryHaskellDepends = [
@@ -42116,7 +42131,6 @@ self: {
        homepage = "https://github.com/alephcloud/hs-configuration-tools";
        description = "Tools for specifying and parsing configurations";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "configurator" = callPackage
@@ -42441,6 +42455,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "consul-haskell_0_4" = callPackage
+    ({ mkDerivation, aeson, base, base64-bytestring, bytestring
+     , connection, either, exceptions, http-client, http-client-tls
+     , http-types, HUnit, lifted-async, lifted-base, monad-control
+     , network, random, retry, stm, tasty, tasty-hunit, text
+     , transformers, unordered-containers, uuid, vector
+     }:
+     mkDerivation {
+       pname = "consul-haskell";
+       version = "0.4";
+       sha256 = "f81c503aae87cb38659848d1d797eb1e7ffbf9c2b72836e30f2e5b05267c9bda";
+       libraryHaskellDepends = [
+         aeson base base64-bytestring bytestring connection either
+         exceptions http-client http-client-tls http-types lifted-async
+         lifted-base monad-control network retry stm text transformers
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base http-client HUnit network random tasty tasty-hunit text
+         transformers uuid
+       ];
+       homepage = "https://github.com/alphaHeavy/consul-haskell";
+       description = "A consul client for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "consumers" = callPackage
     ({ mkDerivation, base, containers, exceptions, hpqtypes
      , lifted-base, lifted-threads, log, monad-control, mtl, stm, time
@@ -46204,50 +46245,6 @@ self: {
      }:
      mkDerivation {
        pname = "darcs";
-       version = "2.12.3";
-       sha256 = "68ed535dce4bd2d8349ba04258bb56df7d47853dac9d3365fc0325a86db1cde5";
-       configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         array async attoparsec base base16-bytestring binary bytestring
-         containers cryptohash data-ordlist directory fgl filepath graphviz
-         hashable haskeline html HTTP mmap mtl network network-uri old-time
-         parsec process random regex-applicative regex-compat-tdfa sandi tar
-         terminfo text time transformers transformers-compat unix
-         unix-compat utf8-string vector zip-archive zlib
-       ];
-       librarySystemDepends = [ curl ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [
-         array base bytestring cmdargs containers directory filepath FindBin
-         HUnit mtl QuickCheck shelly split test-framework
-         test-framework-hunit test-framework-quickcheck2 text zip-archive
-       ];
-       doCheck = false;
-       postInstall = ''
-         mkdir -p $out/etc/bash_completion.d
-         mv contrib/darcs_completion $out/etc/bash_completion.d/darcs
-       '';
-       homepage = "http://darcs.net/";
-       description = "a distributed, interactive, smart revision control system";
-       license = "GPL";
-     }) {inherit (pkgs) curl;};
-
-  "darcs_2_12_4" = callPackage
-    ({ mkDerivation, array, async, attoparsec, base, base16-bytestring
-     , binary, bytestring, cmdargs, containers, cryptohash, curl
-     , data-ordlist, directory, fgl, filepath, FindBin, graphviz
-     , hashable, haskeline, html, HTTP, HUnit, mmap, mtl, network
-     , network-uri, old-time, parsec, process, QuickCheck, random
-     , regex-applicative, regex-compat-tdfa, sandi, shelly, split, tar
-     , terminfo, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, text, time, transformers
-     , transformers-compat, unix, unix-compat, utf8-string, vector
-     , zip-archive, zlib
-     }:
-     mkDerivation {
-       pname = "darcs";
        version = "2.12.4";
        sha256 = "48e836a482bd2fcfe0be499fe4f255925ce50bdcf5ce8023bb9aa359288fdc49";
        configureFlags = [ "-fforce-char8-encoding" "-flibrary" ];
@@ -46276,7 +46273,6 @@ self: {
        homepage = "http://darcs.net/";
        description = "a distributed, interactive, smart revision control system";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) curl;};
 
   "darcs-benchmark" = callPackage
@@ -47625,8 +47621,8 @@ self: {
      }:
      mkDerivation {
        pname = "data-msgpack";
-       version = "0.0.3";
-       sha256 = "8df834c9495ff45c68a09a67a01dcf7ae5288d88c3e3af0d8b2060e19f841a6a";
+       version = "0.0.4";
+       sha256 = "77e894dd366c77352cc52787546ff0419831b312f4b6b86e864e2e2e5b1e33af";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -50940,6 +50936,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "dib" = callPackage
+    ({ mkDerivation, base, bytestring, cereal, containers, digest
+     , directory, filepath, mtl, process, text, time
+     }:
+     mkDerivation {
+       pname = "dib";
+       version = "0.5.0";
+       sha256 = "2f4a58c4a97c55bed558fee3be61886e05d55cd560f13d98f5cdce4d8ddbe294";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring cereal containers digest directory filepath mtl
+         process text time
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath mtl time
+       ];
+       description = "A simple, forward build system";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "dice" = callPackage
     ({ mkDerivation, base, parsec, random-fu, transformers }:
      mkDerivation {
@@ -51439,22 +51456,6 @@ self: {
      }:
      mkDerivation {
        pname = "dimensional";
-       version = "1.0.1.2";
-       sha256 = "45943c0d8989a5ce8a440e40a28b4bffa84170b5c8cfaa9af27d4ce0afc599cb";
-       libraryHaskellDepends = [
-         base deepseq exact-pi numtype-dk vector
-       ];
-       testHaskellDepends = [ base HUnit ];
-       homepage = "https://github.com/bjornbm/dimensional/";
-       description = "Statically checked physical dimensions, using Type Families and Data Kinds";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "dimensional_1_0_1_3" = callPackage
-    ({ mkDerivation, base, deepseq, exact-pi, HUnit, numtype-dk, vector
-     }:
-     mkDerivation {
-       pname = "dimensional";
        version = "1.0.1.3";
        sha256 = "3bc566a59227115325caec0ea00a35e025e5ea471a3ab531cf595e5365aa93a7";
        libraryHaskellDepends = [
@@ -51464,7 +51465,6 @@ self: {
        homepage = "https://github.com/bjornbm/dimensional/";
        description = "Statically checked physical dimensions, using Type Families and Data Kinds";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "dimensional-codata" = callPackage
@@ -52000,8 +52000,8 @@ self: {
      }:
      mkDerivation {
        pname = "distributed-closure";
-       version = "0.3.1.0";
-       sha256 = "eb7894b3394662ddc86e249bfe424033674597e3b952e117f1c9a7f554543fa3";
+       version = "0.3.2.0";
+       sha256 = "7ca5b418d086c00e4646683010453b665b5b4f3921a9ca478c7afd91e331ea7d";
        libraryHaskellDepends = [
          base binary bytestring constraints syb template-haskell
        ];
@@ -52803,19 +52803,6 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "do-list";
-       version = "1.0.0";
-       sha256 = "64fab9aca46541aa95efc4e7a6f4074277fee6f81ca0d98eb41081f061c33738";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base hspec ];
-       homepage = "https://github.com/tserduke/do-list#readme";
-       description = "Do notation for free";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "do-list_1_0_1" = callPackage
-    ({ mkDerivation, base, hspec }:
-     mkDerivation {
-       pname = "do-list";
        version = "1.0.1";
        sha256 = "b377193461b0ad7a81f9e66bcf10f8838b6f1e39f4a5de3b2e2f45c749c5b694";
        libraryHaskellDepends = [ base ];
@@ -52823,7 +52810,6 @@ self: {
        homepage = "https://github.com/tserduke/do-list#readme";
        description = "Do notation for free";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "doc-review" = callPackage
@@ -55467,6 +55453,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "ekg-cloudwatch" = callPackage
+    ({ mkDerivation, amazonka, amazonka-cloudwatch, base, ekg-core
+     , hspec, lens, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "ekg-cloudwatch";
+       version = "0.0.1.4";
+       sha256 = "7e086bce6889e5355f15694ab9158ef584aed6060017428fc67e78b302cbe600";
+       libraryHaskellDepends = [
+         amazonka amazonka-cloudwatch base ekg-core lens text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         amazonka amazonka-cloudwatch base ekg-core hspec lens text time
+         unordered-containers
+       ];
+       homepage = "https://github.com/sellerlabs/ekg-cloudwatch#readme";
+       description = "An ekg backend for Amazon Cloudwatch";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ekg-core" = callPackage
     ({ mkDerivation, base, containers, ghc-prim, text
      , unordered-containers
@@ -55764,8 +55771,8 @@ self: {
      }:
      mkDerivation {
        pname = "elm-export";
-       version = "0.4.1.0";
-       sha256 = "7932ebbf549f02637196a888fe6c2bbfa929f93f9b5dfe8474057f8adf6c3681";
+       version = "0.4.1.1";
+       sha256 = "91e01639707349bf27a8aa9fffa8f30206fc1f50e269d6220403ec585a54e263";
        libraryHaskellDepends = [
          base bytestring containers directory formatting mtl text time
        ];
@@ -57744,7 +57751,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "eventstore_0_13_1_4" = callPackage
+  "eventstore_0_13_1_5" = callPackage
     ({ mkDerivation, aeson, array, base, cereal, classy-prelude
      , connection, containers, dns, dotnet-timespan, http-client
      , protobuf, random, semigroups, stm, tasty, tasty-hunit, text, time
@@ -57752,8 +57759,8 @@ self: {
      }:
      mkDerivation {
        pname = "eventstore";
-       version = "0.13.1.4";
-       sha256 = "a72952384c37b1c11c9365fb7c2965bdbad1bf4dc6f54b66462116c7f03e92f7";
+       version = "0.13.1.5";
+       sha256 = "1ddf2d5d5a3cf4ffb167c351751eb7a9faa21eef399c54476d3cf045d4c344bc";
        libraryHaskellDepends = [
          aeson array base cereal classy-prelude connection containers dns
          dotnet-timespan http-client protobuf random semigroups stm time
@@ -61629,8 +61636,8 @@ self: {
      }:
      mkDerivation {
        pname = "fltkhs";
-       version = "0.4.0.9";
-       sha256 = "37e34bda2f8f3bb78f4d2e1e2539e02fdd6ae0ee0613f3fab38c1a13fe7b7fb1";
+       version = "0.4.1.0";
+       sha256 = "2a721e193ae591e28e96ea55a25dd70f24f388cf6481b4c1c9aede12260d7bb4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -61919,13 +61926,16 @@ self: {
 
   "foldl-statistics" = callPackage
     ({ mkDerivation, base, foldl, math-functions, profunctors
-     , quickcheck-instances, statistics, tasty, tasty-quickcheck, vector
+     , quickcheck-instances, semigroups, statistics, tasty
+     , tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "foldl-statistics";
-       version = "0.1.1.0";
-       sha256 = "aea55a29d9ae80d7007e78a2b49ab49495feb0aa640ac8d9c158d3afbaf0a04f";
-       libraryHaskellDepends = [ base foldl math-functions profunctors ];
+       version = "0.1.4.0";
+       sha256 = "0d800d6202b6411207154f1c7d1be8f77fef7e332ccaf3c486db972c935cf414";
+       libraryHaskellDepends = [
+         base foldl math-functions profunctors semigroups
+       ];
        testHaskellDepends = [
          base foldl profunctors quickcheck-instances statistics tasty
          tasty-quickcheck vector
@@ -62466,6 +62476,35 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "fortran-src_0_1_0_4" = callPackage
+    ({ mkDerivation, alex, array, base, bytestring, containers
+     , directory, fgl, filepath, GenericPretty, happy, hspec, mtl
+     , pretty, text, uniplate
+     }:
+     mkDerivation {
+       pname = "fortran-src";
+       version = "0.1.0.4";
+       sha256 = "4e20fae7ff4448a98cb3e2a16ff66514d3510b82d58f4c7bc998ff24c2ac5708";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base bytestring containers fgl GenericPretty mtl pretty text
+         uniplate
+       ];
+       libraryToolDepends = [ alex happy ];
+       executableHaskellDepends = [
+         array base bytestring containers fgl GenericPretty mtl pretty text
+         uniplate
+       ];
+       testHaskellDepends = [
+         array base bytestring containers directory fgl filepath
+         GenericPretty hspec mtl pretty text uniplate
+       ];
+       description = "Parser and anlyses for Fortran standards 66, 77, 90";
+       license = stdenv.lib.licenses.asl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "foscam-directory" = callPackage
     ({ mkDerivation, base, directory, doctest, filepath
      , foscam-filename, lens, pretty, QuickCheck, template-haskell
@@ -65652,6 +65691,26 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "gh-pocket-knife" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, hspec, http-conduit
+     , QuickCheck, resourcet
+     }:
+     mkDerivation {
+       pname = "gh-pocket-knife";
+       version = "0.1.0.0";
+       sha256 = "b84246f29e756be1ec851f1ee3be710de6366dda4fd4c972afbfc77cbed1a6bf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring http-conduit resourcet
+       ];
+       executableHaskellDepends = [ aeson base bytestring ];
+       testHaskellDepends = [ base hspec QuickCheck ];
+       homepage = "https://github.com/pbrisbin/gh-pocket-knife#readme";
+       description = "Script helpers for interacting with GitHub";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ghc-boot_8_0_1" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, filepath
      , ghc-boot-th
@@ -66638,8 +66697,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcjs-hplay";
-       version = "0.3.4";
-       sha256 = "7a3b5d91883912b0f768129cde6a89ed71ab0d3a94749fcf8b9d9197959541f8";
+       version = "0.3.4.2";
+       sha256 = "c3d9e5108b4792fc6fd9ef079cb4f4a6e9a21195e68f5b0d53d43ad7f79149d5";
        libraryHaskellDepends = [
          base containers ghcjs-perch mtl transformers transient
          transient-universe
@@ -67354,9 +67413,9 @@ self: {
      }) {inherit (pkgs) libnotify;};
 
   "gi-pango" = callPackage
-    ({ mkDerivation, base, bytestring, containers, gi-glib, gi-gobject
-     , gobjectIntrospection, haskell-gi, haskell-gi-base, pango, text
-     , transformers
+    ({ mkDerivation, base, bytestring, cairo, containers, gi-glib
+     , gi-gobject, gobjectIntrospection, haskell-gi, haskell-gi-base
+     , pango, text, transformers
      }:
      mkDerivation {
        pname = "gi-pango";
@@ -67366,20 +67425,24 @@ self: {
          base bytestring containers gi-glib gi-gobject haskell-gi
          haskell-gi-base text transformers
        ];
-       libraryPkgconfigDepends = [ gobjectIntrospection pango ];
+       libraryPkgconfigDepends = [ cairo gobjectIntrospection pango ];
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
+       preCompileBuildDriver = ''
+         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
+         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
+       '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "Pango bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) gobjectIntrospection; 
+     }) {inherit (pkgs) cairo; inherit (pkgs) gobjectIntrospection; 
          inherit (pkgs.gnome2) pango;};
 
   "gi-pango_1_0_6" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, containers, gi-glib
-     , gi-gobject, gobjectIntrospection, haskell-gi, haskell-gi-base
-     , pango, text, transformers
+    ({ mkDerivation, base, bytestring, Cabal, cairo, containers
+     , gi-glib, gi-gobject, gobjectIntrospection, haskell-gi
+     , haskell-gi-base, pango, text, transformers
      }:
      mkDerivation {
        pname = "gi-pango";
@@ -67390,14 +67453,18 @@ self: {
          base bytestring containers gi-glib gi-gobject haskell-gi-base text
          transformers
        ];
-       libraryPkgconfigDepends = [ gobjectIntrospection pango ];
+       libraryPkgconfigDepends = [ cairo gobjectIntrospection pango ];
        doHaddock = false;
        preConfigure = ''export HASKELL_GI_GIR_SEARCH_PATH=${gobjectIntrospection.dev}/share/gir-1.0'';
+       preCompileBuildDriver = ''
+         PKG_CONFIG_PATH+=":${cairo}/lib/pkgconfig"
+         setupCompileFlags+=" $(pkg-config --libs cairo-gobject)"
+       '';
        homepage = "https://github.com/haskell-gi/haskell-gi";
        description = "Pango bindings";
        license = stdenv.lib.licenses.lgpl21;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {inherit (pkgs) gobjectIntrospection; 
+     }) {inherit (pkgs) cairo; inherit (pkgs) gobjectIntrospection; 
          inherit (pkgs.gnome2) pango;};
 
   "gi-pangocairo" = callPackage
@@ -67843,8 +67910,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20160907";
-       sha256 = "6714156245c35647d7ac4b9b0c786c74584aa5ecef2fc0aa32044a3a6e722ef7";
+       version = "6.20160923";
+       sha256 = "964235a358814e081cf4a5d8dab798faacb1dabe5fc714ac6687b135e30fd93d";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -68878,29 +68945,30 @@ self: {
 
   "glirc" = callPackage
     ({ mkDerivation, async, attoparsec, base, bytestring, Cabal
-     , config-value, connection, containers, data-default-class, deepseq
-     , directory, filepath, gitrev, hashable, HUnit, irc-core, lens
-     , network, process, regex-tdfa, regex-tdfa-text, socks, split, stm
-     , text, time, tls, transformers, unix, unordered-containers, vector
-     , vty, x509, x509-store, x509-system
+     , config-value, connection, containers, data-default-class
+     , directory, filepath, gitrev, hashable, HUnit, irc-core
+     , kan-extensions, lens, memory, network, process, regex-tdfa, socks
+     , split, stm, text, time, tls, transformers, unix
+     , unordered-containers, vector, vty, x509, x509-store, x509-system
      }:
      mkDerivation {
        pname = "glirc";
-       version = "2.17";
-       sha256 = "b0d7ade81c100e760b13079feeac8c4a701a9b24464191c27517f8829880f7a6";
+       version = "2.19";
+       sha256 = "29d6fdddb6044de9815dfa20ecea1265d0b707af5aded6cb69a64457653a93c6";
        isLibrary = true;
        isExecutable = true;
-       setupHaskellDepends = [ base Cabal ];
+       setupHaskellDepends = [ base Cabal filepath ];
        libraryHaskellDepends = [
          async attoparsec base bytestring config-value connection containers
-         data-default-class deepseq directory filepath gitrev hashable
-         irc-core lens network process regex-tdfa regex-tdfa-text socks
-         split stm text time tls transformers unix unordered-containers
-         vector vty x509 x509-store x509-system
+         data-default-class directory filepath gitrev hashable irc-core
+         kan-extensions lens memory network process regex-tdfa socks split
+         stm text time tls transformers unix unordered-containers vector vty
+         x509 x509-store x509-system
+       ];
+       executableHaskellDepends = [
+         base data-default-class lens text vty
        ];
-       executableHaskellDepends = [ base lens text ];
        testHaskellDepends = [ base HUnit ];
-       jailbreak = true;
        homepage = "https://github.com/glguy/irc-core";
        description = "Console IRC client";
        license = stdenv.lib.licenses.isc;
@@ -73440,78 +73508,37 @@ self: {
      }) {};
 
   "hOpenPGP" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bifunctors, binary, binary-conduit, byteable, bytestring, bzlib
-     , conduit, conduit-extra, containers, crypto-cipher-types
-     , cryptonite, data-default-class, errors, hashable
-     , incremental-parser, ixset-typed, lens, memory, monad-loops
-     , nettle, network, network-uri, newtype, openpgp-asciiarmor
-     , QuickCheck, quickcheck-instances, resourcet, securemem
-     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
-     , time, time-locale-compat, transformers, unordered-containers
-     , wl-pprint-extras, zlib
+    ({ mkDerivation, aeson, attoparsec, base, base16-bytestring
+     , base64-bytestring, bifunctors, binary, binary-conduit, byteable
+     , bytestring, bzlib, conduit, conduit-extra, containers
+     , crypto-cipher-types, cryptonite, data-default-class, errors
+     , hashable, incremental-parser, ixset-typed, lens, memory
+     , monad-loops, nettle, network, network-uri, newtype
+     , openpgp-asciiarmor, QuickCheck, quickcheck-instances, resourcet
+     , securemem, semigroups, split, tasty, tasty-hunit
+     , tasty-quickcheck, text, time, time-locale-compat, transformers
+     , unordered-containers, wl-pprint-extras, zlib
      }:
      mkDerivation {
        pname = "hOpenPGP";
-       version = "2.5.1";
-       sha256 = "6b590806d05485dea63095f91f7c201d578b3bd7de86eee672f141eb9efd08ce";
-       revision = "1";
-       editedCabalFile = "ea8e25ddecdd0bdcfcbac5a9a94d7b2a9d59e09a2ee29aacfde16df50483de14";
+       version = "2.5.5";
+       sha256 = "1801efa965085572197253eb77bfaf2fc2a20c18d93c43c436d506237871ad54";
        libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bifunctors binary
-         binary-conduit byteable bytestring bzlib conduit conduit-extra
-         containers crypto-cipher-types cryptonite data-default-class errors
-         hashable incremental-parser ixset-typed lens memory monad-loops
-         nettle network network-uri newtype openpgp-asciiarmor resourcet
-         securemem semigroups split text time time-locale-compat
-         transformers unordered-containers wl-pprint-extras zlib
+         aeson attoparsec base base16-bytestring base64-bytestring
+         bifunctors binary binary-conduit byteable bytestring bzlib conduit
+         conduit-extra containers crypto-cipher-types cryptonite
+         data-default-class errors hashable incremental-parser ixset-typed
+         lens memory monad-loops nettle network network-uri newtype
+         openpgp-asciiarmor resourcet securemem semigroups split text time
+         time-locale-compat transformers unordered-containers
+         wl-pprint-extras zlib
        ];
        testHaskellDepends = [
-         aeson attoparsec base bifunctors binary binary-conduit byteable
-         bytestring bzlib conduit conduit-extra containers
-         crypto-cipher-types cryptonite data-default-class errors hashable
-         incremental-parser ixset-typed lens memory monad-loops nettle
-         network network-uri newtype QuickCheck quickcheck-instances
-         resourcet securemem semigroups split tasty tasty-hunit
-         tasty-quickcheck text time time-locale-compat transformers
-         unordered-containers wl-pprint-extras zlib
-       ];
-       homepage = "http://floss.scru.org/hOpenPGP/";
-       description = "native Haskell implementation of OpenPGP (RFC4880)";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hOpenPGP_2_5_2" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bifunctors, binary, binary-conduit, byteable, bytestring, bzlib
-     , conduit, conduit-extra, containers, crypto-cipher-types
-     , cryptonite, data-default-class, errors, hashable
-     , incremental-parser, ixset-typed, lens, memory, monad-loops
-     , nettle, network, network-uri, newtype, openpgp-asciiarmor
-     , QuickCheck, quickcheck-instances, resourcet, securemem
-     , semigroups, split, tasty, tasty-hunit, tasty-quickcheck, text
-     , time, time-locale-compat, transformers, unordered-containers
-     , wl-pprint-extras, zlib
-     }:
-     mkDerivation {
-       pname = "hOpenPGP";
-       version = "2.5.2";
-       sha256 = "856c0f223602cfc775c8173cd64378064208b8133eabc37c0f6da8126221b8c2";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bifunctors binary
+         aeson attoparsec base base16-bytestring bifunctors binary
          binary-conduit byteable bytestring bzlib conduit conduit-extra
          containers crypto-cipher-types cryptonite data-default-class errors
          hashable incremental-parser ixset-typed lens memory monad-loops
-         nettle network network-uri newtype openpgp-asciiarmor resourcet
-         securemem semigroups split text time time-locale-compat
-         transformers unordered-containers wl-pprint-extras zlib
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base bifunctors binary binary-conduit byteable
-         bytestring bzlib conduit conduit-extra containers
-         crypto-cipher-types cryptonite data-default-class errors hashable
-         incremental-parser ixset-typed lens memory monad-loops nettle
-         network network-uri newtype QuickCheck quickcheck-instances
+         nettle network network-uri newtype QuickCheck quickcheck-instances
          resourcet securemem semigroups split tasty tasty-hunit
          tasty-quickcheck text time time-locale-compat transformers
          unordered-containers wl-pprint-extras zlib
@@ -73519,7 +73546,6 @@ self: {
        homepage = "http://floss.scru.org/hOpenPGP/";
        description = "native Haskell implementation of OpenPGP (RFC4880)";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hPDB" = callPackage
@@ -74956,8 +74982,8 @@ self: {
      }:
      mkDerivation {
        pname = "haiji";
-       version = "0.1.0.0";
-       sha256 = "cb67c5869e5c389808379e681cdd8549ccc2842dba082ed2dbd18bed4a1f7bb8";
+       version = "0.2.0.0";
+       sha256 = "139200be3876156fc26fff1fe0e7ca94b8807e1e13004329800204763ee9f728";
        libraryHaskellDepends = [
          aeson attoparsec base data-default mtl scientific tagged
          template-haskell text transformers unordered-containers vector
@@ -74966,7 +74992,6 @@ self: {
          aeson base data-default doctest filepath process-extras tasty
          tasty-hunit tasty-th text
        ];
-       jailbreak = true;
        description = "A typed template engine, subset of jinja2";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -75421,17 +75446,17 @@ self: {
      }) {};
 
   "hakyll-sass" = callPackage
-    ({ mkDerivation, base, data-default-class, filepath, hakyll, hsass
+    ({ mkDerivation, aeson-pretty, base, data-default-class, filepath
+     , hakyll, hsass
      }:
      mkDerivation {
        pname = "hakyll-sass";
-       version = "0.2.0";
-       sha256 = "1c0b131f3a581aafde543fc9c3211d75c6f17f6b25d0e32cf6032f4c3377dbc5";
-       revision = "1";
-       editedCabalFile = "afdc3b9e76e09fc1aaf7f9cceb780a2e062ec56aab20659804b8f35d3bb85bb5";
+       version = "0.2.1";
+       sha256 = "859f91a9fe1d0f4a0bc75c1cd49bf2246aca8d45381f9405068d8588d6533039";
        libraryHaskellDepends = [
-         base data-default-class filepath hakyll hsass
+         aeson-pretty base data-default-class filepath hakyll hsass
        ];
+       jailbreak = true;
        homepage = "https://github.com/meoblast001/hakyll-sass";
        description = "Hakyll SASS compiler over hsass";
        license = stdenv.lib.licenses.mit;
@@ -76958,8 +76983,8 @@ self: {
      }:
      mkDerivation {
        pname = "hascar";
-       version = "0.2.0.2";
-       sha256 = "3ad50a9349ea6e9df26cb452adf56fd059eea4ed2a254d15b6fd1ab63e345c42";
+       version = "0.2.1.0";
+       sha256 = "1a09890e2b3d0955a966a1b7e84995957b44fab8c34c1afaabe7213610d244e1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77880,19 +77905,6 @@ self: {
     ({ mkDerivation, base, bytestring, containers, glib, text }:
      mkDerivation {
        pname = "haskell-gi-base";
-       version = "0.18.2";
-       sha256 = "245b17ab5769fc413f7d10b24ca57efb97962dc7debd6188d3a879454077daa1";
-       libraryHaskellDepends = [ base bytestring containers text ];
-       libraryPkgconfigDepends = [ glib ];
-       homepage = "https://github.com/haskell-gi/haskell-gi-base";
-       description = "Foundation for libraries generated by haskell-gi";
-       license = stdenv.lib.licenses.lgpl21;
-     }) {inherit (pkgs) glib;};
-
-  "haskell-gi-base_0_18_4" = callPackage
-    ({ mkDerivation, base, bytestring, containers, glib, text }:
-     mkDerivation {
-       pname = "haskell-gi-base";
        version = "0.18.4";
        sha256 = "45fb9bd2b65668d09f0643c3e4e0629df27610dfb501049c4a4b14a5edba8e16";
        libraryHaskellDepends = [ base bytestring containers text ];
@@ -77900,7 +77912,6 @@ self: {
        homepage = "https://github.com/haskell-gi/haskell-gi-base";
        description = "Foundation for libraries generated by haskell-gi";
        license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) glib;};
 
   "haskell-google-trends" = callPackage
@@ -78126,8 +78137,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-neo4j-client";
-       version = "0.3.2.2";
-       sha256 = "4ed871df5e235170863d6890af6c3d241e2672b335b199b05504b635a409d9b1";
+       version = "0.3.2.4";
+       sha256 = "30eea529b6d8bd4b887cec7a6b210dd80223d97811bb26042b0c1ccfc8c381c2";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default hashable HTTP
          http-client http-client-tls http-conduit http-types lifted-base mtl
@@ -79765,13 +79776,12 @@ self: {
      }:
      mkDerivation {
        pname = "haskore-synthesizer";
-       version = "0.0.3.2";
-       sha256 = "071de904ab39fd812a25395b51fbb6991dc5e22a3b9d2213067a884c0e08f705";
+       version = "0.0.3.3";
+       sha256 = "64ddc8bf5a6b5c7f7f0986aada8016c8a09ca21ef3e3320565006bea53a3a4ee";
        libraryHaskellDepends = [
          base data-accessor event-list haskore non-negative numeric-prelude
          random synthesizer-core synthesizer-filter utility-ht
        ];
-       jailbreak = true;
        homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
        description = "Music rendering coded in Haskell";
        license = "GPL";
@@ -79883,35 +79893,6 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "0.19.15";
-       sha256 = "cbcec81cdd852325dddf3b9cbf830b94f63d4037adf5b9b84ac683384614b4e3";
-       libraryHaskellDepends = [
-         aeson attoparsec base base-prelude bytestring
-         bytestring-tree-builder contravariant contravariant-extras
-         data-default-class dlist either hashable hashtables loch-th mtl
-         placeholders postgresql-binary postgresql-libpq profunctors
-         scientific semigroups text time transformers uuid vector
-       ];
-       testHaskellDepends = [
-         data-default-class QuickCheck quickcheck-instances rebase tasty
-         tasty-hunit tasty-quickcheck tasty-smallcheck
-       ];
-       homepage = "https://github.com/nikita-volkov/hasql";
-       description = "A very efficient PostgreSQL driver and a flexible mapping API";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "hasql_0_19_15_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base-prelude, bytestring
-     , bytestring-tree-builder, contravariant, contravariant-extras
-     , data-default-class, dlist, either, hashable, hashtables, loch-th
-     , mtl, placeholders, postgresql-binary, postgresql-libpq
-     , profunctors, QuickCheck, quickcheck-instances, rebase, scientific
-     , semigroups, tasty, tasty-hunit, tasty-quickcheck
-     , tasty-smallcheck, text, time, transformers, uuid, vector
-     }:
-     mkDerivation {
-       pname = "hasql";
        version = "0.19.15.1";
        sha256 = "5285147d09d044dea3fa1e9579e436ce8347f41a8b3d3c8da5d2e5d1f7c21421";
        libraryHaskellDepends = [
@@ -79928,7 +79909,6 @@ self: {
        homepage = "https://github.com/nikita-volkov/hasql";
        description = "An efficient PostgreSQL driver and a flexible mapping API";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hasql-backend" = callPackage
@@ -81405,8 +81385,8 @@ self: {
      }:
      mkDerivation {
        pname = "hdocs";
-       version = "0.5.0.0";
-       sha256 = "57c422f7f86029436595d19f102aa64da499fc23f9f60801070a1650bde19c37";
+       version = "0.5.0.1";
+       sha256 = "6d4e53adcfc7375736ce47beb07e0ab3c6ec96300ce91edbae1fbd009bfff0db";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83676,28 +83656,6 @@ self: {
      }:
      mkDerivation {
        pname = "highlighting-kate";
-       version = "0.6.2.1";
-       sha256 = "62af544964cb9d019baf1c81e28f8a747800c581787812a3b374e2f0a4209135";
-       configureFlags = [ "-fpcre-light" ];
-       libraryHaskellDepends = [
-         base blaze-html bytestring containers mtl parsec pcre-light
-         utf8-string
-       ];
-       testHaskellDepends = [
-         base blaze-html containers Diff directory filepath process
-       ];
-       homepage = "http://github.com/jgm/highlighting-kate";
-       description = "Syntax highlighting";
-       license = "GPL";
-     }) {};
-
-  "highlighting-kate_0_6_3" = callPackage
-    ({ mkDerivation, base, blaze-html, bytestring, containers, Diff
-     , directory, filepath, mtl, parsec, pcre-light, process
-     , utf8-string
-     }:
-     mkDerivation {
-       pname = "highlighting-kate";
        version = "0.6.3";
        sha256 = "71dab85c49b038053b90062ed882e486233cbaa2b762d017224d06482075840d";
        configureFlags = [ "-fpcre-light" ];
@@ -83711,7 +83669,6 @@ self: {
        homepage = "http://github.com/jgm/highlighting-kate";
        description = "Syntax highlighting";
        license = "GPL";
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hills" = callPackage
@@ -83825,7 +83782,6 @@ self: {
        homepage = "http://www.github.com/chrisdone/hindent";
        description = "Extensible Haskell pretty printer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hindent_5_2_1" = callPackage
@@ -85274,8 +85230,8 @@ self: {
     ({ mkDerivation, base, hmatrix, repa, vector }:
      mkDerivation {
        pname = "hmatrix-repa";
-       version = "0.1.2.1";
-       sha256 = "48298694cb8da0f830022576b7fc7dd08bad0c39e98ed00bff828d40e914a077";
+       version = "0.1.2.2";
+       sha256 = "51c3a46800aea072258b05047cb0c6f24999bbb626268ce32809c5872e0e71be";
        libraryHaskellDepends = [ base hmatrix repa vector ];
        homepage = "http://code.haskell.org/hmatrix-repa";
        description = "Adaptors for interoperability between hmatrix and repa";
@@ -85731,14 +85687,14 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_0_5_5_0" = callPackage
+  "hoauth2_0_5_6_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-conduit, http-types
      , text, unordered-containers
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "0.5.5.0";
-       sha256 = "77efb0b5c6436de7c63e4e40f402d7328f7a4aff60102a44ed3bf60fe3527e1d";
+       version = "0.5.6.0";
+       sha256 = "e678e9d0029b354f255b9796dddac5de0c9894261e54591b0435685a787e2dad";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit http-types text
          unordered-containers
@@ -86661,8 +86617,8 @@ self: {
      }:
      mkDerivation {
        pname = "hopenpgp-tools";
-       version = "0.19.2";
-       sha256 = "6bcc067bfc2b54c0c47ea7169f3741ec8f64abee9bd8c398191a0b35520fa39c";
+       version = "0.19.4";
+       sha256 = "e656cd989833c6d318d5c44931ef5a8cd98bb0ebb4bab70a2d2f701091d0abd8";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -86680,38 +86636,6 @@ self: {
        license = "unknown";
      }) {};
 
-  "hopenpgp-tools_0_19_3" = callPackage
-    ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, attoparsec
-     , base, base16-bytestring, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, containers, crypto-pubkey, cryptohash
-     , directory, errors, fgl, graphviz, happy, hOpenPGP, http-client
-     , http-client-tls, http-types, ixset-typed, lens, monad-loops
-     , openpgp-asciiarmor, optparse-applicative, resourcet, text, time
-     , time-locale-compat, transformers, unordered-containers
-     , wl-pprint-extras, wl-pprint-terminfo, yaml
-     }:
-     mkDerivation {
-       pname = "hopenpgp-tools";
-       version = "0.19.3";
-       sha256 = "4f1b7ce4fa6f1efa39fd0388204d24d82b9293e8cf1087b2790013a350bbd26f";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson ansi-wl-pprint array attoparsec base base16-bytestring binary
-         binary-conduit bytestring conduit conduit-extra containers
-         crypto-pubkey cryptohash directory errors fgl graphviz hOpenPGP
-         http-client http-client-tls http-types ixset-typed lens monad-loops
-         openpgp-asciiarmor optparse-applicative resourcet text time
-         time-locale-compat transformers unordered-containers
-         wl-pprint-extras wl-pprint-terminfo yaml
-       ];
-       executableToolDepends = [ alex happy ];
-       homepage = "http://floss.scru.org/hopenpgp-tools";
-       description = "hOpenPGP-based command-line tools";
-       license = "unknown";
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
   "hopenssl" = callPackage
     ({ mkDerivation, base, bytestring, mtl, openssl }:
      mkDerivation {
@@ -87648,22 +87572,27 @@ self: {
 
   "hpqtypes" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers
-     , data-default-class, exceptions, lifted-base, monad-control, mtl
-     , postgresql, resource-pool, text, text-show, time, transformers
-     , transformers-base, vector
+     , data-default-class, exceptions, HUnit, lifted-base, monad-control
+     , mtl, postgresql, QuickCheck, random, resource-pool, scientific
+     , test-framework, test-framework-hunit, text, text-show, time
+     , transformers, transformers-base, unordered-containers, vector
      }:
      mkDerivation {
        pname = "hpqtypes";
-       version = "1.5.1";
-       sha256 = "82fb016dac6830ab8229f2b5e501ea36299c370cddbb7102b8c2837a25028f12";
-       revision = "1";
-       editedCabalFile = "aa5935930b36b798869a4071e1d390ee1f84f754652a16708e21abbdb3ce0989";
+       version = "1.5.1.1";
+       sha256 = "b99c214d7cc83573f5bf295837b42a13a4057dc9cab701b25798086f0d54795a";
        libraryHaskellDepends = [
          aeson base bytestring containers data-default-class exceptions
          lifted-base monad-control mtl resource-pool text text-show time
          transformers transformers-base vector
        ];
        librarySystemDepends = [ postgresql ];
+       testHaskellDepends = [
+         aeson base bytestring exceptions HUnit lifted-base monad-control
+         mtl QuickCheck random scientific test-framework
+         test-framework-hunit text text-show time transformers-base
+         unordered-containers vector
+       ];
        homepage = "https://github.com/scrive/hpqtypes";
        description = "Haskell bindings to libpqtypes";
        license = stdenv.lib.licenses.bsd3;
@@ -88073,16 +88002,29 @@ self: {
      }) {};
 
   "hs-di" = callPackage
-    ({ mkDerivation, base, compose-ltr, hspec, MissingH, QuickCheck
-     , template-haskell, time
+    ({ mkDerivation, base, compose-ltr, containers, deepseq
+     , foreign-store, ghcid, haskell-src-meta, hspec, hspec-core
+     , hspec-expectations, HUnit, interpolate, interpolatedstring-perl6
+     , MissingH, neat-interpolation, QuickCheck, regex-tdfa
+     , template-haskell, text, time
      }:
      mkDerivation {
        pname = "hs-di";
-       version = "0.2.2";
-       sha256 = "103128607f0303625dccb039d78d3de5790088a4f5b7bedae7e45e488ee53901";
-       libraryHaskellDepends = [ base compose-ltr template-haskell ];
+       version = "0.3.0";
+       sha256 = "aaa77e275f54f912cb134de6bdf6981df797207df45dd318dbb30aade4668bde";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base compose-ltr containers haskell-src-meta template-haskell
+       ];
+       executableHaskellDepends = [
+         base compose-ltr containers haskell-src-meta template-haskell time
+       ];
        testHaskellDepends = [
-         base compose-ltr hspec MissingH QuickCheck template-haskell time
+         base compose-ltr deepseq foreign-store ghcid haskell-src-meta hspec
+         hspec-core hspec-expectations HUnit interpolate
+         interpolatedstring-perl6 MissingH neat-interpolation QuickCheck
+         regex-tdfa template-haskell text time
        ];
        homepage = "https://github.com/Wizek/hs-di#readme";
        description = "Dependency Injection library for Haskell";
@@ -88109,8 +88051,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-duktape";
-       version = "0.1.2";
-       sha256 = "a735c4fd945bda52c72c2c82fbef3239c02d1897fc9ccc917f2b82917644dd23";
+       version = "0.1.3";
+       sha256 = "7c7a1b80b066c1436509d19a1e688ce506a31e30481100878411f89b5be33719";
        libraryHaskellDepends = [
          aeson base bytestring text transformers unordered-containers vector
        ];
@@ -89321,10 +89263,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsdev";
-       version = "0.2.0.0";
-       sha256 = "da36361df0f56f5e217da972cd4a9e2a0f3321be684c365f9d599fb635f7b02e";
-       revision = "1";
-       editedCabalFile = "80d4e37bb93542afb3b7bf1496862fde3f1aef17e2d569f9c290fb7c861040ae";
+       version = "0.2.1.0";
+       sha256 = "8d89f4cf2e67c2e55a94068538818e297efa07429a26b4009eff5d04724e7794";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -89347,6 +89287,7 @@ self: {
          aeson aeson-lens async base containers data-default deepseq
          directory filepath hformat hspec lens mtl text
        ];
+       jailbreak = true;
        homepage = "https://github.com/mvoidex/hsdev";
        description = "Haskell development library";
        license = stdenv.lib.licenses.bsd3;
@@ -90527,6 +90468,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hspec-megaparsec_0_3_0" = callPackage
+    ({ mkDerivation, base, containers, hspec, hspec-expectations
+     , megaparsec
+     }:
+     mkDerivation {
+       pname = "hspec-megaparsec";
+       version = "0.3.0";
+       sha256 = "00baf799a21404108f2861ad42649a014c283dafcbc454875e1f50eb9af3d2ed";
+       libraryHaskellDepends = [
+         base containers hspec-expectations megaparsec
+       ];
+       testHaskellDepends = [
+         base containers hspec hspec-expectations megaparsec
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/mrkkrp/hspec-megaparsec";
+       description = "Utility functions for testing Megaparsec parsers with Hspec";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-meta" = callPackage
     ({ mkDerivation, ansi-terminal, async, base, deepseq, directory
      , filepath, hspec-expectations, HUnit, QuickCheck, quickcheck-io
@@ -91626,6 +91588,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "htaut" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "htaut";
+       version = "0.1.1.0";
+       sha256 = "f4d07cc1fe6417b66dbc7faf44bb501398fe8fc2c2f904a1319b4c21187d6fa2";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/ailrun/htaut#readme";
+       description = "Tautology Proving Logic in Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "htestu" = callPackage
     ({ mkDerivation, base, gcc, random }:
      mkDerivation {
@@ -91689,8 +91663,8 @@ self: {
      }:
      mkDerivation {
        pname = "html-conduit";
-       version = "1.2.1";
-       sha256 = "bb1c76947268fd5661918d02de73132b50f364d92f0d4e331ee0e0c87e0cff29";
+       version = "1.2.1.1";
+       sha256 = "98c27470cbf99b12ca9705216567fc8aafffb843cd9c37762e8607da153aa8a8";
        libraryHaskellDepends = [
          base bytestring conduit conduit-extra containers resourcet
          tagstream-conduit text transformers xml-conduit xml-types
@@ -92019,23 +91993,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "http-api-data_0_3" = callPackage
+  "http-api-data_0_3_1" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, doctest
-     , filepath, hashable, hspec, HUnit, QuickCheck, text, time
-     , time-locale-compat, unordered-containers, uri-bytestring
+     , filepath, hashable, hspec, HUnit, QuickCheck
+     , quickcheck-instances, text, time, time-locale-compat
+     , unordered-containers, uri-bytestring, uuid, uuid-types
      }:
      mkDerivation {
        pname = "http-api-data";
-       version = "0.3";
-       sha256 = "380de358c67a8c894133e978e025171388e90333f2c5db10cd41f3224a35fd1f";
+       version = "0.3.1";
+       sha256 = "d5ab6897aae064ac8278fff3b4ce3289446990735f71798b4815cf0eb6ad94c7";
        libraryHaskellDepends = [
          base bytestring containers hashable text time time-locale-compat
-         unordered-containers uri-bytestring
+         unordered-containers uri-bytestring uuid-types
        ];
        testHaskellDepends = [
          base bytestring directory doctest filepath hspec HUnit QuickCheck
-         text time unordered-containers
+         quickcheck-instances text time unordered-containers uuid
        ];
+       jailbreak = true;
        homepage = "http://github.com/fizruk/http-api-data";
        description = "Converting to/from HTTP API data like URL pieces, headers and query parameters";
        license = stdenv.lib.licenses.bsd3;
@@ -92183,24 +92159,6 @@ self: {
      }:
      mkDerivation {
        pname = "http-client-openssl";
-       version = "0.2.0.3";
-       sha256 = "0f74d00124e67cfd9c67c042c6a5e0a0e74bff53839cd68e6f07bff3fab1b77d";
-       libraryHaskellDepends = [ base HsOpenSSL http-client network ];
-       testHaskellDepends = [
-         base HsOpenSSL hspec http-client http-types
-       ];
-       doCheck = false;
-       homepage = "https://github.com/snoyberg/http-client";
-       description = "http-client backend using the OpenSSL library";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "http-client-openssl_0_2_0_4" = callPackage
-    ({ mkDerivation, base, HsOpenSSL, hspec, http-client, http-types
-     , network
-     }:
-     mkDerivation {
-       pname = "http-client-openssl";
        version = "0.2.0.4";
        sha256 = "28dddd694ed91174c2544dd388d3550df5c79d5cc4be7e4b260a825ebde1afed";
        libraryHaskellDepends = [ base HsOpenSSL http-client network ];
@@ -92211,7 +92169,6 @@ self: {
        homepage = "https://github.com/snoyberg/http-client";
        description = "http-client backend using the OpenSSL library";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "http-client-request-modifiers" = callPackage
@@ -92358,7 +92315,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "http-conduit_2_2_2" = callPackage
+  "http-conduit_2_2_2_1" = callPackage
     ({ mkDerivation, aeson, base, blaze-builder, bytestring
      , case-insensitive, conduit, conduit-extra, connection, cookie
      , data-default-class, exceptions, hspec, http-client
@@ -92368,8 +92325,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-conduit";
-       version = "2.2.2";
-       sha256 = "220fd5f41fa8b91479ed9480402a4cf92cd2ae569811f2b8ac81cb11e2808f04";
+       version = "2.2.2.1";
+       sha256 = "1ec7feb0ee0263559ccccc729e760990f4908cf1b1eeb2af221afeec34d23c57";
        libraryHaskellDepends = [
          aeson base bytestring conduit conduit-extra exceptions http-client
          http-client-tls http-types lifted-base monad-control mtl resourcet
@@ -92641,8 +92598,8 @@ self: {
      }:
      mkDerivation {
        pname = "http-pony";
-       version = "0.1.0.2";
-       sha256 = "0158da9e0796d2f7b4969c7ea2bbbe38991304e58d47a80f0816ded1d0b89a7b";
+       version = "0.1.0.3";
+       sha256 = "b65e845f84d98fd9fc774049f0c3aaa2e0183e875085d793cfa9b9705d1cd1fa";
        libraryHaskellDepends = [
          base bytestring network pipes pipes-network pipes-safe transformers
        ];
@@ -92653,17 +92610,20 @@ self: {
 
   "http-pony-serve-wai" = callPackage
     ({ mkDerivation, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, http-types, network, pipes, pipes-bytestring
-     , transformers, wai
+     , case-insensitive, http-pony-transformer-http
+     , http-pony-transformer-startline, http-types, pipes
+     , pipes-bytestring, pipes-safe, transformers, wai
      }:
      mkDerivation {
        pname = "http-pony-serve-wai";
-       version = "0.1.0.0";
-       sha256 = "7ead2939a5e4408996fd6a4d64075f4118446ebde4972112dd60e3a621a3425f";
+       version = "0.1.0.4";
+       sha256 = "c1e3a9a1ce94dd4e60e5bb9d673aa618c6d8edcbd1c340f7a9742eaf91eddc05";
        libraryHaskellDepends = [
          attoparsec base blaze-builder bytestring case-insensitive
-         http-types network pipes pipes-bytestring transformers wai
+         http-pony-transformer-http http-pony-transformer-startline
+         http-types pipes pipes-bytestring pipes-safe transformers wai
        ];
+       homepage = "https://github.com/nfjinjing/http-pony-serve-wai";
        description = "Serve a WAI application with http-pony";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -92672,9 +92632,10 @@ self: {
     ({ mkDerivation, base, case-insensitive, lens, profunctors }:
      mkDerivation {
        pname = "http-pony-transformer-case-insensitive";
-       version = "0.1.0.0";
-       sha256 = "5e43b3ee6caefb5ffda5abc056c9c4a4519a8af4cf5dd1d04e851838ef883206";
+       version = "0.1.0.1";
+       sha256 = "6a2ebc104954c62b91444e1789f1672ee6bc1237ca3e1b0d86b43c3455881c1c";
        libraryHaskellDepends = [ base case-insensitive lens profunctors ];
+       homepage = "https://github.com/nfjinjing/http-pony-transformer-case-insensitive";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -92692,6 +92653,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "http-pony-transformer-startline" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, http-types, lens }:
+     mkDerivation {
+       pname = "http-pony-transformer-startline";
+       version = "0.1.0.0";
+       sha256 = "a0aa55e3ce44b1256588c7c584622b3f6685dd2134f499532e2afd99ab034bb3";
+       libraryHaskellDepends = [
+         attoparsec base bytestring http-types lens
+       ];
+       description = "transform HTTP startlines to tuples";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "http-proxy" = callPackage
     ({ mkDerivation, async, base, blaze-builder, bytestring
      , bytestring-lexing, case-insensitive, conduit, conduit-extra
@@ -93553,21 +93527,49 @@ self: {
 
   "hw-bits" = callPackage
     ({ mkDerivation, base, bytestring, criterion, hspec, hw-prim, mmap
-     , parsec, QuickCheck, resourcet, vector
+     , parsec, QuickCheck, resourcet, safe, vector
      }:
      mkDerivation {
        pname = "hw-bits";
-       version = "0.1.0.0";
-       sha256 = "cb691ceb9dace1f15f7f8299f0daea16971f06e65535395e19ca3385722c27d3";
+       version = "0.1.0.1";
+       sha256 = "7d20025de04db0e4639aded0ae6ad6b9252358a14626a1bfeb726dfbf084fd0e";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring hw-prim parsec safe vector
+       ];
+       executableHaskellDepends = [
+         base criterion mmap resourcet vector
+       ];
+       testHaskellDepends = [
+         base bytestring hspec hw-prim QuickCheck vector
+       ];
+       homepage = "http://github.com/haskell-works/hw-bits#readme";
+       description = "Conduits for tokenizing streams";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "hw-bits_0_2_0_2" = callPackage
+    ({ mkDerivation, base, bytestring, criterion, hspec, hw-prim, mmap
+     , parsec, QuickCheck, resourcet, safe, vector
+     }:
+     mkDerivation {
+       pname = "hw-bits";
+       version = "0.2.0.2";
+       sha256 = "32dd71a6265b6c7ab296dbf23eb865247f111a4e3bfba01ea18d8e5d7e169641";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base bytestring hw-prim parsec vector ];
+       libraryHaskellDepends = [
+         base bytestring hw-prim parsec safe vector
+       ];
        executableHaskellDepends = [
          base criterion mmap resourcet vector
        ];
        testHaskellDepends = [
          base bytestring hspec hw-prim QuickCheck vector
        ];
+       jailbreak = true;
        homepage = "http://github.com/haskell-works/hw-bits#readme";
        description = "Conduits for tokenizing streams";
        license = stdenv.lib.licenses.bsd3;
@@ -93682,8 +93684,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-prim";
-       version = "0.1.0.0";
-       sha256 = "ff4212ac8f2f767c1eecfac2a65f02623a81e4daf38a71030419d6c01643018b";
+       version = "0.1.0.3";
+       sha256 = "f237844283733b85403e18d5243925946946395a2b7c2d731b7312f4a0293b84";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring deepseq random vector ];
@@ -93696,6 +93698,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hw-prim_0_3_0_1" = callPackage
+    ({ mkDerivation, base, bytestring, deepseq, hspec, QuickCheck
+     , random, vector
+     }:
+     mkDerivation {
+       pname = "hw-prim";
+       version = "0.3.0.1";
+       sha256 = "ce87b75687e5b03e4a115ec577a3f03f905767644c7a3cf5b9b39f69f03c7107";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring deepseq random vector ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [
+         base bytestring hspec QuickCheck random vector
+       ];
+       jailbreak = true;
+       homepage = "http://github.com/haskell-works/hw-prim#readme";
+       description = "Primitive functions and data types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hw-rankselect" = callPackage
     ({ mkDerivation, base, hspec, hw-bits, hw-prim, QuickCheck, vector
      }:
@@ -95270,49 +95294,6 @@ self: {
      }:
      mkDerivation {
        pname = "idris";
-       version = "0.12.2";
-       sha256 = "7df31d4eae5aabdd11b6940aeed89693f9c49f01826e7355bf80133da8947562";
-       configureFlags = [ "-fcurses" "-fffi" "-fgmp" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson annotated-wl-pprint ansi-terminal ansi-wl-pprint array async
-         base base64-bytestring binary blaze-html blaze-markup bytestring
-         cheapskate containers deepseq directory filepath fingertree
-         fsnotify haskeline ieee754 libffi mtl network optparse-applicative
-         parsers pretty process regex-tdfa safe split terminal-size text
-         time transformers transformers-compat trifecta uniplate unix
-         unordered-containers utf8-string vector vector-binary-instances
-         zip-archive
-       ];
-       librarySystemDepends = [ gmp ];
-       executableHaskellDepends = [
-         base directory filepath haskeline transformers
-       ];
-       testHaskellDepends = [
-         base bytestring containers directory filepath haskeline
-         optparse-applicative process tagged tasty tasty-golden tasty-rerun
-         time transformers
-       ];
-       homepage = "http://www.idris-lang.org/";
-       description = "Functional Programming Language with Dependent Types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) gmp;};
-
-  "idris_0_12_3" = callPackage
-    ({ mkDerivation, aeson, annotated-wl-pprint, ansi-terminal
-     , ansi-wl-pprint, array, async, base, base64-bytestring, binary
-     , blaze-html, blaze-markup, bytestring, cheapskate, containers
-     , deepseq, directory, filepath, fingertree, fsnotify, gmp
-     , haskeline, ieee754, libffi, mtl, network, optparse-applicative
-     , parsers, pretty, process, regex-tdfa, safe, split, tagged, tasty
-     , tasty-golden, tasty-rerun, terminal-size, text, time
-     , transformers, transformers-compat, trifecta, uniplate, unix
-     , unordered-containers, utf8-string, vector
-     , vector-binary-instances, zip-archive
-     }:
-     mkDerivation {
-       pname = "idris";
        version = "0.12.3";
        sha256 = "3a9f3d5aeb032b1d987402cf4ca54a2fbfc7b02d852a629f528943a5fe5b59c6";
        configureFlags = [ "-fcurses" "-fffi" "-fgmp" ];
@@ -95340,7 +95321,6 @@ self: {
        homepage = "http://www.idris-lang.org/";
        description = "Functional Programming Language with Dependent Types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gmp;};
 
   "ieee" = callPackage
@@ -96068,6 +96048,8 @@ self: {
        pname = "imm";
        version = "1.0.1.0";
        sha256 = "287a4815b43de90e89b27a356215e57d97c03ba4f929965b1a8ca5c4fe35658b";
+       revision = "1";
+       editedCabalFile = "b6f35aaba374bd580f6f40b4629047706562a9d677ff917a7b0dee1063817e25";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -96913,30 +96895,6 @@ self: {
      }:
      mkDerivation {
        pname = "inline-c";
-       version = "0.5.5.7";
-       sha256 = "b7a0561c37eed9441548baa8bf815bc3fb121504ff5ae4c8f2297ba80c7c54b9";
-       libraryHaskellDepends = [
-         ansi-wl-pprint base binary bytestring containers cryptohash
-         directory filepath hashable mtl parsec parsers QuickCheck
-         template-haskell transformers unordered-containers vector
-       ];
-       testHaskellDepends = [
-         ansi-wl-pprint base containers hashable hspec parsers QuickCheck
-         raw-strings-qq regex-posix template-haskell transformers
-         unordered-containers vector
-       ];
-       description = "Write Haskell source files including C code inline. No FFI required.";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "inline-c_0_5_5_9" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, binary, bytestring
-     , containers, cryptohash, directory, filepath, hashable, hspec, mtl
-     , parsec, parsers, QuickCheck, raw-strings-qq, regex-posix
-     , template-haskell, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "inline-c";
        version = "0.5.5.9";
        sha256 = "2e48cae75fe1e4fd9f7c0ab4e7a4cbb4dcb9d2e9075d40adc33ac9038297fe22";
        libraryHaskellDepends = [
@@ -96951,7 +96909,6 @@ self: {
        ];
        description = "Write Haskell source files including C code inline. No FFI required.";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "inline-c-cpp" = callPackage
@@ -97964,6 +97921,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "ion" = callPackage
+    ({ mkDerivation, base, containers, ivory, ivory-backend-c, mtl }:
+     mkDerivation {
+       pname = "ion";
+       version = "1.0.0.0";
+       sha256 = "24a364e30e6baeb531c8f040d3cea6d368c6457cabe58a21fb98f21333b7cc0d";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers ivory ivory-backend-c mtl
+       ];
+       executableHaskellDepends = [
+         base containers ivory ivory-backend-c mtl
+       ];
+       homepage = "https://haskellembedded.github.io/";
+       description = "EDSL for concurrent, realtime, embedded programming on top of Ivory";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "ioref-stable" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -98043,20 +98019,6 @@ self: {
     ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
      mkDerivation {
        pname = "ip6addr";
-       version = "0.5.1.2";
-       sha256 = "810dc63ee4dbd42705f6d2383841adc83bdc0f27a95499179b7bb5f50cce5462";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [ base cmdargs IPv6Addr text ];
-       homepage = "https://github.com/MichelBoucey/ip6addr";
-       description = "Commandline tool to generate IPv6 address text representations";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "ip6addr_0_5_1_3" = callPackage
-    ({ mkDerivation, base, cmdargs, IPv6Addr, text }:
-     mkDerivation {
-       pname = "ip6addr";
        version = "0.5.1.3";
        sha256 = "4edd17f9cf77b0e6ae59c9016d5dc72b3467959bd779264783a4fe7c02aa9340";
        isLibrary = false;
@@ -98065,7 +98027,6 @@ self: {
        homepage = "https://github.com/MichelBoucey/ip6addr";
        description = "Commandline tool to generate IPv6 address text representations";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ipatch" = callPackage
@@ -98267,16 +98228,18 @@ self: {
      }) {};
 
   "irc-client" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, irc-conduit, irc-ctcp
-     , old-locale, stm, stm-conduit, text, time, transformers
+    ({ mkDerivation, base, bytestring, conduit, connection, irc-conduit
+     , irc-ctcp, network-conduit-tls, old-locale, stm, stm-conduit, text
+     , time, tls, transformers, x509, x509-store, x509-validation
      }:
      mkDerivation {
        pname = "irc-client";
-       version = "0.4.3.0";
-       sha256 = "e40fb8d41b6230a01820deed60e43fea525554cd900e9be3582a6371d69c2676";
+       version = "0.4.4.0";
+       sha256 = "b5299e0b5d47f32828b5bb0a23a872105f6c778b8a6c15cf4ce8a7691c69ab3a";
        libraryHaskellDepends = [
-         base bytestring conduit irc-conduit irc-ctcp old-locale stm
-         stm-conduit text time transformers
+         base bytestring conduit connection irc-conduit irc-ctcp
+         network-conduit-tls old-locale stm stm-conduit text time tls
+         transformers x509 x509-store x509-validation
        ];
        homepage = "https://github.com/barrucadu/irc-client";
        description = "An IRC client library";
@@ -98301,8 +98264,8 @@ self: {
      }:
      mkDerivation {
        pname = "irc-conduit";
-       version = "0.2.0.0";
-       sha256 = "3c8956d695e7ea3a3a9764dd7128f6c9243e53d578a9ba39284757afbbbd7258";
+       version = "0.2.1.0";
+       sha256 = "c363a8096e15459c379cfb73e025c1102b4c6e367716c1408216977401b6445c";
        libraryHaskellDepends = [
          async base bytestring conduit conduit-extra connection irc irc-ctcp
          network-conduit-tls text time tls transformers x509-validation
@@ -98500,8 +98463,8 @@ self: {
      }:
      mkDerivation {
        pname = "iridium";
-       version = "0.1.5.4";
-       sha256 = "665c68ad724532fd65b1043e7152df8823bbcdb7e28c74ea4c0527cc017a3937";
+       version = "0.1.5.5";
+       sha256 = "161d533ebde52dd4854a8d8e46f1d4c506178a94672a61948f1f70ed6db1b726";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -98515,7 +98478,7 @@ self: {
        ];
        jailbreak = true;
        homepage = "https://github.com/lspitzner/iridium";
-       description = "Automated Testing and Package Uploading";
+       description = "Automated Local Testing and Package Uploading";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -99884,36 +99847,6 @@ self: {
      }:
      mkDerivation {
        pname = "jose";
-       version = "0.4.0.2";
-       sha256 = "1fa4b9c2c6ab8eac146b38add7988617ddfef98650e0099b0ee9c76b6f41000d";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring bifunctors byteable
-         bytestring cryptonite data-default-class lens memory mtl
-         network-uri QuickCheck quickcheck-instances safe semigroups
-         template-haskell text time unordered-containers vector x509
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base64-bytestring bifunctors byteable
-         bytestring cryptonite data-default-class hspec lens memory mtl
-         network-uri QuickCheck quickcheck-instances safe semigroups tasty
-         tasty-hspec tasty-quickcheck template-haskell text time
-         unordered-containers vector x509
-       ];
-       homepage = "https://github.com/frasertweedale/hs-jose";
-       description = "Javascript Object Signing and Encryption and JSON Web Token library";
-       license = stdenv.lib.licenses.asl20;
-     }) {};
-
-  "jose_0_4_0_3" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , bifunctors, byteable, bytestring, cryptonite, data-default-class
-     , hspec, lens, memory, mtl, network-uri, QuickCheck
-     , quickcheck-instances, safe, semigroups, tasty, tasty-hspec
-     , tasty-quickcheck, template-haskell, text, time
-     , unordered-containers, vector, x509
-     }:
-     mkDerivation {
-       pname = "jose";
        version = "0.4.0.3";
        sha256 = "742b8037e5cc9c427789196bd425594c3fb17768fb584c8434548415aa5e0f0a";
        libraryHaskellDepends = [
@@ -99932,27 +99865,24 @@ self: {
        homepage = "https://github.com/frasertweedale/hs-jose";
        description = "Javascript Object Signing and Encryption and JSON Web Token library";
        license = stdenv.lib.licenses.asl20;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "jose-jwt" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, base, bytestring, cereal
-     , containers, cryptonite, doctest, either, hspec, HUnit, memory
-     , mtl, QuickCheck, text, time, unordered-containers, vector
+    ({ mkDerivation, aeson, base, bytestring, cereal, containers
+     , cryptonite, doctest, either, hspec, HUnit, memory, mtl
+     , QuickCheck, text, time, unordered-containers, vector
      }:
      mkDerivation {
        pname = "jose-jwt";
-       version = "0.7";
-       sha256 = "60d5bf047e6ba6081b4ca7a86fe78a371594aa9ed1fec808a8c3628b5b0eca62";
-       revision = "1";
-       editedCabalFile = "a43df539f6c66ff12808a8db58d83bf98356e79be1e52850791295f83c309b86";
+       version = "0.7.3";
+       sha256 = "b405c3c35936fe5a44e44416e4689207d94eff808b10b9bae60840c1ff11b9f4";
        libraryHaskellDepends = [
          aeson base bytestring cereal containers cryptonite either memory
          mtl text time unordered-containers vector
        ];
        testHaskellDepends = [
-         aeson aeson-qq base bytestring cryptonite doctest either hspec
-         HUnit memory mtl QuickCheck text unordered-containers vector
+         aeson base bytestring cryptonite doctest either hspec HUnit memory
+         mtl QuickCheck text unordered-containers vector
        ];
        homepage = "http://github.com/tekul/jose-jwt";
        description = "JSON Object Signing and Encryption Library";
@@ -100527,17 +100457,17 @@ self: {
      }) {};
 
   "json-rpc-generic" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, dlist
-     , QuickCheck, quickcheck-simple, scientific, text, transformers
-     , unordered-containers, vector
+    ({ mkDerivation, aeson, aeson-generic-compat, base, bytestring
+     , containers, dlist, QuickCheck, quickcheck-simple, scientific
+     , text, transformers, unordered-containers, vector
      }:
      mkDerivation {
        pname = "json-rpc-generic";
-       version = "0.2.1.1";
-       sha256 = "5ba74a92cad226738161db4f5c7f216c4a6bb743665dc4341901e57f30c4cffd";
+       version = "0.2.1.2";
+       sha256 = "946b5f28b789c6a943601215a20e4a9f53ffbd12070cc1166ed89528cf1c0dda";
        libraryHaskellDepends = [
-         aeson base bytestring containers dlist scientific text transformers
-         unordered-containers vector
+         aeson aeson-generic-compat base bytestring containers dlist
+         scientific text transformers unordered-containers vector
        ];
        testHaskellDepends = [
          aeson base QuickCheck quickcheck-simple text
@@ -102009,27 +101939,28 @@ self: {
   "keysafe" = callPackage
     ({ mkDerivation, aeson, argon2, async, base, binary, bloomfilter
      , bytestring, containers, crypto-random, deepseq, directory
-     , disk-free-space, fast-logger, filepath, http-client, lifted-base
-     , network, optparse-applicative, process, raaz, random, readline
-     , SafeSemaphore, secret-sharing, servant, servant-client
-     , servant-server, socks, split, stm, text, time, token-bucket
-     , transformers, unbounded-delays, unix, utf8-string, wai, warp
+     , disk-free-space, exceptions, fast-logger, filepath, http-client
+     , lifted-base, MonadRandom, network, optparse-applicative, process
+     , raaz, random, random-shuffle, readline, SafeSemaphore
+     , secret-sharing, servant, servant-client, servant-server, socks
+     , split, stm, text, time, token-bucket, transformers
+     , unbounded-delays, unix, unix-compat, utf8-string, wai, warp
      , zxcvbn-c
      }:
      mkDerivation {
        pname = "keysafe";
-       version = "0.20160914";
-       sha256 = "b8e77394b553997e9e6ca90cc44bd4e79a6e8a4b021d596419c9345cb451eb87";
+       version = "0.20160927";
+       sha256 = "dd50b8971f0f54a9cc67096db78d3c2a7c63ac59ba9c91ef2edf063dff100623";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          aeson async base binary bloomfilter bytestring containers
-         crypto-random deepseq directory disk-free-space fast-logger
-         filepath http-client lifted-base network optparse-applicative
-         process raaz random readline SafeSemaphore secret-sharing servant
-         servant-client servant-server socks split stm text time
-         token-bucket transformers unbounded-delays unix utf8-string wai
-         warp zxcvbn-c
+         crypto-random deepseq directory disk-free-space exceptions
+         fast-logger filepath http-client lifted-base MonadRandom network
+         optparse-applicative process raaz random random-shuffle readline
+         SafeSemaphore secret-sharing servant servant-client servant-server
+         socks split stm text time token-bucket transformers
+         unbounded-delays unix unix-compat utf8-string wai warp zxcvbn-c
        ];
        executableSystemDepends = [ argon2 ];
        jailbreak = true;
@@ -102380,6 +102311,23 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "kontra-config" = callPackage
+    ({ mkDerivation, base, bytestring, data-default, exceptions, text
+     , transformers-base, unjson, utf8-string, yaml
+     }:
+     mkDerivation {
+       pname = "kontra-config";
+       version = "0.1";
+       sha256 = "16b17e815e4c5060bda5b1db97c3d8a531e792fd1fdc9440e414af55812c2541";
+       libraryHaskellDepends = [
+         base bytestring data-default exceptions text transformers-base
+         unjson utf8-string yaml
+       ];
+       homepage = "https://github.com/scrive/kontra-config";
+       description = "JSON config file parsing based on unjson";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "kontrakcja-templates" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, hslogger
      , HStringTemplate, html, HUnit, MissingH, mtl, old-time, parsec
@@ -102704,8 +102652,8 @@ self: {
      }:
      mkDerivation {
        pname = "lackey";
-       version = "0.4.0";
-       sha256 = "34fa0c06eac9c6039aa704e7f64bfd0ed058e36088bef338459b4118e21a7fbb";
+       version = "0.4.1";
+       sha256 = "940dcc73673241ea92044bc8f0af1c1b7004e4c09a8e0e018d018c521ae71347";
        libraryHaskellDepends = [ base servant servant-foreign text ];
        testHaskellDepends = [ base servant tasty tasty-hspec text ];
        homepage = "https://github.com/tfausak/lackey#readme";
@@ -103492,17 +103440,18 @@ self: {
 
   "language-bash" = callPackage
     ({ mkDerivation, base, parsec, pretty, process, QuickCheck, tasty
-     , tasty-quickcheck, transformers
+     , tasty-expected-failure, tasty-hunit, tasty-quickcheck
+     , transformers
      }:
      mkDerivation {
        pname = "language-bash";
-       version = "0.6.1";
-       sha256 = "7fb4fb293aec5f3c9b0e7ca2b99f895115d1bbe13f8dbfe02003560e3c063c8d";
+       version = "0.6.2";
+       sha256 = "63b3201611262cf8aad5b836b2bbe673a6b718bd1a05d16289e3adc790b08ce8";
        libraryHaskellDepends = [ base parsec pretty transformers ];
        testHaskellDepends = [
-         base parsec process QuickCheck tasty tasty-quickcheck
+         base parsec process QuickCheck tasty tasty-expected-failure
+         tasty-hunit tasty-quickcheck
        ];
-       jailbreak = true;
        homepage = "http://github.com/knrafto/language-bash/";
        description = "Parsing and pretty-printing Bash shell scripts";
        license = stdenv.lib.licenses.bsd3;
@@ -104158,6 +104107,51 @@ self: {
        hydraPlatforms = [ "x86_64-linux" ];
      }) {};
 
+  "language-puppet_1_3_2" = callPackage
+    ({ mkDerivation, aeson, ansi-wl-pprint, attoparsec, base
+     , base16-bytestring, bytestring, case-insensitive, containers
+     , cryptonite, directory, either, exceptions, filecache, formatting
+     , Glob, hashable, hruby, hslogger, hspec, hspec-megaparsec
+     , http-api-data, http-client, HUnit, lens, lens-aeson, megaparsec
+     , memory, mtl, operational, optparse-applicative, parallel-io
+     , parsec, pcre-utils, process, random, regex-pcre-builtin
+     , scientific, semigroups, servant, servant-client, split, stm
+     , strict-base-types, temporary, text, time, transformers, unix
+     , unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "language-puppet";
+       version = "1.3.2";
+       sha256 = "c7236cda6d84a2243e5d49f8a06432452c84f963e2520f752f654376b5ce91fe";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson ansi-wl-pprint attoparsec base base16-bytestring bytestring
+         case-insensitive containers cryptonite directory either exceptions
+         filecache formatting hashable hruby hslogger hspec http-api-data
+         http-client lens lens-aeson megaparsec memory mtl operational
+         parsec pcre-utils process random regex-pcre-builtin scientific
+         semigroups servant servant-client split stm strict-base-types text
+         time transformers unix unordered-containers vector yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers Glob hslogger http-client lens
+         megaparsec mtl optparse-applicative parallel-io regex-pcre-builtin
+         servant-client strict-base-types text transformers
+         unordered-containers vector yaml
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base Glob hslogger hspec hspec-megaparsec HUnit lens
+         megaparsec mtl scientific strict-base-types temporary text
+         transformers unix unordered-containers vector
+       ];
+       jailbreak = true;
+       homepage = "http://lpuppet.banquise.net/";
+       description = "Tools to parse and evaluate the Puppet DSL";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-python" = callPackage
     ({ mkDerivation, alex, array, base, containers, happy, monads-tf
      , pretty, transformers, utf8-string
@@ -104322,6 +104316,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "language-thrift_0_10_0_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, containers, hspec
+     , hspec-discover, megaparsec, QuickCheck, scientific, semigroups
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "language-thrift";
+       version = "0.10.0.0";
+       sha256 = "29fd9968799a7feb1321ac3976aeb94cbc5fc39fd073abc5e192990138a3d378";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base containers megaparsec scientific semigroups
+         text transformers
+       ];
+       testHaskellDepends = [
+         ansi-wl-pprint base containers hspec hspec-discover megaparsec
+         QuickCheck scientific semigroups text transformers
+       ];
+       homepage = "https://github.com/abhinav/language-thrift#readme";
+       description = "Parser and pretty printer for the Thrift IDL format";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "language-typescript" = callPackage
     ({ mkDerivation, base, containers, parsec, pretty }:
      mkDerivation {
@@ -105019,8 +105036,10 @@ self: {
      }:
      mkDerivation {
        pname = "legion";
-       version = "0.3.0.0";
-       sha256 = "66549eb2e0f369f0056d5ba0b12dde5c7c58a98335eafeac7c8972505d9c6b89";
+       version = "0.4.0.0";
+       sha256 = "c2be3fecb0f5609e1c8edd03efde16090eed390691f32a8d180622443bffbe13";
+       revision = "1";
+       editedCabalFile = "9a134c1d2fba2d6eba65a24be6f21c5d27badbfa8c6a8bf74a537efb2e2affd6";
        libraryHaskellDepends = [
          aeson attoparsec base binary binary-conduit bytestring
          canteven-http canteven-log conduit conduit-extra containers
@@ -105029,11 +105048,30 @@ self: {
          time transformers unix uuid wai wai-extra warp
        ];
        jailbreak = true;
-       homepage = "https://github.com/taphu/legion";
+       homepage = "https://github.com/owensmurray/legion";
        description = "Distributed, stateful, homogeneous microservice framework";
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "legion-extra" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, canteven-log, containers
+     , data-default-class, legion, network, safe, split, yaml
+     }:
+     mkDerivation {
+       pname = "legion-extra";
+       version = "0.1.0.0";
+       sha256 = "46e72afd74eedbfa16a6809056e97695a074fff347954f645224a4e87774115e";
+       libraryHaskellDepends = [
+         aeson base bytestring canteven-log containers data-default-class
+         legion network safe split yaml
+       ];
+       testHaskellDepends = [ base ];
+       jailbreak = true;
+       homepage = "https://github.com/owensmurray/legion-extra#readme";
+       description = "Extra non-essential utilities for building legion applications";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "leksah" = callPackage
     ({ mkDerivation, array, base, base-compat, binary, binary-shared
      , blaze-html, bytestring, Cabal, conduit, containers, cpphs
@@ -107001,6 +107039,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "linked-list-with-iterator" = callPackage
+    ({ mkDerivation, base, containers }:
+     mkDerivation {
+       pname = "linked-list-with-iterator";
+       version = "0.1.0.0";
+       sha256 = "fc61ca669aaacf7401db5261e956f922db210cf02bbb540a6efd753060153853";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/CindyLinz/Haskell-linked-list-with-iterator#readme";
+       description = "A pure linked list which is mutable through iterators";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "linkedhashmap" = callPackage
     ({ mkDerivation, base, containers, deepseq, hashable, mtl, tasty
      , tasty-hunit, unordered-containers
@@ -107070,8 +107121,8 @@ self: {
      }:
      mkDerivation {
        pname = "linode-v4";
-       version = "0.1.0.3";
-       sha256 = "83bb8598f94a9646469469b85c1673189b89139ba9dc173bc85e8ee30ff40bfe";
+       version = "0.1.0.4";
+       sha256 = "f93c82446014d03ae3fa1dffc736bb8c884478d6cb81dafedba9168252b586e1";
        libraryHaskellDepends = [
          aeson base bytestring http-conduit unordered-containers
        ];
@@ -109684,13 +109735,12 @@ self: {
      }:
      mkDerivation {
        pname = "luminance";
-       version = "0.11.0.3";
-       sha256 = "94d7d9c62727cc3eceddf2f4653cba5bcbf9858855effec6687d60d3848a9547";
+       version = "0.11.0.4";
+       sha256 = "f34c1c4c00424a76710afc7090328f6624c3142b8154ba9847875ce18b37f9e4";
        libraryHaskellDepends = [
          base containers contravariant dlist gl linear mtl resourcet
          semigroups transformers vector void
        ];
-       jailbreak = true;
        homepage = "https://github.com/phaazon/luminance";
        description = "Type-safe, type-level and stateless graphics framework";
        license = stdenv.lib.licenses.bsd3;
@@ -111462,30 +111512,6 @@ self: {
      }:
      mkDerivation {
        pname = "math-functions";
-       version = "0.2.0.1";
-       sha256 = "ac165116d981d879b4ea4f387d40140515d75823d8d60295514c41dbf4cac641";
-       revision = "1";
-       editedCabalFile = "3722814c83e907f40959812ff4209a704e27d53be667c98b83815b222e073f27";
-       libraryHaskellDepends = [
-         base deepseq primitive vector vector-th-unbox
-       ];
-       testHaskellDepends = [
-         base deepseq erf HUnit primitive QuickCheck test-framework
-         test-framework-hunit test-framework-quickcheck2 vector
-         vector-th-unbox
-       ];
-       homepage = "https://github.com/bos/math-functions";
-       description = "Special functions and Chebyshev polynomials";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "math-functions_0_2_0_2" = callPackage
-    ({ mkDerivation, base, deepseq, erf, HUnit, primitive, QuickCheck
-     , test-framework, test-framework-hunit, test-framework-quickcheck2
-     , vector, vector-th-unbox
-     }:
-     mkDerivation {
-       pname = "math-functions";
        version = "0.2.0.2";
        sha256 = "2358ee156011a9d97cae2596c788bd00cd6ee698e5fb1c67e0eefb15aff24737";
        libraryHaskellDepends = [
@@ -111499,7 +111525,6 @@ self: {
        homepage = "https://github.com/bos/math-functions";
        description = "Special functions and Chebyshev polynomials";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mathblog" = callPackage
@@ -112196,8 +112221,8 @@ self: {
      }:
      mkDerivation {
        pname = "mellon-core";
-       version = "0.7.0.1";
-       sha256 = "addfa2b5cd790a7cff00f48366f5ad3e25a77e3a6d8163a3914da5b1d0c79288";
+       version = "0.7.0.3";
+       sha256 = "02164fc2941eed7866e81b2d06b57b1ecb18151896e0bef795ad023b21773604";
        libraryHaskellDepends = [ async base mtl time transformers ];
        testHaskellDepends = [
          async base doctest hlint hspec mtl QuickCheck quickcheck-instances
@@ -112212,8 +112237,8 @@ self: {
     ({ mkDerivation, base, hlint, hpio, mellon-core }:
      mkDerivation {
        pname = "mellon-gpio";
-       version = "0.7.0.1";
-       sha256 = "f9585f0bcf3850437eaa689046d27e2d0df52a0d668ba0ee4f9eee155ba82380";
+       version = "0.7.0.3";
+       sha256 = "da0a2a616eb2834fe98fd4e456317d569b88de27b573d11f1e82b15294ea3222";
        libraryHaskellDepends = [ base hpio mellon-core ];
        testHaskellDepends = [ base hlint ];
        homepage = "https://github.com/dhess/mellon/";
@@ -112223,15 +112248,15 @@ self: {
 
   "mellon-web" = callPackage
     ({ mkDerivation, aeson, base, bytestring, exceptions, hlint, hpio
-     , hspec, hspec-wai, http-client, http-types, lucid, mellon-core
-     , mellon-gpio, mtl, network, optparse-applicative, servant
-     , servant-client, servant-docs, servant-lucid, servant-server, text
-     , time, transformers, wai, wai-extra, warp
+     , hspec, hspec-wai, http-client, http-client-tls, http-types, lucid
+     , mellon-core, mellon-gpio, mtl, network, optparse-applicative
+     , servant, servant-client, servant-docs, servant-lucid
+     , servant-server, text, time, transformers, wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "mellon-web";
-       version = "0.7.0.1";
-       sha256 = "dc51190cd4529f2d3844fef77edafa6c7b4c5680f7e4c422392f211bf9de46b1";
+       version = "0.7.0.3";
+       sha256 = "77396dd6091f3c940bf1b15e1415698f432bb70d53557ea2988580fc54ae256b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -112240,8 +112265,9 @@ self: {
          text time transformers wai warp
        ];
        executableHaskellDepends = [
-         base exceptions hpio mellon-core mellon-gpio mtl network
-         optparse-applicative time transformers warp
+         base bytestring exceptions hpio http-client http-client-tls
+         http-types mellon-core mellon-gpio mtl network optparse-applicative
+         servant-client time transformers warp
        ];
        testHaskellDepends = [
          aeson base bytestring hlint hspec hspec-wai http-client http-types
@@ -112249,7 +112275,6 @@ self: {
          servant-lucid servant-server text time transformers wai wai-extra
          warp
        ];
-       jailbreak = true;
        homepage = "https://github.com/dhess/mellon/";
        description = "A REST web service for Mellon controllers";
        license = stdenv.lib.licenses.bsd3;
@@ -112831,44 +112856,6 @@ self: {
      }:
      mkDerivation {
        pname = "microformats2-parser";
-       version = "1.0.1.5";
-       sha256 = "45be8a1f330be4dc435302dae223f80b21e5be388fbca9a8abf8a8489f4938cc";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson aeson-qq attoparsec base base-compat blaze-markup bytestring
-         containers data-default either errors html-conduit lens-aeson
-         network-uri pcre-heavy safe tagsoup text time transformers
-         unordered-containers vector xml-lens xss-sanitize
-       ];
-       executableHaskellDepends = [
-         aeson aeson-pretty base base-compat blaze-html blaze-markup
-         data-default network network-uri options scotty streaming-commons
-         text wai-extra warp
-       ];
-       testHaskellDepends = [
-         aeson-qq base base-compat bytestring data-default hspec
-         hspec-expectations-pretty-diff html-conduit mtl network-uri
-         raw-strings-qq template-haskell text time xml-lens
-       ];
-       homepage = "https://github.com/myfreeweb/microformats2-parser";
-       description = "A Microformats 2 parser";
-       license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
-     }) {};
-
-  "microformats2-parser_1_0_1_6" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec, base
-     , base-compat, blaze-html, blaze-markup, bytestring, containers
-     , data-default, either, errors, hspec
-     , hspec-expectations-pretty-diff, html-conduit, lens-aeson, mtl
-     , network, network-uri, options, pcre-heavy, raw-strings-qq, safe
-     , scotty, streaming-commons, tagsoup, template-haskell, text, time
-     , transformers, unordered-containers, vector, wai-extra, warp
-     , xml-lens, xss-sanitize
-     }:
-     mkDerivation {
-       pname = "microformats2-parser";
        version = "1.0.1.6";
        sha256 = "9937ae3658bf1bfbb34f03cc8f0fcd1c236f72cd52f5845cfbd19f02a3ed33f8";
        isLibrary = true;
@@ -113448,26 +113435,6 @@ self: {
      }:
      mkDerivation {
        pname = "mime-mail-ses";
-       version = "0.3.2.2";
-       sha256 = "c10bbf88ca04119c060f74b7bc1f139ba23bbf122596fbf8c46d0d8e6f76f4b7";
-       libraryHaskellDepends = [
-         base base64-bytestring byteable bytestring conduit cryptohash
-         http-client http-conduit http-types mime-mail old-locale text time
-         transformers xml-conduit xml-types
-       ];
-       homepage = "http://github.com/snoyberg/mime-mail";
-       description = "Send mime-mail messages via Amazon SES";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "mime-mail-ses_0_3_2_3" = callPackage
-    ({ mkDerivation, base, base64-bytestring, byteable, bytestring
-     , conduit, cryptohash, http-client, http-conduit, http-types
-     , mime-mail, old-locale, text, time, transformers, xml-conduit
-     , xml-types
-     }:
-     mkDerivation {
-       pname = "mime-mail-ses";
        version = "0.3.2.3";
        sha256 = "03f977386c2cdf122097a0327509e4151eb10e320d8cec1791d259aa067f4d4c";
        libraryHaskellDepends = [
@@ -113478,7 +113445,6 @@ self: {
        homepage = "http://github.com/snoyberg/mime-mail";
        description = "Send mime-mail messages via Amazon SES";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mime-string" = callPackage
@@ -114777,8 +114743,8 @@ self: {
      }:
      mkDerivation {
        pname = "monad-logger-prefix";
-       version = "0.1.5";
-       sha256 = "fac86ae4d93d817963a9f8a75eadbd08bde5b1f3e6a12f07ef85f30c9a452fcf";
+       version = "0.1.6";
+       sha256 = "fb7697098223b64ab42e7739eba16eacf80d8eb8a577a5a4dcca9bcec5e94d92";
        libraryHaskellDepends = [
          base exceptions monad-control monad-logger mtl resourcet text
          transformers transformers-base
@@ -115711,30 +115677,6 @@ self: {
      }:
      mkDerivation {
        pname = "mono-traversable";
-       version = "1.0.0.1";
-       sha256 = "001d1fba5e3da63c46784a621d1430937e9537b38c0a74876e489ff4d7d3828a";
-       revision = "1";
-       editedCabalFile = "1c3e3ffbdd7dc77b065afc67e2d6d581bc43a7818d96f5bace88caf6e28106aa";
-       libraryHaskellDepends = [
-         base bytestring containers hashable split text transformers
-         unordered-containers vector vector-algorithms
-       ];
-       testHaskellDepends = [
-         base bytestring containers foldl hspec HUnit QuickCheck semigroups
-         text transformers unordered-containers vector
-       ];
-       homepage = "https://github.com/snoyberg/mono-traversable";
-       description = "Type classes for mapping, folding, and traversing monomorphic containers";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "mono-traversable_1_0_1" = callPackage
-    ({ mkDerivation, base, bytestring, containers, foldl, hashable
-     , hspec, HUnit, QuickCheck, semigroups, split, text, transformers
-     , unordered-containers, vector, vector-algorithms
-     }:
-     mkDerivation {
-       pname = "mono-traversable";
        version = "1.0.1";
        sha256 = "a96d449eb00e062be003d314884fdb06b1e02e18e0d43e5008500ae7ef3de268";
        libraryHaskellDepends = [
@@ -115748,7 +115690,6 @@ self: {
        homepage = "https://github.com/snoyberg/mono-traversable";
        description = "Type classes for mapping, folding, and traversing monomorphic containers";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "mono-traversable-instances" = callPackage
@@ -115848,6 +115789,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "monoid-subclasses_0_4_3" = callPackage
+    ({ mkDerivation, base, bytestring, containers, primes, QuickCheck
+     , quickcheck-instances, tasty, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "monoid-subclasses";
+       version = "0.4.3";
+       sha256 = "568fd54e1fe35557129bc8cd1a751343dfde61a63fab0baadc38683101aed0cd";
+       libraryHaskellDepends = [
+         base bytestring containers primes text vector
+       ];
+       testHaskellDepends = [
+         base bytestring containers primes QuickCheck quickcheck-instances
+         tasty tasty-quickcheck text vector
+       ];
+       jailbreak = true;
+       homepage = "https://github.com/blamario/monoid-subclasses/";
+       description = "Subclasses of Monoid";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "monoid-transformer" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -118738,20 +118701,6 @@ self: {
     ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit }:
      mkDerivation {
        pname = "ndjson-conduit";
-       version = "0.1.0.3";
-       sha256 = "a4f9e574af6d565ea9edc313c78ea9ee95c957d2abe61f4a0991a49231e9b592";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring conduit
-       ];
-       homepage = "https://github.com/srijs/haskell-ndjson-conduit";
-       description = "Conduit-based parsing and serialization for newline delimited JSON";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "ndjson-conduit_0_1_0_5" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, conduit }:
-     mkDerivation {
-       pname = "ndjson-conduit";
        version = "0.1.0.5";
        sha256 = "c037b8f7c47b146f1384585541ae8a4f9218bc4456f428935f973ae07da49db1";
        libraryHaskellDepends = [
@@ -118760,7 +118709,6 @@ self: {
        homepage = "https://github.com/srijs/haskell-ndjson-conduit";
        description = "Conduit-based parsing and serialization for newline delimited JSON";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "neat" = callPackage
@@ -119836,18 +119784,19 @@ self: {
 
   "network-msgpack-rpc" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, data-msgpack, exceptions, hspec
-     , monad-control, mtl, network
+     , conduit, conduit-extra, data-default-class, data-msgpack
+     , exceptions, hspec, monad-control, mtl, network, tagged
      }:
      mkDerivation {
        pname = "network-msgpack-rpc";
-       version = "0.0.1";
-       sha256 = "e9588ff1c7569aef8599e7161e9277904e1542a31a8fbaf7127b4da2efc1656d";
+       version = "0.0.2";
+       sha256 = "6938c9952006b7cd2796d493c295f96324523308cc5c2c9748d4707f58012f7c";
        libraryHaskellDepends = [
          base binary binary-conduit bytestring conduit conduit-extra
-         data-msgpack exceptions monad-control mtl network
+         data-default-class data-msgpack exceptions monad-control mtl
+         network tagged
        ];
-       testHaskellDepends = [ async base hspec mtl network ];
+       testHaskellDepends = [ async base bytestring hspec mtl network ];
        homepage = "http://msgpack.org/";
        description = "A MessagePack-RPC Implementation";
        license = stdenv.lib.licenses.bsd3;
@@ -120517,11 +120466,11 @@ self: {
     ({ mkDerivation, base, bytestring, template-haskell }:
      mkDerivation {
        pname = "ngx-export";
-       version = "0.1.0.0";
-       sha256 = "71eb528e964f72801c832038a929a693fd654b258be0c654c004f150a17d6c63";
+       version = "0.1.1.0";
+       sha256 = "bd5730abe51fa7ffab62f8d9bf52a3a0394945358f163606b23a9f8691cb3192";
        libraryHaskellDepends = [ base bytestring template-haskell ];
        homepage = "http://github.com/lyokha/nginx-haskell-module";
-       description = "Export custom haskell functions into nginx configuration";
+       description = "Helper module for Nginx haskell module";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -121976,36 +121925,6 @@ self: {
      }:
      mkDerivation {
        pname = "octane";
-       version = "0.16.1";
-       sha256 = "8b42c80e4274d8e9677eec6a349a3c7d337b129fa4194d05a288ac91ad3406ec";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 data-default-class deepseq file-embed
-         overloaded-records regex-compat text unordered-containers vector
-       ];
-       executableHaskellDepends = [
-         aeson base binary bytestring http-client http-client-tls
-       ];
-       testHaskellDepends = [
-         base binary binary-bits bytestring containers tasty tasty-hspec
-         tasty-quickcheck text
-       ];
-       homepage = "https://github.com/tfausak/octane#readme";
-       description = "Parse Rocket League replays";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "octane_0_16_3" = callPackage
-    ({ mkDerivation, aeson, base, bimap, binary, binary-bits
-     , bytestring, containers, data-binary-ieee754, data-default-class
-     , deepseq, file-embed, http-client, http-client-tls
-     , overloaded-records, regex-compat, tasty, tasty-hspec
-     , tasty-quickcheck, text, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "octane";
        version = "0.16.3";
        sha256 = "e62faeb9bec990995d507e7542ebde84edfb42cbae4b0369bfe4aadec05d91fe";
        isLibrary = true;
@@ -122025,7 +121944,6 @@ self: {
        homepage = "https://github.com/tfausak/octane#readme";
        description = "Parse Rocket League replays";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "octohat" = callPackage
@@ -122413,6 +122331,8 @@ self: {
        pname = "omnifmt";
        version = "0.2.1.1";
        sha256 = "1964789180234ea2ae72fa397beab99985392dac86f527ec7866463288341731";
+       revision = "1";
+       editedCabalFile = "51f61090b21ee761c23c15b3a1f371f306c9ac912c2b55fa565848e8dbba42fa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -122595,6 +122515,8 @@ self: {
        pname = "opaleye";
        version = "0.5.1.1";
        sha256 = "4a931cbed10a9eb2c20abb1cfa7a70ead7c5b0464ec516a0dd437fef7b3dc02e";
+       revision = "1";
+       editedCabalFile = "134244b5b0a2b0d253dfd9021e6522938a138ed68631af787c0d7f3d673e6e39";
        libraryHaskellDepends = [
          aeson attoparsec base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -124511,8 +124433,8 @@ self: {
     ({ mkDerivation, base, deepseq, exceptions, hspec, QuickCheck }:
      mkDerivation {
        pname = "pagination";
-       version = "0.1.0";
-       sha256 = "1d4312ec808e0a39f15b0f78e84b298b1ad6c608aa9a43b2476e94e5c51c771d";
+       version = "0.1.1";
+       sha256 = "bac47b84007afe78cdb2a26e2058961d4a67669f9d9b8b0a30f813cd83e6eb04";
        libraryHaskellDepends = [ base deepseq exceptions ];
        testHaskellDepends = [ base exceptions hspec QuickCheck ];
        homepage = "https://github.com/mrkkrp/pagination";
@@ -124702,8 +124624,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.10.1";
-       sha256 = "ebc3eb3ff95e97ebd46c0918a65db2da021de2a70d02dc85ca5b344ea5c21205";
+       version = "0.10.1.1";
+       sha256 = "67ea382f068ecc5eea1ad44c515e7aaa56d3e60e6be18ed3d2ec5cfd85eb8432";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -124915,6 +124837,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "pandoc-vimhl" = callPackage
+    ({ mkDerivation, base, cond, directory, filepath, pandoc-types
+     , process, regex-compat, temporary
+     }:
+     mkDerivation {
+       pname = "pandoc-vimhl";
+       version = "0.1.0.0";
+       sha256 = "b6241c77d659f8c4d75025e6a89c9c22d594a52eee5a36380aa056b3e53ff633";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base cond directory filepath pandoc-types process regex-compat
+         temporary
+       ];
+       homepage = "http://github.com/lyokha/vim-publish-helper";
+       description = "Pandoc filter for native Vim code highlighting";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "pango" = callPackage
     ({ mkDerivation, array, base, Cabal, cairo, containers, directory
      , filepath, glib, gtk2hs-buildtools, mtl, pango, pretty, process
@@ -127038,6 +126979,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "persistable-record_0_4_0_3" = callPackage
+    ({ mkDerivation, array, base, containers, dlist, names-th
+     , template-haskell, th-data-compat, transformers
+     }:
+     mkDerivation {
+       pname = "persistable-record";
+       version = "0.4.0.3";
+       sha256 = "0a25f3cfec301e9124293e8f38ad55fba5d18d3d7a9371a971ee17b6152ad360";
+       libraryHaskellDepends = [
+         array base containers dlist names-th template-haskell
+         th-data-compat transformers
+       ];
+       homepage = "http://khibino.github.io/haskell-relational-record/";
+       description = "Binding between SQL database values and haskell records";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "persistable-types-HDBC-pg" = callPackage
     ({ mkDerivation, base, bytestring, convertible, HDBC
      , persistable-record, relational-query-HDBC, text-postgresql
@@ -127103,8 +127062,8 @@ self: {
        pname = "persistent";
        version = "2.6";
        sha256 = "42423362de94599581d18be644ba77181e87417087b3953daec2e8512d408e3e";
-       revision = "1";
-       editedCabalFile = "9a319037770f0dbdb394343aa5efca241680c2854a8d53e74b61debf4b6ded9d";
+       revision = "2";
+       editedCabalFile = "34e03865c3d882d04c3a03e289007cd6a8669b941b5fdac27c2628a2d976b2b6";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-html blaze-markup
          bytestring conduit containers exceptions fast-logger http-api-data
@@ -128286,6 +128245,21 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "pid1" = callPackage
+    ({ mkDerivation, base, process, unix }:
+     mkDerivation {
+       pname = "pid1";
+       version = "0.1.0.0";
+       sha256 = "2b8e4bcdb1ce5c1dd5734d4406edd899e72e0afbe83758ff77590508a39d6cd2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base process unix ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/fpco/pid1#readme";
+       description = "Do signal handling and orphan reaping for Unix PID1 init processes";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "piet" = callPackage
     ({ mkDerivation, array, base, containers, Imlib, mtl }:
      mkDerivation {
@@ -128339,7 +128313,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "pinboard_0_9_9" = callPackage
+  "pinboard_0_9_10" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, either, hspec
      , http-client, http-client-tls, http-types, mtl, network
      , profunctors, QuickCheck, random, safe-exceptions, semigroups
@@ -128347,8 +128321,8 @@ self: {
      }:
      mkDerivation {
        pname = "pinboard";
-       version = "0.9.9";
-       sha256 = "0000e935c683365d31d20b307b8e5495b311219f5aef66da6dcce65675fffa25";
+       version = "0.9.10";
+       sha256 = "841e1a70daecec66d53fb3fdeb1c89fa5c2de0e5bd701129a9596492216a5249";
        libraryHaskellDepends = [
          aeson base bytestring containers either http-client http-client-tls
          http-types mtl network profunctors random safe-exceptions text time
@@ -128477,23 +128451,6 @@ self: {
      }:
      mkDerivation {
        pname = "pipes-aeson";
-       version = "0.4.1.6";
-       sha256 = "fb91280e7e12c1ea1c78a36b264eafea707d08e7cd52c792a06b194ff78b03dc";
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring pipes pipes-attoparsec
-         pipes-bytestring pipes-parse transformers
-       ];
-       homepage = "https://github.com/k0001/pipes-aeson";
-       description = "Encode and decode JSON streams using Aeson and Pipes";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pipes-aeson_0_4_1_7" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, pipes
-     , pipes-attoparsec, pipes-bytestring, pipes-parse, transformers
-     }:
-     mkDerivation {
-       pname = "pipes-aeson";
        version = "0.4.1.7";
        sha256 = "c7cfb199fe3160e3b87f70017050dec94451a4cbc56d3956c91ca007ce5cb8cd";
        libraryHaskellDepends = [
@@ -128503,7 +128460,6 @@ self: {
        homepage = "https://github.com/k0001/pipes-aeson";
        description = "Encode and decode JSON streams using Aeson and Pipes";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-async" = callPackage
@@ -129746,12 +129702,11 @@ self: {
      }:
      mkDerivation {
        pname = "plot";
-       version = "0.2.3.5";
-       sha256 = "db5d69d5249e562eaedaa0887075dc43142ddb20260ddc746b501b8b2ed58483";
+       version = "0.2.3.6";
+       sha256 = "ad606de1d746f26cea36f1818209adab83bb32bf46b562465930f64c975afdfd";
        libraryHaskellDepends = [
          array base cairo colour hmatrix mtl pango transformers
        ];
-       jailbreak = true;
        homepage = "http://github.com/amcphail/plot";
        description = "A plotting library, exportable as eps/pdf/svg/png or renderable with gtk";
        license = stdenv.lib.licenses.bsd3;
@@ -130596,8 +130551,8 @@ self: {
      }:
      mkDerivation {
        pname = "pontarius-xmpp";
-       version = "0.5.2";
-       sha256 = "c47f4b2991dc7c6de04bc6f2cc9adebe5fecca6008a446a7747345cb40e626da";
+       version = "0.5.3";
+       sha256 = "70b34c6cc581183752e04c967bd6b383b0d4a813badd412ece35bcc5bff991fd";
        libraryHaskellDepends = [
          attoparsec base base64-bytestring binary bytestring conduit
          containers crypto-api crypto-random cryptohash cryptohash-cryptoapi
@@ -132203,19 +132158,6 @@ self: {
     ({ mkDerivation, base, hspec, mtl, tagged }:
      mkDerivation {
        pname = "pretty-types";
-       version = "0.2.3.0";
-       sha256 = "82a9a4b3337cc9d07aeef4b9f7af9c9010465fb7a9d258a84802a3b36806341d";
-       libraryHaskellDepends = [ base mtl tagged ];
-       testHaskellDepends = [ base hspec tagged ];
-       homepage = "https://github.com/sheyll/pretty-types#readme";
-       description = "A small pretty printing DSL for complex types";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "pretty-types_0_2_3_1" = callPackage
-    ({ mkDerivation, base, hspec, mtl, tagged }:
-     mkDerivation {
-       pname = "pretty-types";
        version = "0.2.3.1";
        sha256 = "e56c49d1099aaeafe0b982ef9e60cb7194fd987c4b659a8d7bcde380d3b8784f";
        libraryHaskellDepends = [ base mtl tagged ];
@@ -132223,7 +132165,6 @@ self: {
        homepage = "https://github.com/sheyll/pretty-types#readme";
        description = "A small pretty printing DSL for complex types";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "prettyFunctionComposing" = callPackage
@@ -133395,8 +133336,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens";
-       version = "0.1.0.2";
-       sha256 = "860abe2b2a248144a7459dd00b5a55a8e13e07ba143060295d2db0c1790d067b";
+       version = "0.1.0.3";
+       sha256 = "86657eec7852538ca287fbddf2e33fb14be1153b87d28567cb92c8a31b1ac8ab";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default-class
          lens-family parsec pretty text transformers void
@@ -133468,8 +133409,8 @@ self: {
      }:
      mkDerivation {
        pname = "proto-lens-protoc";
-       version = "0.1.0.2";
-       sha256 = "f70c4ae45a950ce090d6d93303738ee79e237168a7b03bce2a4f883a0ace6b4b";
+       version = "0.1.0.3";
+       sha256 = "d1d84c93a62e00338e32224d3a1fbc448a8df4084aa42e1eb12a5f113cbd1a40";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -133559,6 +133500,33 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "protobuf-simple_0_1_0_2" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers
+     , data-binary-ieee754, directory, filepath, hspec, mtl, parsec
+     , QuickCheck, quickcheck-instances, split, text
+     }:
+     mkDerivation {
+       pname = "protobuf-simple";
+       version = "0.1.0.2";
+       sha256 = "ef2b79ffd3f11796027cbc5bbcfcc68a6d1948f66acd079bb60c6d6ed00622f3";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary bytestring containers data-binary-ieee754 mtl text
+       ];
+       executableHaskellDepends = [
+         base containers directory filepath mtl parsec split text
+       ];
+       testHaskellDepends = [
+         base binary bytestring containers data-binary-ieee754 filepath
+         hspec parsec QuickCheck quickcheck-instances split text
+       ];
+       homepage = "https://github.com/sru-systems/protobuf-simple";
+       description = "Simple Protocol Buffers library (proto2)";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "protocol-buffers" = callPackage
     ({ mkDerivation, array, base, binary, bytestring, containers
      , directory, filepath, mtl, parsec, syb, utf8-string
@@ -134363,6 +134331,55 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "purescript_0_10_0" = callPackage
+    ({ mkDerivation, aeson, aeson-better-errors, ansi-terminal
+     , ansi-wl-pprint, base, base-compat, bower-json, boxes, bytestring
+     , clock, containers, data-ordlist, directory, dlist, edit-distance
+     , file-embed, filepath, fsnotify, Glob, haskeline, hspec
+     , hspec-discover, http-client, http-types, HUnit
+     , language-javascript, lifted-base, monad-control, monad-logger
+     , mtl, network, optparse-applicative, parallel, parsec
+     , pattern-arrows, pipes, pipes-http, process, protolude, regex-tdfa
+     , safe, semigroups, silently, sourcemap, spdx, split, stm, syb
+     , text, time, transformers, transformers-base, transformers-compat
+     , unordered-containers, utf8-string, vector, wai, wai-websockets
+     , warp, websockets
+     }:
+     mkDerivation {
+       pname = "purescript";
+       version = "0.10.0";
+       sha256 = "1c4881f7a57458e3c5ba64acefad7e50299fe2ed549b42cb32edfa07bc7ac76a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-better-errors ansi-terminal base base-compat bower-json
+         boxes bytestring clock containers data-ordlist directory dlist
+         edit-distance filepath fsnotify Glob haskeline http-client
+         http-types language-javascript lifted-base monad-control
+         monad-logger mtl parallel parsec pattern-arrows pipes pipes-http
+         process protolude regex-tdfa safe semigroups sourcemap spdx split
+         stm syb text time transformers transformers-base
+         transformers-compat unordered-containers utf8-string vector
+       ];
+       executableHaskellDepends = [
+         aeson ansi-terminal ansi-wl-pprint base base-compat boxes
+         bytestring containers directory file-embed filepath Glob haskeline
+         http-types monad-logger mtl network optparse-applicative parsec
+         process protolude split stm text time transformers
+         transformers-compat utf8-string wai wai-websockets warp websockets
+       ];
+       testHaskellDepends = [
+         aeson aeson-better-errors base base-compat boxes bytestring
+         containers directory filepath Glob haskeline hspec hspec-discover
+         HUnit mtl optparse-applicative parsec process protolude silently
+         stm text time transformers transformers-compat utf8-string vector
+       ];
+       homepage = "http://www.purescript.org/";
+       description = "PureScript Programming Language Compiler";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "purescript-bridge" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , generic-deriving, hspec, hspec-expectations-pretty-diff, lens
@@ -134510,8 +134527,8 @@ self: {
      }:
      mkDerivation {
        pname = "pusher-http-haskell";
-       version = "1.1.0.2";
-       sha256 = "bbd8ad5f868b9a5f94ee193bdb07c3c1eae8faca55fe876594e04d8746703689";
+       version = "1.1.0.3";
+       sha256 = "7c70330d247624caaac8d2569735728a375d06a813ae1dc2a240707c4149caab";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring cryptohash hashable
          http-client http-types QuickCheck text time transformers
@@ -135455,8 +135472,8 @@ self: {
     ({ mkDerivation, base, binary, bytestring, QuickCheck, text }:
      mkDerivation {
        pname = "quickcheck-text";
-       version = "0.1.1.0";
-       sha256 = "bb62b4bf21b639860600ce59ce13715ad13d995e5ef7825384ffb8fa72da2585";
+       version = "0.1.2.1";
+       sha256 = "4442fdb8ae6cd469c04957d34fee46039c9dc0ddce23ce6050babe6826d0ab09";
        libraryHaskellDepends = [ base binary bytestring QuickCheck text ];
        testHaskellDepends = [ base bytestring QuickCheck text ];
        homepage = "https://github.com/olorin/quickcheck-text";
@@ -137852,8 +137869,8 @@ self: {
      }:
      mkDerivation {
        pname = "reedsolomon";
-       version = "0.0.4.0";
-       sha256 = "40498e946a71155b078d307d11803800f1a4df0777dd1ba8c3cf6e6c5689b7e9";
+       version = "0.0.4.2";
+       sha256 = "1f2e6d4d781692ed5cbb6f655486fa7d9a8a2872feb6a4a0626e3e778e067d9f";
        libraryHaskellDepends = [
          base bytestring exceptions gitrev loop mtl primitive profunctors
          vector
@@ -137863,7 +137880,6 @@ self: {
          QuickCheck random tasty tasty-ant-xml tasty-hunit tasty-quickcheck
          vector
        ];
-       jailbreak = true;
        homepage = "http://github.com/NicolasT/reedsolomon";
        description = "Reed-Solomon Erasure Coding in Haskell";
        license = stdenv.lib.licenses.mit;
@@ -139951,10 +139967,9 @@ self: {
     ({ mkDerivation, base, containers, syb, text }:
      mkDerivation {
        pname = "repr-tree-syb";
-       version = "0.1.0";
-       sha256 = "ba680aaa125fe2383f4cc896078e135f767cafb5df9dee80857f6c57d776fdce";
+       version = "0.1.1";
+       sha256 = "12de6e621f8e3452eceb82194e4f19b95de306c38c1651bafe9d4bf88a59eefa";
        libraryHaskellDepends = [ base containers syb text ];
-       jailbreak = true;
        homepage = "https://github.com/nikita-volkov/repr-tree-syb";
        description = "Tree representation and pretty-printing of data structures based on SYB";
        license = stdenv.lib.licenses.mit;
@@ -140559,23 +140574,6 @@ self: {
      }) {};
 
   "result" = callPackage
-    ({ mkDerivation, base, bifunctors, keys, mtl, semigroups
-     , transformers
-     }:
-     mkDerivation {
-       pname = "result";
-       version = "0.2.5.0";
-       sha256 = "92a488febc3d847a84a7d500613a0fa58450530c6c6ca64a94784023a4412c2d";
-       libraryHaskellDepends = [
-         base bifunctors keys mtl semigroups transformers
-       ];
-       testHaskellDepends = [ base ];
-       homepage = "https://github.com/srijs/haskell-result";
-       description = "Encode success or at least one error";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "result_0_2_5_1" = callPackage
     ({ mkDerivation, base, bifunctors, keys, mtl, transformers }:
      mkDerivation {
        pname = "result";
@@ -140586,7 +140584,6 @@ self: {
        homepage = "https://github.com/srijs/haskell-result";
        description = "Encode success or at least one error";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "resumable-exceptions" = callPackage
@@ -141227,6 +141224,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "rl-satton" = callPackage
+    ({ mkDerivation, base, binary, containers, deepseq, directory
+     , filepath, free, hashable, heredocs, lens, mersenne-random-pure64
+     , monad-loops, MonadRandom, mtl, pretty-show, process, random, stm
+     , text, time, transformers, unordered-containers
+     }:
+     mkDerivation {
+       pname = "rl-satton";
+       version = "0.1.2";
+       sha256 = "5490d60a6522ba9821e937a6a531102dfed7953f7b007639aa1f5dbaf21b4770";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base binary containers deepseq directory filepath free hashable
+         heredocs lens mersenne-random-pure64 monad-loops MonadRandom mtl
+         pretty-show process random stm text time transformers
+         unordered-containers
+       ];
+       executableHaskellDepends = [
+         base containers mtl unordered-containers
+       ];
+       homepage = "https://github.com/grwlf/rl";
+       description = "Collection of Reinforcement Learning algorithms";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "rlglue" = callPackage
     ({ mkDerivation, base, binary, bytestring, data-binary-ieee754
      , exceptions, network, network-simple, parsec, random, transformers
@@ -141717,8 +141740,8 @@ self: {
      }:
      mkDerivation {
        pname = "rosmsg";
-       version = "0.5.1.0";
-       sha256 = "982a2cfb16d2882c1914ed1c3f03696423e72adb9adba8c530ecfbe8affe9ef7";
+       version = "0.5.2.0";
+       sha256 = "94654afe0f61e20658239c1f0af129dbd356c7af6e9b914c2b90f084804826a4";
        libraryHaskellDepends = [
          attoparsec base binary bytestring data-default-class
          lens-family-core pureMD5 template-haskell text
@@ -142143,6 +142166,33 @@ self: {
        license = "unknown";
      }) {};
 
+  "rss-conduit_0_3_0_0" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, conduit-combinators
+     , conduit-extra, containers, data-default, hlint, lens-simple
+     , mono-traversable, QuickCheck, quickcheck-instances, resourcet
+     , safe, safe-exceptions, tasty, tasty-hunit, tasty-quickcheck, text
+     , time, timerep, uri-bytestring, xml-conduit, xml-types
+     }:
+     mkDerivation {
+       pname = "rss-conduit";
+       version = "0.3.0.0";
+       sha256 = "370a507c6df71af1bdce4c27381ebaa2c87664c5ae6e853e9f43c927e3345f5c";
+       libraryHaskellDepends = [
+         base conduit conduit-combinators containers lens-simple
+         mono-traversable safe safe-exceptions text time timerep
+         uri-bytestring xml-conduit xml-types
+       ];
+       testHaskellDepends = [
+         base bytestring conduit conduit-extra data-default hlint
+         lens-simple mono-traversable QuickCheck quickcheck-instances
+         resourcet safe-exceptions tasty tasty-hunit tasty-quickcheck text
+         time uri-bytestring xml-conduit xml-types
+       ];
+       description = "Streaming parser/renderer for the RSS 2.0 standard.";
+       license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rss2irc" = callPackage
     ({ mkDerivation, base, bytestring, cabal-file-th, cmdargs
      , containers, deepseq, feed, http-client, http-conduit, http-types
@@ -143359,8 +143409,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "1.1.0";
-       sha256 = "9eb577cf6529958cc551629f6ee0306e495b3a7e657de8a4e15ca7c344519060";
+       version = "1.2.2";
+       sha256 = "2629bbcc34c50544b451567c6b314837209e4199133154cab9c0f07803231e16";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -144353,8 +144403,8 @@ self: {
      }:
      mkDerivation {
        pname = "scrape-changes";
-       version = "0.1.0.3";
-       sha256 = "adc2e84e97cdc4c4cca7012be5be61683e55c4ba2bb539dd2dfe75cda1a3f4e7";
+       version = "0.1.0.4";
+       sha256 = "cdeba91d063c2e2368c15ad5c9767572e6101003d15bb7f1ae79b317c5792a72";
        libraryHaskellDepends = [
          async attoparsec base bytestring cron directory email-validate
          filepath hashable hslogger http-client lens mime-mail network-uri
@@ -144631,8 +144681,8 @@ self: {
      }:
      mkDerivation {
        pname = "sdr";
-       version = "0.1.0.8";
-       sha256 = "bdad09c6df50719aa70760568914a6ccdeb7e183fc11e85888963a35db326f78";
+       version = "0.1.0.9";
+       sha256 = "0d7725059fd930cdf4e4a7a8a63763077b8cdc7dae8e1fa4116ec3d0ae5a4b55";
        libraryHaskellDepends = [
          array base bytestring cairo cereal Chart Chart-cairo colour
          containers Decimal dynamic-graph either fftwRaw GLFW-b mwc-random
@@ -145042,19 +145092,17 @@ self: {
      }) {};
 
   "semibounded-lattices" = callPackage
-    ({ mkDerivation, base, containers, lattices, semibounded-lattice }:
+    ({ mkDerivation, base, containers, lattices }:
      mkDerivation {
        pname = "semibounded-lattices";
-       version = "0.1.0.0";
-       sha256 = "433329bceb9eb326cc4f1fdb6a78970cbd278b72d051382baab1a043dddfbce4";
+       version = "0.1.0.1";
+       sha256 = "6a5ee4b2e956ecf62492f4cdfb26000067f2d92d4d745ad47b9b60c800ac1d77";
        libraryHaskellDepends = [ base containers lattices ];
-       testHaskellDepends = [ base semibounded-lattice ];
-       jailbreak = true;
+       testHaskellDepends = [ base ];
        homepage = "https://github.com/xu-hao/semibounded-lattices#readme";
        description = "A Haskell implementation of semibounded lattices";
        license = stdenv.lib.licenses.bsd3;
-       broken = true;
-     }) {semibounded-lattice = null;};
+     }) {};
 
   "semigroupoid-extras" = callPackage
     ({ mkDerivation, base, profunctors, semigroupoids }:
@@ -145698,6 +145746,34 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant_0_9" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , case-insensitive, directory, doctest, filemanip, filepath, hspec
+     , http-api-data, http-media, http-types, mmorph, mtl, network-uri
+     , QuickCheck, quickcheck-instances, string-conversions, text, url
+     , vault
+     }:
+     mkDerivation {
+       pname = "servant";
+       version = "0.9";
+       sha256 = "ad744b7b1f832831c01aab4afcc445df02046a68114a4bb40a50f2d34008011d";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bytestring case-insensitive
+         http-api-data http-media http-types mmorph mtl network-uri
+         string-conversions text vault
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base base-compat bytestring directory doctest
+         filemanip filepath hspec QuickCheck quickcheck-instances
+         string-conversions text url
+       ];
+       jailbreak = true;
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "A family of combinators for defining webservices APIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-JuicyPixels" = callPackage
     ({ mkDerivation, base, bytestring, http-media, JuicyPixels, servant
      , servant-server, wai, warp
@@ -145748,6 +145824,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-aeson-specs_0_5_2_0" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
+     , doctest, filepath, hspec, hspec-core, hspec-golden-aeson, mockery
+     , QuickCheck, quickcheck-arbitrary-adt, quickcheck-instances
+     , random, servant, silently, string-conversions, temporary, text
+     }:
+     mkDerivation {
+       pname = "servant-aeson-specs";
+       version = "0.5.2.0";
+       sha256 = "2728ee897c7920423ab730cb32d64defc0784d7226ff95733c72aa142121f2dd";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring directory filepath hspec
+         hspec-golden-aeson QuickCheck quickcheck-arbitrary-adt random
+         servant
+       ];
+       testHaskellDepends = [
+         aeson aeson-pretty base bytestring directory doctest filepath hspec
+         hspec-core hspec-golden-aeson mockery QuickCheck
+         quickcheck-arbitrary-adt quickcheck-instances random servant
+         silently string-conversions temporary text
+       ];
+       homepage = "https://github.com/plow-technologies/servant-aeson-specs#readme";
+       description = "generic tests for aeson serialization in servant";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-auth-cookie" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, blaze-html
      , blaze-markup, bytestring, cereal, cookie, cryptonite
@@ -145757,8 +145860,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.3.1";
-       sha256 = "fe4b1fe4948d1368ece446695b406170e5e049f8b7818e8d35c7bd7ffc5c4f1d";
+       version = "0.3.2";
+       sha256 = "c77ba7d3fb289c792aa99f6691c7d2b53f3e5dd4a2bc9ea9ebae41a3addf8080";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -145779,32 +145882,27 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-auth-cookie_0_3_2" = callPackage
-    ({ mkDerivation, base, base64-bytestring, blaze-builder, blaze-html
-     , blaze-markup, bytestring, cereal, cookie, cryptonite
-     , data-default, deepseq, exceptions, hspec, http-media, http-types
-     , memory, mtl, QuickCheck, servant, servant-blaze, servant-server
-     , text, time, transformers, wai, warp
+  "servant-auth-cookie_0_4" = callPackage
+    ({ mkDerivation, base, base-compat, base64-bytestring
+     , blaze-builder, blaze-html, blaze-markup, bytestring, cereal
+     , cookie, cryptonite, data-default, deepseq, exceptions, hspec
+     , http-api-data, http-media, http-types, memory, mtl, QuickCheck
+     , servant, servant-blaze, servant-server, tagged, text, time
+     , transformers, wai, warp
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.3.2";
-       sha256 = "c77ba7d3fb289c792aa99f6691c7d2b53f3e5dd4a2bc9ea9ebae41a3addf8080";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.4";
+       sha256 = "2b5144612cbf8835b5f069f885d9f32483a63884d5d008c7110dd9273756eef1";
        libraryHaskellDepends = [
          base base64-bytestring blaze-builder bytestring cereal cookie
-         cryptonite data-default exceptions http-types memory mtl servant
-         servant-server time transformers wai
-       ];
-       executableHaskellDepends = [
-         base blaze-html blaze-markup bytestring cereal cryptonite
-         data-default http-media mtl servant servant-blaze servant-server
-         text wai warp
+         cryptonite data-default exceptions http-api-data http-types memory
+         mtl servant servant-server tagged time transformers wai
        ];
        testHaskellDepends = [
-         base bytestring cereal cryptonite data-default deepseq hspec
-         QuickCheck servant-server time
+         base base-compat blaze-html blaze-markup bytestring cereal
+         cryptonite data-default deepseq hspec http-api-data http-media mtl
+         QuickCheck servant servant-blaze servant-server text time wai warp
        ];
        description = "Authentication via encrypted cookies";
        license = stdenv.lib.licenses.bsd3;
@@ -145894,8 +145992,8 @@ self: {
        pname = "servant-blaze";
        version = "0.7.1";
        sha256 = "90ed1c7a22b83bee344ef3896203f3699b7633bf986ffa064752c3596c072646";
-       revision = "2";
-       editedCabalFile = "a71af15b94933ca8330922f24c10bd5da0de630b8ff364d830c43c3cfa35b7e3";
+       revision = "3";
+       editedCabalFile = "9f4f41889ae9722c92c87cf84de89c3c00d48a37749797fa04a74fba7db5a5ef";
        libraryHaskellDepends = [ base blaze-html http-media servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Blaze-html support for servant";
@@ -145908,6 +146006,8 @@ self: {
        pname = "servant-cassava";
        version = "0.8";
        sha256 = "5d9b85f7dc2fc42c7fe47bf92e4502e4ff5dde03724a6ee6ab20887524dce4fb";
+       revision = "1";
+       editedCabalFile = "56c74c61929917f3f9a662638f9759f92fed2ce0ef49b8fcc8090651f7f854b0";
        libraryHaskellDepends = [ base cassava http-media servant vector ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant CSV content-type for cassava";
@@ -145942,6 +146042,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-client_0_9" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, deepseq, exceptions, hspec, http-api-data
+     , http-client, http-client-tls, http-media, http-types, HUnit, mtl
+     , network, network-uri, QuickCheck, safe, servant, servant-server
+     , string-conversions, text, transformers, transformers-compat, wai
+     , warp
+     }:
+     mkDerivation {
+       pname = "servant-client";
+       version = "0.9";
+       sha256 = "4a87218a164fef1b887b4978f03dda7fb24fcf9570a691893777bd3f3ba11b43";
+       libraryHaskellDepends = [
+         aeson attoparsec base base64-bytestring bytestring exceptions
+         http-api-data http-client http-client-tls http-media http-types mtl
+         network-uri safe servant string-conversions text transformers
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base bytestring deepseq hspec http-api-data http-client
+         http-media http-types HUnit network QuickCheck servant
+         servant-server text transformers transformers-compat wai warp
+       ];
+       jailbreak = true;
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "automatical derivation of querying functions for servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-csharp" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
      , heredocs, http-types, lens, mtl, servant, servant-foreign
@@ -145994,6 +146124,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-docs_0_9" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, bytestring
+     , case-insensitive, control-monad-omega, hashable, hspec
+     , http-media, http-types, lens, servant, string-conversions, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-docs";
+       version = "0.9";
+       sha256 = "4ecb64260c6028b344dab69ea47a8cc25cb76e65734220bb543bb422b9d926a8";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base bytestring case-insensitive
+         control-monad-omega hashable http-media http-types lens servant
+         string-conversions text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base lens servant string-conversions text
+       ];
+       testHaskellDepends = [
+         aeson base hspec lens servant string-conversions
+       ];
+       jailbreak = true;
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "generate API docs for your servant webservice";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-ede" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ede, either, filepath
      , http-media, http-types, semigroups, servant, servant-server, text
@@ -146076,6 +146236,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-foreign_0_9" = callPackage
+    ({ mkDerivation, base, hspec, http-types, lens, servant, text }:
+     mkDerivation {
+       pname = "servant-foreign";
+       version = "0.9";
+       sha256 = "80a576f018ee7ad0520a6c91bf814b978920d217c50da7e90139008384eec1c8";
+       libraryHaskellDepends = [ base http-types lens servant text ];
+       testHaskellDepends = [ base hspec ];
+       jailbreak = true;
+       description = "Helpers for generating clients for servant APIs in any programming language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-github" = callPackage
     ({ mkDerivation, aeson, base, hspec, http-api-data, http-client
      , http-link-header, QuickCheck, servant, servant-client, text
@@ -146105,8 +146279,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-github-webhook";
-       version = "0.2.0.1";
-       sha256 = "cbb483255f179414e2131492067f4e9b2177ff778280ed35153e09a07c03ed9b";
+       version = "0.3.0.0";
+       sha256 = "41c78c7c553e3c75fcca81e66bc4db8b5f7b3e2578d18b54715ecdc106b6c610";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring Crypto github http-types
          servant servant-server string-conversions text wai
@@ -146191,14 +146365,37 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-js_0_9" = callPackage
+    ({ mkDerivation, base, base-compat, charset, hspec
+     , hspec-expectations, language-ecmascript, lens, servant
+     , servant-foreign, text
+     }:
+     mkDerivation {
+       pname = "servant-js";
+       version = "0.9";
+       sha256 = "7a4b5055029c327f6bb90b8283a655ab0f3cc2da426ee94ec1b5d8d4eade6c34";
+       libraryHaskellDepends = [
+         base base-compat charset lens servant servant-foreign text
+       ];
+       testHaskellDepends = [
+         base base-compat hspec hspec-expectations language-ecmascript lens
+         servant text
+       ];
+       jailbreak = true;
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "Automatically derive javascript functions to query servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-lucid" = callPackage
     ({ mkDerivation, base, http-media, lucid, servant }:
      mkDerivation {
        pname = "servant-lucid";
        version = "0.7.1";
        sha256 = "ec26ba7d159b09be10beacf6242f6ae1bd111e9c738bfbf3cf2f560f48e0fe40";
-       revision = "2";
-       editedCabalFile = "77b212213098519d9d45d87a3a86b47a8be46b7ca631b54844d2fc19f90c0dc1";
+       revision = "3";
+       editedCabalFile = "4bb81e61336f3e3a91d3c920937beeee49a178c53d391172c07bb847a68cdbe5";
        libraryHaskellDepends = [ base http-media lucid servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant support for lucid";
@@ -146234,6 +146431,8 @@ self: {
        pname = "servant-mock";
        version = "0.8.1";
        sha256 = "eb4a6a488ca70c2448b61c6ca373eaf97f4399c75d4e51ccefff502a0f6ba4fb";
+       revision = "1";
+       editedCabalFile = "e32244bba9aa6868c877a4853e420ecbe6effa2e245ecc0ffd4935efd270d751";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -146247,7 +146446,7 @@ self: {
          aeson base bytestring-conversion hspec hspec-wai QuickCheck servant
          servant-server wai
        ];
-       homepage = "http://github.com/haskell-servant/servant";
+       homepage = "http://haskell-servant.readthedocs.org/";
        description = "Derive a mock server for free from your servant API types";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -146329,7 +146528,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "servant-purescript_0_4_0_1" = callPackage
+  "servant-purescript_0_6_0_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
      , filepath, http-types, lens, mainland-pretty, purescript-bridge
      , servant, servant-foreign, servant-server, servant-subscriber
@@ -146337,8 +146536,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-purescript";
-       version = "0.4.0.1";
-       sha256 = "614d9813e7c96b23ae5955c0a91b5f5637c1c0e89bdf61a18f1fcdb80955ef5c";
+       version = "0.6.0.0";
+       sha256 = "e66cd9e49f41ae26c41b37a87d27f6a7848a9f9b3dd41b162bbc7d1d6808285c";
        libraryHaskellDepends = [
          aeson base bytestring containers directory filepath http-types lens
          mainland-pretty purescript-bridge servant servant-foreign
@@ -146472,6 +146671,42 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-server_0_9" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat
+     , base64-bytestring, bytestring, containers, directory, doctest
+     , exceptions, filemanip, filepath, hspec, hspec-wai, http-api-data
+     , http-types, mtl, network, network-uri, parsec, QuickCheck, safe
+     , servant, should-not-typecheck, split, string-conversions
+     , system-filepath, temporary, text, transformers
+     , transformers-compat, wai, wai-app-static, wai-extra, warp, word8
+     }:
+     mkDerivation {
+       pname = "servant-server";
+       version = "0.9";
+       sha256 = "f8345134d641fd48612c6f9fca432ee7210e85ad3087e1b641d6967f5beeefac";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat base64-bytestring bytestring
+         containers filepath http-api-data http-types mtl network
+         network-uri safe servant split string-conversions system-filepath
+         text transformers transformers-compat wai wai-app-static warp word8
+       ];
+       executableHaskellDepends = [ aeson base servant text wai warp ];
+       testHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring directory
+         doctest exceptions filemanip filepath hspec hspec-wai http-types
+         mtl network parsec QuickCheck safe servant should-not-typecheck
+         string-conversions temporary text transformers transformers-compat
+         wai wai-extra warp
+       ];
+       jailbreak = true;
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-smsc-ru" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-client
      , http-client-tls, HUnit, mtl, QuickCheck, quickcheck-text
@@ -146496,6 +146731,44 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "servant-snap" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
+     , bytestring, case-insensitive, containers, digestive-functors
+     , directory, either, errors, exceptions, filepath, heist, hspec
+     , hspec-core, hspec-snap, http-api-data, http-types, HUnit
+     , io-streams, lens, map-syntax, mmorph, mtl, network, network-uri
+     , parsec, process, QuickCheck, servant, snap, snap-core
+     , snap-server, string-conversions, temporary, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "servant-snap";
+       version = "0.7.0.2";
+       sha256 = "0461cc7635c72f2c75770f029811a1c1e72f3245bc4be2fd1beaaee1cd84759b";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring case-insensitive containers either
+         filepath http-api-data http-types io-streams mmorph mtl network-uri
+         servant snap snap-core snap-server string-conversions text
+         transformers
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring either errors heist lens map-syntax servant
+         snap snap-core snap-server text transformers
+       ];
+       testHaskellDepends = [
+         aeson base base64-bytestring bytestring case-insensitive containers
+         digestive-functors directory either exceptions hspec hspec-core
+         hspec-snap http-types HUnit mtl network parsec process QuickCheck
+         servant snap snap-core snap-server string-conversions temporary
+         text time transformers
+       ];
+       homepage = "http://haskell-servant.github.io/";
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "servant-subscriber" = callPackage
     ({ mkDerivation, aeson, async, attoparsec, base, blaze-builder
      , bytestring, case-insensitive, containers, directory, filepath
@@ -146534,6 +146807,8 @@ self: {
        pname = "servant-swagger";
        version = "1.1.2";
        sha256 = "1aa55cdf092189fed02e5d5bddf052eafafd23df54e0671ec32adc5ac4c8c47e";
+       revision = "1";
+       editedCabalFile = "d15b7ec23a1f97339f7ee7eda84370e9300a5f838a14e7b23ada1544635a14f5";
        libraryHaskellDepends = [
          aeson base bytestring hspec http-media insert-ordered-containers
          lens QuickCheck servant swagger2 text unordered-containers
@@ -146559,6 +146834,8 @@ self: {
        pname = "servant-swagger-ui";
        version = "0.2.0.2.1.5";
        sha256 = "57fa0b9d8a46482051f3e2bcab7c513adec07450b3fb6bb00281758f99922d57";
+       revision = "1";
+       editedCabalFile = "e1867331a9a65e6a0cd1da55f2f4f2855b90d9a5a4eafc470afc8a8429338ffe";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
@@ -146585,8 +146862,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "c917d9b046b06a9c4386f743a78142c27cf7f0ec1ad8562770ab9828f2ee3204";
-       revision = "10";
-       editedCabalFile = "a310660af1ba68dc6b337878852bc27aad6d444c16c64864a6aea22584bd2611";
+       revision = "11";
+       editedCabalFile = "80507ee35eb6736752a80613e2a27fc89a50bbcdfc75c51785aeaf469af42902";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -146968,34 +147245,6 @@ self: {
 
   "sets" = callPackage
     ({ mkDerivation, base, commutative, composition, containers
-     , contravariant, hashable, invariant, keys, mtl, QuickCheck
-     , quickcheck-instances, semigroupoids, semigroups, tasty
-     , tasty-hunit, tasty-quickcheck, transformers, transformers-base
-     , unordered-containers, witherable
-     }:
-     mkDerivation {
-       pname = "sets";
-       version = "0.0.5";
-       sha256 = "78772618d3a85cbf91a20f0289eb833c4304d6a93c78bb266c38b60e85d2717b";
-       revision = "1";
-       editedCabalFile = "6a3f99b425c6a4ed373e1f1d2836a40b09e462f4e2744b76227f27a133acb34e";
-       libraryHaskellDepends = [
-         base commutative composition containers contravariant hashable
-         invariant keys mtl QuickCheck semigroupoids semigroups transformers
-         transformers-base unordered-containers witherable
-       ];
-       testHaskellDepends = [
-         base commutative composition containers contravariant hashable
-         invariant keys mtl QuickCheck quickcheck-instances semigroupoids
-         semigroups tasty tasty-hunit tasty-quickcheck transformers
-         transformers-base unordered-containers witherable
-       ];
-       description = "Various set implementations in Haskell";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "sets_0_0_5_2" = callPackage
-    ({ mkDerivation, base, commutative, composition, containers
      , contravariant, hashable, keys, mtl, QuickCheck
      , quickcheck-instances, semigroupoids, semigroups, tasty
      , tasty-hunit, tasty-quickcheck, transformers, transformers-base
@@ -147017,7 +147266,6 @@ self: {
        ];
        description = "Ducktyped set interface for Haskell containers";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "setters" = callPackage
@@ -148536,19 +148784,19 @@ self: {
      }) {};
 
   "simple-effects" = callPackage
-    ({ mkDerivation, base, interlude-l, lens, monad-control, mtl
-     , transformers, transformers-base
+    ({ mkDerivation, base, interlude-l, lens, list-t, monad-control
+     , mtl, transformers, transformers-base
      }:
      mkDerivation {
        pname = "simple-effects";
-       version = "0.1.0.1";
-       sha256 = "cffc82c58b5985162eef90e8a1f51145364e2a9b48d3632d677cc68e32accd16";
+       version = "0.3.0.1";
+       sha256 = "16796c57b5acea501c3b03c1306813a2488c1021ba5db51d168c2bc0c2f32c7b";
        libraryHaskellDepends = [
-         base interlude-l lens monad-control mtl transformers
+         base interlude-l lens list-t monad-control mtl transformers
          transformers-base
        ];
-       homepage = "https://github.com/githubuser/simple-effects#readme";
-       description = "Simple project template from stack";
+       homepage = "https://gitlab.com/LukaHorvat/simple-effects";
+       description = "A simple effect system that integrates with MTL";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -148681,6 +148929,25 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "simple-log_0_5_0" = callPackage
+    ({ mkDerivation, async, base, containers, deepseq, directory
+     , exceptions, filepath, mtl, SafeSemaphore, text, time
+     , transformers
+     }:
+     mkDerivation {
+       pname = "simple-log";
+       version = "0.5.0";
+       sha256 = "b46bdde8b3177b187339b741da3400c6b6a3f790f00bfd1ddf0bda34e301da9d";
+       libraryHaskellDepends = [
+         async base containers deepseq directory exceptions filepath mtl
+         SafeSemaphore text time transformers
+       ];
+       homepage = "http://github.com/mvoidex/simple-log";
+       description = "Simple log for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "simple-log-syslog" = callPackage
     ({ mkDerivation, base, hsyslog, simple-log, text }:
      mkDerivation {
@@ -150304,8 +150571,8 @@ self: {
      }:
      mkDerivation {
        pname = "snap";
-       version = "1.0.0.0";
-       sha256 = "95f568ce5a4a688076fd1b035fa32a7a243f85dda56260cd95b917f391d69101";
+       version = "1.0.0.1";
+       sha256 = "293f16c1404793121d3d85abb6287bbb32f5dc1d82b12146d4bb650052322db8";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal clientsession configurator
          containers directory directory-tree dlist filepath hashable heist
@@ -150886,8 +151153,8 @@ self: {
        pname = "snaplet-fay";
        version = "0.3.3.13";
        sha256 = "39810748b7177b45a0fab785e48ac497d81587e48dde9dc8ad75e8d704bdda3f";
-       revision = "4";
-       editedCabalFile = "113ed86052324b14e90472827e2ad4de22e4660afc676a0f3f87becd56660afc";
+       revision = "5";
+       editedCabalFile = "0331163a9d3af919f0b01408f7a2d3542452e030cf838ec92f9bb6bf6c0f4ccd";
        libraryHaskellDepends = [
          aeson base bytestring configurator directory fay filepath mtl snap
          snap-core transformers
@@ -151193,14 +151460,13 @@ self: {
      }:
      mkDerivation {
        pname = "snaplet-postgresql-simple";
-       version = "1.0";
-       sha256 = "79ecdd55c04ef2f3f6a7ba4c21eb7f2c42c824fe016b6308623b81257d96c22d";
+       version = "1.0.1.0";
+       sha256 = "c747f9a0145c22f36441bab504a45ab20fc68ad46a8383c5f4db6686cd0dee7d";
        libraryHaskellDepends = [
          base bytestring clientsession configurator lens lifted-base
          monad-control mtl postgresql-simple resource-pool snap text
          transformers transformers-base unordered-containers
        ];
-       jailbreak = true;
        homepage = "https://github.com/mightybyte/snaplet-postgresql-simple";
        description = "postgresql-simple snaplet for the Snap Framework";
        license = stdenv.lib.licenses.bsd3;
@@ -153798,10 +154064,8 @@ self: {
      }:
      mkDerivation {
        pname = "stache";
-       version = "0.1.6";
-       sha256 = "078e223a2549f08ee48b2c9d40f7242992b5870e02eef2f9ef1ea8d542ff4e36";
-       revision = "1";
-       editedCabalFile = "3c023b0738484069b7515bfe80d3b3c9c4a64406d36aef82f9f893068198d862";
+       version = "0.1.7";
+       sha256 = "3c34eec3b6b8cfc1b3c5887ab2b209e277938e897c7b3787c3baf9f7a9d0ae30";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq directory exceptions
          filepath megaparsec mtl template-haskell text unordered-containers
@@ -154353,8 +154617,8 @@ self: {
      }:
      mkDerivation {
        pname = "standalone-haddock";
-       version = "1.1.4.4";
-       sha256 = "24646ca673a695890424200d9f28e50acef3f23624b45bf713ac1f9b3407410a";
+       version = "1.1.4.5";
+       sha256 = "2d5da0efb640a6791dfbfb71a1e54752fe03f2d42fbf5c75b232df2bffec4eeb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -155561,8 +155825,8 @@ self: {
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.1.4";
-       sha256 = "2ca934bbc3d43c9df9ffc950dcf49873a23f428081607880f4458d5c69285de3";
+       version = "0.1.6";
+       sha256 = "16f6aefde00cb48105506b8f396f61d32947a36456a29a377da512d40b81aae1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -155794,28 +156058,6 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-commons";
-       version = "0.1.15.5";
-       sha256 = "7cdab71a7c696310bcac376dd9d7a1f8debd881198fc511b9140f853f6925389";
-       libraryHaskellDepends = [
-         array async base blaze-builder bytestring directory network process
-         random stm text transformers unix zlib
-       ];
-       testHaskellDepends = [
-         array async base blaze-builder bytestring deepseq hspec network
-         QuickCheck text unix zlib
-       ];
-       homepage = "https://github.com/fpco/streaming-commons";
-       description = "Common lower-level functions needed by various streaming data libraries";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "streaming-commons_0_1_16" = callPackage
-    ({ mkDerivation, array, async, base, blaze-builder, bytestring
-     , deepseq, directory, hspec, network, process, QuickCheck, random
-     , stm, text, transformers, unix, zlib
-     }:
-     mkDerivation {
-       pname = "streaming-commons";
        version = "0.1.16";
        sha256 = "17fdf509823e72996265de9260eaf58e33350e746dea058a36392c843ea8106e";
        libraryHaskellDepends = [
@@ -155829,7 +156071,6 @@ self: {
        homepage = "https://github.com/fpco/streaming-commons";
        description = "Common lower-level functions needed by various streaming data libraries";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "streaming-eversion" = callPackage
@@ -157973,8 +158214,8 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-core";
-       version = "0.8.0.1";
-       sha256 = "c99bc3c2848d0f3af6d0e928b9a52b22dc47644eab8124f286f970eeb2225070";
+       version = "0.8.0.2";
+       sha256 = "1ad216fe5cd2f22223349d584bd32be44bb12f76fcfa13e5198fc2e3108ee54f";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq event-list
          explicit-exception filepath non-empty non-negative numeric-prelude
@@ -158018,13 +158259,12 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-filter";
-       version = "0.4.0.1";
-       sha256 = "eed6f280d102a5d0e161796de9ba60198a6733441f6c2adee62829b76b43c161";
+       version = "0.4.1";
+       sha256 = "da0896ae06052c4cbf9964816425ba82962e8f589f9a30ec4e66164941597ebd";
        libraryHaskellDepends = [
          base containers numeric-prelude numeric-quest synthesizer-core
          transformers utility-ht
        ];
-       jailbreak = true;
        homepage = "http://www.haskell.org/haskellwiki/Synthesizer";
        description = "Audio signal processing coded in Haskell: Filter networks";
        license = "GPL";
@@ -158059,8 +158299,8 @@ self: {
      }:
      mkDerivation {
        pname = "synthesizer-llvm";
-       version = "0.8.1.1";
-       sha256 = "5d826192a0ce80c07e535993492fb6e53160fb603ab7047ce7a12c48a4fee7ce";
+       version = "0.8.1.2";
+       sha256 = "29fe7aacb673c44726a7aefa627759e4545cee369c09f1197784b1b8a2aa74e6";
        libraryHaskellDepends = [
          base containers event-list llvm-extra llvm-tf midi non-empty
          non-negative numeric-prelude pathtype random sox storable-record
@@ -161847,9 +162087,10 @@ self: {
     ({ mkDerivation, base, deepseq, text, vector }:
      mkDerivation {
        pname = "text-zipper";
-       version = "0.7.1";
-       sha256 = "db24d7da5fbdacbf3ec774c3bc0fd574023f4b00e493267f3275d2dc673eeb45";
+       version = "0.8.1";
+       sha256 = "8bedb4c3aa8b998508d1af4f65e99f4ca53dc3803e58375c324bbff3f5542b6d";
        libraryHaskellDepends = [ base deepseq text vector ];
+       homepage = "https://github.com/jtdaugherty/text-zipper/";
        description = "A text editor zipper library";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -162548,6 +162789,8 @@ self: {
        pname = "these";
        version = "0.7.2";
        sha256 = "a1d22644ca30b0bf549ed9881fcadc9f93fac0ec4815008496ca16e83a966dc8";
+       revision = "1";
+       editedCabalFile = "f1720c052d70f405e05c3c7a022d25c20afc5391dfbe179e80d3e671311594d8";
        libraryHaskellDepends = [
          aeson base bifunctors binary containers data-default-class deepseq
          hashable keys mtl profunctors QuickCheck semigroupoids transformers
@@ -162946,8 +163189,8 @@ self: {
      }:
      mkDerivation {
        pname = "tianbar";
-       version = "1.1.0.0";
-       sha256 = "bf01e5653629bf2b0b74be9468134280d143b9690e41a9b8abb9c86c981ff4e1";
+       version = "1.1.0.1";
+       sha256 = "cf58ba500aa8d68bce6e35b233f13b8d8d1a2efecef24e4fece628cfd171df73";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -163023,8 +163266,8 @@ self: {
      }:
      mkDerivation {
        pname = "tidal";
-       version = "0.8.1";
-       sha256 = "e85f7810dd3a59c04cd3238fdec1f4b3ef52e5820b7e0b624ed153ed6860b5a9";
+       version = "0.8.2";
+       sha256 = "f79854db40b83ec24055d27e49c37678c8d2fe2054143c66b410754648443a8b";
        libraryHaskellDepends = [
          base binary bytestring colour containers hashable hmt hosc
          mersenne-random-pure64 mtl parsec process text time transformers
@@ -165021,20 +165264,6 @@ self: {
      }) {};
 
   "transient" = callPackage
-    ({ mkDerivation, base, containers, mtl, stm, time, transformers }:
-     mkDerivation {
-       pname = "transient";
-       version = "0.4.2.2";
-       sha256 = "7c1445c12b6b38d4bad8f6461c65ad3fbbb7f81c873750f5dae14df14262fd3f";
-       libraryHaskellDepends = [
-         base containers mtl stm time transformers
-       ];
-       homepage = "http://www.fpcomplete.com/user/agocorona";
-       description = "Making composable programs with multithreading, events and distributed computing";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "transient_0_4_4" = callPackage
     ({ mkDerivation, base, containers, directory, mtl, random, stm
      , time, transformers
      }:
@@ -165048,7 +165277,6 @@ self: {
        homepage = "http://www.fpcomplete.com/user/agocorona";
        description = "Making composable programs with multithreading, events and distributed computing";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "transient-universe" = callPackage
@@ -165059,29 +165287,8 @@ self: {
      }:
      mkDerivation {
        pname = "transient-universe";
-       version = "0.3.2.3";
-       sha256 = "ea861a538231bfa6a495f22b764ce80cfa8e65512419c9ab16c811b708625b2f";
-       libraryHaskellDepends = [
-         base bytestring case-insensitive containers directory filepath
-         hashable HTTP iproute mtl network network-info network-uri process
-         random stm TCache text time transformers transient vector
-         websockets
-       ];
-       homepage = "http://www.fpcomplete.com/user/agocorona";
-       description = "Remote execution and map-reduce: distributed computing for Transient";
-       license = stdenv.lib.licenses.mit;
-     }) {};
-
-  "transient-universe_0_3_4" = callPackage
-    ({ mkDerivation, base, bytestring, case-insensitive, containers
-     , directory, filepath, hashable, HTTP, iproute, mtl, network
-     , network-info, network-uri, process, random, stm, TCache, text
-     , time, transformers, transient, vector, websockets
-     }:
-     mkDerivation {
-       pname = "transient-universe";
-       version = "0.3.4";
-       sha256 = "14a52d54f3328742b248f781ec06b44d8be532e943dbbd2a23149868593081f8";
+       version = "0.3.5";
+       sha256 = "0a990737a635cad37e7530eb1abe295df7b72b24a066fd2891d943bf4a92bbfb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -165091,11 +165298,9 @@ self: {
          websockets
        ];
        executableHaskellDepends = [ base transformers transient ];
-       jailbreak = true;
        homepage = "http://www.fpcomplete.com/user/agocorona";
        description = "Remote execution and map-reduce: distributed computing for Transient";
        license = stdenv.lib.licenses.mit;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "translatable-intset" = callPackage
@@ -168807,6 +169012,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unjson" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, containers
+     , free, hashable, HUnit, invariant, pretty, primitive, scientific
+     , text, time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "unjson";
+       version = "0.14.0.1";
+       sha256 = "d173f0c4ad8c80d4e1035a57c6bf3e4a8620ffb71c0c1f6ddcb474ac440a3e13";
+       revision = "4";
+       editedCabalFile = "129fd242ec0082f7c3dfa73cdadb13d7b7556a61395b62d0d2e0acbb4e3768ec";
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring containers free hashable invariant
+         pretty primitive scientific text time unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson attoparsec base bytestring containers free hashable HUnit
+         invariant pretty primitive scientific text time
+         unordered-containers vector
+       ];
+       jailbreak = true;
+       description = "Bidirectional JSON parsing and generation";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "unlambda" = callPackage
     ({ mkDerivation, array, base, mtl, unix }:
      mkDerivation {
@@ -170472,6 +170702,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "varying_0_6_0_0" = callPackage
+    ({ mkDerivation, base, hspec, QuickCheck, time, transformers }:
+     mkDerivation {
+       pname = "varying";
+       version = "0.6.0.0";
+       sha256 = "f26af9b5a31095c8a8b8deabae2257a91ff749f99a0f5406b7c537a6e96b5c12";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base transformers ];
+       executableHaskellDepends = [ base time transformers ];
+       testHaskellDepends = [ base hspec QuickCheck time transformers ];
+       homepage = "https://github.com/schell/varying";
+       description = "FRP through value streams and monadic splines";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "vault" = callPackage
     ({ mkDerivation, base, containers, hashable, unordered-containers
      }:
@@ -172220,6 +172467,36 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "wai-extra_3_0_18" = callPackage
+    ({ mkDerivation, aeson, ansi-terminal, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, containers, cookie
+     , data-default-class, deepseq, directory, fast-logger, hspec
+     , http-types, HUnit, iproute, lifted-base, network, old-locale
+     , resourcet, streaming-commons, stringsearch, text, time
+     , transformers, unix, unix-compat, vault, void, wai, wai-logger
+     , word8, zlib
+     }:
+     mkDerivation {
+       pname = "wai-extra";
+       version = "3.0.18";
+       sha256 = "42fde2a6066c2de40b931a5379f3436899c96f7b31037ed27524ec86714d0764";
+       libraryHaskellDepends = [
+         aeson ansi-terminal base base64-bytestring blaze-builder bytestring
+         case-insensitive containers cookie data-default-class deepseq
+         directory fast-logger http-types iproute lifted-base network
+         old-locale resourcet streaming-commons stringsearch text time
+         transformers unix unix-compat vault void wai wai-logger word8 zlib
+       ];
+       testHaskellDepends = [
+         base blaze-builder bytestring case-insensitive cookie fast-logger
+         hspec http-types HUnit resourcet text time transformers wai zlib
+       ];
+       homepage = "http://github.com/yesodweb/wai";
+       description = "Provides some basic WAI handlers and middleware";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-frontend-monadcgi" = callPackage
     ({ mkDerivation, base, bytestring, case-insensitive, cgi
      , containers, http-types, transformers, wai
@@ -172670,6 +172947,36 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wai-middleware-content-type_0_5_0_1" = callPackage
+    ({ mkDerivation, aeson, base, blaze-builder, blaze-html, bytestring
+     , clay, exceptions, hashable, hspec, hspec-wai, http-media
+     , http-types, lucid, mmorph, monad-control, monad-logger, mtl
+     , pandoc, pandoc-types, resourcet, shakespeare, tasty, tasty-hspec
+     , text, transformers, transformers-base, unordered-containers
+     , urlpath, wai, wai-transformers, warp
+     }:
+     mkDerivation {
+       pname = "wai-middleware-content-type";
+       version = "0.5.0.1";
+       sha256 = "2dcdccb959f0fbb42a06e56818a466017e30edb88fd8eb57abaa9c437f08bd86";
+       libraryHaskellDepends = [
+         aeson base blaze-builder blaze-html bytestring clay exceptions
+         hashable http-media http-types lucid mmorph monad-control
+         monad-logger mtl pandoc resourcet shakespeare text transformers
+         transformers-base unordered-containers urlpath wai wai-transformers
+       ];
+       testHaskellDepends = [
+         aeson base blaze-builder blaze-html bytestring clay exceptions
+         hashable hspec hspec-wai http-media http-types lucid mmorph
+         monad-control monad-logger mtl pandoc pandoc-types resourcet
+         shakespeare tasty tasty-hspec text transformers transformers-base
+         unordered-containers urlpath wai wai-transformers warp
+       ];
+       description = "Route to different middlewares based on the incoming Accept header";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "wai-middleware-crowd" = callPackage
     ({ mkDerivation, authenticate, base, base64-bytestring, binary
      , blaze-builder, bytestring, case-insensitive, clientsession
@@ -173603,12 +173910,11 @@ self: {
      }:
      mkDerivation {
        pname = "wavefront";
-       version = "0.7.0.1";
-       sha256 = "55aae23e7baa30fbf23409d9b0ef94ed749f5e0d8c6de520148a51587da48540";
+       version = "0.7.0.2";
+       sha256 = "3ec8338855efbdc430f3c7f5449c9e5308d7c854dea8a51ae192b983681eae26";
        libraryHaskellDepends = [
          attoparsec base dlist filepath mtl text transformers vector
        ];
-       jailbreak = true;
        homepage = "https://github.com/phaazon/wavefront";
        description = "Wavefront OBJ loader";
        license = stdenv.lib.licenses.bsd3;
@@ -174758,6 +175064,73 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "wild-bind" = callPackage
+    ({ mkDerivation, base, containers, hspec, microlens, QuickCheck
+     , stm, text, transformers
+     }:
+     mkDerivation {
+       pname = "wild-bind";
+       version = "0.1.0.1";
+       sha256 = "98d421c93d2a9e3834a29059fe0bda4accd20fbe45aad60ac71dd753eced76e4";
+       libraryHaskellDepends = [ base containers text transformers ];
+       testHaskellDepends = [
+         base hspec microlens QuickCheck stm transformers
+       ];
+       homepage = "https://github.com/debug-ito/wild-bind";
+       description = "Dynamic key binding framework";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wild-bind-indicator" = callPackage
+    ({ mkDerivation, base, containers, gtk, text, transformers
+     , wild-bind
+     }:
+     mkDerivation {
+       pname = "wild-bind-indicator";
+       version = "0.1.0.1";
+       sha256 = "d57e697f44510a08f7d7608b181e06b6dea099b4f9ccd46058134105f8677053";
+       libraryHaskellDepends = [
+         base containers gtk text transformers wild-bind
+       ];
+       homepage = "https://github.com/debug-ito/wild-bind";
+       description = "Graphical indicator for WildBind";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wild-bind-task-x11" = callPackage
+    ({ mkDerivation, base, text, transformers, wild-bind
+     , wild-bind-indicator, wild-bind-x11
+     }:
+     mkDerivation {
+       pname = "wild-bind-task-x11";
+       version = "0.1.0.1";
+       sha256 = "d49347eadf4db6fe28b5de45db962e489014ebc3a9dc19353994976290527ac3";
+       libraryHaskellDepends = [
+         base text transformers wild-bind wild-bind-indicator wild-bind-x11
+       ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/debug-ito/wild-bind";
+       description = "Task to install and export everything you need to use WildBind in X11";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "wild-bind-x11" = callPackage
+    ({ mkDerivation, base, containers, fold-debounce, hspec, QuickCheck
+     , stm, text, time, transformers, wild-bind, X11
+     }:
+     mkDerivation {
+       pname = "wild-bind-x11";
+       version = "0.1.0.1";
+       sha256 = "1ff56f1610132fa3671577c88d5cd5117a99b7ee6b8d589317fba4ad054820ba";
+       libraryHaskellDepends = [
+         base containers fold-debounce stm text transformers wild-bind X11
+       ];
+       testHaskellDepends = [ base hspec QuickCheck time wild-bind X11 ];
+       homepage = "https://github.com/debug-ito/wild-bind";
+       description = "X11-specific implementation for WildBind";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "win-hp-path" = callPackage
     ({ mkDerivation, base, process, split }:
      mkDerivation {
@@ -174823,21 +175196,21 @@ self: {
      }) {kernel32 = null; ws2_32 = null;};
 
   "wire-streams" = callPackage
-    ({ mkDerivation, base, binary, bytestring, Cabal
-     , cabal-test-quickcheck, cereal, io-streams, QuickCheck
+    ({ mkDerivation, base, binary, binary-parsers, bytestring
+     , io-streams, QuickCheck, tasty, tasty-quickcheck
      }:
      mkDerivation {
        pname = "wire-streams";
-       version = "0.0.2.0";
-       sha256 = "2b03e9c88767a371d59ca5d941db3c3f5b11ba1b8a20606732a706acebe6dd4f";
+       version = "0.1.1.0";
+       sha256 = "96dffb70c08c89589881c96f199d271b55e4a5b3cc5be0f3e24e101858e2fb27";
        libraryHaskellDepends = [
-         base binary bytestring cereal io-streams
+         base binary binary-parsers bytestring io-streams
        ];
        testHaskellDepends = [
-         base binary bytestring Cabal cabal-test-quickcheck cereal
-         io-streams QuickCheck
+         base binary bytestring io-streams QuickCheck tasty tasty-quickcheck
        ];
-       description = "Use cereal or binary with io-streams";
+       homepage = "https://github.com/winterland1989/wire-streams";
+       description = "Fast binary io-streams adapter";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -175482,29 +175855,38 @@ self: {
 
   "wrecker" = callPackage
     ({ mkDerivation, aeson, aeson-qq, ansi-terminal, ansigraph, base
-     , bytestring, clock, clock-extras, deepseq, hspec, hspec-discovery
-     , http-client, http-types, next-ref, optparse-applicative
-     , statistics, stm, stm-chans, tabular, text, threads
-     , threads-extras, time, unagi-chan, unix, unordered-containers
-     , vector, vty
+     , bytestring, clock, clock-extras, connection, deepseq, hspec
+     , hspec-discover, http-client, http-types, immortal, markdown-unlit
+     , network, next-ref, optparse-applicative, scotty, statistics, stm
+     , stm-chans, tabular, text, threads, threads-extras, time
+     , unagi-chan, unix, unordered-containers, vector, vty, wai, warp
+     , wreq
      }:
      mkDerivation {
        pname = "wrecker";
-       version = "0.1.0.1";
-       sha256 = "ab82b2795d70901ce63b25215e03cad28ba57dba4dadb51b44712a84fb965eb0";
+       version = "0.1.1.1";
+       sha256 = "6e36a140f1460cf68758bf8d81c50ea34fe5e31605e94e90cb26869a4f19811c";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-qq ansi-terminal ansigraph base bytestring clock
-         clock-extras deepseq http-client http-types next-ref
+         aeson ansi-terminal ansigraph base bytestring clock clock-extras
+         deepseq http-client http-types immortal next-ref
          optparse-applicative statistics stm stm-chans tabular text threads
          threads-extras time unagi-chan unix unordered-containers vector vty
        ];
-       testHaskellDepends = [ base hspec hspec-discovery ];
-       jailbreak = true;
+       executableHaskellDepends = [
+         aeson aeson-qq base bytestring connection http-client immortal
+         markdown-unlit network next-ref scotty text wai warp wreq
+       ];
+       testHaskellDepends = [
+         aeson aeson-qq base bytestring hspec hspec-discover http-client
+         immortal markdown-unlit network next-ref scotty text
+         unordered-containers wai warp wreq
+       ];
        homepage = "https://github.com/skedgeme/wrecker#readme";
        description = "A HTTP Performance Benchmarker";
        license = stdenv.lib.licenses.bsd3;
-       broken = true;
-     }) {hspec-discovery = null;};
+     }) {};
 
   "wreq" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec
@@ -176039,28 +176421,6 @@ self: {
      }:
      mkDerivation {
        pname = "x509";
-       version = "1.6.3";
-       sha256 = "36c62877046e7ecd6c913da4c21264e18eb56f7cba7abb5d41c42e95845fbade";
-       libraryHaskellDepends = [
-         asn1-encoding asn1-parse asn1-types base bytestring containers
-         cryptonite hourglass memory mtl pem
-       ];
-       testHaskellDepends = [
-         asn1-types base bytestring cryptonite hourglass mtl tasty
-         tasty-quickcheck
-       ];
-       homepage = "http://github.com/vincenthz/hs-certificate";
-       description = "X509 reader and writer";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "x509_1_6_4" = callPackage
-    ({ mkDerivation, asn1-encoding, asn1-parse, asn1-types, base
-     , bytestring, containers, cryptonite, hourglass, memory, mtl, pem
-     , tasty, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "x509";
        version = "1.6.4";
        sha256 = "be0e7f9bddbd260cd247dce30c15f33a53937f51f304a05aec98accbcde93d42";
        libraryHaskellDepends = [
@@ -176074,7 +176434,6 @@ self: {
        homepage = "http://github.com/vincenthz/hs-certificate";
        description = "X509 reader and writer";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "x509-store" = callPackage
@@ -176138,25 +176497,6 @@ self: {
      }:
      mkDerivation {
        pname = "x509-validation";
-       version = "1.6.3";
-       sha256 = "80b7d3beef9dda913c7cc7c890ab703d6030574df2a62df1939036184cd921e3";
-       libraryHaskellDepends = [
-         asn1-encoding asn1-types base byteable bytestring containers
-         cryptonite data-default-class hourglass memory mtl pem x509
-         x509-store
-       ];
-       homepage = "http://github.com/vincenthz/hs-certificate";
-       description = "X.509 Certificate and CRL validation";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "x509-validation_1_6_4" = callPackage
-    ({ mkDerivation, asn1-encoding, asn1-types, base, byteable
-     , bytestring, containers, cryptonite, data-default-class, hourglass
-     , memory, mtl, pem, x509, x509-store
-     }:
-     mkDerivation {
-       pname = "x509-validation";
        version = "1.6.4";
        sha256 = "ad14ca56c70964fee09a5ff06f738ea7bdff599be27baed24a35115efc5967a4";
        libraryHaskellDepends = [
@@ -176167,19 +176507,22 @@ self: {
        homepage = "http://github.com/vincenthz/hs-certificate";
        description = "X.509 Certificate and CRL validation";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "x86-64bit" = callPackage
-    ({ mkDerivation, base, monads-tf, QuickCheck, tardis, vector }:
+    ({ mkDerivation, base, deepseq, monads-tf, QuickCheck, tardis
+     , vector
+     }:
      mkDerivation {
        pname = "x86-64bit";
-       version = "0.3.1";
-       sha256 = "8ace704629ca875748dc7d60b5dbd3b4ac029035e0298f874182a5dec8228628";
+       version = "0.4";
+       sha256 = "af347a79288e5bdca0cab284ec82eae6efddd18881c7aa077ddd5765437df660";
        libraryHaskellDepends = [
-         base monads-tf QuickCheck tardis vector
+         base deepseq monads-tf QuickCheck tardis vector
+       ];
+       testHaskellDepends = [
+         base deepseq monads-tf QuickCheck tardis vector
        ];
-       testHaskellDepends = [ base monads-tf QuickCheck tardis vector ];
        homepage = "https://github.com/divipp/x86-64";
        description = "Runtime code generation for x86 64 bit machine code";
        license = stdenv.lib.licenses.bsd3;
@@ -176827,6 +177170,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "xml-conduit_1_4_0_1" = callPackage
+    ({ mkDerivation, attoparsec, base, blaze-builder, blaze-html
+     , blaze-markup, bytestring, conduit, conduit-extra, containers
+     , data-default, deepseq, hspec, HUnit, monad-control, resourcet
+     , text, transformers, xml-types
+     }:
+     mkDerivation {
+       pname = "xml-conduit";
+       version = "1.4.0.1";
+       sha256 = "7c9c171230bcb66b1ab6b0b201f6e5666c79ad4eb0747e68eb1d932591ab1700";
+       libraryHaskellDepends = [
+         attoparsec base blaze-builder blaze-html blaze-markup bytestring
+         conduit conduit-extra containers data-default deepseq monad-control
+         resourcet text transformers xml-types
+       ];
+       testHaskellDepends = [
+         base blaze-markup bytestring conduit containers hspec HUnit
+         resourcet text transformers xml-types
+       ];
+       homepage = "http://github.com/snoyberg/xml";
+       description = "Pure-Haskell utilities for dealing with XML with the conduit package";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "xml-conduit-decode" = callPackage
     ({ mkDerivation, base, bifunctors, data-default, lens, semigroups
      , tasty, tasty-hunit, text, time, xml-conduit, xml-types
@@ -176948,8 +177316,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-hamlet";
-       version = "0.4.0.11";
-       sha256 = "3d598ad387e310e76a07f213afe35db06662611840d1bce3bcdf202668bc1e89";
+       version = "0.4.0.12";
+       sha256 = "0ff43b778e9e497b468dd123ab81fa8cfc84dcd0a6c8ab06b8fc27cf3e0669d2";
        libraryHaskellDepends = [
          base containers parsec shakespeare template-haskell text
          xml-conduit
@@ -178100,36 +178468,6 @@ self: {
     ({ mkDerivation, aeson, aeson-qq, attoparsec, base, base-compat
      , bytestring, conduit, containers, directory, enclosed-exceptions
      , filepath, hspec, HUnit, libyaml, mockery, resourcet, scientific
-     , semigroups, text, transformers, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "yaml";
-       version = "0.8.18.6";
-       sha256 = "587f913263bf871190c24aff57808f346b72906f23ed9c1bb96e9aca63732e0a";
-       configureFlags = [ "-fsystem-libyaml" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base bytestring conduit containers directory
-         enclosed-exceptions filepath resourcet scientific semigroups text
-         transformers unordered-containers vector
-       ];
-       libraryPkgconfigDepends = [ libyaml ];
-       executableHaskellDepends = [ aeson base bytestring ];
-       testHaskellDepends = [
-         aeson aeson-qq base base-compat bytestring conduit directory hspec
-         HUnit mockery resourcet text transformers unordered-containers
-         vector
-       ];
-       homepage = "http://github.com/snoyberg/yaml/";
-       description = "Support for parsing and rendering YAML documents";
-       license = stdenv.lib.licenses.bsd3;
-     }) {inherit (pkgs) libyaml;};
-
-  "yaml_0_8_18_7" = callPackage
-    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, base-compat
-     , bytestring, conduit, containers, directory, enclosed-exceptions
-     , filepath, hspec, HUnit, libyaml, mockery, resourcet, scientific
      , semigroups, temporary, text, transformers, unordered-containers
      , vector
      }:
@@ -178155,7 +178493,6 @@ self: {
        homepage = "http://github.com/snoyberg/yaml/";
        description = "Support for parsing and rendering YAML documents";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libyaml;};
 
   "yaml-config" = callPackage
@@ -179033,6 +179370,40 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-bin_1_4_18_5" = callPackage
+    ({ mkDerivation, async, attoparsec, base, base64-bytestring
+     , blaze-builder, bytestring, Cabal, conduit, conduit-extra
+     , containers, data-default-class, deepseq, directory, file-embed
+     , filepath, fsnotify, ghc, ghc-paths, http-client, http-conduit
+     , http-reverse-proxy, http-types, lifted-base, network
+     , optparse-applicative, parsec, process, project-template
+     , resourcet, shakespeare, split, streaming-commons, tar
+     , template-haskell, text, time, transformers, transformers-compat
+     , unix-compat, unordered-containers, wai, wai-extra, warp, warp-tls
+     , yaml, zlib
+     }:
+     mkDerivation {
+       pname = "yesod-bin";
+       version = "1.4.18.5";
+       sha256 = "80dff2cb2a45def4e0479d7a9c01cd468e5f324696770e2f27be509073193cd8";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         async attoparsec base base64-bytestring blaze-builder bytestring
+         Cabal conduit conduit-extra containers data-default-class deepseq
+         directory file-embed filepath fsnotify ghc ghc-paths http-client
+         http-conduit http-reverse-proxy http-types lifted-base network
+         optparse-applicative parsec process project-template resourcet
+         shakespeare split streaming-commons tar template-haskell text time
+         transformers transformers-compat unix-compat unordered-containers
+         wai wai-extra warp warp-tls yaml zlib
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "The yesod helper executable";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-bootstrap" = callPackage
     ({ mkDerivation, base, blaze-html, blaze-markup, conduit
      , conduit-extra, containers, either, email-validate
@@ -179158,6 +179529,47 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-core_1_4_25" = callPackage
+    ({ mkDerivation, aeson, async, auto-update, base, blaze-builder
+     , blaze-html, blaze-markup, byteable, bytestring, case-insensitive
+     , cereal, clientsession, conduit, conduit-extra, containers, cookie
+     , data-default, deepseq, deepseq-generics, directory, exceptions
+     , fast-logger, hspec, hspec-expectations, http-types, HUnit
+     , lifted-base, monad-control, monad-logger, mtl, mwc-random
+     , network, old-locale, parsec, path-pieces, primitive, QuickCheck
+     , random, resourcet, safe, semigroups, shakespeare
+     , streaming-commons, template-haskell, text, time, transformers
+     , transformers-base, unix-compat, unordered-containers, vector, wai
+     , wai-extra, wai-logger, warp, word8
+     }:
+     mkDerivation {
+       pname = "yesod-core";
+       version = "1.4.25";
+       sha256 = "929b881c3bddf7f868ba44d8aed72e36163affb6f455dd0f4669c8451fe6c46b";
+       libraryHaskellDepends = [
+         aeson auto-update base blaze-builder blaze-html blaze-markup
+         byteable bytestring case-insensitive cereal clientsession conduit
+         conduit-extra containers cookie data-default deepseq
+         deepseq-generics directory exceptions fast-logger http-types
+         lifted-base monad-control monad-logger mtl mwc-random old-locale
+         parsec path-pieces primitive random resourcet safe semigroups
+         shakespeare template-haskell text time transformers
+         transformers-base unix-compat unordered-containers vector wai
+         wai-extra wai-logger warp word8
+       ];
+       testHaskellDepends = [
+         async base blaze-builder bytestring clientsession conduit
+         conduit-extra containers cookie hspec hspec-expectations http-types
+         HUnit lifted-base mwc-random network path-pieces QuickCheck random
+         resourcet shakespeare streaming-commons template-haskell text
+         transformers wai wai-extra
+       ];
+       homepage = "http://www.yesodweb.com/";
+       description = "Creation of type-safe, RESTful web applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-crud" = callPackage
     ({ mkDerivation, base, classy-prelude, containers, MissingH
      , monad-control, persistent, random, safe, stm, uuid, yesod-core
@@ -181701,8 +182113,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "zxcvbn-c";
-       version = "1.0.0";
-       sha256 = "9db674641107eccc606f26b3a2163657ab4335e1b0c65f00d5ddf23f9bfb1a03";
+       version = "1.0.1";
+       sha256 = "3352ee167fb8a161a72d2e2cc09ff6a0ca4fa2b8bc7575a06471a315dd81028d";
        libraryHaskellDepends = [ base ];
        description = "Password strength estimation";
        license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index 95ab68c5f42b..3d0ea511e101 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -6,7 +6,7 @@
     overrideScope = f: callPackageWithScope (mkScope (fix' (extends f scope.__unfix__))) drv args;
   };
 
-  mkScope = scope : pkgs // pkgs.xorg // pkgs.gnome // scope;
+  mkScope = scope : pkgs // pkgs.xorg // pkgs.gnome2 // scope;
 
   idrisPackages = self: let
     defaultScope = mkScope self;
diff --git a/pkgs/development/interpreters/chibi/default.nix b/pkgs/development/interpreters/chibi/default.nix
index b4a0b77e7054..d1c8cf15fcee 100644
--- a/pkgs/development/interpreters/chibi/default.nix
+++ b/pkgs/development/interpreters/chibi/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, makeWrapper }:
+{ stdenv, fetchFromGitHub, makeWrapper }:
 let
-  version = "0.7";
+  version = "0.7.3";
   name = "chibi-scheme-${version}";
 in
 stdenv.mkDerivation {
   inherit name;
 
   meta = {
-    homepage = "https://code.google.com/p/chibi-scheme/";
+    homepage = "https://github.com/ashinn/chibi-scheme";
     description = "Small Footprint Scheme for use as a C Extension Language";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.DerGuteMoritz ];
   };
 
-  src = fetchurl {
-    url = "http://abrek.synthcode.com/${name}.tgz";
-    sha256 = "1hhkq0khgi8i24xv66y7r6pgk1issn1i2bf7rv91rbk0wm0kv7qm";
+  src = fetchFromGitHub {
+    owner = "ashinn";
+    repo = "chibi-scheme";
+    rev = version;
+    sha256 = "05b17flppkll1a2c2aq6lxh4iif4pjmpxmyrmiqzk0ls85gvai2x";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/lush/default.nix b/pkgs/development/interpreters/lush/default.nix
index 62568c40c784..a39e79badb6c 100644
--- a/pkgs/development/interpreters/lush/default.nix
+++ b/pkgs/development/interpreters/lush/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url="mirror://sourceforge/project/lush/lush2/lush-2.0.1.tar.gz";
-    sha256="02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k";
+    sha256 = "02pkfn3nqdkm9fm44911dbcz0v3r0l53vygj8xigl6id5g3iwi4k";
   };
 
   buildInputs = [
diff --git a/pkgs/development/interpreters/lush/default.upstream b/pkgs/development/interpreters/lush/default.upstream
index 6a3b3a8357c2..4a94595f7723 100644
--- a/pkgs/development/interpreters/lush/default.upstream
+++ b/pkgs/development/interpreters/lush/default.upstream
@@ -1,3 +1,4 @@
 url http://sourceforge.net/projects/lush/files/lush2/
 version_link '[.]tar[.]gz/download$'
 SF_redirect
+minimize_overwrite
diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix
index d9cc7775d090..a2ecfb2ef97a 100644
--- a/pkgs/development/interpreters/spidermonkey/17.0.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, nspr, perl, python, zip, libffi, readline }:
+{ stdenv, fetchurl, pkgconfig, nspr, perl, python2, zip, libffi, readline }:
 
 stdenv.mkDerivation rec {
   version = "17.0.0";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ nspr ];
 
-  buildInputs = [ pkgconfig perl python zip libffi readline ];
+  buildInputs = [ pkgconfig perl python2 zip libffi readline ];
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index 745cdf746ecc..88c8a9005700 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl }:
 
 let
-  version = "1.5.0";
+  version = "1.5.1";
 in
 stdenv.mkDerivation {
   name = "adns-${version}";
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
       "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
       "mirror://gnu/adns/adns-${version}.tar.gz"
     ];
-    sha256 = "0hg89b5n84zjhzvbzrpvhl0hbm4s6d1z2pzllfis64ai656ypibz";
+    sha256 = "1ssfh94ck6kn98nf2yy6743srpgqgd167va5ja3bwx42igqjc42v";
   };
 
   preConfigure =
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 81e8a8a52f9f..1829b3306ebc 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -43,11 +43,14 @@ stdenv.mkDerivation rec {
     ++ optional ldapSupport openldap
     ++ optional stdenv.isFreeBSD cyrus_sasl;
 
-  # Give apr1 access to sed for runtime invocations
   postInstall = ''
     for f in $out/lib/*.la $out/lib/apr-util-1/*.la; do
-      substituteInPlace $f --replace "${expat.dev}/lib" "${expat.out}/lib"
+      substituteInPlace $f \
+        --replace "${expat.dev}/lib" "${expat.out}/lib" \
+        --replace "${openssl.dev}/lib" "${openssl.out}/lib"
     done
+
+    # Give apr1 access to sed for runtime invocations.
     wrapProgram $dev/bin/apu-1-config --prefix PATH : "${gnused}/bin"
   '';
 
diff --git a/pkgs/development/libraries/cil-aterm/default.nix b/pkgs/development/libraries/cil-aterm/default.nix
index e51bb3c2d4ef..62d69f943af9 100644
--- a/pkgs/development/libraries/cil-aterm/default.nix
+++ b/pkgs/development/libraries/cil-aterm/default.nix
@@ -9,4 +9,5 @@ stdenv.mkDerivation {
   patches = [./cil-aterm-1.3.6.patch];
   buildInputs = [ ocaml perl ];
   inherit ocaml perl;
+  meta.broken = true;
 }  
diff --git a/pkgs/development/libraries/clutter-gst/3.0.nix b/pkgs/development/libraries/clutter-gst/3.0.nix
deleted file mode 100644
index c2bec3a7f1de..000000000000
--- a/pkgs/development/libraries/clutter-gst/3.0.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
-
-stdenv.mkDerivation rec {
-  major = "3.0";
-  minor = "18";
-  name = "clutter-gst-${major}.${minor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gst/${major}/${name}.tar.xz";
-    sha256 = "14w0pi9myvcn1yxzmk9sk8dghj17m5ji3aqdpfjikk90c060vv0a";
-  };
-
-  propagatedBuildInputs = [ clutter gtk3 glib cogl ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "GStreamer bindings for clutter";
-
-    homepage = http://www.clutter-project.org/;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index 7cef673dbc69..c2bec3a7f1de 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -1,11 +1,13 @@
 { fetchurl, stdenv, pkgconfig, clutter, gtk3, glib, cogl }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gst-2.0.12";
+  major = "3.0";
+  minor = "18";
+  name = "clutter-gst-${major}.${minor}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gst/2.0/${name}.tar.xz";
-    sha256 = "1dgzpd5l5ld622b8185c3khvvllm5hfvq4q1a1mgzhxhj8v4bwf2";
+    url = "mirror://gnome/sources/clutter-gst/${major}/${name}.tar.xz";
+    sha256 = "14w0pi9myvcn1yxzmk9sk8dghj17m5ji3aqdpfjikk90c060vv0a";
   };
 
   propagatedBuildInputs = [ clutter gtk3 glib cogl ];
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
deleted file mode 100644
index a3cdbbf28272..000000000000
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk2 }:
-
-stdenv.mkDerivation rec {
-  name = "clutter-gtk-0.10.8";
-
-  src = fetchurl {
-    urls = [
-      "http://download.gnome.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
-      "http://source.clutter-project.org/sources/clutter-gtk/0.10/${name}.tar.bz2"
-      ];
-    sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
-  };
-
-  propagatedBuildInputs = [ clutter gtk2 ];
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "Clutter-GTK";
-
-    homepage = http://www.clutter-project.org/;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/clutter-gtk/1.4.nix b/pkgs/development/libraries/clutter-gtk/1.4.nix
deleted file mode 100644
index e493bab1bc75..000000000000
--- a/pkgs/development/libraries/clutter-gtk/1.4.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
-
-stdenv.mkDerivation rec {
-  name = "clutter-gtk-1.4.4";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gtk/1.4/${name}.tar.xz";
-    sha256 = "bc3108594a01a08bb6d9b538afe995e4fd78634a8356064ee8137d87aad51b2e";
-  };
-
-  propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "Clutter-GTK";
-
-    homepage = http://www.clutter-project.org/;
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/clutter-gtk/1.6.nix b/pkgs/development/libraries/clutter-gtk/1.6.nix
deleted file mode 100644
index 9c4e7ae12713..000000000000
--- a/pkgs/development/libraries/clutter-gtk/1.6.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
-
-stdenv.mkDerivation rec {
-  name = "clutter-gtk-1.6.0";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gtk/1.6/${name}.tar.xz";
-    sha256 = "883550b574a036363239442edceb61cf3f6bedc8adc97d3404278556dc82234d";
-  };
-
-  propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "Clutter-GTK";
-    homepage = http://www.clutter-project.org/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/clutter-gtk/1.8.nix b/pkgs/development/libraries/clutter-gtk/1.8.nix
deleted file mode 100644
index a126f7709449..000000000000
--- a/pkgs/development/libraries/clutter-gtk/1.8.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
-
-stdenv.mkDerivation rec {
-  major = "1.8";
-  minor = "0";
-  name = "clutter-gtk-${major}.${minor}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gtk/${major}/${name}.tar.xz";
-    sha256 = "07dzvx0b3fsswxnpxgk0adjgccnrvbxsd971naqwndnfivbgjbkl";
-  };
-
-  propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
-
-  postBuild = "rm -rf $out/share/gtk-doc";
-
-  meta = {
-    description = "Clutter-GTK";
-    homepage = http://www.clutter-project.org/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
-  };
-}
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 1d085222341a..a126f7709449 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,11 +1,13 @@
 { fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3 }:
 
 stdenv.mkDerivation rec {
-  name = "clutter-gtk-1.4.4";
+  major = "1.8";
+  minor = "0";
+  name = "clutter-gtk-${major}.${minor}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/clutter-gtk/1.4/${name}.tar.xz";
-    sha256 = "bc3108594a01a08bb6d9b538afe995e4fd78634a8356064ee8137d87aad51b2e";
+    url = "mirror://gnome/sources/clutter-gtk/${major}/${name}.tar.xz";
+    sha256 = "07dzvx0b3fsswxnpxgk0adjgccnrvbxsd971naqwndnfivbgjbkl";
   };
 
   propagatedBuildInputs = [ clutter gtk3 ];
@@ -15,12 +17,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Clutter-GTK";
-
     homepage = http://www.clutter-project.org/;
-
     license = stdenv.lib.licenses.lgpl2Plus;
-
-    maintainers = with stdenv.lib.maintainers; [ urkud ];
+    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
     platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/clutter/1.22.nix b/pkgs/development/libraries/clutter/1.22.nix
deleted file mode 100644
index e303d5f03392..000000000000
--- a/pkgs/development/libraries/clutter/1.22.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
-, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
-gobjectIntrospection 
-}:
-
-let
-  ver_maj = "1.22";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "clutter-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
-    sha256 = "5225fef91f717118654a5b98e24f2018d09ca3c37d61ecff84f77069de0fbf54";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs =
-    [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json_glib gobjectIntrospection
-    ];
-
-  configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
-
-  #doCheck = true; # no tests possible without a display
-
-  meta = {
-    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
-
-    longDescription =
-      '' Clutter is free software library for creating fast, compelling,
-         portable, and dynamic graphical user interfaces.  It is a core part
-         of MeeGo, and is supported by the open source community.  Its
-         development is sponsored by Intel.
-
-         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
-         on mobile and embedded platforms), but wraps an easy to use,
-         efficient, flexible API around GL's complexity.
-
-         Clutter enforces no particular user interface style, but provides a
-         rich, generic foundation for higher-level toolkits tailored to
-         specific needs.
-      '';
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-    homepage = http://www.clutter-project.org/;
-
-    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/libraries/clutter/1.24.nix b/pkgs/development/libraries/clutter/1.24.nix
deleted file mode 100644
index b9d45b6c62bb..000000000000
--- a/pkgs/development/libraries/clutter/1.24.nix
+++ /dev/null
@@ -1,52 +0,0 @@
-{ stdenv, fetchurl, glib, pkgconfig, mesa, libX11, libXext, libXfixes
-, libXdamage, libXcomposite, libXi, cogl, pango, atk, json_glib, 
-gobjectIntrospection 
-}:
-
-let
-  ver_maj = "1.24";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "clutter-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/clutter/${ver_maj}/${name}.tar.xz";
-    sha256 = "85c87d5745b97af7633776419a47421aae7cea66c1b870f88cc5e06a4c5626e6";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs =
-    [ libX11 mesa libXext libXfixes libXdamage libXcomposite libXi cogl pango
-      atk json_glib gobjectIntrospection
-    ];
-
-  configureFlags = [ "--enable-introspection" ]; # needed by muffin AFAIK
-
-  #doCheck = true; # no tests possible without a display
-
-  meta = {
-    description = "Clutter, a library for creating fast, dynamic graphical user interfaces";
-
-    longDescription =
-      '' Clutter is free software library for creating fast, compelling,
-         portable, and dynamic graphical user interfaces.  It is a core part
-         of MeeGo, and is supported by the open source community.  Its
-         development is sponsored by Intel.
-
-         Clutter uses OpenGL for rendering (and optionally OpenGL|ES for use
-         on mobile and embedded platforms), but wraps an easy to use,
-         efficient, flexible API around GL's complexity.
-
-         Clutter enforces no particular user interface style, but provides a
-         rich, generic foundation for higher-level toolkits tailored to
-         specific needs.
-      '';
-
-    license = stdenv.lib.licenses.lgpl2Plus;
-    homepage = http://www.clutter-project.org/;
-
-    maintainers = with stdenv.lib.maintainers; [ urkud lethalman ];
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/libraries/cogl/1.20.nix b/pkgs/development/libraries/cogl/1.20.nix
deleted file mode 100644
index ae202b093777..000000000000
--- a/pkgs/development/libraries/cogl/1.20.nix
+++ /dev/null
@@ -1,56 +0,0 @@
-{ stdenv, fetchurl, pkgconfig, mesa_noglu, glib, gdk_pixbuf, xorg, libintlOrEmpty
-, pangoSupport ? true, pango, cairo, gobjectIntrospection
-, gstreamerSupport ? true, gst_all_1 }:
-
-let
-  ver_maj = "1.20";
-  ver_min = "0";
-in
-stdenv.mkDerivation rec {
-  name = "cogl-${ver_maj}.${ver_min}";
-
-  src = fetchurl {
-    url = "mirror://gnome/sources/cogl/${ver_maj}/${name}.tar.xz";
-    sha256 = "729e35495829e7d31fafa3358e47b743ba21a2b08ff9b6cd28fb74c0de91192b";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-
-  configureFlags = [
-    "--enable-introspection"
-    "--enable-kms-egl-platform"
-  ] ++ stdenv.lib.optional gstreamerSupport "--enable-cogl-gst"
-    ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
-
-  propagatedBuildInputs = with xorg; [
-      glib gdk_pixbuf gobjectIntrospection
-      mesa_noglu libXrandr libXfixes libXcomposite libXdamage
-    ]
-    ++ libintlOrEmpty
-    ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
-                                               gst_all_1.gst-plugins-base ];
-
-  buildInputs = stdenv.lib.optionals pangoSupport [ pango cairo ];
-
-  COGL_PANGO_DEP_CFLAGS
-    = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
-      "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo";
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
-  #doCheck = true; # all tests fail (no idea why)
-
-  meta = with stdenv.lib; {
-    description = "A small open source library for using 3D graphics hardware for rendering";
-    maintainers = with maintainers; [ lovek323 ];
-
-    longDescription = ''
-      Cogl is a small open source library for using 3D graphics hardware for
-      rendering. The API departs from the flat state machine style of OpenGL
-      and is designed to make it easy to write orthogonal components that can
-      render without stepping on each other's toes.
-    '';
-
-    platforms = stdenv.lib.platforms.mesaPlatforms;
-  };
-}
diff --git a/pkgs/development/libraries/farsight2/default.nix b/pkgs/development/libraries/farsight2/default.nix
index af83068e5ad6..50f90c9d88ac 100644
--- a/pkgs/development/libraries/farsight2/default.nix
+++ b/pkgs/development/libraries/farsight2/default.nix
@@ -1,7 +1,9 @@
-{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst_plugins_base
-, pygobject2, gst_python, gupnp_igd }:
+{ stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst_plugins_base
+, gst_python, gupnp_igd }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2;
+in stdenv.mkDerivation rec {
   name = "farsight2-0.0.31";
   
   src = fetchurl {
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index 27bff62bd656..260a424038f2 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst-plugins-base
-, pygobject2, gst-python, gupnp_igd
+{ stdenv, fetchurl, libnice, pkgconfig, pythonPackages, gstreamer, gst-plugins-base
+, gst-python, gupnp_igd
 , gst-plugins-good, gst-plugins-bad, gst-libav
 }:
 
-stdenv.mkDerivation rec {
-  name = "farstream-0.2.4";
+let
+  inherit (pythonPackages) python pygobject2;
+in stdenv.mkDerivation rec {
+  name = "farstream-0.2.8";
   src = fetchurl {
     url = "http://www.freedesktop.org/software/farstream/releases/farstream/${name}.tar.gz";
-    sha256 = "0c5vlyiwb799wpby4g9vffiy0nf09gy2cr84ksfy3jwzsxf5n38j";
+    sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
   };
 
   buildInputs = [ libnice python pygobject2 gupnp_igd libnice ];
diff --git a/pkgs/development/libraries/fcgi/default.nix b/pkgs/development/libraries/fcgi/default.nix
index 6808ea52adff..63adb5afd1ca 100644
--- a/pkgs/development/libraries/fcgi/default.nix
+++ b/pkgs/development/libraries/fcgi/default.nix
@@ -1,14 +1,24 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchpatch }:
 
 stdenv.mkDerivation rec {
-  name = "fcgi-2.4.0";
+  name = "fcgi-${version}";
+  version = "2.4.0";
 
   src = fetchurl {
-    url = "http://www.fastcgi.com/dist/${name}.tar.gz";
+    url = "https://launchpad.net/debian/+archive/primary/+files/libfcgi_${version}.orig.tar.gz";
+    #    url = "http://www.fastcgi.com/dist/${name}.tar.gz";
     sha256 = "1f857wnl1d6jfrgfgfpz3zdaj8fch3vr13mnpcpvy8bang34bz36";
   };
 
-  patches = [ ./gcc-4.4.diff ];
+  patches = [
+    ./gcc-4.4.diff
+    (fetchpatch {
+      # Fix a stack-smashing bug:
+      # xhttps://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681591
+      url = "https://bugs.launchpad.net/ubuntu/+source/libfcgi/+bug/933417/+attachment/2745025/+files/poll.patch";
+      sha256 = "0v3gw0smjvrxh1bv3zx9xp633gbv5dd5bcn3ipj6ckqjyv4i6i7m";
+    })
+  ];
 
   postInstall = "ln -s . $out/include/fastcgi";
 
diff --git a/pkgs/development/libraries/giflib/5.1.nix b/pkgs/development/libraries/giflib/5.1.nix
index 0bccb857d350..fee760b3ea26 100644
--- a/pkgs/development/libraries/giflib/5.1.nix
+++ b/pkgs/development/libraries/giflib/5.1.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, xmlto, docbook_xml_dtd_412, docbook_xsl, libxml2 }:
 
 stdenv.mkDerivation {
-  name = "giflib-5.1.0";
+  name = "giflib-5.1.4";
   src = fetchurl {
-    url = mirror://sourceforge/giflib/giflib-5.1.0.tar.bz2;
-    sha256 = "06wd32akyawppar9mqdvyhcw47ssdfcj39lryim2w4v83i7nkv2s";
+    url = mirror://sourceforge/giflib/giflib-5.1.4.tar.bz2;
+    sha256 = "1md83dip8rf29y40cm5r7nn19705f54iraz6545zhwa6y8zyq9yz";
   };
 
   buildInputs = [ xmlto docbook_xml_dtd_412 docbook_xsl libxml2 ];
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 53acdfed3ba2..551d18d17f19 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -9,11 +9,11 @@ let
   gpgProgram = if useGnupg1 then "gpg" else "gpg2";
 in
 stdenv.mkDerivation rec {
-  name = "gpgme-1.6.0";
+  name = "gpgme-1.7.0";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${name}.tar.bz2";
-    sha256 = "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh";
+    sha256 = "0j6capvv6lcr6p763lr2ygzkzkj5lqm7fnbfc1xaygib1znmzxbi";
   };
 
   outputs = [ "out" "dev" "info" ];
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
index b8a18d70af97..2d588e5d231c 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -1,8 +1,9 @@
-{ fetchurl, stdenv, pkgconfig, python, gstreamer
-, gst_plugins_base, pygobject2
+{ fetchurl, stdenv, pkgconfig, pythonPackages, gstreamer, gst_plugins_base
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2;
+in stdenv.mkDerivation rec {
   name = "gst-python-0.10.22";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index 842dd0df0fc7..9d6fa94cf3ae 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -1,9 +1,11 @@
-{ fetchurl, stdenv, pkgconfig, python
-, gst-plugins-base, pygobject3
+{ fetchurl, stdenv, pkgconfig, pythonPackages
+, gst-plugins-base
 , ncurses
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject3;
+in stdenv.mkDerivation rec {
   name = "gst-python-1.8.2";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/gtdialog/default.nix b/pkgs/development/libraries/gtdialog/default.nix
index 1931624d08f2..b94cd88869bf 100644
--- a/pkgs/development/libraries/gtdialog/default.nix
+++ b/pkgs/development/libraries/gtdialog/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="gtdialog";
-    version="1.2";
+    version="1.3";
     name="${baseName}-${version}";
-    hash="0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0";
-    url="http://foicica.com/gtdialog/download/gtdialog_1.2.zip";
-    sha256="0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0";
+    hash="0y7sln877940bpj0s38cs5s97xg8csnaihh18lmnchf7c2kkbxpq";
+    url="http://foicica.com/gtdialog/download/gtdialog_1.3.zip";
+    sha256="0y7sln877940bpj0s38cs5s97xg8csnaihh18lmnchf7c2kkbxpq";
   };
   buildInputs = [
     cdk unzip gtk2 glib ncurses pkgconfig
diff --git a/pkgs/development/libraries/gtdialog/default.upstream b/pkgs/development/libraries/gtdialog/default.upstream
index 843c88f55ffd..b9cbcf4c5c75 100644
--- a/pkgs/development/libraries/gtdialog/default.upstream
+++ b/pkgs/development/libraries/gtdialog/default.upstream
@@ -1,3 +1,3 @@
 url http://foicica.com/gtdialog/download
-version_link '[.]zip'
+version_link '[.]zip$'
 version '.*_([0-9.]*)[.]zip' '\1'
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index d1c41c9ea808..d22c32674468 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -5,7 +5,7 @@
 }:
 
 let
-  version = "1.2.7";
+  version = "1.3.1";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "09lh8x6qj0cd950whgaqqi3c4pqbl6z7aw9ddm73i14bw056185v";
+    sha256 = "18c9rzg4ilmhbx8hpdhcjffkzq5smcbc2lr23g6fdm8rs5nj0hm2";
   };
 
   outputs = [ "out" "dev" ];
@@ -47,7 +47,10 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "An OpenType text shaping engine";
     homepage = http://www.freedesktop.org/wiki/Software/HarfBuzz;
+    downloadPage = "https://www.freedesktop.org/software/harfbuzz/release/";
     maintainers = [ maintainers.eelco ];
     platforms = with platforms; linux ++ darwin;
+    inherit version;
+    updateWalker = true;
   };
 }
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 586cd9ed43f6..c9fa9b10f938 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, unzip, libjpeg, autoreconfHook }:
+{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "jasper-1.900.1";
@@ -16,6 +16,30 @@ stdenv.mkDerivation rec {
     ./jasper-CVE-2014-8157.diff
     ./jasper-CVE-2014-8158.diff
     ./jasper-CVE-2014-9029.diff
+    (fetchpatch { # CVE-2016-2116
+      url = "https://github.com/mdadams/jasper/commit/142245b9bbb33274a7c620aa7a8f85bc00b2d68e.patch";
+      sha256 = "06dkplqfb3swmdfqb9i2m6r13q0ivn538xfvinxz0agandxyc9yr";
+    })
+    (fetchpatch { # CVE-2016-1577
+      url = "https://github.com/mdadams/jasper/commit/74ea22a7a4fe186e0a0124df25e19739b77c4a29.patch";
+      sha256 = "1xgvhfhv8r77z0a07ick2w3217mypnkaqjwzxbk1g1ym8lsy5r13";
+    })
+    (fetchpatch { # CVE-2015-5221
+      url = "https://github.com/mdadams/jasper/commit/df5d2867e8004e51e18b89865bc4aa69229227b3.patch";
+      sha256 = "0qsiymm59dkj843dbi43ijqdyy3rrzf193ndm9ynj3cfhqghi10l";
+    })
+    (fetchpatch { # CVE-2008-3522
+      url = "https://github.com/mdadams/jasper/commit/d678ccd27b8a062e3bfd4c80d8ce2676a8166a27.patch";
+      sha256 = "0dapf8h4s3zijbgd8vmap3blpnc78h7jqm5ydv8j0krrs5dv5672";
+    })
+    (fetchpatch { # CVE-2016-2089
+      url = "https://github.com/mdadams/jasper/commit/aa6d9c2bbae9155f8e1466295373a68fa97291c3.patch";
+      sha256 = "1pxnm86zmbq6brfwsm5wx3iv7s92n4xilc52lzp61q266jmlggrf";
+    })
+    (fetchpatch { # CVE-2015-5203
+      url = "https://github.com/mdadams/jasper/commit/e73bb58f99fec0bf9c5d8866e010fcf736a53b9a.patch";
+      sha256 = "1r6hxbnhpnb7q6p2kbdxc1cpph3ic851x2hy477yv5c3qmrbx9bk";
+    })
   ];
 
   # newer reconf to recognize a multiout flag
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 2bd1f0a48ac3..63ab7144c473 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk
-, gtk_doc, gtk2, python, lua, libX11, libXext, libXrender, gobjectIntrospection
+{ stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3
+, gtk_doc, gtk2, pythonPackages, lua, libX11, libXext, libXrender, gobjectIntrospection
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject3 pygtk;
+in stdenv.mkDerivation rec {
   name = "keybinder-${version}";
   version = "0.3.0";
 
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index 5c8e1759a2d8..cfc8590c6390 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3, pygtk
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3
 , gtk_doc, gtk3, python, lua, libX11, libXext, libXrender, gobjectIntrospection
 }:
 
diff --git a/pkgs/development/libraries/lcms/cve-2013-4276.patch b/pkgs/development/libraries/lcms/cve-2013-4276.patch
new file mode 100644
index 000000000000..8f2f32297828
--- /dev/null
+++ b/pkgs/development/libraries/lcms/cve-2013-4276.patch
@@ -0,0 +1,62 @@
+diff -ur lcms-1.19.dfsg/samples/icctrans.c lcms-1.19.dfsg-patched/samples/icctrans.c
+--- lcms-1.19.dfsg/samples/icctrans.c	2009-10-30 15:57:45.000000000 +0000
++++ lcms-1.19.dfsg-patched/samples/icctrans.c	2013-08-06 11:53:14.385266647 +0100
+@@ -86,6 +86,8 @@
+ static LPcmsNAMEDCOLORLIST InputColorant = NULL;
+ static LPcmsNAMEDCOLORLIST OutputColorant = NULL;
+ 
++unsigned int Buffer_size = 4096;
++
+ 
+ // isatty replacement
+ 
+@@ -500,7 +502,7 @@
+ 
+     Prefix[0] = 0;
+     if (!lTerse)
+-        sprintf(Prefix, "%s=", C);
++        snprintf(Prefix, 20, "%s=", C);
+ 
+     if (InHexa)
+     {
+@@ -648,7 +650,9 @@
+ static
+ void GetLine(char* Buffer)
+ {    
+-    scanf("%s", Buffer);
++    char User_buffer[Buffer_size];
++    fgets(User_buffer, (Buffer_size - 1), stdin);
++    sscanf(User_buffer,"%s", Buffer);
+     
+     if (toupper(Buffer[0]) == 'Q') { // Quit?
+ 
+@@ -668,7 +672,7 @@
+ static
+ double GetAnswer(const char* Prompt, double Range)
+ {
+-    char Buffer[4096];
++    char Buffer[Buffer_size];
+     double val = 0.0;
+ 	       
+     if (Range == 0.0) {              // Range 0 means double value
+@@ -738,7 +742,7 @@
+ static
+ WORD GetIndex(void)
+ {
+-    char Buffer[4096], Name[40], Prefix[40], Suffix[40];
++    char Buffer[Buffer_size], Name[40], Prefix[40], Suffix[40];
+     int index, max;
+ 
+     max = cmsNamedColorCount(hTrans)-1;
+diff -ur lcms-1.19.dfsg/tifficc/tiffdiff.c lcms-1.19.dfsg-patched/tifficc/tiffdiff.c
+--- lcms-1.19.dfsg/tifficc/tiffdiff.c	2009-10-30 15:57:46.000000000 +0000
++++ lcms-1.19.dfsg-patched/tifficc/tiffdiff.c	2013-08-06 11:49:06.698951157 +0100
+@@ -633,7 +633,7 @@
+     cmsIT8SetSheetType(hIT8, "TIFFDIFF");
+     
+    
+-    sprintf(Buffer, "Differences between %s and %s", TiffName1, TiffName2);
++    snprintf(Buffer, 256, "Differences between %s and %s", TiffName1, TiffName2);
+   
+     cmsIT8SetComment(hIT8, Buffer);
+ 
diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix
index 1decde64e972..3e4f0d4265f2 100644
--- a/pkgs/development/libraries/lcms/default.nix
+++ b/pkgs/development/libraries/lcms/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation {
     sha256 = "1abkf8iphwyfs3z305z3qczm3z1i9idc1lz4gvfg92jnkz5k5bl0";
   };
 
+  patches = [ ./cve-2013-4276.patch ];
+
   outputs = [ "bin" "dev" "out" "man" ];
 
   meta = {
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index f4923a4e6bd1..6fde8305da50 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libtiff, libjpeg, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "lcms2-2.7";
+  name = "lcms2-2.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/lcms/${name}.tar.gz";
-    sha256 = "0lvaglcjsvnyglgj3cb3pjc22nq8fml1vlx5dmmmw66ywx526925";
+    sha256 = "08pvl289g0mbznzx5l6ibhaldsgx41kwvdn2c974ga9fkli2pl36";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index af5942fcd54b..2717a326f4ad 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -5,13 +5,15 @@
 , glib, dbus_glib, gtkVersion
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python, pygobject2, pygtk, gobjectIntrospection, vala_0_23
+, pythonPackages, gobjectIntrospection, vala_0_23
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2 pygtk;
+in stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libappindicator-${postfix}-${version}";
   version = "${versionMajor}.${versionMinor}";
diff --git a/pkgs/development/libraries/libdwarf/default.nix b/pkgs/development/libraries/libdwarf/default.nix
index 2378eb915a86..ec10619ba567 100644
--- a/pkgs/development/libraries/libdwarf/default.nix
+++ b/pkgs/development/libraries/libdwarf/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, libelf }:
 
 stdenv.mkDerivation rec {
-  name = "libdwarf-20121130";
-  
+  name = "libdwarf-20160613";
+
   src = fetchurl {
-    url = http://reality.sgiweb.org/davea/libdwarf-20121130.tar.gz;
+    url = "http://www.prevanders.net/${name}.tar.gz";
     sha256 = "1nfdfn5xf3n485pvpb853awyxxnvrg207i0wmrr7bhk8fcxdxbn0";
   };
 
diff --git a/pkgs/development/libraries/libfpx/default.nix b/pkgs/development/libraries/libfpx/default.nix
index 9616461177e6..0a7a1d462ee8 100644
--- a/pkgs/development/libraries/libfpx/default.nix
+++ b/pkgs/development/libraries/libfpx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libfpx-1.3.1-4";
+  name = "libfpx-1.3.1-7";
 
   src = fetchurl {
     url = "mirror://imagemagick/delegates/${name}.tar.xz";
-    sha256 = "0pbvxbp30zqjpc0q71qbl15cb47py74c4d6a8qv1mqa6j81pb233";
+    sha256 = "1s28mwb06w6dj0zl6ashpj8m1qiyadawzl7cvbw7dmj1w39ipghh";
   };
 
   # Darwin gets misdetected as Windows without this
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 706e6a714c1a..e35da9e80872 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,10 +1,12 @@
 {stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
   libxml2, sqlite, libusb1, zlib, sg3_utils, gdk_pixbuf, taglib,
-  libimobiledevice, python, pygobject2, mutagen,
+  libimobiledevice, pythonPackages, mutagen,
   monoSupport ? true, mono, gtk-sharp-2_0
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2;
+in stdenv.mkDerivation rec {
   name = "libgpod-0.8.3";
   src = fetchurl {
     url = "mirror://sourceforge/gtkpod/${name}.tar.bz2";
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 9fb22eee6b24..7094fa2534b1 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -4,13 +4,15 @@
 , pkgconfig, autoconf
 , glib, dbus_glib, libdbusmenu-glib
 , gtkVersion, gtk2 ? null, gtk3 ? null
-, python, pygobject2, pygtk, gobjectIntrospection, vala_0_23, gnome_doc_utils
+, pythonPackages, gobjectIntrospection, vala_0_23, gnome_doc_utils
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2 pygtk;
+in stdenv.mkDerivation rec {
   name = let postfix = if gtkVersion == "2" && monoSupport then "sharp" else "gtk${gtkVersion}";
           in "libindicate-${postfix}-${version}";
   version = "${versionMajor}.${versionMinor}";
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 69c30b7cca4b..9e1d4b58a927 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libgpgerror }:
 
 stdenv.mkDerivation rec {
-  name = "libksba-1.3.4";
+  name = "libksba-1.3.5";
 
   src = fetchurl {
     url = "mirror://gnupg/libksba/${name}.tar.bz2";
-    sha256 = "0kxdb02z41cwm1xbwfwj9nbc0dzjhwyq8c475mlhhmpcxcy8ihpn";
+    sha256 = "0h53q4sns1jz1pkmhcz5wp9qrfn9f5g9i3vjv6dafwzzlvblyi21";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libnabo/default.nix b/pkgs/development/libraries/libnabo/default.nix
new file mode 100644
index 000000000000..485b24beaa34
--- /dev/null
+++ b/pkgs/development/libraries/libnabo/default.nix
@@ -0,0 +1,32 @@
+{stdenv, fetchFromGitHub, cmake, eigen, boost}:
+
+stdenv.mkDerivation rec {
+  version = "1.0.6";
+  name = "libnabo-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ethz-asl";
+    repo = "libnabo";
+    rev = version;
+    sha256 = "1pg4vjfq5n7zhjdf7rgvycd7bkk1iwr50fl2dljq43airxz6525w";
+  };
+
+  buildInputs = [cmake eigen boost];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = "
+    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
+  ";
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "A fast K Nearest Neighbor library for low-dimensional spaces";
+    license = licenses.bsd3;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ cryptix ];
+  };
+}
diff --git a/pkgs/development/libraries/libpointmatcher/default.nix b/pkgs/development/libraries/libpointmatcher/default.nix
new file mode 100644
index 000000000000..96e6dca965dc
--- /dev/null
+++ b/pkgs/development/libraries/libpointmatcher/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchFromGitHub, cmake, eigen, boost, libnabo}:
+
+stdenv.mkDerivation rec {
+  version = "2016-09-11";
+  name = "libpointmatcher-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ethz-asl";
+    repo = "libpointmatcher";
+    rev = "75044815d40ff934fe0bb7e05ed8bbf18c06493b";
+    sha256 = "1s7ilvg3lhr1fq8sxw05ydmbd3kl46496jnyxprhnpgvpmvqsbzl";
+  };
+
+  buildInputs = [cmake eigen boost libnabo];
+
+  enableParallelBuilding = true;
+
+  cmakeFlags = "
+    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
+  ";
+
+  checkPhase = ''
+  export LD_LIBRARY_PATH=$PWD
+  ./utest/utest --path ../examples/data/
+  '';
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "An \"Iterative Closest Point\" library for 2-D/3-D mapping in robotic";
+    license = licenses.bsd3;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ cryptix ];
+  };
+}
diff --git a/pkgs/development/libraries/libressl/2.3.nix b/pkgs/development/libraries/libressl/2.3.nix
index 6009a44dcd21..1c101365950a 100644
--- a/pkgs/development/libraries/libressl/2.3.nix
+++ b/pkgs/development/libraries/libressl/2.3.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.3.7";
+  version = "2.3.8";
 
   src = fetchurl {
     url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
-    sha256 = "0q08yysyalz0fvzajm3x4wg4k6gn4hhd04qsfv27r1p4kj2mv7zm";
+    sha256 = "1hjglpaw1bparlzyjczn0rak32n8hl53317izq81683x5kns8smf";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libressl/2.4.nix b/pkgs/development/libraries/libressl/2.4.nix
index 43f9244d7a80..6db9df2a59e2 100644
--- a/pkgs/development/libraries/libressl/2.4.nix
+++ b/pkgs/development/libraries/libressl/2.4.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libressl-${version}";
-  version = "2.4.2";
+  version = "2.4.3";
 
   src = fetchurl {
     url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
-    sha256 = "1qyrcyzrrn6r9cqvm66ib72qyr65q4hrdyiq1vb24a6nwmwdg1sz";
+    sha256 = "03ln2ac9cv0pbz3109yjk7cr5yxqfk8ld6g61k9sgrs7wbrjcmxx";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libressl/2.5.nix b/pkgs/development/libraries/libressl/2.5.nix
new file mode 100644
index 000000000000..51925ee108e9
--- /dev/null
+++ b/pkgs/development/libraries/libressl/2.5.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libressl-${version}";
+  version = "2.5.0";
+
+  src = fetchurl {
+    url    = "mirror://openbsd/LibreSSL/${name}.tar.gz";
+    sha256 = "1bkfvapi4z826slycmicvs7hwgk4l82gd8w6nqvznldbammvyll6";
+  };
+
+  enableParallelBuilding = true;
+
+  outputs = [ "bin" "dev" "out" "man" ];
+
+  meta = with stdenv.lib; {
+    description = "Free TLS/SSL implementation";
+    homepage    = "http://www.libressl.org";
+    platforms   = platforms.all;
+    maintainers = with maintainers; [ thoughtpolice wkennington fpletz globin ];
+  };
+}
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 7a0112e15cab..d5df00a7e9ba 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -6,11 +6,11 @@
 # no introspection by default, it's too big
 
 stdenv.mkDerivation rec {
-  name = "librsvg-2.40.9";
+  name = "librsvg-2.40.16";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/librsvg/2.40/${name}.tar.xz";
-    sha256 = "0fplymmqqr28y24vcnb01szn62pfbqhk8p1ngns54x9m6mflr5hk";
+    sha256 = "0bpz6gsq8xi1pb5k9ax6vinph460v14znch3y5yz167s0dmwz2yl";
   };
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 425eef001859..8cba1a38b5ba 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -4,11 +4,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libva-1.7.0";
+  name = "libva-${version}";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
-    sha256 = "0py9igf4kicj7ji22bjawkpd6my013qpg0s4ir2np9l1rk5vr2d6";
+    sha256 = "04rczbnbi70y1ziy9ab59szi3glk9q35hshlws0bcj2ndbqirmjx";
   };
 
   outputs = [ "bin" "dev" "out" ];
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 36b5759a2cc0..6bd0ec52f275 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -1,9 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
-, nettle, libgcrypt, python, pygobject2, gobjectIntrospection, libcap_ng, numactl
+, nettle, libgcrypt, pythonPackages, gobjectIntrospection, libcap_ng, numactl
 , xen
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygobject2;
+in stdenv.mkDerivation rec {
   name = "libvirt-glib-0.2.3";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/libxmlxx/v3.nix b/pkgs/development/libraries/libxmlxx/v3.nix
new file mode 100644
index 000000000000..e9b08609f23c
--- /dev/null
+++ b/pkgs/development/libraries/libxmlxx/v3.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, glibmm, perl }:
+
+stdenv.mkDerivation rec {
+  name = "libxml++-${maj_ver}.${min_ver}";
+  maj_ver = "3.0";
+  min_ver = "0";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libxml++/${maj_ver}/${name}.tar.xz";
+    sha256 = "0lkrajbdys5f6w6qwfijih3hnbk4c6809qx2mmxkb7bj2w269wrg";
+  };
+
+  nativeBuildInputs = [ pkgconfig perl ];
+
+  buildInputs = [ glibmm ];
+
+  propagatedBuildInputs = [ libxml2 ];
+
+  meta = with stdenv.lib; {
+    homepage = http://libxmlplusplus.sourceforge.net/;
+    description = "C++ wrapper for the libxml2 XML parser library, version 3";
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ loskutov ];
+  };
+}
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index de8cc1e49cc2..1df9cf0492dc 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -1,18 +1,20 @@
-{ stdenv, fetchurl
+{ stdenv, fetchzip
 , boost, cairo, freetype, gdal, harfbuzz, icu, libjpeg, libpng, libtiff
 , libwebp, libxml2, proj, python, scons, sqlite, zlib
 }:
 
 stdenv.mkDerivation rec {
   name = "mapnik-${version}";
-  version = "3.0.10";
+  version = "3.0.12";
 
-  src = fetchurl {
-    url = "https://mapnik.s3.amazonaws.com/dist/v${version}/mapnik-v${version}.tar.bz2";
-    sha256 = "0fda6syrfb81930sf7rgw1qmpnik8k1ngrjkh43ywd3s37nbqh1n";
+  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 = "02w360fxk0pfkk0zbwc134jq7rkkib58scs5k67j8np6fx6gag6i";
   };
 
-  outputs = [ "out" "dev" ];
+  # a distinct dev output makes python-mapnik fail
+  outputs = [ "out" ];
 
   nativeBuildInputs = [ python scons ];
 
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 3d0c594b61bc..aae3d0f9c8ba 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.2.1";
+  version = "1.2.2";
   name = "mdds-${version}";
 
   src = fetchurl {
     url = "http://kohei.us/files/mdds/src/mdds-${version}.tar.bz2";
-    sha256 = "0yzwdl8mf8xdj8rif1qq0qnlq7vlk5q86r3hs2x49m5rqzgljbqy";
+    sha256 = "17fcjhsq3bzqm7ba9sgp6my3y4226jnwai6q5jq3810i745p67hl";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/openjpeg/1.x.nix b/pkgs/development/libraries/openjpeg/1.x.nix
index 2147bab0a6aa..dfa5605dec8b 100644
--- a/pkgs/development/libraries/openjpeg/1.x.nix
+++ b/pkgs/development/libraries/openjpeg/1.x.nix
@@ -1,7 +1,8 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.2";
+  version = "1.5.2";
   branch = "1.5";
-  sha256 = "11waq9w215zvzxrpv40afyd18qf79mxc28fda80bm3ax98cpppqm";
+  revision = "version.1.5.2";
+  sha256 = "1dvvpvb597i5z8srz2v4c5dsbxb966h125jx3m2z0r2gd2wvpfkp";
 })
diff --git a/pkgs/development/libraries/openjpeg/2.0.nix b/pkgs/development/libraries/openjpeg/2.0.nix
index 034942b25dde..80026af7be04 100644
--- a/pkgs/development/libraries/openjpeg/2.0.nix
+++ b/pkgs/development/libraries/openjpeg/2.0.nix
@@ -1,7 +1,8 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.0.1";
+  version = "2.0.1";
   branch = "2";
-  sha256 = "1c2xc3nl2mg511b63rk7hrckmy14681p1m44mzw3n1fyqnjm0b0z";
+  revision = "version.2.0.1";
+  sha256 = "1r81hq0hx2papjs3hfmpsl0024f6lblk0bq53dfm2wcpi916q7pw";
 })
diff --git a/pkgs/development/libraries/openjpeg/2.1.nix b/pkgs/development/libraries/openjpeg/2.1.nix
index f6b3ce3a9cd8..d59ceb9f7a9d 100644
--- a/pkgs/development/libraries/openjpeg/2.1.nix
+++ b/pkgs/development/libraries/openjpeg/2.1.nix
@@ -1,7 +1,8 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.0";
+  version = "2.1.1";
   branch = "2.1";
-  sha256 = "00zzm303zvv4ijzancrsb1cqbph3pgz0nky92k9qx3fq9y0vnchj";
+  revision = "v2.1.1";
+  sha256 = "1hrn10byrlw7hb7hwv2zvff89rxy3bsbn0im5ki4kdk63jw5p601";
 })
diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix
index 03b6faed2679..c70bab523cb6 100644
--- a/pkgs/development/libraries/openjpeg/generic.nix
+++ b/pkgs/development/libraries/openjpeg/generic.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
 , libpng, libtiff, lcms2
 , mj2Support ? true # MJ2 executables
 , jpwlLibSupport ? true # JPWL library & executables
@@ -11,7 +11,7 @@
 , testsSupport ? false
 , jdk ? null
 # Inherit generics
-, branch, sha256, version, ...
+, branch, version, revision, sha256, ...
 }:
 
 assert jpipServerSupport -> jpipLibSupport && curl != null && fcgi != null;
@@ -26,8 +26,10 @@ in
 stdenv.mkDerivation rec {
   name = "openjpeg-${version}";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/openjpeg.mirror/${version}/openjpeg-${version}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "uclouvain";
+    repo = "openjpeg";
+    rev = revision;
     inherit sha256;
   };
 
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index f684969f9054..80f49c924829 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -111,13 +111,13 @@ in {
   };
 
   openssl_1_0_2 = common {
-    version = "1.0.2i";
-    sha256 = "0vyy038676cv3m2523fi9ll9nkjxadqdnz18zdp5nm6925yli1wj";
+    version = "1.0.2j";
+    sha256 = "0cf4ar97ijfc7mg35zdgpad6x8ivkdx9qii6mz35khi1ps9g5bz7";
   };
 
   openssl_1_1_0 = common {
-    version = "1.1.0a";
-    sha256 = "0as40a1lipl9qfax7495jc1xfb049ygavkaxxk4y5kcn8birdrn2";
+    version = "1.1.0b";
+    sha256 = "1xznrqvb1dbngv2k2nb6da6fdw00c01sy2i36yjdxr4vpxrf0pd4";
   };
 
 }
diff --git a/pkgs/development/libraries/osip/default.nix b/pkgs/development/libraries/osip/default.nix
index 4db1cb5b5246..814158276ce4 100644
--- a/pkgs/development/libraries/osip/default.nix
+++ b/pkgs/development/libraries/osip/default.nix
@@ -1,9 +1,9 @@
 {stdenv, fetchurl}:
 stdenv.mkDerivation rec {
-  version = "4.1.0";
+  version = "5.0.0";
   src = fetchurl {
     url = "mirror://gnu/osip/libosip2-${version}.tar.gz";
-    sha256 = "014503kqv7z63az6lgxr5fbajlrqylm5c4kgbf8p3a0n6cva0slr";
+    sha256 = "00yznbrm9q04wgd4b831km8iwlvwvsnwv87igf79g5vj9yakr88q";
   };
   name = "libosip2-${version}";
 
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index 2138e1689b39..b1d2b1fd92ec 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "libupnp-1.6.19";
+  name = "libupnp-1.6.20";
 
   src = fetchurl {
     url = "mirror://sourceforge/pupnp/${name}.tar.bz2";
-    sha256 = "0amjv4lypvclmi4vim2qdyw5xa6v4x50zjgf682vahqjc0wjn55k";
+    sha256 = "0qrsdsb1qm85hc4jy04qph895613d148f0x1mmk6z99y3q43fdgf";
   };
 
   hardeningDisable = [ "fortify" ];
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 3034370e4ea5..7fc39cfd52b2 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchurl, pkgconfig, gtk2, spice_protocol, intltool, celt_0_5_1
+{ stdenv, fetchurl, pkgconfig, spice_protocol, intltool, celt_0_5_1
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
-, cyrus_sasl, python, pygtk, autoreconfHook, usbredir, libsoup
-, gtk3, enableGTK3 ? false }:
+, cyrus_sasl, pythonPackages, autoreconfHook, usbredir, libsoup
+, gtk3, epoxy }:
 
 with stdenv.lib;
 
-stdenv.mkDerivation rec {
-  name = "spice-gtk-0.29";
+let
+  inherit (pythonPackages) python pygtk;
+in stdenv.mkDerivation rec {
+  name = "spice-gtk-0.32";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
-    sha256 = "0wz9sm44gnmwjpmyacwd5jyzvhfl1wlf1dn3qda20si42cky5is4";
+    sha256 = "00pf94xh2xf0h1g13lnavxrysd0d0x22l5jl108cvq1mjc4z8j2c";
   };
 
   buildInputs = [
     spice_protocol celt_0_5_1 openssl libpulseaudio pixman gobjectIntrospection
-    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir
-  ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk2 ]);
+    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
+  ];
 
   nativeBuildInputs = [ pkgconfig intltool libsoup autoreconfHook ];
 
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = [
     "--disable-maintainer-mode"
-    (if enableGTK3 then "--with-gtk3" else "--with-gtk=2.0")
+    "--with-gtk3"
   ];
 
   dontDisableStatic = true; # Needed by the coroutine test
@@ -41,9 +43,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    description = "A GTK+2 and GTK+3 SPICE widget";
+    description = "A GTK+3 SPICE widget";
     longDescription = ''
-      spice-gtk is a GTK+2 and GTK+3 SPICE widget. It features glib-based
+      spice-gtk is a GTK+3 SPICE widget. It features glib-based
       objects for SPICE protocol parsing and a gtk widget for embedding
       the SPICE display into other applications such as virt-manager.
       Python bindings are available too.
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 0f9b1288cc49..bd56d880f94a 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.10";
+  name = "spice-protocol-0.12.12";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "1yrfacqgnabmx2q768mim892ga2wnlp5cavkf51v3idyjmqhv3vq";
+    sha256 = "00wx81f2ml62g3maw63jq9w217zym921rdi38h7lpm5m8ckxraqp";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 8e1227e46ff9..c0145f4f7769 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.12.6";
+  name = "spice-0.12.8";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "1dk9hp78ldqb0a52kdlqq0scnk3drnhj7rsw8r7hmy2v2cqflj7i";
+    sha256 = "0za03i77j8i3g5l2np2j7vy8cqsdbkm9wbv4hjnaqq9xhz2sa0gr";
   };
 
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index f970a63ff12e..a115c93c90e3 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "usbredir-${version}";
-  version = "0.7";
+  version = "0.7.1";
 
   src = fetchurl {
     url = "http://spice-space.org/download/usbredir/${name}.tar.bz2";
-    sha256 = "1ah64271r83lvh8hrpkxzv0iwpga1wkrfkx4rkljpijx5dqs0qqa";
+    sha256 = "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0";
   };
 
   buildInputs = [ pkgconfig libusb ];
diff --git a/pkgs/development/libraries/wayland/1.9.nix b/pkgs/development/libraries/wayland/1.9.nix
new file mode 100644
index 000000000000..4c6d95e67c0f
--- /dev/null
+++ b/pkgs/development/libraries/wayland/1.9.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchurl, pkgconfig
+, libffi, docbook_xsl, doxygen, graphviz, libxslt, xmlto, libxml2
+, expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
+}:
+
+# Require the optional to be enabled until upstream fixes or removes the configure flag
+assert expat != null;
+
+stdenv.mkDerivation rec {
+  name = "wayland-${version}";
+  version = "1.9.0";
+
+  src = fetchurl {
+    url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "1yhy62vkbq8j8c9zaa6yzvn75cd99kfa8n2zfdwl80x019r711ww";
+  };
+
+  configureFlags = "--with-scanner --disable-documentation";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libffi /* docbook_xsl doxygen graphviz libxslt xmlto */ expat libxml2 ];
+
+  meta = {
+    description = "Reference implementation of the wayland protocol";
+    homepage    = http://wayland.freedesktop.org/;
+    license     = lib.licenses.mit;
+    platforms   = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ codyopel wkennington ];
+  };
+
+  passthru.version = version;
+}
diff --git a/pkgs/development/libraries/webkitgtk/2.12.nix b/pkgs/development/libraries/webkitgtk/2.12.nix
index 3de8a9420824..38d8b7ac75a7 100644
--- a/pkgs/development/libraries/webkitgtk/2.12.nix
+++ b/pkgs/development/libraries/webkitgtk/2.12.nix
@@ -11,7 +11,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.12.4";
+  version = "2.12.5";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "0xwsc2lpb4q55vdgmwljx43219l0sa6r5mqs3bmw3fwsb5vk2ka2";
+    sha256 = "0h0wig413399wws6l88mn1nnjbqb42vb55yvz8az39b4p1a7h53b";
   };
 
   patches = [ ./finding-harfbuzz-icu.patch ];
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index dbf429d8daf8..278690f3a1c8 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.1.6";
+    version="3.1.7";
     name="${baseName}-${version}";
-    hash="0535pf1828w5q6ydhmawf5f33xh6bc2czw76llgpikla0gdzh58w";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.6.tar.gz";
-    sha256="0535pf1828w5q6ydhmawf5f33xh6bc2czw76llgpikla0gdzh58w";
+    hash="16x065q6adidbdr77axsxz4f8c818szfz0b9sw1a4c89y82ylsnn";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.1.7.tar.gz";
+    sha256="16x065q6adidbdr77axsxz4f8c818szfz0b9sw1a4c89y82ylsnn";
   };
   buildInputs = [
     texinfo texLive perl
@@ -19,6 +19,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     inherit (s) url sha256;
   };
+  sourceRoot = ".";
   buildPhase = ''
     make build/asdf.lisp
     make -C doc asdf.info asdf.html
diff --git a/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh b/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh
index 030e9e403237..13965f14c5e2 100755
--- a/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh
+++ b/pkgs/development/lisp-modules/clwrapper/build-with-lisp.sh
@@ -47,7 +47,7 @@ case "$NIX_LISP" in
                   :toplevel (lambda ()
                     (setf common-lisp:*standard-input* (sb-sys::make-fd-stream 0 :input t :buffering :line))
                     (setf common-lisp:*standard-output* (sb-sys::make-fd-stream 1 :output t :buffering :line))
-                    (setf asdf/image:*command-line-arguments* (cdr sb-ext:*posix-argv*))
+                    (setf uiop/image:*command-line-arguments* (cdr sb-ext:*posix-argv*))
                     $code)
                     :executable t :save-runtime-options t :purify t))"
                 systems=":sb-posix $systems"
diff --git a/pkgs/development/lisp-modules/lisp-packages.nix b/pkgs/development/lisp-modules/lisp-packages.nix
index abadf07a574a..6887c8ff60da 100644
--- a/pkgs/development/lisp-modules/lisp-packages.nix
+++ b/pkgs/development/lisp-modules/lisp-packages.nix
@@ -344,14 +344,14 @@ let lispPackages = rec {
 
   command-line-arguments = buildLispPackage rec {
     baseName = "command-line-arguments";
-    version = "git-20141113";
+    version = "git-20151120";
     description = "Small library to deal with command-line arguments";
     deps = [];
     # Source type: git
     src = pkgs.fetchgit {
       url = ''http://common-lisp.net/project/qitab/git/command-line-arguments.git'';
-      sha256 = "1jgx8k706wz2qjdnqnralvnhwlzxd0nx22r6rncgs2kw7p4wll9d";
-      rev = ''121f303bbef9c9cdf37a7a12d8adb1ad4be5a6ae'';
+      sha256 = "0qx33j0bq8dshiyyv8rjwd0zvhqhqx5gby6xrghfy8ylcwf11r5j";
+      rev = ''003bdbc05e2816e43293530f58efb529e9e89a20'';
     };
   };
 
diff --git a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
index 61b2038bfd29..6e988c4479a5 100644
--- a/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
+++ b/pkgs/development/ocaml-modules/janestreet/buildOcamlJane.nix
@@ -1,4 +1,4 @@
-{ buildOcaml, opam, js_build_tools, ocaml_oasis, fetchurl } :
+{ buildOcaml, opam, js_build_tools, ocaml_oasis_46, fetchurl } :
 
 { name, version ? "113.33.03", buildInputs ? [],
   hash ? "",
@@ -14,7 +14,7 @@ buildOcaml (args // {
 
   hasSharedObjects = true;
 
-  buildInputs = [ ocaml_oasis js_build_tools opam ] ++ buildInputs;
+  buildInputs = [ ocaml_oasis_46 js_build_tools opam ] ++ buildInputs;
 
   dontAddPrefix = true;
 
diff --git a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
index bf697eda8007..328ffc58bdc1 100644
--- a/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
+++ b/pkgs/development/ocaml-modules/janestreet/js-build-tools.nix
@@ -1,4 +1,4 @@
-{stdenv, buildOcaml, fetchurl, ocaml_oasis, opam}:
+{stdenv, buildOcaml, fetchurl, ocaml_oasis_46, opam}:
 
 buildOcaml rec {
   name = "js-build-tools";
@@ -13,7 +13,7 @@ buildOcaml rec {
 
   hasSharedObjects = true;
 
-  buildInputs = [ ocaml_oasis opam ];
+  buildInputs = [ ocaml_oasis_46 opam ];
 
   dontAddPrefix = true;
   configurePhase = "./configure --prefix $prefix";
diff --git a/pkgs/development/ocaml-modules/ocamlnat/default.nix b/pkgs/development/ocaml-modules/ocamlnat/default.nix
index 1aeb43b8cf44..29ee65356244 100644
--- a/pkgs/development/ocaml-modules/ocamlnat/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnat/default.nix
@@ -1,10 +1,14 @@
-{stdenv, fetchurl, ocaml, findlib, ounit}:
+{stdenv, lib, fetchurl, ocaml, findlib, ounit}:
 
-stdenv.mkDerivation {
-  name = "ocamlnat-0.1.1";
+# https://github.com/bmeurer/ocamlnat/issues/3
+assert lib.versionOlder ocaml.version "4";
+
+stdenv.mkDerivation rec {
+  name = "ocamlnat-${version}";
+  version = "0.1.1";
 
   src = fetchurl {
-    url = http://benediktmeurer.de/files/source/ocamlnat-0.1.1.tar.bz2;
+    url = "http://benediktmeurer.de/files/source/${name}.tar.bz2";
     sha256 = "0dyvy0j6f47laxhnadvm71z1py9hz9zd49hamf6bij99cggb2ij1";
   };
 
diff --git a/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch b/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch
deleted file mode 100644
index e24c44d7e159..000000000000
--- a/pkgs/development/perl-modules/net-amazon-s3-credentials-provider.patch
+++ /dev/null
@@ -1,291 +0,0 @@
-commit 4afa16864ac8ae23a450abf95db023b0c8bea698
-Author: Shea Levy <shea@shealevy.com>
-Date:   Thu Aug 29 07:09:34 2013 -0400
-
-    Use CredentialsProviders à la the Java API
-    
-    Signed-off-by: Shea Levy <shea@shealevy.com>
-
-diff --git a/lib/Net/Amazon/Auth/CredentialsProvider.pm b/lib/Net/Amazon/Auth/CredentialsProvider.pm
-new file mode 100755
-index 0000000..527acae
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/CredentialsProvider.pm
-@@ -0,0 +1,9 @@
-+package Net::Amazon::Auth::CredentialsProvider;
-+
-+use Moose::Role 0.85;
-+
-+requires 'get_credentials';
-+
-+sub refresh { }
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/CredentialsProviderChain.pm b/lib/Net/Amazon/Auth/CredentialsProviderChain.pm
-new file mode 100755
-index 0000000..85cd8e0
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/CredentialsProviderChain.pm
-@@ -0,0 +1,41 @@
-+package Net::Amazon::Auth::CredentialsProviderChain;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+use Net::Amazon::Auth::EnvironmentVariableCredentialsProvider;
-+use Net::Amazon::Auth::InstanceProfileCredentialsProvider;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has 'providers' => ( is => 'ro', isa => 'ArrayRef[Net::Amazon::Auth::CredentialsProvider]', required => 1 );
-+
-+sub refresh {
-+    my $self = shift;
-+
-+    map { $_->refresh } @{$self->providers};
-+}
-+
-+sub get_credentials {
-+    my $self = shift;
-+
-+    foreach my $provider (@{$self->providers}) {
-+        my $res = $provider->get_credentials;
-+        if (defined $res->{access_key_id}) {
-+            return $res;
-+        }
-+    }
-+
-+    return {};
-+}
-+
-+sub default_chain {
-+    my $class = shift;
-+    return $class->new(providers => [
-+            Net::Amazon::Auth::EnvironmentVariableCredentialsProvider->new,
-+            Net::Amazon::Auth::InstanceProfileCredentialsProvider->new
-+        ]);
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm b/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm
-new file mode 100755
-index 0000000..ac38a84
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/EnvironmentVariableCredentialsProvider.pm
-@@ -0,0 +1,26 @@
-+package Net::Amazon::Auth::EnvironmentVariableCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+
-+extends 'Net::Amazon::Auth::FixedCredentialsProvider';
-+
-+around BUILDARGS => sub {
-+    my $orig = shift;
-+    my $class = shift;
-+
-+    my %args = (
-+        access_key_id => $ENV{AWS_ACCESS_KEY_ID},
-+        secret_access_key => $ENV{AWS_SECRET_ACCESS_KEY}
-+    );
-+
-+    if (exists $ENV{AWS_SESSION_TOKEN}) {
-+        $args{session_token} = $ENV{AWS_SESSION_TOKEN};
-+    }
-+
-+    return $class->$orig(\%args);
-+};
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm b/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm
-new file mode 100755
-index 0000000..21d56c7
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/FixedCredentialsProvider.pm
-@@ -0,0 +1,23 @@
-+package Net::Amazon::Auth::FixedCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has 'access_key_id'     => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-+has 'secret_access_key' => ( is => 'ro', isa => 'Maybe[Str]', required => 1 );
-+has 'session_token' => ( is => 'ro', isa => 'Maybe[Str]', required => 0 );
-+
-+sub get_credentials {
-+    my $self = shift;
-+    return {
-+        access_key_id => $self->access_key_id,
-+        secret_access_key => $self->secret_access_key,
-+        session_token => $self->session_token
-+    };
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm b/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm
-new file mode 100755
-index 0000000..b9f826a
---- /dev/null
-+++ b/lib/Net/Amazon/Auth/InstanceProfileCredentialsProvider.pm
-@@ -0,0 +1,57 @@
-+package Net::Amazon::Auth::InstanceProfileCredentialsProvider;
-+
-+use Moose 0.85;
-+use MooseX::StrictConstructor 0.16;
-+use HTTP::Date;
-+use JSON;
-+
-+with 'Net::Amazon::Auth::CredentialsProvider';
-+
-+has '_ua' => ( is => 'rw', isa => 'LWP::UserAgent', required => 0 );
-+has '_access_key_id'     => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_secret_access_key' => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_session_token' => ( is => 'rw', isa => 'Str', required => 0 );
-+has '_expiration_date' => ( is => 'rw', isa => 'Int', required => 0, default => 0 );
-+
-+sub BUILD {
-+    my $self = shift;
-+    my $ua = LWP::UserAgent->new;
-+    $ua->timeout(10);
-+    $self->_ua($ua);
-+}
-+
-+sub refresh {
-+    my $self = shift;
-+
-+    my $role_name_response =
-+        $self->_ua->get("http://169.254.169.254/latest/meta-data/iam/security-credentials/");
-+    if ($role_name_response->code == 200) {
-+        my $credentials_response = $self->_ua->get("http://169.254.169.254/latest/meta-data/iam/security-credentials/" . $role_name_response->content);
-+
-+        if ($credentials_response->code == 200) {
-+            my $credentials = decode_json($credentials_response->content);
-+            $self->_expiration_date(str2time($credentials->{Expiration}));
-+            $self->_access_key_id($credentials->{AccessKeyId});
-+            $self->_secret_access_key($credentials->{SecretAccessKey});
-+            $self->_session_token($credentials->{Token});
-+        }
-+    }
-+}
-+
-+sub get_credentials {
-+    my $self = shift;
-+
-+    if (time() - $self->_expiration_date > -5 * 60) { #Credentials available 5 minutes before expiry
-+        $self->refresh;
-+    }
-+
-+    return {
-+        access_key_id => $self->_access_key_id,
-+        secret_access_key => $self->_secret_access_key,
-+        session_token => $self->_session_token
-+    };
-+}
-+
-+__PACKAGE__->meta->make_immutable;
-+
-+1;
-diff --git a/lib/Net/Amazon/S3.pm b/lib/Net/Amazon/S3.pm
-index 907113e..a369e4b 100755
---- a/lib/Net/Amazon/S3.pm
-+++ b/lib/Net/Amazon/S3.pm
-@@ -133,9 +133,10 @@ use LWP::UserAgent::Determined;
- use URI::Escape qw(uri_escape_utf8);
- use XML::LibXML;
- use XML::LibXML::XPathContext;
-+use Net::Amazon::Auth::FixedCredentialsProvider;
-+use Net::Amazon::Auth::CredentialsProviderChain;
- 
--has 'aws_access_key_id'     => ( is => 'ro', isa => 'Str', required => 1 );
--has 'aws_secret_access_key' => ( is => 'ro', isa => 'Str', required => 1 );
-+has 'credentials_provider' => ( is => 'ro', isa => 'Net::Amazon::Auth::CredentialsProvider', required => 0, default => sub { return Net::Amazon::Auth::CredentialsProviderChain->default_chain; } );
- has 'secure' => ( is => 'ro', isa => 'Bool', required => 0, default => 0 );
- has 'timeout' => ( is => 'ro', isa => 'Num',  required => 0, default => 30 );
- has 'retry'   => ( is => 'ro', isa => 'Bool', required => 0, default => 0 );
-@@ -144,7 +145,23 @@ has 'libxml' => ( is => 'rw', isa => 'XML::LibXML',    required => 0 );
- has 'ua'     => ( is => 'rw', isa => 'LWP::UserAgent', required => 0 );
- has 'err'    => ( is => 'rw', isa => 'Maybe[Str]',     required => 0 );
- has 'errstr' => ( is => 'rw', isa => 'Maybe[Str]',     required => 0 );
--has 'aws_session_token' => ( is => 'ro', isa => 'Str', required => 0 );
-+
-+around BUILDARGS => sub {
-+    my $orig = shift;
-+    my $class = shift;
-+
-+    my $args = $class->$orig(@_);
-+
-+    if (exists $args->{aws_access_key_id}) {
-+        $args->{credentials_provider} = Net::Amazon::Auth::FixedCredentialsProvider->new({
-+                access_key_id => $args->{aws_access_key_id},
-+                secret_access_key => $args->{aws_secret_access_key},
-+                session_token => $args->{aws_session_token}
-+            });
-+        delete @{$args}{qw(aws_access_key_id aws_secret_access_key aws_session_token)};
-+    }
-+    return $args;
-+};
- 
- __PACKAGE__->meta->make_immutable;
- 
-@@ -223,6 +240,24 @@ sub BUILD {
- 
-     $self->ua($ua);
-     $self->libxml( XML::LibXML->new );
-+
-+    die "No AWS credentials found!" unless defined $self->credentials_provider->get_credentials->{access_key_id};
-+}
-+
-+# Backwards compatibility
-+sub aws_access_key_id {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{access_key_id};
-+}
-+
-+sub aws_secret_access_key {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{secret_access_key};
-+}
-+
-+sub aws_session_token {
-+    my $self = shift;
-+    return $self->credentials_provider->get_credentials->{session_token};
- }
- 
- =head2 buckets
-diff --git a/lib/Net/Amazon/S3/HTTPRequest.pm b/lib/Net/Amazon/S3/HTTPRequest.pm
-index 69c6327..d49e95b 100755
---- a/lib/Net/Amazon/S3/HTTPRequest.pm
-+++ b/lib/Net/Amazon/S3/HTTPRequest.pm
-@@ -63,8 +63,9 @@ sub query_string_authentication_uri {
-     my $path    = $self->path;
-     my $headers = $self->headers;
- 
--    my $aws_access_key_id     = $self->s3->aws_access_key_id;
--    my $aws_secret_access_key = $self->s3->aws_secret_access_key;
-+    my $creds = $self->s3->credentials_provider->get_credentials;
-+    my $aws_access_key_id     = $creds->{access_key_id};
-+    my $aws_secret_access_key = $creds->{secret_access_key};
-     my $canonical_string
-         = $self->_canonical_string( $method, $path, $headers, $expires );
-     my $encoded_canonical
-@@ -86,9 +87,10 @@ sub query_string_authentication_uri {
- 
- sub _add_auth_header {
-     my ( $self, $headers, $method, $path ) = @_;
--    my $aws_access_key_id     = $self->s3->aws_access_key_id;
--    my $aws_secret_access_key = $self->s3->aws_secret_access_key;
--    my $aws_session_token     = $self->s3->aws_session_token;
-+    my $creds = $self->s3->credentials_provider->get_credentials;
-+    my $aws_access_key_id     = $creds->{access_key_id};
-+    my $aws_secret_access_key = $creds->{secret_access_key};
-+    my $aws_session_token     = $creds->{session_token};
- 
-     if ( not $headers->header('Date') ) {
-         $headers->header( Date => time2str(time) );
diff --git a/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch b/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
deleted file mode 100644
index 3ac3f4e2a821..000000000000
--- a/pkgs/development/perl-modules/net-amazon-s3-moose-warning.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://github.com/pfig/net-amazon-s3/pull/42
-
-From 116d73235d8243ec4427e6d7bf1f14f7fb9129aa Mon Sep 17 00:00:00 2001
-From: Jay Hannah <jay.hannah@iinteractive.com>
-Date: Thu, 8 May 2014 02:29:14 +0000
-Subject: [PATCH] Patch for current versions of Moose: "Passing a list of
- values to enum is deprecated. Enum values should be wrapped in an arrayref."
-
----
- lib/Net/Amazon/S3/Client/Object.pm | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/Net/Amazon/S3/Client/Object.pm b/lib/Net/Amazon/S3/Client/Object.pm
-index 08e48c6..106f2fd 100755
---- a/lib/Net/Amazon/S3/Client/Object.pm
-+++ b/lib/Net/Amazon/S3/Client/Object.pm
-@@ -16,7 +16,7 @@ enum 'AclShort' =>
-     [ qw(private public-read public-read-write authenticated-read) ];
- 
- enum 'StorageClass' =>
--    qw(standard reduced_redundancy);
-+    [ qw(standard reduced_redundancy) ];
- 
- has 'client' =>
-     ( is => 'ro', isa => 'Net::Amazon::S3::Client', required => 1 );
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index 6e86235cf23c..d27a65375567 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, buildPythonPackage, docutils, six, sphinx }:
+{ lib, fetchurl, buildPythonPackage, docutils, six, sphinx, isPy3k }:
 
 buildPythonPackage rec {
   name = "breathe-${version}";
@@ -11,6 +11,8 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ docutils six sphinx ];
 
+  disabled = isPy3k;
+
   meta = {
     homepage = https://github.com/michaeljones/breathe;
     license = lib.licenses.bsd3;
diff --git a/pkgs/development/python-modules/libsexy/default.nix b/pkgs/development/python-modules/libsexy/default.nix
index 52a2c586f858..fa79cfa3be5c 100644
--- a/pkgs/development/python-modules/libsexy/default.nix
+++ b/pkgs/development/python-modules/libsexy/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, buildPythonPackage, libsexy, pkgconfig, libxml2, pygtk, pango, gtk2, glib, }:
+{ stdenv, fetchurl, mkPythonDerivation, libsexy, pkgconfig, libxml2, pygtk, pango, gtk2, glib }:
 
-stdenv.mkDerivation rec {
-  name = "python-libsexy-${version}";
+mkPythonDerivation rec {
+  name = "libsexy-${version}";
   version = "0.1.9";
 
   src = fetchurl {
@@ -9,12 +9,10 @@ stdenv.mkDerivation rec {
     sha256 = "05bgcsxwkp63rlr8wg6znd46cfbhrzc5wh70jabsi654pxxjb39d";
   };
 
-  buildInputs = [
-    pkgconfig pygtk
-  ];
+  buildInputs = [ pkgconfig ];
 
   propagatedBuildInputs = [
-    libsexy gtk2 glib pango libxml2
+    pygtk libsexy gtk2 glib pango libxml2
   ];
 
   postInstall = ''
diff --git a/pkgs/development/python-modules/stringtemplate/default.nix b/pkgs/development/python-modules/stringtemplate/default.nix
index 18b920381943..50a425132a26 100644
--- a/pkgs/development/python-modules/stringtemplate/default.nix
+++ b/pkgs/development/python-modules/stringtemplate/default.nix
@@ -1,6 +1,6 @@
-{stdenv, fetchurl, python, antlr}:
+{stdenv, fetchurl, buildPythonPackage, antlr, isPy3k}:
 
-stdenv.mkDerivation rec {
+buildPythonPackage rec {
   name = "PyStringTemplate-${version}";
   version = "3.2b1";
 
@@ -9,13 +9,12 @@ stdenv.mkDerivation rec {
     sha256 = "0lbib0l8c1q7i1j610rwcdagymr1idahrql4dkgnm5rzyg2vk3ml";
   };
 
-  propagatedBuildInputs = [python antlr];
+  propagatedBuildInputs = [ antlr ];
 
-  dontBuild = true;
+  disabled = isPy3k;
 
-  installPhase = ''
-    python setup.py install --prefix=$out --install-lib=$(toPythonPath $out) -O1
-  '';
+  # No tests included in archive
+  doCheck = false;
 
   meta = {
     homepage = "http://www.stringtemplate.org/";
diff --git a/pkgs/development/tools/analysis/verasco/default.nix b/pkgs/development/tools/analysis/verasco/default.nix
index 9b3ff8e570d6..7f623e72dc31 100644
--- a/pkgs/development/tools/analysis/verasco/default.nix
+++ b/pkgs/development/tools/analysis/verasco/default.nix
@@ -1,7 +1,10 @@
-{ stdenv, fetchurl, coq, ocamlPackages
+{ stdenv, lib, fetchurl
+, coq, ocaml, findlib, menhir, zarith
 , tools ? stdenv.cc
 }:
 
+assert lib.versionAtLeast ocaml.version "4.02";
+
 stdenv.mkDerivation rec {
   name = "verasco-1.3";
   src = fetchurl {
@@ -9,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zvljrpwnv443k939zlw1f7ijwx18nhnpr8jl3f01jc5v66hr2k8";
   };
 
-  buildInputs = [ coq ] ++ (with ocamlPackages; [ ocaml findlib menhir zarith ]);
+  buildInputs = [ coq ocaml findlib menhir zarith ];
 
   preConfigure = ''
     substituteInPlace ./configure --replace '{toolprefix}gcc' '{toolprefix}cc'
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
new file mode 100644
index 000000000000..6bef2d7b548a
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -0,0 +1,66 @@
+{ lib, buildGoPackage, fetchFromGitLab, fetchurl, go-bindata }:
+
+let
+  version = "1.6.0";
+  # Gitlab runner embeds some docker images these are prebuilt for arm and x86_64
+  docker_x86_64 = fetchurl {
+    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-x86_64.tar.xz";
+    sha256 = "1ygc2ipprd5pr8b7y511id1af91zw15f8j28v3rx4vjapmbzpk8d";
+  };
+
+  docker_arm = fetchurl {
+    url = "https://gitlab-ci-multi-runner-downloads.s3.amazonaws.com/v${version}/docker/prebuilt-arm.tar.xz";
+    sha256 = "0aw6cfh92f7fywzry0yswa635hpmzh6fqcav0ljc5vqs26wdmjc1";
+  };
+in
+buildGoPackage rec {
+  inherit version;
+  name = "gitlab-runner-${version}";
+  goPackagePath = "gitlab.com/gitlab-org/gitlab-ci-multi-runner";
+  commonPackagePath = "${goPackagePath}/common";
+  buildFlagsArray = ''
+    -ldflags=
+      -X ${commonPackagePath}.NAME=gitlab-runner
+      -X ${commonPackagePath}.VERSION=${version}
+      -X ${commonPackagePath}.REVISION=v${version}
+  '';
+
+  src = fetchFromGitLab {
+    owner = "gitlab-org";
+    repo = "gitlab-ci-multi-runner";
+    rev = "v${version}";
+    sha256 = "10w222k4klxqyzk08c0j7nmhdbdnn70p6n1hfqy6h5mczlffqv61";
+  };
+
+  buildInputs = [ go-bindata ];
+
+  preBuild = ''
+    (
+    # go-bindata names the assets after the filename thus we create a symlink with the name we want
+    cd go/src/${goPackagePath}
+    ln -sf ${docker_x86_64} prebuilt-x86_64.tar.xz
+    ln -sf ${docker_arm} prebuilt-arm.tar.xz
+    go-bindata \
+        -pkg docker \
+        -nocompress \
+        -nomemcopy \
+        -o executors/docker/bindata.go \
+        prebuilt-x86_64.tar.xz \
+        prebuilt-arm.tar.xz
+    )
+  '';
+
+  postInstall = ''
+    install -d $out/bin
+    # The recommended name is gitlab-runner so we create a symlink with that name
+    ln -sf gitlab-ci-multi-runner $bin/bin/gitlab-runner
+  '';
+
+  meta = with lib; {
+    description = "GitLab Runner the continous integration executor of GitLab";
+    license = licenses.mit;
+    homepage = "https://about.gitlab.com/gitlab-ci/";
+    platforms = platforms.unix;
+    maintainers = [ lib.maintainers.bachp ];
+  };
+}
diff --git a/pkgs/development/tools/go2nix/default.nix b/pkgs/development/tools/go2nix/default.nix
index f12497eb78c6..5a77ec7eaa6a 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.1.0";
+  version = "1.1.1";
   rev = "v${version}";
 
   goPackagePath = "github.com/kamilchm/go2nix";
@@ -12,7 +12,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "kamilchm";
     repo = "go2nix";
-    sha256 = "0asbbcyf1hh8khakych0y09rjarjiywr8pyy1v8ghpr1vvg43a09";
+    sha256 = "1idxgn9yf8shw4mq4d7rhf8fvb2s1lli4r4ck0h8ddf1s9q8p63s";
   };
 
   goDeps = ./deps.nix;
@@ -27,4 +27,11 @@ buildGoPackage rec {
   '';
 
   allowGoReference = true;
+
+  meta = with stdenv.lib; {
+    description = "Go apps packaging for Nix";
+    homepage = https://github.com/kamilchm/go2nix;
+    license = licenses.mit;
+    maintainers = with maintainers; [ kamilchm ];
+  };
 }
diff --git a/pkgs/development/tools/grabserial/default.nix b/pkgs/development/tools/grabserial/default.nix
index 34a45fa0b846..1020ed864dfb 100644
--- a/pkgs/development/tools/grabserial/default.nix
+++ b/pkgs/development/tools/grabserial/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, buildPythonApplication, pythonPackages }:
+{ stdenv, fetchgit, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
 
   name = "grabserial-20141120";
   namePrefix = "";
diff --git a/pkgs/development/tools/haskell/tinc/default.nix b/pkgs/development/tools/haskell/tinc/default.nix
index e8bd45dd4ae4..81a3a20381ef 100644
--- a/pkgs/development/tools/haskell/tinc/default.nix
+++ b/pkgs/development/tools/haskell/tinc/default.nix
@@ -7,12 +7,12 @@
 }:
 mkDerivation {
   pname = "tinc";
-  version = "20160511";
+  version = "20160924";
   src = fetchFromGitHub {
     owner = "sol";
     repo = "tinc";
-    rev = "405af997c182b89edfc9656612c32616e98c7862";
-    sha256 = "0zryw3abp64922dnk6jss58lq4k7ijwbbn35zh5vbg3ns8307k6b";
+    rev = "f5ba99264930a2af2f24770a23af2613acdac631";
+    sha256 = "19mvswpjak9dxpd4w86fz1wv0zkn6ippc37gdkhyg4xcj9jn21a9";
   };
   isLibrary = false;
   isExecutable = true;
diff --git a/pkgs/development/tools/jq/default.nix b/pkgs/development/tools/jq/default.nix
index c509af871247..d79aa0980003 100644
--- a/pkgs/development/tools/jq/default.nix
+++ b/pkgs/development/tools/jq/default.nix
@@ -1,33 +1,42 @@
-{stdenv, fetchurl, oniguruma}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="jq";
-    version="1.5";
-    name="${baseName}-${version}";
-    url="https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz";
+{ stdenv, lib, fetchurl, fetchpatch, oniguruma }:
+
+stdenv.mkDerivation rec {
+  name = "jq-${version}";
+  version="1.5";
+
+  src = fetchurl {
+    url="https://github.com/stedolan/jq/releases/download/jq-${version}/jq-${version}.tar.gz";
     sha256="0g29kyz4ykasdcrb0zmbrp2jqs9kv1wz9swx849i2d1ncknbzln4";
   };
-  buildInputs = [
-    oniguruma
+
+  buildInputs = [ oniguruma ];
+
+  patches = [
+    (fetchpatch {
+      name = "CVE-2015-8863.patch";
+      url = https://github.com/stedolan/jq/commit/8eb1367ca44e772963e704a700ef72ae2e12babd.diff;
+      sha256 = "18bjanzvklfzlzzd690y88725l7iwl4f6wnr429na5pfmircbpvh";
+    })
+    (fetchpatch {
+      name = "CVE-2016-4074.patch";
+      url = https://patch-diff.githubusercontent.com/raw/stedolan/jq/pull/1214.diff;
+      sha256 = "1w8bapnyp56di6p9casbfczfn8258rw0z16grydavdjddfm280l9";
+    })
   ];
-in
-stdenv.mkDerivation {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
+  patchFlags = [ "-p2" ]; # `src` subdir was introduced after v1.5 was released
 
   # jq is linked to libjq:
   configureFlags = [
     "LDFLAGS=-Wl,-rpath,\\\${libdir}"
   ];
+
   meta = {
-    inherit (s) version;
     description = ''A lightweight and flexible command-line JSON processor'';
-    license = stdenv.lib.licenses.mit ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ raskin ];
+    platforms = with lib.platforms; linux ++ darwin;
+    downloadPage = "http://stedolan.github.io/jq/download/";
+    updateWalker = true;
+    inherit version;
   };
 }
diff --git a/pkgs/development/tools/jq/default.upstream b/pkgs/development/tools/jq/default.upstream
deleted file mode 100644
index 1ad914d717e0..000000000000
--- a/pkgs/development/tools/jq/default.upstream
+++ /dev/null
@@ -1 +0,0 @@
-url http://stedolan.github.io/jq/download/
diff --git a/pkgs/development/tools/misc/autoconf-archive/default.nix b/pkgs/development/tools/misc/autoconf-archive/default.nix
index fc97113bc471..80e8fe59c051 100644
--- a/pkgs/development/tools/misc/autoconf-archive/default.nix
+++ b/pkgs/development/tools/misc/autoconf-archive/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "autoconf-archive-${version}";
-  version = "2016.03.20";
+  version = "2016.09.16";
 
   src = fetchurl {
     url = "mirror://gnu/autoconf-archive/autoconf-archive-${version}.tar.xz";
-    sha256 = "0dz4fnc723jqn3by22ds5fys7g31apzm1r9allldvva0yvzjxyw8";
+    sha256 = "10mxz9hfnfz66m1l9s28sbyfb9a04akz92wkyv9blhpq6p9fzwp8";
   };
 
   buildInputs = [ xz ];
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index 783607860dec..2ada782563e5 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -1,28 +1,27 @@
 { stdenv, pkgconfig, fetchurl, itstool, intltool, libxml2, glib, gtk3
-, pep8, python, makeWrapper, gnome3, pygobject3, libwnck3 }:
+, pythonPackages, makeWrapper, gnome3, libwnck3 }:
 
 let
   version = "${major}.11";
   major = "0.3";
-in
-
-stdenv.mkDerivation rec {
+in pythonPackages.mkPythonDerivation rec {
   name = "d-feet-${version}";
+  namePrefix = "";
 
   src = fetchurl {
     url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
     sha256 = "a3dc940c66f84b996c328531e3034d475ec690d7ff639445ff7ca746aa8cb9c2";
   };
 
-  buildInputs = [
-    pkgconfig libxml2 itstool intltool glib gtk3 pep8 python
-    gnome3.defaultIconTheme makeWrapper pygobject3 libwnck3
+  buildInputs = [ pkgconfig libxml2 itstool intltool glib gtk3
+    gnome3.defaultIconTheme makeWrapper libwnck3
   ];
 
+  propagatedBuildInputs = with pythonPackages; [ pygobject3 pep8 ];
+
   preFixup =
     ''
       wrapProgram $out/bin/d-feet \
-        --prefix PYTHONPATH : "$(toPythonPath $out):$(toPythonPath ${pygobject3})" \
         --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \
         --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$out/share"
     '';
diff --git a/pkgs/development/tools/misc/kibana/default.nix b/pkgs/development/tools/misc/kibana/default.nix
index 3aeacd457dd0..d851741405ff 100644
--- a/pkgs/development/tools/misc/kibana/default.nix
+++ b/pkgs/development/tools/misc/kibana/default.nix
@@ -1,14 +1,23 @@
 { stdenv, makeWrapper, fetchurl, nodejs, coreutils, which }:
 
 with stdenv.lib;
-
-stdenv.mkDerivation rec {
+let
+  inherit (builtins) elemAt;
+  info = splitString "-" stdenv.system;
+  arch = elemAt info 0;
+  plat = elemAt info 1;
+  shas = {
+    "x86_64-linux"  = "1md3y3a8rxvf37lnfc56kbirv2rjl68pa5672yxhfmjngrr20rcw";
+    "i686-linux"    = "0d77a2v14pg5vr711hzbva8jjy0sxw9w889f2r1vhwngrhcfz4pf";
+    "x86_64-darwin" = "1cajljx13h8bncmayzvlzsynwambz61cspjnsn2h19zghn2vj2c9";
+  };
+in stdenv.mkDerivation rec {
   name = "kibana-${version}";
-  version = "4.5.2";
+  version = "4.6.0";
 
   src = fetchurl {
-    url = "http://download.elastic.co/kibana/kibana-snapshot/${name}-snapshot-linux-x86.tar.gz";
-    sha256 = "1na8xh525znxaqjhxfvpx0q3rj85cjb6l9zlzd44dl31a9l117y4";
+    url = "https://download.elastic.co/kibana/kibana/${name}-${plat}-${arch}.tar.gz";
+    sha256 = shas."${stdenv.system}";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 017b5fdc08d1..e1741118fb0f 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -1,16 +1,16 @@
-{stdenv, fetchurl, lua, curl, makeWrapper, which}:
+{stdenv, fetchurl, lua, curl, makeWrapper, which, unzip}:
 let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.3.0";
+    version="2.4.0";
     name="${baseName}-${version}";
-    hash="15zdchj3wkjdbypj68kwqswxhkhrfnw72nlks6df4lk0nvp8zqv8";
-    url="http://luarocks.org/releases/luarocks-2.3.0-rc2.tar.gz";
-    sha256="15zdchj3wkjdbypj68kwqswxhkhrfnw72nlks6df4lk0nvp8zqv8";
+    hash="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
+    url="http://luarocks.org/releases/luarocks-2.4.0.tar.gz";
+    sha256="1hwpjj4nvy8m7hfmhf52vbhmlh7r3wfjjcc589yj8dnh528iqf24";
   };
   buildInputs = [
-    lua curl makeWrapper which
+    lua curl makeWrapper which unzip
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/development/tools/misc/trv/default.nix b/pkgs/development/tools/misc/trv/default.nix
index 606cc5146470..c14a41cc5599 100644
--- a/pkgs/development/tools/misc/trv/default.nix
+++ b/pkgs/development/tools/misc/trv/default.nix
@@ -1,5 +1,6 @@
-{stdenv, fetchFromGitHub, ocaml, findlib, camlp4, core, async, async_unix, re2,
-  async_extra, sexplib, async_shell, core_extended, async_find, cohttp, uri, tzdata}:
+{stdenv, fetchFromGitHub, ocaml, findlib, camlp4, core_p4, async_p4, async_unix_p4
+, re2_p4, async_extra_p4, sexplib_p4, async_shell, core_extended_p4, async_find
+, cohttp, uri, tzdata}:
 
 let
   ocaml_version = (builtins.parseDrvName ocaml.name).version;
@@ -20,9 +21,9 @@ stdenv.mkDerivation {
 
 
   buildInputs = [ ocaml findlib camlp4 ];
-  propagatedBuildInputs = [ core async async_unix
-                            async_extra sexplib async_shell core_extended
-                            async_find cohttp uri re2 ];
+  propagatedBuildInputs = [ core_p4 async_p4 async_unix_p4
+                            async_extra_p4 sexplib_p4 async_shell core_extended_p4
+                            async_find cohttp uri re2_p4 ];
 
   createFindlibDestdir = true;
   dontStrip = true;
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index b511b7d1948b..75d371b4ec8d 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages, buildPythonApplication, makeWrapper
+{ stdenv, fetchgit, cmake, python, llvmPackages, boost, pythonPackages
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python;
+in pythonPackages.mkPythonDerivation rec {
   name = "ycmd-2016-01-12";
+  namePrefix = "";
 
   src = fetchgit {
     url = "git://github.com/Valloric/ycmd.git";
@@ -10,13 +13,13 @@ stdenv.mkDerivation rec {
     sha256 = "1g0hivv3wla7z5dgnkcn3ny38p089pjfj36nx6k29zmprgmjinyr";
   };
 
-  buildInputs = [ python cmake boost makeWrapper ];
+  buildInputs = [ cmake boost ];
 
   propagatedBuildInputs = with pythonPackages; [ waitress frozendict bottle ];
 
   buildPhase = ''
     export EXTRA_CMAKE_ARGS=-DPATH_TO_LLVM_ROOT=${llvmPackages.clang-unwrapped}
-    python build.py --clang-completer --system-boost
+    ${python.interpreter} build.py --clang-completer --system-boost
   '';
 
   configurePhase = ":";
@@ -24,8 +27,6 @@ stdenv.mkDerivation rec {
   installPhase = with pythonPackages; ''
     mkdir -p $out/lib/ycmd/third_party $out/bin
     cp -r ycmd/ CORE_VERSION libclang.so.* ycm_client_support.so ycm_core.so $out/lib/ycmd/
-    wrapProgram $out/lib/ycmd/ycmd/__main__.py \
-      --prefix PYTHONPATH : "$(toPythonPath ${waitress}):$(toPythonPath ${frozendict}):$(toPythonPath ${bottle})"
     ln -s $out/lib/ycmd/ycmd/__main__.py $out/bin/ycmd
   '';
 
diff --git a/pkgs/development/tools/ocaml/oasis/0.4.6.nix b/pkgs/development/tools/ocaml/oasis/0.4.6.nix
new file mode 100644
index 000000000000..6dcf05222320
--- /dev/null
+++ b/pkgs/development/tools/ocaml/oasis/0.4.6.nix
@@ -0,0 +1,34 @@
+{stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4,
+ ocamlmod, ocamlify, ounit, expect}:
+
+stdenv.mkDerivation {
+  name = "ocaml-oasis-0.4.6";
+
+  src = fetchurl {
+    url = http://forge.ocamlcore.org/frs/download.php/1604/oasis-0.4.6.tar.gz;
+    sha256 = "1yxv3ckkf87nz0cyll0yy1kd295j5pv3jqwkfrr1y65wkz5vw90k";
+  };
+
+  createFindlibDestdir = true;
+
+  buildInputs =
+    [
+      ocaml findlib type_conv ocamlmod ocamlify ounit camlp4
+    ];
+
+  propagatedBuildInputs = [ ocaml_data_notation ];
+
+  configurePhase = "ocaml setup.ml -configure --prefix $out";
+  buildPhase     = "ocaml setup.ml -build";
+  installPhase   = "ocaml setup.ml -install";
+
+  meta = with stdenv.lib; {
+    homepage = http://oasis.forge.ocamlcore.org/;
+    description = "Configure, build and install system for OCaml projects";
+    license = licenses.lgpl21;
+    platforms = ocaml.meta.platforms or [];
+    maintainers = with maintainers; [
+      vbgl z77z
+    ];
+  };
+}
diff --git a/pkgs/development/tools/ocaml/oasis/default.nix b/pkgs/development/tools/ocaml/oasis/default.nix
index 6dcf05222320..eb6cd35b2561 100644
--- a/pkgs/development/tools/ocaml/oasis/default.nix
+++ b/pkgs/development/tools/ocaml/oasis/default.nix
@@ -1,12 +1,15 @@
 {stdenv, fetchurl, ocaml, findlib, ocaml_data_notation, type_conv, camlp4,
  ocamlmod, ocamlify, ounit, expect}:
 
-stdenv.mkDerivation {
-  name = "ocaml-oasis-0.4.6";
+stdenv.mkDerivation rec {
+  version = "0.4.7";
+  name = "ocaml-oasis-${version}";
 
+  # You must manually update the url, not just the version. OCamlforge keys off
+  # the number after download.php, not the filename.
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1604/oasis-0.4.6.tar.gz;
-    sha256 = "1yxv3ckkf87nz0cyll0yy1kd295j5pv3jqwkfrr1y65wkz5vw90k";
+    url = "http://forge.ocamlcore.org/frs/download.php/1635/oasis-${version}.tar.gz";
+    sha256 = "13crvqiy0hhlnm4qfyxq2jjvs11ldxf15c4g9q91k1x3wj04pg2l";
   };
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/tools/ocaml/ocaml-top/default.nix b/pkgs/development/tools/ocaml/ocaml-top/default.nix
index 9bea3e9dc17d..5f3a2b884b16 100644
--- a/pkgs/development/tools/ocaml/ocaml-top/default.nix
+++ b/pkgs/development/tools/ocaml/ocaml-top/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchzip, ncurses, ocamlPackages, opam }:
+{ stdenv, fetchzip, ncurses
+, ocaml, ocpBuild, findlib, lablgtk, ocp-index
+, opam }:
 
 stdenv.mkDerivation {
   name = "ocaml-top-1.1.2";
@@ -7,8 +9,7 @@ stdenv.mkDerivation {
     sha256 = "10wfz8d6c1lbh31kayvlb5fj7qmgh5c6xhs3q595dnf9skrf091j";
   };
 
-  buildInputs = [ ncurses opam ]
-    ++ (with ocamlPackages; [ ocaml ocpBuild findlib lablgtk ocp-index ]);
+  buildInputs = [ ncurses opam ocaml ocpBuild findlib lablgtk ocp-index ];
 
   configurePhase = ''
     export TERM=xterm
@@ -25,7 +26,7 @@ stdenv.mkDerivation {
     homepage = http://www.typerex.org/ocaml-top.html;
     license = stdenv.lib.licenses.gpl3;
     description = "A simple cross-platform OCaml code editor built for top-level evaluation";
-    platforms = ocamlPackages.ocaml.meta.platforms or [];
+    platforms = ocaml.meta.platforms or [];
     maintainers = with stdenv.lib.maintainers; [ vbgl ];
   };
 }
diff --git a/pkgs/development/tools/ocaml/ocamlmod/default.nix b/pkgs/development/tools/ocaml/ocamlmod/default.nix
index 7ff73ff28dc2..19ac4701252e 100644
--- a/pkgs/development/tools/ocaml/ocamlmod/default.nix
+++ b/pkgs/development/tools/ocaml/ocamlmod/default.nix
@@ -1,11 +1,12 @@
 {stdenv, fetchurl, ocaml, findlib}:
 
-stdenv.mkDerivation {
-  name = "ocamlmod-0.0.7";
+stdenv.mkDerivation rec {
+  name = "ocamlmod-${version}";
+  version = "0.0.8";
 
   src = fetchurl {
-    url = http://forge.ocamlcore.org/frs/download.php/1350/ocamlmod-0.0.7.tar.gz;
-    sha256 = "11kg7wh0gy492ma5c6bcjh6frv1a9lh9f26hiys2i0d1ky8s0ad3";
+    url = "http://forge.ocamlcore.org/frs/download.php/1544/${name}.tar.gz";
+    sha256 = "1w0w8lfyymvk300dv13gvhrddpcyknvyp4g2yvq2vaw7khkhjs9g";
   };
 
   buildInputs = [ocaml findlib];
diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix
index 8be574a8a4c6..451d025aa3c0 100644
--- a/pkgs/development/tools/ocaml/omake/default.nix
+++ b/pkgs/development/tools/ocaml/omake/default.nix
@@ -33,5 +33,6 @@ stdenv.mkDerivation {
     description = "A build system designed for scalability and portability";
     homepage = "${webpage}";
     license = "GPL";
+    broken = true;
   };
 }
diff --git a/pkgs/development/tools/ocaml/opam/1.0.0.nix b/pkgs/development/tools/ocaml/opam/1.0.0.nix
index 52c710a86b82..d66b3880de21 100644
--- a/pkgs/development/tools/ocaml/opam/1.0.0.nix
+++ b/pkgs/development/tools/ocaml/opam/1.0.0.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+{ stdenv, lib, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
 
-assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+assert lib.versionAtLeast ocaml.version "3.12.1";
 
 let
   srcs = {
diff --git a/pkgs/development/tools/ocaml/opam/1.1.nix b/pkgs/development/tools/ocaml/opam/1.1.nix
index 2c71f8ba49f5..a8a9463bb3d4 100644
--- a/pkgs/development/tools/ocaml/opam/1.1.nix
+++ b/pkgs/development/tools/ocaml/opam/1.1.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
+{ stdenv, lib, fetchgit, fetchurl, ocaml, unzip, ncurses, curl }:
 
 # Opam 1.1 only works with ocaml >= 3.12.1 according to ./configure
-assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+assert lib.versionAtLeast ocaml.version "3.12.1";
 
 let
   srcs = {
diff --git a/pkgs/development/tools/ocaml/opam/default.nix b/pkgs/development/tools/ocaml/opam/default.nix
index afa480296f6f..28d4724a1627 100644
--- a/pkgs/development/tools/ocaml/opam/default.nix
+++ b/pkgs/development/tools/ocaml/opam/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchgit, fetchurl, makeWrapper,
+{ stdenv, lib, fetchgit, fetchurl, makeWrapper,
   ocaml, unzip, ncurses, curl,
   aspcudSupport ? !stdenv.isDarwin, aspcud
 }:
 
-assert stdenv.lib.versionAtLeast (stdenv.lib.getVersion ocaml) "3.12.1";
+assert lib.versionAtLeast ocaml.version "3.12.1";
 
 let
   srcs = {
diff --git a/pkgs/development/tools/pypi2nix/default.nix b/pkgs/development/tools/pypi2nix/default.nix
index 01fe4b73d6ca..229d680f8351 100644
--- a/pkgs/development/tools/pypi2nix/default.nix
+++ b/pkgs/development/tools/pypi2nix/default.nix
@@ -2,19 +2,31 @@
 }:
 
 let
-  deps = import ./deps.nix { inherit fetchurl; };
-  version = "1.4.0";
+
+  version = "1.5.0";
+
   src = fetchurl {
     url = "https://github.com/garbas/pypi2nix/archive/v${version}.tar.gz";
-    sha256 = "0w5f10p4d4ppwg2plbbrmqwmi1ycgpaidyajza11c9svka014zrb";
+    sha256 = "0s79pp7gkgyk7discnv94m6z81fd67p66rdbd4cwk1ma0qljlh2k";
+  };
+
+  click = fetchurl {
+    url = "https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-6.6.tar.gz";
+    sha256 = "1sggipyz52crrybwbr9xvwxd4aqigvplf53k9w3ygxmzivd1jsnc";
   };
+
+  requests = fetchurl {
+    url = "https://pypi.python.org/packages/2e/ad/e627446492cc374c284e82381215dcd9a0a87c4f6e90e9789afefe6da0ad/requests-2.11.1.tar.gz";
+    sha256 = "0cx1w7m4cpslxz9jljxv0l9892ygrrckkiwpp2hangr8b01rikss";
+  };
+
 in stdenv.mkDerivation rec {
   name = "pypi2nix-${version}";
-  srcs = with deps; [
+  srcs = [
     src
     click
     requests
-  ];  # six attrs effect ];
+  ];
   buildInputs = [ python zip makeWrapper ];
   sourceRoot = ".";
 
@@ -22,9 +34,6 @@ in stdenv.mkDerivation rec {
     mkdir -p $out/pkgs
 
     mv click-*/click                    $out/pkgs/click
-    # mv six-*/six.py                    $out/pkgs/
-    # mv attrs-*/src/attr                $out/pkgs/attrs
-    # mv effect-*/effect                 $out/pkgs/effect
     mv requests-*/requests              $out/pkgs/
 
     if [ "$IN_NIX_SHELL" != "1" ]; then
diff --git a/pkgs/development/tools/pypi2nix/deps.nix b/pkgs/development/tools/pypi2nix/deps.nix
deleted file mode 100644
index e67cb51c67c7..000000000000
--- a/pkgs/development/tools/pypi2nix/deps.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-{ fetchurl
-}:
-
-rec {
-
-  pipVersion = "8.1.2";
-  pipHash = "87083c0b9867963b29f7aba3613e8f4a";
-  pipWhlHash = "0570520434c5b600d89ec95393b2650b";
-
-  setuptoolsVersion = "23.0.0";
-  setuptoolsHash = "100a90664040f8ff232fbac02a4c5652";
-  setuptoolsWhlHash = "a066fd7bfb8faaad763acbdbcb290199";
-
-  zcbuildoutVersion = "2.5.2";
-  zcbuildoutHash = "06a21fb02528c07aa0db31de0389a244";
-
-  zcrecipeeggVersion = "2.0.3";
-  zcrecipeeggHash = "69a8ce276029390a36008150444aa0b4";
-
-  buildoutrequirementsVersion = "0.2.2";
-  buildoutrequirementsHash = "0b4e53d871b167eaac0846942221af00";
-
-  wheelVersion = "0.29.0";
-  wheelHash = "555a67e4507cedee23a0deb9651e452f";
-
-  clickVersion = "6.6";
-  clickHash = "d0b09582123605220ad6977175f3e51d";
-
-  sixVersion = "1.10.0";
-  sixHash = "34eed507548117b2ab523ab14b2f8b55";
-
-  attrsVersion = "16.0.0";
-  attrsHash = "5bcdd418f6e83e580434c63067c08a73";
-
-  effectVersion = "0.10.1";
-  effectHash = "6a6fd28fb44179ce01a148d4e8bdbede";
-
-  requestsVersion = "2.10.0";
-  requestsHash = "a36f7a64600f1bfec4d55ae021d232ae";
-
-
-  # --- wheels used to bootstrap python environment ---------------------------
-
-  pipWhl = fetchurl {
-    url = "https://pypi.python.org/packages/9c/32/004ce0852e0a127f07f358b715015763273799bd798956fa930814b60f39/pip-${pipVersion}-py2.py3-none-any.whl";
-    md5 = pipWhlHash;
-  };
-
-  setuptoolsWhl = fetchurl {
-    url = "https://pypi.python.org/packages/74/7c/c75c4f4032a4627406db06b742cdc7ba24c4833cd423ea7e22882380abde/setuptools-${setuptoolsVersion}-py2.py3-none-any.whl";
-    md5 = setuptoolsWhlHash;
-  };
-
-
-  # --- python packages needed ------------------------------------------------
-
-  pip = fetchurl {
-    url = "https://pypi.python.org/packages/e7/a8/7556133689add8d1a54c0b14aeff0acb03c64707ce100ecd53934da1aa13/pip-${pipVersion}.tar.gz";
-    md5 = pipHash;
-  };
-
-  setuptools = fetchurl {
-    url = "https://pypi.python.org/packages/45/5e/79ca67a0d6f2f42bfdd9e467ef97398d6ad87ee2fa9c8cdf7caf3ddcab1e/setuptools-${setuptoolsVersion}.tar.gz";
-    md5 = setuptoolsHash;
-  };
-
-  zcbuildout = fetchurl {
-    url = "https://pypi.python.org/packages/ec/a1/60214738d5dcb199ad97034ecf349d18f3ab69659df827a5e182585bfe48/zc.buildout-${zcbuildoutVersion}.tar.gz";
-    md5 = zcbuildoutHash;
-  };
-
-  zcrecipeegg = fetchurl {
-    url = "https://pypi.python.org/packages/08/5e/ade683d229d77ed457017145672f1be4fd98be60f1a5344109a4e66a7d54/zc.recipe.egg-${zcrecipeeggVersion}.tar.gz";
-    md5 = zcrecipeeggHash;
-  };
-
-  buildoutrequirements = fetchurl {
-    url = "https://github.com/garbas/buildout.requirements/archive/1e2977e2d254184399401746736d2b17c912b350.tar.gz";
-    md5 = buildoutrequirementsHash;
-  };
-
-  wheel = fetchurl {
-    url = "https://pypi.python.org/packages/c9/1d/bd19e691fd4cfe908c76c429fe6e4436c9e83583c4414b54f6c85471954a/wheel-${wheelVersion}.tar.gz";
-    md5 = wheelHash;
-  };
-
-  click = fetchurl {
-    url = "https://pypi.python.org/packages/7a/00/c14926d8232b36b08218067bcd5853caefb4737cda3f0a47437151344792/click-${clickVersion}.tar.gz";
-    md5 = clickHash;
-  };
-
-  # six = fetchurl {
-  #   url = "https://pypi.python.org/packages/b3/b2/238e2590826bfdd113244a40d9d3eb26918bd798fc187e2360a8367068db/six-${sixVersion}.tar.gz";
-  #   md5 = sixHash;
-  # };
-
-  # attrs = fetchurl {
-  #   url = "https://pypi.python.org/packages/89/15/80d388d696c8c8ba14874635207aa698eb30ef1242dbb54d9eccf0e927ff/attrs-${attrsVersion}.tar.gz";
-  #   md5 = attrsHash;
-  # };
-
-  # effect = fetchurl {
-  #   url = "https://pypi.python.org/packages/09/19/bd92fe0ba6080323caffd450db65ac7a5bb2d71d9b61fe6a2751a9c3292c/effect-${effectVersion}.tar.gz";
-  #   md5 = effectHash;
-  # };
-
-  requests = fetchurl {
-    url = "https://pypi.python.org/packages/49/6f/183063f01aae1e025cf0130772b55848750a2f3a89bfa11b385b35d7329d/requests-${requestsVersion}.tar.gz";
-    md5 = requestsHash;
-  };
-
-}
diff --git a/pkgs/development/tools/slimerjs/default.nix b/pkgs/development/tools/slimerjs/default.nix
index 1228484fc65e..ff06e5d4159a 100644
--- a/pkgs/development/tools/slimerjs/default.nix
+++ b/pkgs/development/tools/slimerjs/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="slimerjs";
-    version="0.10.0";
+    version="0.10.1";
     name="${baseName}-${version}";
-    hash="1yqs4f90bp8vxa7n8y1a3hi9hd7374hq9qa44xgfb4l5kn6h1f40";
-    url="http://download.slimerjs.org/releases/0.10.0/slimerjs-0.10.0.zip";
-    sha256="1yqs4f90bp8vxa7n8y1a3hi9hd7374hq9qa44xgfb4l5kn6h1f40";
+    hash="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
+    url="http://download.slimerjs.org/releases/0.10.1/slimerjs-0.10.1.zip";
+    sha256="14xfhn9v3mn4m7hfa36750vp7qgmnc5yfrdkjymzm8g9fz39ddx2";
   };
   buildInputs = [
     unzip zip
@@ -34,7 +34,7 @@ stdenv.mkDerivation {
     echo 'export SLIMERJSLAUNCHER=${firefox}/bin/firefox' >>  "$out/bin/slimerjs"
     echo "'$out/lib/slimerjs/slimerjs' \"\$@\"" >> "$out/bin/slimerjs"
     chmod a+x "$out/bin/slimerjs"
-    sed -e 's@MaxVersion=[34][0-9][.]@MaxVersion=50.@' -i "$out/lib/slimerjs/application.ini"
+    sed -e 's@MaxVersion=[3456][0-9][.]@MaxVersion=99.@' -i "$out/lib/slimerjs/application.ini"
   '';
   meta = {
     inherit (s) version;
diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix
index 58a857c22148..e0c897499d2a 100644
--- a/pkgs/development/tools/winpdb/default.nix
+++ b/pkgs/development/tools/winpdb/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, wxPython, makeDesktopItem }:
+{ stdenv, fetchurl, pythonPackages, makeDesktopItem }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "winpdb-1.4.8";
   namePrefix = "";
 
@@ -9,7 +9,7 @@ buildPythonApplication rec {
     sha256 = "0vkpd24r40j928vc04c721innv0168sbllg97v4zw10adm24d8fs";
   };
 
-  propagatedBuildInputs = [ wxPython ];
+  propagatedBuildInputs = [ pythonPackages.wxPython ];
 
   desktopItem = makeDesktopItem {
     name = "winpdb";
diff --git a/pkgs/games/steam/runtime-wrapped.nix b/pkgs/games/steam/runtime-wrapped.nix
index 1f643c5194af..2cdbfb096e2c 100644
--- a/pkgs/games/steam/runtime-wrapped.nix
+++ b/pkgs/games/steam/runtime-wrapped.nix
@@ -22,6 +22,7 @@ let
     xlibs.libXcursor
     xlibs.libXrender
     xlibs.libXScrnSaver
+    xlibs.libXxf86vm
     xlibs.libXi
     xlibs.libSM
     xlibs.libICE
diff --git a/pkgs/misc/cups/drivers/mfcj470dw/default.nix b/pkgs/misc/cups/drivers/mfcj470dw/default.nix
deleted file mode 100644
index b8458ae0af32..000000000000
--- a/pkgs/misc/cups/drivers/mfcj470dw/default.nix
+++ /dev/null
@@ -1,61 +0,0 @@
-{ stdenv, fetchurl, cups, dpkg, ghostscript, patchelf, a2ps, coreutils, gnused, gawk, file }:
-
-stdenv.mkDerivation rec {
-  name = "mfcj470dw-cupswrapper-${version}";
-  version = "3.0.0-1";
-
-  srcs =
-    [ (fetchurl {
-        url = "http://download.brother.com/welcome/dlf006843/mfcj470dwlpr-${version}.i386.deb";
-        sha256 = "7202dd895d38d50bb767080f2995ed350eed99bc2b7871452c3c915c8eefc30a";
-      })
-      (fetchurl {
-        url = "http://download.brother.com/welcome/dlf006845/mfcj470dwcupswrapper-${version}.i386.deb";
-        sha256 = "92af9024e821159eccd78a8925fc77fb92b4f247f2d2c824ca303004077076a7";
-      })
-    ];
-
-    buildInputs = [ cups ghostscript dpkg a2ps ];
-
-  unpackPhase = "true";
-
-  installPhase = ''
-    for s in $srcs; do dpkg-deb -x $s $out; done
-
-    substituteInPlace $out/opt/brother/Printers/mfcj470dw/cupswrapper/cupswrappermfcj470dw \
-      --replace /opt "$out/opt" \
-      --replace /usr "$out/usr" \
-      --replace /etc "$out/etc"
-
-    substituteInPlace $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw \
-      --replace /opt "$out/opt" \
-      --replace file "${file}/bin/file" \
-      --replace sed "${gnused}/bin/sed" \
-      --replace mktemp "${coreutils}/bin/mktemp" \
-      --replace cat "${coreutils}/bin/cat" \
-      --replace rm "${coreutils}/bin/rm"
-
-    sed -i '/GHOST_SCRIPT=/c\GHOST_SCRIPT=gs' $out/opt/brother/Printers/mfcj470dw/lpd/psconvertij2
-    substituteInPlace $out/opt/brother/Printers/mfcj470dw/lpd/psconvertij2 \
-      --replace awk "${gawk}/bin/awk" \
-      --replace cat "${coreutils}/bin/cat" \
-      --replace mktemp "${coreutils}/bin/mktemp" \
-      --replace sed "${gnused}/bin/sed" \
-      --replace expr "${coreutils}/bin/expr" \
-      --replace rm "${coreutils}/bin/rm"
-
-    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilter
-    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/cupswrapper/brcupsconfpt1
-
-    mkdir -p $out/lib/cups/filter/
-    ln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw
-  '';
-
-  meta = {
-    homepage = http://www.brother.com/;
-    description = "A driver for brother mfcj470dw printers to print over WiFi and USB";
-    license = stdenv.lib.licenses.unfree;
-    platforms = stdenv.lib.platforms.linux;
-    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128;
-  };
-}
diff --git a/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
new file mode 100644
index 000000000000..5a828c265b55
--- /dev/null
+++ b/pkgs/misc/cups/drivers/mfcj470dwcupswrapper/default.nix
@@ -0,0 +1,56 @@
+{ stdenv, fetchurl, mfcj470dwlpr, makeWrapper}:
+
+stdenv.mkDerivation rec {
+  name = "mfcj470dw-cupswrapper-${version}";
+  version = "3.0.0-1";
+
+  src = fetchurl {
+    url = "http://download.brother.com/welcome/dlf006866/mfcj470dw_cupswrapper_GPL_source_${version}.tar.gz";
+    sha256 = "b88f9b592723a00c024129560367f40a560ca3cba06fd99512ab368dd6855853";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ mfcj470dwlpr ];
+
+  patchPhase = ''
+    WRAPPER=cupswrapper/cupswrappermfcj470dw
+
+    substituteInPlace $WRAPPER \
+    --replace /opt "${mfcj470dwlpr}/opt" \
+    --replace /usr "${mfcj470dwlpr}/usr" \
+    --replace /etc "$out/etc"
+
+    substituteInPlace $WRAPPER \
+    --replace "\`cp " "\`cp -p " \
+    --replace "\`mv " "\`cp -p "
+    '';
+
+  buildPhase = ''
+    cd brcupsconfpt1
+    make all
+    cd ..
+    '';
+
+  installPhase = ''
+    TARGETFOLDER=$out/opt/brother/Printers/mfcj470dw/cupswrapper/
+    mkdir -p $out/opt/brother/Printers/mfcj470dw/cupswrapper/
+
+    cp brcupsconfpt1/brcupsconfpt1 $TARGETFOLDER
+    cp cupswrapper/cupswrappermfcj470dw $TARGETFOLDER/
+    cp PPD/brother_mfcj470dw_printer_en.ppd $TARGETFOLDER/
+    '';
+
+  cleanPhase = ''
+    cd brcupsconfpt1
+    make clean
+    '';
+
+  meta = {
+    homepage = http://www.brother.com/;
+    description = "Brother MFC-J470DW CUPS wrapper driver";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128;
+    maintainers = [ stdenv.lib.maintainers.yochai ];
+  };
+}
diff --git a/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
new file mode 100644
index 000000000000..c80009bd8444
--- /dev/null
+++ b/pkgs/misc/cups/drivers/mfcj470dwlpr/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, cups, dpkg, ghostscript, patchelf, a2ps, coreutils, gnused, gawk, file, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "mfcj470dw-cupswrapper-${version}";
+  version = "3.0.0-1";
+
+  src = fetchurl {
+    url = "http://download.brother.com/welcome/dlf006843/mfcj470dwlpr-${version}.i386.deb";
+    sha256 = "7202dd895d38d50bb767080f2995ed350eed99bc2b7871452c3c915c8eefc30a";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ cups ghostscript dpkg a2ps ];
+
+  unpackPhase = "true";
+
+  installPhase = ''
+    dpkg-deb -x $src $out
+
+    substituteInPlace $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw \
+    --replace /opt "$out/opt" \
+
+    sed -i '/GHOST_SCRIPT=/c\GHOST_SCRIPT=gs' $out/opt/brother/Printers/mfcj470dw/lpd/psconvertij2
+
+    patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $out/opt/brother/Printers/mfcj470dw/lpd/brmfcj470dwfilter
+
+    mkdir -p $out/lib/cups/filter/
+    ln -s $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw $out/lib/cups/filter/brother_lpdwrapper_mfcj470dw
+
+    wrapProgram $out/opt/brother/Printers/mfcj470dw/lpd/psconvertij2 \
+    --prefix PATH ":" ${ stdenv.lib.makeBinPath [ gnused coreutils gawk ] }
+
+    wrapProgram $out/opt/brother/Printers/mfcj470dw/lpd/filtermfcj470dw \
+    --prefix PATH ":" ${ stdenv.lib.makeBinPath [ ghostscript a2ps file gnused coreutils ] }
+    '';
+
+  meta = {
+    homepage = http://www.brother.com/;
+    description = "Brother MFC-J470DW LPR driver";
+    license = stdenv.lib.licenses.unfree;
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=mfcj470dw_us_eu_as&os=128;
+    maintainers = [ stdenv.lib.maintainers.yochai ];
+  };
+}
diff --git a/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch b/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
index 78d278f186b5..fb546b6a25b7 100644
--- a/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
+++ b/pkgs/misc/drivers/epson-escpr/cups-filter-ppd-dirs.patch
@@ -1,5 +1,5 @@
 diff --git a/configure b/configure_new
-index 3d6f68c..c2b10ff 100755
+index 699bcb5..89a1832 100755
 --- a/configure
 +++ b/configure_new
 @@ -11585,55 +11585,8 @@ else
diff --git a/pkgs/misc/drivers/epson-escpr/default.nix b/pkgs/misc/drivers/epson-escpr/default.nix
index 2f126a9cfe49..3f86d4e725df 100644
--- a/pkgs/misc/drivers/epson-escpr/default.nix
+++ b/pkgs/misc/drivers/epson-escpr/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, cups }:
 
 let
-  version = "1.6.5";
+  version = "1.6.8";
 in
   stdenv.mkDerivation {
 
     name = "epson-escpr-${version}";
   
     src = fetchurl {
-      url = "https://download3.ebz.epson.net/dsc/f/03/00/04/54/27/b73564748bfde7b7ce625e20d4a3257d447bec79/epson-inkjet-printer-escpr-1.6.5-1lsb3.2.tar.gz"; 
-      sha256 = "1cd9e0506bf181e1476bd8305f1c6b8dbc4354eab9415d0d5529850856129e4c"; 
+      url = "https://download3.ebz.epson.net/dsc/f/03/00/05/10/61/125006df4ffc84861395c1158a02f1f73e6f1753/epson-inkjet-printer-escpr-1.6.8-1lsb3.2.tar.gz";
+      sha256 = "02v8ljzw6xhfkz1x8m50mblcckgfbpa89fc902wcmi2sy8fihgh4";
     }; 
 
     patches = [ ./cups-filter-ppd-dirs.patch ]; 
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/misc/emulators/cdemu/gui.nix
index 13ca367734c7..04930a5e5738 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/misc/emulators/cdemu/gui.nix
@@ -1,9 +1,11 @@
-{ callPackage, python, pygobject3, gtk3, glib, libnotify, intltool, makeWrapper, gobjectIntrospection, gnome3, gdk_pixbuf, librsvg }:
-let pkg = import ./base.nix {
-  version = "3.0.1";
-  pkgName = "gcdemu";
-  pkgSha256 = "1dlng1bvhns7f0ff5p89npsm2nznfqnaspr0alfh4fl0f11cvnfr";
-};
+{ callPackage, pythonPackages, gtk3, glib, libnotify, intltool, makeWrapper, gobjectIntrospection, gnome3, gdk_pixbuf, librsvg }:
+let
+  pkg = import ./base.nix {
+    version = "3.0.1";
+    pkgName = "gcdemu";
+    pkgSha256 = "1dlng1bvhns7f0ff5p89npsm2nznfqnaspr0alfh4fl0f11cvnfr";
+  };
+  inherit (pythonPackages) python pygobject3;
 in callPackage pkg {
   buildInputs = [ python pygobject3 gtk3 glib libnotify intltool makeWrapper
                   gnome3.defaultIconTheme gdk_pixbuf librsvg ];
diff --git a/pkgs/misc/solfege/default.nix b/pkgs/misc/solfege/default.nix
index db1c94d7a86c..8e9083d99229 100644
--- a/pkgs/misc/solfege/default.nix
+++ b/pkgs/misc/solfege/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, python, pygtk, gettext, texinfo
+{ stdenv, fetchurl, pkgconfig, pythonPackages, gettext, texinfo
 , ghostscript, pysqlite, librsvg, gdk_pixbuf, txt2man, timidity, mpg123
 , alsaUtils, vorbis-tools, csound, lilypond
 , makeWrapper
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) python pygtk;
+in stdenv.mkDerivation rec {
   name = "solfege-3.22.2";
 
   src = fetchurl {
diff --git a/pkgs/os-specific/linux/busybox/busybox-in-store.patch b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
index ea245a49259b..ab072efd930d 100644
--- a/pkgs/os-specific/linux/busybox/busybox-in-store.patch
+++ b/pkgs/os-specific/linux/busybox/busybox-in-store.patch
@@ -2,14 +2,13 @@ Allow BusyBox to be invoked as "<something>-busybox". This is
 necessary when it's run from the Nix store as <hash>-busybox during
 stdenv bootstrap.
 
-diff -ru -x '*~' busybox-1.22.1-orig/libbb/appletlib.c busybox-1.22.1/libbb/appletlib.c
---- busybox-1.22.1-orig/libbb/appletlib.c	2014-01-09 19:15:44.000000000 +0100
-+++ busybox-1.22.1/libbb/appletlib.c	2014-10-29 09:53:01.232052068 +0100
-@@ -764,7 +764,7 @@
+--- busybox-1.24.2-orig/libbb/appletlib.c	2016-03-17 21:35:49.000000000 +0100
++++ busybox-1.24.2/libbb/appletlib.c	2016-09-25 08:48:18.293104041 +0200
+@@ -779,7 +779,7 @@
  	int applet = find_applet_by_name(name);
  	if (applet >= 0)
  		run_applet_no_and_exit(applet, argv);
--	if (strncmp(name, "busybox", 7) == 0)
+-	if (is_prefixed_with(name, "busybox"))
 +	if (strstr(name, "busybox") != 0)
  		exit(busybox_main(argv));
  }
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index a33a0584a206..2563c4428223 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -26,11 +26,11 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "busybox-1.23.2";
+  name = "busybox-1.24.2";
 
   src = fetchurl {
     url = "http://busybox.net/downloads/${name}.tar.bz2";
-    sha256 = "16ii9sqracvh2r1gfzhmlypl269nnbkpvrwa7270k35d3bigk9h5";
+    sha256 = "0mf8f6ly8yi1fbr15jkyv6hxwh2x800x661rcd11rwsnqqzga7p7";
   };
 
   hardeningDisable = [ "format" ] ++ lib.optional enableStatic [ "fortify" ];
diff --git a/pkgs/os-specific/linux/iotop/default.nix b/pkgs/os-specific/linux/iotop/default.nix
index a83d4a2ad9fd..505468d849a6 100644
--- a/pkgs/os-specific/linux/iotop/default.nix
+++ b/pkgs/os-specific/linux/iotop/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "iotop-0.6";
-  namePrefix = "";
 
   src = fetchurl {
     url = "http://guichaz.free.fr/iotop/files/${name}.tar.bz2";
     sha256 = "0nzprs6zqax0cwq8h7hnszdl3d2m4c2d4vjfxfxbnjfs9sia5pis";
   };
 
-  pythonPath = [ pythonPackages.curses ];
+  propagatedBuildInputs = [ pythonPackages.curses ];
 
   doCheck = false;
 
diff --git a/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch b/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch
index ca91b8160008..e0c8278d488d 100644
--- a/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch
+++ b/pkgs/os-specific/linux/iproute/1000-ubuntu-poc-fan-driver.patch
@@ -57,7 +57,7 @@ Index: iproute2-4.1.1/ip/link_iptnl.c
 +
 +		if (addr)
 +			fprintf(f, "underlay %s ",
-+				format_host(AF_INET, 4, &addr, s1, sizeof(s1)));
++				format_host_r(AF_INET, 4, &addr, s1, sizeof(s1)));
 +	}
 +
  	if (tb[IFLA_IPTUN_LINK] && rta_getattr_u32(tb[IFLA_IPTUN_LINK])) {
diff --git a/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch b/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch
index a940b341ea0f..634daa0de29f 100644
--- a/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch
+++ b/pkgs/os-specific/linux/iproute/1001-ubuntu-poc-fan-driver-v3.patch
@@ -111,9 +111,9 @@ Index: iproute2-4.1.1/ip/link_iptnl.c
 +		p = RTA_PAYLOAD(i);
 +		m = RTA_DATA(i);
 +		fprintf(f, "%s/%d:%s/%d ",
-+			rt_addr_n2a(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
++			rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
 +			m->overlay_prefix,
-+			rt_addr_n2a(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
++			rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
 +			m->underlay_prefix);
 +	}
 +}
diff --git a/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch b/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch
index 2ddc2840bdd1..070023d0b923 100644
--- a/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch
+++ b/pkgs/os-specific/linux/iproute/1002-ubuntu-poc-fan-driver-vxlan.patch
@@ -6,9 +6,9 @@ Index: iproute2-4.3.0/include/linux/if_link.h
 --- iproute2-4.3.0.orig/include/linux/if_link.h
 +++ iproute2-4.3.0/include/linux/if_link.h
 @@ -392,6 +392,7 @@ enum {
- 	IFLA_VXLAN_GBP,
- 	IFLA_VXLAN_REMCSUM_NOPARTIAL,
  	IFLA_VXLAN_COLLECT_METADATA,
+ 	IFLA_VXLAN_LABEL,
+ 	IFLA_VXLAN_GPE,
 +	IFLA_VXLAN_FAN_MAP = 33,
  	__IFLA_VXLAN_MAX
  };
@@ -88,9 +88,9 @@ Index: iproute2-4.3.0/ip/iplink_vxlan.c
  			  struct nlmsghdr *n)
  {
 @@ -201,6 +243,10 @@ static int vxlan_parse_opt(struct link_u
- 			udp6zerocsumrx = 0;
- 		} else if (!matches(*argv, "gbp")) {
  			gbp = 1;
+ 		} else if (!matches(*argv, "gpe")) {
+ 			gpe = 1;
 +		} else if (!matches(*argv, "fan-map")) {
 +			NEXT_ARG();
 +			if (fan_parse_map(&argc, &argv, n))
@@ -117,9 +117,9 @@ Index: iproute2-4.3.0/ip/iplink_vxlan.c
 +		p = RTA_PAYLOAD(i);
 +		m = RTA_DATA(i);
 +		fprintf(f, "%s/%d:%s/%d ",
-+			rt_addr_n2a(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
++			rt_addr_n2a_r(AF_INET, p, &m->overlay, b1, INET_ADDRSTRLEN),
 +			m->overlay_prefix,
-+			rt_addr_n2a(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
++			rt_addr_n2a_r(AF_INET, p, &m->underlay, b2, INET_ADDRSTRLEN),
 +			m->underlay_prefix);
 +	}
 +}
diff --git a/pkgs/os-specific/linux/iproute/default.nix b/pkgs/os-specific/linux/iproute/default.nix
index 6813b5bcf1b4..6f6c0c66cc3b 100644
--- a/pkgs/os-specific/linux/iproute/default.nix
+++ b/pkgs/os-specific/linux/iproute/default.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "iproute2-4.5.0";
+  name = "iproute2-${version}";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/net/iproute2/${name}.tar.xz";
-    sha256 = "0jj9phsi8m2sbnz7bbh9cf9vckm67hs62ab5srdwnrg4acpjj59z";
+    sha256 = "14kvpdlxq8204f5ayfdfb6mc0423mbf3px9q0spdly9sng7xnq4g";
   };
 
   patches = lib.optionals enableFan [
@@ -28,6 +29,7 @@ stdenv.mkDerivation rec {
     "LIBDIR=$(out)/lib"
     "SBINDIR=$(out)/sbin"
     "MANDIR=$(out)/share/man"
+    "BASH_COMPDIR=$(out)/share/bash-completion/completions"
     "DOCDIR=$(TMPDIR)/share/doc/${name}" # Don't install docs
   ];
 
diff --git a/pkgs/os-specific/linux/jool/source.nix b/pkgs/os-specific/linux/jool/source.nix
index 60415c0d009a..48ba70e620e8 100644
--- a/pkgs/os-specific/linux/jool/source.nix
+++ b/pkgs/os-specific/linux/jool/source.nix
@@ -1,9 +1,9 @@
 { fetchzip }:
 
 rec {
-  version = "3.4.4";
+  version = "3.4.5";
   src = fetchzip {
     url = "https://github.com/NICMx/releases/raw/master/Jool/Jool-${version}.zip";
-    sha256 = "1k5iyfzjdzl5q64234r806pf6b3qdflvjpw06pnwl0ycj05p5frr";
+    sha256 = "045j3ax6c5jg8037hhrbgqgznr0a114xrmn03wkasnvsxpsx4hkb";
   };
 }
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index 107c87434de4..d7dab32e2971 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -512,9 +512,15 @@ with stdenv.lib;
   TRANSPARENT_HUGEPAGE_MADVISE? y
 
   # zram support (e.g for in-memory compressed swap).
-  ZSMALLOC y
   ZRAM m
   ZSWAP? y
+  ZBUD? y
+  ${optionalString (versionOlder version "3.18") ''
+    ZSMALLOC y
+  ''}
+  ${optionalString (versionAtLeast version "3.18") ''
+    ZSMALLOC m
+  ''}
 
   # Enable PCIe and USB for the brcmfmac driver
   BRCMFMAC_USB? y
diff --git a/pkgs/os-specific/linux/kernel/gcc5-link-apm.patch b/pkgs/os-specific/linux/kernel/gcc5-link-apm.patch
deleted file mode 100644
index e415c2d9f2b4..000000000000
--- a/pkgs/os-specific/linux/kernel/gcc5-link-apm.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 54c2f3fdb941204cad136024c7b854b7ad112ab6 Mon Sep 17 00:00:00 2001
-From: Andi Kleen <ak@linux.intel.com>
-Date: Mon, 5 Aug 2013 15:02:45 -0700
-Subject: x86, asmlinkage, apm: Make APM data structure used from assembler
- visible
-
-Signed-off-by: Andi Kleen <ak@linux.intel.com>
-Link: http://lkml.kernel.org/r/1375740170-7446-12-git-send-email-andi@firstfloor.org
-Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
----
- arch/x86/kernel/apm_32.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
-index 53a4e27..3ab0343 100644
---- a/arch/x86/kernel/apm_32.c
-+++ b/arch/x86/kernel/apm_32.c
-@@ -392,7 +392,7 @@ static struct cpuidle_device apm_cpuidle_device;
- /*
-  * Local variables
-  */
--static struct {
-+__visible struct {
- 	unsigned long	offset;
- 	unsigned short	segment;
- } apm_bios_entry;
--- 
-cgit v0.12
-
diff --git a/pkgs/os-specific/linux/kernel/gcc5-link-lguest.patch b/pkgs/os-specific/linux/kernel/gcc5-link-lguest.patch
deleted file mode 100644
index b2474f572ae1..000000000000
--- a/pkgs/os-specific/linux/kernel/gcc5-link-lguest.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From cdd77e87eae52b7251acc5990207a1c4500a84ce Mon Sep 17 00:00:00 2001
-From: Andi Kleen <ak@linux.intel.com>
-Date: Tue, 5 Nov 2013 21:22:28 +1030
-Subject: x86, asmlinkage, lguest: Pass in globals into assembler statement
-
-Tell the compiler that the inline assembler statement
-references lguest_entry.
-
-This fixes compile problems with LTO where the variable
-and the assembler code may end up in different files.
-
-Cc: x86@kernel.org
-Cc: rusty@rustcorp.com.au
-Signed-off-by: Andi Kleen <ak@linux.intel.com>
-Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
----
- drivers/lguest/x86/core.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/lguest/x86/core.c b/drivers/lguest/x86/core.c
-index 5169239..922a1ac 100644
---- a/drivers/lguest/x86/core.c
-+++ b/drivers/lguest/x86/core.c
-@@ -157,7 +157,7 @@ static void run_guest_once(struct lg_cpu *cpu, struct lguest_pages *pages)
- 	 * stack, then the address of this call.  This stack layout happens to
- 	 * exactly match the stack layout created by an interrupt...
- 	 */
--	asm volatile("pushf; lcall *lguest_entry"
-+	asm volatile("pushf; lcall *%4"
- 		     /*
- 		      * This is how we tell GCC that %eax ("a") and %ebx ("b")
- 		      * are changed by this routine.  The "=" means output.
-@@ -169,7 +169,9 @@ static void run_guest_once(struct lg_cpu *cpu, struct lguest_pages *pages)
- 		      * physical address of the Guest's top-level page
- 		      * directory.
- 		      */
--		     : "0"(pages), "1"(__pa(cpu->lg->pgdirs[cpu->cpu_pgd].pgdir))
-+		     : "0"(pages), 
-+		       "1"(__pa(cpu->lg->pgdirs[cpu->cpu_pgd].pgdir)),
-+		       "m"(lguest_entry)
- 		     /*
- 		      * We tell gcc that all these registers could change,
- 		      * which means we don't have to save and restore them in
--- 
-cgit v0.12
-
diff --git a/pkgs/os-specific/linux/kernel/linux-3.10.nix b/pkgs/os-specific/linux/kernel/linux-3.10.nix
index 27b97054d1ae..a46a75c01caf 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.10.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.10.102";
+  version = "3.10.103";
   extraMeta.branch = "3.10";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0hvymhmbvpmpz1jk0xwhxyskijdh6bzakqj7k0gaa2y0wdj33pxi";
+    sha256 = "008dz40zig0fhkm3hjmcn0kn5b1sfvpxb7dc4fbsddb6gifrh44v";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.12.nix b/pkgs/os-specific/linux/kernel/linux-3.12.nix
index 3d98da9526bb..e14d722ad5df 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.12.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.12.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.12.62";
+  version = "3.12.63";
   extraMeta.branch = "3.12";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0a9vghq3z5xhr9xssfivb78d3i74h4kn15wqgls1cw5qzyhc1wb0";
+    sha256 = "0srg7xd68n10b28c3l5qa4dx5qr84ci7fdn48wcj79y7h2s0367x";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-3.18.nix b/pkgs/os-specific/linux/kernel/linux-3.18.nix
index 98151295d1b5..75f5d6de6311 100644
--- a/pkgs/os-specific/linux/kernel/linux-3.18.nix
+++ b/pkgs/os-specific/linux/kernel/linux-3.18.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "3.18.40";
+  version = "3.18.42";
   extraMeta.branch = "3.18";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz";
-    sha256 = "0x94lp4vkw1472m8sq308r8aw96nirkwppkjvqi2240ayw89d5jb";
+    sha256 = "0ymimvy8kp2a2x0h31m3sipwx1h80576ws04k3cl49wgcgjwpwn4";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.1.nix b/pkgs/os-specific/linux/kernel/linux-4.1.nix
index 1f89edecfe6c..43b69196b8c8 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.1.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.1.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.1.31";
+  version = "4.1.33";
   extraMeta.branch = "4.1";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0madbh1sdkf8gk6ns0zacygvfrpzrl1vd1a4qw8py7slg1bpk79n";
+    sha256 = "15ms5mvvf0wpmscv8l5irp4j7j3l6k61hcjx9ln41pz6si00zj3l";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 6f6a720b4120..bd90ec057dbc 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.20";
+  version = "4.4.22";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1ammaspil0xxw32c5j4mznkhfbpz1i14rm4n148d0fa1m5qbqcfj";
+    sha256 = "03qsdnlcycfy8l4q2578qrvpj3xj1gc3aijb46q4ym9vvihmd7b2";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-4.6.nix b/pkgs/os-specific/linux/kernel/linux-4.6.nix
deleted file mode 100644
index 6bca1bfe718c..000000000000
--- a/pkgs/os-specific/linux/kernel/linux-4.6.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, perl, buildLinux, ... } @ args:
-
-import ./generic.nix (args // rec {
-  version = "4.6.7";
-  extraMeta.branch = "4.6";
-
-  src = fetchurl {
-    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "107acpq6jk48ng25jlyv905zslrrv77yxwr46mqbq5lxg8rdg7fh";
-  };
-
-  kernelPatches = args.kernelPatches;
-
-  features.iwlwifi = true;
-  features.efiBootStub = true;
-  features.needsCifsUtils = true;
-  features.canDisableNetfilterConntrackHelpers = true;
-  features.netfilterRPFilter = true;
-} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.7.nix b/pkgs/os-specific/linux/kernel/linux-4.7.nix
index 54b4469a6080..85be8019dfca 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.7.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.7.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.7.4";
+  version = "4.7.5";
   extraMeta.branch = "4.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1zc9lwa9anyn0civwzkymaxgx7v4vwgc6aqsg390qslbazkggaa6";
+    sha256 = "14nh37v2ankal763zrwd3yrdpbg2ni1yr33kdqjiqrja4vqazc4p";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
index 54b4469a6080..85be8019dfca 100644
--- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
+++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.7.4";
+  version = "4.7.5";
   extraMeta.branch = "4.7";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1zc9lwa9anyn0civwzkymaxgx7v4vwgc6aqsg390qslbazkggaa6";
+    sha256 = "14nh37v2ankal763zrwd3yrdpbg2ni1yr33kdqjiqrja4vqazc4p";
   };
 
   kernelPatches = args.kernelPatches;
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index a8197fd49189..b15d66278d91 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -38,16 +38,6 @@ in
 
 rec {
 
-  link_lguest =
-    { name = "gcc5-link-lguest";
-      patch = ./gcc5-link-lguest.patch;
-    };
-
-  link_apm =
-    { name = "gcc5-link-apm";
-      patch = ./gcc5-link-apm.patch;
-    };
-
   bridge_stp_helper =
     { name = "bridge-stp-helper";
       patch = ./bridge-stp-helper.patch;
@@ -96,9 +86,9 @@ rec {
   };
 
   grsecurity_testing = grsecPatch
-    { kver   = "4.7.4";
-      grrev  = "201609211951";
-      sha256 = "0h5lxl04rvww02ww0y21id6dc8mhglls8dqhjdcxdcpahxq1fb6y";
+    { kver   = "4.7.5";
+      grrev  = "201609261522";
+      sha256 = "1306lw3byw6cyi0dqh0dcl67l0bi043zmp3582hjpkwj934bahf7";
     };
 
   # This patch relaxes grsec constraints on the location of usermode helpers,
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index bed1d517e56d..c86efe22f6ef 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -17,13 +17,13 @@ assert buildKernel -> kernel != null;
 stdenv.mkDerivation rec {
   name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
 
-  version = "0.6.5.7";
+  version = "0.6.5.8";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "spl";
     rev = "spl-${version}";
-    sha256 = "0i9ak4wqn444i6362xq5xl0msvcck8qqypp0fynrxq8mddzypwps";
+    sha256 = "000yvaccqlkrq15sdz0734fp3lkmx58182cdcfpm4869i0q7rf0s";
   };
 
   patches = [ ./const.patch ./install_prefix.patch ];
@@ -59,11 +59,7 @@ stdenv.mkDerivation rec {
     homepage = http://zfsonlinux.org/;
     platforms = platforms.linux;
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ jcumming wizeman wkennington ];
-    broken = buildKernel
-      && (kernel.features.grsecurity or
-            # spl marked as broken until following patch is released
-            # https://github.com/zfsonlinux/spl/commit/fdbc1ba99d1f4d3958189079eee9b6c957e0264b
-            (versionAtLeast  kernel.version "4.7"));
+    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
+    broken = buildKernel && (kernel.features.grsecurity or false);
   };
 }
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index 4b5d7e35daeb..f2cf9eca4dc0 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -20,13 +20,13 @@ assert buildKernel -> kernel != null && spl != null;
 stdenv.mkDerivation rec {
   name = "zfs-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
 
-  version = "0.6.5.7";
+  version = "0.6.5.8";
 
   src = fetchFromGitHub {
     owner = "zfsonlinux";
     repo = "zfs";
     rev = "zfs-${version}";
-    sha256 = "17mshxyp8k7i9a7ys0rznhkz83f6650pby9ka48d6gzgcwv9nnsm";
+    sha256 = "0qccz1832p3i80qlrrrypypspb9sy9hmpgcfx9vmhnqmkf0yri4a";
   };
 
   patches = [ ./nix-build.patch ];
@@ -109,6 +109,6 @@ stdenv.mkDerivation rec {
     homepage = http://zfsonlinux.org/;
     license = licenses.cddl;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ jcumming wizeman wkennington ];
+    maintainers = with maintainers; [ jcumming wizeman wkennington fpletz ];
   };
 }
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index 418286d81f64..418286d81f64 100755..100644
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
diff --git a/pkgs/servers/dns/bind/default.nix b/pkgs/servers/dns/bind/default.nix
index 8b7957c31e1e..309b033bca25 100644
--- a/pkgs/servers/dns/bind/default.nix
+++ b/pkgs/servers/dns/bind/default.nix
@@ -1,13 +1,14 @@
-{ stdenv, fetchurl, openssl, libtool, perl, libxml2 }:
+{ stdenv, fetchurl, openssl, libtool, perl, libxml2
+, libseccomp ? null }:
 
-let version = "9.10.4-P2"; in
+let version = "9.10.4-P3"; in
 
 stdenv.mkDerivation rec {
   name = "bind-${version}";
 
   src = fetchurl {
     url = "http://ftp.isc.org/isc/bind9/${version}/${name}.tar.gz";
-    sha256 = "08s48h5p916ixjiwgar4w6skc20crmg7yj1y7g89c083zvw8lnxk";
+    sha256 = "1vxs29w4hnl7jcd7sknga58xv1qk2rcpsxyich7cpp7xi77faxd0";
   };
 
   outputs = [ "bin" "dev" "out" "man" ];
@@ -15,7 +16,8 @@ stdenv.mkDerivation rec {
   patches = [ ./dont-keep-configure-flags.patch ./remove-mkdir-var.patch ] ++
     stdenv.lib.optional stdenv.isDarwin ./darwin-openssl-linking-fix.patch;
 
-  buildInputs = [ openssl libtool perl libxml2 ];
+  buildInputs = [ openssl libtool perl libxml2 ] ++
+    stdenv.lib.optional stdenv.isLinux libseccomp;
 
   configureFlags = [
     "--localstatedir=/var"
@@ -31,13 +33,14 @@ stdenv.mkDerivation rec {
     "--without-pkcs11"
     "--without-purify"
     "--without-python"
+    "--enable-seccomp"
   ];
 
   postInstall = ''
     moveToOutput bin/bind9-config $dev
     moveToOutput bin/isc-config.sh $dev
 
-    for f in $out/lib/*.la; do
+    for f in "$out/lib/"*.la; do
       sed -i $f -e 's|-L${openssl.dev}|-L${openssl.out}|g'
     done
   '';
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index 48dd535382da..368f95b3a183 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -13,11 +13,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "nsd-4.1.9";
+  name = "nsd-4.1.12";
 
   src = fetchurl {
     url = "http://www.nlnetlabs.nl/downloads/nsd/${name}.tar.gz";
-    sha256 = "1wn8jm5kpp81m88c77j97850mnmd87yaw8qp3xsdwcakcd6j44dq";
+    sha256 = "fd1979dff1fba55310fd4f439dc9f3f4701d435c0ec4fb9af533e12c7f27d5de";
   };
 
   buildInputs = [ libevent openssl ];
diff --git a/pkgs/servers/firebird/default.nix b/pkgs/servers/firebird/default.nix
index 3e258ee6d3f1..18d8bf5cd195 100644
--- a/pkgs/servers/firebird/default.nix
+++ b/pkgs/servers/firebird/default.nix
@@ -1,5 +1,5 @@
 {stdenv, fetchurl, libedit, ncurses, automake, autoconf, libtool
-, 
+,
   # icu = null: use icu which comes with firebird
 
   # icu = pkgs.icu => you may have trouble sharing database files with windows
@@ -38,7 +38,7 @@
 */
 
 stdenv.mkDerivation rec {
-  version = "2.5.2.26540-0";
+  version = "2.5.6.27020-0";
   name = "firebird-${version}";
 
   # enableParallelBuilding = false; build fails
diff --git a/pkgs/servers/ldap/389/default.nix b/pkgs/servers/ldap/389/default.nix
index c5f7a45cefea..8d719bec4f5e 100644
--- a/pkgs/servers/ldap/389/default.nix
+++ b/pkgs/servers/ldap/389/default.nix
@@ -2,14 +2,14 @@
 , svrcore, icu, net_snmp, kerberos, pcre, perlPackages
 }:
 let
-  version = "1.3.3.9";
+  version = "1.3.5.4";
 in
 stdenv.mkDerivation rec {
   name = "389-ds-base-${version}";
 
   src = fetchurl {
     url = "http://directory.fedoraproject.org/binaries/${name}.tar.bz2";
-    sha256 = "1qqwv5j60f38hz4xpbzn4pixhkj07yjzbp7kz7cvfkgvdwy9jqxx";
+    sha256 = "1f1r4wky8x39jdabnd277f6m0snnzh9f0wvsr8x4rnvkckjphbx8";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/mail/mailman/default.nix b/pkgs/servers/mail/mailman/default.nix
index 933b0fabc4b7..b18ab016c441 100644
--- a/pkgs/servers/mail/mailman/default.nix
+++ b/pkgs/servers/mail/mailman/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python, pythonPackages }:
 
 stdenv.mkDerivation rec {
-  name = "mailman-2.1.18";
+  name = "mailman-2.1.23";
 
   src = fetchurl {
     url = "mirror://gnu/mailman/${name}.tgz";
-    sha256 = "0jc360crakvpz71msl0h11zv3849fqzlj9jfh1g7x3j4459n07fw";
+    sha256 = "0s9ywix4m3n7qa0baws744ildg48hsa87jahpsfiqqilhmpwl8mh";
   };
 
   buildInputs = [ python pythonPackages.dns ];
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index b4f34b452a7d..0367b0b8350b 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,6 +1,6 @@
-{ lib, pkgs, stdenv, buildPythonApplication, pythonPackages, fetchurl, fetchFromGitHub }:
+{ lib, pkgs, stdenv, pythonPackages, fetchurl, fetchFromGitHub }:
 let
-  matrix-angular-sdk = buildPythonApplication rec {
+  matrix-angular-sdk = pythonPackages.buildPythonApplication rec {
     name = "matrix-angular-sdk-${version}";
     version = "0.6.8";
 
@@ -9,16 +9,15 @@ let
       sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
     };
   };
-in
-buildPythonApplication rec {
+in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.17.2";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "0171pp7phizg5j78i1srkx2hj4fqi0qn66sn6x4gshv9grncjsgw";
+    sha256 = "1wvamw5crncz5ic6waq7v1bw54zg93af1lmw4y45w3r0vzyfxp68";
   };
 
   patches = [ ./matrix-synapse.patch ];
@@ -28,7 +27,7 @@ buildPythonApplication rec {
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests2
     service-identity signedjson systemd twisted ujson unpaddedbase64 pyyaml
     matrix-angular-sdk bleach netaddr jinja2 psycopg2 python.modules.curses
-    ldap3 psutil
+    ldap3 psutil msgpack
   ];
 
   # Checks fail because of Tox.
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index 884785699a69..de9f75b87cc9 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,8 +1,8 @@
 { lib, buildGoPackage, fetchurl, fetchFromGitHub, phantomjs2 }:
 
 buildGoPackage rec {
-  version = "3.1.0";
-  ts = "1468321182";
+  version = "3.1.1";
+  ts = "1470047149";
   name = "grafana-v${version}";
   goPackagePath = "github.com/grafana/grafana";
 
@@ -10,12 +10,12 @@ buildGoPackage rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "1p3qp3p4wsb7m2lvdcrc1wz5mxqwqsj5xfqp28hkbfdqh3lblh42";
+    sha256 = "066qypjl9i0yl9jgqxh2fk6m4scrf84sfdl7b1jxgyq3c7zdzyvk";
   };
 
   srcStatic = fetchurl {
     url = "https://grafanarel.s3.amazonaws.com/builds/grafana-${version}-${ts}.linux-x64.tar.gz";
-    sha256 = "174w0bx5cqriy77dyk9xsnmdskykzmgbyjczwb5kkp6j8vp7b0fs";
+    sha256 = "0zywijk9lg7pzql28r8vswyjixkljfjznbqy7lp5wlq1mmihmxr0";
   };
 
   preBuild = "export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace";
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 75f92d3eabe4..40f580ffddf5 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "telegraf-${version}";
-  version = "1.0.0";
+  version = "1.0.1";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -12,10 +12,9 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "${version}";
-    sha256 = "0kbh4gba4rrbykdl9wsyijh0xi5ksrch99fn4gj5gbbmd383pdzv";
+    sha256 = "1qn90rybdb2ybdyfk2f2yqpsgrya95bgiglmxnf2x1fapjpm7434";
   };
 
-  # Generated with the `gdm2nix.rb` script and the `Godeps` file from the influxdb repo root.
   goDeps = ./. + builtins.toPath "/deps-${version}.nix";
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/telegraf/deps-1.0.0.nix b/pkgs/servers/monitoring/telegraf/deps-1.0.1.nix
index 177f346d0124..29652a200f1e 100644
--- a/pkgs/servers/monitoring/telegraf/deps-1.0.0.nix
+++ b/pkgs/servers/monitoring/telegraf/deps-1.0.1.nix
@@ -1,587 +1,624 @@
+# This file was generated by go2nix.
 [
   {
+    goPackagePath = "github.com/Shopify/sarama";
     fetch = {
+      type = "git";
+      url = "https://github.com/Shopify/sarama";
       rev = "8aadb476e66ca998f2f6bb3c993e9a2daa3666b9";
       sha256 = "1ndaddqcll9r22jg9x36acanxv5ds3xwahrm4b6nmmg06670gksv";
-      type = "git";
-      url = "https://github.com/Shopify/sarama.git";
     };
-    goPackagePath = "github.com/Shopify/sarama";
   }
   {
+    goPackagePath = "github.com/Sirupsen/logrus";
     fetch = {
+      type = "git";
+      url = "https://github.com/Sirupsen/logrus";
       rev = "219c8cb75c258c552e999735be6df753ffc7afdc";
       sha256 = "04v55846v1535dplldyjhr0yqxl6n1mr4kiy2vz3ragv92xpshr6";
-      type = "git";
-      url = "https://github.com/Sirupsen/logrus.git";
     };
-    goPackagePath = "github.com/Sirupsen/logrus";
   }
   {
+    goPackagePath = "github.com/aerospike/aerospike-client-go";
     fetch = {
+      type = "git";
+      url = "https://github.com/aerospike/aerospike-client-go";
       rev = "45863b7fd8640dc12f7fdd397104d97e1986f25a";
       sha256 = "0cnsq8waah9m8m6y6cjz2sppac38aq8gsykw6d8zps0w4rjgf1aw";
-      type = "git";
-      url = "https://github.com/aerospike/aerospike-client-go.git";
     };
-    goPackagePath = "github.com/aerospike/aerospike-client-go";
   }
   {
+    goPackagePath = "github.com/amir/raidman";
     fetch = {
+      type = "git";
+      url = "https://github.com/amir/raidman";
       rev = "53c1b967405155bfc8758557863bf2e14f814687";
       sha256 = "08a6zz4akkm7lk02w53vfhkxdf0ikv32x41rc4jyi2qaf0wyw6b4";
-      type = "git";
-      url = "https://github.com/amir/raidman.git";
     };
-    goPackagePath = "github.com/amir/raidman";
   }
   {
+    goPackagePath = "github.com/aws/aws-sdk-go";
     fetch = {
+      type = "git";
+      url = "https://github.com/aws/aws-sdk-go";
       rev = "13a12060f716145019378a10e2806c174356b857";
       sha256 = "09yl85kk2y4ayk44af5rbnkq4vy82vbh2z5ac4vpl2vgv7zyh46h";
-      type = "git";
-      url = "https://github.com/aws/aws-sdk-go.git";
     };
-    goPackagePath = "github.com/aws/aws-sdk-go";
   }
   {
+    goPackagePath = "github.com/beorn7/perks";
     fetch = {
+      type = "git";
+      url = "https://github.com/beorn7/perks";
       rev = "3ac7bf7a47d159a033b107610db8a1b6575507a4";
       sha256 = "1qc3l4r818xpvrhshh1sisc5lvl9479qspcfcdbivdyh0apah83r";
-      type = "git";
-      url = "https://github.com/beorn7/perks.git";
     };
-    goPackagePath = "github.com/beorn7/perks";
   }
   {
+    goPackagePath = "github.com/cenkalti/backoff";
     fetch = {
+      type = "git";
+      url = "https://github.com/cenkalti/backoff";
       rev = "4dc77674aceaabba2c7e3da25d4c823edfb73f99";
       sha256 = "0icf4vrgzksr0g8h6y00rd92h1mym6waf3mbqpf890bkw60gnm0w";
-      type = "git";
-      url = "https://github.com/cenkalti/backoff.git";
     };
-    goPackagePath = "github.com/cenkalti/backoff";
   }
   {
+    goPackagePath = "github.com/couchbase/go-couchbase";
     fetch = {
+      type = "git";
+      url = "https://github.com/couchbase/go-couchbase";
       rev = "cb664315a324d87d19c879d9cc67fda6be8c2ac1";
       sha256 = "1dfw1apwrlfwl7bahb6dy5g9z2vs431l4lpaj3k9bnm13p0awivr";
-      type = "git";
-      url = "https://github.com/couchbase/go-couchbase.git";
     };
-    goPackagePath = "github.com/couchbase/go-couchbase";
   }
   {
+    goPackagePath = "github.com/couchbase/gomemcached";
     fetch = {
+      type = "git";
+      url = "https://github.com/couchbase/gomemcached";
       rev = "a5ea6356f648fec6ab89add00edd09151455b4b2";
       sha256 = "00x57qqdv9ciyxiw2y6p4s65sfgi4cs6zi39qlqlw90nh133xnwi";
-      type = "git";
-      url = "https://github.com/couchbase/gomemcached.git";
     };
-    goPackagePath = "github.com/couchbase/gomemcached";
   }
   {
+    goPackagePath = "github.com/couchbase/goutils";
     fetch = {
+      type = "git";
+      url = "https://github.com/couchbase/goutils";
       rev = "5823a0cbaaa9008406021dc5daf80125ea30bba6";
       sha256 = "15v5ps2i2y2hczwxs2ci4c2w4p3pn3bl7vc5wlaqnc7i14f9285c";
-      type = "git";
-      url = "https://github.com/couchbase/goutils.git";
     };
-    goPackagePath = "github.com/couchbase/goutils";
   }
   {
+    goPackagePath = "github.com/dancannon/gorethink";
     fetch = {
+      type = "git";
+      url = "https://github.com/dancannon/gorethink";
       rev = "e7cac92ea2bc52638791a021f212145acfedb1fc";
       sha256 = "0f9gwsqf93qzvfpdwgam7vcfzrrkcj2s9ms4p056kcyxv9snwq3g";
-      type = "git";
-      url = "https://github.com/dancannon/gorethink.git";
     };
-    goPackagePath = "github.com/dancannon/gorethink";
   }
   {
+    goPackagePath = "github.com/davecgh/go-spew";
     fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
       rev = "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d";
       sha256 = "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk";
-      type = "git";
-      url = "https://github.com/davecgh/go-spew.git";
     };
-    goPackagePath = "github.com/davecgh/go-spew";
   }
   {
+    goPackagePath = "github.com/docker/engine-api";
     fetch = {
+      type = "git";
+      url = "https://github.com/docker/engine-api";
       rev = "8924d6900370b4c7e7984be5adc61f50a80d7537";
       sha256 = "1klimc3d1a2vfgl14a7js20ricpghq5jzvh8l46kf87ycjwc0q4n";
-      type = "git";
-      url = "https://github.com/docker/engine-api.git";
     };
-    goPackagePath = "github.com/docker/engine-api";
   }
   {
+    goPackagePath = "github.com/docker/go-connections";
     fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-connections";
       rev = "f549a9393d05688dff0992ef3efd8bbe6c628aeb";
       sha256 = "0k1yf4bimmwxc0qiz997nagfmddbm8nwb0c1q16387m8lgw1gbwg";
-      type = "git";
-      url = "https://github.com/docker/go-connections.git";
     };
-    goPackagePath = "github.com/docker/go-connections";
   }
   {
+    goPackagePath = "github.com/docker/go-units";
     fetch = {
+      type = "git";
+      url = "https://github.com/docker/go-units";
       rev = "5d2041e26a699eaca682e2ea41c8f891e1060444";
       sha256 = "0hn8xdbaykp046inc4d2mwig5ir89ighma8hk18dfkm8rh1vvr8i";
-      type = "git";
-      url = "https://github.com/docker/go-units.git";
     };
-    goPackagePath = "github.com/docker/go-units";
   }
   {
+    goPackagePath = "github.com/eapache/go-resiliency";
     fetch = {
+      type = "git";
+      url = "https://github.com/eapache/go-resiliency";
       rev = "b86b1ec0dd4209a588dc1285cdd471e73525c0b3";
       sha256 = "1kzv95bh3nidm2cr7iv9lk3s2qiw1i17n8gyl2x6xk6qv8b0bc21";
-      type = "git";
-      url = "https://github.com/eapache/go-resiliency.git";
     };
-    goPackagePath = "github.com/eapache/go-resiliency";
   }
   {
+    goPackagePath = "github.com/eapache/queue";
     fetch = {
+      type = "git";
+      url = "https://github.com/eapache/queue";
       rev = "ded5959c0d4e360646dc9e9908cff48666781367";
       sha256 = "0inclypw0kln8hsn34c5ww34h0qa9fcqwak93lac5dp59rz5430n";
-      type = "git";
-      url = "https://github.com/eapache/queue.git";
     };
-    goPackagePath = "github.com/eapache/queue";
   }
   {
+    goPackagePath = "github.com/eclipse/paho.mqtt.golang";
     fetch = {
+      type = "git";
+      url = "https://github.com/eclipse/paho.mqtt.golang";
       rev = "0f7a459f04f13a41b7ed752d47944528d4bf9a86";
       sha256 = "13l6mrx9z859r4r7kpa9rsbf4ni7dn6xgz8iyv2xnz53pqffanjh";
-      type = "git";
-      url = "https://github.com/eclipse/paho.mqtt.golang.git";
     };
-    goPackagePath = "github.com/eclipse/paho.mqtt.golang";
   }
   {
+    goPackagePath = "github.com/go-sql-driver/mysql";
     fetch = {
+      type = "git";
+      url = "https://github.com/go-sql-driver/mysql";
       rev = "1fca743146605a172a266e1654e01e5cd5669bee";
       sha256 = "02vbq8j4r3skg3fmiv1wvjqh1542dr515w8f3d42b5lpwc1fsn38";
-      type = "git";
-      url = "https://github.com/go-sql-driver/mysql.git";
     };
-    goPackagePath = "github.com/go-sql-driver/mysql";
   }
   {
+    goPackagePath = "github.com/gobwas/glob";
     fetch = {
+      type = "git";
+      url = "https://github.com/gobwas/glob";
       rev = "49571a1557cd20e6a2410adc6421f85b66c730b5";
       sha256 = "16j7pdxajqrl20a737p7kgsngr2f7gkkpgqxxmfkrmgckgkc8cvk";
-      type = "git";
-      url = "https://github.com/gobwas/glob.git";
     };
-    goPackagePath = "github.com/gobwas/glob";
   }
   {
+    goPackagePath = "github.com/golang/protobuf";
     fetch = {
+      type = "git";
+      url = "https://github.com/golang/protobuf";
       rev = "552c7b9542c194800fd493123b3798ef0a832032";
       sha256 = "1zaw1xxnvgsvfcrv5xkn1f7p87vyh9i6mc44csl11fgc2hvqp6xm";
-      type = "git";
-      url = "https://github.com/golang/protobuf.git";
     };
-    goPackagePath = "github.com/golang/protobuf";
   }
   {
+    goPackagePath = "github.com/golang/snappy";
     fetch = {
+      type = "git";
+      url = "https://github.com/golang/snappy";
       rev = "427fb6fc07997f43afa32f35e850833760e489a7";
       sha256 = "1hgk9zhkfdvxrz13k0glqwlz414803zkrzd01mv6fjhpsjmcx53b";
-      type = "git";
-      url = "https://github.com/golang/snappy.git";
     };
-    goPackagePath = "github.com/golang/snappy";
   }
   {
+    goPackagePath = "github.com/gonuts/go-shellquote";
     fetch = {
+      type = "git";
+      url = "https://github.com/gonuts/go-shellquote";
       rev = "e842a11b24c6abfb3dd27af69a17f482e4b483c2";
       sha256 = "19lbz7wl241bsyzsv2ai40b2vnj8c9nl107b6jf9gid3i6h0xydg";
-      type = "git";
-      url = "https://github.com/gonuts/go-shellquote.git";
     };
-    goPackagePath = "github.com/gonuts/go-shellquote";
   }
   {
+    goPackagePath = "github.com/gorilla/context";
     fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/context";
       rev = "1ea25387ff6f684839d82767c1733ff4d4d15d0a";
       sha256 = "1nh1nzxcsgd215x4xn59wc4cbqfa8zvhvnnx5p8fkrn4bj1cgak4";
-      type = "git";
-      url = "https://github.com/gorilla/context.git";
     };
-    goPackagePath = "github.com/gorilla/context";
   }
   {
+    goPackagePath = "github.com/gorilla/mux";
     fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/mux";
       rev = "c9e326e2bdec29039a3761c07bece13133863e1e";
       sha256 = "1bplp6v14isjdfpf8328k8bvkn35n451axkxlm822d9h5ccg47g6";
-      type = "git";
-      url = "https://github.com/gorilla/mux.git";
     };
-    goPackagePath = "github.com/gorilla/mux";
   }
   {
+    goPackagePath = "github.com/hailocab/go-hostpool";
     fetch = {
+      type = "git";
+      url = "https://github.com/hailocab/go-hostpool";
       rev = "e80d13ce29ede4452c43dea11e79b9bc8a15b478";
       sha256 = "05ld4wp3illkbgl043yf8jq9y1ld0zzvrcg8jdij129j50xgfxny";
-      type = "git";
-      url = "https://github.com/hailocab/go-hostpool.git";
     };
-    goPackagePath = "github.com/hailocab/go-hostpool";
   }
   {
+    goPackagePath = "github.com/hashicorp/consul";
     fetch = {
+      type = "git";
+      url = "https://github.com/hashicorp/consul";
       rev = "5aa90455ce78d4d41578bafc86305e6e6b28d7d2";
       sha256 = "1xas814kkhwnjg5ghhlkgygcgi5p7h6dczmpbrzzh3yygbfdzxgw";
-      type = "git";
-      url = "https://github.com/hashicorp/consul.git";
     };
-    goPackagePath = "github.com/hashicorp/consul";
   }
   {
+    goPackagePath = "github.com/hpcloud/tail";
     fetch = {
+      type = "git";
+      url = "https://github.com/hpcloud/tail";
       rev = "b2940955ab8b26e19d43a43c4da0475dd81bdb56";
       sha256 = "1x266pdfvcymsbdrdsns06qq5qfjb62z6h4512ylhakbm64qkn4s";
-      type = "git";
-      url = "https://github.com/hpcloud/tail.git";
     };
-    goPackagePath = "github.com/hpcloud/tail";
   }
   {
+    goPackagePath = "github.com/influxdata/config";
     fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/config";
       rev = "b79f6829346b8d6e78ba73544b1e1038f1f1c9da";
       sha256 = "0k4iywy83n3kq2f58a41rjinj03wp1di67aacpf04p25qmf46c4z";
-      type = "git";
-      url = "https://github.com/influxdata/config.git";
     };
-    goPackagePath = "github.com/influxdata/config";
   }
   {
+    goPackagePath = "github.com/influxdata/influxdb";
     fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/influxdb";
       rev = "e094138084855d444195b252314dfee9eae34cab";
       sha256 = "0vv243lqwl4rwgg1zaxlw42zfjjad4vcafaiisvvkyamnndzlkla";
+    };
+  }
+  {
+    goPackagePath = "github.com/influxdata/telegraf";
+    fetch = {
       type = "git";
-      url = "https://github.com/influxdata/influxdb.git";
+      url = "https://github.com/influxdata/telegraf";
+      rev = "215f1b57d06845708e0867b11b9c853a56b00d81";
+      sha256 = "1qn90rybdb2ybdyfk2f2yqpsgrya95bgiglmxnf2x1fapjpm7434";
     };
-    goPackagePath = "github.com/influxdata/influxdb";
   }
   {
+    goPackagePath = "github.com/influxdata/toml";
     fetch = {
+      type = "git";
+      url = "https://github.com/influxdata/toml";
       rev = "af4df43894b16e3fd2b788d01bd27ad0776ef2d0";
       sha256 = "1faf51s89sk1z41qfsazmddgwll7jq9xna67k3h3vry86c4vs2j4";
+    };
+  }
+  {
+    goPackagePath = "github.com/jmespath/go-jmespath";
+    fetch = {
       type = "git";
-      url = "https://github.com/influxdata/toml.git";
+      url = "https://github.com/jmespath/go-jmespath";
+      rev = "bd40a432e4c76585ef6b72d3fd96fb9b6dc7b68d";
+      sha256 = "1kgzwiyqn24ba9kgpjxlq1h746gnyby0psbjj9mp2yx0h1i0kc4z";
     };
-    goPackagePath = "github.com/influxdata/toml";
   }
   {
+    goPackagePath = "github.com/kardianos/osext";
     fetch = {
+      type = "git";
+      url = "https://github.com/kardianos/osext";
       rev = "29ae4ffbc9a6fe9fb2bc5029050ce6996ea1d3bc";
       sha256 = "1mawalaz84i16njkz6f9fd5jxhcbxkbsjnav3cmqq2dncv2hyv8a";
-      type = "git";
-      url = "https://github.com/kardianos/osext.git";
     };
-    goPackagePath = "github.com/kardianos/osext";
   }
   {
+    goPackagePath = "github.com/kardianos/service";
     fetch = {
+      type = "git";
+      url = "https://github.com/kardianos/service";
       rev = "5e335590050d6d00f3aa270217d288dda1c94d0a";
       sha256 = "1g10qisgywfqj135yyiq63pnbjgr201gz929ydlgyzqq6yk3bn3h";
-      type = "git";
-      url = "https://github.com/kardianos/service.git";
     };
-    goPackagePath = "github.com/kardianos/service";
   }
   {
+    goPackagePath = "github.com/klauspost/crc32";
     fetch = {
+      type = "git";
+      url = "https://github.com/klauspost/crc32";
       rev = "19b0b332c9e4516a6370a0456e6182c3b5036720";
       sha256 = "0fcnsf1m0bzplgp28dz8skza6l7rc65s180x85rzbdl9l3zzi43r";
-      type = "git";
-      url = "https://github.com/klauspost/crc32.git";
     };
-    goPackagePath = "github.com/klauspost/crc32";
   }
   {
+    goPackagePath = "github.com/lib/pq";
     fetch = {
+      type = "git";
+      url = "https://github.com/lib/pq";
       rev = "e182dc4027e2ded4b19396d638610f2653295f36";
       sha256 = "1636v3snixapjf7rbjq0xn1sbym7hwckqfla0dm5cr4a5q4fw5cj";
-      type = "git";
-      url = "https://github.com/lib/pq.git";
     };
-    goPackagePath = "github.com/lib/pq";
   }
   {
+    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
     fetch = {
+      type = "git";
+      url = "https://github.com/matttproud/golang_protobuf_extensions";
       rev = "d0c3fe89de86839aecf2e0579c40ba3bb336a453";
       sha256 = "0jkjgpi1s8l9bdbf14fh8050757jqy36kn1l1hxxlb2fjn1pcg0r";
-      type = "git";
-      url = "https://github.com/matttproud/golang_protobuf_extensions.git";
     };
-    goPackagePath = "github.com/matttproud/golang_protobuf_extensions";
   }
   {
+    goPackagePath = "github.com/miekg/dns";
     fetch = {
+      type = "git";
+      url = "https://github.com/miekg/dns";
       rev = "cce6c130cdb92c752850880fd285bea1d64439dd";
       sha256 = "098gadhfjiijlgq497gbccvf26xrmjvln1fws56m0ljcgszq3jdx";
-      type = "git";
-      url = "https://github.com/miekg/dns.git";
     };
-    goPackagePath = "github.com/miekg/dns";
   }
   {
+    goPackagePath = "github.com/mreiferson/go-snappystream";
     fetch = {
+      type = "git";
+      url = "https://github.com/mreiferson/go-snappystream";
       rev = "028eae7ab5c4c9e2d1cb4c4ca1e53259bbe7e504";
       sha256 = "0jdd5whp74nvg35d9hzydsi3shnb1vrnd7shi9qz4wxap7gcrid6";
-      type = "git";
-      url = "https://github.com/mreiferson/go-snappystream.git";
     };
-    goPackagePath = "github.com/mreiferson/go-snappystream";
   }
   {
+    goPackagePath = "github.com/naoina/go-stringutil";
     fetch = {
+      type = "git";
+      url = "https://github.com/naoina/go-stringutil";
       rev = "6b638e95a32d0c1131db0e7fe83775cbea4a0d0b";
       sha256 = "00831p1wn3rimybk1z8l30787kn1akv5jax5wx743nn76qcmkmc6";
-      type = "git";
-      url = "https://github.com/naoina/go-stringutil.git";
     };
-    goPackagePath = "github.com/naoina/go-stringutil";
   }
   {
+    goPackagePath = "github.com/nats-io/nats";
     fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nats";
       rev = "b13fc9d12b0b123ebc374e6b808c6228ae4234a3";
       sha256 = "08cj053v0v7i9k7pn7c54hn3pm1c8g53gjhiv969hf4mk2h75q1i";
-      type = "git";
-      url = "https://github.com/nats-io/nats.git";
     };
-    goPackagePath = "github.com/nats-io/nats";
   }
   {
+    goPackagePath = "github.com/nats-io/nuid";
     fetch = {
+      type = "git";
+      url = "https://github.com/nats-io/nuid";
       rev = "4f84f5f3b2786224e336af2e13dba0a0a80b76fa";
       sha256 = "18ckzxmlg6ihjqd3r6ds8blgga58zibk52xp3lz5c7kv0hf6xa8y";
-      type = "git";
-      url = "https://github.com/nats-io/nuid.git";
     };
-    goPackagePath = "github.com/nats-io/nuid";
   }
   {
+    goPackagePath = "github.com/nsqio/go-nsq";
     fetch = {
+      type = "git";
+      url = "https://github.com/nsqio/go-nsq";
       rev = "0b80d6f05e15ca1930e0c5e1d540ed627e299980";
       sha256 = "1zi9jazjfzilp2g0xy30dlx9nd9g47cjqrnqxallly97mz9n01xr";
-      type = "git";
-      url = "https://github.com/nsqio/go-nsq.git";
     };
-    goPackagePath = "github.com/nsqio/go-nsq";
   }
   {
+    goPackagePath = "github.com/opencontainers/runc";
     fetch = {
+      type = "git";
+      url = "https://github.com/opencontainers/runc";
       rev = "89ab7f2ccc1e45ddf6485eaa802c35dcf321dfc8";
       sha256 = "1rnaqcsww7plr430r4ksv9si4l91l25li0bwa1b03g3sn2shirk1";
+    };
+  }
+  {
+    goPackagePath = "github.com/pmezard/go-difflib";
+    fetch = {
       type = "git";
-      url = "https://github.com/opencontainers/runc.git";
+      url = "https://github.com/pmezard/go-difflib";
+      rev = "792786c7400a136282c1664665ae0a8db921c6c2";
+      sha256 = "0c1cn55m4rypmscgf0rrb88pn58j3ysvc2d0432dp3c6fqg6cnzw";
     };
-    goPackagePath = "github.com/opencontainers/runc";
   }
   {
+    goPackagePath = "github.com/prometheus/client_golang";
     fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_golang";
       rev = "18acf9993a863f4c4b40612e19cdd243e7c86831";
       sha256 = "1gyjvwnvgyl0fs4hd2vp5hj1dsafhwb2h55w8zgzdpshvhwrpmhv";
-      type = "git";
-      url = "https://github.com/prometheus/client_golang.git";
     };
-    goPackagePath = "github.com/prometheus/client_golang";
   }
   {
+    goPackagePath = "github.com/prometheus/client_model";
     fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/client_model";
       rev = "fa8ad6fec33561be4280a8f0514318c79d7f6cb6";
       sha256 = "11a7v1fjzhhwsl128znjcf5v7v6129xjgkdpym2lial4lac1dhm9";
-      type = "git";
-      url = "https://github.com/prometheus/client_model.git";
     };
-    goPackagePath = "github.com/prometheus/client_model";
   }
   {
+    goPackagePath = "github.com/prometheus/common";
     fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/common";
       rev = "e8eabff8812b05acf522b45fdcd725a785188e37";
       sha256 = "08magd2aw7dqaa8bbv85404zvy120ify61msfpy75az5rdl5anxq";
-      type = "git";
-      url = "https://github.com/prometheus/common.git";
     };
-    goPackagePath = "github.com/prometheus/common";
   }
   {
+    goPackagePath = "github.com/prometheus/procfs";
     fetch = {
+      type = "git";
+      url = "https://github.com/prometheus/procfs";
       rev = "406e5b7bfd8201a36e2bb5f7bdae0b03380c2ce8";
       sha256 = "0yla9hz15pg63394ygs9iiwzsqyv29labl8p424hijwsc9z9nka8";
-      type = "git";
-      url = "https://github.com/prometheus/procfs.git";
     };
-    goPackagePath = "github.com/prometheus/procfs";
   }
   {
+    goPackagePath = "github.com/samuel/go-zookeeper";
     fetch = {
+      type = "git";
+      url = "https://github.com/samuel/go-zookeeper";
       rev = "218e9c81c0dd8b3b18172b2bbfad92cc7d6db55f";
       sha256 = "1v0m6wn83v4pbqz6hs7z1h5hbjk7k6npkpl7icvcxdcjd7rmyjp2";
-      type = "git";
-      url = "https://github.com/samuel/go-zookeeper.git";
     };
-    goPackagePath = "github.com/samuel/go-zookeeper";
   }
   {
+    goPackagePath = "github.com/shirou/gopsutil";
     fetch = {
+      type = "git";
+      url = "https://github.com/shirou/gopsutil";
       rev = "4d0c402af66c78735c5ccf820dc2ca7de5e4ff08";
       sha256 = "1wkp7chzpz6brq2y0k2mvsf0iaknns279wfsjn5gm6gvih49lqni";
-      type = "git";
-      url = "https://github.com/shirou/gopsutil.git";
     };
-    goPackagePath = "github.com/shirou/gopsutil";
   }
   {
+    goPackagePath = "github.com/soniah/gosnmp";
     fetch = {
+      type = "git";
+      url = "https://github.com/soniah/gosnmp";
       rev = "eb32571c2410868d85849ad67d1e51d01273eb84";
       sha256 = "0f6r3q2lhnjz506blygml6mfnp22fjy586zwiixrzch0jbwl4yf6";
-      type = "git";
-      url = "https://github.com/soniah/gosnmp.git";
     };
-    goPackagePath = "github.com/soniah/gosnmp";
   }
   {
+    goPackagePath = "github.com/sparrc/aerospike-client-go";
     fetch = {
+      type = "git";
+      url = "https://github.com/sparrc/aerospike-client-go";
       rev = "d4bb42d2c2d39dae68e054116f4538af189e05d5";
       sha256 = "0z2d3k1k6qh60aq81dr9g8y2mb19wwlx5isy0nqg0gzx3jb7v7xz";
-      type = "git";
-      url = "https://github.com/sparrc/aerospike-client-go.git";
     };
-    goPackagePath = "github.com/sparrc/aerospike-client-go";
   }
   {
+    goPackagePath = "github.com/streadway/amqp";
     fetch = {
+      type = "git";
+      url = "https://github.com/streadway/amqp";
       rev = "b4f3ceab0337f013208d31348b578d83c0064744";
       sha256 = "1whcg2l6w2q7xrkk8q5y95i90ckq72bpgksii9ibrpyixbx7p5xp";
-      type = "git";
-      url = "https://github.com/streadway/amqp.git";
     };
-    goPackagePath = "github.com/streadway/amqp";
   }
   {
+    goPackagePath = "github.com/stretchr/testify";
     fetch = {
+      type = "git";
+      url = "https://github.com/stretchr/testify";
       rev = "1f4a1643a57e798696635ea4c126e9127adb7d3c";
       sha256 = "0nam9d68rn8ha8ldif22kkgv6k6ph3y88fp26159wdrs63ca3bzl";
-      type = "git";
-      url = "https://github.com/stretchr/testify.git";
     };
-    goPackagePath = "github.com/stretchr/testify";
   }
   {
+    goPackagePath = "github.com/vjeantet/grok";
     fetch = {
+      type = "git";
+      url = "https://github.com/vjeantet/grok";
       rev = "83bfdfdfd1a8146795b28e547a8e3c8b28a466c2";
       sha256 = "03zdcg9gy482gbasa7sw4cpw1k1n3dr2q06q80qnkqn268p7hp80";
-      type = "git";
-      url = "https://github.com/vjeantet/grok.git";
     };
-    goPackagePath = "github.com/vjeantet/grok";
   }
   {
+    goPackagePath = "github.com/wvanbergen/kafka";
     fetch = {
+      type = "git";
+      url = "https://github.com/wvanbergen/kafka";
       rev = "46f9a1cf3f670edec492029fadded9c2d9e18866";
       sha256 = "1czmbilprffdbwnrq4wcllaqknbq91l6p0ni6b55fkaggnwck694";
-      type = "git";
-      url = "https://github.com/wvanbergen/kafka.git";
     };
-    goPackagePath = "github.com/wvanbergen/kafka";
   }
   {
+    goPackagePath = "github.com/wvanbergen/kazoo-go";
     fetch = {
+      type = "git";
+      url = "https://github.com/wvanbergen/kazoo-go";
       rev = "0f768712ae6f76454f987c3356177e138df258f8";
       sha256 = "1paaayg03nknbnl3kdl0ybqv4llz7iwry7f29i0bh9srb6c87x16";
-      type = "git";
-      url = "https://github.com/wvanbergen/kazoo-go.git";
     };
-    goPackagePath = "github.com/wvanbergen/kazoo-go";
   }
   {
+    goPackagePath = "github.com/yuin/gopher-lua";
     fetch = {
+      type = "git";
+      url = "https://github.com/yuin/gopher-lua";
       rev = "bf3808abd44b1e55143a2d7f08571aaa80db1808";
       sha256 = "02m7ly5yzc3snvxlfl9j4ggwd7v0kpvy3pqgqbfr7scdjxdap4nm";
-      type = "git";
-      url = "https://github.com/yuin/gopher-lua.git";
     };
-    goPackagePath = "github.com/yuin/gopher-lua";
   }
   {
+    goPackagePath = "github.com/zensqlmonitor/go-mssqldb";
     fetch = {
+      type = "git";
+      url = "https://github.com/zensqlmonitor/go-mssqldb";
       rev = "ffe5510c6fa5e15e6d983210ab501c815b56b363";
       sha256 = "079x8ms8lv5p6253ppaxva37k6w04xnd38y8763rr2giswxqzlkl";
-      type = "git";
-      url = "https://github.com/zensqlmonitor/go-mssqldb.git";
     };
-    goPackagePath = "github.com/zensqlmonitor/go-mssqldb";
   }
   {
+    goPackagePath = "golang.org/x/crypto";
     fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
       rev = "5dc8cb4b8a8eb076cbb5a06bc3b8682c15bdbbd3";
       sha256 = "18c1vpqlj10z1id66hglgnv51d9gwphgsdvxgghc6mcm01f1g5xj";
-      type = "git";
-      url = "https://github.com/golang/crypto.git";
     };
-    goPackagePath = "golang.org/x/crypto";
   }
   {
+    goPackagePath = "golang.org/x/net";
     fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
       rev = "6acef71eb69611914f7a30939ea9f6e194c78172";
       sha256 = "1fcsv50sbq0lpzrhx3m9jw51wa255fsbqjwsx9iszq4d0gysnnvc";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
       type = "git";
-      url = "https://github.com/golang/net.git";
+      url = "https://go.googlesource.com/sys";
+      rev = "8f0908ab3b2457e2e15403d3697c9ef5cb4b57a9";
+      sha256 = "04va4pqygfzr89fx873k44bmivk7nybqalybi6q96lnn45h2scbr";
     };
-    goPackagePath = "golang.org/x/net";
   }
   {
+    goPackagePath = "golang.org/x/text";
     fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
       rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34";
       sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1";
-      type = "git";
-      url = "https://github.com/golang/text.git";
     };
-    goPackagePath = "golang.org/x/text";
   }
   {
+    goPackagePath = "gopkg.in/dancannon/gorethink.v1";
     fetch = {
+      type = "git";
+      url = "https://gopkg.in/dancannon/gorethink.v1";
       rev = "7d1af5be49cb5ecc7b177bf387d232050299d6ef";
       sha256 = "0036hcadshka19bcqmq4mm9ssl9qhsx1n96lj1y24mh9g1api8fi";
-      type = "git";
-      url = "https://gopkg.in/dancannon/gorethink.v1.git";
     };
-    goPackagePath = "gopkg.in/dancannon/gorethink.v1";
   }
   {
+    goPackagePath = "gopkg.in/fatih/pool.v2";
     fetch = {
+      type = "git";
+      url = "https://gopkg.in/fatih/pool.v2";
       rev = "cba550ebf9bce999a02e963296d4bc7a486cb715";
       sha256 = "1jlrakgnpvhi2ny87yrsj1gyrcncfzdhypa9i2mlvvzqlj4r0dn0";
-      type = "git";
-      url = "https://github.com/fatih/pool.git";
     };
-    goPackagePath = "gopkg.in/fatih/pool.v2";
   }
   {
+    goPackagePath = "gopkg.in/mgo.v2";
     fetch = {
+      type = "git";
+      url = "https://gopkg.in/mgo.v2";
       rev = "d90005c5262a3463800497ea5a89aed5fe22c886";
       sha256 = "1z81k6mnfk07hkrkw31l16qycyiwa6wzyhysmywgkh58sm5dc9m7";
-      type = "git";
-      url = "https://gopkg.in/mgo.v2.git";
     };
-    goPackagePath = "gopkg.in/mgo.v2";
   }
   {
+    goPackagePath = "gopkg.in/yaml.v2";
     fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
       rev = "a83829b6f1293c91addabc89d0571c246397bbf4";
       sha256 = "1m4dsmk90sbi17571h6pld44zxz7jc4lrnl4f27dpd1l8g5xvjhh";
-      type = "git";
-      url = "https://gopkg.in/yaml.v2.git";
     };
-    goPackagePath = "gopkg.in/yaml.v2";
   }
 ]
diff --git a/pkgs/servers/owncloud/default.nix b/pkgs/servers/owncloud/default.nix
index 296a61445323..ada198a171a4 100644
--- a/pkgs/servers/owncloud/default.nix
+++ b/pkgs/servers/owncloud/default.nix
@@ -38,28 +38,33 @@ in {
   };
 
   owncloud70 = common {
-    versiona = "7.0.12";
-    sha256 = "d1a0f73f5094ec1149b50e2409b5fea0a9bebb16d663789d4b8f98fed341aa91";
+    versiona = "7.0.15";
+    sha256 = "1b2a0fccxlkqyyzsymx7qw8qbhsks3i6h1ybvxv8nn8hgw33nqv7";
   };
 
   owncloud80 = common {
-    versiona = "8.0.12";
-    sha256 = "04n8r9kya5w1vlib4rbchf0qcl1mrsrrjml9010a9zhh2kajg1g0";
+    versiona = "8.0.15";
+    sha256 = "18042jkp4p3b6xh394zm80126975g94r4ka8gzwhyvgfwpgxrx84";
   };
 
   owncloud81 = common {
-    versiona = "8.1.7";
-    sha256 = "0xl67axyh7pblsjb1j86vjd8ic42ga1f7yl3ghxy8rk2xrs8cii7";
+    versiona = "8.1.10";
+    sha256 = "1vspsd3l86mrhhddmyafwdr961f4dy6ln2j4dds2h45wf6296c63";
   };
 
   owncloud82 = common {
-    versiona = "8.2.4";
-    sha256 = "03br4lsjz9zxd083lqa0ag3f29224l1ksz59r4fdnnbafj9ixv0s";
+    versiona = "8.2.8";
+    sha256 = "0k10b3gfpfk3imxhkra0vn6a004xmcma09lw6pgxnalpmpbm8jiy";
   };
 
   owncloud90 = common {
-    versiona = "9.0.2";
-    sha256 = "845c43fe981fa0fd07fc3708f41f1ea15ecb11c2a15c65a4de191fc85b237c74";
+    versiona = "9.0.5";
+    sha256 = "1igpjc4rfaxqrkf2dln85wvdii54nrmwlh17fq3g0232l3vw9hn8";
+  };
+
+  owncloud91 = common {
+    versiona = "9.1.1";
+    sha256 = "1fd73ggzj2v43j284is2c6936gwkmz1inr5fm88rmq5pxcqkbgx6";
   };
 
 }
diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix
new file mode 100644
index 000000000000..47bdad75343d
--- /dev/null
+++ b/pkgs/servers/radicale/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, pythonPackages }:
+
+pythonPackages.buildPythonApplication rec {
+  name = "radicale-${version}";
+  version = "1.1.1";
+
+  src = fetchurl {
+    url = "mirror://pypi/R/Radicale/Radicale-${version}.tar.gz";
+    sha256 = "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2";
+  };
+
+  propagatedBuildInputs = [
+    pythonPackages.flup
+    pythonPackages.ldap
+    pythonPackages.sqlalchemy
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.radicale.org/;
+    description = "CalDAV CardDAV server";
+    longDescription = ''
+      The Radicale Project is a complete CalDAV (calendar) and CardDAV
+      (contact) server solution. Calendars and address books are available for
+      both local and remote access, possibly limited through authentication
+      policies. They can be viewed and edited by calendar and contact clients
+      on mobile phones or computers.
+    '';
+    license = licenses.gpl3Plus;
+    platform = platforms.all;
+    maintainers = with maintainers; [ edwtjo pSub ];
+  };
+}
diff --git a/pkgs/servers/sabnzbd/builder.sh b/pkgs/servers/sabnzbd/builder.sh
deleted file mode 100644
index c446891d8dc3..000000000000
--- a/pkgs/servers/sabnzbd/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-tar xvfz $src
-mv SABnzbd-* $out
-
-mkdir $out/bin
-echo "$python/bin/python $out/SABnzbd.py \$*" > $out/bin/sabnzbd
-chmod +x $out/bin/sabnzbd
-
-wrapPythonProgramsIn $out/bin "$pythonPath"
-wrapProgram $out/bin/.sabnzbd-wrapped --prefix PATH : "$par2cmdline/bin:$unzip/bin:$unrar/bin"
-
-echo $out
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index ee2176ae49a1..14f28c37696f 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -1,24 +1,33 @@
-{stdenv, fetchurl, python, pythonPackages, par2cmdline, unzip, unrar}:
+{stdenv, fetchurl, python, par2cmdline, unzip, unrar, p7zip, makeWrapper}:
 
-stdenv.mkDerivation rec {
-  version = "0.7.20";
+let
+  pythonEnv = python.withPackages(ps: with ps; [ pyopenssl python.modules.sqlite3 cheetah]);
+  path = stdenv.lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
+in stdenv.mkDerivation rec {
+  version = "1.1.0";
   name = "sabnzbd-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sabnzbdplus/SABnzbd-${version}-src.tar.gz";
-    sha256 = "0hl7mwgyvm4d68346s7vlv0qlibfh2p2idpyzpjfvk8f79hs9cr0";
+    url = "https://github.com/sabnzbd/sabnzbd/archive/${version}.tar.gz";
+    sha256 = "16srhknmjx5x2zsg1m0w9bipcv9b3b96bvb27fkf4dc2aswwcsc7";
   };
 
-  pythonPath = with pythonPackages; [ pyopenssl sqlite3 cheetah ];
-  buildInputs = with pythonPackages; [wrapPython];
-  inherit python par2cmdline unzip unrar;
+  buildInputs = [ pythonEnv makeWrapper ];
 
-  builder = ./builder.sh;
+  installPhase = ''
+    mkdir -p $out
+    cp -R * $out/
+    mkdir $out/bin
+    echo "${pythonEnv}/bin/python $out/SABnzbd.py \$*" > $out/bin/sabnzbd
+    chmod +x $out/bin/sabnzbd
+    wrapProgram $out/bin/sabnzbd --set PATH ${path}
+  '';
 
   meta = with stdenv.lib; {
     description = "Usenet NZB downloader, par2 repairer and auto extracting server";
     homepage = http://sabnzbd.org;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ fridh ];
   };
 }
diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix
index 1f2c616f1cfb..4bd276bf6b10 100644
--- a/pkgs/servers/x11/xorg/overrides.nix
+++ b/pkgs/servers/x11/xorg/overrides.nix
@@ -192,6 +192,7 @@ in
 
   libXi = attrs: attrs // {
     outputs = [ "out" "dev" "doc" ];
+    propagatedBuildInputs = [ xorg.libXfixes ];
   };
 
   libXinerama = attrs: attrs // {
@@ -532,10 +533,6 @@ in
     configureFlags = "--with-cursordir=$(out)/share/icons";
   };
 
-  xinput = attrs: attrs // {
-    propagatedBuildInputs = [xorg.libXfixes];
-  };
-
   xinit = attrs: attrs // {
     stdenv = if isDarwin then args.clangStdenv else stdenv;
     buildInputs = attrs.buildInputs ++ lib.optional isDarwin args.bootstrap_cmds;
diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix
index ac72de119b3a..a7abd36618ad 100644
--- a/pkgs/shells/oh-my-zsh/default.nix
+++ b/pkgs/shells/oh-my-zsh/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name = "oh-my-zsh-git-${version}";
-  version = "2016-08-01";
+  version = "2016-09-24";
 
   src = fetchgit {
     url = "https://github.com/robbyrussell/oh-my-zsh";
-    rev = "f5537241a4fe7f48a5f7f49fff52db9f0247a5cd";
-    sha256 = "0g8wqq3m2qvacxwz6k2zir8vg80fbxccwxpcfs1ypcwp3689fjhk";
+    rev = "57fcee0f1c520a7c5e3aa5e2bde974154cdaf0c3";
+    sha256 = "1zpmmfrf59almpr41b2q0ngc6rvqc0fs8dckfzd9by07rq6kp5kc";
   };
 
   phases = "installPhase";
diff --git a/pkgs/tools/X11/winswitch/default.nix b/pkgs/tools/X11/winswitch/default.nix
index 767edbc47d56..90159d82c39b 100644
--- a/pkgs/tools/X11/winswitch/default.nix
+++ b/pkgs/tools/X11/winswitch/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages
+{ stdenv, fetchurl, pythonPackages
 , which, xpra, xmodmap }:
 
 let
-  base = buildPythonApplication rec {
+  base = pythonPackages.buildPythonApplication rec {
     name = "winswitch-${version}";
     namePrefix = "";
     version = "0.12.16";
diff --git a/pkgs/tools/admin/cli53/default.nix b/pkgs/tools/admin/cli53/default.nix
index ce9f17b1a517..cfee6a8b94c8 100644
--- a/pkgs/tools/admin/cli53/default.nix
+++ b/pkgs/tools/admin/cli53/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildPythonApplication, pythonPackages, fetchurl }:
+{ lib, pythonPackages, fetchurl }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "cli53-${version}";
   namePrefix = "";  # Suppress "python27-" name prefix
   version = "0.4.4";
diff --git a/pkgs/tools/admin/gtk-vnc/default.nix b/pkgs/tools/admin/gtk-vnc/default.nix
index cf58f75aaccc..5d3053b2a3e3 100644
--- a/pkgs/tools/admin/gtk-vnc/default.nix
+++ b/pkgs/tools/admin/gtk-vnc/default.nix
@@ -1,10 +1,12 @@
 { stdenv, fetchurl, gobjectIntrospection
-, python, gtk2, pygtk, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
+, gtk2, gnutls, cairo, libtool, glib, pkgconfig, libtasn1
 , libffi, cyrus_sasl, intltool, perl, perlPackages, libpulseaudio
-, kbproto, libX11, libXext, xextproto, pygobject2, libgcrypt, gtk3, vala_0_23
-, pygobject3, libogg, enableGTK3 ? false, libgpgerror }:
+, kbproto, libX11, libXext, xextproto, libgcrypt, gtk3, vala_0_23
+, libogg, enableGTK3 ? false, libgpgerror, pythonPackages }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) pygobject3 pygobject2 pygtk python;
+in stdenv.mkDerivation rec {
   name = "gtk-vnc-${version}";
   version = "0.5.3";
 
diff --git a/pkgs/tools/admin/salt/testing.nix b/pkgs/tools/admin/salt/testing.nix
deleted file mode 100644
index ab5897fab6ca..000000000000
--- a/pkgs/tools/admin/salt/testing.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, fetchurl, pythonPackages }:
-
-pythonPackages.buildPythonApplication rec {
-  name = "SaltTesting-${version}";
-  version = "2016.9.7";
-
-  disabled = pythonPackages.isPy3k;
-
-  src = fetchurl {
-    url = "mirror://pypi/S/SaltTesting/${name}.tar.gz";
-    sha256 = "0vcw1b1176qm9nkic3sbxh6vnv9kpd9kgyqz5fpsp5jnb2hsf1qx";
-  };
-
-  meta = with stdenv.lib; {
-    homepage = https://github.com/saltstack/salt-testing;
-    description = "Common testing tools used in the Salt Stack projects";
-    maintainers = with maintainers; [ aneeshusa ];
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/tools/archivers/zpaq/default.nix b/pkgs/tools/archivers/zpaq/default.nix
index 44f318a0cc6f..30b05b2b2340 100644
--- a/pkgs/tools/archivers/zpaq/default.nix
+++ b/pkgs/tools/archivers/zpaq/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, perl, unzip }:
 stdenv.mkDerivation rec {
   name = "zpaq-${version}";
-  version = "7.14";
+  version = "715";
 
   src = let
     mungedVersion = with stdenv.lib; concatStrings (splitString "." version);
   in fetchurl {
-    sha256 = "1xmmn5sy19yip8cbr3plhd7nh7x7k1b09lq2kqfcp6bndg7jxgby";
+    sha256 = "066l94yyladlfzri877nh2dhkvspagjn3m5bmv725fmhkr9c4pp8";
     url = "http://mattmahoney.net/dc/zpaq${mungedVersion}.zip";
   };
 
@@ -37,5 +37,6 @@ stdenv.mkDerivation rec {
     license = licenses.gpl3Plus ;
     maintainers = with maintainers; [ raskin nckx ];
     platforms = platforms.linux;
+    inherit version;
   };
 }
diff --git a/pkgs/tools/archivers/zpaq/default.upstream b/pkgs/tools/archivers/zpaq/default.upstream
new file mode 100644
index 000000000000..84daee900cec
--- /dev/null
+++ b/pkgs/tools/archivers/zpaq/default.upstream
@@ -0,0 +1,6 @@
+url http://mattmahoney.net/dc/zpaq.html
+version_link 'zpaq[0-9]+[.]zip'
+version "[^0-9]*([0-9]+)[^0-9]*" '\1'
+name zpaq
+attribute_name zpaq
+minimize_overwrite
diff --git a/pkgs/tools/archivers/zpaq/zpaqd.nix b/pkgs/tools/archivers/zpaq/zpaqd.nix
index ff247f9e3f98..499bccaa425b 100644
--- a/pkgs/tools/archivers/zpaq/zpaqd.nix
+++ b/pkgs/tools/archivers/zpaq/zpaqd.nix
@@ -3,10 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="zpaqd";
-    version="7.08";
+    version="715";
     name="${baseName}-${version}";
-    url="http://mattmahoney.net/dc/zpaqd708.zip";
-    sha256="18mkfz7v73rp5l712107m3x5a3v6y0vjf47a6s3di8x416kbcp2a";
+    hash="0868lynb45lm79yvx5f10lj5h6bfv0yck8whcls2j080vmk3n7rk";
+    url="http://mattmahoney.net/dc/zpaqd715.zip";
+    sha256="0868lynb45lm79yvx5f10lj5h6bfv0yck8whcls2j080vmk3n7rk";
   };
   isUnix = with stdenv; isLinux || isGNU || isDarwin || isFreeBSD || isOpenBSD;
   isx86 = stdenv.isi686 || stdenv.isx86_64;
diff --git a/pkgs/tools/audio/beets/alternatives-plugin.nix b/pkgs/tools/audio/beets/alternatives-plugin.nix
index 75f74e71be52..273b5d94c9fc 100644
--- a/pkgs/tools/audio/beets/alternatives-plugin.nix
+++ b/pkgs/tools/audio/beets/alternatives-plugin.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPythonApplication, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "beets-alternatives-${version}";
   version = "0.8.2";
 
diff --git a/pkgs/tools/audio/beets/copyartifacts-plugin.nix b/pkgs/tools/audio/beets/copyartifacts-plugin.nix
index d3b36d15e03e..fa00d64f673f 100644
--- a/pkgs/tools/audio/beets/copyartifacts-plugin.nix
+++ b/pkgs/tools/audio/beets/copyartifacts-plugin.nix
@@ -1,6 +1,6 @@
-{ stdenv, buildPythonApplication, fetchFromGitHub, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "beets-copyartifacts";
 
   src = fetchFromGitHub {
diff --git a/pkgs/tools/audio/beets/default.nix b/pkgs/tools/audio/beets/default.nix
index d7fb0e2aab4f..283a6d48ca26 100644
--- a/pkgs/tools/audio/beets/default.nix
+++ b/pkgs/tools/audio/beets/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, writeScript, glibcLocales
-, buildPythonApplication, pythonPackages, python, imagemagick
+, pythonPackages, imagemagick
 
 , enableAcousticbrainz ? true
 , enableAcoustid       ? true
@@ -72,10 +72,9 @@ let
   testShell = "${bashInteractive}/bin/bash --norc";
   completion = "${bashCompletion}/share/bash-completion/bash_completion";
 
-in buildPythonApplication rec {
+in pythonPackages.buildPythonApplication rec {
   name = "beets-${version}";
   version = "1.3.19";
-  namePrefix = "";
 
   src = fetchFromGitHub {
     owner = "sampsyo";
@@ -93,8 +92,8 @@ in buildPythonApplication rec {
     pythonPackages.pathlib
     pythonPackages.pyyaml
     pythonPackages.unidecode
-    python.modules.sqlite3
-    python.modules.readline
+    pythonPackages.python.modules.sqlite3
+    pythonPackages.python.modules.readline
   ] ++ optional enableAcoustid     pythonPackages.pyacoustid
     ++ optional (enableFetchart
               || enableEmbyupdate
@@ -108,10 +107,10 @@ in buildPythonApplication rec {
     ++ optional enableThumbnails   pythonPackages.pyxdg
     ++ optional enableWeb          pythonPackages.flask
     ++ optional enableAlternatives (import ./alternatives-plugin.nix {
-      inherit stdenv buildPythonApplication pythonPackages fetchFromGitHub;
+      inherit stdenv pythonPackages fetchFromGitHub;
     })
     ++ optional enableCopyArtifacts (import ./copyartifacts-plugin.nix {
-      inherit stdenv buildPythonApplication pythonPackages fetchFromGitHub;
+      inherit stdenv pythonPackages fetchFromGitHub;
     });
 
   buildInputs = with pythonPackages; [
diff --git a/pkgs/tools/filesystems/davfs2/default.nix b/pkgs/tools/filesystems/davfs2/default.nix
index a5cd54bf74d9..b745652b15c4 100644
--- a/pkgs/tools/filesystems/davfs2/default.nix
+++ b/pkgs/tools/filesystems/davfs2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, neon, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "davfs2-1.5.2";
+  name = "davfs2-1.5.3";
 
   src = fetchurl {
     url = "mirror://savannah/davfs2/${name}.tar.gz";
-    sha256 = "0n5k2xxfxmbsavg5fhp65lmy30hq9jg3w242rdzafvksnnda2d5y";
+    sha256 = "1x9ri19995ika89cmc56za7z3ipiizhh6zdhi4mf4p7chxzdnhrw";
   };
 
   buildInputs = [ neon zlib ];
diff --git a/pkgs/tools/filesystems/fuseiso/default.nix b/pkgs/tools/filesystems/fuseiso/default.nix
index 7ea5d581a59b..7165789cf81c 100644
--- a/pkgs/tools/filesystems/fuseiso/default.nix
+++ b/pkgs/tools/filesystems/fuseiso/default.nix
@@ -1,15 +1,35 @@
-{ stdenv, fetchurl, pkgconfig, fuse, zlib, glib }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, fuse, zlib, glib }:
 
 stdenv.mkDerivation rec {
   name = "fuseiso-20070708";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/fuseiso/fuseiso/20070708/fuseiso-20070708.tar.bz2";
-    sha1 = "fe142556ad35dd7e5dc31a16183232a6e2da7692";  
+    sha256 = "127xql52dcdhmh7s5m9xc6q39jdlj3zhbjar1j821kb6gl3jw94b";
   };
 
   buildInputs = [ pkgconfig fuse zlib glib ];
 
+  patches = let fetchPatchFromDebian = { patch, sha256 }:
+    fetchpatch {
+      inherit sha256;
+      url = "https://sources.debian.net/data/main/f/fuseiso/20070708-3.2/debian/patches/${patch}";
+    };
+  in [
+    (fetchPatchFromDebian {
+      patch = "00-support_large_iso.patch";
+      sha256 = "1lmclb1qwzz5f4wlq693g83bblwnjjl73qhgfxbsaac5hnn2shjw";
+    })
+    (fetchPatchFromDebian { # CVE-2015-8837
+      patch = "02-prevent-buffer-overflow.patch";
+      sha256 = "1ls2pp3mh91pdb51qz1fsd8pwhbky6988bpd156bn7wgfxqzh8ig";
+    })
+    (fetchPatchFromDebian { # CVE-2015-8836
+      patch = "03-prevent-integer-overflow.patch";
+      sha256 = "100cw07fk4sa3hl7a1gk2hgz4qsxdw99y20r7wpidwwwzy463zcv";
+    })
+  ];
+
   meta = {
     homepage = http://sourceforge.net/projects/fuseiso;
     description = "FUSE module to mount ISO filesystem images";
diff --git a/pkgs/tools/filesystems/gitfs/default.nix b/pkgs/tools/filesystems/gitfs/default.nix
index 9c44394697f7..31c4ceccbc09 100644
--- a/pkgs/tools/filesystems/gitfs/default.nix
+++ b/pkgs/tools/filesystems/gitfs/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, python, buildPythonApplication, pythonPackages }:
+{ stdenv, fetchFromGitHub, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "gitfs-0.2.5";
 
   src = fetchFromGitHub {
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index 9da5332ce676..e97f246e70b9 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -6,11 +6,11 @@ let
   s = # Generated upstream information 
   rec {
     baseName="glusterfs";
-    version="3.8.1";
+    version="3.8.4";
     name="${baseName}-${version}";
-    hash="1j3r2wnk1pwwwn02pfnrrgh1if92b5cl51dqg7284qxrkjiafb2k";
-    url="http://download.gluster.org/pub/gluster/glusterfs/3.8/3.8.1/glusterfs-3.8.1.tar.gz";
-    sha256="1j3r2wnk1pwwwn02pfnrrgh1if92b5cl51dqg7284qxrkjiafb2k";
+    hash="0f715r6bf12b37s1l3259qzfbz8l2g3mdsnnh2lflagzazn6jnap";
+    url="http://download.gluster.org/pub/gluster/glusterfs/3.8/3.8.4/glusterfs-3.8.4.tar.gz";
+    sha256="0f715r6bf12b37s1l3259qzfbz8l2g3mdsnnh2lflagzazn6jnap";
   };
   buildInputs = [
     fuse bison flex_2_5_35 openssl python ncurses readline
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index f40c6e35f710..d71b6332321a 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, libuuid, libselinux }:
 let 
   sourceInfo = rec {
-    version = "2.2.4";
+    version = "2.2.5";
     url = "http://nilfs.sourceforge.net/download/nilfs-utils-${version}.tar.bz2";
-    sha256 = "1ywmhrf6dz5g3ik4wf3hlnzmv1qa0q2qrgh3ir1pmbdhlgmkxdhm";
+    sha256 = "0a5iavbjj8c255mfl968ljmj3cb217k7803cc1sdaskacwnykdq2";
     baseName = "nilfs-utils";
     name = "${baseName}-${version}";
   };
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index 9a181e7d087d..66f61d9a459e 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -1,8 +1,10 @@
-{ stdenv, fetchurl, imagemagickBig, pkgconfig, python, pygtk, perl
+{ stdenv, fetchurl, imagemagickBig, pkgconfig, pythonPackages, perl
 , libX11, libv4l, qt4, lzma, gtk2, fetchpatch, autoreconfHook
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit (pythonPackages) pygtk python;
+in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "zbar";
   version = "0.10";
diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix
index dc170bcd14bb..ff146e609232 100644
--- a/pkgs/tools/misc/apt-offline/default.nix
+++ b/pkgs/tools/misc/apt-offline/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, bash, buildPythonApplication }:
+{ stdenv, fetchurl, bash, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   version = "1.3";
   name = "apt-offline-${version}";
 
@@ -12,8 +12,6 @@ buildPythonApplication rec {
     sha256 = "1sp7ai2abzhbg9y84700qziybphvpzl2nk3mz1d1asivzyjvxlxy";
   };
 
-  buildInputs = [ ];
-
   doCheck = false;
 
   # Requires python-qt4 (feel free to get it working).
diff --git a/pkgs/tools/misc/i3minator/default.nix b/pkgs/tools/misc/i3minator/default.nix
index e51150d68769..0b26dbc06e2b 100644
--- a/pkgs/tools/misc/i3minator/default.nix
+++ b/pkgs/tools/misc/i3minator/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, pythonPackages, python }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   name = "i3minator-${version}";
   version = "0.0.4";
 
diff --git a/pkgs/tools/misc/ipxe/default.nix b/pkgs/tools/misc/ipxe/default.nix
index 6ee14a0ce937..1efac3b78441 100644
--- a/pkgs/tools/misc/ipxe/default.nix
+++ b/pkgs/tools/misc/ipxe/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, fetchgit, perl, cdrkit, syslinux }:
+{ stdenv, fetchgit, perl, cdrkit, syslinux, xz, openssl }:
 
 let
-  date = "20141124";
-  rev = "5cbdc41778622c07429e00f5aee383b575532bf0";
+  date = "20160831";
+  rev = "827dd1bfee67daa683935ce65316f7e0f057fe1c";
 in
 
 stdenv.mkDerivation {
   name = "ipxe-${date}-${builtins.substring 0 7 rev}";
 
-  buildInputs = [ perl cdrkit syslinux ];
+  buildInputs = [ perl cdrkit syslinux xz openssl ];
 
   src = fetchgit {
     url = git://git.ipxe.org/ipxe.git;
-    sha256 = "0wiy3kag6x8a2a71pc9za9izmac8gdz90vaqp2mwgih6p2lz01zq";
+    sha256 = "11w8b0vln3skfn8r1cvzngslz12njdkwmnacyq3qffb96k2dn2ww";
     inherit rev;
   };
 
-  preConfigure = "cd src";
-
   # not possible due to assembler code
   hardeningDisable = [ "pic" "stackprotector" ];
 
@@ -28,11 +26,17 @@ stdenv.mkDerivation {
       "ISOLINUX_BIN_LIST=${syslinux}/share/syslinux/isolinux.bin"
     ];
 
-  installPhase =
-    ''
-      mkdir $out
-      cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
-    '';
+
+  configurePhase = ''
+    echo "#define  DOWNLOAD_PROTO_HTTPS" >> src/config/general.h
+  '';
+
+  preBuild = "cd src";
+
+  installPhase = ''
+    mkdir -p $out
+    cp bin/ipxe.dsk bin/ipxe.usb bin/ipxe.iso bin/ipxe.lkrn bin/undionly.kpxe $out
+  '';
 
   meta = with stdenv.lib;
     { description = "Network boot firmware";
diff --git a/pkgs/tools/misc/svtplay-dl/default.nix b/pkgs/tools/misc/svtplay-dl/default.nix
index cb0859cfa68b..437be3a46808 100644
--- a/pkgs/tools/misc/svtplay-dl/default.nix
+++ b/pkgs/tools/misc/svtplay-dl/default.nix
@@ -5,13 +5,13 @@ let
   inherit (pythonPackages) python nose pycrypto requests2 mock;
 in stdenv.mkDerivation rec {
   name = "svtplay-dl-${version}";
-  version = "1.4";
+  version = "1.5";
 
   src = fetchFromGitHub {
     owner = "spaam";
     repo = "svtplay-dl";
     rev = version;
-    sha256 = "0gxr9hcscxq7h8nwinm1arjfy2rw4i1iwq6ghnm7pw7ay1n7sfzq";
+    sha256 = "1hmg49fhvdf7yjybxmky4ymy5s4mgbh9b8pbgyfnhm1i3s544bz2";
   };
 
   pythonPaths = [ pycrypto requests2 ];
diff --git a/pkgs/tools/misc/togglesg-download/default.nix b/pkgs/tools/misc/togglesg-download/default.nix
index 14b9b1fcd9df..e945e560f1b0 100644
--- a/pkgs/tools/misc/togglesg-download/default.nix
+++ b/pkgs/tools/misc/togglesg-download/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, lib, fetchFromGitHub, buildPythonApplication, makeWrapper, ffmpeg_3 }:
+{ stdenv, lib, fetchFromGitHub, pythonPackages, makeWrapper, ffmpeg_3 }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
 
   name = "togglesg-download-git-${version}";
   version = "2016-05-31";
diff --git a/pkgs/tools/misc/xflux/gui.nix b/pkgs/tools/misc/xflux/gui.nix
index 2b18d4e910d5..1fd3b3d8371f 100644
--- a/pkgs/tools/misc/xflux/gui.nix
+++ b/pkgs/tools/misc/xflux/gui.nix
@@ -1,9 +1,8 @@
-{ stdenv, fetchFromGitHub, buildPythonPackage
-, pexpect, pyGtkGlade, pygobject, pyxdg
-, gnome_python, python
+{ stdenv, fetchFromGitHub, pythonPackages
+, gnome_python
 , libappindicator-gtk2, xflux, librsvg, wrapGAppsHook
 }:
-buildPythonPackage rec {
+pythonPackages.buildPythonApplication rec {
   name = "xflux-gui-${version}";
   version = "2016-09-21";
 
@@ -14,11 +13,10 @@ buildPythonPackage rec {
     sha256 = "15pr8f31jnhqjlpvasnj6cmm6hw5gljphh2pxzav3zd9bp4yl56r";
   };
 
-  # not sure if these need to be propagated or not?
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with pythonPackages; [
     pexpect
     pyGtkGlade
-    pygobject
+    pygobject2
     pyxdg
     libappindicator-gtk2
     gnome_python
@@ -36,7 +34,7 @@ buildPythonPackage rec {
     wrapGAppsHook
     makeWrapperArgs="''${gappsWrapperArgs[@]}"
     wrapPythonPrograms
-    patchPythonScript $out/${python.sitePackages}/fluxgui/fluxapp.py
+    patchPythonScript $out/${pythonPackages.python.sitePackages}/fluxgui/fluxapp.py
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix
index b95b95e4379b..0b78b9a06473 100644
--- a/pkgs/tools/misc/xsel/default.nix
+++ b/pkgs/tools/misc/xsel/default.nix
@@ -1,15 +1,29 @@
-{stdenv, fetchurl, xlibsWrapper}:
+{stdenv, lib, fetchFromGitHub, libX11, autoreconfHook }:
 
-stdenv.mkDerivation {
-  name = "xsel-1.2.0";
-  src = fetchurl {
-    url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-1.2.0.tar.gz;
-    sha256 = "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr";
+stdenv.mkDerivation rec {
+  name = "xsel-unstable-${version}";
+
+  version = "2016-09-02";
+
+  src = fetchFromGitHub {
+    owner = "kfish";
+    repo = "xsel";
+    rev = "aa7f57eed805adb09e9c59c8ea841870e8206b81";
+    sha256 = "04mrc8j0rr7iy1k6brfxnx26pmxm800gh4nqrxn6j2lz6vd5y9m5";
   };
 
-  buildInputs = [xlibsWrapper];
+  buildInputs = [ libX11 autoreconfHook ];
+
+  # We need a README file, otherwise autoconf complains.
+  postUnpack = ''
+    mv $sourceRoot/README{.md,}
+  '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with lib; {
+    description = "Command-line program for getting and setting the contents of the X selection";
+    homepage = "http://www.kfish.org/software/xsel";
+    license = licenses.mit;
+    maintainers = [ maintainers.cstrahan ];
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index c3cdaffcc27f..e7a593ff830c 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl, perl, file, nettools, iputils, iproute, makeWrapper
-, coreutils, gnused, bind, openldap ? null
+, coreutils, gnused, openldap ? null
 }:
 
 stdenv.mkDerivation rec {
   name = "dhcp-${version}";
-  version = "4.3.3";
-  
+  version = "4.3.4";
+
   src = fetchurl {
     url = "http://ftp.isc.org/isc/dhcp/${version}/${name}.tar.gz";
-    sha256 = "1pjy4lylx7dww1fp2mk5ikya5vxaf97z70279j81n74vn12ljg2m";
+    sha256 = "0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm";
   };
 
   patches =
@@ -23,21 +23,9 @@ stdenv.mkDerivation rec {
       ./set-hostname.patch
     ];
 
-  # Fixes "socket.c:591: error: invalid application of 'sizeof' to
-  # incomplete type 'struct in6_pktinfo'".  See
-  # http://www.mail-archive.com/blfs-book@linuxfromscratch.org/msg13013.html
-  #
-  # Also adds the ability to run dhcpd as a non-root user / group
-  NIX_CFLAGS_COMPILE = "-D_GNU_SOURCE -DPARANOIA";
-
-  # It would automatically add -Werror, which disables build in gcc 4.4
-  # due to an uninitialized variable.
-  CFLAGS = "-g -O2 -Wall";
-
-  buildInputs = [ perl makeWrapper openldap bind ];
+  buildInputs = [ perl makeWrapper openldap ];
 
   configureFlags = [
-    "--with-libbind=${bind.dev}"
     "--enable-failover"
     "--enable-execute"
     "--enable-tracing"
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index 6f280257692c..9ffb9a311837 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, buildPythonApplication }:
+{ stdenv, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
-  version = "4.50.0";
+pythonPackages.buildPythonApplication rec {
+  version = "4.51.0";
   name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "1hcb5079mkcx3gglfycrhglrgg4jsa499br50yjrh9sal6wpgg7w";
+    sha256 = "1nzdjm62lrg7qbh8xz2irj9wxf2861s3ld6zd5fbcgpjy3v588mw";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/gmvault/default.nix b/pkgs/tools/networking/gmvault/default.nix
index 4ccd09ac555a..47e1360df8f2 100644
--- a/pkgs/tools/networking/gmvault/default.nix
+++ b/pkgs/tools/networking/gmvault/default.nix
@@ -1,6 +1,6 @@
-{ pkgs, fetchurl, buildPythonApplication, pythonPackages }:
+{ pkgs, fetchurl, pythonPackages }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
   version = "1.8.1-beta";
   name = "gmvault-${version}";
 
diff --git a/pkgs/tools/networking/stunnel/default.nix b/pkgs/tools/networking/stunnel/default.nix
index 114247682c7a..a01c39743fe6 100644
--- a/pkgs/tools/networking/stunnel/default.nix
+++ b/pkgs/tools/networking/stunnel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "stunnel-${version}";
-  version = "5.31";
+  version = "5.36";
 
   src = fetchurl {
     url    = "http://www.stunnel.org/downloads/${name}.tar.gz";
-    sha256 = "1dz0p85ha78vxc2hjhrkr4xf8w3q8r177bqdrgm26v6wncdbfim7";
+    sha256 = "1smmwkzr0i6w4jwrjxazbyf82jq1qlg8x9zil5b51pzwzpy552gb";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/package-management/rpm/default.nix b/pkgs/tools/package-management/rpm/default.nix
index dee408e1d65a..6c3a63119b06 100644
--- a/pkgs/tools/package-management/rpm/default.nix
+++ b/pkgs/tools/package-management/rpm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cpio, zlib, bzip2, file, elfutils, libarchive, nspr, nss, popt, db, xz, python, lua, pkgconfig, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  name = "rpm-4.12.0";
+  name = "rpm-4.13.0-rc1";
 
   src = fetchurl {
-    url = "http://rpm.org/releases/rpm-4.12.x/${name}.tar.bz2";
-    sha256 = "18hk47hc755nslvb7xkq4jb095z7va0nlcyxdpxayc4lmb8mq3bp";
+    url = "http://www.rpm.org/releases/testing/rpm-4.13.0-rc1.tar.bz2";
+    sha256 = "097mc0kkrf09c01hrgi71df7maahmvayfgsvspnxigvl3xysv8hp";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/tools/security/knockknock/default.nix b/pkgs/tools/security/knockknock/default.nix
index 7e4ff32e8805..5ff93ae6a033 100644
--- a/pkgs/tools/security/knockknock/default.nix
+++ b/pkgs/tools/security/knockknock/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pythonPackages, buildPythonApplication, hping }:
+{ stdenv, fetchFromGitHub, pythonPackages, hping }:
 
 pythonPackages.buildPythonApplication rec {
   rev  = "bf14bbff";
diff --git a/pkgs/tools/system/collectd/default.nix b/pkgs/tools/system/collectd/default.nix
index 2aa5f9fb4c4e..fb2a66ecf37e 100644
--- a/pkgs/tools/system/collectd/default.nix
+++ b/pkgs/tools/system/collectd/default.nix
@@ -49,6 +49,11 @@ stdenv.mkDerivation rec {
     varnish yajl jdk libtool python udev net_snmp hiredis libmnl
   ];
 
+  patches = [
+    # Replace deprecated readdir_r() with readdir() to avoid a fatal warning.
+    ./readdir-fix.patch
+  ];
+
   # for some reason libsigrok isn't auto-detected
   configureFlags =
     stdenv.lib.optional (libsigrok != null) "--with-libsigrok" ++
diff --git a/pkgs/tools/system/collectd/readdir-fix.patch b/pkgs/tools/system/collectd/readdir-fix.patch
new file mode 100644
index 000000000000..171dfc689a4d
--- /dev/null
+++ b/pkgs/tools/system/collectd/readdir-fix.patch
@@ -0,0 +1,55 @@
+diff -Naur collectd-5.6.0/src/vserver.c collectd-5.6.0/src/vserver.c
+--- collectd-5.6.0/src/vserver.c	2016-09-11 01:10:25.279038699 -0700
++++ collectd-5.6.0/src/vserver.c	2016-09-25 07:44:40.771177458 -0700
+@@ -132,15 +132,8 @@
+ 
+ static int vserver_read (void)
+ {
+-#if NAME_MAX < 1024
+-# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + 1024 + 1)
+-#else
+-# define DIRENT_BUFFER_SIZE (sizeof (struct dirent) + NAME_MAX + 1)
+-#endif
+-
+ 	DIR 			*proc;
+ 	struct dirent 	*dent; /* 42 */
+-	char dirent_buffer[DIRENT_BUFFER_SIZE];
+ 
+ 	errno = 0;
+ 	proc = opendir (PROCDIR);
+@@ -165,19 +158,23 @@
+ 
+ 		int status;
+ 
+-		status = readdir_r (proc, (struct dirent *) dirent_buffer, &dent);
+-		if (status != 0)
+-		{
+-			char errbuf[4096];
+-			ERROR ("vserver plugin: readdir_r failed: %s",
+-					sstrerror (errno, errbuf, sizeof (errbuf)));
+-			closedir (proc);
+-			return (-1);
+-		}
+-		else if (dent == NULL)
++		errno = 0;
++		dent = readdir (proc);
++		if (dent == NULL)
+ 		{
+-			/* end of directory */
+-			break;
++			if (errno != 0)
++			{
++				char errbuf[4096];
++				ERROR ("vserver plugin: readdir failed: %s",
++						sstrerror (errno, errbuf, sizeof (errbuf)));
++				closedir (proc);
++				return (-1);
++			}
++			else
++			{
++				/* end of directory */
++				break;
++			}
+ 		}
+ 
+ 		if (dent->d_name[0] == '.')
diff --git a/pkgs/tools/system/honcho/default.nix b/pkgs/tools/system/honcho/default.nix
index 7c33d2e166df..6946862422ba 100644
--- a/pkgs/tools/system/honcho/default.nix
+++ b/pkgs/tools/system/honcho/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchFromGitHub, pythonPackages, buildPythonApplication }:
+{ stdenv, fetchFromGitHub, pythonPackages }:
 
-let honcho = buildPythonApplication rec {
+let honcho = pythonPackages.buildPythonApplication rec {
   name = "honcho-${version}";
   version = "0.6.6";
   namePrefix = "";
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index 41b51aa41775..37f5131a0370 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "2.9.9";
+  version = "3.0.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "1xi5d49zmcczya4iq662wkx39slrk3d4p2dzpfjcc0m0hs1y1b5y";
+    sha256 = "0r986mvh6q1f7369qry2vq4rqc6kc4kq957s2g5qsl8m1pyw2mvx";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index e2786ea77fef..eed5c06552b2 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl, openssl, bison, flex, pam, usePAM ? stdenv.isLinux }:
 
 stdenv.mkDerivation rec {
-  name = "monit-5.10";
-  
+  name = "monit-5.19.0";
+
   src = fetchurl {
     url = "${meta.homepage}dist/${name}.tar.gz";
-    sha256 = "0lwlils6b59kr6zg328q113c7mrpggqydpq4l6j52sqv3dd1b49p";
+    sha256 = "1f32dz7zzp575d35m8xkgjgrqs2vbls0q6vdzm7wwashcm1xbz5y";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/tools/text/ripgrep/default.nix b/pkgs/tools/text/ripgrep/default.nix
new file mode 100644
index 000000000000..ca08a2371283
--- /dev/null
+++ b/pkgs/tools/text/ripgrep/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper }:
+
+with rustPlatform;
+
+buildRustPackage rec {
+  name = "ripgrep-${version}";
+  version = "0.1.17";
+
+  src = fetchFromGitHub {
+    owner = "BurntSushi";
+    repo = "ripgrep";
+    rev = "${version}";
+    sha256 = "18bpb1jl9fnipgp9icf1wwzm7934lk0ycbpvzlhvs2873zqhv6a6";
+  };
+
+  depsSha256 = "0fzjk5qynxivxmmz7r1za7mzdbdwzwwvxlc5a6cmxmzwnix2lby3";
+
+  meta = with stdenv.lib; {
+    description = "An untility that combines the usability of The Silver Searcher with the raw speed of grep";
+    homepage = https://github.com/BurntSushi/ripgrep;
+    license = with licenses; [ unlicense ];
+    maintainers = [ maintainers.tailhook ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 59059c632b97..89ed36231a2a 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, python
+{ fetchurl, stdenv, python2
 
 , enableStandardFeatures ? false
 , sourceHighlight ? null
@@ -148,7 +148,7 @@ stdenv.mkDerivation rec {
     sha256 = "1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq";
   };
 
-  buildInputs = [ python unzip ];
+  buildInputs = [ python2 unzip ];
 
   # install filters early, so their shebangs are patched too
   patchPhase = with stdenv.lib; ''
@@ -247,7 +247,7 @@ stdenv.mkDerivation rec {
         -i a2x.py
   '' + ''
     for n in $(find "$out" . -name \*.py); do
-      sed -i -e "s,^#![[:space:]]*.*/bin/env python,#!${python}/bin/python,g" "$n"
+      sed -i -e "s,^#![[:space:]]*.*/bin/env python,#!${python2}/bin/python,g" "$n"
       chmod +x "$n"
     done
 
diff --git a/pkgs/tools/typesetting/odpdown/default.nix b/pkgs/tools/typesetting/odpdown/default.nix
index fe1e915e27bf..140784fa9369 100644
--- a/pkgs/tools/typesetting/odpdown/default.nix
+++ b/pkgs/tools/typesetting/odpdown/default.nix
@@ -1,8 +1,6 @@
-{ stdenv, fetchurl, buildPythonApplication, libreoffice, lpod, lxml, mistune, pillow
-, pygments
-}:
+{ stdenv, fetchurl, pythonPackages, libreoffice }:
 
-buildPythonApplication rec {
+pythonPackages.buildPythonApplication rec {
 
   name = "odpdown-${version}";
   version = "0.4.1";
@@ -12,7 +10,7 @@ buildPythonApplication rec {
     sha256 = "005eecc73c65b9d4c09532547940718a7b308cd565f62a213dfa040827d4d565";
   };
 
-  propagatedBuildInputs = [ libreoffice lpod lxml mistune pillow pygments ];
+  propagatedBuildInputs = with pythonPackages; [ libreoffice lpod lxml mistune pillow pygments ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/thorstenb/odpdown;
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 0c93a212f802..cc09abc49b53 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -114,4 +114,20 @@ doNotDisplayTwice rec {
   xlibs = xorg; # added 2015-09
   youtubeDL = youtube-dl;  # added 2014-10-26
   m3d-linux = m33-linux; # added 2016-08-13
-}
+
+  inherit (ocaml-ng) # added 2016-09-14
+    ocamlPackages_3_10_0 ocamlPackages_3_11_2 ocamlPackages_3_12_1
+    ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02
+    ocamlPackages_4_03
+    ocamlPackages_latest;
+} // (with ocaml-ng; { # added 2016-09-14
+  ocaml_3_08_0 = ocamlPackages_3_08_0.ocaml;
+  ocaml_3_10_0 = ocamlPackages_3_10_0.ocaml;
+  ocaml_3_11_2 = ocamlPackages_3_11_2.ocaml;
+  ocaml_3_12_1 = ocamlPackages_3_12_1.ocaml;
+  ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml;
+  ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml;
+  ocaml_4_02   = ocamlPackages_4_02.ocaml;
+  ocaml_4_03   = ocamlPackages_4_03.ocaml;
+  ocaml        = ocamlPackages.ocaml;
+})
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 43e5255fd413..532ed12a30a2 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -931,18 +931,18 @@ in
   appdata-tools = callPackage ../tools/misc/appdata-tools { };
 
   asciidoc = callPackage ../tools/typesetting/asciidoc {
-    inherit (pythonPackages) matplotlib numpy aafigure recursivePthLoader;
+    inherit (python2Packages) matplotlib numpy aafigure recursivePthLoader;
     w3m = w3m-batch;
     enableStandardFeatures = false;
   };
 
   asciidoc-full = appendToName "full" (asciidoc.override {
-    inherit (pythonPackages) pygments;
+    inherit (python2Packages) pygments;
     enableStandardFeatures = true;
   });
 
   asciidoc-full-with-plugins = appendToName "full-with-plugins" (asciidoc.override {
-    inherit (pythonPackages) pygments;
+    inherit (python2Packages) pygments;
     enableStandardFeatures = true;
     enableExtraPlugins = true;
   });
@@ -1136,8 +1136,6 @@ in
 
   libpinyin = callPackage ../development/libraries/libpinyin { };
 
-  ibus-libpinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-libpinyin { };
-
   m17n_db = callPackage ../tools/inputmethods/m17n-db { };
 
   m17n_lib = callPackage ../tools/inputmethods/m17n-lib { };
@@ -1783,6 +1781,8 @@ in
     ruby = ruby_2_2;
   };
 
+  gitlab-runner = callPackage ../development/tools/continuous-integration/gitlab-runner { };
+
   gitlab-shell = callPackage ../applications/version-management/gitlab-shell {
     ruby = ruby_2_2;
   };
@@ -1899,6 +1899,7 @@ in
   graphviz_2_32 = callPackage ../tools/graphics/graphviz/2.32.nix { };
 
   grin = callPackage ../tools/text/grin { };
+  ripgrep = callPackage ../tools/text/ripgrep { };
 
   grive = callPackage ../tools/filesystems/grive {
     json_c = json-c-0-11; # won't configure with 0.12; others are vulnerable
@@ -2477,6 +2478,10 @@ in
 
   libmongo-client = callPackage ../development/libraries/libmongo-client { };
 
+  libnabo = callPackage ../development/libraries/libnabo { };
+
+  libpointmatcher = callPackage ../development/libraries/libpointmatcher { };
+
   libtorrent = callPackage ../tools/networking/p2p/libtorrent { };
 
   libmpack = callPackage ../development/libraries/libmpack { };
@@ -2907,9 +2912,7 @@ in
 
   obnam = callPackage ../tools/backup/obnam { };
 
-  odpdown = callPackage ../tools/typesetting/odpdown {
-    inherit (pythonPackages) lpod lxml mistune pillow pygments;
-  };
+  odpdown = callPackage ../tools/typesetting/odpdown { };
 
   odt2txt = callPackage ../tools/text/odt2txt { };
 
@@ -3002,7 +3005,8 @@ in
     owncloud80
     owncloud81
     owncloud82
-    owncloud90;
+    owncloud90
+    owncloud91;
 
   owncloud-client = callPackage ../applications/networking/owncloud-client { };
 
@@ -3272,11 +3276,9 @@ in
 
   pygmentex = callPackage ../tools/typesetting/pygmentex { };
 
-  pystringtemplate = callPackage ../development/python-modules/stringtemplate { };
-
   pythonIRClib = pythonPackages.pythonIRClib;
 
-  pythonSexy = callPackage ../development/python-modules/libsexy { };
+  pythonSexy = pythonPackages.libsexy;
 
   pytrainer = callPackage ../applications/misc/pytrainer { };
 
@@ -3484,6 +3486,8 @@ in
 
   safe-rm = callPackage ../tools/system/safe-rm { };
 
+  salt = callPackage ../tools/admin/salt {};
+
   salut_a_toi = callPackage ../applications/networking/instant-messengers/salut-a-toi {};
 
   samplicator = callPackage ../tools/networking/samplicator { };
@@ -4179,9 +4183,7 @@ in
 
   wv2 = callPackage ../tools/misc/wv2 { };
 
-  wyrd = callPackage ../tools/misc/wyrd {
-    inherit (ocamlPackages) camlp4;
-  };
+  inherit (ocamlPackages) wyrd;
 
   x86info = callPackage ../os-specific/linux/x86info { };
 
@@ -4232,10 +4234,6 @@ in
 
   xflux = callPackage ../tools/misc/xflux { };
   xflux-gui = callPackage ../tools/misc/xflux/gui.nix {
-    pexpect = pythonPackages.pexpect;
-    pyGtkGlade = pythonPackages.pyGtkGlade;
-    pygobject = pythonPackages.pygobject2;
-    pyxdg = pythonPackages.pyxdg;
     gnome_python = gnome2.gnome_python;
   };
 
@@ -4287,11 +4285,7 @@ in
 
   zbackup = callPackage ../tools/backup/zbackup {};
 
-  zbar = callPackage ../tools/graphics/zbar {
-    pygtk = lib.overrideDerivation pygtk (x: {
-      gtk = gtk2;
-    });
-  };
+  zbar = callPackage ../tools/graphics/zbar { };
 
   zdelta = callPackage ../tools/compression/zdelta { };
 
@@ -4460,14 +4454,7 @@ in
 
   cmucl_binary = callPackage_i686 ../development/compilers/cmucl/binary.nix { };
 
-  compcert = callPackage ../development/compilers/compcert ((
-    if system == "x86_64-linux"
-    then { tools = pkgsi686Linux.stdenv.cc; }
-    else {}
-  ) // {
-    ocamlPackages = ocamlPackages_4_02;
-    coq = coq_8_5;
-  });
+  inherit (ocaml-ng.ocamlPackages_4_02) compcert;
 
   # Users installing via `nix-env` will likely be using the REPL,
   # which has a hard dependency on Z3, so make sure it is available.
@@ -4779,9 +4766,7 @@ in
     postFixup = "rm -rf $out/lib $out/nix-support $out/share/doc";
   });
 
-  haxe = callPackage ../development/compilers/haxe {
-    inherit (ocamlPackages) camlp4;
-  };
+  inherit (ocamlPackages) haxe;
 
   hxcpp = callPackage ../development/compilers/haxe/hxcpp.nix { };
 
@@ -4791,10 +4776,10 @@ in
 
   falcon = callPackage ../development/interpreters/falcon { };
 
-  fsharp = callPackage ../development/compilers/fsharp {};
+  fsharp = callPackage ../development/compilers/fsharp { };
 
   fstar = callPackage ../development/compilers/fstar {
-    ocamlPackages = ocamlPackages_4_02;
+    ocamlPackages = ocaml-ng.ocamlPackages_4_02;
   };
 
   dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix {});
@@ -4898,8 +4883,6 @@ in
 
   jrePlugin = jre8Plugin;
 
-  jre6Plugin = lowPrio (pkgs.jdkdistro false true);
-
   jre7Plugin = lowPrio (pkgs.oraclejdk7distro false true);
 
   jre8Plugin = lowPrio (pkgs.oraclejdk8distro false true);
@@ -4908,10 +4891,7 @@ in
     system == "i686-linux" ||
     system == "x86_64-linux";
 
-  jdkdistro = installjdk: pluginSupport:
-    assert supportsJDK;
-    (if pluginSupport then appendToName "with-plugin" else x: x)
-      (callPackage ../development/compilers/oraclejdk/jdk6-linux.nix { });
+  jdkdistro = oraclejdk8distro;
 
   oraclejdk7distro = installjdk: pluginSupport:
     assert supportsJDK;
@@ -5047,23 +5027,9 @@ in
 
   nvidia_cg_toolkit = callPackage ../development/compilers/nvidia-cg-toolkit { };
 
-  ocaml = ocamlPackages.ocaml;
-
-  ocaml_3_08_0 = callPackage ../development/compilers/ocaml/3.08.0.nix { };
-
-  ocaml_3_10_0 = callPackage ../development/compilers/ocaml/3.10.0.nix { };
-
-  ocaml_3_11_2 = callPackage ../development/compilers/ocaml/3.11.2.nix { };
-
-  ocaml_3_12_1 = callPackage ../development/compilers/ocaml/3.12.1.nix { };
-
-  ocaml_4_00_1 = callPackage ../development/compilers/ocaml/4.00.1.nix { };
-
-  ocaml_4_01_0 = callPackage ../development/compilers/ocaml/4.01.0.nix { };
+  ocaml-ng = callPackage ./ocaml-packages.nix { };
 
-  ocaml_4_02 = callPackage ../development/compilers/ocaml/4.02.nix { };
-
-  ocaml_4_03 = callPackage ../development/compilers/ocaml/4.03.nix { };
+  ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
 
   orc = callPackage ../development/compilers/orc { };
 
@@ -5071,631 +5037,17 @@ in
 
   ber_metaocaml_003 = callPackage ../development/compilers/ocaml/ber-metaocaml-003.nix { };
 
-  mkOcamlPackages = ocaml: self:
-    let
-      callPackage = newScope self;
-      ocaml_version = (builtins.parseDrvName ocaml.name).version;
-    in rec {
-    inherit ocaml;
-    buildOcaml = callPackage ../build-support/ocaml { };
-
-    acgtk = callPackage ../applications/science/logic/acgtk { };
-
-    alcotest = callPackage ../development/ocaml-modules/alcotest {};
-
-    ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
-
-    asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
-
-    async_extra_p4 = callPackage ../development/ocaml-modules/async_extra { };
-
-    async_find = callPackage ../development/ocaml-modules/async_find { };
-
-    async_kernel_p4 = callPackage ../development/ocaml-modules/async_kernel { };
-
-    async_shell = callPackage ../development/ocaml-modules/async_shell { };
-
-    async_ssl = callPackage ../development/ocaml-modules/async_ssl { };
-
-    async_unix_p4 = callPackage ../development/ocaml-modules/async_unix { };
-
-    async_p4 =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/async { }
-      else null;
-
-    atd = callPackage ../development/ocaml-modules/atd { };
-
-    atdgen = callPackage ../development/ocaml-modules/atdgen { };
-
-    base64 = callPackage ../development/ocaml-modules/base64 { };
-
-    bolt = callPackage ../development/ocaml-modules/bolt { };
-
-    bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { };
-    bitstring_git   = callPackage ../development/ocaml-modules/bitstring { };
-
-    bitstring =
-      if lib.versionOlder "4.02" ocaml_version
-      then bitstring_git
-      else bitstring_2_0_4;
-
-    camlidl = callPackage ../development/tools/ocaml/camlidl { };
-
-    camlp4 =
-      if lib.versionOlder "4.03" ocaml_version
-      then callPackage ../development/tools/ocaml/camlp4/4_03.nix { }
-      else if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/tools/ocaml/camlp4 { }
-      else null;
-
-    camlp5_old_strict =
-      if lib.versionOlder "4.00" ocaml_version
-      then camlp5_6_strict
-      else callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
-
-    camlp5_old_transitional =
-      if lib.versionOlder "4.00" ocaml_version
-      then camlp5_6_transitional
-      else callPackage ../development/tools/ocaml/camlp5/5.15.nix {
-        transitional = true;
-      };
-
-    camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { };
-
-    camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 {
-      transitional = true;
-    };
-
-    camlp5_strict = camlp5_6_strict;
-
-    camlp5_transitional = camlp5_6_transitional;
-
-    camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
-
-    calendar = callPackage ../development/ocaml-modules/calendar { };
-
-    camlzip = callPackage ../development/ocaml-modules/camlzip { };
-
-    camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
-    camomile = callPackage ../development/ocaml-modules/camomile { };
-
-    camlimages_4_0 = callPackage ../development/ocaml-modules/camlimages/4.0.nix {
-      libpng = libpng12;
-      giflib = giflib_4_1;
-    };
-    camlimages_4_1 = callPackage ../development/ocaml-modules/camlimages/4.1.nix {
-      giflib = giflib_4_1;
-    };
-    camlimages = camlimages_4_1;
-
-    conduit = callPackage ../development/ocaml-modules/conduit {
-       lwt = ocaml_lwt;
-    };
-
-    biniou = callPackage ../development/ocaml-modules/biniou { };
-
-    bin_prot_p4 = callPackage ../development/ocaml-modules/bin_prot { };
-
-    ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
-
-    ocaml_cairo2 = callPackage ../development/ocaml-modules/ocaml-cairo2 { };
-
-    cil = callPackage ../development/ocaml-modules/cil { };
-
-    cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
-
-    cohttp = callPackage ../development/ocaml-modules/cohttp {
-      lwt = ocaml_lwt;
-    };
-
-    config-file = callPackage ../development/ocaml-modules/config-file { };
-
-    containers = callPackage ../development/ocaml-modules/containers { };
-
-    cpdf = callPackage ../development/ocaml-modules/cpdf { };
-
-    cppo = callPackage ../development/tools/ocaml/cppo { };
-
-    cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
-
-    cstruct = callPackage ../development/ocaml-modules/cstruct {
-      lwt = ocaml_lwt;
-    };
-
-    csv = callPackage ../development/ocaml-modules/csv { };
-
-    custom_printf = callPackage ../development/ocaml-modules/custom_printf { };
-
-    ctypes = callPackage ../development/ocaml-modules/ctypes { };
-
-    dolog = callPackage ../development/ocaml-modules/dolog { };
-
-    easy-format = callPackage ../development/ocaml-modules/easy-format { };
-
-    eff = callPackage ../development/interpreters/eff { };
-
-    eliom = callPackage ../development/ocaml-modules/eliom { };
-
-    enumerate = callPackage ../development/ocaml-modules/enumerate { };
-
-    erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
-
-    erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
-
-    estring = callPackage ../development/ocaml-modules/estring { };
-
-    ezjsonm = callPackage ../development/ocaml-modules/ezjsonm {
-      lwt = ocaml_lwt;
-    };
-
-    faillib = callPackage ../development/ocaml-modules/faillib { };
-
-    fieldslib_p4 = callPackage ../development/ocaml-modules/fieldslib { };
-
-    fileutils = callPackage ../development/ocaml-modules/fileutils { };
-
-    findlib = callPackage ../development/tools/ocaml/findlib { };
-
-    fix = callPackage ../development/ocaml-modules/fix { };
-
-    fontconfig = callPackage ../development/ocaml-modules/fontconfig {
-      inherit (pkgs) fontconfig;
-    };
-
-    functory = callPackage ../development/ocaml-modules/functory { };
-
-    gen = callPackage ../development/ocaml-modules/gen { };
-
-    herelib = callPackage ../development/ocaml-modules/herelib { };
-
-    io-page = callPackage ../development/ocaml-modules/io-page { };
-
-    ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
-
-    iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
-
-    javalib = callPackage ../development/ocaml-modules/javalib {
-      extlib = ocaml_extlib_maximal;
-    };
-
-    dypgen = callPackage ../development/ocaml-modules/dypgen { };
-
-    gapi_ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
-
-    gg = callPackage ../development/ocaml-modules/gg { };
-
-    gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
-
-    gtktop = callPackage ../development/ocaml-modules/gtktop { };
-
-    hex = callPackage ../development/ocaml-modules/hex { };
-
-    jingoo = callPackage ../development/ocaml-modules/jingoo {
-      batteries = ocaml_batteries;
-      pcre = ocaml_pcre;
-    };
-
-    js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
-
-    jsonm = callPackage ../development/ocaml-modules/jsonm { };
-
-    lablgl = callPackage ../development/ocaml-modules/lablgl { };
-
-    lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
-      inherit (gnome2) libgnomecanvas libglade gtksourceview;
-    };
-    lablgtk = callPackage ../development/ocaml-modules/lablgtk {
-      inherit (gnome2) libgnomecanvas libglade gtksourceview;
-    };
-
-    lablgtk-extras =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/lablgtk-extras { }
-      else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
-
-    lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview {
-      gtkmathview = callPackage ../development/libraries/gtkmathview { };
-    };
-
-    lambdaTerm-1_6 = callPackage ../development/ocaml-modules/lambda-term/1.6.nix { };
-    lambdaTerm =
-      if lib.versionOlder "4.01" ocaml_version
-      then callPackage ../development/ocaml-modules/lambda-term { }
-      else lambdaTerm-1_6;
-
-    llvm = callPackage ../development/ocaml-modules/llvm {
-      llvm = pkgs.llvm_37;
-    };
-
-    macaque = callPackage ../development/ocaml-modules/macaque { };
-
-    magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
-
-    magick = callPackage ../development/ocaml-modules/magick { };
-
-    markup = callPackage ../development/ocaml-modules/markup { lwt = ocaml_lwt; };
-
-    menhir = callPackage ../development/ocaml-modules/menhir { };
-
-    merlin = callPackage ../development/tools/ocaml/merlin { };
-
-    mezzo = callPackage ../development/compilers/mezzo { };
-
-    mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };
-
-    nocrypto =  callPackage ../development/ocaml-modules/nocrypto { };
-
-    ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
-
-    comparelib = callPackage ../development/ocaml-modules/comparelib { };
-
-    core_extended_p4 = callPackage ../development/ocaml-modules/core_extended { };
-
-    core_kernel_p4 = callPackage ../development/ocaml-modules/core_kernel { };
-
-    core_p4 = callPackage ../development/ocaml-modules/core { };
-
-    ocamlbuild =
-    if lib.versionOlder "4.03" ocaml_version then
-    callPackage ../development/tools/ocaml/ocamlbuild { }
-    else
-    null;
-
-    ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
-
-    ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
-
-    ocaml_expat = callPackage ../development/ocaml-modules/expat { };
-
-    frontc = callPackage ../development/ocaml-modules/frontc { };
-
-    ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
-
-    ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
-
-    ocaml_http = callPackage ../development/ocaml-modules/http { };
-
-    ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
-
-    ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
-
-    ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
-
-    ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
-
-    ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
-
-    ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
-
-    ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { };
-
-    ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
-
-    pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
-
-    ocaml_react = callPackage ../development/ocaml-modules/react { };
-    reactivedata = callPackage ../development/ocaml-modules/reactivedata {};
-
-    ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
-
-    ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
-
-    ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
-
-    ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
-
-    ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
-
-    ocpBuild = callPackage ../development/tools/ocaml/ocp-build { };
-
-    ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { };
-
-    ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
-
-    ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
-
-    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
-
-    ojquery = callPackage ../development/ocaml-modules/ojquery { };
-
-    otfm = callPackage ../development/ocaml-modules/otfm { };
-
-    ounit = callPackage ../development/ocaml-modules/ounit { };
-
-    piqi = callPackage ../development/ocaml-modules/piqi { };
-    piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };
-
-    re2_p4 = callPackage ../development/ocaml-modules/re2 { };
-
-    result = callPackage ../development/ocaml-modules/ocaml-result { };
-
-    sequence = callPackage ../development/ocaml-modules/sequence { };
-
-    sqlexpr = callPackage ../development/ocaml-modules/sqlexpr { };
-
-    tuntap = callPackage ../development/ocaml-modules/tuntap { };
-
-    tyxml = callPackage ../development/ocaml-modules/tyxml { };
-
-    ulex = callPackage ../development/ocaml-modules/ulex { };
-
-    ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
-      camlp5 = camlp5_transitional;
-    };
-
-    textutils_p4 = callPackage ../development/ocaml-modules/textutils { };
-
-    type_conv_108_08_00 = callPackage ../development/ocaml-modules/type_conv/108.08.00.nix { };
-    type_conv_109_60_01 = callPackage ../development/ocaml-modules/type_conv/109.60.01.nix { };
-    type_conv_112_01_01 = callPackage ../development/ocaml-modules/type_conv/112.01.01.nix { };
-    type_conv =
-      if lib.versionOlder "4.02" ocaml_version
-      then type_conv_112_01_01
-      else if lib.versionOlder "4.00" ocaml_version
-      then type_conv_109_60_01
-      else if lib.versionOlder "3.12" ocaml_version
-      then type_conv_108_08_00
-      else null;
-
-    sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix { };
-    sexplib_111_25_00 = callPackage ../development/ocaml-modules/sexplib/111.25.00.nix { };
-    sexplib_112_24_01 = callPackage ../development/ocaml-modules/sexplib/112.24.01.nix { };
-
-    sexplib_p4 =
-      if lib.versionOlder "4.02" ocaml_version
-      then sexplib_112_24_01
-      else if lib.versionOlder "4.00" ocaml_version
-      then sexplib_111_25_00
-      else if lib.versionOlder "3.12" ocaml_version
-      then sexplib_108_08_00
-      else null;
-
-    ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
-    ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib {
-      minimal = false;
-    };
-
-    ocurl = callPackage ../development/ocaml-modules/ocurl { };
-
-    pa_ounit = callPackage ../development/ocaml-modules/pa_ounit { };
-
-    pa_bench = callPackage ../development/ocaml-modules/pa_bench { };
-
-    pa_test = callPackage ../development/ocaml-modules/pa_test { };
-
-    pipebang = callPackage ../development/ocaml-modules/pipebang { };
-
-    pprint = callPackage ../development/ocaml-modules/pprint { };
-
-    ppx_blob =
-      if lib.versionAtLeast ocaml_version "4.02"
-      then callPackage ../development/ocaml-modules/ppx_blob {}
-      else null;
-
-    ppx_deriving =
-      if lib.versionAtLeast ocaml_version "4.02"
-      then callPackage ../development/ocaml-modules/ppx_deriving {}
-      else null;
-
-    ppx_tools =
-      if lib.versionAtLeast ocaml_version "4.02"
-      then callPackage ../development/ocaml-modules/ppx_tools {}
-      else null;
-
-    pycaml = callPackage ../development/ocaml-modules/pycaml { };
-
-    qcheck = callPackage ../development/ocaml-modules/qcheck {
-      oasis = ocaml_oasis;
-    };
-
-    qtest = callPackage ../development/ocaml-modules/qtest { };
-
-    re = callPackage ../development/ocaml-modules/re { };
-
-    safepass = callPackage ../development/ocaml-modules/safepass { };
-
-    sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
-
-    stringext = callPackage ../development/ocaml-modules/stringext { };
-
-    topkg = callPackage ../development/ocaml-modules/topkg { };
-
-    tsdl = callPackage ../development/ocaml-modules/tsdl { };
-
-    twt = callPackage ../development/ocaml-modules/twt { };
-
-    typerep_p4 = callPackage ../development/ocaml-modules/typerep { };
-
-    utop = callPackage ../development/tools/ocaml/utop { };
-
-    uuidm = callPackage ../development/ocaml-modules/uuidm { };
-
-    sawja = callPackage ../development/ocaml-modules/sawja { };
-
-    uucd = callPackage ../development/ocaml-modules/uucd { };
-    uucp = callPackage ../development/ocaml-modules/uucp { };
-    uunf = callPackage ../development/ocaml-modules/uunf { };
-
-    uri = callPackage ../development/ocaml-modules/uri { };
-
-    uuseg = callPackage ../development/ocaml-modules/uuseg { };
-    uutf = callPackage ../development/ocaml-modules/uutf { };
-
-    variantslib_p4 = callPackage ../development/ocaml-modules/variantslib { };
-
-    vg = callPackage ../development/ocaml-modules/vg { };
-
-    x509 = callPackage ../development/ocaml-modules/x509 { };
-
-    xmlm = callPackage ../development/ocaml-modules/xmlm { };
-
-    xml-light = callPackage ../development/ocaml-modules/xml-light { };
-
-    yojson = callPackage ../development/ocaml-modules/yojson { };
-
-    zarith = callPackage ../development/ocaml-modules/zarith { };
-
-    zed = callPackage ../development/ocaml-modules/zed { };
-
-    ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving {
-      oasis = ocaml_oasis;
-    };
-
-    # Jane Street
-    js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
-
-    buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
-
-    ppx_core = callPackage ../development/ocaml-modules/janestreet/ppx-core.nix {};
-
-    ppx_optcomp = callPackage ../development/ocaml-modules/janestreet/ppx-optcomp.nix {};
-
-    ppx_driver = callPackage ../development/ocaml-modules/janestreet/ppx-driver.nix {};
-
-    ppx_type_conv = callPackage ../development/ocaml-modules/janestreet/ppx-type-conv.nix {};
-
-    ppx_compare = callPackage ../development/ocaml-modules/janestreet/ppx-compare.nix {};
-
-    ppx_here = callPackage ../development/ocaml-modules/janestreet/ppx-here.nix {};
-
-    ppx_sexp_conv = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-conv.nix {};
-
-    ppx_assert = callPackage ../development/ocaml-modules/janestreet/ppx-assert.nix {};
-
-    ppx_inline_test = callPackage ../development/ocaml-modules/janestreet/ppx-inline-test.nix {};
-
-    ppx_bench = callPackage ../development/ocaml-modules/janestreet/ppx-bench.nix {};
-
-    ppx_bin_prot = callPackage ../development/ocaml-modules/janestreet/ppx-bin-prot.nix {};
-
-    ppx_custom_printf = callPackage ../development/ocaml-modules/janestreet/ppx-custom-printf.nix {};
-
-    ppx_enumerate = callPackage ../development/ocaml-modules/janestreet/ppx-enumerate.nix {};
-
-    ppx_fail = callPackage ../development/ocaml-modules/janestreet/ppx-fail.nix {};
-
-    ppx_fields_conv = callPackage ../development/ocaml-modules/janestreet/ppx-fields-conv.nix {};
-
-    ppx_let = callPackage ../development/ocaml-modules/janestreet/ppx-let.nix {};
-
-    ppx_pipebang = callPackage ../development/ocaml-modules/janestreet/ppx-pipebang.nix {};
-
-    ppx_sexp_message = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-message.nix {};
-
-    ppx_sexp_value = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-value.nix {};
-
-    ppx_typerep_conv = callPackage ../development/ocaml-modules/janestreet/ppx-typerep-conv.nix {};
-
-    ppx_variants_conv = callPackage ../development/ocaml-modules/janestreet/ppx-variants-conv.nix {};
-
-    ppx_expect = callPackage ../development/ocaml-modules/janestreet/ppx-expect.nix {};
-
-    ppx_jane = callPackage ../development/ocaml-modules/janestreet/ppx-jane.nix {};
-
-
-    # Core sublibs
-    typerep =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/typerep.nix {}
-      else typerep_p4;
-
-    fieldslib =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/fieldslib.nix {}
-      else fieldslib_p4;
-
-    sexplib =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/sexplib.nix {}
-      else sexplib_p4;
-
-    variantslib =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/variantslib.nix {}
-      else variantslib_p4;
-
-    bin_prot =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/bin_prot.nix {}
-      else bin_prot_p4;
-
-    core_kernel =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/core_kernel.nix {}
-      else core_kernel_p4;
-
-    core =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/core.nix {}
-      else core_p4;
-
-    re2 =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/re2.nix {}
-      else re2_p4;
-
-    textutils =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/textutils.nix {}
-      else textutils_p4;
-
-    core_extended =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/core-extended.nix {}
-      else core_extended_p4;
-
-    async_kernel =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/async-kernel.nix {}
-      else async_kernel_p4;
-
-    async_rpc_kernel = callPackage ../development/ocaml-modules/janestreet/async-rpc-kernel.nix {};
-
-    async_unix =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/async-unix.nix {}
-      else async_unix_p4;
-
-    async_extra =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/async-extra.nix {}
-      else async_extra_p4;
-
-    async =
-      if lib.versionOlder "4.02" ocaml_version
-      then callPackage ../development/ocaml-modules/janestreet/async.nix {}
-      else async_p4;
-  };
-
-  ocamlPackages = recurseIntoAttrs ocamlPackages_4_01_0;
-  ocamlPackages_3_10_0 = (mkOcamlPackages ocaml_3_10_0 pkgs.ocamlPackages_3_10_0)
-  // { lablgtk = ocamlPackages_3_10_0.lablgtk_2_14; };
-  ocamlPackages_3_11_2 = (mkOcamlPackages ocaml_3_11_2 pkgs.ocamlPackages_3_11_2)
-  // { lablgtk = ocamlPackages_3_11_2.lablgtk_2_14; };
-  ocamlPackages_3_12_1 = (mkOcamlPackages ocaml_3_12_1 pkgs.ocamlPackages_3_12_1)
-  // { camlimages = ocamlPackages_3_12_1.camlimages_4_0; };
-  ocamlPackages_4_00_1 = mkOcamlPackages ocaml_4_00_1 pkgs.ocamlPackages_4_00_1;
-  ocamlPackages_4_01_0 = mkOcamlPackages ocaml_4_01_0 pkgs.ocamlPackages_4_01_0;
-  ocamlPackages_4_02 = mkOcamlPackages ocaml_4_02 pkgs.ocamlPackages_4_02;
-  ocamlPackages_4_03 = mkOcamlPackages ocaml_4_03 pkgs.ocamlPackages_4_03;
-  ocamlPackages_latest = ocamlPackages_4_03;
-
   ocaml_make = callPackage ../development/ocaml-modules/ocamlmake { };
 
-  ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
+  inherit (ocamlPackages) ocaml-top;
 
   opa = callPackage ../development/compilers/opa {
     nodejs = nodejs-0_10;
   };
 
-  opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
-  opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix {
-    inherit (ocamlPackages_4_01_0) ocaml;
-  };
-  opam = callPackage ../development/tools/ocaml/opam { };
-
-  ocamlnat = newScope pkgs.ocamlPackages_3_12_1 ../development/ocaml-modules/ocamlnat { };
+  inherit (ocaml-ng.ocamlPackages_4_01_0) opam_1_0_0;
+  inherit (ocaml-ng.ocamlPackages_4_01_0) opam_1_1;
+  inherit (ocamlPackages) opam;
 
   picat = callPackage ../development/compilers/picat {
     stdenv = overrideCC stdenv gcc49;
@@ -5794,17 +5146,7 @@ in
 
   tinycc = callPackage ../development/compilers/tinycc { };
 
-  trv = callPackage ../development/tools/misc/trv {
-   inherit (ocamlPackages_4_02) findlib camlp4
-     async_shell async_find cohttp uri;
-    ocaml = ocaml_4_02;
-    async = ocamlPackages_4_02.async_p4;
-    async_extra = ocamlPackages_4_02.async_extra_p4;
-    async_unix = ocamlPackages_4_02.async_unix_p4;
-    core_extended = ocamlPackages_4_02.core_extended_p4;
-    sexplib = ocamlPackages_4_02.sexplib_p4;
-    core = ocamlPackages_4_02.core_p4;
-  };
+  inherit (ocaml-ng.ocamlPackages_4_01_0) trv;
 
   bupc = callPackage ../development/compilers/bupc { };
 
@@ -6537,9 +5879,7 @@ in
 
   dejagnu = callPackage ../development/tools/misc/dejagnu { };
 
-  dfeet = callPackage ../development/tools/misc/d-feet {
-    inherit (pythonPackages) pep8;
-  };
+  dfeet = callPackage ../development/tools/misc/d-feet { };
 
   dfu-programmer = callPackage ../development/tools/misc/dfu-programmer { };
 
@@ -6807,8 +6147,7 @@ in
   noweb = callPackage ../development/tools/literate-programming/noweb { };
   nuweb = callPackage ../development/tools/literate-programming/nuweb { tex = texlive.combined.scheme-small; };
 
-  omake = callPackage ../development/tools/ocaml/omake { };
-  omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
+  inherit (ocamlPackages) omake omake_rc1;
 
   omniorb = callPackage ../development/tools/omniorb { };
 
@@ -7021,13 +6360,7 @@ in
 
   valkyrie = callPackage ../development/tools/analysis/valkyrie { };
 
-  verasco = callPackage ../development/tools/analysis/verasco ((
-    if system == "x86_64-linux"
-    then { tools = pkgsi686Linux.stdenv.cc; }
-    else {}
-  ) // {
-    ocamlPackages = ocamlPackages_4_02;
-  });
+  inherit (ocaml-ng.ocamlPackages_4_02) verasco;
 
   visualvm = callPackage ../development/tools/java/visualvm { };
 
@@ -7047,9 +6380,7 @@ in
 
   yodl = callPackage ../development/tools/misc/yodl { };
 
-  winpdb = callPackage ../development/tools/winpdb {
-      inherit (pythonPackages) wxPython;
-  };
+  winpdb = callPackage ../development/tools/winpdb { };
 
   grabserial = callPackage ../development/tools/grabserial { };
 
@@ -7242,31 +6573,16 @@ in
 
   clutter = callPackage ../development/libraries/clutter { };
 
-  clutter_1_22 = callPackage ../development/libraries/clutter/1.22.nix {
-    cogl = cogl_1_20;
-  };
-
-  clutter_1_24 = callPackage ../development/libraries/clutter/1.24.nix {
-    cogl = cogl_1_22;
-  };
-
   clutter_1_26 = callPackage ../development/libraries/clutter/1.26.nix {
     cogl = cogl_1_22;
   };
 
-  clutter-gst = callPackage ../development/libraries/clutter-gst { };
-
-  clutter-gst_3_0 = callPackage ../development/libraries/clutter-gst/3.0.nix {
-    clutter = clutter_1_22;
+  clutter-gst = callPackage ../development/libraries/clutter-gst {
+    inherit (gnome3) cogl clutter;
   };
 
-  clutter_gtk = callPackage ../development/libraries/clutter-gtk { };
-  clutter_gtk_0_10 = callPackage ../development/libraries/clutter-gtk/0.10.8.nix { };
-  clutter_gtk_1_6 = callPackage ../development/libraries/clutter-gtk/1.6.nix {
-    clutter = clutter_1_22;
-  };
-  clutter_gtk_1_8 = callPackage ../development/libraries/clutter-gtk/1.8.nix {
-    clutter = clutter_1_26;
+  clutter_gtk = callPackage ../development/libraries/clutter-gtk {
+    inherit (gnome3) clutter;
   };
 
   cminpack = callPackage ../development/libraries/cminpack { };
@@ -7275,8 +6591,6 @@ in
 
   cogl = callPackage ../development/libraries/cogl { };
 
-  cogl_1_20 = callPackage ../development/libraries/cogl/1.20.nix { };
-
   cogl_1_22 = callPackage ../development/libraries/cogl/1.22.nix { };
 
   coin3d = callPackage ../development/libraries/coin3d { };
@@ -7660,12 +6974,7 @@ in
 
   glpk = callPackage ../development/libraries/glpk { };
 
-  glsurf = callPackage ../applications/science/math/glsurf {
-    inherit (ocamlPackages) lablgl findlib ocaml_mysql mlgmp;
-    libpng = libpng12;
-    giflib = giflib_4_1;
-    camlimages = ocamlPackages.camlimages_4_0;
-  };
+  inherit (ocamlPackages) glsurf;
 
   glui = callPackage ../development/libraries/glui {};
 
@@ -8917,6 +8226,7 @@ in
   };
 
   libxmlxx = callPackage ../development/libraries/libxmlxx { };
+  libxmlxx3 = callPackage ../development/libraries/libxmlxx/v3.nix { };
 
   libxmp = callPackage ../development/libraries/libxmp { };
 
@@ -9224,13 +8534,17 @@ in
 
   openslp = callPackage ../development/libraries/openslp {};
 
-  libressl = libressl_2_4;
+  libressl = libressl_2_5;
   libressl_2_3 = callPackage ../development/libraries/libressl/2.3.nix {
     fetchurl = fetchurlBoot;
   };
   libressl_2_4 = callPackage ../development/libraries/libressl/2.4.nix {
     fetchurl = fetchurlBoot;
   };
+  libressl_2_5 = callPackage ../development/libraries/libressl/2.5.nix {
+    fetchurl = fetchurlBoot;
+  };
+
 
   boringssl = callPackage ../development/libraries/boringssl { };
 
@@ -9966,6 +9280,10 @@ in
     graphviz = graphviz-nox;
   };
 
+  wayland_1_9 = callPackage ../development/libraries/wayland/1.9.nix {
+    graphviz = graphviz-nox;
+  };
+
   wayland-protocols = callPackage ../development/libraries/wayland/protocols.nix { };
 
   webkit = webkitgtk;
@@ -10313,10 +9631,6 @@ in
 
   ### DEVELOPMENT / PYTHON MODULES
 
-  # python function with default python interpreter
-  buildPythonPackage = pythonPackages.buildPythonPackage;
-  buildPythonApplication = pythonPackages.buildPythonApplication;
-
   # `nix-env -i python-nose` installs for 2.7, the default python.
   # Therefore we do not recurse into attributes here, in contrast to
   # python27Packages. `nix-env -iA python26Packages.nose` works
@@ -10356,42 +9670,6 @@ in
     self = pypyPackages;
   };
 
-  pycapnp = pythonPackages.pycapnp;
-
-  pyexiv2 = pythonPackages.pyexiv2;
-
-  inherit (self.pythonPackages)
-    pygtk
-    pygobject2 pygobject3;
-
-  pygtksourceview = pythonPackages.pygtksourceview;
-
-  pyGtkGlade = pythonPackages.pyGtkGlade;
-
-  rhpl = pythonPackages.rhpl;
-
-  pysideApiextractor = pythonPackages.pysideApiextractor;
-
-  pysideGeneratorrunner = pythonPackages.pysideGeneratorrunner;
-
-  pyside = pythonPackages.pyside;
-
-  pysideTools = pythonPackages.pysideTools;
-
-  pysideShiboken = pythonPackages.pysideShiboken;
-
-  pyxml = pythonPackages.pyxml;
-
-  rbtools = pythonPackages.rbtools;
-
-  rebol =  callPackage ../development/interpreters/rebol { };
-
-  slowaes = pythonPackages.slowaes;
-
-  yolk = callPackage ../development/python-modules/yolk {};
-
-  ZopeInterface = pythonPackages.zope_interface;
-
   ### DEVELOPMENT / R MODULES
 
   R = callPackage ../applications/science/math/R {
@@ -10849,6 +10127,8 @@ in
     inherit (darwin.apple_sdk.frameworks) AppKit Carbon Cocoa;
   };
 
+  radicale = callPackage ../servers/radicale { };
+
   rake = callPackage ../development/tools/build-managers/rake { };
 
   redis = callPackage ../servers/nosql/redis { };
@@ -11398,7 +10678,7 @@ in
   };
 
   linux_3_10 = callPackage ../os-specific/linux/kernel/linux-3.10.nix {
-    kernelPatches = with kernelPatches; [ bridge_stp_helper link_lguest link_apm ]
+    kernelPatches = with kernelPatches; [ bridge_stp_helper ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -11407,7 +10687,7 @@ in
   };
 
   linux_3_12 = callPackage ../os-specific/linux/kernel/linux-3.12.nix {
-    kernelPatches = with kernelPatches; [ bridge_stp_helper crc_regression link_lguest ]
+    kernelPatches = with kernelPatches; [ bridge_stp_helper crc_regression ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
         kernelPatches.mips_fpu_sigill
@@ -11447,18 +10727,6 @@ in
       ];
   };
 
-  linux_4_6 = callPackage ../os-specific/linux/kernel/linux-4.6.nix {
-    kernelPatches =
-      [ kernelPatches.bridge_stp_helper
-        kernelPatches.cpu-cgroup-v2."4.6"
-      ]
-      ++ lib.optionals ((platform.kernelArch or null) == "mips")
-      [ kernelPatches.mips_fpureg_emu
-        kernelPatches.mips_fpu_sigill
-        kernelPatches.mips_ext3_n32
-      ];
-  };
-
   linux_4_7 = callPackage ../os-specific/linux/kernel/linux-4.7.nix {
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
@@ -11640,7 +10908,6 @@ in
   linuxPackages_3_18 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_18 linuxPackages_3_18);
   linuxPackages_4_1 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_1 linuxPackages_4_1);
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4 linuxPackages_4_4);
-  linuxPackages_4_6 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_6 linuxPackages_4_6);
   linuxPackages_4_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_7 linuxPackages_4_7);
   # Don't forget to update linuxPackages_latest!
 
@@ -13316,6 +12583,8 @@ in
 
   keepass-keefox = callPackage ../applications/misc/keepass-plugins/keefox { };
 
+  keepass-keepasshttp = callPackage ../applications/misc/keepass-plugins/keepasshttp { };
+
   exrdisplay = callPackage ../applications/graphics/exrdisplay { };
 
   exrtools = callPackage ../applications/graphics/exrtools { };
@@ -13362,7 +12631,7 @@ in
   gksu = callPackage ../applications/misc/gksu { };
 
   gnuradio = callPackage ../applications/misc/gnuradio {
-    inherit (pythonPackages) lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython;
+    inherit (pythonPackages) lxml matplotlib numpy python pyopengl pyqt4 scipy wxPython pygtk;
     fftw = fftwFloat;
   };
 
@@ -13376,7 +12645,7 @@ in
 
   goldendict = qt55.callPackage ../applications/misc/goldendict { };
 
-  google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
+  inherit (ocamlPackages) google-drive-ocamlfuse;
 
   google-musicmanager = callPackage ../applications/audio/google-musicmanager { };
 
@@ -13498,7 +12767,6 @@ in
   freecad = callPackage ../applications/graphics/freecad {
     boost = boost155;
     opencascade = opencascade_oce;
-    inherit (pythonPackages) matplotlib pycollada pivy;
   };
 
   freemind = callPackage ../applications/misc/freemind { };
@@ -13533,7 +12801,6 @@ in
     inherit (gnome2) libart_lgpl;
     webkit = null;
     lcms = lcms2;
-    wrapPython = pythonPackages.wrapPython;
   };
 
   gimp = gimp_2_8;
@@ -13876,7 +13143,6 @@ in
   inginious = callPackage ../servers/inginious {};
 
   inkscape = callPackage ../applications/graphics/inkscape {
-    inherit (pythonPackages) python pyxml lxml numpy;
     lcms = lcms2;
   };
 
@@ -13962,9 +13228,7 @@ in
 
   kdevplatform = kde5.callPackage ../applications/editors/kdevelop5/kdevplatform.nix {};
 
-  keepnote = callPackage ../applications/office/keepnote {
-    pygtk = pyGtkGlade;
-  };
+  keepnote = callPackage ../applications/office/keepnote { };
 
   kermit = callPackage ../tools/misc/kermit { };
 
@@ -14125,10 +13389,7 @@ in
     bison = bison2;
   };
 
-  llpp = callPackage ../applications/misc/llpp {
-    inherit (ocamlPackages_4_02) lablgl findlib;
-    ocaml = ocaml_4_02;
-  };
+  inherit (ocaml-ng.ocamlPackages_4_02) llpp;
 
   lmms = callPackage ../applications/audio/lmms { };
 
@@ -14221,10 +13482,7 @@ in
 
   mimms = callPackage ../applications/audio/mimms {};
 
-  mirage = callPackage ../applications/graphics/mirage {
-    inherit (pythonPackages) pygtk;
-    inherit (pythonPackages) pillow;
-  };
+  mirage = callPackage ../applications/graphics/mirage { };
 
   mixxx = callPackage ../applications/audio/mixxx {
     inherit (vamp) vampSDK;
@@ -14256,10 +13514,7 @@ in
     lua = lua5;
   };
 
-  monotoneViz = callPackage ../applications/version-management/monotone-viz {
-    inherit (ocamlPackages_4_01_0) lablgtk ocaml camlp4;
-    inherit (gnome2) libgnomecanvas glib;
-  };
+  inherit (ocaml-ng.ocamlPackages_4_01_0) monotoneViz;
 
   moonlight-embedded = callPackage ../applications/misc/moonlight-embedded { };
 
@@ -14359,7 +13614,7 @@ in
       avahi = avahi.override {
         withLibdnssdCompat = true;
       };
-      qt5 = qt55; # Mumble is not compatible with qt55 yet
+      qt5 = qt55; # Mumble doesn't work with newer Qt versions.
       jackSupport = config.mumble.jackSupport or false;
       speechdSupport = config.mumble.speechdSupport or false;
       pulseSupport = config.pulseaudio or false;
@@ -14668,8 +13923,7 @@ in
   pinfo = callPackage ../applications/misc/pinfo { };
 
   pinpoint = callPackage ../applications/office/pinpoint {
-    clutter = clutter_1_24;
-    clutter_gtk = clutter_gtk_1_6;
+    inherit (gnome3) clutter clutter_gtk;
   };
 
   pinta = callPackage ../applications/graphics/pinta {
@@ -15234,7 +14488,6 @@ in
 
   terminator = callPackage ../applications/misc/terminator {
     vte = gnome2.vte.override { pythonSupport = true; };
-    inherit (pythonPackages) notify;
   };
 
   termite = callPackage ../applications/misc/termite {
@@ -15343,10 +14596,7 @@ in
 
   umurmur = callPackage ../applications/networking/umurmur { };
 
-  unison = callPackage ../applications/networking/sync/unison {
-    inherit (ocamlPackages) lablgtk;
-    enableX11 = config.unison.enableX11 or true;
-  };
+  inherit (ocamlPackages) unison;
 
   unpaper = callPackage ../tools/graphics/unpaper { };
 
@@ -15398,7 +14648,9 @@ in
 
   qpdfview = callPackage ../applications/misc/qpdfview {};
 
-  qtile = callPackage ../applications/window-managers/qtile { };
+  qtile = callPackage ../applications/window-managers/qtile {
+    inherit (xorg) libxcb;
+  };
 
   qvim = lowPrio (callPackage ../applications/editors/vim/qvim.nix {
     features = "huge"; # one of  tiny, small, normal, big or huge
@@ -15423,7 +14675,7 @@ in
 
   virt-viewer = callPackage ../applications/virtualization/virt-viewer {
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
-    spice_gtk = spice_gtk.override { enableGTK3 = true; };
+    spice_gtk = spice_gtk;
   };
 
   virtmanager = callPackage ../applications/virtualization/virt-manager {
@@ -15431,7 +14683,7 @@ in
     vte = gnome3.vte;
     dconf = gnome3.dconf;
     gtkvnc = gtkvnc.override { enableGTK3 = true; };
-    spice_gtk = spice_gtk.override { enableGTK3 = true; };
+    spice_gtk = spice_gtk;
     system-libvirt = libvirt;
   };
 
@@ -15818,7 +15070,9 @@ in
   xterm = callPackage ../applications/misc/xterm { };
 
   mlterm = callPackage ../applications/misc/mlterm {
-    vte = gnome3.vte_290;
+    vte = gnome3.vte;
+    libssh2 = null;
+    openssl = null;
   };
 
   finalterm = callPackage ../applications/misc/finalterm { };
@@ -15888,9 +15142,7 @@ in
    SDL = SDL_sixel;
   };
 
-  zim = callPackage ../applications/office/zim {
-    pygtk = pyGtkGlade;
-  };
+  zim = callPackage ../applications/office/zim { };
 
   zotero = callPackage ../applications/office/zotero {
     firefox = firefox-esr-unwrapped;
@@ -16969,27 +16221,13 @@ in
 
   aspino = callPackage ../applications/science/logic/aspino {};
 
-  coq = callPackage ../applications/science/logic/coq {
-    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
-    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
-  };
+  inherit (ocaml-ng.ocamlPackages_4_01_0) coq;
 
-  coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
-  };
+  inherit (ocamlPackages) coq_HEAD;
 
-  coq_8_5 = callPackage ../applications/science/logic/coq/8.5.nix {
-    inherit (ocamlPackages) findlib lablgtk;
-    camlp5 = ocamlPackages.camlp5_transitional;
-  };
+  inherit (ocamlPackages) coq_8_5;
 
-  coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
-    make = gnumake3;
-    inherit (ocamlPackages_3_12_1) ocaml findlib;
-    camlp5 = ocamlPackages_3_12_1.camlp5_transitional;
-    lablgtk = ocamlPackages_3_12_1.lablgtk_2_14;
-  };
+  inherit (ocaml-ng.ocamlPackages_3_12_1) coq_8_3;
 
   mkCoqPackages_8_4 = self: let callPackage = newScope self; in {
 
@@ -17082,9 +16320,7 @@ in
 
   hol = callPackage ../applications/science/logic/hol { };
 
-  hol_light = callPackage ../applications/science/logic/hol_light {
-    camlp5 = ocamlPackages.camlp5_strict;
-  };
+  inherit (ocamlPackages) hol_light;
 
   hologram = callPackage ../tools/security/hologram { };
 
@@ -17110,17 +16346,9 @@ in
 
   ltl2ba = callPackage ../applications/science/logic/ltl2ba {};
 
-  matita = callPackage ../applications/science/logic/matita {
-    ocaml = ocaml_3_11_2;
-    inherit (ocamlPackages_3_11_2) findlib lablgtk ocaml_expat gmetadom ocaml_http
-            lablgtkmathview ocaml_mysql ocaml_sqlite3 ocamlnet camlzip ocaml_pcre;
-    ulex08 = ocamlPackages_3_11_2.ulex08.override { camlp5 = ocamlPackages_3_11_2.camlp5_old_transitional; };
-  };
+  inherit (ocaml-ng.ocamlPackages_3_11_2) matita;
 
-  matita_130312 = lowPrio (callPackage ../applications/science/logic/matita/130312.nix {
-    inherit (ocamlPackages) findlib lablgtk ocaml_expat gmetadom ocaml_http
-            ocaml_mysql ocamlnet ulex08 camlzip ocaml_pcre;
-  });
+  matita_130312 = lowPrio ocamlPackages.matita_130312;
 
   metis-prover = callPackage ../applications/science/logic/metis-prover { };
 
@@ -17130,18 +16358,13 @@ in
 
   opensmt = callPackage ../applications/science/logic/opensmt { };
 
-  ott = callPackage ../applications/science/logic/ott {
-    camlp5 = ocamlPackages.camlp5_transitional;
-  };
+  inherit (ocamlPackages) ott;
 
   otter = callPackage ../applications/science/logic/otter {};
 
   picosat = callPackage ../applications/science/logic/picosat {};
 
-  prooftree = callPackage ../applications/science/logic/prooftree {
-    inherit (ocamlPackages_4_01_0) ocaml findlib lablgtk;
-    camlp5 = ocamlPackages_4_01_0.camlp5_transitional;
-  };
+  inherit (ocaml-ng.ocamlPackages_4_01_0) prooftree;
 
   prover9 = callPackage ../applications/science/logic/prover9 { };
 
@@ -17667,7 +16890,8 @@ in
 
   canon-cups-ufr2 = callPackage ../misc/cups/drivers/canon { };
 
-  mfcj470dw = callPackage_i686 ../misc/cups/drivers/mfcj470dw { };
+  mfcj470dw-cupswrapper = callPackage ../misc/cups/drivers/mfcj470dwcupswrapper { };
+  mfcj470dwlpr = callPackage_i686 ../misc/cups/drivers/mfcj470dwlpr { };
 
   samsung-unified-linux-driver_1_00_37 = callPackage ../misc/cups/drivers/samsung { };
   samsung-unified-linux-driver = callPackage ../misc/cups/drivers/samsung/4.00.39 { };
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 87023154ccb0..1e878e8b18cb 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -75,22 +75,6 @@ let
 
   ## START HERE
 
-  ac-haskell-process = melpaBuild rec {
-    pname   = "ac-haskell-process";
-    version = "0.5";
-    src = fetchFromGitHub {
-      owner  = "purcell";
-      repo   = pname;
-      rev    = version;
-      sha256 = "0dlrhc1dmzgrjvcnlqvm6clyv0r6zray6qqliqngy14880grghbm";
-    };
-    packageRequires = [ auto-complete haskell-mode ];
-    meta = {
-      description = "Haskell code completion for auto-complete Emacs framework";
-      license = gpl3Plus;
-    };
-  };
-
   tablist = melpaBuild rec {
     pname = "tablist";
     inherit (pdf-tools) src version;
@@ -120,22 +104,6 @@ let
     };
   };
 
-  ag = melpaBuild rec {
-    pname   = "ag";
-    version = "0.44";
-    src = fetchFromGitHub {
-      owner  = "Wilfred";
-      repo   = "${pname}.el";
-      rev    = version;
-      sha256 = "19y5w9m2flp4as54q8yfngrkri3kd7fdha9pf2xjgx6ryflqx61k";
-    };
-    packageRequires = [ dash s ];
-    meta = {
-      description = "Search using ag from inside Emacs";
-      license = gpl3Plus;
-    };
-  };
-
   elisp-ffi = melpaBuild rec {
     pname = "elisp-ffi";
     version = "1.0.0";
@@ -183,256 +151,6 @@ let
     };
   };
 
-  alert = melpaBuild rec {
-    pname = "alert";
-    version = "1.2";
-    src = fetchFromGitHub {
-      owner = "jwiegley";
-      repo  = pname;
-      rev   = "v${version}";
-      sha256 = "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26";
-    };
-    packageRequires = [ gntp log4e ];
-    meta = {
-      description = "A Growl-like alerts notifier for Emacs";
-      license = gpl2Plus;
-    };
-  };
-
-  anzu = melpaBuild rec {
-    pname = "anzu";
-    version = "0.52";
-    src = fetchFromGitHub {
-      owner = "syohex";
-      repo  = "emacs-anzu";
-      rev = "f41db6225d8fb983324765aa42c94d3ee379a49f";
-      sha256 = "1mn20swasrl8kr557r1850vr1q0gcnwlxxafnc6lq5g01kjfcdxd";
-    };
-    meta = {
-      description = "Show number of matches in Emacs mode-line while searching";
-      longDescription = ''
-        anzu.el is an Emacs port of anzu.vim. anzu.el provides a minor
-        mode which displays current match and total matches information
-        in the mode-line in various search mode.
-      '';
-      license = gpl3Plus;
-    };
-  };
-
-  apel = melpaBuild rec {
-    pname = "apel";
-    version = "10.8";
-    src = fetchFromGitHub {
-      owner  = "wanderlust";
-      repo   = pname;
-      rev    = "8402e59eadb580f59969114557b331b4d9364f95";
-      sha256 = "0sdxnf4b8rqs1cbjxh23wvxmj7ll3zddv8yfdgif6zmgyy8xhc9m";
-    };
-    files = [
-      "alist.el" "apel-ver.el" "broken.el" "calist.el"
-      "emu.el" "filename.el" "install.el" "inv-23.el" "invisible.el"
-      "mcharset.el" "mcs-20.el" "mcs-e20.el" "mule-caesar.el"
-      "path-util.el" "pccl-20.el" "pccl.el" "pces-20.el" "pces-e20.el"
-      "pces.el" "pcustom.el" "poe.el" "poem-e20.el" "poem-e20_3.el"
-      "poem.el" "product.el" "pym.el" "richtext.el" "static.el"
-    ];
-    meta = {
-      description = "A Portable Emacs Library";
-      license = gpl3Plus; # probably
-    };
-  };
-
-  autotetris = melpaBuild {
-    pname = "autotetris-mode";
-    version = "20141114.846";
-    src = fetchFromGitHub {
-      owner = "skeeto";
-      repo = "autotetris-mode";
-      rev = "7d348d33829bc89ddbd2b4d5cfe5073c3b0cbaaa";
-      sha256 = "14pjsb026mgjf6l3dggy255knr7c1vfmgb6kgafmkzvr96aglcdc";
-    };
-    files = [ "autotetris-mode.el" ];
-    meta = {
-      description = "For those who are too busy to play Emacs tetris";
-      license = unlicense;
-    };
-  };
-
-  avy = melpaBuild rec {
-    pname   = "avy";
-    version = "0.3.0";
-    src = fetchFromGitHub {
-      owner  = "abo-abo";
-      repo   = pname;
-      rev    = version;
-      sha256 = "15xfgmsy4sqs3cmk7dwmj21g3r9dqb3fra7n7ly306bwgzh4vm8k";
-    };
-    meta = {
-      description = "Advanced cursor movement for Emacs that uses decision-trees for navigation";
-      license = gpl3Plus;
-    };
-  };
-
-  bind-key = melpaBuild {
-    pname   = "bind-key";
-    version = "20150321";
-    src = fetchFromGitHub {
-      owner  = "jwiegley";
-      repo   = "use-package";
-      rev    = "77a77c8b03044f0279e00cadd6a6d1a7ae97b01";
-      sha256 = "14v6wzqn2jhjdbr7nwqilxy9l79m1f2rdrz2c6c6pcla5yjpd1k0";
-    };
-    files = [ "bind-key.el" ];
-    meta = {
-      description = "A simple way to manage personal keybindings";
-      license = gpl3Plus;
-    };
-  };
-
-  browse-kill-ring = melpaBuild rec {
-    pname   = "browse-kill-ring";
-    version = "20140104";
-    src = fetchFromGitHub {
-      owner  = pname;
-      repo   = pname;
-      rev    = "f81ca5f14479fa9e938f89bf8f6baa3c4bdfb755";
-      sha256 = "149g4qs5dqy6yzdj5smb39id5f72bz64qfv5bjf3ssvhwl2rfba8";
-    };
-    meta = {
-      description = "Interactively insert items from Emacs kill-ring";
-      license = gpl2Plus;
-    };
-  };
-
-  button-lock = melpaBuild rec {
-    pname   = "button-lock";
-    version = "1.0.2";
-    src = fetchFromGitHub {
-      owner  = "rolandwalker";
-      repo   = pname;
-      rev    = "v${version}";
-      sha256 = "1kqcc1d56jz107bswlzvdng6ny6qwp93yck2i2j921msn62qvbb2";
-    };
-    meta = {
-      description = "Mouseable text in Emacs";
-      license  = bsd2;
-    };
-  };
-
-  caml = melpaBuild rec {
-    pname   = "caml";
-    version = "4.2.1"; # TODO: emacs doesn't seem to like 02 as a version component..
-    src = fetchFromGitHub {
-      owner  = "ocaml";
-      repo   = "ocaml";
-      rev    = "4.02.1";
-      sha256 = "05lms9qhcnwgi7k034kiiic58c9da22r32mpak0ahmvp5fylvjpb";
-    };
-    fileSpecs = [ "emacs/*.el" ];
-    configurePhase = "true";
-    meta = {
-      description = "OCaml code editing commands for Emacs";
-      license = gpl2Plus;
-    };
-  };
-
-  change-inner = melpaBuild rec {
-    pname   = "change-inner";
-    version = "20130208";
-    src = fetchFromGitHub {
-      owner  = "magnars";
-      repo   = "${pname}.el";
-      rev    = "6374b745ee1fd0302ad8596cdb7aca1bef33a730";
-      sha256 = "1fv8630bqbmfr56zai08f1q4dywksmghhm70084bz4vbs6rzdsbq";
-    };
-    packageRequires = [ expand-region ];
-    meta = {
-      description = "Change contents based on semantic units in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  circe = melpaBuild rec {
-    pname   = "circe";
-    version = "2.1";
-    src = fetchFromGitHub {
-      owner  = "jorgenschaefer";
-      repo   = "circe";
-      rev    = "v${version}";
-      sha256 = "0q3rv6lk37yybkbswmn4pgzca0nfhvf4h3ac395fr16k5ixybc5q";
-    };
-    packageRequires = [ lcs lui ];
-    fileSpecs = [ "circe*.el" "irc.el" "make-tls-process.el" ];
-    meta = {
-      description = "IRC client for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  company = melpaBuild rec {
-    pname   = "company";
-    version = "0.8.12";
-    src = fetchFromGitHub {
-      owner  = "company-mode";
-      repo   = "company-mode";
-      rev    = version;
-      sha256 = "08rrjfp2amgya1hswjz3vd5ja6lg2nfmm7454p0h1naz00hlmmw0";
-    };
-    meta = {
-      description = "Modular text completion framework for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  company-ghc = melpaBuild rec {
-    pname   = "company-ghc";
-    version = "0.1.10";
-    src = fetchFromGitHub {
-      owner  = "iquiw";
-      repo   = "company-ghc";
-      rev    = "v${version}";
-      sha256 = "0lzwmjf91fxhkknk4z9m2v6whk1fzpa7n1rspp61lwmyh5gakj3x";
-    };
-    packageRequires = [ company ghc-mod ];
-    meta = {
-      description = "Company-mode completion backend for haskell-mode via ghc-mod";
-      license = gpl3Plus;
-    };
-  };
-
-  dash-functional = melpaBuild rec {
-    pname = "dash-functional";
-      version = "2.11.0";
-      src = fetchFromGitHub {
-      owner  = "magnars";
-      repo   = "dash.el";
-      rev    = version;
-      sha256 = "02gfrcda7gj3j5yx71dz40xylrafl4pcaj7bgfajqi9by0w2nrnx";
-    };
-    packageRequires = [ dash ];
-    files = [ "dash-functional.el" ];
-    meta = {
-      description = "Collection of useful combinators for Emacs Lisp";
-      license = gpl3Plus;
-    };
-  };
-
-  diminish = melpaBuild rec {
-    pname   = "diminish";
-    version = "0.45";
-    src = fetchFromGitHub {
-      owner  = "myrjola";
-      repo   = "${pname}.el";
-      rev    = "v${version}";
-      sha256 = "0qpgfgp8hrzz4vdifxq8h25n0a0jlzgf7aa1fpy6r0080v5rqbb6";
-    };
-    meta = {
-      description = "Diminishes the amount of space taken on the mode-line by Emacs minor modes";
-      homepage = http://www.eskimo.com/~seldon/;
-      license = gpl3Plus;
-    };
-  };
-
   elpy = melpaBuild rec {
     pname   = "elpy";
     version = external.elpy.version;
@@ -495,72 +213,6 @@ let
     };
   };
 
-  engine-mode = melpaBuild rec {
-    pname = "engine-mode";
-    version = "1.0.0";
-    src = fetchFromGitHub {
-      owner  = "hrs";
-      repo   = "engine-mode";
-      rev    = "v${version}";
-      sha256 = "1dsa3r39ip20ddbw0m9vq8z3r4ahrxvb37adyqi4mbdgyr6fq6sw";
-    };
-    meta = {
-      description = "Minor mode for defining and querying search engines through Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  epl = melpaBuild rec {
-    pname   = "epl";
-    version = "20140823";
-    src = fetchFromGitHub {
-      owner  = "cask";
-      repo   = pname;
-      rev    = "63c78c08e345455f3d4daa844fdc551a2c18024e";
-      sha256 = "04a2aq8dj2cmy77vw142wcmnjvqdbdsp6z0psrzz2qw0b0am03li";
-    };
-    meta = {
-      description = "Emacs Package Library";
-      longDescription = ''
-        The purpose of this library is to wrap all the quirks and hassle of
-        package.el into a sane API.
-      '';
-      license = gpl3Plus;
-    };
-  };
-
-  evil-god-state = melpaBuild rec {
-    pname   = "evil-god-state";
-    version = "20140830";
-    src = fetchFromGitHub {
-      owner  = "gridaphobe";
-      repo   = pname;
-      rev    = "234a9b6f500ece89c3dfb5c1df5baef6963e4566";
-      sha256 = "16v6dpw1hibrkf9hga88gv5axvp1pajd67brnh5h4wpdy9qvwgyy";
-    };
-    packageRequires = [ evil god-mode ];
-    meta = {
-      description = "An evil-mode state for using Emacs god-mode";
-      license = gpl3Plus;
-    };
-  };
-
-  evil-indent-textobject = melpaBuild rec {
-    pname   = "evil-indent-textobject";
-    version = "0.2";
-    src = fetchFromGitHub {
-      owner  = "cofi";
-      repo   = pname;
-      rev    = "70a1154a531b7cfdbb9a31d6922482791e20a3a7";
-      sha256 = "0nghisnc49ivh56mddfdlcbqv3y2vqzjvkpgwv3zp80ga6ghvdmz";
-    };
-    packageRequires = [ evil ];
-    meta = {
-      description = "Textobject for evil based on indentation";
-      license = gpl2Plus;
-    };
-  };
-
   evil-jumper = melpaBuild rec {
     pname   = "evil-jumper";
     version = "20151017";
@@ -577,115 +229,6 @@ let
     };
   };
 
-  evil-leader = melpaBuild rec {
-    pname   = "evil-leader";
-    version = "0.4.3";
-    src = fetchFromGitHub {
-      owner  = "cofi";
-      repo   = pname;
-      rev    = version;
-      sha256 = "1k2zinchs0jjllp8zkpggckyy63dkyi5yig3p46vh4w45jdzysk5";
-    };
-    packageRequires = [ evil ];
-    meta = {
-      description = "<leader> key for evil";
-      license = gpl3Plus;
-    };
-  };
-
-  evil-mc = melpaBuild rec {
-    pname   = "evil-mc";
-    version = "20150117";
-    src = fetchFromGitHub {
-      owner  = "gabesoft";
-      repo   = "evil-mc";
-      rev    = "80471ba1173775e706c2043afd7d20ace652df7d";
-      sha256 = "1j23avcxj79plba99yfpmj9rfpdb527d7qfp4mx658y837vji1zm";
-    };
-    packageRequires = [ evil ];
-    meta = {
-      description = "Multiple cursors implementation for evil-mode";
-      license = gpl3Plus;
-    };
-  };
-
-  evil-surround = melpaBuild rec {
-    pname   = "evil-surround";
-    version = "20140616";
-    src = fetchFromGitHub {
-      owner  = "timcharper";
-      repo   = pname;
-      rev    = "71f380b6b6ed38f739c0a4740b3d6de0c52f915a";
-      sha256 = "0wrmlmgr4mwxlmmh8blplddri2lpk4g8k3l1vpb5c6a975420qvn";
-    };
-    packageRequires = [ evil ];
-    meta = {
-      description = "surround.vim emulation for Emacs evil mode";
-      license = gpl3Plus;
-    };
-  };
-
-  evil-visualstar = melpaBuild rec {
-    pname   = "evil-visualstar";
-    version = "20151017";
-    src = fetchFromGitHub {
-      owner  = "bling";
-      repo   = pname;
-      rev    = "bd9e1b50c03b37c57355d387f291c2ec8ce51eec";
-      sha256 = "17m4kdz1is4ipnyiv9n3vss49faswbbd6v57df9npzsbn5jyydd0";
-    };
-    packageRequires = [ evil ];
-    meta = {
-      description = "Start a * or # search from the visual selection";
-      license = gpl3Plus;
-    };
-  };
-
-  evil = melpaBuild {
-    pname   = "evil";
-    version = "1.2.5";
-    src = fetchhg {
-      url = "https://bitbucket.org/lyro/evil";
-      rev = "72593d8e83a3";
-      sha256 = "1pv055qlc3vawzdik29d6zbbv8fa2ygwylm04wa46qr5sj53v0i8";
-    };
-    packageRequires = [ goto-chg undo-tree ];
-    meta = {
-      description = "Extensible vi layer for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  exec-path-from-shell = melpaBuild rec {
-    pname   = "exec-path-from-shell";
-    version = "20141022";
-    src = fetchFromGitHub {
-      owner  = "purcell";
-      repo   = pname;
-      rev    = "e4af0e9b44738e7474c89ed895200b42e6541515";
-      sha256 = "0lxikiqf1jik88lf889q4f4f8kdgg3npciz298x605nhbfd5snbd";
-    };
-    meta = {
-      description = "Slurp environment variables from shell to Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  expand-region = melpaBuild rec {
-    pname   = "expand-region";
-    version = "20150902";
-    src = fetchFromGitHub {
-      owner  = "magnars";
-      repo   = "${pname}.el";
-      rev    = "59f67115263676de5345581216640019975c4fda";
-      sha256 = "0qqqv0pp25xg1zh72i6fsb7l9vi14nd96rx0qdj1f3pdwfidqms1";
-    };
-    meta = {
-      description = "Increases the selected region by semantic units in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
   find-file-in-project = melpaBuild rec {
     pname = "find-file-in-project";
     version = "3.5";
@@ -706,22 +249,6 @@ let
     };
   };
 
-  flim = melpaBuild rec {
-    pname = "flim";
-    version = "1.14.9"; # 20141216
-    src = fetchFromGitHub {
-      owner  = "wanderlust";
-      repo   = pname;
-      rev    = "488a4d70fb4ae57bdd30dc75c2d75579894e28a2";
-      sha256 = "178fhpbyffksr4v3m8jmx4rx2vqyz23qhbyvic5afabxi6lahjfs";
-    };
-    packageRequires = [ apel ];
-    meta = {
-      description = "Email message encoding library for Emacs";
-      license = gpl3Plus; # probably
-    };
-  };
-
   ghc-mod = melpaBuild rec {
     pname = "ghc";
     version = external.ghc-mod.version;
@@ -757,328 +284,6 @@ let
     inherit (external.rtags) meta;
   };
 
-  git-auto-commit-mode = melpaBuild rec {
-    pname = "git-auto-commit-mode";
-    version = "4.4.0";
-    src = fetchFromGitHub {
-      owner  = "ryuslash";
-      repo   = pname;
-      rev    = version;
-      sha256 = "0psmr7749nzxln4b500sl3vrf24x3qijp12ir0i5z4x25k72hrlh";
-    };
-    meta = {
-      description = "Automatically commit to Git after each save";
-      license = gpl3Plus;
-    };
-  };
-
-  git-gutter = melpaBuild rec {
-    pname = "git-gutter";
-    version = "20150930";
-    src = fetchFromGitHub {
-      owner  = "syohex";
-      repo   = "emacs-git-gutter";
-      rev    = "df7fb13481bea2b1476ca8a20bc958b17d1e06ae";
-      sha256 = "1xwdyjh13lp06yy9477013nj6idpsjr4ifg7hmyk5ai80axkgly7";
-    };
-    files = [ "git-gutter.el" ];
-    meta = {
-      description = "Show diff status of lines in a buffer relative to Git, mercurial, svn or bazaar repo's HEAD";
-      license = gpl3Plus;
-    };
-  };
-
-  #TODO git-gutter-fringe
-
-  git-timemachine = melpaBuild rec {
-    pname = "git-timemachine";
-    version = "2.3";
-    src = fetchFromGitHub {
-      owner  = "pidu";
-      repo   = pname;
-      rev    = version;
-      sha256 = "1lm6rgbzbxnwfn48xr6bg05lb716grfr4nqm8lvjm64nabh5y9bh";
-    };
-    meta = {
-      description = "Step through historic revisions of Git controlled files";
-      license = gpl3Plus;
-    };
-  };
-
-  gitattributes-mode = melpaBuild rec {
-    pname = "gitattributes-mode";
-    version = "1.0.0";
-    src = fetchFromGitHub {
-      owner  = "magit";
-      repo   = "git-modes";
-      rev    = version;
-      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
-    };
-    files = [ "gitattributes-mode.el" ];
-    meta = {
-      description = "Emacs major-mode for editing gitattributes files";
-      license = gpl3Plus;
-    };
-  };
-
-  gitconfig-mode = melpaBuild rec {
-    pname = "gitconfig-mode";
-    version = "1.0.0";
-    src = fetchFromGitHub {
-      owner  = "magit";
-      repo   = "git-modes";
-      rev    = version;
-      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
-    };
-    files = [ "gitconfig-mode.el" ];
-    meta = {
-      description = "Emacs major-mode for editing gitconfig files";
-      license = gpl3Plus;
-    };
-  };
-
-  gitignore-mode = melpaBuild rec {
-    pname = "gitignore-mode";
-    version = "1.0.0";
-    src = fetchFromGitHub {
-      owner  = "magit";
-      repo   = "git-modes";
-      rev    = version;
-      sha256 = "12a1xs3w2dp1a55qhc01dwjkavklgfqnn3yw85dhi4jdz8r8j7m0";
-    };
-    files = [ "gitignore-mode.el" ];
-    meta = {
-      description = "Emacs major-mode for editing gitignore files";
-      license = gpl3Plus;
-    };
-  };
-
-  gntp = melpaBuild rec {
-    pname = "gntp";
-    version = "0.1";
-    src = fetchFromGitHub {
-      owner = "tekai";
-      repo  = "${pname}.el";
-      rev   = "v${version}";
-      sha256 = "1nvyjjjydrimpxy4cpg90si7sr8lmldbhlcm2mx8npklp9pn5y3a";
-    };
-    meta = {
-      description = "GNTP protocol implementation for Emacs";
-      license = gpl2Plus;
-    };
-  };
-
-  gnus = melpaBuild rec {
-    pname   = "gnus";
-    version = "20140501";
-    src = fetchgit {
-      url = "http://git.gnus.org/gnus.git";
-      rev = "4228cffcb7afb77cf39678e4a8988a57753502a5";
-      sha256 = "0qd0wpxkz47irxghmdpa524c9626164p8vgqs26wlpbdwyvm64a0";
-    };
-    fileSpecs = [ "lisp/*.el" "texi/*.texi" ];
-    preBuild = ''
-      (cd lisp && make gnus-load.el)
-    '';
-    meta = {
-      description = "News and mail reader for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  go-mode = melpaBuild rec {
-    pname = "go-mode";
-    version = "20150817";
-    src = fetchFromGitHub {
-      owner  = "dominikh";
-      repo   = "go-mode.el";
-      rev    = "5d53a13bd193653728e74102c81aa931b780c9a9";
-      sha256 = "0hvssmvzvn13j18282nsq8fclyjs0x103gj9bp6fhmzxmzl56l7g";
-    };
-    meta = {
-      description = "Go language support for Emacs";
-      license = bsd3;
-    };
-  };
-
-  god-mode = melpaBuild rec {
-    pname   = "god-mode";
-    version = "20140811";
-    src = fetchFromGitHub {
-      owner  = "chrisdone";
-      repo   = pname;
-      rev    = "6b7ae259a58ca1d7776aa4eca9f1092e4c0033e6";
-      sha256 = "1amr98nq82g2d3f3f5wlqm9g38j64avygnsi9rrlbfqz4f71vq7x";
-    };
-    meta = {
-      description = "A global minor mode for entering Emacs commands without modifier keys";
-      license = gpl3Plus;
-    };
-  };
-
-  goto-chg = melpaBuild rec {
-    pname   = "goto-chg";
-    version = "1.6";
-    src = fetchhg {
-      url = "https://bitbucket.org/lyro/evil";
-      rev = "e5588e50c0e40a66c099868ea825755e348311fb";
-      sha256 = "0185vrzfdz6iwhmc22rjy0n7ppfppp2ddc8xl0vvbda79q6w3bp8";
-    };
-    files = [ "lib/goto-chg.el" ];
-    meta = {
-      description = "Goto last change in current buffer using Emacs undo information";
-      license = gpl3Plus;
-    };
-  };
-
-  haskell-mode = melpaBuild rec {
-    pname   = "haskell-mode";
-    version = "13.16";
-    src = fetchFromGitHub {
-      owner  = "haskell";
-      repo   = pname;
-      rev    = "v${version}";
-      sha256 = "1gmpmfkr54sfzrif87zf92a1i13wx75bhp66h1rxhflg216m62yv";
-    };
-    meta = {
-      description = "Haskell language support for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  helm-bibtex = melpaBuild rec {
-    pname = "helm-bibtex";
-    version = "20151125";
-    src = fetchFromGitHub {
-      owner = "tmalsburg";
-      repo = pname;
-      rev = "bfcd5064dcc7c0ac62c46985832b2a73082f96e0";
-      sha256 = "1nvc4ha9wj5j47qg7hdbv1xpjy8a8idc9vc2myl3xa33ywllwdwi";
-    };
-    packageRequires = [ dash f helm parsebib s ];
-    meta = {
-      description = "Bibliography Manager for Emacs";
-      license = gpl2;
-    };
-  };
-
-  helm-swoop = melpaBuild rec {
-    pname   = "helm-swoop";
-    version = "20141224";
-    src = fetchFromGitHub {
-      owner  = "ShingoFukuyama";
-      repo   = pname;
-      rev    = "06a251f7d7fce2a5719e0862e5855972cd8ab1ae";
-      sha256 = "0nq33ldhbvfbm6jnsxqdf3vwaqrsr2gprkzll081gcyl2s1x0l2m";
-    };
-    packageRequires = [ helm ];
-    meta = {
-      description = "An Emacs mode which constructs an editable grep for a buffer";
-      license = gpl3Plus;
-    };
-  };
-
-  # deprecated, part of haskell-mode now
-  hi2 = melpaBuild rec {
-    pname   = "hi2";
-    version = "1.0";
-    src = fetchFromGitHub {
-      owner  = "nilcons";
-      repo   = pname;
-      rev    = version;
-      sha256 = "1s08sgbh5v59lqskd0s1dscs6dy7z5mkqqkabs3gd35agbfvbmlf";
-    };
-    meta = {
-      description = "Minor haskell-indentation mode for haskell-mode, 2nd try";
-      license = gpl3Plus;
-    };
-  };
-
-  highlight-indentation = melpaBuild rec {
-    pname = "highlight-indentation";
-    version = "0.7.0";
-    src = fetchFromGitHub {
-      owner = "antonj";
-      repo = "Highlight-Indentation-for-Emacs";
-      rev = "v${version}";
-      sha256 = "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k";
-    };
-    meta = {
-      description = "Minor modes to highlight indentation guides in emacs";
-      longDescription = ''
-        Provides two minor modes highlight-indentation-mode and
-        highlight-indentation-current-column-mode
-
-        - highlight-indentation-mode displays guidelines indentation
-        (space indentation only).
-        - highlight-indentation-current-column-mode displays guidelines for the
-        current-point indentation (space indentation only).
-      '';
-      license = gpl2Plus;
-    };
-  };
-
-  hydra = melpaBuild rec {
-    pname   = "hydra";
-    version = "0.13.3";
-    src = fetchFromGitHub {
-      owner  = "abo-abo";
-      repo   = pname;
-      rev    = version;
-      sha256 = "08iw95lyizcyf6cjl37fm8wvay0vsk9758pk9gq9f2xiafcchl7f";
-    };
-    meta = {
-      description = "Tie related Emacs commands into a family of short bindings with a common prefix";
-      license = gpl3Plus;
-    };
-  };
-
-  ibuffer-vc = melpaBuild rec {
-    pname   = "ibuffer-vc";
-    version = "0.10";
-    src = fetchFromGitHub {
-      owner  = "purcell";
-      repo   = pname;
-      rev    = version;
-      sha256 = "0bqdi5w120256g74k0j4jj81x804x1gcg4dxa74w3mb6fl5xlvs8";
-    };
-    meta = {
-      description = "Version control aware Emacs ibuffer mode";
-      license = gpl3Plus;
-    };
-  };
-
-  ido-ubiquitous = melpaBuild rec {
-    pname   = "ido-ubiquitous";
-    version = "2.17";
-    src = fetchFromGitHub {
-      owner  = "DarwinAwardWinner";
-      repo   = pname;
-      rev    = "323e4cddc05d5a4546c1b64132b2b1e9f8896452";
-      sha256 = "0wdjz3cqzrxhrk68g5gyvc9j2rb6f4yw00xbjgw9ldwlhmkwy5ja";
-    };
-    meta = {
-      description = "Does what you expected ido-everywhere should do in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  idris-mode = melpaBuild rec {
-    pname   = "idris-mode";
-    version = "0.9.19";
-    src = fetchFromGitHub {
-      owner  = "idris-hackers";
-      repo   = "idris-mode";
-      rev    = version;
-      sha256 = "0iwgbaq2797k1f7ql86i2pjfa67cha4s2v0mgmrd0qcgqkxsdq92";
-    };
-    packageRequires = [ prop-menu ];
-    meta = {
-      description = "Idris language support for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
   lcs = melpaBuild rec {
     pname   = "lcs";
     version = circe.version;
@@ -1090,21 +295,6 @@ let
     };
   };
 
-  log4e = melpaBuild rec {
-    pname = "log4e";
-    version = "0.3.0";
-    src = fetchFromGitHub {
-      owner = "aki2o";
-      repo  = pname;
-      rev   = "v${version}";
-      sha256 = "1l28n7a0v2zkknc70i1wn6qb5i21dkhfizzk8wcj28v44cgzk022";
-    };
-    meta = {
-      description = "Logging for elisp";
-      license = gpl2Plus;
-    };
-  };
-
   lui = melpaBuild rec {
     pname   = "lui";
     version = circe.version;
@@ -1117,341 +307,10 @@ let
     };
   };
 
-  markdown-toc = melpaBuild rec {
-    pname = "markdown-toc";
-    version = "0.0.8";
-    src = fetchFromGitHub {
-      owner = "ardumont";
-      repo = pname;
-      rev = "06903e24457460a8964a978ace709c69afc36692";
-      sha256 = "07w0w9g81c6c404l3j7gb420wc2kjmah728w84mdymscdl5w3qyl";
-    };
-    packageRequires = [ markdown-mode dash s ];
-    files = [ "${pname}.el" ];
-    meta = {
-      description = "Generate a TOC in markdown file";
-      longDescription = ''
-        A simple mode to create TOC in a markdown file.
-      '';
-      license = gpl3Plus;
-    };
-  };
-
-  moe-theme = melpaBuild rec {
-    pname   = "moe-theme";
-    version = "1.0";
-    src = fetchFromGitHub {
-      owner  = "kuanyui";
-      repo   = "${pname}.el";
-      rev    = "39384a7a9e6886f3a3d79efac4009fcd800a4a14";
-      sha256 = "0i7m15x9sij5wh0gwbijsis8a4jm8izywj7xprk21644ndskvfiz";
-    };
-    meta = {
-      description = "A set of Emacs themes optimized for terminals with 256 colors";
-      license = gpl3Plus;
-    };
-  };
-
-  monokai-theme = melpaBuild rec {
-    pname   = "monokai-theme";
-    version = "1.0.0";
-    src = fetchFromGitHub {
-      owner  = "oneKelvinSmith";
-      repo   = "monokai-emacs";
-      rev    = "v${version}";
-      sha256 = "02w7k4s4698p4adjy4a36na28sb1s2zw4xsjs7p2hv9iiw9kmyvz";
-    };
-    meta = {
-      description = "An Emacs port of TextMate' Monokai theme inspired by Zenburn theme";
-      license = gpl3Plus;
-    };
-  };
-
-  multiple-cursors = melpaBuild rec {
-    pname = "multiple-cursors";
-    version = "20150627";
-    src = fetchFromGitHub {
-      owner  = "magnars";
-      repo   = "multiple-cursors.el";
-      rev    = "9b53e892e6167f930763a3c5aedf8773110a8ae9";
-      sha256 = "0wcrdb137a9aq6dynlqbvypb6m2dj48m899xwy7ilnf2arrmipid";
-    };
-    meta = {
-      description = "Edit text in many places simultaneously in Emacs";
-      license = gpl3Plus; # TODO
-    };
-  };
-
   nyan-mode = callPackage ../applications/editors/emacs-modes/nyan-mode {
     inherit lib;
   };
 
-  org2jekyll = melpaBuild rec {
-    pname   = "org2jekyll";
-    version = "0.1.8";
-    src = fetchFromGitHub {
-      owner = "ardumont";
-      repo = pname;
-      rev = "a12173b9507b3ef54dfebb5751503ba1ee93c6aa";
-      sha256 = "064kw64w9snm0lbshxn8d6yd9xvyislhg37fmhq1w7vy8lm61xvf";
-    };
-    packageRequires = [ dash-functional s deferred ];
-    files = [ "${pname}.el" ];
-    meta = {
-      description = "Blogging with org-mode and jekyll without alien yaml headers";
-      license = gpl3Plus;
-    };
-  };
-
-  org-trello = melpaBuild rec {
-    pname = "org-trello";
-    version = "0.7.5";
-    src = fetchFromGitHub {
-      owner = "org-trello";
-      repo = pname;
-      rev = "3718ed704094e5e5a491749f1f722d76ba4b7d73";
-      sha256 = "1561nxjva8892via0l8315y3fih4r4q9gzycmvh33db8gqzq4l86";
-    };
-    packageRequires = [ request-deferred deferred dash-functional s ];
-    files = [ "org-trello*.el" ];
-    meta = {
-      description = "Org minor mode - 2-way sync org & trello";
-      longDescription = ''
-        Org-trello is an emacs minor mode that extends org-mode with
-        Trello abilities.
-      '';
-      homepage = https://org-trello.github.io/;
-      license = gpl3Plus;
-    };
-  };
-
-  parsebib = melpaBuild rec {
-    pname = "parsebib";
-    version = "20151006";
-    src = fetchFromGitHub {
-      owner = "joostkremers";
-      repo = pname;
-      rev = "9a1f60bed2814dfb5cec2b92efb5951a4b465cce";
-      sha256 = "0n91whyjnrdhb9bqfif01ygmwv5biwpz2pvjv5w5y1d4g0k1x9ml";
-    };
-    meta = {
-      description = "Emacs library for reading .bib files";
-      license = bsd3;
-    };
-  };
-
-  perspective = melpaBuild rec {
-    pname   = "perspective";
-    version = "1.12";
-    src = fetchFromGitHub {
-      owner  = "nex3";
-      repo   = "${pname}-el";
-      rev    = version;
-      sha256 = "12c2rrhysrcl2arc6hpzv6lxbb1r3bzlvdp23hnp9sci6yc10k3q";
-    };
-    meta = {
-      description = "Tagged workspaces like in most tiling window managers, but in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  pkg-info = melpaBuild rec {
-    pname   = "pkg-info";
-    version = "20140610";
-    src = fetchFromGitHub {
-      owner  = "lunaryorn";
-      repo   = "${pname}.el";
-      rev    = "475cdeb0b8d44f9854e506c429eeb445787014ec";
-      sha256 = "0x4nz54f2shgcw3gx66d265vxwdpdirn64gzii8dpxhsi7v86n0p";
-    };
-    packageRequires = [ epl ];
-    meta = {
-      description = "Provide information about Emacs packages";
-      license = gpl3Plus;
-    };
-  };
-
-  projectile = melpaBuild rec {
-    pname   = "projectile";
-    version = "0.13.0";
-    src = fetchFromGitHub {
-      owner  = "bbatsov";
-      repo   = pname;
-      rev    = "v${version}";
-      sha256 = "1rl6n6v9f4m7m969frx8b51a4lzfix2bxx6rfcfbh6kzhc00qnxf";
-    };
-    fileSpecs = [ "projectile.el" ];
-    packageRequires = [ dash helm pkg-info ];
-    meta = {
-      description = "A project interaction library for Emacs";
-      license = gpl3Plus;
-    };
-  };
-  helm-projectile = melpaBuild rec {
-    pname   = "helm-projectile";
-    version = projectile.version;
-    src     = projectile.src;
-    fileSpecs = [ "helm-projectile.el" ];
-    packageRequires = [ helm projectile ];
-    meta = projectile.meta;
-  };
-  persp-projectile = melpaBuild rec {
-    pname   = "persp-projectile";
-    version = projectile.version;
-    src     = projectile.src;
-    fileSpecs = [ "persp-projectile.el" ];
-    packageRequires = [ perspective projectile ];
-    meta = projectile.meta;
-  };
-
-  prop-menu = melpaBuild rec {
-    pname   = "prop-menu";
-    version = "0.1.2";
-    src = fetchFromGitHub {
-      owner  = "david-christiansen";
-      repo   = "${pname}-el";
-      rev    = version;
-      sha256 = "18ap2liz5r5a8ja2zz9182fnfm47jnsbyblpq859zks356k37iwc";
-    };
-    meta = {
-      description = "Library for computing context menus based on text properties and overlays in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  pyvenv = melpaBuild rec {
-    pname = "pyvenv";
-    version = "1.7";
-    src = fetchFromGitHub {
-      owner  = "jorgenschaefer";
-      repo   = pname;
-      rev    = "e4f2fa7a32cf480f34d628d8eb5b9b60374d0e8e";
-      sha256 = "1669id1p69kpq8zzldxj1p6iyz68701snn462g22k2acfzc2bfha";
-    };
-    meta = {
-      description = "Python virtual environment interface for Emacs";
-      longDescription = ''
-        This is a simple global minor mode which will replicate the changes done
-        by virtualenv activation inside Emacs.
-      '';
-      license = gpl2Plus;
-    };
-  };
-
-  rainbow-delimiters = melpaBuild rec {
-    pname = "rainbow-delimiters";
-    version = "2.1.1";
-    src = fetchFromGitHub {
-      owner = "Fanael";
-      repo = pname;
-      rev = version;
-      sha256 = "0gxc8j5a14bc9mp43cbcz41ipc0z1yvmypg52dnl8hadirry20gd";
-    };
-    meta = {
-      description = "Highlight delimiters with colors according to their depth";
-      license = gpl3Plus;
-    };
-  };
-
-  request = melpaBuild rec {
-    pname = "request";
-    version = "0.2.0";
-
-    src = fetchFromGitHub {
-      owner = "tkf";
-      repo = "emacs-${pname}";
-      rev = "adf7de452f9914406bfb693541f1d280093c4efd";
-      sha256 = "0dja4g43zfjbxqvz2cgivgq5sfm6fz1563qgrp4yxknl7bdggb92";
-    };
-
-    files = [ "request.el" ];
-
-    meta = {
-      description = "Easy HTTP request for Emacs Lisp";
-      longDescription = ''
-        Request.el is a HTTP request library with multiple backends. It supports
-        url.el which is shipped with Emacs and curl command line program. User
-        can use curl when s/he has it, as curl is more reliable than url.el.
-        Library author can use request.el to avoid imposing external dependencies
-        such as curl to users while giving richer experience for users who have curl.
-      '';
-      license = gpl3Plus;
-    };
-  };
-
-  request-deferred = melpaBuild rec {
-    pname = "request-deferred";
-    version = request.version;
-    src = request.src;
-    packageRequires = [ request deferred ];
-    files = [ "request-deferred.el" ];
-    meta = request.meta
-        // { description = "${request.meta.description} (deferred)"; };
-  };
-
-  rich-minority = melpaBuild rec {
-    pname   = "rich-minority";
-    version = "0.1.1";
-    src = fetchFromGitHub {
-      owner  = "Bruce-Connor";
-      repo   = pname;
-      rev    = version;
-      sha256 = "0kvhy4mgs9llihwsb1a9n5a85xzjiyiyawxnz0axy2bvwcxnp20k";
-    };
-    packageRequires = [ dash ];
-    meta = {
-      description = "Hiding and/or highlighting the list of minor modes in the Emacs mode-line";
-      license = gpl3Plus;
-    };
-  };
-
-  rust-mode = melpaBuild rec {
-    pname = "rust-mode";
-    version = "20151026";
-
-    src = fetchFromGitHub {
-      owner = "rust-lang";
-      repo = pname;
-      rev = "1761a9c212cdbc46cab5377c0ce90f96e33b2fbb";
-      sha256 = "1wvjisi26lb4g5rjq80kq9jmf1r2m3isy47nwrnahfzxk886qfbq";
-      };
-    meta = {
-      description = "A major mode for editing rust code";
-      license = asl20;
-    };
-  };
-
-  s = melpaBuild rec {
-    pname   = "s";
-    version = "20151023";
-    src = fetchFromGitHub {
-      owner  = "magnars";
-      repo   = "${pname}.el";
-      rev    = "372e94c1a28031686d75d6c52bfbe833a118a72a";
-      sha256 = "1zn8n3mv0iscs242dbkf5vmkkizfslq5haw9z0d0g3wknq18286h";
-    };
-    meta = {
-      description = "String manipulation library for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  semi = melpaBuild rec {
-    pname = "semi";
-    version = "1.14.7"; # 20150203
-    src = fetchFromGitHub {
-      owner  = "wanderlust";
-      repo   = pname;
-      rev    = "9976269556c5bcc021e4edf1b0e1accd39929528";
-      sha256 = "1g1xg57pz4msd3f998af5gq28qhmvi410faygzspra6y6ygaka68";
-    };
-    packageRequires = [ apel flim ];
-    meta = {
-      description = "MIME library for Emacs";
-      license = gpl3Plus; # probably
-    };
-  };
-
   shorten = melpaBuild rec {
     pname   = "shorten";
     version = circe.version;
@@ -1463,60 +322,6 @@ let
     };
   };
 
-  smart-mode-line = melpaBuild rec {
-    pname   = "smart-mode-line";
-    version = "2.6";
-    src = fetchFromGitHub {
-      owner  = "Bruce-Connor";
-      repo   = pname;
-      rev    = version;
-      sha256 = "17nav2jbvbd13xzgp29x396mc617n2dh6whjk4wnyvsyv7r0s9f6";
-    };
-    packageRequires = [ dash rich-minority ];
-    meta = {
-      description = "Sexy mode-line for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  smartparens = melpaBuild rec {
-    pname   = "smartparens";
-    version = "20151025";
-    src = fetchFromGitHub {
-      owner  = "Fuco1";
-      repo   = pname;
-      rev    = "85583f9570be58f17ccd68388d9d4e58234d8ae9";
-      sha256 = "1pvzcrnzvksx1rzrr19256x1qhidr2acz6yipijlfx2zfjx2gxa7";
-    };
-    packageRequires = [ dash ];
-    meta = {
-      description = "Minor mode for Emacs that deals with parens pairs";
-      longDescription = ''
-        It started as a unification effort to combine functionality of
-        several existing packages in a single, compatible and
-        extensible way to deal with parentheses, delimiters, tags and
-        the like. Some of these packages include autopair, textmate,
-        wrap-region, electric-pair-mode, paredit and others.
-      '';
-      license = gpl3Plus;
-    };
-  };
-
-  smex = melpaBuild rec {
-    pname = "smex";
-    version = "20141210";
-    src = fetchFromGitHub {
-      owner  = "nonsequitur";
-      repo   = pname;
-      rev    = "aff8d4485139ac28f1c7e62912c0d0d480995831";
-      sha256 = "0017f1ji7rxad2n49dhn5g0pmw6lmw80cqk6dynszizj46xpbqfp";
-    };
-    meta = {
-      description = "M-x enhancement for Emacs build on top of Ido";
-      license = emacs.meta.license; # should be "same as Emacs"
-    };
-  };
-
   structured-haskell-mode = melpaBuild rec {
     pname = "shm";
     version = external.structured-haskell-mode.version;
@@ -1532,139 +337,8 @@ let
     };
   };
 
-  swiper = melpaBuild rec {
-    pname   = "swiper";
-    version = "0.7.0";
-    src = fetchFromGitHub {
-      owner  = "abo-abo";
-      repo   = pname;
-      rev    = version;
-      sha256 = "1kahl3h18vsjkbqvd84fb2w45s4srsiydn6jiv49vvg1yaxzxcbm";
-    };
-    fileSpecs = [ "swiper.el" "ivy.el" "colir.el" "counsel.el" ];
-    meta = {
-      description = "Overview as you search for a regex in Emacs";
-      license = gpl3Plus;
-    };
-  };
-  ivy = swiper;
-
-  #TODO: swiper-helm
-
-  switch-window = melpaBuild rec {
-    pname   = "switch-window";
-    version = "20140919";
-    src = fetchFromGitHub {
-      owner  = "dimitri";
-      repo   = pname;
-      rev    = "3ffbe68e584f811e891f96afa1de15e0d9c1ebb5";
-      sha256 = "09221128a0f55a575ed9addb3a435cfe01ab6bdd0cca5d589ccd37de61ceccbd";
-    };
-    meta = {
-      description = "Visual replacement for C-x o in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
   tramp = callPackage ../applications/editors/emacs-modes/tramp { };
 
-  tracking = melpaBuild rec {
-    pname   = "tracking";
-    version = circe.version;
-    src     = circe.src;
-    packageRequires = [ shorten ];
-    fileSpecs = [ "tracking.el" ];
-    meta = {
-      description = "Register buffers for user review library for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  tuareg = melpaBuild rec {
-    pname = "tuareg";
-    version = "2.0.9";
-    src = fetchFromGitHub {
-      owner  = "ocaml";
-      repo   = pname;
-      rev    = version;
-      sha256 = "0jpcjy2a77mywba2vm61knj26pgylsmv5a21cdp80q40bac4i6bb";
-    };
-    packageRequires = [ caml ];
-    meta = {
-      description = "Extension of OCaml mode for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  use-package = melpaBuild rec {
-    pname   = "use-package";
-    version = "20151112";
-    src = fetchFromGitHub {
-      owner  = "jwiegley";
-      repo   = pname;
-      rev    = "77a77c8b03044f0279e00cadd6a6d1a7ae97b01";
-      sha256 = "14v6wzqn2jhjdbr7nwqilxy9l79m1f2rdrz2c6c6pcla5yjpd1k0";
-    };
-    packageRequires = [ bind-key diminish ];
-    files = [ "use-package.el" ];
-    meta = {
-      description = "Isolate package configuration in your .emacs file";
-      license = gpl3Plus;
-    };
-  };
-
-  volatile-highlights = melpaBuild rec {
-    pname   = "volatile-highlights";
-    version = "1.11";
-    src = fetchFromGitHub {
-      owner  = "k-talo";
-      repo   = "${pname}.el";
-      rev    = "fb2abc2d4d4051a9a6b7c8de2fe7564161f01f24";
-      sha256 = "1v0chqj5jir4685jd8ahw86g9zdmi6xd05wmzhyw20rbk924fcqf";
-    };
-    meta = {
-      description = "Brings visual feedback to some operations in Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  wanderlust = melpaBuild rec {
-    pname = "wanderlust";
-    version = "2.15.9"; # 20150301
-    src = fetchFromGitHub {
-      owner  = pname;
-      repo   = pname;
-      rev    = "13fb4f6519490d4ac7138f3bcf76707654348071";
-      sha256 = "1l48xfcwkm205prspa1rns6lqfizik5gpdwmlfgyb5mabm9x53zn";
-    };
-    packageRequires = [ apel flim semi ];
-    fileSpecs = [
-      "doc/wl.texi" "doc/wl-ja.texi"
-      "elmo/*.el" "wl/*.el"
-      "etc/icons"
-    ];
-    meta = {
-      description = "E-Mail client for Emacs";
-      license = gpl3Plus; # probably
-    };
-  };
-
-  web-mode = melpaBuild rec {
-    pname   = "web-mode";
-    version = "11.1.12";
-    src = fetchFromGitHub {
-      owner  = "fxbois";
-      repo   = pname;
-      rev    = "67259f16bfaec5c006a53533b8feeba7771e1365";
-      sha256 = "16zcnwm7wnbl1xbsx7rr5rr697ax141akfx2lknwirx18vqmkijj";
-    };
-
-    meta = {
-      description = "Web template editing mode for Emacs";
-      license = gpl2;
-    };
-  };
-
   weechat = melpaBuild rec {
     pname   = "weechat.el";
     version = "0.2.2";
@@ -1684,36 +358,6 @@ let
     };
   };
 
-  wgrep = melpaBuild rec {
-    pname   = "wgrep";
-    version = "20141017";
-    src = fetchFromGitHub {
-      owner  = "mhayashi1120";
-      repo   = "Emacs-wgrep";
-      rev    = "7ef26c51feaef8a5ec0929737130ab8ba326983c";
-      sha256 = "075z0glain0dp56d0cp468y5y88wn82ab26aapsrdzq8hmlshwn4";
-    };
-    meta = {
-      description = "Writable grep buffer mode for Emacs";
-      license = gpl3Plus;
-    };
-  };
-
-  zenburn-theme = melpaBuild rec {
-    pname   = "zenburn-theme";
-    version = "2.2";
-    src = fetchFromGitHub {
-      owner  = "bbatsov";
-      repo   = "zenburn-emacs";
-      rev    = "v${version}";
-      sha256 = "1zspqpwgyv3969irg8p7zj3g4hww4bmnlvx33bvjyvvv5c4mg5wv";
-    };
-    meta = {
-      description = "An Emacs port of Vim's low contrast Zerburn theme";
-      license = gpl3Plus;
-    };
-  };
-
   };
 
 in
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index 7fb5cf38d93d..4087edd21273 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -189,19 +189,26 @@ let
       sha256 = "0j8jx8bjicvp9khs26xjya8c495wrpb7parxfnabdqa5nnsxjrwb";
     };
 
-    patchPhase = ''
-      sed -e "s,^LUAPREFIX_linux.*,LUAPREFIX_linux=$out," \
-          -i src/makefile
-    '' + stdenv.lib.optionalString stdenv.isDarwin ''
-      export PLAT=macosx
-      export LUAPREFIX_macosx=$out
-      substituteInPlace src/Makefile --replace gcc cc \
+    patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
+      substituteInPlace src/makefile --replace gcc cc \
         --replace 10.3 10.5
     '';
 
-    meta = {
+    preBuild = ''
+      makeFlagsArray=(
+        LUAV=${lua.luaversion}
+        PLAT=${if stdenv.isDarwin then "macosx"
+               else if stdenv.isFreeBSD then "freebsd"
+               else if stdenv.isLinux then "linux"
+               else if stdenv.isSunOS then "solaris"
+               else throw "unsupported platform"}
+        prefix=$out
+      );
+    '';
+
+    meta = with stdenv.lib; {
       homepage = "http://w3.impa.br/~diego/software/luasocket/";
-      hydraPlatforms = stdenv.lib.platforms.linux;
+      hydraPlatforms = with platforms; [darwin linux freebsd illumos];
       maintainers = with maintainers; [ mornfall ];
     };
   };
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
new file mode 100644
index 000000000000..29dc8a47ea70
--- /dev/null
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -0,0 +1,717 @@
+{ lib, callPackage, newScope, pkgs, config, system }:
+
+let
+  mkOcamlPackages = ocaml: overrides:
+    let
+      packageSet = self:
+        with self; let inherit (self) callPackage; in
+  {
+    ocaml_version = self.ocaml.version; #TODO: remove all mentions of ocaml_version
+
+    callPackage = newScope self;
+
+    inherit ocaml;
+
+    # Libs
+
+    buildOcaml = callPackage ../build-support/ocaml { };
+
+    acgtk = callPackage ../applications/science/logic/acgtk { };
+
+    alcotest = callPackage ../development/ocaml-modules/alcotest {};
+
+    ansiterminal = callPackage ../development/ocaml-modules/ansiterminal { };
+
+    asn1-combinators = callPackage ../development/ocaml-modules/asn1-combinators { };
+
+    async_extra_p4 = callPackage ../development/ocaml-modules/async_extra { };
+
+    async_find = callPackage ../development/ocaml-modules/async_find { };
+
+    async_kernel_p4 = callPackage ../development/ocaml-modules/async_kernel { };
+
+    async_shell = callPackage ../development/ocaml-modules/async_shell { };
+
+    async_ssl = callPackage ../development/ocaml-modules/async_ssl { };
+
+    async_unix_p4 = callPackage ../development/ocaml-modules/async_unix { };
+
+    async_p4 =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/async { }
+      else null;
+
+    atd = callPackage ../development/ocaml-modules/atd { };
+
+    atdgen = callPackage ../development/ocaml-modules/atdgen { };
+
+    base64 = callPackage ../development/ocaml-modules/base64 { };
+
+    bolt = callPackage ../development/ocaml-modules/bolt { };
+
+    bitstring_2_0_4 = callPackage ../development/ocaml-modules/bitstring/2.0.4.nix { };
+    bitstring_git   = callPackage ../development/ocaml-modules/bitstring { };
+
+    bitstring =
+      if lib.versionOlder "4.02" ocaml_version
+      then bitstring_git
+      else bitstring_2_0_4;
+
+    camlidl = callPackage ../development/tools/ocaml/camlidl { };
+
+    camlp4 =
+      if lib.versionOlder "4.03" ocaml_version
+      then callPackage ../development/tools/ocaml/camlp4/4_03.nix { }
+      else if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/tools/ocaml/camlp4 { }
+      else null;
+
+    camlp5_old_strict =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_strict
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix { };
+
+    camlp5_old_transitional =
+      if lib.versionOlder "4.00" ocaml_version
+      then camlp5_6_transitional
+      else callPackage ../development/tools/ocaml/camlp5/5.15.nix {
+        transitional = true;
+      };
+
+    camlp5_6_strict = callPackage ../development/tools/ocaml/camlp5 { };
+
+    camlp5_6_transitional = callPackage ../development/tools/ocaml/camlp5 {
+      transitional = true;
+    };
+
+    camlp5_strict = camlp5_6_strict;
+
+    camlp5_transitional = camlp5_6_transitional;
+
+    camlpdf = callPackage ../development/ocaml-modules/camlpdf { };
+
+    calendar = callPackage ../development/ocaml-modules/calendar { };
+
+    camlzip = callPackage ../development/ocaml-modules/camlzip { };
+
+    camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
+    camomile = callPackage ../development/ocaml-modules/camomile { };
+
+    camlimages_4_0 = callPackage ../development/ocaml-modules/camlimages/4.0.nix {
+      libpng = pkgs.libpng12;
+      giflib = pkgs.giflib_4_1;
+    };
+    camlimages_4_1 = callPackage ../development/ocaml-modules/camlimages/4.1.nix {
+      giflib = pkgs.giflib_4_1;
+    };
+    camlimages = camlimages_4_1;
+
+    conduit = callPackage ../development/ocaml-modules/conduit {
+       lwt = ocaml_lwt;
+    };
+
+    biniou = callPackage ../development/ocaml-modules/biniou { };
+
+    bin_prot_p4 = callPackage ../development/ocaml-modules/bin_prot { };
+
+    ocaml_cairo = callPackage ../development/ocaml-modules/ocaml-cairo { };
+
+    ocaml_cairo2 = callPackage ../development/ocaml-modules/ocaml-cairo2 { };
+
+    cil = callPackage ../development/ocaml-modules/cil { };
+
+    cmdliner = callPackage ../development/ocaml-modules/cmdliner { };
+
+    cohttp = callPackage ../development/ocaml-modules/cohttp {
+      lwt = ocaml_lwt;
+    };
+
+    config-file = callPackage ../development/ocaml-modules/config-file { };
+
+    containers = callPackage ../development/ocaml-modules/containers { };
+
+    cpdf = callPackage ../development/ocaml-modules/cpdf { };
+
+    cppo = callPackage ../development/tools/ocaml/cppo { };
+
+    cryptokit = callPackage ../development/ocaml-modules/cryptokit { };
+
+    cstruct = callPackage ../development/ocaml-modules/cstruct {
+      lwt = ocaml_lwt;
+    };
+
+    csv = callPackage ../development/ocaml-modules/csv { };
+
+    custom_printf = callPackage ../development/ocaml-modules/custom_printf { };
+
+    ctypes = callPackage ../development/ocaml-modules/ctypes { };
+
+    dolog = callPackage ../development/ocaml-modules/dolog { };
+
+    easy-format = callPackage ../development/ocaml-modules/easy-format { };
+
+    eff = callPackage ../development/interpreters/eff { };
+
+    eliom = callPackage ../development/ocaml-modules/eliom { };
+
+    enumerate = callPackage ../development/ocaml-modules/enumerate { };
+
+    erm_xml = callPackage ../development/ocaml-modules/erm_xml { };
+
+    erm_xmpp = callPackage ../development/ocaml-modules/erm_xmpp { };
+
+    estring = callPackage ../development/ocaml-modules/estring { };
+
+    ezjsonm = callPackage ../development/ocaml-modules/ezjsonm {
+      lwt = ocaml_lwt;
+    };
+
+    faillib = callPackage ../development/ocaml-modules/faillib { };
+
+    fieldslib_p4 = callPackage ../development/ocaml-modules/fieldslib { };
+
+    fileutils = callPackage ../development/ocaml-modules/fileutils { };
+
+    findlib = callPackage ../development/tools/ocaml/findlib { };
+
+    fix = callPackage ../development/ocaml-modules/fix { };
+
+    fontconfig = callPackage ../development/ocaml-modules/fontconfig {
+      inherit (pkgs) fontconfig;
+    };
+
+    functory = callPackage ../development/ocaml-modules/functory { };
+
+    gen = callPackage ../development/ocaml-modules/gen { };
+
+    herelib = callPackage ../development/ocaml-modules/herelib { };
+
+    io-page = callPackage ../development/ocaml-modules/io-page { };
+
+    ipaddr = callPackage ../development/ocaml-modules/ipaddr { };
+
+    iso8601 = callPackage ../development/ocaml-modules/iso8601 { };
+
+    javalib = callPackage ../development/ocaml-modules/javalib {
+      extlib = ocaml_extlib_maximal;
+    };
+
+    dypgen = callPackage ../development/ocaml-modules/dypgen { };
+
+    gapi_ocaml = callPackage ../development/ocaml-modules/gapi-ocaml { };
+
+    gg = callPackage ../development/ocaml-modules/gg { };
+
+    gmetadom = callPackage ../development/ocaml-modules/gmetadom { };
+
+    gtktop = callPackage ../development/ocaml-modules/gtktop { };
+
+    hex = callPackage ../development/ocaml-modules/hex { };
+
+    jingoo = callPackage ../development/ocaml-modules/jingoo {
+      batteries = ocaml_batteries;
+      pcre = ocaml_pcre;
+    };
+
+    js_of_ocaml = callPackage ../development/tools/ocaml/js_of_ocaml { };
+
+    jsonm = callPackage ../development/ocaml-modules/jsonm { };
+
+    lablgl = callPackage ../development/ocaml-modules/lablgl { };
+
+    lablgtk_2_14 = callPackage ../development/ocaml-modules/lablgtk/2.14.0.nix {
+      inherit (pkgs.gnome2) libgnomecanvas libglade gtksourceview;
+    };
+    lablgtk = callPackage ../development/ocaml-modules/lablgtk {
+      inherit (pkgs.gnome2) libgnomecanvas libglade gtksourceview;
+    };
+
+    lablgtk-extras =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/lablgtk-extras { }
+      else callPackage ../development/ocaml-modules/lablgtk-extras/1.4.nix { };
+
+    lablgtkmathview = callPackage ../development/ocaml-modules/lablgtkmathview {
+      gtkmathview = callPackage ../development/libraries/gtkmathview { };
+    };
+
+    lambdaTerm-1_6 = callPackage ../development/ocaml-modules/lambda-term/1.6.nix { };
+    lambdaTerm =
+      if lib.versionOlder "4.01" ocaml_version
+      then callPackage ../development/ocaml-modules/lambda-term { }
+      else lambdaTerm-1_6;
+
+    llvm = callPackage ../development/ocaml-modules/llvm {
+      llvm = pkgs.llvm_37;
+    };
+
+    macaque = callPackage ../development/ocaml-modules/macaque { };
+
+    magic-mime = callPackage ../development/ocaml-modules/magic-mime { };
+
+    magick = callPackage ../development/ocaml-modules/magick { };
+
+    markup = callPackage ../development/ocaml-modules/markup { lwt = ocaml_lwt; };
+
+    menhir = callPackage ../development/ocaml-modules/menhir { };
+
+    merlin = callPackage ../development/tools/ocaml/merlin { };
+
+    mezzo = callPackage ../development/compilers/mezzo { };
+
+    mlgmp =  callPackage ../development/ocaml-modules/mlgmp { };
+
+    nocrypto =  callPackage ../development/ocaml-modules/nocrypto { };
+
+    ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
+
+    comparelib = callPackage ../development/ocaml-modules/comparelib { };
+
+    core_extended_p4 = callPackage ../development/ocaml-modules/core_extended { };
+
+    core_kernel_p4 = callPackage ../development/ocaml-modules/core_kernel { };
+
+    core_p4 = callPackage ../development/ocaml-modules/core { };
+
+    ocamlbuild =
+    if lib.versionOlder "4.03" ocaml_version then
+    callPackage ../development/tools/ocaml/ocamlbuild { }
+    else
+    null;
+
+    ocaml_cryptgps = callPackage ../development/ocaml-modules/cryptgps { };
+
+    ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
+
+    ocaml_expat = callPackage ../development/ocaml-modules/expat { };
+
+    frontc = callPackage ../development/ocaml-modules/frontc { };
+
+    ocamlfuse = callPackage ../development/ocaml-modules/ocamlfuse { };
+
+    ocamlgraph = callPackage ../development/ocaml-modules/ocamlgraph { };
+
+    ocaml_http = callPackage ../development/ocaml-modules/http { };
+
+    ocamlify = callPackage ../development/tools/ocaml/ocamlify { };
+
+    ocaml_lwt = callPackage ../development/ocaml-modules/lwt { };
+
+    ocamlmod = callPackage ../development/tools/ocaml/ocamlmod { };
+
+    ocaml_mysql = callPackage ../development/ocaml-modules/mysql { };
+
+    ocamlnet = callPackage ../development/ocaml-modules/ocamlnet { };
+
+    ocaml_oasis = callPackage ../development/tools/ocaml/oasis { };
+    ocaml_oasis_46 = callPackage ../development/tools/ocaml/oasis/0.4.6.nix { };
+
+    ocaml_optcomp = callPackage ../development/ocaml-modules/optcomp { };
+
+    ocaml_pcre = callPackage ../development/ocaml-modules/pcre {};
+
+    pgocaml = callPackage ../development/ocaml-modules/pgocaml {};
+
+    ocaml_react = callPackage ../development/ocaml-modules/react { };
+    reactivedata = callPackage ../development/ocaml-modules/reactivedata {};
+
+    ocamlscript = callPackage ../development/tools/ocaml/ocamlscript { };
+
+    ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };
+
+    ocaml_sqlite3 = callPackage ../development/ocaml-modules/sqlite3 { };
+
+    ocaml_ssl = callPackage ../development/ocaml-modules/ssl { };
+
+    ocaml_text = callPackage ../development/ocaml-modules/ocaml-text { };
+
+    ocpBuild = callPackage ../development/tools/ocaml/ocp-build { };
+
+    ocpIndent = callPackage ../development/tools/ocaml/ocp-indent { };
+
+    ocp-index = callPackage ../development/tools/ocaml/ocp-index { };
+
+    ocplib-endian = callPackage ../development/ocaml-modules/ocplib-endian { };
+
+    ocsigen_server = callPackage ../development/ocaml-modules/ocsigen-server { };
+
+    ojquery = callPackage ../development/ocaml-modules/ojquery { };
+
+    otfm = callPackage ../development/ocaml-modules/otfm { };
+
+    ounit = callPackage ../development/ocaml-modules/ounit { };
+
+    piqi = callPackage ../development/ocaml-modules/piqi { };
+    piqi-ocaml = callPackage ../development/ocaml-modules/piqi-ocaml { };
+
+    re2_p4 = callPackage ../development/ocaml-modules/re2 { };
+
+    result = callPackage ../development/ocaml-modules/ocaml-result { };
+
+    sequence = callPackage ../development/ocaml-modules/sequence { };
+
+    sqlexpr = callPackage ../development/ocaml-modules/sqlexpr { };
+
+    tuntap = callPackage ../development/ocaml-modules/tuntap { };
+
+    tyxml = callPackage ../development/ocaml-modules/tyxml { };
+
+    ulex = callPackage ../development/ocaml-modules/ulex { };
+
+    ulex08 = callPackage ../development/ocaml-modules/ulex/0.8 {
+      camlp5 = camlp5_transitional;
+    };
+
+    textutils_p4 = callPackage ../development/ocaml-modules/textutils { };
+
+    type_conv_108_08_00 = callPackage ../development/ocaml-modules/type_conv/108.08.00.nix { };
+    type_conv_109_60_01 = callPackage ../development/ocaml-modules/type_conv/109.60.01.nix { };
+    type_conv_112_01_01 = callPackage ../development/ocaml-modules/type_conv/112.01.01.nix { };
+    type_conv =
+      if lib.versionOlder "4.02" ocaml_version
+      then type_conv_112_01_01
+      else if lib.versionOlder "4.00" ocaml_version
+      then type_conv_109_60_01
+      else if lib.versionOlder "3.12" ocaml_version
+      then type_conv_108_08_00
+      else null;
+
+    sexplib_108_08_00 = callPackage ../development/ocaml-modules/sexplib/108.08.00.nix { };
+    sexplib_111_25_00 = callPackage ../development/ocaml-modules/sexplib/111.25.00.nix { };
+    sexplib_112_24_01 = callPackage ../development/ocaml-modules/sexplib/112.24.01.nix { };
+
+    sexplib_p4 =
+      if lib.versionOlder "4.02" ocaml_version
+      then sexplib_112_24_01
+      else if lib.versionOlder "4.00" ocaml_version
+      then sexplib_111_25_00
+      else if lib.versionOlder "3.12" ocaml_version
+      then sexplib_108_08_00
+      else null;
+
+    ocaml_extlib = callPackage ../development/ocaml-modules/extlib { };
+    ocaml_extlib_maximal = callPackage ../development/ocaml-modules/extlib {
+      minimal = false;
+    };
+
+    ocurl = callPackage ../development/ocaml-modules/ocurl { };
+
+    pa_ounit = callPackage ../development/ocaml-modules/pa_ounit { };
+
+    pa_bench = callPackage ../development/ocaml-modules/pa_bench { };
+
+    pa_test = callPackage ../development/ocaml-modules/pa_test { };
+
+    pipebang = callPackage ../development/ocaml-modules/pipebang { };
+
+    pprint = callPackage ../development/ocaml-modules/pprint { };
+
+    ppx_blob =
+      if lib.versionAtLeast ocaml_version "4.02"
+      then callPackage ../development/ocaml-modules/ppx_blob {}
+      else null;
+
+    ppx_deriving =
+      if lib.versionAtLeast ocaml_version "4.02"
+      then callPackage ../development/ocaml-modules/ppx_deriving {}
+      else null;
+
+    ppx_tools =
+      if lib.versionAtLeast ocaml_version "4.02"
+      then callPackage ../development/ocaml-modules/ppx_tools {}
+      else null;
+
+    pycaml = callPackage ../development/ocaml-modules/pycaml { };
+
+    qcheck = callPackage ../development/ocaml-modules/qcheck {
+      oasis = ocaml_oasis;
+    };
+
+    qtest = callPackage ../development/ocaml-modules/qtest { };
+
+    re = callPackage ../development/ocaml-modules/re { };
+
+    safepass = callPackage ../development/ocaml-modules/safepass { };
+
+    sqlite3EZ = callPackage ../development/ocaml-modules/sqlite3EZ { };
+
+    stringext = callPackage ../development/ocaml-modules/stringext { };
+
+    topkg = callPackage ../development/ocaml-modules/topkg { };
+
+    tsdl = callPackage ../development/ocaml-modules/tsdl { };
+
+    twt = callPackage ../development/ocaml-modules/twt { };
+
+    typerep_p4 = callPackage ../development/ocaml-modules/typerep { };
+
+    utop = callPackage ../development/tools/ocaml/utop { };
+
+    uuidm = callPackage ../development/ocaml-modules/uuidm { };
+
+    sawja = callPackage ../development/ocaml-modules/sawja { };
+
+    uucd = callPackage ../development/ocaml-modules/uucd { };
+    uucp = callPackage ../development/ocaml-modules/uucp { };
+    uunf = callPackage ../development/ocaml-modules/uunf { };
+
+    uri = callPackage ../development/ocaml-modules/uri { };
+
+    uuseg = callPackage ../development/ocaml-modules/uuseg { };
+    uutf = callPackage ../development/ocaml-modules/uutf { };
+
+    variantslib_p4 = callPackage ../development/ocaml-modules/variantslib { };
+
+    vg = callPackage ../development/ocaml-modules/vg { };
+
+    x509 = callPackage ../development/ocaml-modules/x509 { };
+
+    xmlm = callPackage ../development/ocaml-modules/xmlm { };
+
+    xml-light = callPackage ../development/ocaml-modules/xml-light { };
+
+    yojson = callPackage ../development/ocaml-modules/yojson { };
+
+    zarith = callPackage ../development/ocaml-modules/zarith { };
+
+    zed = callPackage ../development/ocaml-modules/zed { };
+
+    ocsigen_deriving = callPackage ../development/ocaml-modules/ocsigen-deriving {
+      oasis = ocaml_oasis;
+    };
+
+    # Jane Street
+    js_build_tools = callPackage ../development/ocaml-modules/janestreet/js-build-tools.nix {};
+
+    buildOcamlJane = callPackage ../development/ocaml-modules/janestreet/buildOcamlJane.nix {};
+
+    ppx_core = callPackage ../development/ocaml-modules/janestreet/ppx-core.nix {};
+
+    ppx_optcomp = callPackage ../development/ocaml-modules/janestreet/ppx-optcomp.nix {};
+
+    ppx_driver = callPackage ../development/ocaml-modules/janestreet/ppx-driver.nix {};
+
+    ppx_type_conv = callPackage ../development/ocaml-modules/janestreet/ppx-type-conv.nix {};
+
+    ppx_compare = callPackage ../development/ocaml-modules/janestreet/ppx-compare.nix {};
+
+    ppx_here = callPackage ../development/ocaml-modules/janestreet/ppx-here.nix {};
+
+    ppx_sexp_conv = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-conv.nix {};
+
+    ppx_assert = callPackage ../development/ocaml-modules/janestreet/ppx-assert.nix {};
+
+    ppx_inline_test = callPackage ../development/ocaml-modules/janestreet/ppx-inline-test.nix {};
+
+    ppx_bench = callPackage ../development/ocaml-modules/janestreet/ppx-bench.nix {};
+
+    ppx_bin_prot = callPackage ../development/ocaml-modules/janestreet/ppx-bin-prot.nix {};
+
+    ppx_custom_printf = callPackage ../development/ocaml-modules/janestreet/ppx-custom-printf.nix {};
+
+    ppx_enumerate = callPackage ../development/ocaml-modules/janestreet/ppx-enumerate.nix {};
+
+    ppx_fail = callPackage ../development/ocaml-modules/janestreet/ppx-fail.nix {};
+
+    ppx_fields_conv = callPackage ../development/ocaml-modules/janestreet/ppx-fields-conv.nix {};
+
+    ppx_let = callPackage ../development/ocaml-modules/janestreet/ppx-let.nix {};
+
+    ppx_pipebang = callPackage ../development/ocaml-modules/janestreet/ppx-pipebang.nix {};
+
+    ppx_sexp_message = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-message.nix {};
+
+    ppx_sexp_value = callPackage ../development/ocaml-modules/janestreet/ppx-sexp-value.nix {};
+
+    ppx_typerep_conv = callPackage ../development/ocaml-modules/janestreet/ppx-typerep-conv.nix {};
+
+    ppx_variants_conv = callPackage ../development/ocaml-modules/janestreet/ppx-variants-conv.nix {};
+
+    ppx_expect = callPackage ../development/ocaml-modules/janestreet/ppx-expect.nix {};
+
+    ppx_jane = callPackage ../development/ocaml-modules/janestreet/ppx-jane.nix {};
+
+
+    # Core sublibs
+    typerep =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/typerep.nix {}
+      else typerep_p4;
+
+    fieldslib =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/fieldslib.nix {}
+      else fieldslib_p4;
+
+    sexplib =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/sexplib.nix {}
+      else sexplib_p4;
+
+    variantslib =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/variantslib.nix {}
+      else variantslib_p4;
+
+    bin_prot =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/bin_prot.nix {}
+      else bin_prot_p4;
+
+    core_kernel =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/core_kernel.nix {}
+      else core_kernel_p4;
+
+    core =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/core.nix {}
+      else core_p4;
+
+    re2 =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/re2.nix {}
+      else re2_p4;
+
+    textutils =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/textutils.nix {}
+      else textutils_p4;
+
+    core_extended =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/core-extended.nix {}
+      else core_extended_p4;
+
+    async_kernel =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/async-kernel.nix {}
+      else async_kernel_p4;
+
+    async_rpc_kernel = callPackage ../development/ocaml-modules/janestreet/async-rpc-kernel.nix {};
+
+    async_unix =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/async-unix.nix {}
+      else async_unix_p4;
+
+    async_extra =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/async-extra.nix {}
+      else async_extra_p4;
+
+    async =
+      if lib.versionOlder "4.02" ocaml_version
+      then callPackage ../development/ocaml-modules/janestreet/async.nix {}
+      else async_p4;
+
+    # Apps / from all-packages
+
+    wyrd = callPackage ../tools/misc/wyrd { };
+
+    compcert = callPackage ../development/compilers/compcert ((
+      if system == "x86_64-linux"
+      then { tools = pkgs.pkgsi686Linux.stdenv.cc; }
+      else {}
+    ) // {
+      coq = coq_8_5;
+    });
+
+    haxe = callPackage ../development/compilers/haxe { };
+
+    ocaml-top = callPackage ../development/tools/ocaml/ocaml-top { };
+
+    opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };
+    opam_1_1 = callPackage ../development/tools/ocaml/opam/1.1.nix { };
+    opam = callPackage ../development/tools/ocaml/opam { };
+
+    ocamlnat = callPackage  ../development/ocaml-modules/ocamlnat { };
+
+    trv = callPackage ../development/tools/misc/trv { };
+
+    omake = callPackage ../development/tools/ocaml/omake { };
+    omake_rc1 = callPackage ../development/tools/ocaml/omake/0.9.8.6-rc1.nix { };
+
+    verasco = callPackage ../development/tools/analysis/verasco (
+      if system == "x86_64-linux"
+      then { tools = pkgs.pkgsi686Linux.stdenv.cc; }
+      else {}
+    );
+    
+    glsurf = callPackage ../applications/science/math/glsurf {
+      libpng = pkgs.libpng12;
+      giflib = pkgs.giflib_4_1;
+      camlimages = camlimages_4_0;
+    };
+
+    google-drive-ocamlfuse = callPackage ../applications/networking/google-drive-ocamlfuse { };
+
+    llpp = callPackage ../applications/misc/llpp { };
+
+    monotoneViz = callPackage ../applications/version-management/monotone-viz {
+      inherit (pkgs.gnome2) libgnomecanvas glib;
+    };
+
+    unison = callPackage ../applications/networking/sync/unison {
+      enableX11 = config.unison.enableX11 or true;
+    };
+
+    coq = callPackage ../applications/science/logic/coq {
+      camlp5 = camlp5_transitional;
+    };
+
+    coq_HEAD = callPackage ../applications/science/logic/coq/HEAD.nix {
+      camlp5 = camlp5_transitional;
+    };
+
+    coq_8_5 = callPackage ../applications/science/logic/coq/8.5.nix {
+      camlp5 = camlp5_transitional;
+    };
+
+    coq_8_3 = callPackage ../applications/science/logic/coq/8.3.nix {
+      make = pkgs.gnumake3;
+      camlp5 = camlp5_transitional;
+      lablgtk = lablgtk_2_14;
+    };
+
+    hol_light = callPackage ../applications/science/logic/hol_light {
+      camlp5 = camlp5_strict;
+    };
+
+    matita = callPackage ../applications/science/logic/matita {
+      ulex08 = ulex08.override { camlp5 = camlp5_old_transitional; };
+    };
+
+    matita_130312 = callPackage ../applications/science/logic/matita/130312.nix { };
+
+    ott = callPackage ../applications/science/logic/ott {
+      camlp5 = camlp5_transitional;
+    };
+
+    prooftree = callPackage ../applications/science/logic/prooftree {
+      camlp5 = camlp5_transitional;
+    };
+  };
+    in lib.fix' (lib.extends overrides packageSet);
+in rec
+{
+  ocamlPackages_3_08_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.08.0.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; });
+
+  ocamlPackages_3_10_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.10.0.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; });
+
+  ocamlPackages_3_11_2 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.11.2.nix { }) (self: super: { lablgtk = self.lablgtk_2_14; });
+
+  ocamlPackages_3_12_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/3.12.1.nix { }) (self: super: { camlimages = self.camlimages_4_0; });
+
+  ocamlPackages_4_00_1 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.00.1.nix { }) (self: super: { });
+
+  ocamlPackages_4_01_0 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.01.0.nix { }) (self: super: { });
+
+  ocamlPackages_4_02 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { });
+
+  ocamlPackages_4_03 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.02.nix { }) (self: super: { });
+
+  ocamlPackages_latest = ocamlPackages_4_03;
+
+  ocamlPackages = ocamlPackages_4_01_0;
+}
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 0a77e02c32fb..b742138b9b86 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -130,6 +130,30 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  AnyEventCacheDNS = buildPerlModule rec {
+    name = "AnyEvent-CacheDNS-0.08";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PO/POTYL/${name}.tar.gz";
+      sha256 = "41c1faf183b61806b55889ceea1237750c1f61b9ce2735fdf33dc05536712dae";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ AnyEvent ];
+    meta = {
+      homepage = http://github.com/potyl/perl-AnyEvent-CacheDNS;
+      description = "Simple DNS resolver with caching";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  AnyEventHTTP = buildPerlPackage rec {
+    name = "AnyEvent-HTTP-2.23";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${name}.tar.gz";
+      sha256 = "2e3376d03bfa5f172f43d4c615ba496281c9ffe3093a828c539683e17e2fbbcb";
+    };
+    propagatedBuildInputs = [ AnyEvent CommonSense ];
+  };
+
   AnyEventI3 = buildPerlPackage rec {
     name = "AnyEvent-I3-0.16";
     src = fetchurl {
@@ -9360,23 +9384,18 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DBI DBDSQLite ];
   };
 
-  NetAmazonS3 = buildPerlPackage {
-    name = "Net-Amazon-S3-0.60";
+  NetAmazonS3 = buildPerlPackage rec {
+    name = "Net-Amazon-S3-0.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PF/PFIG/Net-Amazon-S3-0.60.tar.gz;
-      sha256 = "628937132268e501fb82410f96636e01b183423ea133b6c362894da109d6ac81";
+      url = "mirror://cpan/authors/id/R/RC/RCONOVER/${name}.tar.gz";
+      sha256 = "efb73dd9a96078742cb8564f7b58f5abe5168277342c7634961d63b4ef278848";
     };
     buildInputs = [ LWP TestException ];
-    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI XMLLibXML JSON ];
-    # See https://github.com/pfig/net-amazon-s3/pull/25
-    patches =
-      [ ../development/perl-modules/net-amazon-s3-credentials-provider.patch
-        ../development/perl-modules/net-amazon-s3-moose-warning.patch
-      ];
+    propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule HTTPDate HTTPMessage LWPUserAgentDetermined MIMETypes Moose MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions PathClass RegexpCommon TermEncoding TermProgressBarSimple URI VMEC2SecurityCredentialCache XMLLibXML ];
     meta = {
+      homepage = http://search.cpan.org/dist/Net-Amazon-S3/;
       description = "Use the Amazon S3 - Simple Storage Service";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-      platforms = stdenv.lib.platforms.linux;
     };
   };
 
@@ -9473,10 +9492,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   NetDomainTLD = buildPerlPackage rec {
-    name = "Net-Domain-TLD-1.74";
+    name = "Net-Domain-TLD-1.75";
     src = fetchurl {
       url = "mirror://cpan/authors/id/A/AL/ALEXP/${name}.tar.gz";
-      sha256 = "bf936cc20834d5b9497e33dc41c2da6a58536b7a1e0df0b8f6ce7ed5111ca868";
+      sha256 = "4c37f811184d68ac4179d48c10ea31922dd5fca2c1bffcdcd95c5a2a3b4002ee";
     };
     meta = {
       description = "Work with TLD names";
@@ -10717,13 +10736,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   PodWeaver = buildPerlPackage rec {
-    name = "Pod-Weaver-4.013";
+    name = "Pod-Weaver-4.014";
     src = fetchurl {
       url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "5f12c5f11d313294520b0a1ab5c0775ef56e222d9181c8dac520cdc77af309e0";
+      sha256 = "5ca76396710e077b91e12ce32de82514d4785c49eb1ad95b9278045d77c260f5";
     };
     buildInputs = [ PPI SoftwareLicense TestDifferences ];
-    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli MixinLinewise Moose PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
+    propagatedBuildInputs = [ ConfigMVP ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli MixinLinewise ModuleRuntime Moose ParamsUtil PodElemental StringFlogger StringFormatter StringRewritePrefix namespaceautoclean ];
     meta = {
       homepage = https://github.com/rjbs/Pod-Weaver;
       description = "Weave together a Pod document from an outline";
@@ -11423,6 +11442,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  StringApprox = buildPerlPackage rec {
+    name = "String-Approx-3.27";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/J/JH/JHI/${name}.tar.gz";
+      sha256 = "2b8c1acd24fa9681ebba0ccb3c49f16289de1d579af8a0c898ea8f8d1baf5d36";
+    };
+  };
+
   StringCamelCase = buildPerlPackage rec {
     name = "String-CamelCase-0.02";
     src = fetchurl {
@@ -14153,6 +14180,34 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  VMEC2 = buildPerlModule rec {
+    name = "VM-EC2-1.28";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/L/LD/LDS/${name}.tar.gz";
+      sha256 = "b2b6b31745c57431fca0efb9b9d0b8f168d6081755e048fd9d6c4469bd108acd";
+    };
+    buildInputs = [ ModuleBuild ];
+    propagatedBuildInputs = [ AnyEvent AnyEventCacheDNS AnyEventHTTP JSON LWP StringApprox URI XMLSimple ];
+    meta = {
+      description = "Perl interface to Amazon EC2, Virtual Private Cloud, Elastic Load Balancing, Autoscaling, and Relational Database services";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
+  VMEC2SecurityCredentialCache = buildPerlPackage rec {
+    name = "VM-EC2-Security-CredentialCache-0.25";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RC/RCONOVER/${name}.tar.gz";
+      sha256 = "fc7e9c152ff2b721ccb221ac40089934775cf58366aedb5cc1693609f840937b";
+    };
+    propagatedBuildInputs = [ DateTimeFormatISO8601 VMEC2 ];
+    meta = {
+      homepage = http://search.cpan.org/dist/VM-EC2-Security-CredentialCache/;
+      description = "Cache credentials respecting expiration time for IAM roles";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   W3CLinkChecker = buildPerlPackage rec {
     name = "W3C-LinkChecker-4.81";
     src = fetchurl {
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 56540965a078..3687d4b6789f 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -290,6 +290,27 @@ in modules // {
     hdf5 = pkgs.hdf5.override { zlib = pkgs.zlib; };
   };
 
+  unifi = buildPythonPackage rec {
+    name = "unifi-1.2.5";
+
+    propagatedBuildInputs = with self; [ urllib3 ];
+
+    # upstream has no tests
+    doCheck = false;
+
+    meta = {
+      description = "An API towards the Ubiquity Networks UniFi controller";
+      homepage    = https://pypi.python.org/pypi/unifi/;
+      license     = licenses.mit;
+      maintainers = with maintainers; [ peterhoeg ];
+    };
+
+    src = pkgs.fetchurl {
+      url = "mirror://pypi/u/unifi/${name}.tar.gz";
+      sha256 = "0prgx01hzs49prrazgxrinm7ivqzy57ch06qm2h7s1p957sazds8";
+    };
+  };
+
   pyunbound = callPackage ../tools/networking/unbound/python.nix { };
 
   # packages defined here
@@ -7406,6 +7427,9 @@ in modules // {
     };
   };
 
+  libsexy = callPackage ../development/python-modules/libsexy {
+    libsexy = pkgs.libsexy;
+  };
 
   libthumbor = buildPythonPackage rec {
     name = "libthumbor-${version}";
@@ -7639,17 +7663,19 @@ in modules // {
   };
 
   python-mapnik = buildPythonPackage {
-    name = "python-mapnik-fae6388";
+    name = "python-mapnik-git-2016-08-30";
 
-    src = pkgs.fetchgit {
-      url = https://github.com/mapnik/python-mapnik.git;
-      rev = "fae63881ed0945829e73f711d52740240b740936";
-      sha256 = "04k78l0xxb9cy8dbvmgldg8fgzz701gks14199h8zs2xvyi4gqd2";
+    src = pkgs.fetchFromGitHub {
+      owner = "mapnik";
+      repo = "python-mapnik";
+      rev = "541fd962d4fc99d50ec472af6ddccfdbf98cff37";
+      sha256 = "1d93qjnzggdpbhnmxlmk5jh0zd2jnpfl4n4aip5ypd39ilqibhf3";
     };
 
     disabled = isPyPy;
     doCheck = false; # doesn't find needed test data files
-    buildInputs = with pkgs; [ boost harfbuzz icu mapnik ];
+    buildInputs = with pkgs;
+      [ boost harfbuzz icu libjpeg libpng libtiff libwebp mapnik proj zlib ];
     propagatedBuildInputs = with self; [ pillow pycairo ];
 
     meta = with stdenv.lib; {
@@ -8504,39 +8530,6 @@ in modules // {
 
   };
 
-  radicale = buildPythonPackage rec {
-    name = "radicale-${version}";
-    namePrefix = "";
-    version = "1.1.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/R/Radicale/Radicale-${version}.tar.gz";
-      sha256 = "1c5lv8qca21mndkx350wxv34qypqh6gb4rhzms4anr642clq3jg2";
-    };
-
-    propagatedBuildInputs = with self; [
-      flup
-      ldap
-      sqlalchemy
-    ];
-
-    doCheck = true;
-
-    meta = {
-      homepage = http://www.radicale.org/;
-      description = "CalDAV CardDAV server";
-      longDescription = ''
-        The Radicale Project is a complete CalDAV (calendar) and CardDAV
-        (contact) server solution. Calendars and address books are available for
-        both local and remote access, possibly limited through authentication
-        policies. They can be viewed and edited by calendar and contact clients
-        on mobile phones or computers.
-      '';
-      license = licenses.gpl3Plus;
-      maintainers = with maintainers; [ edwtjo pSub ];
-    };
-  };
-
   raven = buildPythonPackage rec {
     name = "raven-3.4.1";
 
@@ -13752,11 +13745,11 @@ in modules // {
   moinmoin = buildPythonPackage (rec {
     name = "moinmoin-${ver}";
     disabled = isPy3k;
-    ver = "1.9.7";
+    ver = "1.9.8";
 
     src = pkgs.fetchurl {
       url = "http://static.moinmo.in/files/moin-${ver}.tar.gz";
-      sha256 = "f4ba1b5c956bd96d2a61e27e68d297aa63d1afbc80d5740e139dcdf0affb4db5";
+      sha256 = "19hi16iy75lpx9ch799djc4hr4gai5rmvi542n29x6zhikysfjx7";
     };
 
     meta = {
@@ -14219,7 +14212,6 @@ in modules // {
       description = "OpenSteno Plover stenography software";
       maintainers = with maintainers; [ twey kovirobi ];
       license = licenses.gpl2;
-      broken = true;
     };
 
     src = pkgs.fetchurl {
@@ -14227,8 +14219,14 @@ in modules // {
       sha256 = "1jja37nhiypdx1z6cazp8ffsf0z3yqmpdbprpdzf668lcb422rl0";
     };
 
-    buildInputs = with self; [ pytest ];
-    propagatedBuildInputs = with self; [ wxPython pyserial hidapi xlib appdirs pkgs.wmctrl mock ];
+    # This is a fix for https://github.com/pypa/pip/issues/3624 causing regression https://github.com/pypa/pip/issues/3781
+    postPatch = ''
+     substituteInPlace setup.py --replace " in sys_platform" " == sys_platform"
+    '';
+
+    buildInputs = with self; [ pytest mock ];
+    propagatedBuildInputs = with self; [ six setuptools pyserial appdirs hidapi
+                                         wxPython xlib pkgs.wmctrl ];
   };
 
   pygal = buildPythonPackage rec {
@@ -17969,6 +17967,8 @@ in modules // {
     };
   };
 
+  pystringtemplate = callPackage ../development/python-modules/stringtemplate { };
+
   pillow = buildPythonPackage rec {
     name = "Pillow-3.3.1";
 
@@ -19224,6 +19224,24 @@ in modules // {
     };
   };
 
+  pyftgl = buildPythonPackage rec {
+    name = "pyftgl-0.4b";
+
+    src = pkgs.fetchFromGitHub {
+      owner = "umlaeute";
+      repo = "pyftgl";
+      rev = "0.4b";
+      sha256 = "12zcjv4cwwjihiaf74kslrdmmk4bs47h7006gyqfwdfchfjdgg4r";
+    };
+
+    buildInputs = with self; [ pkgs.boost pkgs.freetype pkgs.ftgl pkgs.mesa ];
+
+    meta = {
+      description = "Python bindings for FTGL (FreeType for OpenGL)";
+      license = licenses.gpl2Plus;
+    };
+  };
+
   pygeoip = buildPythonPackage rec {
     name = "pygeoip-0.3.2";
 
@@ -22885,10 +22903,6 @@ in modules // {
     };
   };
 
-  salt = callPackage ../tools/admin/salt {};
-
-  salttesting = callPackage ../tools/admin/salt/testing.nix {};
-
   sandboxlib = buildPythonPackage rec {
     name = "sandboxlib-${version}";
     version = "0.31";
diff --git a/pkgs/top-level/rust-packages.nix b/pkgs/top-level/rust-packages.nix
index f564c67e0d2c..d6eebf58092d 100644
--- a/pkgs/top-level/rust-packages.nix
+++ b/pkgs/top-level/rust-packages.nix
@@ -7,9 +7,9 @@
 { runCommand, fetchFromGitHub, git }:
 
 let
-  version = "2016-09-20";
-  rev = "cf9c8ccb2c7d753491fc26c64b717bb895d0b4ef";
-  sha256 = "02fq0f2zc9qhxs7h110g9ndrvmys26kp9hi93gq9vqhcizq2ici3";
+  version = "2016-09-23";
+  rev = "e2ac19b6236468033ba0c66ac23293b7ed9e3486";
+  sha256 = "16kwzjjx67pigs9b8pxdfl685l812a8ja47s61h6gshxrg3j1cs7";
 
   src = fetchFromGitHub {
       inherit rev;